一、参考:
1、SURF特征提取分析
http://blog.youkuaiyun.com/songzitea/article/details/16986423
2、待续
二、SURF (Speeded UpRobust Features)算法介绍:
1、 SURF与SIFT算法相似,SIFT算法比较稳定,检测特征点更多,但是复杂度较高,而SURF要运算简单,效率高,运算时间短一点。
2、 在时间上,SURF运行速度大约为SIFT的3倍;在质量上,SURF的鲁棒性很好,特征点识别率较SIFT高,在视角、光照、尺度变化等情形下,大体上都优于SIFT。
3、 SURF特点:
a) SURF算法是对SIFT算法加强版,同时加速的具有鲁棒性的特征。
b) 标准的SURF算子比SIFT算子快好几倍,并且在多幅图片下具有更好的鲁棒性
c) 采用了harr特征以及积分图像integral image的概念,这大大加快了程序的运行时间;
三、Hessian黑森矩阵构建
1、 SURF则用的是Hessian Matrix进行特征点的提取。(SIFT算法建立一幅图像的金字塔,在每一层进行高斯滤波并求取图像差(DOG)进行特征点的提取)
2、 由于我们的特征点需要尺度无关性,所以在进行Hessian矩阵构造前,需要对其进行高斯滤波。
3、 采用积分图来运算,大大的加快了速度。
四、尺度空间生成
1、 图像的尺度空间是这幅图像在不同解析度下的表示。
2、 SURF中,图片的大小是一直不变的,不同的octave层得到的待检测图片是改变高斯模糊尺寸大小得到的,当然了,同一个octave中个的图片用到的高斯模板尺度也不同。
3、 下图左边是传统方式建立一个如图所示的金字塔结构,图像的寸是变化的,并且运算会反复使用高斯函数对子层进行平滑处理;
4、 下图右边说明SURF算法使原始图像保持不变而只改变滤波器大小。SURF采用这种方法节省了降采样过程,其处理速度自然也就提上去了;
五、确定特征点和精确定位特征点
1、 将经过hessian矩阵处理过的每个像素点与其3维领域的26个点进行大小比较,如果它是这26个点中的最大值或者最小值,则保留下来,当做初步的特征点。
2、 采用3维线性插值法得到亚像素级的特征点,同时也去掉那些值小于一定阈值的点,增加极值使检测到的特征点数量减少,最终只有几个特征最强点会被检测出来。
六、选取特征点主方向确定
1、 为了保证旋转不变性,在SURF中,不统计其梯度直方图,而是统计特征点领域内的Harr小波特征。
2、 以特征点为中心,计算半径为6s(S为特征点所在的尺度值)的邻域内,统计60度扇形内所有点在x(水平)和y(垂直)方向的Haar小波响应总和(Haar小波边长取4s),并给这些响应值赋高斯权重系数,使得靠近特征点的响应贡献大,而远离特征点的响应贡献小,然后60度范围内的响应相加以形成新的矢量,遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向。
七、构造SURF特征点描述算子
八、例子:
图像特征提取效果图如下所示:
图像匹配效果图所示:
九、为什么可以采用某些特征点的局部不变特征进行整幅图像的匹配?
从直观的人类视觉印象来看,人类视觉对物体的描述也是局部化的,基于局部不变特征的图像识别方法十分接近于人类视觉机理,通过局部化的特征组合,形成对目标物体的整体印象,这就为局部不变特征提取方法提供了生物学上的解释,因此局部不变特征也得到了广泛应用。图像中的每个局部区域的重要性和影响范围并非同等重要,即特征不是同等显著的,其主要理论来源是Marr的计算机视觉理论和Treisman的特征整合理论,一般也称为“原子论”。该理论认为视觉的过程开始于对物体的特征性质和简单组成部分的分析,是从局部性质到大范围性质。SIFT/SURF都是对特征点的局部区域的描述,这些特征点应该是影响重要的点,对这些点的分析更加重要。所以在局部不变特征的提取和描述时也遵循与人眼视觉注意选择原理相类似的机制,所以SIFT/SURF用于匹配有效果。