surf特征算子

主要参考了:https://www.cnblogs.com/jinjidexuetu/p/90ace4e8de574e3d5f4e6ac16a0dc157.html
https://blog.csdn.net/dcrmg/article/details/52601010?locationNum=8&fps=1

要搞明白surf特征算子首先要搞明白sift特征算子,毕竟surf是sift的改进算法。

surf的步骤过程与sift相似,只是对sift做了近似处理。
1.分辨率尺度不变
为了保证图像分辨率尺度的不变性,所以要先对图像进行高斯滤波,然后再对滤波后的图像的每个像素点进行hessian矩阵的计算,hessian矩阵如下:

[ d f 2 d x 2 d f 2 d x d y d f 2 d x d y d f 2 d y 2 ]

其中f为高斯滤波后的图像,然后计算hessian矩阵的行列式与迹的差,如果通过阈值判定该点是否为关键点。
为了简化hessian矩阵的计算,surf直接求出hessian矩阵的各个元素然后直接进行计算。
d f 2 d x 2 就是对图像进行高斯滤波然后求二阶偏导,这可以等效于先对高斯函数进行二阶偏导然后对图像进行高斯滤波,所以我们只需要求出高斯函数的二阶偏导就可以直接求出hessian矩阵的第一个参数,高斯函数的二阶偏导仍然是一个关于x的高斯函数,但是高斯函数滤波速度太慢,于是surf用盒式滤波器来近似高斯滤波器,如下:
这里写图片描述
同理我们可以用盒式滤波器来近似其余的二阶偏导高斯函数滤波器,如下:
这里写图片描述
盒式滤波器在利用积分图的情况下,速度会飞升。

这样我们先用盒式滤波器对图像进行滤波获取hessian矩阵的元素,然后再对其进行计算就能求得该分辨率尺度下的特征了,然后对图像计算盒式滤波器对不同 σ 进行近似的高斯滤波器就能得到尺度不变的特征了。

二.空间尺度不变
sift为了得到空间尺度不变的特征对图像进行了下采样处理,surf并没有对图像进行下采样,而是通过增加盒式滤波器的尺寸来模拟空间尺度的改变。

三.特征点定位
特征点定位与sift一样,对图像的三个(x,y.σ)三个变量的26个点进行比较找出其中的极值点,然后再删除其中的边缘点和特征较弱的点。

四.特征点主方向分配
这里并没有采用方向直方图,可能是为了与sift做出区分吧,在特征点的圆形邻域内,统计60度扇形内所有点的水平、垂直harr小波特征总和,然后扇形以0.2弧度大小的间隔进行旋转并再次统计该区域内harr小波特征值之后,最后将值最大的那个扇形的方向作为该特征点的主方向。
图像请参考上面两篇博客。

五.生成特征点描述子

这个问题这个博客https://blog.csdn.net/dcrmg/article/details/52601010?locationNum=8&fps=1写的非常清楚,我就不赘述了。

猜你喜欢

转载自blog.csdn.net/Du_Shuang/article/details/82684980