高 宗,李少波,b,陳濟楠,李政杰
(貴州大學(xué) a.現(xiàn)代制造技術(shù)教育部重點實驗室; b.機械工程學(xué)院,貴陽 550025)
行人檢測是目標檢測領(lǐng)域的重要分支。近年來在視頻監(jiān)控、汽車輔助駕駛和智能機器人等方面得到了廣泛關(guān)注。行人檢測技術(shù)經(jīng)過幾十年的研究發(fā)展,在檢測精度和速度上都取得了很大的進展。主流的行人檢測模型[1]主要有可變形部件模型 (Deformable Part Models,DPM)、深度網(wǎng)絡(luò) (Deep Network,DN)、決策樹(Decision Forest,DF)。基于這3種結(jié)構(gòu)的檢測方法各有特點,均可在行人檢測上得到相似的最優(yōu)結(jié)果。目前對于這3種模型孰優(yōu)孰劣尚無論斷。
傳統(tǒng)的行人檢測方法基于人工設(shè)計的特征提取器,通過提取Haar特征、方向梯度直方圖(Histogram of Oriented Gradient,HOG)、局部二值模式(Local Binary Pattern,LBP)等訓(xùn)練分類器,以達到行人檢測的目的,在行人檢測任務(wù)中取得了令人矚目成果。例如文獻[2]利用HOG+LBP特征處理行人遮擋,提高檢測準確率。文獻[3]和文獻[4]分別提出積分通道特征(Integral Channel Features,ICF)和聚合通道特征(Aggregated Channel Features,ACF),融合梯度直方圖、LUV色彩特征和梯度幅值特征,獲得了性能更好的行人特征表達。但人工設(shè)計的行人特征很難適應(yīng)行人的大幅度變化。深度網(wǎng)絡(luò)模型可以從圖像像素中學(xué)習(xí)特征,提高行人檢測器性能。文獻[5]提出的卷積神經(jīng)網(wǎng)絡(luò)檢測方法,運用基于卷積稀疏編碼的無監(jiān)督方法預(yù)訓(xùn)練卷積網(wǎng)絡(luò),用訓(xùn)練好的模型進行行人檢測。文獻[6]通過探究不同的網(wǎng)絡(luò)深度、卷積核大小以及特征維度對行人檢測結(jié)果的影響,構(gòu)建了基于卷積神經(jīng)網(wǎng)絡(luò)的行人分類器,但該檢測器不具備目標定位的功能。文獻[7-8]提出運用深度模型學(xué)習(xí)不同身體部位特征來解決行人遮擋問題,并根據(jù)不同部位間的相互約束完成行人檢測。深度網(wǎng)絡(luò)模型也在行人檢測領(lǐng)域得到了深入運用,隨著大規(guī)模訓(xùn)練數(shù)據(jù)集的構(gòu)建以及硬件計算能力的不斷增強,深度網(wǎng)絡(luò)結(jié)構(gòu)在不同的視覺任務(wù)中取得了巨大的成功。在目標檢測方面,從RCNN[9]、SPP-Net[10]、Fast-RCNN[11]、Faster-RCNN[12]到Y(jié)OLO[13],目標檢測的準確率和速度都達到了新的高度。其中YOLO網(wǎng)絡(luò)是目前最優(yōu)秀的目標檢測架構(gòu)之一,在檢測實時性方面表現(xiàn)尤為突出。
本文借鑒目標檢測領(lǐng)域先進的研究成果,提出將YOLO網(wǎng)絡(luò)結(jié)構(gòu)用于行人檢測,聚類選取初始候選框,重組特征圖,擴展橫向候選框數(shù)量,構(gòu)建基于YOLO網(wǎng)絡(luò)的行人檢測器YOLO-P。
基于YOLO網(wǎng)絡(luò)的檢測方法將候選框提取、特征提取、目標分類、目標定位統(tǒng)一于一個神經(jīng)網(wǎng)絡(luò)中。神經(jīng)網(wǎng)絡(luò)直接從圖像中提取候選區(qū)域,通過整幅圖像特征來預(yù)測行人位置和概率。將行人檢測問題轉(zhuǎn)化為回歸問題,真正實現(xiàn)端到端(end to end)的檢測。
行人檢測就是對輸入的圖像或視頻,進行候選框提取,判斷其中是否包含行人,若有給出其位置。而事實上,大部分的候選框中并不包含行人,如若對每個候選框都直接預(yù)測行人概率,無疑增加了網(wǎng)絡(luò)學(xué)習(xí)的難度。在YOLO-P的檢測方法中,將檢測分為3個過程,即候選框的提取、待測目標檢測、行人檢測與定位。在待測目標檢測的過程中,將部分預(yù)測框的置信度置為0,以降低網(wǎng)絡(luò)學(xué)習(xí)的難度。
將輸入的圖像劃分為M×N個單元格,每個單元格給定B個不同規(guī)格的初始候選框,如圖1所示,預(yù)測候選框經(jīng)由卷積層網(wǎng)絡(luò)提取出來,每幅圖像候選框數(shù)量為M×N×B。
圖1 YOLO-P行人檢測過程
首先對候選框進行目標檢測,預(yù)測每個候選框的中存在待判別目標的置信度Conf(Object),將不存在目標物的候選框置信度置為0。
對存在目標物的候選框進行行人判別,設(shè)預(yù)測目標物是行人的條件概率為Pr(Person|Object),則候選框中包含行人的置信度Conf:
對每個候選框預(yù)測其中包含行人的概率以及邊界框的位置,則每個候選框輸出的預(yù)測值為:
[X,Y,W,H,Conf(Object),Conf]
其中,X、Y為預(yù)測框中心相對于單元格邊界的偏移,W、H為預(yù)測框?qū)捀呦鄬τ谡鶊D像之比。對于輸入的每幅圖片,最終網(wǎng)絡(luò)輸出為向量:
M×N×B×[X,Y,W,H,Conf(Object),Conf]
本文網(wǎng)絡(luò)以YOLO網(wǎng)絡(luò)為原型,其采用區(qū)域建議網(wǎng)絡(luò)(Regions Proposal Network,RPN)的思想,去掉全連接層,采用卷積層來預(yù)測目標框的偏移和置信度。對特征圖中的每個位置預(yù)測這些偏移和置信度,以得到行人目標的概率和位置。
行人特征在深度學(xué)習(xí)網(wǎng)絡(luò)中展現(xiàn)出結(jié)構(gòu)性,高層的特征抽象程度高,表達出行人的整體特征,中層的特征相對具體,表達出行人的局部特征。結(jié)合不同細粒度特征,可以增加行人檢測的魯棒性。為提高對小目標的檢測,融合多級特征圖,讓不同細粒度的特征參與行人檢測,構(gòu)成YOLOv2[14]網(wǎng)絡(luò),結(jié)構(gòu)如圖2所示。
圖2 YOLOv2網(wǎng)絡(luò)結(jié)構(gòu)
在YOLO檢測方法中,圖像被分成S×S的網(wǎng)格。候選框在X和Y軸上同等密度分布,對人群進行檢測時,漏檢率較高。實際上,行人在圖像中呈現(xiàn)X軸上分布更密集,Y軸上分布相對稀疏的特點,如圖3所示。針對這一問題,本文提出在網(wǎng)絡(luò)中增加一個reorg層,重組特征圖,增加候選框在X軸方向的密度,同時減少Y軸方向候選框密度,構(gòu)成YOLO-P網(wǎng)絡(luò)(如圖4所示)。
圖3 行人在圖像中分布情況
圖4 YOLO-P網(wǎng)絡(luò)結(jié)構(gòu)
用于行人檢測的YOLO-P網(wǎng)絡(luò)模型,輸入圖像分辨率為448像素×448像素,若為每個網(wǎng)格選定4個初始候選框,則YOLO-P網(wǎng)絡(luò)輸出是大小為28×7×24的一組向量。
以開源的神經(jīng)網(wǎng)絡(luò)框架Darknet為基礎(chǔ),以YOLO-P網(wǎng)絡(luò)結(jié)構(gòu)為模型,訓(xùn)練行人檢測器。為加快訓(xùn)練速度和防止過擬合,選用的沖量常數(shù)0.9,權(quán)值衰減系數(shù)為0.000 5。學(xué)習(xí)率采用多分步策略。
為減少訓(xùn)練時間,以Darknet19網(wǎng)絡(luò)模型訓(xùn)練得到的網(wǎng)絡(luò)參數(shù)初始化卷積層網(wǎng)絡(luò)。該預(yù)訓(xùn)練模型由圖2中的前23層網(wǎng)絡(luò)后接一個平均池化層和一個全連接層構(gòu)成,在ImageNet1000數(shù)據(jù)集訓(xùn)練10個循環(huán)(epoch)后得到預(yù)訓(xùn)練參數(shù)。
基于卷積神經(jīng)網(wǎng)絡(luò)的行人檢測方法需要從大量樣本中學(xué)習(xí)行人特征,若樣本集不具有代表性,很難選擇出好的特征。本文以INRIA行人檢測數(shù)據(jù)集作為訓(xùn)練和測試數(shù)據(jù)集。
INRIA行人檢測數(shù)據(jù)集是目前使用最廣泛的靜態(tài)行人檢測數(shù)據(jù)庫之一,分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。訓(xùn)練數(shù)據(jù)集包含正樣本圖像614張,行人數(shù)目為1 237個;測試數(shù)據(jù)集包含正樣本圖像288張,行人數(shù)目為589個。圖像光照變化明顯,目標尺度變化大、行人姿態(tài)豐富、外觀服飾變化多、背景復(fù)雜且有不同程度的遮擋。
在訓(xùn)練網(wǎng)絡(luò)時,需要預(yù)設(shè)候選框的初始規(guī)格及數(shù)量。隨著迭代次數(shù)不斷增加,網(wǎng)絡(luò)學(xué)習(xí)到行人特征,預(yù)測框參數(shù)不斷調(diào)整,最終接近真實框。為加快收斂速度,提高行人檢測的位置精度,分析圖像中行人的寬高特點,用K-means方法進行聚類,得到與圖像中行人邊界最相近的初始候選框參數(shù)。
一般K-means聚類采用歐式距離衡量兩點之間的距離。本文對候選框?qū)捀吲c單位網(wǎng)格長度之比進行聚類。預(yù)測框和真實框的交并比(Intersection-Over-Union,IOU)是反映預(yù)測框與真實框差異的重要指標,IOU值越大,表明兩者差異越小,“距離”越近。聚類的目標函數(shù)為:
其中,i為聚類的類別數(shù),j為樣本集數(shù)量,Box[i]表示聚類得到的預(yù)測框i的規(guī)格,規(guī)格在數(shù)值上表示為一組數(shù)值:(預(yù)測框?qū)?圖像寬,預(yù)測框高/圖像框高),Truth[j]表示樣本j中行人定位框規(guī)格。
本文實驗環(huán)境為:Intel Xeon CPU E5-1620 V3 3.5 GHz,16 GB內(nèi)存,Nvidia Geforce GTX1080,Ubuntu16.04,64位操作系統(tǒng)。在該實驗環(huán)境下,YOLO-P檢測器的檢測速度達到25 frame/s,滿足實時性要求。
為驗證聚類選取初始候選框的規(guī)格和數(shù)量對行人檢測器的影響,選擇INRIA的訓(xùn)練和測試數(shù)據(jù)作為實驗數(shù)據(jù),以YOLOv2網(wǎng)絡(luò)訓(xùn)練行人檢測器。
1)對INRIA的行人數(shù)據(jù)的真實框以3.3節(jié)中所述K-means方法聚類,聚類類別數(shù)量B分別設(shè)定為3、4、5、6,聚類值為行人真實框?qū)捀叻謩e與圖像寬高之比。將聚類的結(jié)果(如表1所示)作為網(wǎng)絡(luò)訓(xùn)練候選框的初始規(guī)格。
表1 INRIA數(shù)據(jù)集上行人真實框聚類結(jié)果
2)每組實驗均選用YOLOv2網(wǎng)絡(luò)作為訓(xùn)練行人檢測器的網(wǎng)絡(luò),以排除其他因素的干擾。
3)每組實驗均選用INRIA數(shù)據(jù)集進行訓(xùn)練和檢測。檢測結(jié)果如圖5所示,以平均每張圖片誤檢數(shù)(False Positive Per Image,FPPI)作為橫坐標,漏檢率(Miss-rate)作為縱坐標。
圖5 不同聚類數(shù)量對檢測器的影響
從圖5可以看出,通過聚類選取初始候選框后,檢測器的漏檢得到了明顯改善。其中,將B=4的聚類結(jié)果作為初始候選框,訓(xùn)練得到的檢測器得到了最好的檢測結(jié)果。但需要注意該聚類結(jié)果僅反映的是INRIA數(shù)據(jù)集上行人的寬高特點,對其他數(shù)據(jù)集可能并不適用。
為驗證本文提出的增加橫軸方向候選框數(shù)量可以提高檢測器性能的有效性。以INRIA數(shù)據(jù)集作為實驗數(shù)據(jù),比較YOLOv2網(wǎng)絡(luò)和YOLO-P網(wǎng)絡(luò)所訓(xùn)練的檢測器的效果。
從圖6可以看出,在FPPI相同時,YOLO-P檢測器的漏檢率明顯低于YOLOv2檢測器。當FPPI為0.1時,YOLO-P檢測器的漏檢率為8.7%,較YOLOv2檢測器降低了2.5%。
圖6 YOLOv2與YOLO-P檢測結(jié)果對比
與當前具有代表性的行人檢測方法[15-18]進行比較,驗證YOLO-P檢測方法的有效性。所有檢測結(jié)果均在INRIA數(shù)據(jù)集上訓(xùn)練測試得到。檢測器的優(yōu)劣可以通過LAMR[19](Log-Average Miss Rate)指標評判。LAMR反映的是FPPI在[10-2,102]上的總體漏檢情況。
從圖7可以看出,YOLO-P檢測方法在LAMR指標評價中取得了最好的結(jié)果。在FPPI小于0.1時,漏檢率較其他檢測方法顯著降低。原因在于大多檢測方法采用的是人工設(shè)計的特征提取器(如HOG、LBP特征提取),行人特征表達不夠充分,在進行行人檢測時,“虛警”更多;而YOLO-P檢測方法由卷積網(wǎng)絡(luò)自學(xué)習(xí)行人特征,對行人特征表達更優(yōu)秀。
圖7 各檢測方法在INRIA數(shù)據(jù)集上測試結(jié)果對比
真實框與預(yù)測框的交并比(IOU)是反映行人檢測定位準確性的重要指標,值越大,表明定位準確性越高。比較各檢測方法預(yù)測結(jié)果的平均交并比(Average_IOU),如圖8所示,YOLO-P檢測器表現(xiàn)出了最好的定位準確性。
圖8 各檢測方法的平均交并比對比
本文提出將YOLO網(wǎng)絡(luò)架構(gòu)用于行人檢測,分析行人在圖像中的分布特點,改進網(wǎng)絡(luò)后得到Y(jié)OLO-P結(jié)構(gòu),以達到行人目標實時檢測的目的。實驗結(jié)果表明,該檢測方法具有較好的檢測準確率和定位準確性。但是,該檢測方法在Caltech[20]行人數(shù)據(jù)集上的檢測效果并不理想。主要原因是:檢測方法僅將靜態(tài)圖片的信息作為檢測依據(jù),信息來源較為單一;將行人檢測看作二值分類問題,對行人動態(tài)變化的檢測具有較大局限性。近年來,很多學(xué)者努力提取更多信息輔助檢測,如光流信息、環(huán)境信息等,提高特征表達能力,這是行人檢測發(fā)展的重要方向,也是下一步的研究重點。
[1] BENENSON R,OMRAN M,HOSANG J,et al.Ten years of pedestrian detection,what have we learned?[J].Computer Vision,2014,8926:613-627.
[2] WANG Xiaoyu,HAN T X,YAN Shuicheng.An HOG-LBP human detector with partial occlusion handling[C]//Proceedings of IEEE International Conference on Computer Vision.Washington D.C.,USA:IEEE Press,2009:32-39.
[4] DOLLAR P,APPEL R,BELONGIE S,et al.Fast feature pyramids for object detection[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2014,36(8):1532-1545.
[5] SERMANET P,KAVUKCUOGLU K,CHINTALA S,et al.Pedestrian detection with unsupervised multi-stage feature learning[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.[S.1.]:IEEE Computer Society,2013:3626-3633.
[6] 芮 挺,費建超,周 遊,等.基于深度卷積神經(jīng)網(wǎng)絡(luò)的行人檢測[J].計算機工程與應(yīng)用,2016,52(13):162-166.
[7] WANG Xiaogang,OUYANG Wanli.A discriminative deep model for pedestrian detection with occlusion handling[C]//Proceedings of IEEE International Conference Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2012:3258-3265.
[8] WANG Xiaogang,OUYANG Wanli.Joint deep learning for pedestrian detection[C]//Proceedings of IEEE International Conference on Computer Vision.Washington D.C.,USA:IEEE Press,2013:2056-2063.
[9] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[EB/OL].[2013-11-11].https://arxiv.org/abs/1311.2524.
[10] HE Kaiming,ZHANG Xianyu,REN Shaoqing,et al.Spatial pyramid pooling in deep convolutional networks for visual recognition[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2014,37(9):1904-1916.
[11] GIRSHICK R.Fast R-CNN[C]//Proceedings of IEEE International Conference on Computer Vision.Washington D.C.,USA:IEEE Press,2015:1440-1448.
[12] REN Shaoqing,HE Kaiming,GIRSHICK R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015:1-1.
[13] REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:unified,real-time object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Computer Society:2016:779-788.
[14] REDMON J,FARHADI A.YOLO9000:better,faster,stronger[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Computer Society,2017:6517-6525.
[15] DALAL N,TRIGGS B.Histograms of oriented gradients for human detection[C]//Proceedings of Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2005:886-893.
[16] FELZENSZWALB P,MCALLESTER D,RAMANAN D.A discriminatively trained,multiscale,deformable part model[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2008:1-8.
[17] CHEN Guang,DING Yuanyuan,XIAO Jing,et al.Detection evolution with multi-order contextual co-occurrence[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Computer Society,2013:1798-1805.
[18] ZHANG Shanshan,BENENSON R,OMRAN M,et al.How far are we from solving pedestrian detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Computer Society,2016:1259-1267.
[19] WOJEK C,DOLLAR P,SCHIELE B,et al.Pedestrian detection:an evaluation of the state of the art[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2012,34(4):743-761.
[20] DOLLAR P,WOJEK C,SCHIELE B,et al.Pedestrian detection:a benchmark[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2009:304-311.