方向梯度直方圖(Histogram of Oriented Gradient, HOG)特征是一種在計(jì)算機(jī)視覺(jué)和圖像處理中用來(lái)進(jìn)行物體檢測(cè)的特征描述子。HOG特征通過(guò)計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來(lái)構(gòu)成特征。

中文名

方向梯度直方圖

外文名

Histogram of Oriented Gradien

簡(jiǎn)稱

HOG

領(lǐng)域

圖像處理,特征提取

年代

2005年

作者

Navneet Dalal & Bill Triggs

簡(jiǎn)介

1、主要思想:在一副圖像中,局部目標(biāo)的表象和形狀能夠被梯度或邊緣的方向密度分布很好地描述。其本質(zhì)為:梯度的統(tǒng)計(jì)信息,而梯度主要存在于邊緣的地方。

Hog特征結(jié)合SVM分類器已經(jīng)被廣泛應(yīng)用于圖像識(shí)別中,尤其在行人檢測(cè)中獲得了極大的成功。

2、實(shí)現(xiàn)方法:首先將圖像分成小的連通區(qū)域,這些連通區(qū)域被叫做細(xì)胞單元。然后采集細(xì)胞單元中各像素點(diǎn)的梯度的或邊緣的方向直方圖。最后把這些直方圖組合起來(lái),就可以構(gòu)成特征描述符。

3、性能提高:將這些局部直方圖在圖像的更大的范圍內(nèi)(叫做區(qū)間)進(jìn)行對(duì)比度歸一化,可以提高該算法的性能,所采用的方法是:先計(jì)算各直方圖在這個(gè)區(qū)間中的密度,然后根據(jù)這個(gè)密度對(duì)區(qū)間中的各個(gè)細(xì)胞單元做歸一化。通過(guò)這個(gè)歸一化后,能對(duì)光照變化和陰影獲得更好的效果。[1]

優(yōu)點(diǎn)

與其他的特征描述方法相比,HOG有很多優(yōu)點(diǎn)。

首先,由于HOG是 在圖像的局部方格單元上操作,所以它對(duì)圖像幾何的和光學(xué)的形變都能保持很好的不變性,這兩種形變只會(huì)出現(xiàn)在更大的空間領(lǐng)域上。

其次,在粗的空域抽樣、精細(xì) 的方向抽樣以及較強(qiáng)的局部光學(xué)歸一化等條件下,只要行人大體上能夠保持直立的姿勢(shì),可以容許行人有一些細(xì)微的肢體動(dòng)作,這些細(xì)微的動(dòng)作可以被忽略而不影響 檢測(cè)效果。

因此HOG特征是特別適合于做圖像中的人體檢測(cè)的。[1]

提取與計(jì)算

HOG特征的具體提取步驟如下:

1、色彩和伽馬歸一化

HOG

為了減少光照因素的影響,首先需要將整個(gè)圖像進(jìn)行規(guī)范化(歸一化)。在圖像的紋理強(qiáng)度中,局部的表層曝光貢獻(xiàn)的比重較大,所以,這種壓縮處理能夠有效地降低圖像局部的陰影和光照變化。

2、計(jì)算圖像梯度

計(jì)算圖像橫坐標(biāo)和縱坐標(biāo)方向的梯度,并據(jù)此計(jì)算每個(gè)像素位置的梯度方向值;求導(dǎo)操作不僅能夠捕獲輪廓,人影和一些紋理信息,還能進(jìn)一步弱化光照的影響。

最常用的方法是:簡(jiǎn)單地使用一個(gè)一維的離散微分模板在一個(gè)方向上或者同時(shí)在水平和垂直兩個(gè)方向上對(duì)圖像進(jìn)行處理,更確切地說(shuō),這個(gè)方法需要使用濾波器核濾除圖像中的色彩或變化劇烈的數(shù)據(jù)。

3、構(gòu)建方向的直方圖

細(xì)胞單元中的每一個(gè)像素點(diǎn)都為某個(gè)基于方向的直方圖通道投票。投票是采取加權(quán)投票的方式,即每一票都是帶有權(quán)值的,這個(gè)權(quán)值是根據(jù)該像素點(diǎn)的梯度幅度計(jì)算出來(lái)??梢圆捎梅当旧砘蛘咚暮瘮?shù)來(lái)表示這個(gè)權(quán)值,實(shí)際測(cè)試表明:使用幅值來(lái)表示權(quán)值能獲得最佳的效果,當(dāng)然,也可以選擇幅值的函數(shù)來(lái)表示,比如幅值的平方根、幅值的平方、幅值的截?cái)嘈问降?。?xì)胞單元可以是矩形的,也可以是星形的。直方圖通道是平均分布在0-1800(無(wú)向)或0-3600(有向)范圍內(nèi)。經(jīng)研究發(fā)現(xiàn),采用無(wú)向的梯度和9個(gè)直方圖通道,能在行人檢測(cè)試驗(yàn)中取得最佳的效果。

