SIFT算法學習小記

openkk 12年前發布 | 42K 次閱讀 SIFT算法 算法

  Sift是David Lowe于1999年提出的局部特征描述子,并于2004年進行了更深入的發展和完善。Sift特征匹配算法可以處理兩幅圖像之間發生平移、旋轉、仿射變換情況下的匹配問題,具有很強的匹配能力。在Mikolajczyk對包括Sift算子在內的十種局部描述子所做的不變性對比實驗中,Sift及其擴展算法已被證實在同類描述子中具有最強的健壯性。

 

    總體來說,Sift算子具有以下特性:

   (1)Sift特征是圖像的局部特征,對平移、旋轉、尺度縮放、亮度變化、遮擋和噪聲等具有良好的不變性,對視覺變化、仿射變換也保持一定程度的穩定性。

   (2)獨特性好,信息量豐富,適用于在海量特征數據庫中進行快速、準確的匹配。

   (3)多量性,即使少數的幾個物體也可以產生大量Sift特征向量。

   (4)速度相對較快,經優化的Sift匹配算法甚至可以達到實時的要求。

   (5)可擴展性強,可以很方便的與其他形式的特征向量進行聯合。

 

     Sift特征匹配算法主要包括兩個階段,一個是Sift特征的生成,即從多幅圖像中提取對尺度縮放、旋轉、亮度變化無關的特征向量;第二階段是Sift特征向量的匹配。

     Sift特征的生成一般包括以下幾個步驟:

     1、構建尺度空間,檢測極值點,獲得尺度不變性;

                 SIFT算法學習小記  

     2、特征點過濾并進行精確定位;

                 SIFT算法學習小記  

     3、為特征點分配方向值;

                 SIFT算法學習小記

     4、生成特征描述子。

    以特征點為中心取16*16的鄰域作為采樣窗口,將采樣點與特征點的相對方向通過高斯加權后歸入包含8個bin的方向直方圖,最后獲得4*4*8的128維特征描述子。示意圖如下:

                 SIFT算法學習小記

 

    當兩幅圖像的Sift特征向量生成以后,下一步就可以采用關鍵點特征向量的歐式距離來作為兩幅圖像中關鍵點的相似性判定度量。取圖1的某個關鍵點,通過遍歷找到圖像2中的距離最近的兩個關鍵點。在這兩個關鍵點中,如果次近距離除以最近距離小于某個闕值,則判定為一對匹配點。

    一些Sift特征匹配的例子:

         SIFT算法學習小記

           SIFT算法學習小記

轉自:http://www.cnblogs.com/saintbird/archive/2008/08/20/1271943.html

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!