張 匯, 杜 煜, 寧淑榮, 張永華, 楊 碩, 杜 晨
(1.北京聯(lián)合大學智慧城市學院,北京 100101;2.北京聯(lián)合大學機器人學院,北京 100101;3.北京市信息服務工程重點實驗室,北京 100101)
行人檢測算法大致可以分為基于背景建模、基于輪廓模板、基于底層特征和基于統(tǒng)計學習四大類。基于Codebook背景建模算法提取運動前景,減少檢測過程的搜索范圍,構建臨時塊模型,結合行人檢測結果更新背景模型,實現(xiàn)行人檢測[1]。雖然該算法能應對光照突變,但是只能檢測運動的行人而不能檢測靜止的行人。基于輪廓模板的方法是指利用圖像中目標物體的邊緣輪廓、紋理和灰度等信息構建模版,通過模板匹配的方法檢測目標[2]。這種方法在原始圖像上進行運算,方法簡單易行,缺點是需要構建大量的模板才能取得比較好的匹配效果。為了更好地刻畫行人圖像特征,Dalal N等人[3]提出了梯度方向直方圖(histogram of oriented gradient,HOG)特征描述子,并通過采用與線性分類器支持向量機(support vector machine,SVM)相結合的策略,使得行人檢測效果取得了很大突破。陳芝垚提出了將可變形的組件模型(deformable part model,DPM)算法與HOG特征描述子相結合的算法,進一步提高了行人檢測率,改善了行人遮擋問題[4,5]。傳統(tǒng)的行人檢測方法主要存在以下幾個主要缺點:1)使用底層特征,對行人目標的表達能力不足;2)行人的特征可分性較差,導致分類錯誤率較高;3)行人特征針對性強,某一種特征只能適應某種特定場景,在另一種場景下很難到達同樣的效果[6~8]。
在目標識別領域, 2006年Hinton G E等人[9]提出了基于深度學習的算法,并利用深度卷積神經(jīng)網(wǎng)絡從大量的數(shù)據(jù)中學習高層特征。深度卷積神經(jīng)網(wǎng)絡將特征提取、特征選擇和特征分類融合在同一模型中,通過端到端的訓練,從整體上進行功能優(yōu)化,從而進一步增強了特征的分類。2012年,Krizhevsky A等人[10]在 ILSVRC比賽中使用卷積神經(jīng)網(wǎng)絡的方法,以15.3 %的錯誤率獲得了第一名,遠超出了第二名。Girshick R等人[11]提出了區(qū)域卷積神經(jīng)網(wǎng)絡(RCNN)模型[12],該模型利用Selective Search方法選取待檢測圖像中的若干個大小相同的候選區(qū),并使用深度卷積神經(jīng)網(wǎng)絡進行高層特征提取。然后使用多個SVM對特征進行分類,從而完成目標檢測。Girshick R[13]為了提高RCNN模型的檢測準確度和檢測速度,提出了快速RCNN(Faster RCNN)模型。
為了加快提取候選區(qū)域的速度,克服人工設計特征魯棒性差的難題,本文借鑒了目標檢測領域的Faster RCNN模型[14,15],加入K-means聚類算法提取初始候選區(qū)域,利用區(qū)域建議網(wǎng)絡(regional proposal network,RPN)生成建議候選區(qū)域,使用檢測網(wǎng)絡對行人目標進行分類和定位。K-means聚類和RPN聯(lián)合使用,減少了計算,大大節(jié)省生成候選區(qū)域的時間,實驗中使用INRIA數(shù)據(jù)集訓練該模型,得到Faster RCNN行人檢測模型參數(shù),驗證了Faster RCNN用于行人檢測耗時少,漏檢、誤檢少。
行人檢測過程如圖1所示,其中Faster RCNN包括RPN和檢測網(wǎng)絡。行人檢測的整個流程分為輸入圖像、通過ZFnet計算卷積特征、K-means聚類提取初始候選區(qū)域、利用RPN生成更加精準的候選區(qū)域、利用檢測網(wǎng)絡進行分類和回歸計算得到行人矩形框等6個過程。
圖1 Faster RCNN 行人檢測過程
一般,行人只在一張圖像中占很小的區(qū)域,如果對圖像每一個區(qū)域都進行計算,無疑增加了計算時間和學習訓練的難度。該方法通過RPN和檢測網(wǎng)絡共用相同卷積層的方式減少了圖像中建議區(qū)域的計算時間,同時保證了圖像中行人的檢測準確率。此外,聚類和RPN對檢測網(wǎng)絡的檢測位置提出建議,其輸入是待檢測圖像,輸出是一組可能是行人的矩形框建議區(qū)域,并且每個矩形框帶有一個得分值。
該方法利用INRIA行人檢測數(shù)據(jù)集對RPN區(qū)域建議網(wǎng)絡和檢測網(wǎng)絡進行訓練。如圖1所示,使用ZFnet網(wǎng)絡進行訓練,其輸出分別增加特定的層,從而得到RPN區(qū)域建議網(wǎng)絡和檢測網(wǎng)絡,用于提取輸入圖片中可能包含行人的區(qū)域,并計算其概率。
將輸入的圖像劃分為M×N個單元,每個單元格給定B個不同規(guī)格的初始候選區(qū)域,初始候選區(qū)域通過卷積計算提取,每幅圖像的初始候選區(qū)域數(shù)量為M×N×B個。
在訓練階段,需要設置候選區(qū)域的初始規(guī)格及數(shù)量。隨著迭代次數(shù)不斷增加,候選區(qū)域參數(shù)不斷調(diào)整,最終接近真實行人區(qū)域。為了加快收斂速度,使用K-means方法進行聚類,得到圖像中與行人相近的候選區(qū)域。一般,K-means聚類采用歐氏距離衡量兩點之間的距離,對候選區(qū)域的高寬與單位網(wǎng)格長度之比進行聚類。IOU(intersection over union)是反映候選區(qū)域與真實行人區(qū)域的重要指標,IOU值越大,表明兩者差異越小,聚類的目標函數(shù)為
(1)
式中N為聚類的類別,M為聚類的樣本集,Box[N]為聚類得到的候選區(qū)域寬高,Truth[M]為真實行人區(qū)域寬高。
為了得到更加精準的候選區(qū)域,將初始候選區(qū)域的卷積層特征作為RPN的輸入,輸出為一系列的矩形目標候選區(qū)域。為了生成候選區(qū)域,在卷積層輸出特征圖上進行了滑窗選擇。在特征圖中有若干個窗口,對于每個窗口,同時預測k個目標候選區(qū)域,每個窗口與k個目標候選區(qū)域存在聯(lián)系,稱為anchor。每個anchor有相對應的比例和尺度。卷積特征圖中的每一個點都是 anchor的中心,有k個相對應的anchors。每個滑窗被映射到一個256維的低維向量中。該特征向量被傳送到檢測網(wǎng)絡的兩個子網(wǎng)絡中:邊框回歸網(wǎng)絡和邊框分類網(wǎng)絡。邊框分類網(wǎng)絡輸出的是每個anchor屬于行人或者非行人的概率,因而對于每個滑窗,有2k個輸出,即將256維向量映射為2k維向量。行人矩形框的位置用(x,y,w,h)來表示,點(x,y)表示矩形框中心的頂點坐標,w,h分別表示矩形框的寬度和高度。邊框回歸網(wǎng)絡輸出的是每個anchor的平移縮放的值,根據(jù)行人矩形框的位置信息可知,對每個滑窗,有4k個輸出。
圖2 RPN
RPN的訓練過程是端到端的,使用反向傳播法和梯度下降法對區(qū)域提議網(wǎng)絡進行調(diào)優(yōu)。在訓練過程中,若待檢測區(qū)域與標記的正樣本完全重疊或者重疊部分的面積超過正樣本面積的0.7,則判定為行人,否則,判定為非行人。
L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]·Lreg(tu,v)
(2)
(3)
(4)
實驗的訓練樣本來自INRIA數(shù)據(jù)集中的訓練集,正負樣本分別選取5 000張作為訓練樣本;測試集有21 790張圖片,包含了56 492個行人,此外,測試集還包括在校園中采集的500張圖片。實驗硬件配置為Intel Core i7 處理器,內(nèi)存16 GB,英偉達顯卡GTX970M。在訓練階段,需要對訓練集中每張圖像中的每個行人用矩形框標記,有遮擋的行人也要標記。測試時,若識別出的行人框和標記的矩形框重疊部分達到標記的矩形框的90 %以上,則記為檢測成功。實驗結果如圖3所示。
圖3 行人檢測結果
實驗使用Caffe框架實現(xiàn)卷積神經(jīng)網(wǎng)絡模型, Faster RCNN中的Dropout、最大迭代值、批處理尺寸和非極大抑制值等參數(shù)對平均準確率值(mAP)產(chǎn)生較大的影響,為了得到較好的輸出,需要對這些參數(shù)進行優(yōu)化。實驗中,最大迭代次數(shù)為8 000,區(qū)域提議階段批尺寸為256,檢測階段尺寸為128,經(jīng)過實驗驗證其優(yōu)化結果如表1所示。可知:當Dropout從0.2升至0.6時,mAP的值在增加,當Dropout從0.6升至0.8時,mAP值在減小。當Dropout取0.6時,mAP取得最大值。
表1 不同Dropout比例的mAP的影響
在Dropout為0.6,最大迭代次數(shù)為8 000的條件下,得到的實驗結果如表2所示。實驗表明,區(qū)域提議階段的尺寸越小則mAP值越大。
表2 不同區(qū)域提議階段尺寸對mAP的影響
實驗采用mAP最大時對應的Faster RCNN的參數(shù),并與DPM方法開展了對比分析實驗。實驗結果如圖4,表明采用Faster RCNN方法的行人檢測的準確率和召回率明顯高于DPM 方法。
圖4 Faster RCNN方法和DPM方法的對比實驗
提出了基于Faster RCNN的行人檢測方法,并與DPM方法進行了對比分析實驗。實驗結果表明:相比基于DPM的行人檢測方法,F(xiàn)aster RCNN方法檢測準確度更高、實時性更好。