李秀華, 王 磊, 宋立明, 喻文舉
(長春工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 吉林 長春 130012)
基于人體部位行人檢測算法
李秀華, 王 磊, 宋立明, 喻文舉
(長春工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 吉林 長春 130012)
首先運(yùn)用haar-like特征集,使用Adaboost算法訓(xùn)練全身和頭肩、軀干和腿等部位檢測器。全身檢測器產(chǎn)生行人候選區(qū)域,再劃分頭肩、軀干和腿的待檢測區(qū)域,然后將檢測區(qū)域的檢測結(jié)果組合分析,最后確定是否為行人。移動攝像機(jī)拍攝的視頻圖像結(jié)果表明,該方法在復(fù)雜街道上具有良好的檢測效果。
Adaboost算法; 部位檢測器; 行人檢測
圖像處理技術(shù)應(yīng)用在我們生活的方方面面,人臉識別、醫(yī)學(xué)圖像處理、圖像檢索、行人檢測等都離不開圖像處理技術(shù)。每年我們國家發(fā)生很多交通事故,駕駛員負(fù)有很大責(zé)任,隨著汽車技術(shù)和行人檢測技術(shù)的發(fā)展,行人檢測技術(shù)被應(yīng)用于汽車安全輔助駕駛系統(tǒng)來提醒駕駛員,減少交通事故。目前行人檢測的方法主要有對人的全身檢測和對人體的部位檢測兩大類。Viola和Jones[1]介紹一種在單個(gè)人體檢測器中集成運(yùn)動信息和外貌信息的人體檢測系統(tǒng)。它的誤報(bào)率很低,但是這種方法檢測靜止的攝像機(jī)所拍攝的圖片比較有效,當(dāng)攝像機(jī)運(yùn)動速度很快時(shí),連續(xù)幀的背景會發(fā)生變化,它的誤報(bào)率會非常高?;谡w的檢測方法在圖片比較簡單且行人遮擋不嚴(yán)重的情況下檢測效果比較好。Papageorgiou[2]等的SVM檢測器、Gavrila[3]的邊緣模板檢測器和Wu[4]等的Markov檢測器等。在行人出現(xiàn)嚴(yán)重遮擋時(shí),系統(tǒng)的性能也會明顯下降,而基于人體部位的檢測方法則表現(xiàn)出了良好性能。Anuj Mohan[5]等介紹了一種基于部位組合(Voting Combination Classifiers)的人體檢測方法,稱之為分類器(VCC)的投票組合,從圖像中提取haar-like特征,然后對其進(jìn)行訓(xùn)練分類,該方法的實(shí)驗(yàn)結(jié)果表明,其檢測性能明顯優(yōu)于基于整個(gè)人體的檢測算法。
在文獻(xiàn)[5]的基礎(chǔ)上,提出了一種在單幀圖片上人體部位組合的算法。將人體分為頭肩(Head-Shoulder)、軀干(Torso)和腿(Leg)。該算法在滿足實(shí)時(shí)性的同時(shí)也提高了檢測率。
文中采用了haar-like特征集,haar-like[6]特征計(jì)算簡單,特別是引入積分圖后,計(jì)算量大大降低,在稀疏行人且遮擋不嚴(yán)重的情況下檢測效果較好,實(shí)時(shí)性較高,用Adaboost算法訓(xùn)練行人檢測系統(tǒng)的Full-body檢測器和頭肩、軀干和腿等部位檢測器。Adaboost算法是先訓(xùn)練出一系列弱分類器,然后將這些弱分類器組合成強(qiáng)分類器,最后將多個(gè)強(qiáng)分類器組合成最終的部位檢測器。
文中的行人檢測算法只在相應(yīng)的待檢測區(qū)域進(jìn)行檢測,檢測時(shí)間較少;將各個(gè)部位檢測的結(jié)果進(jìn)行組合分析,盡可能的提高檢測率;當(dāng)行人某個(gè)部位被遮擋時(shí)也能檢測出行人。
部位檢測器分割圖如圖1所示。
圖1 部位檢測器分割圖
文中的行人檢測系統(tǒng)分為兩個(gè)過程。在第一個(gè)過程中,用full-body檢測器在單幀圖像上產(chǎn)生行人候選區(qū)域。在第二個(gè)過程中,參考文獻(xiàn)[7]中的方法,根據(jù)圖1所劃分的人體部位位置及比例,在每個(gè)候選行人區(qū)域劃分部位的檢測區(qū)域,因?yàn)檎G闆r下按照自然人體部位幾何約束條件,人的頭和肩只可能出現(xiàn)在整個(gè)人體檢出框的上半部分位置,腿只可能出現(xiàn)在整個(gè)人體檢出框下半部分位置,而軀干只可能出現(xiàn)在它們之間的位置。這樣部位檢測器只會在各自的檢測區(qū)域內(nèi)檢測而不必檢測整個(gè)人體,大大提高了檢測效率。各個(gè)部位檢測器可能會檢測出多個(gè)檢出框,依據(jù)檢出框的幾何信息比較檢出框響應(yīng)值的大小,選擇出最好的檢出框。最后,將各個(gè)部位的檢測結(jié)果進(jìn)行組合分析,判斷候選者是否為人。
算法的具體步驟如下:
1)用full-body檢測器產(chǎn)生候選行人;
2)為候選行人設(shè)置人體部位檢測區(qū)域;
3)用頭肩、軀干和腿等部位檢測器在圖像中的相應(yīng)位置進(jìn)行檢測;
4)將頭肩、軀干和腿等部位檢測器的檢出結(jié)果組合分析判斷候選者是否為人。
在文獻(xiàn)[5]中介紹了一種VCC(Voting Com-bination Classifiers)的方法,即投票組合分類器。VCC是通過一個(gè)投票結(jié)構(gòu)來組合分類器。頭肩、軀干和腿等部位檢測器可以看成是投票者。VCC系統(tǒng)對投票者進(jìn)行調(diào)查,然后根據(jù)結(jié)果決定是否為人。只有當(dāng)所有3個(gè)組件類都在適當(dāng)?shù)呐渲弥斜粰z測到時(shí),系統(tǒng)才會對投票結(jié)果進(jìn)行評估,評估按如下所示的邏輯:
當(dāng)Person=true時(shí),系統(tǒng)則判定為人。
在此基礎(chǔ)上增加了部位檢測器輸出響應(yīng)值與檢測器閾值的差值評估,形成新檢測算法,以進(jìn)一步提高準(zhǔn)確率,檢測算法有兩個(gè)遞進(jìn)的約束條件,算法如下:
1)在候選行人X中,判定候選行人頭肩、軀干和腿都能檢測出的條件為:
2)當(dāng)人體部位i被檢測出時(shí)用Yi表示,人體的各個(gè)部位檢測區(qū)域用xi表示,S(xi)表示各個(gè)部位檢測器輸出響應(yīng)值,i∈{HS,T,L}。則部位檢測器與檢測器閾值的差值關(guān)系式如下:
Ti是i部位檢測器的閾值,則進(jìn)行如下判決:
令Yi∈{0,1},i∈{HS,T,L},若人體部位i未檢出,則Yi=1;若人體部位i被檢出,則Yi=0。我們能構(gòu)造如下一個(gè)函數(shù):
其中wi按照下式計(jì)算:
候選人體實(shí)際部位i的質(zhì)心和大小分別為(xdi,ydi)和(Wdi,Hdi),候選人體檢測出的部位i的質(zhì)心和大小分別為(xsi,ysi)和(Wsi,Hsi),λi為常數(shù),用于權(quán)衡部位檢出框的位置和大小。
最后,組合檢測器的輸出為:
文中訓(xùn)練和測試所用的樣本圖片均來自MIT和INRIA數(shù)據(jù)庫以及MIT數(shù)據(jù)庫的行人鏡像圖片,負(fù)樣本圖片來自CBCL streetscenes challenge Images數(shù)據(jù)庫,訓(xùn)練用的正負(fù)樣本分別為1 800個(gè)人體圖片和5 400張不包括人的自然街道和公路圖片。采用樣本尺寸為 24×48像素訓(xùn)練full-body檢測器,將這些正負(fù)訓(xùn)練樣本圖片均按照圖1所示的部位位置比例裁剪下來組成各個(gè)部位檢測器的訓(xùn)練樣本。這些行人樣本是用不同攝像機(jī)在不同光照條件下和不同視點(diǎn)拍攝的不同姿勢、不同顏色衣服、不同運(yùn)動方式在街道上行走的人。測試用的正負(fù)樣本各300張,每張圖像的大小為64×128像素。許多圖像的背景非常雜亂,有許多類似人的物體,如樹木、郵箱、垃圾桶、路牌、路燈及建筑物窗戶等。
將部位檢測器單獨(dú)進(jìn)行測試并將結(jié)果繪制成ROC曲線,如圖2所示。
該曲線說明了不同部位檢測器識別圖像中人的能力,腿表現(xiàn)最好,其次是頭肩部和軀干。腿的優(yōu)越性能是由于圖像中下部分身體的背景通常是街道或草地,而頭部和手臂的背景相對來說比較雜亂。軀干姿態(tài)變化較大,一些類似柱狀物體容易錯(cuò)認(rèn)為軀干,但是頭肩部位有相對于軀干的優(yōu)勢:姿態(tài)一般變化不大,人在運(yùn)動時(shí)軀干有時(shí)會受到手臂擺動的影響,而頭肩的形狀相對比較穩(wěn)定。每個(gè)部位的檢測結(jié)果以及組合后的結(jié)果如圖3所示。
將基于整個(gè)人體的檢測系統(tǒng)[8]VCC和文中提出的行人檢測系統(tǒng)在測試集上進(jìn)行測試,檢測結(jié)果見表1。
由于基于整個(gè)人體的檢測系統(tǒng)結(jié)構(gòu)比較簡單,處理一幀大小為(64×128)的圖像平均耗時(shí)僅11.416 4 ms,但是誤檢率比較高。文中方法雖然僅比VCC系統(tǒng)快幾毫秒,可以說基本一樣,但能滿足實(shí)時(shí)檢測的要求。3種方法中,文中方法檢測率最高,VCC系統(tǒng)次之,基于整個(gè)人體的檢測系統(tǒng)檢測率最低。
對ROC曲線的分析表明,由于對人體部位進(jìn)行組合,VCC系統(tǒng)的檢測性能相對于基于整個(gè)人體的檢測系統(tǒng)有所提高,而文中方法對VCC系統(tǒng)進(jìn)行了改進(jìn),測試結(jié)果表明,文中方法取得了良好的檢測效果,系統(tǒng)的檢測性能優(yōu)于VCC系統(tǒng)。城市街道兩邊雜亂的樹木、路牌、垃圾箱、消防設(shè)備、路燈及建筑屋的窗戶與行人非常類似,行人檢測的過程中會形成一些誤報(bào),文中將人體的幾何信息和行人部位檢測器的響應(yīng)值相結(jié)合,能減少這種誤報(bào),行人檢測算法在街道復(fù)雜場景中的檢測結(jié)果如圖4所示。
圖2 各種方法的ROC曲線
圖3 各個(gè)部位檢測器的檢測結(jié)果
方法人體圖片非人體圖片檢測率/%誤檢率/%檢測時(shí)間/ms全身檢測30030094.6363.03011.41640VCC30030095.4392.25045.12090文中方法30030096.1001.36540.50335
圖4 復(fù)雜場景中行人檢測結(jié)果圖像
利用人體幾何約束條件,將人體分割成頭肩、軀干和腿3個(gè)部位,其檢測器只在各自限定的部位區(qū)域進(jìn)行檢測,能有效解決行人的遮擋問題,檢測速度也得到了提高,在數(shù)據(jù)集上的檢測結(jié)果表明,該方法能夠很好地檢測道路上的行人,文中算法表現(xiàn)出的檢測性能也是3種方法中最好的。道路上行人檢測要求實(shí)時(shí)性,文中方法只采用了最簡單的haar-like小波特征,這對行人的檢測性能也產(chǎn)生了一定影響,在以后的研究工作中嘗試將一些具有更好性能的特征進(jìn)行組合,來取得更好的檢測效果。
[1] Viola P, Jones M J, Snow D. Detecting pe-destrians using patterns of motion and appearance [J]. International Journal of Computer Vision,2005,63(2):153-161.
[2] Papageorgiou C, Poggio T. A trainable system for object detection[J]. International Journal of Computer Vision,2000,38(1):15-33.
[3] Gavrila D M. Pedestrian detection from a moving vehicle [J]. Proceedings of European Conference on Computer Vision (EC-CV),2000,1843:37-49.
[4] Wu Ying, Yu Ting, Hua Gang. A statistical field model for pedestrian detection [J]. IEEE Computer Society Conference on Computer Vision (ECCV),2004(1):69-81.
[5] Mohan A, Papageorgiou C, Poggio T. Example-based object detection in images by components [J]. IEEE Trans on PAMI,2001,23(4):394-361.
[6] 程思寧,武丹丹,張俊芬,等.基于小波的人臉識別算法[J].長春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2006,27(1):4-7.
[7] WU B. Detection of multiple partially occluded humans in a single image by bayesian combination of edgelet part detectors [J]. I-EEE International Conference on Computer V-ision,2005(1):90-97.
[8] Monteiro G, Peixoto P. U nunes vision-based pedestrian detection using haar-like features[J]. Robótica,2006(5):45-50.
Researchoncomponent-basedpedestriandetection
LI Xiuhua, WANG Lei, SONG Liming, YU Wenju
(School of Computer Science & Engineering, Changchun University of Technology, Changchun 130012, China)
With haar-like dataset, the Adaboost algorithm is used to train full-body detector and detectors of part of body such as head-shoulder,torso and leg, and then the pedestrian candidate areas were generated by full-body detector and the pedestrian candidate areas were divided into three parts of head-shoulder, torso and leg. The three body part detectors with the head, torso and leg were detected the corresponding parts of the area and analyze the combination of detection results, to further determine the pedestrian candidate whether people. Experimental results show the method has high performance in detecting pedestrians in cluttered background.
Adaboost algorithm; part detector; pedestrian detection.
2017-07-21
吉林省科技廳基金資助項(xiàng)目(20160312002ZG)
李秀華(1971-),女,漢族,吉林長春人,長春工業(yè)大學(xué)副教授,博士,主要從事圖像處理與智能控制方向研究,E-mail:lixiuhua@ccut.edu.cn.
10.15923/j.cnki.cn22-1382/t.2017.5.04
TP 391.41
A
1674-1374(2017)05-0433-05