SIFT(尺度不变特征变换)的原理分析

本人初学SIFT,过程中也借鉴了很多网络资源,虽然还没有了解的太透彻,但是对于SIFT算法的大致过程有了初步认识,下面分享一下我的理解,主要参照 https://blog.csdn.net/zddblog/article/details/7521424 (网上有很多原理公式,鉴于我也看不懂,就不对公式作解释了,想看公式的可以点击上述链接,里面写得十分详细)

1、SIFT的概念

SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述,具有非常强的稳健性。那先来了解一下它的特点和作用:

SIFT算法的特点有:

  1. SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;
  2. 独特性好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;
  3. 多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;
  4. 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;
  5. 可扩展性,可以很方便的与其他形式的特征向量进行联合。

SIFT算法可以解决的问题:
目标的自身状态、场景所处的环境和成像器材的成像特性等因素影响图像配准/目标识别跟踪的性能。而SIFT算法在一定程度上可解决:

  1. 目标的旋转、缩放、平移
  2. 图像仿射/投影变换
  3. 光照影响
  4. 目标遮挡
  5. 杂物场景
  6. 噪声
2、SIFT算法

按照参考博客所写的内容可以将SIFT算法分解为如下四步:

  1. 尺度空间极值检测:搜索所有尺度上的图像位置。通过高斯差分函数来识别潜在的对于尺度和旋转不变的兴趣点。
  2. 关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。
  3. 方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
  4. 关键点描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度。这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变化。

2.1、高斯模糊

SIFT算法是在不同的尺度空间上定位兴趣点,而尺度空间的获取需要使用高斯模糊来实现。
个人理解的方法就是用一个矩形窗口和模糊的灰度图像进行卷积,再通过滤波去除不稳定点。按照书本概念:兴趣点是在图像位置和尺度变化结果的最大值和最小值点。

对于图像的模糊有两种方法,一种是二维高斯模糊:
在这里插入图片描述
一种是分离高斯模糊:
在这里插入图片描述

2.2、高斯金字塔

尺度空间在实现时使用高斯金字塔表示,高斯金字塔的构建分为两部分:

  1. 对图像做不同尺度的高斯模糊;
  2. 对图像做降采样(隔点采样)。

在这里插入图片描述
上图是什么意思呢,就是说将原始图像不断降阶采样,得到一系列大小不一的图像,将图像金字塔每层的一张图像使用不同参数做高斯模糊,使得金字塔的每层含有多张高斯模糊图像。降采样时,高斯金字塔上一组图像的初始图像(底层图像)是由前一组图像的倒数第三张图像隔点采样得到的。这样就构造出了一个高斯金字塔。在实际计算时,使用高斯金字塔每组中相邻上下两层图像相减,就得到下图的高斯差分金字塔
在这里插入图片描述

2.3、空间极值点检测

关键点是由DOG空间的局部极值点组成的,关键点的初步探查是通过同一组内各DoG相邻两层图像之间比较完成的。例如下图,每一个像素点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。当然光靠这样判断的极值点并不全都是稳定的兴趣点,因为某些极值点响应较弱,而且DOG算子会产生较强的边缘响应,这就需要一些算法来消除这种影响。
在这里插入图片描述

2.4、描述子

上面讨论的兴趣点位置描述子给出了兴趣点的位置和尺度信息,为了实现旋转不变性,基于每个点周围图像梯度的方向和大小,SIFT描述子引入参考方向,使用主方向描述参考方向,原理大致如下图。
在这里插入图片描述
基于位置、尺度和方向信息计算描述子。SIFT描述子在每个像素点附近选取4*4个的子区域网格,对于每个子区域计算图像的梯度方向直方图,根据米字型的8个方向向量组成区间数为8的直方图,将16个子区域直方图连接起来可以变成个一个128个区间的直方图,作为该兴趣点的特征向量。

3、SIFT的缺点

SIFT在图像的不变特征提取方面拥有无与伦比的优势,但并不完美,仍然存在:

  1. 实时性不高。

  2. 有时特征点较少。

  3. 对边缘光滑的目标无法准确提取特征点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值