SIFT特征提取与匹配概述

SIFT特征提取与匹配概述

SIFT(Scale-Invariant Feature Transform)是Lowe于1999年提出的局部特征提取描述方法。
特征提取是为了检测出图像中的稳定特征点(所谓稳定包括:尺度、光照、旋转或仿射不变性等),而特征描述是为了精准的特征匹配(指与简单的灰度模板匹配相比更精准)。
因此本文按以上两部分对SIFT算法进行概述。

特征提取

图像的点特征一般指角点斑点。如图所示,(a)为SIFT特征,(b)为Harris特征(角点)
SIFT特征提取与匹配概述_第1张图片

Harris算子能高效检测角点,而SIFT提取的特征则是斑点。SIFT算法用DoG(Difference of Guassian)近似LoG(Laplacian of Guassian)构造了一个“尺度空间”,在尺度空间每一层的相邻三幅影像中检测局部极值点。
SIFT特征提取与匹配概述_第2张图片

检测局部极值点之后,还要进行点位精化(亚像素插值)和边缘点剔除(受Harris方法的启发)。至此,完成了特征提取,已经可以使用灰度匹配方法来获取同名点。但是SIFT算法的精髓不仅限于此(具备尺度不变性的特征),而包含了特征描述(产生旋转不变性和光照不变性)。

特征描述与匹配

SIFT的特征描述首先确定主方向
SIFT特征提取与匹配概述_第3张图片

  1. 主方向获取。以当前特征点为中心重采样一个影像窗口(作者建议16 × 16像素窗口)。在该窗口内计算各像素的灰度梯度大小和方向(由角度度数反映),然后以10°为间隔对梯度方向进行统计,按照高斯核函数进行距离加权,得到该窗口的灰度梯度方向的直方图;梯度方向直方图中的最大峰值对应角度代表了关键点邻域的梯度主方向也即认为是该关键点的主方向
  2. 特征描述。借助主方向,旋转关键点所在窗口,重新采样局部窗口,以使得该窗口坐标轴起始方向为关键点主方向。然后,计算该窗口内各像素梯度大小和方向并统计梯度分布,对每个关键点使用4×4共16个种子点进行描述,每个种子点所在的4×4像素窗口仍以高斯加权统计梯度方向直方图(这次统计仅统计8个方向),最后得到一个128维的描述向量。如图所示:
    SIFT特征提取与匹配概述_第4张图片

至此,SIFT特征描述子(特征向量)也得到了。当两个关键点的特征向量的相似度较高(夹角较小)时,可以认为它们是同名点。

使用SIFT特征向量进行同名点匹配,有许多快速算法如k-d树等,不再细说。

你可能感兴趣的:(SIFT特征提取与匹配概述)