胡燕偉,徐美華,郭愛(ài)英
(上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院,上海200444)
在日常生活中,行人檢測(cè)具有廣泛的應(yīng)用價(jià)值和市場(chǎng)價(jià)值,如智能交通、視頻監(jiān)控、車輛輔助駕駛等[1-3].行人是目標(biāo)檢測(cè)中較難檢測(cè)的類型之一,具有較大的挑戰(zhàn)性,這主要是因?yàn)樾腥司哂胁煌淖藨B(tài)、體貌,且行人所處環(huán)境中的背景一般較為復(fù)雜,而且還要考慮光照變化、遮擋等外部因素.目前,行人檢測(cè)方法以背景建模法和基于統(tǒng)計(jì)學(xué)習(xí)的檢測(cè)方法為主.背景建模法包括背景減除法、光流法、幀差法等,通過(guò)提取出前景運(yùn)動(dòng)的目標(biāo),在目標(biāo)區(qū)域內(nèi)判斷是否包含行人,不過(guò)這類方法易受環(huán)境光照變化、畫面抖動(dòng)等條件影響[4].基于統(tǒng)計(jì)學(xué)習(xí)的方法主要通過(guò)提取行人特征,利用大量的行人樣本構(gòu)建行人檢測(cè)分類器,能夠克服行人姿態(tài)不同和光照變化等難點(diǎn),相較于背景建模法可達(dá)到更高的檢測(cè)精度[5].
基于統(tǒng)計(jì)學(xué)習(xí)的行人檢測(cè)方法是目前研究的主要方向,其中選取哪種行人的特征描述子和分類器會(huì)影響這類方法的檢測(cè)性能.描述圖像中行人的特征主要有:Haar,LBP和梯度方向直方圖(histogram of oriented gradient,HOG)等,利用的分類器主要有:神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(support vector machine,SVM)和Boosting等.大多數(shù)基于此方法的行人檢測(cè)算法都需要進(jìn)行大量的計(jì)算,在檢測(cè)速度方面存在較大問(wèn)題,故需要進(jìn)一步優(yōu)化以減少檢測(cè)時(shí)間.Papageorgiou等最早提出Haar特征后,Viola等[6-7]提出了使用積分圖來(lái)加快Haar特征的計(jì)算速度,并使用Adaboost構(gòu)建級(jí)聯(lián)分類器進(jìn)行行人檢測(cè);Dalal等[8]提出的HOG是應(yīng)用較廣的行人特征,對(duì)光照變化具有較強(qiáng)的魯棒性,但檢測(cè)時(shí)間較長(zhǎng);Zhu等[9]提出用積分直方圖來(lái)加快HOG特征的計(jì)算,并利用AdaBoost實(shí)現(xiàn)一個(gè)快速行人檢測(cè)系統(tǒng);Wojek等[10]通過(guò)GPU使用并行技術(shù)實(shí)現(xiàn)HOG計(jì)算,建立了一個(gè)實(shí)時(shí)行人檢測(cè)系統(tǒng);2008年Felzenswalb等[11]提出了可變形部件模型(deformable part model,DPM)目標(biāo)檢測(cè)算法,該算法對(duì)目標(biāo)多視角和形變問(wèn)題具有較強(qiáng)的魯棒性,但是DPM特征維度較高,單幅圖像檢測(cè)速度較慢[11].針對(duì)DPM的加速算法主要有2種方式:①星型級(jí)聯(lián)可變形部件(star-cascade DPM,casDPM)模型中通過(guò)主成分分析(principal component analysis,PCA)法降維和級(jí)聯(lián)分類器的檢測(cè)方式,該方式可過(guò)濾掉不存在目標(biāo)的區(qū)域,提高檢測(cè)速度[12];②Dubout等[13]使用FFT加速HOG特征和濾波器模型的卷積運(yùn)算.雖然這2種方法都對(duì)經(jīng)典DPM模型加速了約10倍,但均可以更進(jìn)一步提高檢測(cè)速度.
本工作通過(guò)對(duì)傳統(tǒng)DPM模型的研究發(fā)現(xiàn),在DPM算法通過(guò)滑動(dòng)窗口方式進(jìn)行目標(biāo)檢測(cè)時(shí),滑動(dòng)窗口數(shù)量與待檢測(cè)圖像的分辨率大小線性相關(guān),且一般圖像中背景區(qū)域面積占整幅圖像的一半以上,而背景區(qū)域的檢測(cè)花費(fèi)了大量時(shí)間.根據(jù)上述分析,如果能過(guò)濾掉背景并提取出包含目標(biāo)的區(qū)域,只在該區(qū)域上檢測(cè),就可以加快檢測(cè)速度,因此本工作提出了基于二進(jìn)制化的梯度范數(shù)(binarized normed gradients,BING)-casDPM的快速行人檢測(cè)算法.該算法首先通過(guò)BING算法標(biāo)定出目標(biāo)候選區(qū)域,然后根據(jù)候選區(qū)域特點(diǎn)提取待檢測(cè)框,最后利用casDPM模型進(jìn)行快速行人檢測(cè).實(shí)驗(yàn)結(jié)果證明,該行人檢測(cè)算法較傳統(tǒng)DPM模型和casDPM模型在基本不降低檢測(cè)率的同時(shí),大幅提升了檢測(cè)速度.
雖然,一些傳統(tǒng)的特征描述子對(duì)行人有較好的表達(dá)效果,但因?yàn)槠渚S度較高而不適合用作篩選目標(biāo)候選區(qū)域的特征,所以Cheng等[14]根據(jù)特征范數(shù)提出了BING特征,經(jīng)過(guò)有監(jiān)督特性的分類,快速篩選出一組包含目標(biāo)的候選窗口.
圖像中的物體一般孤立存在于背景中,有著清晰的輪廓和閉合的邊緣,而背景區(qū)域通常只呈現(xiàn)出同質(zhì)化特點(diǎn).當(dāng)把檢測(cè)窗口調(diào)整到一個(gè)較小的固定尺寸時(shí),不同物體的梯度范數(shù)(normed gradients,NG)特征會(huì)表現(xiàn)出一定共性,對(duì)于背景和物體有較好的辨別性.在進(jìn)行圖像檢測(cè)時(shí),將圖像縮放到不同的尺度空間,在調(diào)整后的尺寸上使用8×8的窗口,在水平和垂直方向使用算子[-1,0,1]計(jì)算梯度gx和gy,歸一化得到NG特征為

