SIFT 特征提取算法總結


主要步驟 

  

  1)、尺度空間的生成;

 

   2)、檢測尺度空間極值點;

 

  3)、精確定位極值點;

 

  4)、為每個關鍵點指定方向參數;

 

  5)、關鍵點描述子的生成。
 
 
 
              L(x,y,σ), σ= 1.6 a good tradeoff
  
               D(x,y,σ), σ= 1.6 a good tradeoff
      
 
  關於尺度空間的理解說明:圖中的2是必須的,尺度空間是連續的。   Lowe的論文中 ,
   將第0層的初始尺度定為1.6,圖片的初始尺度定為0.5. 在檢測極值點 前對原始圖像的高斯
  平滑以致圖像丟失高頻信息,所以 Lowe 建議在建立尺度空間前首 先對原始圖像長寬擴展
  一倍,以保留原始圖像信息,增加特征點數量。尺度越大圖像越模糊。 
 
 
    
                          next octave 是由 first octave 降采樣得到(如2
          
            尺度空間的所有取值,s為每組層數,一般為3~5
 
 
 
 
 
 
 
      同一組中的 相鄰尺度(由於k的取值關系,肯定是上下層)之間進行尋找
 
 
           
     在極值比較的過程中,每一組圖像的首末兩層是無法進行極值比較的, 為了滿足尺度
     變化的 連續性,我們在每一組圖像的頂層繼續用高斯模糊生成了 3 幅圖像,高斯金字
     塔有每組S+3層圖像。DOG金字塔每組有S+2層圖像.
 
 
 
 
 
                                 
 
       If ratio > (r+1)2/(r), throw it out (SIFT uses r=10)
                  表示DOG金字塔中某一尺度的圖像x方向求導兩次
 
 
 
 
        通過擬和三維二次函數以精確確定關鍵點的位置和尺度(達到亞像素精度)?
 
 
 
 
 
 
 
   直方圖中的峰值就是主方向,其他的達到最大值80%的方向可作為輔助方向
      
 Identify peak and assign orientation and sum of magnitude to key point
  The user may choose a threshold to exclude key points based on their
                             assigned sum of magnitudes.
 
      利用關鍵點鄰域像素的梯度方向分布特性為每個關鍵點指定方向參數,使算子具備
      旋轉不變性。以關鍵點為中心的鄰域窗口內采樣,並用直方圖統計鄰域像素的梯度
      方向。梯度直方圖的范圍是0~360度,其中每10度一個柱,總共36個柱。隨着距
      中心點越遠的領域其對直方圖的貢獻也響應減小.Lowe論文中還提到要使用高斯函
      數對直方圖進行平滑,減少突變的影響。
 
 
 
 
 
 
 
                
 
 
 
 
 
 
                                       關鍵點描述子的生成步驟
              
      通過對關鍵點周圍圖像區域分塊,計算塊內梯度直方圖,生成具有獨特性
          的 向量,這個向量是該區域圖像信息的一種抽象,具有唯一性。
 
 
      每一個小格都代表了特征點鄰域所在的尺度空間的一個像素 ,箭頭方向代表了像素梯
      度方向,箭頭長度代表該像素的幅值。然后在4×4的窗口內計算8個方向的梯度方向直
      方圖。 繪制每個梯度方向的累加可形成一個種子點。
                
      每個直方圖有8方向的梯度方向,每一個描述符包含一個位於關鍵點附近的四個直方圖
      數組. 這就導致了SIFT的特征向量有128維.(先是一個4×4的來計算出一個直方圖,
      每個直方圖有8個方向。所以是4×4×8=128維)將這個 向量歸一化之后,就進一步
      去 除了光照的影響。
 
                
                   旋轉為主方向
       
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    
     
      
               
 
 
 
 
 
 
 
 
 
 
基本概念及一些補充
什么是局部特征?
  •局部特征從總體上說是圖像或在視覺領域中一些有別於其周圍的地方
  •局部特征通常是描述一塊區域,使其能具有高可區分度
 
  •局部特征的好壞直接會決定着后面分類、識別是否會得到一個好的結果
  局部特征需具備的特性
  •重復性
  •可區分性
  •准確性
  •數量以及效率
  •不變性
 
 
  局部特征提取算法-sift
  •SIFT算法由D.G.Lowe 1999年提出,2004年完善總結。后來Y.Ke將其描述子部分用PCA代替直方圖的方式,對其進行改進。
   •SIFT算法是一種提取局部特征的算法,在尺度空間尋找極值點,提取位置,尺度,旋轉不變量
  •SIFT特征是圖像的局部特征,其對旋轉、尺度縮放、亮度變化保持不變性,對視角變化、仿射變換、噪聲也保持一定程度的穩定性。
  •獨特性好,信息量豐富,適用於在海量特征數據庫中進行快速、准確的匹配。
  •多量性,即使少數的幾個物體也可以產生大量SIFT特征向量。
  •可擴展性,可以很方便的與其他形式的特征向量進行聯合。
尺度空間理論
  •尺度空間理論目的是模擬圖像數據的多尺度特征
 
  •其基本思想是在視覺信息圖像信息處理模型中引入一個被視為尺度的參數, 通過連續變化尺度參數獲得不同尺度下的視覺處理信息, 然后綜合這些信息以深入地挖掘圖像的本質特征。
 
描述子生成的細節
  •以極值點為中心點,並且以此點所處於的高斯尺度sigma值作為半徑因子。對於遠離中心點的梯度值降低對其所處區域的直方圖的貢獻,防止一些突變的影響。
 
  •每個極值點對其進行三線性插值,這樣可以把此極值點的貢獻均衡的分到直方圖中相鄰的柱子上
歸一化處理
  •在求出4*4*8的128維特征向量后,此時SIFT特征向量已經去除了尺度變化、旋轉等幾何變形因素的影響。而圖像的對比度變化相當於每個像素點乘上一個因子,光照變化是每個像素點加上一個值,但這些對圖像歸一化的梯度沒有影響。因此將特征向量的長度歸一化,則可以進一步去除光照變化的影響。
  •對於一些非線性的光照變化,SIFT並不具備不變性,但由於這類變化影響的主要是梯度的幅值變化,對梯度的方向影響較小,因此作者通過限制梯度幅值的值來減少這類變化造成的影響。
 
PCA-SIFT算法
  •PCA-SIFT與標准SIFT有相同的亞像素位置,尺度和主方向。但在第4步計算描述子的設計,采用的主成分分析的技術。
 
  •下面介紹一下其特征描述子計算的部分:
    •用特征點周圍的41×41的像斑計算它的主元,並用PCA-SIFT將原來的2×39×39維的向量降成20維,以達到更精確的表示方式。
 
    •它的主要步驟為,對每一個關鍵點:在關鍵點周圍提取一個41×41的像斑於給定的尺度,旋轉到它的主方向 ;計算39×39水平和垂直的梯度,形成一個大小為3042的矢量;用預先計算好的投影矩陣n×3042與此矢量相乘;這樣生成一個大小為n的PCA-SIFT描述子。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM