特征提取——HOG方向梯直方图
1、簡(jiǎn)介
HOG(Histogram of Oriented Gridients的簡(jiǎn)寫(xiě))特征檢測(cè)算法,最早是由法國(guó)研究員Dalal等在CVPR-2005上提出來(lái)的,一種解決人體目標(biāo)檢測(cè)的圖像描述子,是一種用于表征圖像局部梯度方向和梯度強(qiáng)度分布特性的描述符。其主要思想是:在邊緣具體位置未知的情況下,邊緣方向的分布也可以很好的表示行人目標(biāo)的外形輪廓。
2、檢測(cè)步驟
HOG特征檢測(cè)算法的幾個(gè)步驟:顏色空間歸一化—>梯度計(jì)算—>梯度方向直方圖—>重疊塊直方圖歸一化—>HOG特征。
2.1、顏色空間歸一化
由于圖像的采集環(huán)境、裝置等因素,采集到的人臉圖像效果可能不是很好,容易出現(xiàn)誤檢或漏檢的情況,所以需要對(duì)采集到的人臉進(jìn)行圖像預(yù)處理,主要是處理光線太暗或太強(qiáng)的情況,這里有兩次處理:圖像灰度化、Gamma校正。
①圖像灰度化
對(duì)于彩色圖像,將RGB分量轉(zhuǎn)化成灰度圖像,其轉(zhuǎn)化公式為:
②Gamma校正
在圖像照度不均勻的情況下,可以通過(guò)Gamma校正,將圖像整體亮度提高或降低。在實(shí)際中可以采用兩種不同的方式進(jìn)行Gamma標(biāo)準(zhǔn)化,平方根、對(duì)數(shù)法。這里我們采用平方根的辦法,公式如下(其中γ=0.5):
2.2、梯度計(jì)算
對(duì)經(jīng)過(guò)顏色空間歸一化后的圖像,求取其梯度及梯度方向。分別在水平和垂直方向進(jìn)行計(jì)算,梯度算子為:
2.3、梯度方向直方圖
將圖像劃分成若干個(gè)cells(單元),8x8=64個(gè)像素為一個(gè)cell,相鄰的cell之間不重疊。在每個(gè)cell內(nèi)統(tǒng)計(jì)梯度方向直方圖,將所有梯度方向劃分為9個(gè)bin(即9維特征向量),作為直方圖的橫軸,角度范圍所對(duì)應(yīng)的梯度值累加值作為直方圖縱軸,每個(gè)bin的角度范圍如下。
2.4、重疊塊直方圖歸一化
HOG的圖像分割策略,一般來(lái)說(shuō)有overlap和non-overlap兩種。overlap指的是分割出的區(qū)塊(patch)互相交疊,有重合的區(qū)域。non-overlap指的是區(qū)塊不交疊,沒(méi)有重合的區(qū)域。這兩種策略各有各的好處。先說(shuō)overlap,這種分割方式可以防止對(duì)一些物體的切割,以眼睛為例,如果分割的時(shí)候正好把眼睛從中間切割并且分到了兩個(gè)patch中,提取完HOG特征之后,這會(huì)影響接下來(lái)的分類(lèi)效果,但是如果兩個(gè)patch之間overlap,那么至少在一個(gè)patch會(huì)有完整的眼睛。overlap的缺點(diǎn)是計(jì)算量大,因?yàn)橹丿B區(qū)域的像素需要重復(fù)計(jì)算。再說(shuō)non-overlap,缺點(diǎn)就是上面提到的,有時(shí)會(huì)將一個(gè)連續(xù)的物體切割開(kāi),得到不太“好”的HOG特征,優(yōu)點(diǎn)是計(jì)算量小,尤其是與Pyramid(金字塔)結(jié)合時(shí),這個(gè)優(yōu)點(diǎn)更為明顯。
假設(shè)有一幅圖像大小為220x310,將其劃分成若干個(gè)8x8的cells,顯然220÷8=27.5、310÷8=38.75不是整數(shù),也就是說(shuō)劃分之后依然還有多余像素不能構(gòu)成cell。處理辦法是將圖像縮放成能被8整除的長(zhǎng)寬(如216x304),再劃分。216÷8=27,304÷8=38,因此,216x304的圖像可以得到27x38個(gè)cells,沒(méi)有重疊。
由于圖像中光照情況和背景的變化多樣,梯度值的變化范圍會(huì)比較大,因而良好的特征標(biāo)準(zhǔn)化對(duì)于檢測(cè)率的提高相當(dāng)重要。標(biāo)準(zhǔn)化的方法多種多樣,大多數(shù)的都是將celll放在block中,然后標(biāo)準(zhǔn)化每個(gè)block。
以上述縮放后的圖像為例,共得到27x38個(gè)cell,也就是將圖像劃分成了27x38個(gè)單元;將上下左右相鄰的2x2個(gè)cells當(dāng)做一個(gè)block整體,如下所示(為方便觀察,每個(gè)顏色框故意錯(cuò)開(kāi)了一點(diǎn)),黑色的8x8像素為一個(gè)cell,紅、藍(lán)、黃、粉紅、綠框都是一個(gè)block,即每個(gè)框內(nèi)2x2的cell組成一個(gè)block。故27x38個(gè)cell可劃分成26x37個(gè)block,每個(gè)block為16x16像素。相鄰block之間是有重疊的,這樣有效的利用了相鄰像素信息,對(duì)檢測(cè)結(jié)果有很大的幫助。
接下分別對(duì)每個(gè)block進(jìn)行標(biāo)準(zhǔn)化,一個(gè)block內(nèi)有4個(gè)cell,每個(gè)cell含9維特征向量,故每個(gè)block就由4x9=36維特征向量來(lái)表征。
由于L2-norm簡(jiǎn)單且在檢測(cè)中效果相對(duì)較好,故一般采用它。
經(jīng)過(guò)上述對(duì)有重疊部分block的直方圖歸一化之后,將所有block的特征向量都組合起來(lái),則形成26x37x36=34632維特征向量,這就是HOG特征,這個(gè)特征向量就可以用來(lái)表征整個(gè)圖像了。
實(shí)際上,在運(yùn)用的時(shí)候,我們通常是選取一幅圖像中的一個(gè)窗口來(lái)進(jìn)行特征提取,依然以上述220X310大小圖像為例,經(jīng)過(guò)縮放處理后為216x304,但并不直接提取整個(gè)圖像的HOG特征,而是用一個(gè)固定大小的窗口在圖像上滑動(dòng),滑動(dòng)的間隔為8個(gè)像素,opencv中默認(rèn)的窗口大小為128x64(高128,寬64),即有(128÷8)x(64÷8)=16x8個(gè)cell,也即有15x7個(gè)block,這樣一來(lái)一幅圖像就可以取到(27-16)x(38-8)=11x30=330個(gè)窗口?,F(xiàn)在提取每個(gè)窗口的HOG特征,則可得到105x36=3780維HOG特征向量。
將這330個(gè)3780維的HOG特征當(dāng)做測(cè)試樣本,用支持向量機(jī)(SVM)分類(lèi)器來(lái)判別出,這些窗口的HOG特征是否有行人,有行人的用矩形框標(biāo)記起來(lái)。HOG行人特征及所對(duì)應(yīng)的SVM分類(lèi)器的參數(shù),在opencv中已經(jīng)訓(xùn)練好了,我們只需要得到HOG特征,然后調(diào)用SVM即可得到判別結(jié)果。
參考:
http://blog.csdn.net/hujingshuang/article/details/47337707/
http://blog.sina.com.cn/s/blog_60e6e3d50101bkpn.html
https://www.cnblogs.com/hrlnw/archive/2013/08/06/2826651.html
總結(jié)
以上是生活随笔為你收集整理的特征提取——HOG方向梯直方图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 大升级!iQOO 12或支持200W有线
- 下一篇: 天上不会掉馅饼!12万的保时捷已下架 购