式中,b表示為二進(jìn)制化后得后的BING特征,b∈{0,1};k,l分別為8×8特征中的行列位置.
圖像中物體和背景的梯度圖對(duì)比如圖1所示,圖中紅框內(nèi)物體與綠框內(nèi)背景的梯度有較明顯的差異,物體的梯度模式比較雜亂,而背景比較單一和清楚.

圖1 尺寸為8×8的NG特征圖Fig.1 Size of 8×8 NG feature map
將NG特征二進(jìn)制化,使用byte類型存儲(chǔ)一個(gè)梯度,并且只取前Ng位表示梯度范數(shù)從而減少計(jì)算量,故64維的NG特征近似為BING特征為

式中:b表示為二進(jìn)制化后得到的BING特征,b∈{0,1};k,l分別為8×8特征中的行列位置.
利用BING特征性質(zhì)可以有效地篩選出包含目標(biāo)的窗口.標(biāo)定目標(biāo)候選區(qū)域就是將似物性較大的窗口篩選出來(lái),檢測(cè)窗口得分越高表明該區(qū)域似物性概率越大.似物性的定義如下:通過(guò)一個(gè)窗口將目標(biāo)物體框出來(lái),且這個(gè)窗口能夠最大程度地包含任何種類的物體[15].基于BING特征的目標(biāo)候選區(qū)域標(biāo)定算法如圖2所示.

圖2 基于BING的候選區(qū)域標(biāo)定算法Fig.2 Algorithm of candidate area calibration based on BING
首先,通過(guò)訓(xùn)練圖像上的標(biāo)注信息生成多個(gè)不同尺度進(jìn)行采樣,保留采樣樣本和標(biāo)注樣本重疊率大于50%的樣本,并歸一化到8×8大小保存為正樣本;在每張圖像中隨機(jī)采樣備選的窗口,保留與標(biāo)注樣本重疊率小于50%的窗口為負(fù)樣本.建立如式(3),(4)所示的窗口得分模型進(jìn)行訓(xùn)練:

式中:sl,w,gl分別為濾波器得分、第一級(jí)SVM訓(xùn)練得到的權(quán)值系數(shù)和BING特征;l,i,(x,y)分別為窗口坐標(biāo)、尺度和位置.
第一級(jí)線性SVM分類器中的權(quán)值參數(shù)w通過(guò)二值化處理提升式(3)的計(jì)算效率.如式(5)所示,采用“Gram-Schmidt”正交化將w投影到不同的正交向量中,只取包含前Nw個(gè)正交向量作為輸出來(lái)降低計(jì)算量[16-17]:

通過(guò)二值化近似后,得到BING特征對(duì)應(yīng)的窗口的得分模型:

