【圖像處理算法】SIFT特徵提取

SIFT特徵提取

本文主要參考:

Richard Szeliski 《Computer Vision: Algorithms and Applications》

-牧野-《 Sift算子特徵點提取、描述及匹配全流程解析》-- 地址:https://blog.csdn.net/dcrmg/article/details/52577555

本人在學習虹膜識別技術的過程中,需要使用SIFT算子提取虹膜圖像的特徵,而SIFT作爲經典、有效的圖像特徵提取方法,其中的思想和方法十分值得借鑑。因此希望通過本文分享學習過程中,總結的SIFT算法主要步驟和思路。

1. SIFT簡介

我們人類可以快速地從不同地角度、距離拍攝的圖像中分辨出圖中物體是否相同。而這個能力源於我們的大腦能夠分辨圖像中物體的特徵,能夠基於物體的形狀、顏色、紋理等特徵是否匹配迅速作出判斷。當我們使用算法對圖像對進行匹配時,思路也是通過描述圖像的特徵信息以及匹配這些特徵信息完成的,而SIFT算法就是一個特徵檢測和特徵描述的過程。
SIFT算法,由David G.Lowe教授在1999年提出,全稱是Scale Invariant Feature Transform,因此該算法最突出的特點就是能夠在不同尺度空間上查找關鍵點,並計算其大小、方向和尺度等信息。除此,SIFT算法還具備以下特點:

  1. 提取的特徵對旋轉、尺度、亮度變化具有不變形,以及對視角和噪聲變化具有穩定性。(在虹膜識別中,由於人眼圖像採集過程中,存在光線、拍攝角度等環境因素的變化導致同一人的人眼圖像也會出現旋轉、尺度和亮度等變化,因此要求算法對這些變化應該具有魯棒性。)
  2. 提取的特徵信息豐富,能夠快速用於圖像匹配
  3. 能夠對少量物體提取大量特徵向量(虹膜識別中,由於我們僅使用虹膜的紋理特徵進行識別,因此需要對虹膜提取更多的特徵用於匹配提高準確率。)
  4. 具備可拓展性,例如與其他形式特徵向量聯合使用(虹膜識別中,將SIFT算法提取的特徵向量進行了序編碼後再進行特徵匹配。)

2. SIFT主要思路和步驟

在這裏插入圖片描述
SIFT算法提取特徵主要包括兩個步驟:特徵點檢測和特徵點描述。首先提取圖像中關於尺度、旋轉和亮度等保持不變的特徵點,然後對這些特徵點信息進行描述,生成可以描述特徵點方向信息和紋理信息的特徵向量。對於不同的物體使用SIFT算法生成的特徵向量應當具有較大的差異,因此只要計算圖像對的特徵向量之間的距離,便可以判斷兩圖像是否拍攝同一物體。

2.1 特徵點檢測

“點特徵可以用來尋找一個不同圖像中的對應位置的稀疏集合,這通常是計算攝像機姿態的一個前期步驟,而攝像機姿態計算又是使用立體視覺匹配計算稠密對應集合的一個前提…關鍵點的一個重要優點是,它們甚至能夠在出現擁擠(遮擋)、大的尺度和方向變化的情況下很好地做匹配。”
SIFT提取特徵點的方法是主要使用高斯金字塔和高斯差分金字塔,希望瞭解具體方法的讀者可以參考以下博文:

《Sift中尺度空間、高斯金字塔、差分金字塔(DOG金字塔)、圖像金字塔》
地址:https://blog.csdn.net/dcrmg/article/details/52561656

這裏僅記錄下個人理解的相應方法的作用。
對於高斯金字塔,同一組不同層的圖像,採用了成比例的平滑因子參數σ,這些圖像是爲了模擬由遠到近得到的不同模糊程度下的圖像。而不同組的圖像是對上一組圖像降採樣得到的,具有不同的尺寸,因此這些圖像是利用一張圖像信息模擬不同尺度空間下的圖像。
對於高斯差分金字塔,是通過同組下一層圖像減去上一層圖像像素的方法得到不同模糊程度以及不同尺度下的特徵(對圖像進行歸一化後可以明顯觀察到),其中某些特徵在所有圖像中都存在,即具有不變性。

高斯差分金字塔處理後的圖像由於處理過程中進行了降採樣處理,因此不同尺寸的圖像所具備的特徵點存在座標不對應的問題,需要對特徵點針對不同尺度在原尺寸上進行精確定位,具體方法參考如下博文:

《特徵點匹配——SIFT算法詳解》
地址:https://blog.csdn.net/lhanchao/article/details/52345845

2.2 特徵點描述

特徵點描述是希望通過一種統一的數據方式,例如特徵向量或者特徵矩陣等,對圖像中特徵點方向、紋理等信息進行描述,便於後續不同圖像間進行匹配和比較。SIFT算法採用的特徵點描述方法可以參考以上提到的參考文章。
由於SIFT算法的特徵點描述方法考慮的是關鍵點領域內的梯度信息,既包含了梯度方向信息也包含了這些梯度方向的幾何分佈關係信息,這相當於對圖像關鍵點處紋理信息進行了描述。由於關鍵點的提取考慮了尺度變化以及模糊程度變化,因此在這些關鍵點的信息同樣具備不變性。

生成了包含關鍵點信息的128維特徵向量後,既可以直接計算不同圖像關鍵點的特徵向量之間的距離進行匹配,也可以將該特徵向量用於後續其他特徵提取和特徵匹配方法,例如虹膜識別中將該向量進行了後續的序特徵提取,進一步提高了特徵的描述能力,這體現了SIFT算法的可拓展性。

本文僅作爲學習筆記交流分享用。由於本人水平有限,文章可能出現紕漏,歡迎大家進行交流指正。謝謝閱讀!

發佈了2 篇原創文章 · 獲贊 3 · 訪問量 1416
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章