摘要:
one-stage的检测精度比不上two-stage,一个主要原因是训练过程样本不均衡造成。样本不均衡主要包括两方面,一是正负样本的不均衡;二是难易样本的不均衡。目前解决这类问题主要是两种方案(见综述Imbalance Problems in Object Detection: A Review): 阅读全文
摘要:
在RCNN,Fast RCNN之后,Ross B. Girshick在2016年提出Faster RCNN,将特征提取(feature extraction),proposal提取,目标定位location,目标分类classification整合到了一个网络中,性能大幅提升。作为Two-stage 阅读全文
摘要:
之前的图像处理,都是再原图上进行;而频率域滤波,是在图像的傅里叶谱上进行处理,最后再通过傅里叶逆变换得到处理后的图像,则是因为图片的傅里叶谱包含图片的频率信息,方便对其频率进行处理。对于图像,低频信息表示图像中灰度值缓慢变化的区域,如背景信息等;而高频信息则表示灰度值迅速变化的区域,如边缘处等细节信 阅读全文
摘要:
对于二维图片,可以对其进行傅里叶变换,获取图片的频谱信息。频谱有很多应用,包括显著性检测,卷积定理,频率域滤波等,下面是图片傅里叶变换的一些基本概念: 1. 图像傅里叶变换 对于M行N列的图像矩阵f(x,y),f(x, y)表示第x行y列的像素值,则存在复数矩阵F,有以下公式: F(u,v)称为f( 阅读全文
摘要:
针对物体轮廓,opencv还提供了一些相关的函数,来处理轮廓查找,绘制,拟合,以及计算轮廓周长和面积等,详细介绍如下: 1. 寻找和绘制轮廓 opencv的findContours()能寻找图片中的轮廓,实现的是下面论文的算法: Satoshi Suzuki and others. Topologi 阅读全文
摘要:
通过阈值分割提取图像中的目标物体前景,或者边缘提取目标物体的轮廓,在这些前景中可以寻找感兴趣的几何形状,如直线,圆,三角形,矩形等。 1. 点集的最小外包 opencv中提供了拟合像素点的最小外包旋转矩形,最小外包直立矩形,最小外包圆,最小外包三角形和最小凸包,其对应函数使用如下: 最小外包旋转矩形 阅读全文
摘要:
在上一节中都是采用一阶差分(导数),进行的边缘提取。 也可以采用二阶差分进行边缘提取,如Laplacian算子,高斯拉普拉斯(LoG)边缘检测, 高斯差分(DoG)边缘检测,Marr-Hidreth边缘检测。这些边缘提取算法详细介绍如下: 1. Laplacian算子 Laplacian算子采用二阶 阅读全文
摘要:
在进行图像识别时,常需要检测图像的边缘信息。图像的边缘指的是灰度值急剧变化的地方,一般是背景和前景物体的交界处。由于边缘处的灰度值急剧变化特性,可以利用离散数列的差分(相当于连续函数的导数)来识别边缘。目前常用的边缘检测算法大多数是通过梯度方向导数求卷积的方法,常用的卷积算子有Roberts算子,P 阅读全文
摘要:
1 混合式编程 深度学习框架中,pytorch采用命令式编程,tensorflow采用符号式编程。mxnet的gluon则尝试将命令式编程和符号式编程结合。 1.1 符号式编程和命令式编程 符号式编程更加灵活,便于理解和调试;命令式编程能对代码进行优化,执行起来效率更高,如下所示: 命令式编程:代码 阅读全文
摘要:
1. 基本数据结构 和pytorch等中的tensor类似,mxnet中的ndarray或者nd,用来操作矩阵或者张量数据。基本操作类似于Numpy, 支持计算,索引等。 创建矩阵 from mxnet import nd #或者 from mxnet import ndarray as nd #创 阅读全文