HOG特徵原文(Histograms of Oriented Gradients)

1 簡介

方向梯度直方圖(Histogram of Oriented Gradient,HOG)特徵是一種可以快速描述物體局部梯度特徵的描述子[1]。它首先將把窗口劃分成若干個塊(blocks),然後把每一個塊中劃分若干個元胞(cells),然後統計每個元胞內部的梯度方向直方圖作爲該元胞的特徵向量,然後把每一個元胞的特徵向量相連接作爲一個塊的特徵向量,最後把塊的特徵向量相連接,即爲該窗口的 HOG 特徵描述子。

2 算法流程

論文給出的HOG特徵結合SVM做行人檢測的流程圖如下圖所示:

這裏我們只描述HOG特徵的提取流程,如下圖所示:

(1)首先對輸入圖像圖像做歸一化和Gamma校正,以調節圖像的對比度; 

(2)計算圖像的梯度圖(包括梯度大小和方向),基本思想是物體的局部外觀和形狀通常可以通過局部梯度強度或邊緣方向的分佈來表徵,而且用輪廓的梯度信息代替圖像的灰度可以降低光照變化帶來的影響; 

(3) 將圖像劃分成若干個元胞cells(例如6\times 6pixel/cell),統計每個元胞的梯度直方圖。所謂的梯度直方圖實際上就是一個一維向量,向量的長度就是設定的bin值,而向量中元素的大小表示該元胞內梯度屬於所處角度範圍內的像素點的梯度之和,這樣即可形成每個元胞的特徵描述子 ; 

(4) 根據需要和應用場景,把幾個元胞組成一個塊block,然後把塊中所有元胞的特徵描述子串聯,就得到了該塊的 HOG 特徵描述子; 

(5) 最終把圖像所有塊的描述子串聯便得到描述圖像的 HOG 特徵向量。

3 算法細節

3.1 歸一化和Gamma校正

論文在RGB通道、LAB通道和灰度通道利用Gamma校正對圖像做歸一化,但是實驗表明這些歸一化對於算法的整體性能影響較小,這可能是因爲之後在計算塊的特徵描述子時也進行了歸一化。但是相對於灰度圖像,利用彩色圖像計算HOG特徵能帶來輕微的性能提升。

3.2 梯度計算

檢測器的性能對梯度的計算方式較敏感,實驗證明最簡單的方式得到的效果最好。論文在計算梯度前先進行了高斯濾波,對比了不同的\sigma對算法性能的影響。而梯度的計算方式對於了一維的[-1,1][1,-8,0,8,-1]和二維的[0,1;-1,0][-1,0;0,1]等,最終的實驗結果表明高斯濾波\sigma=0結合[-1,0,1]的梯度檢測子性能最佳。

而對於彩色圖像,則分別計算三個通道的梯度值,並取最大的梯度值作爲該像素點的梯度向量。

不同的高斯濾波的\sigma值對性能的影響如下圖所示,其中性能優劣用FPPW(False Positives Per Window,每個窗口的虛警)表示:

3.3 梯度直方圖的計算

這裏對每一個cell計算梯度直方圖,其中cell可以使矩形的也可以是扇形的,而梯度方向的範圍可以使0-180度或者0-360度。獲得梯度圖後,首先將0-180度(或0-360度)劃分成n個bin,然後統計cell內梯度方向角在每一個bin對應的角度範圍內的點的梯度值之和,最後利用雙線性插值的方法,即可得到梯度直方圖(特徵向量)。

舉個例子,例如現在有一個cell是6\times 6個像素的,然後n值取9,那麼就是有9個角度範圍分別是0-20度、20-40度——160-180度,那麼就把這36個點根據梯度的方向角劃分到這9個角度範圍裏面,然後統計每個角度範圍內所有點的梯度之和,最後經過雙線性插值後得到一個1\times 9的特徵向量。

不同的bin值以及角度範圍對性能的影響如下圖所示:

3.4 塊描述子和塊歸一化

每一個塊(block)是由若干個cell組成的,因此block的特徵向量是由所有cell的特徵向量串聯得到的。塊的形狀有矩形(R-HOG)和徑向形(C-HOG)兩種。塊的大小和元胞的大小與整體性能的關係如下圖所示:

v爲歸一化之前的特徵向量,而\begin{Vmatrix} v \end{Vmatrix}_{k}表示k階範數,\varepsilon爲一個很小的常數。那麼塊的歸一化方法有:

(1)L2-norm:v\rightarrow v/\sqrt{\left\| v \right\|_{2}^{2}+{{\varepsilon }^{2}}}

(2)L2-Hys:即爲對v限制最大值爲0.2;

(3)L1-norm:v\rightarrow v/({{\left\| v \right\|}_{1}}+\varepsilon )

(4)L1-sqrt:v\rightarrow \sqrt{v/({{\left\| v \right\|}_{1}}+\varepsilon })

不同的歸一化方法對性能的影響如下圖所示:

3.5 檢測窗口

在一幅圖像中做行人檢測時,用到的滑動窗口的大小對性能的影響如下圖:

實驗結果表明,取64\times128pixel的滑動窗口,而內邊界(窗口邊界不包含人的一週)的大小取16pixel時,檢測性能最佳。

當然以上的實驗對比結果是論文在行人檢測數據集上的實驗結果,以上所設置的參數在指定數據集上能得到較好的結果。而我們在應用HOG特徵描述圖像時,應該根據具體的應用需求設置。

4 參考文獻

[1] N Dalal, B Triggs. Histograms of Oriented Gradients for Human Detection [J]. IEEE Computer Society Conference on Computer Vision & Pattern Recognition, 2005, 1(12): 886-893.


原創性聲明:本文屬於作者原創性文章,小弟碼字辛苦,轉載還請註明出處。謝謝~ 

代碼下載請到https://download.csdn.net/download/weixin_42647783/10666667

如果有哪些地方表述的不夠得體和清晰,有存在的任何問題,歡迎評論和指正,謝謝各路大佬。

有需要圖像處理相關技術支持的可諮詢QQ:297461921

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章