sift特征点原理与解释

Posted by Jinming Qiao on July 5, 2020

sift特征点原理与解释


名称:SIFT算法与特征点

时间:2020-08-16


sift算法特点

  • SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性;

  • 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配;
  • 多量性,即使少数的几个物体也可以产生大量的SIFT特征向量;
  • 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求;
  • 可扩展性,可以很方便的与其他形式的特征向量进行联合。

sift算法步骤

  • 尺度空间的极值检测,搜索所有尺度空间上的图像,通过高斯微分函数来识别潜在的对尺度和选择不变的兴趣点。

  • 特征点定位,在每个候选的位置上,通过一个拟合精细模型来确定位置尺度,关键点的选取依据他们的稳定程度。

  • 特征方向赋值,基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向,后续的所有操作都是对于关键点的方向、尺度和位置进行变换,从而提供这些特征的不变性。

  • 特征点描述,在每个特征点周围的邻域内,在选定的尺度上测量图像的局部梯度,这些梯度被变换成一种表示,这种表示允许比较大的局部形状的变形和光照变换。

sift算法描述

  • 尺度信息
    • 体现在特征点的描述区域范围,是系数尺度
  • 方向信息
    • 以特征点的主方向作为特征描述的X轴,在其坐标系的四个象限上分别划出2*2个小格子,每个小格子分别对格子中的灰度变化方向进行统计。
    • 每个小格子统计出来一个按照8个方向划分,8个方向的数量 归一化后的结果,成为一个8维的向量。
    • 一共4个象限即4x4个小格子, 4x4x8=128, 最终SIFT的特征点将用128维向量表示。

sift特征提取的缺点

  • 实时性不高,因为要不断地要进行下采样和插值等操作;

  • 有时特征点较少(比如模糊图像);

  • 对边缘光滑的目标无法准确提取特征(比如边缘平滑的图像,检测出的特征点过少,尤其是圆)。

sift特征提取可以解决的问题

  1. 目标的旋转、缩放、平移(RST),图像仿射/投影变换(视点viewpoint)
  2. 光照影响(illumination),目标遮挡(occlusion)
  3. 杂物场景(clutter),噪声

拓展

  • sift -> (10倍)surf -> (10倍)orb[没有解决尺度/旋转不变性]