您的位置:首页 > 其它

surf算法简要介绍

2017-07-17 09:46 591 查看
1.积分图像

(1)点(i,j)在积分图像中的值是在原图像中,原图像左上角的点和该点(i,j)所组成的矩形区域内所有像素点灰度值的总和。

(2)某个矩形区域(以点,3,4为顶点)中灰度值的总和计算公式是:



ii(i,j)表示点(i,j)在积分区域中的值

2.构建Hessian矩阵

(1)


L(x,σ)表示在点x处的二阶导数,即点x与 d2dx2g(σ)(或d2dxyg(σ)或d2dy2g(σ))在点x处与图像I 的卷积。

(2)Hessian矩阵的简化



D_{xx}表示模板与图像进行卷积

3.构造金字塔

与sift算法不同,每一组(每一塔)的图像大小是相同的,但是surf算法中,每一组图像高斯滤波的σ是不一样的,而且高斯模板的大小也是不一样的。

我们需要将尺度空间划分为若干组(Octaves)。一个组代表了逐步放大的滤波模板对同一输入图像进行滤波的一系列响应图。每个组又由若干固定的层组成。由于积分图像离散化的原因,两个层之间的最小尺度变化量是由高斯二阶微分滤波器在微分方向上对正负斑点响应长度决定的,它是盒子滤波器模板尺寸的1/3。对于9×9的模板,它的l0=9×13=3。下一层层的响应长度至少应该在l0的基础上增加2个像素,以保证一边一个像素,即l0=5。这样模板的尺寸就为15×15。以此类推,我们可以得到一个尺寸增大模板序列,它们的尺寸分别为:9×9,15×15,21×21,27×27,区域的长度增加偶数个像素,以保证一个中心像素的存在。

SURF中采用9X9尺寸的滤波器作为起始滤波器,之后的滤波器尺寸可由以下公式计算得出:

滤波器大小计算公式:

3×(2octave×interval+1)

尺度sigma之间的关系如下:



采用类似的方法来处理其他几组的模板序列。其方法是将滤波器尺寸增加量翻倍(6,12,24,38)。这样,可以得到第二组的滤波器尺寸,它们分别为15,27,39,51。第三组的滤波器尺寸为27,51,75,99。如果原始图像的尺寸仍然大于对应的滤波器尺寸,尺度空间的分析还可以进行第四组,其对应的模板尺寸分别为51,99,147,195。

在通常尺度分析情况下,随着尺度的增大,被检测到的斑点数量迅速衰减。所以一般进行3-4组就可以了,与此同时,为了减少运算量,提高计算的速度,可以考虑在滤波时,将采样间隔设为2。

4.非极大值抑制

(1)候选点

在尺度空间中,该点与它相邻的26个点对比,如果它是极小值或极大值,则将该点设为候选特征点。

(2)采用3维线性插值法得到亚像素级的特征点,同时也去掉那些值小于一定阈值的点,增加极值使检测到的特征点数量减少,最终只有几个特征最强点会被检测出来。(具体步骤参见sift算法)

5.确定主方向

为了保证旋转不变性,在SURF中,不统计其梯度直方图,而是统计特征点领域内的Harr小波特征。即以特征点为中心,计算半径为6s(S为特征点所在的尺度值)的邻域内,统计60度扇形内所有点在x(水平)和y(垂直)方向的Haar小波响应总和(Haar小波边长取4s), 计算出图像在哈尔小波的x和y方向上的响应值之后,对两个值进行因子为2S的高斯加权,加权后的值分别表示在水平和垂直方向上的方向分量。

Harr特征值反应了图像灰度变化的情况,那么这个主方向就是描述那些灰度变化特别剧烈的区域方向,使得靠近特征点的响应贡献大,而远离特征点的响应贡献小,然后60度范围内的响应相加以形成新的矢量,遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向。这样,通过特征点逐个进行计算,得到每一个特征点的主方向

6.特征点特征向量的生成

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

这样每个小区域就有4个值,所以每个特征点就是16*4=64维的向量,相比sift而言,少了一半,这在特征匹配过程中会大大加快匹配速度。

在计算这个矩形区域时并不是先把它旋转到主方向,而是先计算出每一个点的Harr响应值dx、dy并高斯加权处理后,把dx、dy进行旋转变换。

或者参考sift算法特征向量生成算法。

7.匹配

为了加速匹配过程,SURF借助Laplacian(在之前计算Hessian是可以顺便得出,不占用太多的时间)的符号使匹配过程索引加快。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法