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