SURF算子

SURF可以看作是SIFT的改进型,它通过使用减少特征描述子维数,引入积分图的方式降低了计算量。
提取SURF特征的一般步骤如下:

  • 构造Hessian矩阵,获取响应。
  • 构造高斯金字塔
  • 确定特征方向
  • 构造特征描述子

1、Hessian矩阵就是指图像像素强度的二阶导。为了增强特征的鲁棒性,Hessian矩阵上还附加了高斯平滑:
SURF算子
这里用盒式滤波器来近似,这样在求解后面的DxxLxxDyy(Lyy)Dxy(Lxy)D_{xx}(L_{xx}),D_{yy}(L_{yy}),D_{xy}(L_{xy})时可以使用积分图来加快计算。
SURF算子
由矩阵特征值性质知,当特征点为极大值点时,Hessian矩阵是负定的,当特征点为极小值点时,Hessian矩阵是正定的。所以,当特征点为极值点时有det[H]>0det[H]>0
考虑到盒式滤波器的影响,给出det[H]det[H]的近似:
SURF算子
这里的0.9是经验值。
2、构造高斯金字塔与SIFT中不同的是,SURF每一层图像的大小是相同的,改变的是高斯核的大小。当然这里也不用再求取高斯差分了。
3、定位特征点的方式与SIFT是类似的,都是与三层共26个相邻点比较,筛选极值。这里也会通过线性插值获得亚像素坐标。
4、获取主方向和构造特征描述子使用了二维Harr小波特征,这个还不懂。。最终的特征共64维。
SURF算子
SURF算子
参考:https://blog.****.net/ecnu18918079120/article/details/78195792
http://people.ee.ethz.ch/~surf/eccv06.pdf