文章目錄
一、SIFT 介紹
1.1 背景目標
David Lowe 在 1999 年提出并在 2004 年完善的一種就是SIFT(Scale-Invariant Feature Transform)局部特征點檢測與描述算法。
它的目標是找到圖像中在尺度縮放、旋轉、光照變化、視角部分變化等情況下依然穩定的特征點,并對這些特征點生成魯棒的描述子。
由于其良好的魯棒性和較強的區分性,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πσ21?e?2σ2x2+y2?
σ \sigmaσ控制模糊程度,尺度空間通過在不同σ \sigma
浙公網安備 33010602011771號