集合sl中,有些尺寸(如20×500)相對(duì)于尺寸(如100×100)來(lái)說(shuō),窗口包含目標(biāo)的可能性較小,因此根據(jù)窗口大小、第一級(jí)分類器得分和最終窗口是否包含目標(biāo)等信息建立第二級(jí)SVM模型.訓(xùn)練時(shí),當(dāng)l位置的窗口與已標(biāo)注窗口重合度高于50%時(shí)放入正樣本,否則就放入負(fù)樣本;通過(guò)如式(7)所示的訓(xùn)練得到第二級(jí)分類器參數(shù),并使用其對(duì)測(cè)試圖像進(jìn)行最終窗口打分,輸出一系列按得分降序排列的目標(biāo)候選區(qū)域:

式中:vi,ti為第二級(jí)SVM訓(xùn)練得到的參數(shù);ol為最后計(jì)算得到的窗口分?jǐn)?shù).
測(cè)試圖像中背景區(qū)域通常占圖像面積50%以上,而DPM算法通過(guò)滑動(dòng)窗口遍歷檢測(cè)圖像,其背景部分的檢測(cè)會(huì)耗費(fèi)大量時(shí)間,因此本工作提出了基于BING-casDPM的快速行人檢測(cè)算法.該算法首先通過(guò)BING算法對(duì)目標(biāo)候選區(qū)域進(jìn)行標(biāo)定,再根據(jù)標(biāo)定結(jié)果的特點(diǎn)進(jìn)一步處理,提取待檢測(cè)框,將其作為輸入以縮小casDPM模型檢測(cè)范圍,減少滑動(dòng)窗口數(shù).相較于傳統(tǒng)DPM,casDPM采用級(jí)聯(lián)方式通過(guò)設(shè)定閾值過(guò)濾不包含目標(biāo)的區(qū)域,并采用PCA降維方式降低計(jì)算復(fù)雜度,加快了檢測(cè)速度.
使用基于BING的目標(biāo)候選區(qū)域標(biāo)定算法,輸入待檢測(cè)圖像在保證檢測(cè)精度的同時(shí),快速篩選產(chǎn)生一系列包含目標(biāo)的候選窗口.BING算法對(duì)每幅圖像產(chǎn)生約2 000個(gè)候選窗口,由于取得分排名前1 000的候選窗口時(shí)的檢測(cè)率可達(dá)96.2%,因此本工作取得分前1 000的窗口進(jìn)行進(jìn)一步處理.
通過(guò)分析BING算法得到的大量檢測(cè)結(jié)果發(fā)現(xiàn),得分排名1 000以內(nèi)的前20%的窗口雖然包含大部分目標(biāo),但是尺寸過(guò)大,且包含背景信息過(guò)多;得分排名80%以后的窗口目標(biāo)似物性較低,因此為了降低計(jì)算量以及準(zhǔn)確提取待檢測(cè)框,取得分排名20%~80%的目標(biāo)候選窗口進(jìn)行計(jì)算,而舍去其他候選窗口.候選窗口位置示意圖如圖3(b)所示,圖中的目標(biāo)區(qū)域以及光照變化明顯的區(qū)域的候選窗口相對(duì)集中,被判定可能存在目標(biāo)物體.本工作根據(jù)圖像中像素點(diǎn)在候選窗口出現(xiàn)的頻率提取待檢測(cè)框,結(jié)果如圖3(c)所示.

圖3 提取待檢測(cè)框Fig.3 Retrieve the box to be detected
待檢測(cè)框提取步驟如下.
(1)將候選窗口按似物性得分降序排序,取得分排名在20%~80%的600個(gè)窗口.設(shè)Bi為第i個(gè)候選窗口的位置,Pi(x,y)為像素I(x,y)與第i個(gè)候選窗口關(guān)系結(jié)果,則

(2)計(jì)算每個(gè)像素I(x,y)在所有候選窗口中出現(xiàn)的頻率:

(3)利用實(shí)驗(yàn)分析得到的頻率閾值t對(duì)P(x,y)進(jìn)行二值化得到Q(x,y):

