【图像处理】SURF特征点检测

参考

surf特征点检测
Surf算法特征点检测与匹配

SURF(Speeded-Up Robust Features)是对SIFT的改进,提升了算法的执行效率,为算法在实时计算机视觉系统中应用提供了可能。


特征点检测

SURF的兴趣点检测是基于Hessian矩阵的,它依靠Hessian矩阵行列式的局部最大值定位兴趣点位置。当Hessian矩阵行列式局部最大时,所检测出的实际上是斑状结构(blob-like structures)。所谓斑状结构是指:比周围区域更亮或更暗的一个小区域。

图像 f(x,y) f ( x , y ) 的Hessian矩阵表示如下:

H(f(x,y))=2fx22fxy2fxy2fy2 H ( f ( x , y ) ) = [ ∂ 2 f ∂ x 2 ∂ 2 f ∂ x ∂ y ∂ 2 f ∂ x ∂ y ∂ 2 f ∂ y 2 ]

图像 f(x,y) f ( x , y ) 经过高斯滤波后的的Hessian矩阵表示如下:
H(x,σ)=[Lxx(x,σ)Lxy(x,σ)Lxy(x,σ)Lyy(x,σ)] H ( x , σ ) = [ L x x ( x , σ ) L x y ( x , σ ) L x y ( x , σ ) L y y ( x , σ ) ]

在构建多尺度空间时,SURF算法使用 盒式滤波(box filter)近似代替SIFT算法中的二阶高斯函数,然后与原始图像做卷积,并在这一过程中应用了 积分图像(的技巧,这是两者最根本的区别。

这里写图片描述

对于x、y方向上的滤波,黑色区域赋权重为-2,白色区域赋权重为l,其余区域不赋权重;对于xy方向的滤波,黑色区域赋权重为-1,白色区域赋权重为1。这样一来,Hessian矩阵的二阶导数行列式就可以近似为:

det(H)=DxxDyy(wDxy)2 d e t ( H ) = D x x D y y − ( w D x y ) 2

其中, Dxx D x x 是对像素的二阶求导:
Dxx=[f(x+1,y)f(x,y)][f(x,y)f(x1,y)]=f(x+1,y)+f(x1,y)2f(x,y)(105)(106) (105) D x x = [ f ( x + 1 , y ) − f ( x , y ) ] − [ f ( x , y ) − f ( x − 1 , y ) ] (106) = f ( x + 1 , y ) + f ( x − 1 , y ) − 2 ∗ f ( x , y )

w w 取0.9较为合理。利用盒式滤波结合积分图像求取尺度空间函数的方法非常巧妙,这也正是该算法比SIFT检测算法更快速的主要原因。


特征点描述

同Sift一样,Surf的尺度空间也是由O组L成组成,不同的是,Sift中下一组图像的尺寸是上一组的一半,同一组间图像尺寸一样,但是所使用的高斯模糊系数逐渐增大;而在Surf中,不同组间图像的尺寸都是一致的,不同的是不同组间使用的盒式滤波器的模板尺寸逐渐增大,同一组间不同层间使用相同尺寸的滤波器,但是滤波器的模糊系数逐渐增大,如下图所示:

这里写图片描述

为使兴趣点描述算子具有旋转不变的性能,首先要赋予每一个兴趣点方向特征。我们在以某个兴趣点为圆心,以6s(s为该兴趣点对应的尺度)为半径的圆形邻域里,用尺寸为4s的Haar小波模板对图像进行处理,求x、y两个方向的Haar小波响应。Haar小波的模板如下图所示,其中左侧模板计算x方向的响应,右侧模板计算y方向的响应,黑色表示一1,白色表示+1。

这里写图片描述

用Haar小波滤波器对圆形邻域进行处理后,就得到了该邻域内每个点所对应的x、y方向的响应,然后用以兴趣点为中心的高斯函数(σ=2s)对这些响应进行加权。用一个圆心角为 π/3 π / 3 扇形以兴趣点为中心旋转一周,计算该扇形处于每个角度时,它所包括的图像点的Haar小波响应之和。由于每一点都有x、y两个方向的响应,因此扇形区域中所有点的响应之和构成一个矢量。把扇形区域环绕一周所形成的矢量都记录下来,取长度最大的矢量,其方向即为该兴趣点所对应的方向。

这里写图片描述

为了构建描述子向量,首先要确定一个以兴趣点为中心的正方形邻域。该邻域的边长为20s(s为该兴趣点对应的尺度),把上面所确定的兴趣点方向作为该邻域的y轴方向。我们直接使用Haar小波滤波器直接对原始图像进行处理,然后对所得响应进行插值处理,从而得到相对于兴趣点方向的dx、dy。把该正方形区域分成4x4个子块区域,在每一个子块区域中用Haar小波滤波器进行处理(该处的Haar小波模板尺寸为2sx2s)。我们用dx表示水平方向的Haar小波响应,用dy表示竖直方向的Haar小波响应。这里的水平和竖直是相对于兴趣点方向来说的。在构建描述子向量之前,对于所有的dx、dy都要用一个以兴趣点为中心的高斯函数加权,该高斯函数的σ=3.3s。

这里写图片描述

在每个子块区域中对dx、dy、|dx|、|dy|求和,从而得到一个4维向量。把4*4个子块区域的向量连接起来就得到了一个64维的向量,此向量就是描述该兴趣点的描述子(deseripror)特征向量。如果我们对dx、Idxl求和时分成dy<0,dy>=0两种情况,相应的在对dy、|dy|求和时分成dx<0,dx>=两种情况,我们就会得到128维的描述子向量。

特征点匹配

与Sift特征点匹配类似,Surf也是通过计算两个特征点间的欧式距离来确定匹配度,欧氏距离越短,代表两个特征点的匹配度越好。不同的是Surf还加入了Hessian矩阵迹的判断,如果两个特征点的矩阵迹正负号相同,代表这两个特征具有相同方向上的对比度变化,如果不同,说明这两个特征点的对比度变化方向是相反的,即使欧氏距离为0,页直接予以排除。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值