Histogram of Oriented Gridients(HOG) 方向梯度直方圖


Histogram of Oriented Gridients,縮寫為HOG,是目前計算機視覺、模式識別領域很常用的一種描述圖像局部紋理的特征。這個特征名字起的也很直白,就是說先計算圖片某一區域中不同方向上梯度的值,然后進行累積,得到直方圖,這個直方圖呢,就可以代表這塊區域了,也就是作為特征,可以輸入到分類器里面了。那么,接下來介紹一下HOG的具體原理和計算方法,以及一些引申。

 

1.分割圖像

因為HOG是一個局部特征,因此如果你對一大幅圖片直接提取特征,是得不到好的效果的。原理很簡單。從信息論角度講,例如一幅640*480的圖像,大概有30萬個像素點,也就是說原始數據有30萬維特征,如果直接做HOG的話,就算按照360度,分成360個bin,也沒有表示這么大一幅圖像的能力。從特征工程的角度看,一般來說,只有圖像區域比較小的情況,基於統計原理的直方圖對於該區域才有表達能力,如果圖像區域比較大,那么兩個完全不同的圖像的HOG特征,也可能很相似。但是如果區域較小,這種可能性就很小。最后,把圖像分割成很多區塊,然后對每個區塊計算HOG特征,這也包含了幾何(位置)特性。例如,正面的人臉,左上部分的圖像區塊提取的HOG特征一般是和眼睛的HOG特征符合的。

接下來說HOG的圖像分割策略,一般來說有overlap和non-overlap兩種,如下圖所示。overlap指的是分割出的區塊(patch)互相交疊,有重合的區域。non-overlap指的是區塊不交疊,沒有重合的區域。這兩種策略各有各的好處。

non-overlapoverlap

先說overlap,這種分割方式可以防止對一些物體的切割,還是以眼睛為例,如果分割的時候正好把眼睛從中間切割並且分到了兩個patch中,提取完HOG特征之后,這會影響接下來的分類效果,但是如果兩個patch之間overlap,那么至少在一個patch會有完整的眼睛。overlap的缺點是計算量大,因為重疊區域的像素需要重復計算。

再說non-overlap,缺點就是上面提到的,有時會將一個連續的物體切割開,得到不太“好”的HOG特征,優點是計算量小,尤其是與Pyramid(金字塔)結合時,這個優點更為明顯。

2.計算每個區塊的方向梯度直方圖

將圖像分割后,接下來就要計算每個patch的方向梯度直方圖。步驟如下:

A.利用任意一種梯度算子,例如:sobel,laplacian等,對該patch進行卷積,計算得到每個像素點處的梯度方向和幅值。具體公式如下:

 

其中,Ix和Iy代表水平和垂直方向上的梯度值,M(x,y)代表梯度的幅度值,θ(x,y)代表梯度的方向。

 

B.將360度(2*PI)根據需要分割成若干個bin,例如:分割成12個bin,每個bin包含30度,整個直方圖包含12維,即12個bin。然后根據每個像素點的梯度方向,利用雙線性內插法將其幅值累加到直方圖中。

 

C.(可選)將圖像分割成更大的Block,並利用該Block對其中的每個小patch進行顏色、亮度的歸一化,這一步主要是用來去掉光照、陰影等影響的,對於光照影響不劇烈的圖像,例如很小區域內的字母,數字圖像,可以不做這一步。而且論文中也提及了,這一步的對於最終分類准確率的影響也不大。

3.組成特征

將從每個patch中提取出的“小”HOG特征首尾相連,組合成一個大的一維向量,這就是最終的圖像特征。可以將這個特征送到分類器中訓練了。例如:有4*4=16個patch,每個patch提取12維的小HOG,那么最終特征的長度就是:16*12=192維。

4.一些引申

 與pyramid相結合,即PHOG。PHOG指的是,對同一幅圖像進行不同尺度的分割,然后計算每個尺度中patch的小HOG,最后將他們連接成一個很長的一維向量,作為特征。例如:對一幅512*512的圖像先做3*3的分割,再做6*6的分割,最后做12*12的分割。接下來對分割出的patch計算小HOG,假設為12個bin即12維。那么就有9*12+36*12+144*12=2268維。需要注意的是,在將這些不同尺度上獲得的小HOG連接起來時,必須先對其做歸一化,因為3*3尺度中的HOG任意一維的數值很可能比12*12尺度中任意一維的數值大很多,這是因為patch的大小不同造成的。PHOG相對於傳統HOG的優點,是可以檢測到不同尺度的特征,表達能力更強。缺點是數據量和計算量都比HOG大了不少。

參考文獻:

Navneet Dalal and Bill Triggs,《Histograms of Oriented Gradients for Human Detection》,2005

A. Bosch, A. Zisserman, and X. Munoz, 《Representing shape with a spatial pyramid kernel》,2007

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM