|
1、SIFT算法基本概念
Sift是David Lowe于1999年提出的局部特征描述子,可以處理兩幅圖像之間發生平移、旋轉、仿射變換情況下的匹配問題,具有良好的不變性和很強的匹配能力。SIFT算法是一種提取局部特征的算法,也是一種模式識別技術,其基本思想是在尺度空間尋找極值點,提取位置,尺度,旋轉不變量,它主要包括兩個階段,一個是Sift特征的生成,即從多幅圖像中提取對尺度縮放、旋轉、亮度變化無關的特征向量;第二階段是Sift特征向量的匹配。Sift及其擴展算法已被證實在同類描述子中具有最強的健壯性,目前是國內外研究的熱點。
2、SIFT算法的主要特點:
a) SIFT特征是圖像的局部特征,其對旋轉、尺度縮放、亮度變化保持不變 性,對視角變化、仿射變換、噪聲也保持一定程度的穩定性,而對物體運動、遮 擋、噪聲等因素也保持較好的可匹配性,從而可以實現差異較大的兩幅圖像之間 特征的匹配。
b)獨特性(Distinctiveness)好,信息量豐富,適用于在海量特征數據庫中進行 快速、準確的匹配,比原有的harris點匹配方式具有更高的匹配準確度。
c) 多量性,即使少數的幾個物體也可以產生大量SIFT特征向量。
d) 高速性,經優化的SIFT匹配算法甚至可以達到實時的要求。
e) 可擴展性,可以很方便的與其他形式的特征向量進行聯合。
SIFT算法基于圖像特征尺度選擇的思想,建立圖像的多尺度空間,在不同尺度下檢測到同一個特征點,確定特征點位置的同時確定其所在尺度,以達到尺度抗縮放的目的。剔除一些對比度較低的點以及邊緣響應點,并提取旋轉不變特征描述符以達到抗仿射變換的目的。
3、SIFT算法步驟:
1) 構建尺度空間,檢測極值點,獲得尺度不變性;
2) 特征點過濾并進行精確定位;
3) 為每個關鍵點指定方向參數
4) 生成關鍵點的描述子
5) 當兩幅圖像的Sift特征向量生成以后,下一步就可以采用關鍵點特征向 量的歐式距離來作為兩幅圖像中關鍵點的相似性判定度量。取一幅圖中的某個關鍵點,通過遍歷找到另一幅圖中的距離最近的兩個關鍵點。在這兩個關鍵點中,如果次近距離除以最近距離小于某個闕值,則判定為一對匹配點。降低這個比例閾值,SIFT匹配點數目會減少,但更加穩定。
4、SIFT算法發展歷程:
Sift算子最早是由David.G.Lowe于1999年提出的,當時主要用于對象識別。2004年David.G.Lowe對該算子做了全面的總結及更深入的發展和完善,正式提出了一種基于尺度空間的、對圖像縮放、旋轉甚至仿射變換保持不變性的圖像局部特征描述算子——Sift( Scale Invariant Feature Transform )算子,即尺度不變特征變換。Rob Hess 基于GSL和Opencv編寫了相應的C語言程序,后來Y.Ke將其描述子部分用PCA代替直方圖的方式,對其進行改進。在Mikolajczyk對包括Sift算子在內的十種局部描述子所做的不變性對比實驗中,Sift及其擴展算法已被證實在同類描述子中具有最強的健壯性。
主要文獻:
1)David G. Lowe, "Object recognition from local scale-invariant features," International Conference on Computer Vision, Corfu, Greece 2)David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision,
3)Y. Ke and R. Sukthankar. PCA-SIFT: A More Distinctive Representation for Local Image Descriptors.Computer Vision and Pattern Recognition, 2004
5、關于局部不變特征
1)局部不變特征的概念
局部不變特征就是由局部鄰域所構成的一個圖像模式。局部不變特征可以是點集,也可以是邊緣集合,或者一些小的圖像塊集合,甚至是上述集合的復合體。局部不變特征認為圖像中總是存在一些特殊的區域,這些區域中的特征比其它圖像區域的特征更加穩定,信息含量更高,能夠表征圖像的內容。局部不變特征的局部是指特征只是圖像的局部區域,不變性是指該特征不會因為圖像經歷了各種變換而發生變化。
2)局部不變特征特點
局部不變特征的種類繁多,適合不同的特征提取場合,各自獨立性較強,相互之間可以組合和借鑒。復合類型的局部不變特征可能會增加計算負擔,但是能夠取得更好的性能。
3)局部不變特征的應用
局部不變特征是一種十分有效的工具,大量研究表明它能夠適應各種圖像處理的應用場合,特別是在模擬人類視覺系統的物體識別領域,擁有強大的應用性。從直觀的人類視覺印象來看,人類視覺對物體的描述也是局部化的,基于局部不變特征的圖像識別方法十分接近于人類視覺機理,通過局部化的特征組合,形成對目標物體的整體印象,這就為局部不變特征提取方法提供了生物學上的解釋,因此局部不變特征也得到了廣泛應用。
4)特征描述符
特征描述符(Featrue Descriptors)指的是檢測圖像的局部特征(比如邊緣、角點、輪廓等),然后根據匹配目標的需要進行特征的組合、變換,以形成易于匹配、穩定性好的特征向量,從而把圖像匹配問題轉化為特征的匹配問題,進而將特征的匹配問題轉化為特征空間特征向量的聚類問題。
5)局部不變特征檢測與局部不變特征區域的概念
局部不變特征檢測就是從圖像中檢測出具有某種幾何和光學不變性(geometric and photometric invariant)的局部不變特征區域。局部不變特征區域是以特征點(feature point or key point)為中心帶有尺度信息的圖像局部區域。局部不變特征認為,在大多數的圖像中總能找到一些性質特殊的區域,它們可以穩定的提取,并且對各種圖像變化具有良好的魯棒性且包涵更多的圖像內容信息。
6、基于局部不變特征的圖像處理理論和技術主要包括四個部分:
1)圖像尺度空間:圖像數據包含大量混雜在一起的特征信息,按照局部不變特征的思想,這些特征信息是歸屬于不同類型不同屬性的目標物體,其位置和控制區域各不相同,不同分布和參數的特征相互疊加和組合,這使得特征提取變得困難,所以需將這些特征進行一定的“分離”操作,將各類特征分散到整個圖像數據空間中去,圖像尺度空間就是為圖像的各種不同類特征分離提供的一種數據表示法。
2)局部不變特征檢測:在尺度空間內構造不變特征檢測函數,生成對應尺度下的局部不變特征空間,檢測其中具有一定特征顯著性的局部不變特征區域,并把它作為特征描述的目標區域,確定每個特征的尺度系數,局部不變特征結構的位置和尺度范圍。這些局部區域及其包含的信息形成對圖像語義結構信息的表示,為進一步的特征描述提供圖像內容的結構和范圍信息。
3)局部不變特征描述:局部不變特征檢測獲得的特征僅僅給出了圖像內容的結構信息,局部不變特征區域還需要從圖像尺度空間表示的數據形式轉化特征描述向量。局部不變特征描述就是用局部不變特征描述符(Local feature descriptor)去描述局部不變特征區域,用盡可能相互獨立和完備的特征描述數據來表示復雜組合的目標物體,完整詳細地描述圖像內容,給出圖像的語義信息。
4)特征匹配和檢索:特征提取的最終目的是使用這些特征來進行目標識別和特征的檢索,通過對特征描述空間中的特征數據進行分類、匹配和檢索,實現各種圖像識別應用。由于其良好的魯棒性和抗干擾性,使的它作為目標識別中機器學習樣本描述的首選特征,圖像和視頻檢索方法也大都采用局部不變特征作為學習和檢索的依據。
7、局部不變特征發展方向
目前,局部不變特征主要分為兩個發展方向:
1)結構化的局部不變特征提取模型,也就是特征提取模型分為四個較為清晰的處理模塊(上文中有提到)。在局部不變特征檢測方面,D.Lowe提出基于擴散方程的尺度不變的SIFT特征檢測方法,以及由角點檢測發展而來的Multi-scale Harris檢測,具有仿射不變性的Harris-Laplace/Affine檢測等,目前局部不變特征檢測方法逐漸向著檢測具有多種不變性和抗干擾性強的局部不變特征的方向發展。局部不變特征描述技術更加廣泛,其中以SIFT,GLOH,Steerable Filters,Shape Context,Complex Filters等為主要特征描述符。特征檢索和匹配模塊一般是面向圖像模式識別的具體應用場合,如圖像檢索,機器學習的樣本特征集合,目標識別中的樣本特征數據庫等,同時在視頻的檢索領域也獲得不錯的效果。
2)模仿人類的視覺系統,通過模仿人類視覺系統的運作原理提出了顯著性區域理論。這一理論認為圖像中的每個局部區域的重要性和影響范圍并非同等重要,即特征不是同等顯著的,其主要理論來源是Marr的計算機視覺理論和Treisman的特征整合理論,一般也稱為“原子論”。該理論認為視覺的過程開始于對物體的特征性質和簡單組成部分的分析,是從局部性
質到大范圍性質,圖像中的每個局部不變特征的視覺顯著性是不同的,所以在局部不變特征的提取和描述時也遵循與人眼視覺注意選擇原理相類似的機制(Visual Selective Attention Mechanism)。
8、軟件:SIFT Keypoint Detector
該軟件是可以在Linux或Windows系統中運行的匯編代碼形式的SIFT特征點檢測器, 它可以輸出特征點和可以匹配到一個簡單的ASCII格式文件需要的所有信息。 所提供的MATLAB程序和示例C代碼可以讀取特征點并根據它們對兩幅圖片進行匹配。
9、應用前景
SIFT算法是模式識別的一種高效手段,凡模式識別的應用方面都可運用SIFT算法來改進識別速度。
醫學:運動學人體機能研究
仿生學:人工模擬生物
人工智能:智能機器人、智能駕駛
刑偵技術:跟蹤
軍事用途:敵友識別(戰機、戰艦、潛艇、雷達跟蹤等等)