1. 程式人生 > >影象特徵提取:HOG特徵

影象特徵提取:HOG特徵

方向梯度直方圖(Histogram of Oriented Gradient, HOG)特徵是用於影象檢測的特徵描述子。它通過計算和統計區域性區域的梯度方向直方圖來構成特徵。特徵地,HOG在行人檢測方向取得巨大成功。

演算法實現過程:

(1)標準化gamma空間和顏色空間

為了減少光照因素的影響,我們可以對影象進行歸一化;因為顏色資訊對提取特徵作用不大,我們可以將其轉化成灰度圖。

(2)計算影象梯度

首先用[-1,0,1]梯度運算元對原影象做卷積,得到x方向的梯度分量;然後用[1,0,-1]T梯度運算元對原影象做卷積,得到y方向的梯度分量。然後分別計算該畫素點的梯度大小和方向(可以看做向量的大小和方向)。

(3)梯度方向直方圖

我們採用cell ,每個cell有n*n個畫素,我們利用直方圖來統計這n*n個畫素的梯度資訊。我們可以將這直方圖分為s個bin,我們按照梯度方向作相應的歸類,梯度大小作為權重累加。

(4)塊內歸一化梯度直方圖

我們將m*m個cell組成block,我們將這些cell特徵串聯起來便組成HOG特徵。我們將歸一化之後的塊描述符稱之為HOG描述符。

(5)特徵維數的計算

把樣本影象分割為若干個畫素的單元(cell),把梯度方向平均劃分為9個區間(bin),在每個單元裡面對所有畫素的梯度方向在各個方向區間進行直方圖統計,得到一個9維的特徵向量,每相鄰的4個單元構成一個塊(block),把一個塊內的特徵向量聯起來得到36維的特徵向量,用塊對樣本影象進行掃描,掃描步長為一個單元。最後將所有塊的特徵串聯起來,就得到了人體的特徵。例如,對於64*128的影象而言,每16*16的畫素組成一個cell,每2*2個cell組成一個塊,因為每個cell有9個特徵,所以每個塊內有4*9=36個特徵,以8個畫素為步長,那麼,水平方向將有7個掃描視窗,垂直方向將有15個掃描視窗。也就是說,64*128的圖片,總共有36*7*15=3780個特徵。