通過(guò)式(10)得到一個(gè)和圖像I大小相同,且只包含0和1的矩陣Q,計(jì)算矩陣Q中包含所有數(shù)值1的最小矩陣,得到對(duì)角坐標(biāo)(xmin,ymin)和(xmax,ymax),并根據(jù)此坐標(biāo)得到圖像I中待檢測(cè)框(見(jiàn)圖3(c)).
行人檢測(cè)流程如圖4所示.將得到的待檢測(cè)框作為輸入,使用casDPM模型進(jìn)行行人檢測(cè).casDPM模型利用改進(jìn)的HOG特征、隱式支持向量機(jī)(latent SVM,LSVM)分類器和滑動(dòng)窗口方式,在傳統(tǒng)DPM模型基礎(chǔ)上通過(guò)PCA降維和級(jí)聯(lián)檢測(cè)加快檢測(cè).
傳統(tǒng)DPM模型中的特征取消了原HOG中的塊(block),以單元(cell)為單位,將cell中的梯度值分別離散到18個(gè)有符號(hào)梯度方向(0°~360°)和9個(gè)無(wú)符號(hào)梯度方向(0°~180°).通過(guò)歸一化并利用截?cái)嗪瘮?shù)進(jìn)行限幅,得到31維HOG特征,而casDPM模型中將31維特征進(jìn)一步PCA降維,以少量的開銷將原特征映射到前K個(gè)主成分中,這里取K=5.
casDPM模型的濾波器由2部分組成:①一個(gè)粗糙的根濾波器,主要從低分辨率圖像中確定整體目標(biāo)輪廓;②若干個(gè)部件濾波器,主要從高分辨率圖像中確定各部件的尺寸和位置[18].濾波器的得分是濾波器向量和窗口特征向量的點(diǎn)積.使用φ(H,p)表示為以p為左上角坐標(biāo)、尺寸為w×h窗口的全部特征向量串接起來(lái)的向量;H為HOG特征金字塔;p指定位于金字塔第l層的位置.HOG金字塔的位置用z=(p1,p2,···,pn)表示,其中pi=(xi,yi,li).行人站姿的DPM特征示意圖如圖5所示,其中(a)為根濾波器ω,(b)為部件濾波器pi(i>0),(c)為部件偏移情況.用di(δi)表示部件濾波器pi的偏離損失,越亮的部分表示部件濾波器相對(duì)于根濾波器偏離越大.
級(jí)聯(lián)檢測(cè)方式通過(guò)一系列閾值對(duì)部件模型進(jìn)行修剪.使用的閾值包括一個(gè)全局閾值T和按順序排列的 2n個(gè)中間閾值 ((t1,t′1),(t2,t′2),···,(tn,t′n));用Ψ表示圖像中每個(gè)部件的空間位置,對(duì)于每個(gè)根位置ω∈Ψ,ω區(qū)域在模型檢測(cè)后的得分為score(ω);對(duì)score(ω)采用形變修剪和假設(shè)修剪方式進(jìn)行n階評(píng)估;以mi(ω)表示部件pi在ω的得分;初始化輸出集為空集.最終根濾波器和部件濾波器的檢測(cè)得分為

式中:ai(ω)為部件濾波器pi的理想位置函數(shù);di(δi)為δi的二次函數(shù);⊕為二進(jìn)制操作符,表示當(dāng)最終得分score(ω)≥T時(shí),判定該區(qū)域包含目標(biāo),添加進(jìn)結(jié)果輸出集中[19].
待檢測(cè)框經(jīng)過(guò)casDPM模型級(jí)聯(lián)檢測(cè)后,得到的包圍框通過(guò)非極大值抑制產(chǎn)生精確行人結(jié)果(見(jiàn)圖4(c)).為了證明本算法的準(zhǔn)確性,最后將結(jié)果返回到原始尺度的檢測(cè)圖中(見(jiàn)圖4(d)).

圖4 行人檢測(cè)流程Fig.4 Pedestrian detection process

圖5 行人DPM特征示意圖Fig.5 DPM feature diagram of pedestrian
BING算法在Pascal VOC2007數(shù)據(jù)集中取已標(biāo)注各類物體的2 500張圖像訓(xùn)練;casDPM模型在INRIA數(shù)據(jù)集中取行人庫(kù)中1 000個(gè)正樣本和1 500個(gè)負(fù)樣本訓(xùn)練.系統(tǒng)訓(xùn)練和檢測(cè)使用的PC機(jī)配置為Inter Core i5-7300HQ@2.50 GHz;8 GB內(nèi)存.
本算法行人檢測(cè)流程如圖6所示.BING算法、待檢測(cè)框提取、casDPM模型組成了基于BING-casDPM的快速行人檢測(cè)算法.首先,使用BING算法將輸入圖像進(jìn)行目標(biāo)候選區(qū)域標(biāo)定,篩選得到一組按得分降序排列的候選窗口;然后根據(jù)候選窗口的分布特性提取待檢測(cè)框;最后應(yīng)用訓(xùn)練好的casDPM模型在待檢測(cè)框上檢測(cè)行人,并將檢測(cè)結(jié)果還原到原圖像中.

