sift(scale-invariant feature transform)是lowe於2023年提出的區域性特徵提取和描述方法。
特徵提取是為了檢測出影象中的穩定特徵點(所謂穩定包括:尺度、光照、旋轉或仿射不變性等),而特徵描述是為了精準的特徵匹配(指與簡單的灰度模板匹配相比更精準)。
因此本文按以上兩部分對sift演算法進行概述。
影象的點特徵一般指角點或斑點。如圖所示,(a)為sift特徵,(b)為harris特徵(角點)
harris運算元能高效檢測角點,而sift提取的特徵則是斑點。sift演算法用dog(difference of guassian)
近似log(laplacian of guassian)
構造了乙個「尺度空間」,在尺度空間每一層的相鄰三幅影像中檢測區域性極值點。
檢測區域性極值點之後,還要進行點位精化(亞畫素插值)和邊緣點剔除(受harris方法的啟發)。至此,完成了特徵提取,已經可以使用灰度匹配方法來獲取同名點。但是sift演算法的精髓不僅限於此(具備尺度不變性的特徵),而包含了特徵描述(產生旋轉不變性和光照不變性)。
sift的特徵描述首先確定主方向。
主方向獲取。以當前特徵點為中心重取樣乙個影像視窗(作者建議16 × 16畫素視窗)。在該視窗內計算各畫素的灰度梯度大小和方向(由角度度數反映),然後以10°為間隔對梯度方向進行統計,按照高斯核函式進行距離加權,得到該視窗的灰度梯度方向的直方圖;梯度方向直方圖中的最大峰值對應角度代表了關鍵點鄰域的梯度主方向也即認為是該關鍵點的主方向。
特徵描述。借助主方向,旋轉關鍵點所在視窗,重新取樣區域性視窗,以使得該視窗座標軸起始方向為關鍵點主方向。然後,計算該視窗內各畫素梯度大小和方向並統計梯度分布,對每個關鍵點使用4×4共16個種子點進行描述,每個種子點所在的4×4畫素視窗仍以高斯加權統計梯度方向直方圖(這次統計僅統計8個方向),最後得到乙個128維的描述向量。如圖所示:
至此,sift特徵描述子(特徵向量)也得到了。當兩個關鍵點的特徵向量的相似度較高(夾角較小)時,可以認為它們是同名點。
使用sift特徵向量進行同名點匹配,有許多快速演算法如k-d樹等,不再細說。
SIFT特徵提取
原文獻 1 lowe d g.distinctive image features from scale invariant keypoints c international journal of computer vision.2004 91 110.不錯的部落格 2 sift可以用來提取區域性...
SIFT特徵提取分析
sift scale invariant feature transform 是一種檢測區域性特徵的演算法,該演算法通過求一幅圖中的特徵點 interest points,or corner points 及其有關scale 和 orientation 的描述子得到特徵並進行影象特徵點匹配,獲得了良...
Sift特徵提取演算法
2004 年d.lowe 提出了乙個新的演算法 尺度不變特徵變換 sift 這個演算法可以幫助我們提取影象中的關鍵點並計算它們的描述符。sift演算法的特點就是,對於區域性特徵對旋轉 縮放 亮度變化保持不變。sift 演算法主要內容如下 1 尺度空間的極值檢測 2 特徵點定位 3 特徵方向賦值 4 ...