【轉(zhuǎn)載】HoG原理介紹

除了這篇,還可以參考:http://blog.csdn.net/zouxy09/article/details/7929348/
Code可以見(jiàn)cs231n的features.py中的實(shí)現(xiàn),簡(jiǎn)潔明了。

轉(zhuǎn)載自:http://www.cnblogs.com/hrlnw/archive/2013/08/06/2826651.html
Histogram of Oriented Gridients,縮寫(xiě)為HOG,是目前計(jì)算機(jī)視覺(jué)、模式識(shí)別領(lǐng)域很常用的一種描述圖像局部紋理的特征。這個(gè)特征名字起的也很直白,就是說(shuō)先計(jì)算圖片某一區(qū)域中不同方向上梯度的值,然后進(jìn)行累積,得到直方圖,這個(gè)直方圖呢,就可以代表這塊區(qū)域了,也就是作為特征,可以輸入到分類器里面了。那么,接下來(lái)介紹一下HOG的具體原理和計(jì)算方法,以及一些引申。

1.分割圖像
因?yàn)镠OG是一個(gè)局部特征,因此如果你對(duì)一大幅圖片直接提取特征,是得不到好的效果的。原理很簡(jiǎn)單。從信息論角度講,例如一幅640×480的圖像,大概有30萬(wàn)個(gè)像素點(diǎn),也就是說(shuō)原始數(shù)據(jù)有30萬(wàn)維特征,如果直接做HOG的話,就算按照360度,分成360個(gè)bin,也沒(méi)有表示這么大一幅圖像的能力。從特征工程的角度看,一般來(lái)說(shuō),只有圖像區(qū)域比較小的情況,基于統(tǒng)計(jì)原理的直方圖對(duì)于該區(qū)域才有表達(dá)能力,如果圖像區(qū)域比較大,那么兩個(gè)完全不同的圖像的HOG特征,也可能很相似。但是如果區(qū)域較小,這種可能性就很小。最后,把圖像分割成很多區(qū)塊,然后對(duì)每個(gè)區(qū)塊計(jì)算HOG特征,這也包含了幾何(位置)特性。例如,正面的人臉,左上部分的圖像區(qū)塊提取的HOG特征一般是和眼睛的HOG特征符合的。
接下來(lái)說(shuō)HOG的圖像分割策略,一般來(lái)說(shuō)有overlap和non-overlap兩種,如下圖所示。overlap指的是分割出的區(qū)塊(patch)互相交疊,有重合的區(qū)域。non-overlap指的是區(qū)塊不交疊,沒(méi)有重合的區(qū)域。這兩種策略各有各的好處。

non-overlap
overlap

先說(shuō)overlap,這種分割方式可以防止對(duì)一些物體的切割,還是以眼睛為例,如果分割的時(shí)候正好把眼睛從中間切割并且分到了兩個(gè)patch中,提取完HOG特征之后,這會(huì)影響接下來(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)更為明顯。
2.計(jì)算每個(gè)區(qū)塊的方向梯度直方圖
將圖像分割后,接下來(lái)就要計(jì)算每個(gè)patch的方向梯度直方圖。步驟如下:
A.利用任意一種梯度算子,例如:sobel,laplacian等,對(duì)該patch進(jìn)行卷積,計(jì)算得到每個(gè)像素點(diǎn)處的梯度方向和幅值。具體公式如下:

Paste_Image.png

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

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


C.(可選)將圖像分割成更大的Block,并利用該Block對(duì)其中的每個(gè)小patch進(jìn)行顏色、亮度的歸一化,這一步主要是用來(lái)去掉光照、陰影等影響的,對(duì)于光照影響不劇烈的圖像,例如很小區(qū)域內(nèi)的字母,數(shù)字圖像,可以不做這一步。而且論文中也提及了,這一步的對(duì)于最終分類準(zhǔn)確率的影響也不大。
3.組成特征
將從每個(gè)patch中提取出的“小”HOG特征首尾相連,組合成一個(gè)大的一維向量,這就是最終的圖像特征。可以將這個(gè)特征送到分類器中訓(xùn)練了。例如:有44=16個(gè)patch,每個(gè)patch提取12維的小HOG,那么最終特征的長(zhǎng)度就是:1612=192維。
4.一些引申
與pyramid相結(jié)合,即PHOG。PHOG指的是,對(duì)同一幅圖像進(jìn)行不同尺度的分割,然后計(jì)算每個(gè)尺度中patch的小HOG,最后將他們連接成一個(gè)很長(zhǎng)的一維向量,作為特征。例如:對(duì)一幅512512的圖像先做33的分割,再做66的分割,最后做1212的分割。接下來(lái)對(duì)分割出的patch計(jì)算小HOG,假設(shè)為12個(gè)bin即12維。那么就有912+3612+14412=2268維。需要注意的是,在將這些不同尺度上獲得的小HOG連接起來(lái)時(shí),必須先對(duì)其做歸一化,因?yàn)?3尺度中的HOG任意一維的數(shù)值很可能比12*12尺度中任意一維的數(shù)值大很多,這是因?yàn)閜atch的大小不同造成的。PHOG相對(duì)于傳統(tǒng)HOG的優(yōu)點(diǎn),是可以檢測(cè)到不同尺度的特征,表達(dá)能力更強(qiáng)。缺點(diǎn)是數(shù)據(jù)量和計(jì)算量都比HOG大了不少。

參考文獻(xiàn):
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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 姓名:徐嬌 學(xué)號(hào):17011210547 參考360百科 【嵌牛導(dǎo)讀】在圖像處理中,若要對(duì)圖像進(jìn)行特征提取,經(jīng)常會(huì)...
    徐Jiao閱讀 7,604評(píng)論 2 6
  • 不同圖像灰度不同,邊界處一般會(huì)有明顯的邊緣,利用此特征可以分割圖像。需要說(shuō)明的是:邊緣和物體間的邊界并不等同,邊緣...
    大川無(wú)敵閱讀 14,112評(píng)論 0 29
  • cs231n學(xué)習(xí)筆記-CNN-目標(biāo)檢測(cè)、定位、分割 cite from: http://blog.csdn.net...
    江州司馬binbin閱讀 22,123評(píng)論 4 85
  • 這本日記本,我應(yīng)該是在初中的時(shí)候買(mǎi)的,剛買(mǎi)的時(shí)候是有鎖的,現(xiàn)在為什么沒(méi)有鎖呢?我也不記得了。總之剛開(kāi)始是為了防父母...
    張好奇閱讀 239評(píng)論 0 4
  • 一花一世界 一草一精靈 一木一天下 一葉一春秋 一山一陡峰 一水一聚潺 一路一盤(pán)旋 一云一姿態(tài) 一舟一順?biāo)?一槳一...
    行者順達(dá)閱讀 635評(píng)論 0 1

友情鏈接更多精彩內(nèi)容