岳鑫
摘 ?要:行人檢測目前是機器視覺領(lǐng)域研究中一個熱門技術(shù)。文章利用梯度直方圖特征和支持向量機對不同場景下的樣本圖片進行檢測。檢測結(jié)果表明:在真實的應(yīng)用場景中,該方法可以滿足大部分的行人檢測需求,但不同的光照、不同的遮擋和不同的樣本復(fù)雜度對檢測結(jié)果有一定影響。
關(guān)鍵詞:HOG特征;SVM分類器;行人檢測
行人檢測技術(shù)是計算機視覺領(lǐng)域中的一個重要的分支,在智能交通、智能監(jiān)控、行人行為分析以及智能機器人領(lǐng)域有著廣泛的應(yīng)用,是通過判斷圖片或視頻序列中是否有行人出現(xiàn),并給出準(zhǔn)確位置的一項圖像理解技術(shù)。行人檢測主要分兩大類方法[1]分別為基于背景建模的方法[2]和基于統(tǒng)計學(xué)習(xí)的方法[3]。前者主要利用圖像差分的思想,分割出前景,提取其中的運動目標(biāo),從而達到目標(biāo)檢測的目的。該方法對背景的要求比較苛刻,在下雨、下雪、背景中樹葉的晃動、光線不穩(wěn)定的場景中該方法的抗干擾能力較差?;诮y(tǒng)計學(xué)習(xí)的方法,首先對目標(biāo)進行特征提取,然后訓(xùn)練相應(yīng)的分類器,再通過滑窗技術(shù),把訓(xùn)練好的分類器應(yīng)用于圖像中,檢測用戶感興趣的目標(biāo)[4]。文章使用基于統(tǒng)計學(xué)習(xí)的方法利用HOG特征和SVM分類器進行行人檢測。
1 行人檢測原理
1.1 梯度直方圖特征描述
梯度直方圖特征主要是用來描述圖像局部重疊區(qū)域的一種描述符,將圖像中局部區(qū)域像素的梯度方向直方圖來做為人體的特征,該特征可以很好的描述出人體的邊緣,并且不敏感于光照條件和微小的偏移。
圖像中任意一像素點(x,y)的梯度表示為:
(1)
其中Gx(x,y)、Gy(x,y)和H(x,y)分別表示圖像中在(x,y)處的水平方向梯度、垂直方向梯度和像素值。像素點(x,y)處的梯度幅值和梯度方向分別由下面公式計算可得:
(2)
在梯度直方圖特征-簡稱HOG的提取過程中,Dalal曾提出:對于一個樣本圖像,我們可以將它看成若干個像素的單元,圖像像素的梯度方向平均可以分割為9個區(qū)間,用直方圖來統(tǒng)計每個像素單元里面所有像素梯度方向的所有方向區(qū)間,這樣就可以得到一個比較直觀的9維特征向量,塊是由每4個相鄰的單元構(gòu)成,再把這個塊中4個特征向量連接起來,就可以得到方便理解的36維特征向量,然后以一個單元作為步長用塊進行掃描樣本圖像,最終串聯(lián)起所有塊的特性,人體特征就得到了。
上面所提出提取HOG特征來獲取人體特征可以用于行人檢測中,而這只是其中一個步驟,還有彩圖轉(zhuǎn)灰度,亮度校正等一系列步驟。綜上,在用于行人檢測過程中,HOG特征的計算步驟如下:
首先,將一個彩色的樣本圖像轉(zhuǎn)為一個灰度圖,并做歸一化處理即采用Gamma校正法標(biāo)準(zhǔn)化輸入圖像的顏色空間,歸一化的目的是為了調(diào)整樣本圖像的對比度,進而減少日光照射變化和樣本圖像的局部陰影所帶來的影響,與此同時也有利于約束噪音的干擾;其次,計算梯度:這個步驟的目的是為了捕捉樣本圖像的邊緣信息,進一步降低日照的干擾;再次,將梯度映射到像素單元的梯度方向:這樣的目的是對局部樣本圖像提供一個編碼;然后,歸一化每個塊上的所有單元格:標(biāo)準(zhǔn)化顏色空間可以更深層次地緊縮日照、陰影以及輪廓,一般情況下,幾個不同的塊可以會同享一個單元格,但是單元格的歸一化在取決于不同塊的,故而這樣計算出的結(jié)果會不同,因此,我們最終所看到的向量中會呈現(xiàn)一個單元格特征的不同結(jié)果。HOG描述符也即標(biāo)準(zhǔn)化之后的塊描述符;最后,一步就是將監(jiān)測空間所有塊的梯度直方圖特征手整理起來:圖像檢測中我們會對所有塊的交匯進行檢測,這一步就是對其做HOG特征的整理,并將它們收集成最后的特征向量可供分類操作。
1.2 SVM分類器
SVM分類器可用于支持向量機算法,建立在樣例線性可分的情況下,我們所說的支持向量機SVM就是從其最優(yōu)分類面提出,而所謂的最優(yōu)分類面就是:將不同的分類用線無差錯地隔開,以保證經(jīng)驗風(fēng)險最小,最小值為0,這樣可以獲取到很多的分類線,其中不同分類間距最大的分類線就是最優(yōu)分類線。而通過下面的論述我們就可以看到,要求分類間距最大其實就是為了讓推廣行中的置信范圍為最小,進而推廣到高維空間,這樣我們所得到的最優(yōu)分類線就成為了最優(yōu)分類面。
支持向量機就是基于最優(yōu)向量面的思想訓(xùn)練出的一種分類算法,通俗一點來講,他就是一個兩類分類模型,會依賴預(yù)處理后的數(shù)據(jù),最終可轉(zhuǎn)化為一個凸二次規(guī)劃問題的求解,在n維空間中找到一個分類超平面,將空間上的點分類。如圖,是線性分類的例子。
圖1 支持向量機線性分類
圖中的實心圓點和空心圓點分別表示兩個不同的分類,H就是將兩個分類無錯誤的分割,并保證分類間距最大的最優(yōu)分類面,從圖像中我們不難看出,當(dāng)用H分類面將兩類分割開時,誤差小,分割面到不同類的間距也最大。而上圖中的H1,H2就是兩類間隔,他們之間的距離表示為margin。支持向量機就是在更高維的空間得到原始數(shù)據(jù)找到一個最優(yōu)的分類面繼而使得兩分類的距離最大。而在穿過H1,H2的空心圓點和實心圓點就是用來界定最優(yōu)分類超平面的訓(xùn)練樣本,也就是支持向量。很明顯,這些支持向量是對于求解最有分類面是最有幫助的模型,這些向量其實也是最難被分類的那些向量。
通過上面的描述以及示例我們可將支持向量機概括為:通過給出適當(dāng)?shù)膬?nèi)積函數(shù)以實現(xiàn)非線性變換,這樣就可以將原始模式轉(zhuǎn)換成一個足夠高維的空間,然后在得到的這個新空間我們可以求取最優(yōu)線性分類面。其實通俗理解的話,我們可以將支持向量機求得的分類函數(shù)看成是一個神經(jīng)網(wǎng)絡(luò),在這個神經(jīng)網(wǎng)絡(luò)中主要的輸出便是中間層節(jié)點的線性組合,其中中間層節(jié)點對應(yīng)于輸入腳本與一個支持向量的內(nèi)積,所以我們也可以稱之為支持向量網(wǎng)絡(luò)。
1.3 利用HOG和SVM進行行人檢測
有資料表明,在2005年CVPR上,來自于法國的研究人員Navneet Nalal和Bill Triggs在會上提出在行人檢測的實現(xiàn)過程中可以有效地利用HOG特征進行提取,再加上線性SVM作為分類器,他們提出的這一理論,是通過大量的試驗得出HOG以及SVM的相互配合可以在速度和綜合平衡性效果上更有效的做行人檢測,后面的一些研究人員在他們的這一研究成果上也提出了一些改進性的算法。
2 實驗結(jié)果與分析
實驗結(jié)合OpenCV庫開發(fā)一套行人檢測程序,軟件環(huán)境為VS2010與OpenCV2.4.9。在不同的光照條件、不同的遮擋等條件下進行實驗,實驗結(jié)果如圖2所示。
在圖2中,(a)(b)(c)(d)為在自然光照條件下的行人樣本,(e)為燈光下條件下行人重疊情況,(f)為光線不足情況。樣本(a)在光照條件充足沒有遮擋的情況下檢測良好,樣本(b)和樣本(c)在有少量遮擋的的情況下也可以檢測出行人,而樣本(d)在遮擋較大時檢測失敗,但可以檢測出較遠的目標(biāo),樣本(e)在有大量行人同時存在交叉遮擋是檢測效果不理想,樣本(f)在光照條件不足時對檢測結(jié)果有著直接的影響。
3 結(jié)束語
由實驗可以看出,當(dāng)無遮擋或存在較少的局部遮擋時,可以比較準(zhǔn)確地檢測出行人。但當(dāng)遮擋超過一半時,行人便無法檢測。存在大量行人重疊交錯運動時檢測效果一般。光照條件、遮擋比例和樣本圖像中行人的復(fù)雜度也是對檢測結(jié)果很重要的因素。
參考文獻
[1]楊憶明,袁彬.基于視頻的行人檢測算法研究[J].交通節(jié)能與環(huán)保, 2015(4):94-97.
[2]於健生,汪宏,顧晶.一種基于視頻的新型行人識別方法[J].信息化研究,2010,36 (3):19-21.
[3]Wang and J.Shi and G.Song and I.Shen,"Object Detection Combining Recognition and Segmentation"[C].ACCV,2007.
[4]裴文娟.基于梯度特征和紋理特征的行人檢測[D].安徽大學(xué),2015.