【图像处理-基础知识】SFIT特征解析
文章目录
- 一、SIFT 介绍
-
- 1.1 背景目标
- 1.2 核心思想
- 二、SIFT 的主要步骤
-
- 2.1 高斯卷积函数介绍
- 2.2 高斯差分金字塔构建解析
- 2.3 空间极值点检测
- 2.4 关键点精确定位原理解析
- 2.5 方向分配
- 2.6 特征描述子生成
- 2.7 特征匹配
- 三、总结
一、SIFT 介绍
1.1 背景目标
SIFT(Scale-Invariant Feature Transform)是 David Lowe 在 1999 年提出并在 2004 年完善的一种 局部特征点检测与描述算法。
它的目标是找到图像中在 尺度缩放、旋转、光照变化、视角部分变化 等情况下依然稳定的特征点,并对这些特征点生成鲁棒的描述子。
由于其良好的鲁棒性和较强的区分性,SIFT 被广泛应用于:
- 图像拼接(全景生成);
- 目标识别与检测;
- 三维重建(Structure-from-Motion, SfM);
- SLAM(同时定位与建图)等任务。
1.2 核心思想
- 在图像的 尺度空间 中寻找稳定的关键点;
- 使用梯度方向直方图统计,生成 旋转不变的描述子;
- 将关键点邻域表示为一个 128 维向量,用于后续匹配与识别。
二、SIFT 的主要步骤
- 尺度空间极值检测:在不同尺度的高斯差分图像 (DoG) 中寻找局部极值点,得到候选关键点。
- 关键点精确定位:通过泰勒展开拟合精确位置,并剔除不稳定点(低对比度点与边缘点)。
- 方向分配:基于梯度方向直方图,给每个关键点分配主方向(若有多个峰值,则复制关键点并分配副方向),保证旋转不变性。
- 特征描述子生成:在关键点邻域内提取梯度特征,构建 128 维向量,并归一化以增强光照鲁棒性。
- 特征匹配:通过欧式距离比较描述子,结合比率检验和 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πσ21e−2σ2x2+y2
σ \sigma σ 控制模糊程度,尺度空间通过在不同 σ \sigma