機器學習 之 Hog特徵

2021-08-05 22:45:49 字數 2145 閱讀 4070

方向梯度直方圖(histogram of oriented gradient, hog)特徵是一種在計算機視覺和影象處理中用來進行物體檢測的特徵描述子。它通過計算和統計影象區域性區域的梯度方向直方圖來構成特徵。它是一種能夠很好地描述影象區域性紋理或邊緣的方向密度分布的一種特徵。hog特徵結合 svm分類器用於行人檢測具有很好效果。

假設影象中畫素點(x,y)的畫素值為:用用

(x, y)畫素點的梯度幅值跟梯度方向 用用

如上面公式(b)所計算得到的梯度方向是在0度~360度之間,為了便於統計,我們將360度(2*pi)根據需要分割成若干個bin。例如:分割成12個bin,每個bin包含30度,如果影象中某個畫素點的梯度方向計算為26度,我們就把0~30度這個bin計數加乙個權值,如果某個畫素點的梯度方向計算為45度,我們就把30~60度這個bin計數加乙個權值,這個權值取這個畫素點的梯度幅值。依此類推,我們就統計了影象的梯度方向直方圖,如下圖:

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

在實際目標檢測過程中,除了上面提到的hog特徵提取過程,還包括彩圖轉灰度,亮度校正等步驟。總結一下,在目標檢測中,hog特徵計算主要的步驟:

(1)將輸入的彩圖轉換為灰度圖:

目的是方便計算梯度,弱化顏色對梯度的影響,也可以用三通道影象中梯度最大的通道來計算;

(2)採用gamma校正法對輸入影象進行顏色空間的標準化(歸一化):

目的是調節影象的對比度,降低影象區域性的陰影和光照變化所造成的影響,同時可以抑制噪音的干擾;

(3)用公式(a)、(b)計算單元中每個畫素點梯度:

主要是為了捕獲輪廓資訊,同時進一步弱化光照的干擾。

(4)按上述描述將檢測視窗劃分成很多單元cells(例如6*6畫素/cell),將相鄰的幾個cells組成塊(例如3*3個cell/block)。

(5)將梯度投影到單元的梯度方向:

目的是為區域性影象區域提供乙個編碼,

(6)將所有單元格在塊上進行歸一化:

歸一化能夠更進一步對光照、陰影和邊緣進行壓縮,通常,每個單元格由多個不同的塊共享,但它的歸一化是基於不同塊的,所以計算結果也不一樣。因此,乙個單元格的特徵會以不同的結果多次出現在最後的向量中。我們將歸一化之後的塊描述符就稱之為hog描述符。

(7)收集得到檢測視窗塊的hog特徵:

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

如下圖::

opencv中關於hog特徵的原始碼檔案是objdetect.hpp,其中hogdescriptor結構體表述了hog特徵類。在預設情況下,winsize(64,128)表示檢測視窗大小寬64,高128;blocksize(16,16)表示塊的大小,寬16,高16;blockstride(8,8)表示塊的滑動步長為水平方向8垂直方向8;cellsize(8,8)表示單元的大小,寬8高8;nbins(9)表示將梯度方向的360度劃分成9個bins來統計直方圖。

如下圖形象的表示了opencv中hog特徵的提取方式:

感謝:::

HOG特徵學習

hog方向梯度直方圖 histogram of oriented gradient,hog 特徵是一種在計算機視覺和影象處理中用來進行物體檢測的特徵描述子。它通過計算和統計影象區域性區域的梯度方向直方圖來構成特徵。其主要步驟 顏色空間歸一化 梯度計算 梯度方向直方圖 重疊塊直方圖歸一化 hog特徵。...

特徵檢測之HOG

參考 原始碼解讀 下面給出opencv的hog特徵提取 hogdescriptor類可以完成hog的特徵提取過程,建構函式 hogdescriptor size win size size 64,128 size block size size 16,16 size block stride siz...

小白學習 HOG特徵

目標檢測的影象特徵提取之 一 hog特徵 參見 方向梯度直方圖 histogram of oriented gradient,hog 特徵是一種在計算機視覺和影象處理中用來進行物體檢測的特徵描述子。它通過計算和統計影象區域性區域的梯度方向直方圖來構成特徵。hog特徵結合 svm分類器已經被廣泛應用於...