SIFT(尺度不变特征变换)算法

目录

SIFT

1、生成高斯差分金字塔,尺度空间构建

2、空间极值点检测

3、稳定关键点的精确定位

4、稳定关键点方向信息分配

5、关键点描述

6、特征点匹配


SIFT

SIFT:Scale-Invariant Feature Trainsform即尺度不变特征变换,这是一种图像处理以及计算机视觉领域里面对图像的局部特征描述的常用方法。SIFT提取图像的局部特征,在尺度空间寻找极值点,并提取出其位置尺度和方向信息。

SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),计算关键点的大小方向以及尺度信息,利用这些信息组成关键点对特征点进行描述的问题。SIFT算法所查找的关键点都是一些十分突出,不会因光照仿射变换和噪声等因素而变换的“稳定”的特征点,匹配的过程就是对比这些特征点的过程:

算法特征提取和匹配的具体步骤:

1、生成高斯差分金字塔,尺度空间构建

尺度空间:人的眼睛能自动调节分辨率,近距离看一个人脸能看到毛孔,距离远了看不到毛孔。但是在图片信息当中,分辨率是固定的,要想得到类似人眼的效果,就要把图片弄成不同的分辨率,制作成图像金字塔来模拟人眼的功能,从而在其他图片中进行特征识别时,能像人的眼睛一样,即使要识别的物体尺寸变大或者变小,也能够识别出来。例如:观察一棵树,如果观察的是一整棵树(相当于大尺度情况下观察),那么就应该去除图像的细节部分,如果观察的是树叶(小尺度下观察),那么就应该观察局部细节特征。

图像金字塔:把一个图片从原始分辨率不停的对其分辨率进行减少,然后将这些图片摞在一起,可以看成一个四棱锥的样式,这个东西就叫做图像金字塔。

图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像,把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像素逐渐降低的图像,一直到金字塔的顶部只包含一个像素点的图像。

 获得图像金字塔的步骤:

1)利用滤波器平滑图像(高斯滤波)

2)对平滑图像进行抽样(采样):上采样是分辨率逐渐升高,下采样相反

高斯金字塔:高斯金字塔并不是一个金字塔,而是很多组金字塔构成,并且每组金字塔都包含若干层。高斯金字塔是图片在不同尺寸下进行高斯模糊操作后的图片。下图中的金字塔分为好几组,最下面一组是用不同大小的高斯核对原图像进行卷积操作得到的一组图片,倒数第二组的图片是对刚才的第一组的第三层的图片进行降采样,降采样后图片尺寸缩小了,缩小后再用不同尺度的高斯核进行卷积操作,然后得到图中倒数第二组的一组图片。金字塔的其他层以此类推得到高斯金字塔。

金字塔模拟近处物体大,远处物体小的情况,用高斯核进行卷积操作模拟的是近处物体清晰,远处物体模糊。

组数:\log_{2}\left ( min\left ( M,N \right ) \right )-3,其中M,N是原图片的长度和宽度。

每一组的层数:n+3,n是你期望提取多少张图片中的特征。

每一组里面每层每一次高斯核卷积的核大小:

 高斯差分金字塔

同一组的高斯金字塔里面的图片大小尺寸是一样的,然后把同一组相邻两层的图片相减得到高斯差分金字塔,就是下图中右边蓝色的部分。

2、空间极值点检测

特征点是由局部极值点组成的,为了寻找极值点,每一个像素要和它所有相邻的点比较,看其是否比它的图像域和尺度域的相邻点大或者小。如下图 :中间的×这个监测点和它同尺度的8个相邻点以及上下相邻尺度对应的9*2个点共26个点 比较,以确保在尺度空间和二维图像空间都检测到极值点。

3、稳定关键点的精确定位

第二步中的检测到的局部极值点还要经过进一步的筛选,去除掉不稳定和错误检测出的极值点。

利用阈值的方法来限制,在opencv中为contrastThreshold。

4、稳定关键点方向信息分配

稳定的极值点是在不同尺度空间下提取的,这保证了关键点的尺度不变性。为关键点分配方向信息所要解决的问题是使得关键点对图像角度和旋转具有不变性。

方法:获取关键点所在尺度空间的领域,然后计算该区域的梯度和方向,根据计算得到的结果创建方向直方图。可以做如下设定:直方图的峰值为主方向的参数,其他高于主方向百分之80的方向被判定为辅助方向。

5、关键点描述

对于每一个关键点,都拥有尺度、位置以及方向三个信息,所以具备平移、缩放和旋转不变性。为每个关键点建立一个描述符,用一组向量将这个关键点描述出来,使其不随各种变化而改变。

描述的思路是:对关键点周围像素区域分块,计算块内梯度直方图,生成具有独特性的向量,这个向量是该区域图像信息的一种抽象表述。

如下图,对于2*2块,每块最终取8个方向,既可以生成2*2*8维度的向量,以这22*2*8维向量作为中心关键点的数学描述。

实验结果表明:对于每个关键点采用4*4*8=128维向量表征,综合效果最优。

 

6、特征点匹配

特征点的匹配是通过计算两组特征点的128维的关键点的欧氏距离实现的。

欧氏距离越小,则相似度越高,当欧氏距离小于设定的阈值时,可以判定为匹配成功。

具体步骤:

1、分别对模板图和实时图建立关键点描述子集合。目标的识别是通过两点集内关键点描述子的比对来完成。具有128维的关键点描述子的相似性度量采用欧式距离。

2、匹配可采取穷举法完成。

猜你喜欢

转载自blog.csdn.net/Exception_3212536934/article/details/124769003