圖6 本算法的行人檢測(cè)框架圖Fig.6 Pedestrian detection frame of this algorithm
本工作是在PC平臺(tái)上Visual Studio 2012環(huán)境下,使用C++語(yǔ)言編程實(shí)現(xiàn)基于BING-casDPM的快速行人檢測(cè)算法.將本算法與經(jīng)典DPM模型和casDPM模型利用INRIA行人數(shù)據(jù)庫(kù)的檢測(cè)庫(kù)中進(jìn)行測(cè)試,該檢測(cè)庫(kù)圖像中行人目標(biāo)具有姿態(tài)多樣化、遮擋和視角不同等情況,且背景復(fù)雜、光照變化較大,能有效驗(yàn)證算法的檢測(cè)性能.288張測(cè)試圖像中包含589個(gè)行人,其在平均檢測(cè)時(shí)間、檢測(cè)率和誤檢率3個(gè)方面的性能比較如表1所示.

表1 經(jīng)典DPM算法、casDPM算法與本算法性能比較Table 1 Performance comparisons of classical DPM algorithm,casDPM algorithm and this algorithm
表1數(shù)據(jù)表明,在基本不損失檢測(cè)率的情況下本算法的平均檢測(cè)速度和誤檢率都優(yōu)于另外2種檢測(cè)算法,速度比傳統(tǒng)DPM模型提高約16倍,比casDPM模型提高約40%.檢測(cè)庫(kù)的圖像中有1 280×910,640×480,408×370等多種分辨率大小,本算法能從不同分辨率圖像中快速準(zhǔn)確地識(shí)別行人,對(duì)不同尺度的圖像有較好的適應(yīng)性.使用BING-casDPM模型在一定程度上也可以有效減少誤檢窗口,與casDPM模型檢測(cè)效果對(duì)比如圖7所示,證明本算法相較于casDPM算法有著更好的檢測(cè)性能.

圖7 不同算法對(duì)比圖Fig.7 Different algorithms contrast figure
本算法對(duì)輸入尺寸為640×480的實(shí)際場(chǎng)景圖像進(jìn)行行人檢測(cè)結(jié)果測(cè)試,運(yùn)行程序并在圖像中檢測(cè)出行人,結(jié)果如圖8所示.

圖8 本算法的行人檢測(cè)結(jié)果Fig.8 Pedestrian detection performance of this algorithm
從圖7中可以看出,該算法對(duì)主要行人目標(biāo)具有良好的檢測(cè)效果,基本沒(méi)有出現(xiàn)誤檢窗口.本算法主要是基于BING算法提取候選窗口,并利用casDPM模型進(jìn)行滑動(dòng)窗口方式的快速檢測(cè),在速度上較傳統(tǒng)DPM算法和casDPM算法有大幅提升.在檢測(cè)率上較其他2種算法略有下降,主要原因是BING算法在行人候選區(qū)域的準(zhǔn)確檢測(cè)對(duì)算法整體的檢測(cè)性能有很大影響.當(dāng)圖像背景非常復(fù)雜時(shí),BING算法可能未篩選出準(zhǔn)確的目標(biāo)候選窗口,導(dǎo)致有些目標(biāo)區(qū)域被判定為背景,在提取待檢測(cè)框時(shí)未將目標(biāo)包含進(jìn)去,從而沒(méi)有被casDPM模型檢測(cè)出,影響了最終檢測(cè)結(jié)果.
本工作提出了一種基于BING-casDPM的快速行人檢測(cè)算法.該算法主要針對(duì)滑動(dòng)窗口方式的DPM模型,在背景上花費(fèi)大量時(shí)間導(dǎo)致速度較慢的問(wèn)題,引入基于BING特征的目標(biāo)候選區(qū)域的快速標(biāo)定;并根據(jù)候選窗口在圖像上的分布特點(diǎn)進(jìn)一步處理,提取待檢測(cè)框;最后通過(guò)訓(xùn)練好的casDPM行人模型對(duì)待檢測(cè)框進(jìn)行細(xì)檢測(cè).通過(guò)仿真實(shí)驗(yàn)證明,該算法比經(jīng)典DPM模型和casDPM模型在保持一定檢測(cè)率的同時(shí)降低了誤檢率,大幅提高了檢測(cè)速度.未來(lái)本工作將繼續(xù)研究目標(biāo)候選區(qū)域和行人檢測(cè)算法的融合方式,進(jìn)一步分析利用目標(biāo)候選區(qū)域結(jié)果,提取更精確合理的待檢測(cè)框,以提高行人檢測(cè)算法的準(zhǔn)確率和實(shí)時(shí)性.