HOG

4、將細(xì)胞單元組合成大的區(qū)間

由于局部光照的變化以及前景-背景對(duì)比度的變化,使得梯度強(qiáng)度的變化范圍非常大。這就需要對(duì)梯度強(qiáng)度做歸一化。歸一化能夠進(jìn)一步地對(duì)光照、陰影和邊緣進(jìn)行壓縮。

采取的辦法是:把各個(gè)細(xì)胞單元組合成大的、空間上連通的區(qū)間。這樣,HOG描述符就變成了由各區(qū)間所有細(xì)胞單元的直方圖成分所組成的一個(gè)向量。這些區(qū)間是互有重疊的,這就意味著:每一個(gè)細(xì)胞單元的輸出都多次作用于最終的描述器。

區(qū)間有兩個(gè)主要的幾何形狀——矩形區(qū)間(R-HOG)和環(huán)形區(qū)間(C-HOG)。R-HOG區(qū)間大體上是一些方形的格子,它可以有三個(gè)參數(shù)來(lái)表征:每個(gè)區(qū)間中細(xì)胞單元的數(shù)目、每個(gè)細(xì)胞單元中像素點(diǎn)的數(shù)目、每個(gè)細(xì)胞的直方圖通道數(shù)目。

5、收集HOG特征

HOG

把提取的HOG特征輸入到SVM分類器中,尋找一個(gè)最優(yōu)超平面作為決策函數(shù)。[1]

R-HOG與C-HOG

R- HOG 跟SIFT描述器看起來(lái)很相似,但他們的不同之處是:R-HOG是在單一尺度下、密集的網(wǎng)格內(nèi)、沒(méi)有對(duì)方向排序的情況下被計(jì)算出來(lái);而SIFT描述器是在多尺度下、稀疏的圖像關(guān)鍵點(diǎn)上、對(duì)方向排序的情況下被計(jì)算出來(lái)。另外,R-HOG是各區(qū)間被組合起來(lái)用于對(duì)空域信息進(jìn)行編碼,而SIFT的各描述器是單獨(dú)使用的。

C- HOG區(qū)間有兩種不同的形式,它們的區(qū)別在于:一個(gè)的中心細(xì)胞是完整的,一個(gè)的中心細(xì)胞是被分割的。經(jīng)研究發(fā)現(xiàn) C-HOG的這兩種形式都能取得相同的效果。C-HOG區(qū)間可以用四個(gè)參數(shù)來(lái)表征:角度盒子的個(gè)數(shù)、半徑盒子個(gè)數(shù)、中心盒子的半徑、半徑的伸展因子。通過(guò)實(shí)驗(yàn),對(duì)于行人檢測(cè),最佳的參數(shù)設(shè)置為:4個(gè)角度盒子、2個(gè)半徑盒子、中心盒子半徑為4個(gè)像素、伸展因子為2。此外,對(duì)于R- HOG,中間加一個(gè)高斯空域窗口是非常有必要的,但對(duì)于C-HOG,這顯得沒(méi)有必要。C-HOG看起來(lái)很像基于形狀上下文的方法,但不同之處是:C-HOG的區(qū)間中包含的細(xì)胞單元有多個(gè)方向通道,而基于形狀上下文的方法僅僅只用到了一個(gè)單一的邊緣存在數(shù)。[1]

總結(jié)

Dalal提出的HOG特征提取的過(guò)程:把樣本圖像分割為若干個(gè)像素的單元,把梯度方向平均劃分為多個(gè)區(qū)間,在每個(gè)單元里面對(duì)所有像素的梯度方向在各個(gè)方向區(qū)間進(jìn)行直方圖統(tǒng)計(jì),得到一個(gè)多維的特征向量,每相鄰的單元構(gòu)成一個(gè)區(qū)間,把一個(gè)區(qū)間內(nèi)的特征向量聯(lián)起來(lái)得到多維的特征向量,用區(qū)間對(duì)樣本圖像進(jìn)行掃描,掃描步長(zhǎng)為一個(gè)單元。最后將所有塊的特征串聯(lián)起來(lái),就得到了人體的特征。至今雖然有很多行人檢測(cè)算法,但基本都是以HOG+SVM的思路為主。[1]