1. 程式人生 > >Hog,SIFT以及LBP這三種特徵的不同

Hog,SIFT以及LBP這三種特徵的不同

作者:盛淮南
連結:https://www.zhihu.com/question/45833619/answer/223930439
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

SIFT、HOG、LBP,這三者都屬於區域性特徵。

一、三者原理上的區別

1.SIFT:Scale-Invariant Feature Taransform,尺度不變特徵變換。

  • 尺度空間的極值檢測:搜尋所有尺度空間上的影象,通過高斯微分函式來識別潛在的對尺度和旋轉魯棒性較強的點。
  • 特徵點定位:在每個候選位置上,通過一個擬合精細模型(尺度空間DoG函式進行曲線擬合
    )來確定位置尺度,關鍵點的選取依據他們的穩定程度。
  • 特徵方向賦值:基於影象區域性的梯度方向,分配給每個關鍵點位置一個或多個方向,後續的所有操作都是對於關鍵點的方向、尺度和位置進行變換,從而提供這些特徵的不變性。
  • 特徵點描述:在每個特徵點周圍的領域內,在選定的尺度上測量影象的區域性梯度,計算塊內梯度直方圖,生成具有獨特性的向量。

2.HOG:Histogram of Oriented Gradient,方向梯度直方圖。

  • 顏色空間歸一化:為了減少光照因素的影響, 首先需要將整個影象歸一化。因為顏色資訊作用不大,通常先轉化為灰度圖。
  • 梯度計算:計算影象橫座標和縱座標方向的梯度,並據此計算每個畫素位置的梯度方向值;求導操作不僅能捕獲輪廓,還能進一步弱化光照的影響。
  • 梯度方向直方圖:將影象分成若干個cell,對cell內每個畫素用梯度方向在直方圖中進行加權投影(對映到固定的角度範圍),就可以得到這個cell的梯度直方圖。
  • 將每幾個cell組成一個block(例如3*3個cell/block),一個block內所有cell的特徵descriptor串聯起來便得到該block的HOG特徵descriptor。
  • 組成特徵:將影象image內的所有block的HOG特徵descriptor串聯起來就可以得到該image(你要檢測的目標)的HOG特徵descriptor。

3.LBP:Local Binary Pattern,區域性二值模式。

原始的LBP運算元定義在畫素3*3的鄰域內,以鄰域中心畫素為閾值,相鄰的8個畫素的灰度值與鄰域中心的畫素值進行比較,若周圍畫素大於中心畫素值,則該畫素點的位置被標記為1,否則為0。這樣,3*3鄰域內的8個點經過比較可產生8位二進位制數,將這8位二進位制數依次排列形成一個二進位制數字,這個二進位制數字就是中心畫素的LBP值,LBP值共有28種可能,因此LBP值有256種。中心畫素的LBP值反映了該畫素周圍區域的紋理資訊。



二、三者的優缺點及適用範圍


參考文獻:

1.【SIFT特徵詳解

2.【LBP特徵原理及程式碼實現

3.【目標檢測的影象特徵提取之(一)HOG特徵