傳統特徵:HOG特徵原理

HOG:

傳統特徵:HOG特徵原理


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

先轉化為灰度圖;

為了減少光照因素的影響,首先需要將整個圖像進行規範化(歸一化),有效地降低圖像局部的陰影和光照變化。

Gamma壓縮公式:

傳統特徵:HOG特徵原理

,Gamma=1/2;

(2)計算圖像梯度

計算圖像橫座標和縱座標方向的梯度,並據此計算每個像素位置的梯度方向值;求導操作不僅能夠捕獲輪廓,人影和一些紋理信息,還能進一步弱化光照的影響。

圖像中像素點(x,y)的梯度為:

傳統特徵:HOG特徵原理

最常用的方法是:首先用[-1,0,1]梯度算子對原圖像做卷積運算,得到x方向(水平方向,以向右為正方向)的梯度分量gradscalx,然後用[1,0,-1]T梯度算子對原圖像做卷積運算,得到y方向(豎直方向,以向上為正方向)的梯度分量gradscaly。然後再用以上公式計算該像素點的梯度大小和方向。

(3)為每個細胞單元構建梯度方向直方圖

第三步的目的是為局部圖像區域提供一個編碼,同時能夠保持對圖像中人體對象的姿勢和外觀的弱敏感性。

我們將圖像分成若干個“單元格cell”,例如每個cell為6*6個像素。假設我們採用9個bin的直方圖來統計這6*6個像素的梯度信息。也就是將cell的梯度方向180度(人體檢測用180度即可)分成9個方向塊。

例如:如果這個像素的梯度方向是20-40度,直方圖第2個bin的計數就加一。梯度大小就是作為投影的權值的。例如說:這個像素的梯度方向是20-40度,然後它的梯度大小是2,那麼直方圖第2個bin的計數就不是加1了,而是加2。

傳統特徵:HOG特徵原理

細胞單元可以是矩形的(rectangular),也可以是星形的(radial)。

(4)把細胞單元組合成大的塊(block),塊內歸一化梯度直方圖

由於局部光照的變化以及前景-背景對比度的變化,使得梯度強度的變化範圍非常大。這就需要對梯度強度做歸一化。歸一化能夠進一步地對光照、陰影和邊緣進行壓縮。

把各個細胞單元組合成大的、空間上連通的區間(blocks)。這樣,一個block內所有cell的特徵向量串聯起來便得到該block的HOG特徵。這些區間是互有重疊的,這就意味著:每一個單元格的特徵會以不同的結果多次出現在最後的特徵向量中。我們將歸一化之後的塊描述符(向量)就稱之為HOG描述符。

傳統特徵:HOG特徵原理

區間有兩個主要的幾何形狀——矩形區間(R-HOG)和環形區間(C-HOG)。R-HOG區間大體上是一些方形的格子,它可以有三個參數來表徵:每個區間中細胞單元的數目、每個細胞單元中像素點的數目、每個細胞的直方圖通道數目。

例如:行人檢測的最佳參數設置是:3×3細胞/區間、6×6像素/細胞、9個直方圖通道。則一塊的特徵數為:3*3*9;

(5)收集HOG特徵

最後一步就是將檢測窗口中所有重疊的塊進行HOG特徵的收集,並將它們結合成最終的特徵向量供分類使用。

(6)那麼一個圖像的HOG特徵維數是多少呢?

Dalal提出的Hog特徵提取的過程:把樣本圖像分割為若干個像素的單元(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個特徵。

傳統特徵:HOG特徵原理


傳統特徵:HOG特徵原理



分享到:


相關文章: