張溪樾
(哈爾濱市第九中學(xué),黑龍江哈爾濱,150028)
行人檢測( Pedestrian Detection)是指在道路旁的監(jiān)控儀器、或是在行駛的汽車上建立一個智能系統(tǒng),利用計(jì)算機(jī)視覺技術(shù)判斷圖片或是視頻中是否存在行人,若存在,則返回行人的位置和大小。該技術(shù)被廣泛應(yīng)用于車輛輔助駕駛、智能視頻監(jiān)控、智能交通、人體行為分析等領(lǐng)域,對提高駕駛的安全性、保障生命安全,具有重要意義。
行人檢測中存在的難點(diǎn)主要有以下幾點(diǎn):(1)個體差異性。(2)道路交通工具的遮擋以及行人的重疊。(3)背景。(4)成像條件。光照條件和成像設(shè)備等影響。因此,行人檢測成為了計(jì)算機(jī)視覺領(lǐng)域中一個既具有研究價值同時又極具挑戰(zhàn)性的熱門課題。
行人檢測算法可以分為背景建模算法和統(tǒng)計(jì)學(xué)習(xí)算法兩類。其中,背景建模算法是利用圖像與背景的差異來提取目標(biāo),該算法魯棒性比較差。而統(tǒng)計(jì)學(xué)習(xí)法包括了神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(SVM)和Adaboost算法,將行人作為正樣本進(jìn)行分類器訓(xùn)練。該類算法魯棒性較好。
因此,本文系統(tǒng)地分析了Adaboost弱分類器和強(qiáng)分類器的迭代,描述了Haar特征的提取和積分圖的計(jì)算方法,最后給出了Adaboost分類器的訓(xùn)練過程和完整分類流程,并總結(jié)了該算法的優(yōu)缺點(diǎn)。
AdaBoost是迭代算法。它的原理是利用一個訓(xùn)練樣本進(jìn)行特征提取,從而訓(xùn)練出各個不同的弱分類器,然后將這些弱分類器組合成一個能力很強(qiáng)的強(qiáng)分類器。具體流程:
(1)初始化每一個訓(xùn)練樣本的權(quán)值
(2)迭代,其中m= 1,2 ……M表示迭代次數(shù)
a.得到基本分類器
b.計(jì)算分類誤差
c.計(jì)算Gm在最終的強(qiáng)分類器當(dāng)中的權(quán)值mα
d.重新更新訓(xùn)練樣本的權(quán)值分布,用于下一輪迭代:
其中,
(3)組合成為強(qiáng)分類器
行人的分辨率比較低,無法提取出精確的外觀特征,所以我們使用四個對稱的矩形特征,和擴(kuò)充的四個非對稱的矩形特征,來表示行人的這些特征。如圖1中所顯示的這些特征,我們稱之為Haar-like特征。
圖1 行人的矩形特征
我們利用Haar特征進(jìn)行分類器訓(xùn)練。將得到的強(qiáng)分類器進(jìn)行尺度的改變以用來適應(yīng)不同大小的檢測圖片。Haar特征池所包含的特征總數(shù)通常來說是非常大的。
Haar特征池的總數(shù)通常來說是非常大的。我們引入積分圖的概念,從而減少計(jì)算量,提高運(yùn)行速度。
積分圖的定義為:
I(x,,y,)為圖像中坐標(biāo)為(x,,y,)的像素點(diǎn)的灰度值。
那么,圖像I的積分圖可以用下式計(jì)算:
這樣,圖像中任意矩形框當(dāng)中的像素值之和就可以由積分圖像迅速地計(jì)算出來,具體計(jì)算方法如圖2所示。
圖2 利用積分圖計(jì)算矩形框內(nèi)像素值之和
1.4.1 弱分類器
AdaBoost算法當(dāng)中的每一個弱分類器都是由一個Haar矩形特征構(gòu)成的。對于弱分類器當(dāng)中的特征,表達(dá)為:
其中,pj=±1 ,代表著不等式的方向。fi(x)代表x圖像中第j個特征的特征值。θj為閾值。
其中,N1為行人個數(shù),N2為非行人個數(shù),m1為當(dāng)前特征在所有行人當(dāng)中的平均特征值,m2為當(dāng)前特征在所有非行人當(dāng)中的平均特征值。
1.4.2 強(qiáng)分類器
若干個強(qiáng)分類器級聯(lián)構(gòu)成了最終使用的級聯(lián)分類器。具體級聯(lián)如圖3所示。
1.4.3 訓(xùn)練過程
具體流程:
圖3 級聯(lián)分類器結(jié)構(gòu)
(2)權(quán)值初始化
(3)迭代
a.歸一化權(quán)值
其中t表示某個特征,j表示樣本數(shù)。
b.計(jì)算分類器誤差
其中ih為只是用某個單一特征的分類器。
c.選擇分類器,并更新權(quán)值留作下一個迭代中使用
其中,xt分類正確的話,vt取值0,否則取值1。
d.直到t等于特征數(shù)T。
(4)強(qiáng)分類器計(jì)算:
其中
行人檢測具體流程如圖4所示。
在預(yù)處理階段,一個輔助圖像Ii,被稱作從原始圖像I0計(jì)算得來的積分圖像或區(qū)域求和表,可以提高計(jì)算速度。之后,對于每個候選的窗口w,我們將其所有位置和尺度送入一個級聯(lián)分類器。在每個階段,分類器響應(yīng)h(w)是一系列的特性的總和的反映。
圖4 完整AdaBoost流程圖
fj(w) 是第j個Haar特征值,αj1和αj2是特征權(quán)重系數(shù)。如果h(w)小于閾值t,那么候選窗口w被認(rèn)為沒有行人,被丟掉,否則被送入下一個分類器。在最后一步,行人的多個檢測被非極大值抑制進(jìn)行修理。
隨著社會公共安全的必要性進(jìn)一步凸顯,行人檢測已逐漸成為公共場所的緊要功能。本文詳細(xì)分析了行人檢測的應(yīng)用領(lǐng)域以及行人檢測目前面臨的難點(diǎn)。選取了Adaboost算法進(jìn)行具體分析。包括了弱分類器的構(gòu)建、強(qiáng)分類器的級聯(lián)、Haar特征的選取以及積分圖的運(yùn)用。并且給出了分類器訓(xùn)練和行人檢測兩部分的完整流程。
就算法而言,雖然AdaBoost算法的準(zhǔn)確性和適應(yīng)性能比較好,但是真正面對光照強(qiáng)度不同、衣著、身形不同的行人,其檢測的正確性確實(shí)會有所影響。那么就需要對Haar特征進(jìn)行改進(jìn),使其更加符合行人的鑒別。就訓(xùn)練分類器而言,面對特定環(huán)境下的行人檢測,我們可以選取該環(huán)境圖片作為負(fù)樣本,提高檢測的正確性。