尺度不变特征变换匹配算法(Scale Invariant Feature Transform 简称SIFT)
SIFT算法常用来提取用于描述影像中的局部性特征,算法主要从空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量
算法过程:
- 对图像进行不同尺度的高斯模糊和降采样,构建高斯金字塔
- 借助高斯差分函数(DOG算子)代替微分检测离散空间的极值,作为兴趣点
- 通过拟合三维二次函数与插值,排除不显著与边缘的兴趣点,保留关键点
- 采集关键点在高斯金字塔邻域内像素的梯度与方向,分配主方向给关键点
- 保留峰值大于主方向峰值80%的方向作为该关键点的辅方向,增强匹配的鲁棒性
- 对关键点建立向量描述(位置、尺度、方向、光照/视角变化等),形成SIFT特征
算法优点:
- 对旋转、尺度缩放、亮度变化保持不变性
- 对视角变化、仿射变换、噪声容忍度较高
- 特征信息丰富、独特,可拓展性强
- 特征计算成本较低,可以达到实时的要求
算法缺点:
- 实时性一般,有时提取的特征偏少
- 难以应对模糊或边缘光滑的图像
参考: