一、SIFT 介绍

1.1 背景目标

David Lowe 在 1999 年提出并在 2004 年完善的一种就是SIFT(Scale-Invariant Feature Transform)局部特征点检测与描述算法
它的目标是找到图像中在尺度缩放、旋转、光照变化、视角部分变化等情况下依然稳定的特征点,并对这些特征点生成鲁棒的描述子。
由于其良好的鲁棒性和较强的区分性,SIFT 被广泛应用于:

  • 图像拼接(全景生成);
  • 目标识别与检测;
  • 三维重建(Structure-from-Motion, SfM);
  • SLAM(同时定位与建图)等任务。

1.2 核心思想

  • 在图像的 尺度空间中寻找稳定的关键点;
  • 使用梯度方向直方图统计,生成旋转不变的描述子
  • 将关键点邻域表示为一个128 维向量,用于后续匹配与识别。

二、SIFT 的主导步骤

  1. 尺度空间极值检测:在不同尺度的高斯差分图像 (DoG) 中寻找局部极值点,得到候选关键点。
  2. 关键点精确定位:依据泰勒展开拟合精确位置,并剔除不稳定点(低对比度点与边缘点)。
  3. 方向分配:基于梯度方向直方图,给每个关键点分配主方向(若有多个峰值,则复制关键点并分配副方向),保证旋转不变性。
  4. 特征描述子生成:在关键点邻域内提取梯度特征,构建 128 维向量,并归一化以增强光照鲁棒性。
  5. 特征匹配:通过欧式距离比较描述子,结合比率检验和 RANSAC 几何约束实现鲁棒匹配。

2.1 高斯卷积函数介绍

SIFT 的尺度不变性来自于高斯尺度空间 的构建。
给定图像 I ( x , y ) I(x, y)I(x,y),在尺度 σ \sigmaσ下的高斯模糊图像为:

L ( x , y , σ ) = G ( x , y , σ ) ∗ I ( x , y ) L(x, y, \sigma) = G(x, y, \sigma) * I(x, y)L(x,y,σ)=G(x,y,σ)I(x,y)

其中,高斯核函数为:

G ( x , y , σ ) = 1 2 π σ 2 e − x 2 + y 2 2 σ 2 G(x, y, \sigma) = \frac{1}{2\pi\sigma^2} e^{-\frac{x^2+y^2}{2\sigma^2}}G(x,y,σ)=2πσ21e2σ2x2+y2

σ \sigmaσ控制模糊程度,尺度空间通过在不同σ \sigma

posted on 2025-10-26 08:59  lxjshuju  阅读(12)  评论(0)    收藏  举报