【Detector】【Descriptor】尺度不变特征转换(Scale-invariant feature transform 或 SIFT)

SIFT(Scale-Invariant Feature Transform)是一种局部特征检测算法,用于在不同尺度和旋转下识别图像中的特征点。算法主要包括尺度空间表示、特征点检测与定位、附加描述信息和特征点匹配。通过高斯差分(DoG)检测尺度空间中的极值点,再进行子像素插值和方向分配,确保旋转不变性。接着,计算特征点的描述子,用于后续的匹配。SIFT算法虽然具有良好的不变性,但在实时性和特征点数量上存在局限,后续有如SURF等改进算法。
摘要由CSDN通过智能技术生成

尺度不变特征转换(Scale-invariant feature transform 或 SIFT)

前言

1、尺度不变特征转换(Scale-invariant feature transform 或 SIFT)

是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在尺度空间中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由 David Lowe 在1999年所发表,2004年完善总结。

2、尺度空间理论

自然界中的物体随着观测尺度不同有不同的表现形态。例如我们形容建筑物用,观测分子、原子等用纳米。更形象的例子比如百度地图,滑动鼠标轮可以改变观测地图的尺度,看到的地图绘制也不同;还有电影中的拉伸镜头等等……从认知学的角度讲,在一幅图像中,即使对一个事物没有概念,或者并不熟悉它,人仍然能够感知此物体的结构。在一幅图像中,只有在一定的尺度范围内,一个物体才有意义。

尺度空间中各尺度图像的模糊程度逐渐变大,能够模拟人在距离目标由近到远时目标在视网膜上的形成过程。尺度越大图像越模糊。

总结:Sift算法总体思路就是用不同尺度(标准差)的高斯函数对图像进行平滑,然后比较平滑后图像的差别,差别大的像素就是特征明显的点。   

3、为什么要讨论尺度空间?

用机器视觉系统分析未知场景时,计算机并不预先知道图像中物体的尺度。我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度。另外如果不同的尺度下都有同样的关键点,那么在不同的尺度的输入图像下就都可以检测出来关键点匹配,也就是尺度不变性

图像的尺度空间表达就是图像在所有尺度下的描述。

4、SIFT算法可以解决的问题

 目标的旋转、缩放、平移(RST

 图像仿射/投影变换(视点viewpoint

 光照影响(illumination

 目标遮挡(occlusion

 杂物场景(clutter

 噪声

5、 哪些点是SIFT中要查找的关键点(特征点)?

这些点是一些十分突出的点不会因光照条件的改变而消失,比如角点、边缘点、暗区域的亮点以及亮区域的暗点,既然两幅图像中有相同的景物,那么使用某种方法分别提取各自的稳定点,这些点之间会有相互对应的匹配点。

所谓关键点,就是在不同尺度空间的图像下检测出的具有方向信息的局部极值点。

根据归纳,可以看出特征点具有的三个特征:尺度、方向、大小

SIFT 算法原理

1、提取特征点

1.1尺度空间表示

Koendetink证 明 了, 而Lindeberg等人则进一步证明高斯核是唯一的线性核。因此,尺度空间理论的主要思想是利用高斯核对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列,再对这些序列进行尺度空间特征提取。

二维高斯核定义为

尺度空间:

L表示尺度空间,(x,y)代表图像I上的点,σ是尺度因子,选择合适的尺度因子平滑是建立尺度空间的关键。

尺度是自然客观存在的,不是主观创造的。高斯卷积只是表现尺度空间的一种形式。

在实际应用中,在计算高斯函数的离散近似时,在大概3σ距离之外的像素都可以看作不起作用,这些像素的计算也就可以忽略。

高斯模板:


为了提高在尺度空间检测稳定特征点的效率,Lowe(1998)提出了利用高斯差值(Difference of Gaussian,DoG)方程同图像的卷积求取尺度空间极值,用D(x,y,σ)表示,即用固定的系数 k 相乘的相邻的两个尺度的差值计算

k 是常数。事实上DoG是对LoG(高斯拉普拉斯)的一个近似。

该公式是热扩散公式的另一种表示形式,公式左边的项可以用近似的方法计算:

所以可得:

从公式可以看出,D和的形式是类似的。由于拉普拉斯函数是尺度无关的,因而高斯差分函数也是尺度无关的。对于所有尺度而言,k 都是一个常数,所以使用 D 不会影响极值的选取。当 k 趋向于 1 的时候,误差会越来越小。但是实验表明,即使 k 值不接近 1(例如 k 取 ),对极值的选取也没有多大影响。Mikolajczyk在实验中表明 的极大值和极小值能够产生比其他函数(包括梯度,Hessian,Harris 角点函数)更加稳定的特征。

接下来是在如何计算DoG。首先是构建图像的高斯金字塔。将图像金字塔共分O组,一组称为一个Octave,每组又分为多层,层间隔数为S,因此有S+3(S+1+2,2代表在上下再各添一层图像,搜索极值只在中间的S+1层图像上搜索)层图像,下一组的第一层图像由上一组的倒数第三层(如果层索引从0开始,则为第S层)图像按照隔点采样得到,这样做的目的是为了减少卷积运算的工作量。DoG是通过高斯金字塔中的每组上下相邻两层的高斯尺度空间图像相减得到。


在高斯金字塔中,σ和o, s的关系如下:

其中,σ0是基准层尺度,o为组Octave的索引,s为组里图像的层索引。

组内尺度是指同一组(octave)内的尺度关系,组内相邻层尺度化简为:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值