SIFT/SURF為了實現不同圖像中相同場景的匹配,主要包括三個步驟:
1. 尺度空間的建立;
2.特征點的提取;
3.利用特征點周圍鄰域的信息生成特征描述子;
4.特征點匹配。
SIFT
1.生成高斯差分金字塔(DOG),尺度空間構建
(1)通過對原始圖像進行尺度變換,獲得圖像多尺度下的尺度空間表示序列
(2)對這些序列進行尺度空間主輪廓的提取,並以該主輪廓作為一種特征向量,實現邊緣、角點檢測不同分辨率上的關鍵點提取等
(3)尺度空間構建的基礎是DOG金字塔,DOG金字塔構建的基礎是高斯金字塔
2.空間極值點檢測(關鍵點的初步查探)
(1)為了尋找DOG函數的極值點,每一個像素點要和它所有的相鄰點比較,看其是否比它的圖像域和尺度空間域的相鄰點大或者小
(2)在二維圖像空間,中心點與它3×3鄰域內大的8個點做比較,在同一組內的尺度空間上,中心點和上下相鄰的兩層圖像2×9個點作比較,如此可以保證檢測到的關鍵點在尺度空間和二維圖像空間上都是局部極值點。
3.穩定關鍵點的精確定位
(1)DOG值對噪聲和邊緣比較敏感,所以在第2步的尺度空間中檢測到的局部極值點還要經過進一步的篩選,去除不穩定和錯誤檢測出的極值點,另一點就是在構建高斯金字塔過程中采用了下采樣的圖像,在下采樣圖像中提取的極值點對應在原始圖像中的確切位置,也是要在本步驟中解決的問題。
4.穩定關鍵點方向信息分配
(1)穩定的極值點是在不同尺度空間下提取的,這保證了關鍵點的尺度不變性。為關鍵點分配方向信息所要解決的問題是使得關鍵點對圖像角度和旋轉具有不變性,方向的分配是通過求每個極值點的梯度來實現的。
(2)分配給關鍵點的方向並不直接是關鍵點的梯度方向,當然梯度方向一定是在0~360度范圍內,對這些梯度方向歸一化到36個方向內,每個方向代表了10度的范圍。然后累計落到每個方向內的關鍵點個數,以此生成梯度方向直方圖。
5.關鍵點描述
(1)對關鍵點的描述是后續實現匹配的關鍵步驟,描述其實就是一種以數學方式定義關鍵的過程。描述子不但包含關鍵點,也包括關鍵點周圍對其有貢獻的鄰域點。
(2)描述的思路是:對關鍵點周圍像素區域分塊,計算塊內梯度直方圖,生成具有獨特性的向量,這個向量是該區域圖像信息的一種抽象表述。
6.特征點匹配
(1)特征點的匹配是通過計算兩組特征點的128維的關鍵點的歐式距離實現的。歐式距離越小,則相似度越高,當歐式距離小於設定的閾值時,可以判定為匹配成功。