SURF特征点检测

工作原理

1.选择图像中POI(Points of Interest) Hessian Matrix
2.在不同的尺度空间发现关键点,非最大信号压制
3.发现特征点方法、旋转不变性要求
4.生成特征向量

积分图像

积分图像是SURF算法减少计算量的关键
关于对积分图像的理解可参考:https://www.cnblogs.com/codingmengmeng/p/6567124.html

Hessian矩阵

构建Heesian矩阵为了得到图像稳定的边缘点,为下文非最大信号压制做准备
图像中每一个像素点的Hessian矩阵(每一个像素点都可以求出一个Hessian矩阵):
在这里插入图片描述
由于特征点需要有尺度无关性,因此在构造Hessian矩阵之前,需要对其进行高斯滤波:
在这里插入图片描述
可以根据Hessian的判别式:
在这里插入图片描述
判定结果的符号把所有的点进行分类,根据判别式的正负,判断该点是否为极值点。
创建Hessian矩阵时,可以把2种操作(高斯平滑,求二阶导数)合在一起用一个模板代替,这个模板就是盒子滤波。
在离散数字图像中,一阶导数是相邻像素的灰度差:
在这里插入图片描述
因为导数的公式是:
f’(x)=(f(x+dx)-f(x))/dx
在数字图像里,通常用相邻像素的灰度值来计算,它们的距离 dx=1
一阶导数就是相邻像素的灰度值的差:
f’(x) = f(x+1)-f(x)
参考:https://www.zybang.com/question/51370a3820c3d48f45952fd5baec7af3.html
二阶导数是对一阶导数的再次求导:
在这里插入图片描述
Dxx,Dyy,Dxy 中的小写字母,就表示的是两次一阶偏导数
的计算方向.
比如
Dxx = [f(x+1,y)-f(x,y)] - [f(x,y)-f(x-1,y)]
Dyy = [f(x,y+1)-f(x,y)] - [f(x,y)-f(x,y-1)]
Dxy = [f(x+1,y-1)-f(x,y-1)] - [f(x+1,y)-f(x,y)]
参考:https://www.zybang.com/question/51370a3820c3d48f45952fd5baec7af3.html

Hessian矩阵判别式中的f(x,y)是原始图像的高斯卷积,由于高斯核实服从正态分布的,从中心点往外,系数越来越低,为了方便应用,Surf使用了盒式滤波器来近似替代高斯滤波器,就是用近似值代替Lxx,Lyy,Lxy,为了平衡准确值与近似值间误差引入权值,在Dxy上乘了一个加权系数0.9,此时,H矩阵的判别式(其实就是矩阵的行列式的值再加上一个平衡误差的系数):
在这里插入图片描述

Hessian矩阵创建的思路是:先高斯平滑,然后求二阶导数,为了加快计算可以把这两个操作合在一起用一个模板代替(盒子滤波)。
Lyy_y方向上的模板 & Lxy x和y方向上的模板
上边两副图是高斯滤波模板分别在图像上垂直方向上二阶导数Dyy和Dxy对应的值,可以看到矩阵的结果都属于浮点数类型,无法进行快速的计算,而下方两副图是盒子滤波模板分别在图像上垂直方向上二阶导数Dyy和Dxy对应的值,可以看到矩阵结果分为三种:灰色部分的像素值为0,黑色为-2,白色为1。盒式滤波器对图像的滤波转化成计算图像上不同区域间像素和的加减运算问题,这正是积分图的强项。参考点1(积分图)

尺度空间

上面所有的内容经过尺度空间中不同尺寸盒子滤波器的滤波处理得到一张近似Hessian矩阵的行列式图(还记得每个像素点都有一个Hessian矩阵?),再根据尺度空间滤波窗口的大小,产生几张不同的Hessian行列式图。从而构成了图像金字塔。
金字塔图像中有很多层,每一层叫一个octave,每一个octave中有几张尺度不同的图片。在SURF中,先从尺寸的盒子滤波器开始,对盒子滤波器的尺寸进行扩展,尺寸的盒子滤波器α是为1.2时的高斯二阶微分函数经过离散和减裁后的滤波模板。在SURF中,我们保持图像不变,仅仅改变高斯滤波窗口的大小来获得不同尺度的图像,即构成了尺度空间。
在这里插入图片描述

用非极大值抑制确定特征点

在这里插入图片描述
每一组中选相邻的三层,中间层每一个Hessian行列式的值与三维图像空间的26个点进行比较,图中以3*3的滤波器为例,标记“x”若比其他26个点的特征值大则可以确定为该区域的特征点。(对于每组有4层的结构,非最大值抑制只会发生在中间两层)
在这里插入图片描述
参考:https://www.cnblogs.com/gfgwxw/p/9415218.html

精确定位点

以二维图像为例子:
在这里插入图片描述
为了得到亚像素级别的特征点,还要通过计算局部最大值:

在这里插入图片描述
在这里插入图片描述
把初步得到的特征点每次移动0.5,使其慢慢逼近真实的最大值的点,同时去掉小于一定阈值的点,最终只有几个最强特征点被检测出来。

选定特征点主方向(使其具有旋转不变性)

SURF统计特征点领域的harr小波特征
Haar小波的模板:
在这里插入图片描述
左侧模板计算X方向的响应,右侧模板计算y方向的响应,黑色表示-1,白色表示+1。(注意圆形绘制是以特征点为中心)用其对圆形领域进行处理后,就得到了该领域内每个像素点对应的x,y方向的响应,然后用以兴趣点为中心的高斯函数(α=25)对这些响应进行加权,统计一个60度扇形内所有点的水平harr小波特征值和垂直harr小波特征值的总和,以一定(0.2弧度大小)间隔旋转60度扇形,统计出最大的扇形小波特征总和就是特征点的主方向。
在这里插入图片描述

构建描述子向量

在这里插入图片描述
在SURF中,我们在特征点周围选取一个正方形框,方向为关键点的主方向(上一步检测得到),框边长20s(s就是scale该特征点所在的尺度),将其划分为4x4=16个区域(边长为5S),每个子区域统计25个像素的水平方向和垂直方向的Haar小波特性(包括水平方向值之和,水平方向绝对值之和,垂直方向值之和和垂直方向绝对值之和)在这里插入图片描述
则每个正方形框有16*4=64维,每个特征点是64维的向量,接着可以对其归一化处理,使其含有光照不变性。
参考:https://blog.csdn.net/dcrmg/article/details/52601010
新手入门,若有错误望指出,谢谢海涵…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值