SIFT: Scale Invariant Feature Transform(尺度不變特徵轉換)
先介紹第一部分:
在不同圖片之間進行特徵匹配是計算機圖形學中一個常見的問題。
在一般情況下,簡單的角點檢測就能達到目的。
但是,當你擁有的圖片不同尺寸,或者不同角度,sift算法就能派上用場。
Sift是一個相當複雜的算法,需要相應的知識,而且很容易使人糊塗。我將算法分爲以下如下幾個部分:
一、構建尺度空間:這是初始步驟。你可以創建對原始圖像的內部表示來保證尺寸不變,這就是構建尺度空間的工作。
二、高斯--拉普拉斯(Laplacian of Gaussian)算子:
LOG算子常用於在圖像中查找關鍵點。但有相當的時間和空間複雜度,所以我們使用第一步驟中創建的尺度空間。
三、查找關鍵點:
在第二個步驟的基礎上,我們查找關鍵點。由此我們需要第二步驟中計算出的高斯差(DOG)。可參見:
http://zh.wikipedia.org/wiki/高斯差 。
四、去除不良的關鍵點:
邊緣和低對比度區域是不良關鍵點。消除這些點使算法高效,具有更好的魯棒性。其中使用了
類似Harris角點檢測的技術。
五、爲關鍵點分配方向:
對每一個關鍵點都可以計算出一個方向。更進一步的計算都是與這個方向相關的。
六、計算sift特徵點:
最後,我們能獨一無二地找出這些特徵點。
注意:這個算法是有專利的!!!
以後,會針對上述六個方面進行說明。