首页 理论教育 SURF特征描述算子的介绍

SURF特征描述算子的介绍

时间:2023-06-20 理论教育 版权反馈
【摘要】:SIFT特征描述算子在生成特征矢量时使用的是高斯图像,而SURF特征描述子在生成特征矢量使用的则是积分图像。在SIFT特征描述算子中,在求取特征点主方向时,是以特征点为中心,在以4.5σ为半径的邻域内计算梯度方向直方图的。SURF描述子不仅具有尺度和旋转不变性,而且对光照的变化也具有不变性。

SURF特征描述算子的介绍

SIFT特征描述算子在生成特征矢量时使用的是高斯图像,而SURF特征描述子在生成特征矢量使用的则是积分图像。这样做的目的就是要充分利用在特征点检测时形成的中间结果(积分图像),避免在特征矢量生成时对图像进行重复运算。

为了保证特征矢量具有旋转不变性,与SIFT算法一样,需要对每个特征点分配一个主方向。为此,要在以特征点为中心,以6ss为特征点的尺度)为半径的圆形区域内,对图像进行Haar小波响应运算。

在SIFT特征描述算子中,在求取特征点主方向时,是以特征点为中心,在以4.5σ为半径的邻域内计算梯度方向直方图的。事实上,两种方法在求取特征点主方向时,考虑到Haar小波的模板带宽,实际计算梯度的图像区域是相同的,见图4-30所示。

与SIFT算法类似,使用σ=2s的高斯加权函数对Haar小波的响应值进行高斯加权。为了求取主方向,需要设计一个以特征点为中心,张角978-7-111-42352-2-Chapter04-137.jpg的扇形滑动窗口。如图4-31所示,以步长0.2弧度左右,旋转这个滑动窗口,并对滑动窗口内图像Haar小波响应值dx、dy进行累加,得到一个矢量(mwθw):

978-7-111-42352-2-Chapter04-138.jpg

978-7-111-42352-2-Chapter04-139.jpg

主方向为最大Haar响应累加值所对应的方向,也就是最长矢量所对应的方向,即

θ=θw|max{mw}

978-7-111-42352-2-Chapter04-140.jpg

图4-30 Haar小波响应模板

978-7-111-42352-2-Chapter04-141.jpg

图4-31 求取主方向时滑动窗口围绕特征点转动

可以仿照SIFT算法求主方向时策略,当存在另一个相当于主峰值80%能量的峰值时,则将这个方向认为是该特征点的辅方向。一个特征点可能会被指定具有多个方向(一个主方向,一个以上辅方向),这可以增强匹配的鲁棒性。与SIFT的描述子类似,如果当在mw中出现另一个大于主峰能量max{mw}80%时的次峰,可以将该特征点复制成两个特征点。一个主方向为最大响应能量所对应的方向,另一个的主方向为次最大响应能量所对应的方向。

生成特征点描述算子与确定特征点的方向有些类似,它需要计算图像的Haar小波响应。不过,与主方向的确定不同的是,这次不是使用一个圆形区域,而是在一个矩形区域来计算Haar小波响应。以特征点为中心,沿特征点的主方向将20s×20s的图像划分成4×4个子块,每个子块利用尺寸2s的Haar小波模板进行响应值计算,然后对响应值进行统计∑dx、∑|dx|、∑dy、∑|dy|形成特征矢量,如图4-32所示。图中,以特征点为中心,以20s为边长的矩形窗口为特征描述算子计算使用的窗口,特征点到矩形边框的线段表示特征点的主方向。

将20s的窗口划分成4×4子窗口,每个子窗口中有5s×5s个像元,使用尺度为2s的Haar小波对子窗口图像进行其响应值计算,共进行25次采样,分别得到沿主方向的dy和垂直于主方向的dx。然后,以特征点为中心,对dx、dy进行高斯加权计算,其中σ=3.3s。最后,分别对每个子块的响应值进行统计,得到每个子块的矢量:

V子块=[∑dx,∑|dx|,∑dy,∑|dy|]

由于共有4×4个子块,因此,特征描述算子共有4×4×4=64维特征矢量组成。SURF描述子不仅具有尺度和旋转不变性,而且对光照的变化也具有不变性。使用小波响应本身就具有亮度不变性,而对比度的不变性则是通过将特征矢量进行规一化来实现的。图4-33给出了三种不同图像模式的子块得到的不同结果。对于实际图像描述算子,可以认为它们是由这三种不同模式图像的描述子组合而成的。(www.xing528.com)

978-7-111-42352-2-Chapter04-142.jpg

图4-32 特征描述算子的表示

978-7-111-42352-2-Chapter04-143.jpg

图4-33 不同的图像密度模式得到不同的描述子结果

为了充分利用积分图像进行Haar小波的响应计算,不直接通过旋转Haar小波模板求得其响应值,而是在积分图像上先使用水平和垂直的Haar小波模板求其响应值,在求得响应值dx和dy后,然后根据主方向旋转dx和dy,使其与主方向保持一致。为了求旋转后的Haar小波响应值,首先要得到旋转前图像的位置。旋转前后图像的位置关系,可以通过点的旋转公式得到:

x=x0-j×scale×sin(θ)+i×scale×cos(θ

y=y0+j×scale×cos(θ)+i×scale×sin(θ

在得到点(ji)在旋转前对应积分图像的位置(xy)后,利用积分图像与水平、垂直Haar小波求得水平以及垂直两个方向的响应值dx和dy。对dx和dy进行高斯加权处理,并根据主方向的角度,对dx和dy进行旋转变换,从而得到旋转后的dx′和dy′。其计算公式如下。

dx′=w(-dx×sinθ+dy×cosθ

dy′=w(dx×cosθ+dy×sinθ

图4-34说明在有噪声干扰下,SURF特征描述子与没有噪声干扰时具有相同的特征矢量。

978-7-111-42352-2-Chapter04-144.jpg

图4-34 SURF特征描述算子抗干扰性示意图

一般而言,特征矢量的长度越长,特征矢量所承载的信息量就越大,特征描述子的独特性就越好,但匹配所付出的时间代价就越大。对于SURF描述算子,可以将它扩展到用128维矢量来表示。具体的方法是在求∑dx、∑|dx|时,区分dy<0和dy≥0情况。同样,在求取∑dy、∑|dy|时,区分dx<0和dx≥0情况。这样,每个子块就产生了8个梯度统计值,从而使描述子特征矢量的长度增加到8×4×4=128维。

为了实现快速匹配,SURF算法在特征矢量中增加了一个新的变量,即特征点的拉普拉斯响应正负号。在特征点检测时,将Hessian矩阵的迹(Trace)的正负号记录下来,作为特征矢量的一个变量。这样做并不增加运算量,因为特征点检测时已经对Hessian矩阵的迹进行了计算。在特征匹配时,这个变量可以有效地节省搜索时间,由于只有两个正负号相同的特征点才可能匹配,对于不同正负号的特征点就不再进行相似性计算了。简单地说,可以根据特征点的响应值符号,将特征点分成两组,一组是具有拉普拉斯正响应的特征点,一组是具有拉普拉斯负响应的特征点。匹配时,只有符号相同组中的特征点才能进行相互匹配。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