SURF特征提取简介

来源:互联网 发布:闭关锁国知乎 编辑:程序博客网 时间:2024/05/22 13:31

为了提高搜索特征点的速度,Bay 等人提出了SURF算法,SURF将DoH中的高斯二阶微分模板进行了近似简化,使得模板对图像的滤波只需要进行几个简单的加减法运算,并且,这种运算与滤波模板的尺寸无关,从而极大地提高了尺寸不变特征的检测速度。

1.Hessian黑森矩阵构建 

SURF用的是Hessian Matrix进行特征点的提取,所以黑森矩阵是SURF算法的核心。因求Hessian时要先高斯平滑,然后求其二阶导数,这在离散的像素是用模板卷积形。

2. 尺度空间生成 

图像的尺度空间是这幅图像在不同解析度下的表示。在SURF中,图片的大小是一直不变的,不同的octave层得到的待检测图片是改变高斯模糊尺寸大小得到的,当然了,同一个octave中个的图片用到的高斯模板尺度也不同。算法允许尺度空间多层图像同时被处理,不需对图像进行二次抽样,从而提高算法性能。上图左边是传统方式建立一个如图所示的金字塔结构,图像的寸是变化的,并且运 算会反复使用高斯函数对子层进行平滑处理,上图右边说明SURF算法使原始图像保持不变而只改变滤波器大小。SURF采用这种方法节省了降采样过程,其处理速度自然也就提上去了。

3. 利用非极大值抑制初步确定特征点和精确定位特征点 

将经过hessian矩阵处理过的每个像素点与其3维领域的26个点进行大小比较,如果它是这26个点中的最大值或者最小值,则保留下来,当做初步的特征点。检测过程中使用与该尺度层图像解析度相对应大小的滤波器进行检测。

4. 选取特征点主方向确定 

为了保证旋转不变性,在SURF中,不统计其梯度直方图,而是统计特征点领域内的Harr小波特征。即以特征点为中心,计算半径为6s(S为特征点所在的尺度值)的邻域内,统计60度扇形内所有点在x(水平)和y(垂直)方向的Haar小波响应总和(Haar小波边长取4s),并给这些响应值赋高斯权重系数,使得靠近特征点的响应贡献大,而远离特征点的响应贡献小,然后60度范围内的响应相加以形成新的矢量,遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向。这样,通过特征点逐个进行计算,得到每一个特征点的主方向。

5. 构造SURF特征点描述算子

 在SURF中,也是在特征点周围取一个正方形框,框的边长为20s(s是所检测到该特征点所在的尺度)。该框带方向,方向当然就是第4步检测出来的主方向了。然后把该框分为16个子区域,每个子区域统计25个像素的水平方向和垂直方向的haar小波特征,这里的x(水平)和y(垂直)方向都是相对主方向而言的。该haar小波特征为x(水平)方向值之和,水平方向绝对值之和,垂直方向之和,垂直方向绝对值之和。

0 0
原创粉丝点击