夏金銘 范伊紅 柳昌志 段高輝
摘要:在校舍環(huán)境下,行人密集、遮擋、多尺度等問題比較常見,本文使用Faster R-CNN進(jìn)行校舍復(fù)雜環(huán)境下的行人檢測,訓(xùn)練樣本時,引入了一種困難樣本挖掘訓(xùn)練策略,在挑出困難樣本的同時,對困難樣本的權(quán)重進(jìn)行調(diào)整,使訓(xùn)練更有側(cè)重點;使用LabelImg對數(shù)據(jù)集進(jìn)行標(biāo)注,將VOC2007及標(biāo)注樣本進(jìn)行合并得到VOC2007擴(kuò)充數(shù)據(jù)集,在此數(shù)據(jù)集上進(jìn)行訓(xùn)練及測試。實驗結(jié)果顯示,與Faster R-CNN常用的四步訓(xùn)練法相比,使用本文訓(xùn)練方進(jìn)行訓(xùn)練,泛化性能得到明顯的提升。
關(guān)鍵詞 :卷積神經(jīng)網(wǎng)絡(luò);Faster R-CNN;困難樣本挖掘;行人檢測;LabelImg
中圖分類號:TP391? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)24-0218-04
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
An Algorithm based on Faster R-CNN for Pedestrian Detection
XIA Jin-ming, FAN Yi-hong*, LIU Chang-zhi, DUAN Gao-hui
(School of Software, Henan University of Science and Technology,Luoyang 471000,China)
Abstract: In the school environment, pedestrian-intensive, sheltered, multi-scale problems are common.In this paper, Faster R-CNN is used for pedestrian detection in complex environment of school buildings. When training samples,? A training strategy for Difficult Sample Mining is introduced, which adjusts the weight of difficult samples while picking out difficult samples, so as to make training more focused. LabelImg is used to lable the data sampled in complex environment. Then VOC2007 and the annotated samples are merged to obtain extended VOC2007 data set. Training and testing are carried out on this basis to establish the model with good performance. The experimental results show that compared with the four-step training method commonly used in Faster R-CNN, the generalization performance is improved by using this training method.
Key words: Convolutional Neural Network;Faster R-CNN;Difficult Sample Mining;Pedestrian detection;LabelImg
校舍安保是寄宿制學(xué)校安全問題的重中之重,雖然現(xiàn)今學(xué)校對校舍安保極為重視,但安保人員數(shù)目畢竟有限。校舍監(jiān)控輔助系統(tǒng)可以更好地協(xié)助安保人員的工作,因此,智能安保系統(tǒng)得到了廣泛的關(guān)注。該系統(tǒng)中行人檢測算法必不可少,行人檢測的過程可以分為特征提取和分類兩個階段。傳統(tǒng)行人檢測常用的特征描述算子有HOG(Histogram Of Gradients)[1]、積分通道特征[2]等,其中HOG由于自身的優(yōu)越性能,在行人檢測特征提取方面,最為常用。分類器的選擇也會直接影響檢測的準(zhǔn)確性,SVM[3]分類器由于其實現(xiàn)簡單,效果好,也被廣泛用于各種分類任務(wù)。
本文使用Faster R-CNN[5]算法進(jìn)行行人識別,并且引入了困難樣本挖掘訓(xùn)練策略提升算法泛化性能。
1 Faster R-CNN介紹
1.1 總體介紹
Faster R-CNN[5]總體可以分為三個部分:用于獲取輸入圖片特征的卷積神經(jīng)網(wǎng)絡(luò)、用于區(qū)域建議的RPN(Region Proposal Network)、用于分類的剩余部分網(wǎng)絡(luò)。整體結(jié)構(gòu)如圖1所示。
1.2 卷積層(Conv Layers)
本文算法使用VGG16[6]提取圖像特征。VGG16(圖2)中共有13個卷積層,13個ReLu層,4個pooling。最終輸出的特征圖為原始圖像尺寸的1/16,輸出的特征圖被RPN使用進(jìn)行預(yù)測。
RPN的整體架構(gòu)如圖3,其中最重要的處理為Proposal。
Proposal的具體過程:1.生成anchor;2.對anchor進(jìn)行邊框回歸(Border Box Regression) ;3按照step1中預(yù)測邊框的得分值,對第2步中的邊框回歸結(jié)果進(jìn)行第一次由大到小的排序,并提取前6000個前景定位信息;4.對超出圖像邊界的前景定位信息進(jìn)行修正,使其處于圖像內(nèi);5.剔除寬高非常小的前景定位信息;6.進(jìn)行非極大值抑制(Non-Maximum Suppression ,NMS);7.將NMS后的前景定位信息按照第3步中相同的方法進(jìn)行排序,并取前300個前景定位信息作為下一層的輸入。
anchor生成過程:把給定的初始正方形anchor的面積進(jìn)行1:2:0.5的變化形成三種不同面積的anchor后|將其邊長在保持面積不變的情況下進(jìn)行1:1、1:2、2:1的比值變化,最終形成9種不同比例的anchor。為了使anchor更準(zhǔn)確,可使用邊框回歸(Border Box Regression) [5] 提升精確度。
整體網(wǎng)絡(luò)的函數(shù)優(yōu)化目標(biāo)為:
[w*=argminW*iN(ti*-WT**?(Ai))2+k|W*|2]
即對目標(biāo)函數(shù)進(jìn)行凸優(yōu)化獲得F的參數(shù),使用梯度下降方法容易實現(xiàn)。
整個網(wǎng)絡(luò)的損失函數(shù)如下:
[LossRPN=1NclsiLclspi,p*i+k1Nregip*iLregti,t*i]
其中的:
[p*i=1,? IoUi>0.70,? IoUi<0.3]
[Lregti,t*i=i∈(x,y,w,h)smoothL1(ti-t*i)]
[smoothL1x=0.5x2,? |x|<1x-0.2,? others]
上式中分類的損失值是在RPN層中計算的,是前景的softmax結(jié)果,由于[Lcls]和[Lreg]結(jié)果差距過大,引入k平衡二者的值。
1.3 Faster R-CNN的訓(xùn)練
Faster R-CNN的訓(xùn)練方式有兩種,一種是聯(lián)合訓(xùn)練;另一種是將RPN和Fast-RCNN分開訓(xùn)練來提高模型的泛化性能,即四部法訓(xùn)練。
2 困難樣本挖掘訓(xùn)練策略
在對Faster R-CNN進(jìn)行訓(xùn)練時,每一次的訓(xùn)練僅僅是對這個訓(xùn)練集中的每個樣本進(jìn)行均等可能的選擇。即在一輪訓(xùn)練中訓(xùn)練樣本所占的權(quán)重相等,這種訓(xùn)練方式最大的問題在于沒有側(cè)重點。由于訓(xùn)練樣本規(guī)模有限,學(xué)習(xí)器想要在小規(guī)模樣本下對于校舍環(huán)境下行人密集,遮擋,多尺度,模糊等樣例有較好的預(yù)測結(jié)果很困難。困難樣本挖掘訓(xùn)練策略的思想來源于Adaboost [7-8],以及難負(fù)樣本挖掘[9]。本文訓(xùn)練策略綜合以上方法優(yōu)點,對于困難樣本權(quán)重進(jìn)行定量改變。
Adaboost的目的是將弱可學(xué)習(xí)算法轉(zhuǎn)換成非常精確的強可學(xué)習(xí)算法。其算法過程是:
(1)對于給定的數(shù)據(jù)集及其分布訓(xùn)練出一個分類器;
(2)通過這個分類器更新樣本的權(quán)值,即將分類錯誤的樣本的權(quán)值進(jìn)行增加,形成一個新的數(shù)據(jù)集;
(3)用新的數(shù)據(jù)集重復(fù)1,2過程直到所需的T次;
(4)通過加權(quán)的方式將所有的分類器結(jié)果結(jié)合起來;
文獻(xiàn)[10]中針對難負(fù)樣本挖掘方法進(jìn)行了優(yōu)化,其創(chuàng)新在于挑選出了難正樣本。本文提出的訓(xùn)練策略進(jìn)一步對困難樣本的權(quán)重進(jìn)行調(diào)整。
本文訓(xùn)練策略分多個步驟,首先使用四步訓(xùn)練法訓(xùn)練得到模型[At],然后計算此模型[At]在訓(xùn)練數(shù)據(jù)集[Dt]上的誤差:
[?t=Px~Dt(At(x)≠F(x))]
計算此模型的權(quán)重:
[αt=12ln (1-?t?t)]
對于在這一輪學(xué)習(xí)器中挑選出的困難樣本進(jìn)行調(diào)整,其中[F(x)]為真實結(jié)果:
[Dt+1x=DtZteαt? ? ? ? ? ?,? ? ? ?At(x)≠F(x)]
最后通過加權(quán)的方式確定最后一輪使用訓(xùn)練集樣本的權(quán)重:
[D'=αt×Dt]
然后將此過程中的模型進(jìn)行性能評估后挑選最合適的模型進(jìn)行使用。圖5表示了訓(xùn)練過程。
對于[At(x)≠F(x)]的判斷,本文同時考慮單個樣本的漏檢及錯檢情況。我們將每張圖片中,前景區(qū)域分類得分小于0.3的歸類于非人,即這些預(yù)測結(jié)果被歸類于反例,若這些得分小于0.3的預(yù)測結(jié)果中有和真實情況一致的,其歸類于漏檢。
在分類時,送入Fast-RCNN的是RPN區(qū)域建議結(jié)果映射到卷積層輸出的特征圖。區(qū)域建議的結(jié)果會直接影響分類的準(zhǔn)確率,根據(jù)這一特性,在單個樣本的IoU均值小于整體樣本的均值時,我們更傾向于把那些樣本作為困難樣本,在單個樣本IoU大于整體IoU均值時,我們更傾向于把單個樣本比分類平均得分低的那些作為困難樣本的主要考察點。綜上所述,可以得到以下篩選圖像的方法:
[II11+e-θEU-ui+EP-pi>1]
由于我們僅僅取[pij>0.3]的部分([pij]是第i個樣本中第j個前的分類得分值)。綜合考慮,當(dāng)[θ=30]時比較合適。其中[ pi]為單個樣本的分類平均得分,即真正例得分的和除以正例數(shù)。E(U)為訓(xùn)練集整體的IoU均值,E(P)為訓(xùn)練集整體的預(yù)測平均得分,計算方法同[ pi]。
3 實驗分析
3.1數(shù)據(jù)集
本文訓(xùn)練集采用了VOC2007中person分類的2095張圖片,同時使用LabelImg進(jìn)行校舍環(huán)境下采樣,并對得到的數(shù)據(jù)集進(jìn)行標(biāo)注,從而得到擴(kuò)充的新的數(shù)據(jù)集。詳細(xì)情況如表1所示。
數(shù)據(jù)集中的樣本:80%用于訓(xùn)練,剩余的20%用于測試。以下段落中,將此合并數(shù)據(jù)集稱為VOC2007擴(kuò)充數(shù)據(jù)集。
3.2 訓(xùn)練
本文實驗在Tensorflow(GPU)上進(jìn)行,操作系統(tǒng)使用Win10,硬件信息為:CPU為Intel i7-6700HQ,顯卡是NVIDIA GTX1060(3G),內(nèi)存16G。
訓(xùn)練共進(jìn)行六輪。前五輪中,第一輪使用VOC2007擴(kuò)充數(shù)據(jù)集不改變訓(xùn)練集樣本的權(quán)重進(jìn)行50000次的訓(xùn)練,生成的模型作為對比組。剩下的四輪,每一輪訓(xùn)練30000次后,使用此輪訓(xùn)練得到的模型對訓(xùn)練集樣本進(jìn)行預(yù)測,進(jìn)而生成下一輪訓(xùn)練的數(shù)據(jù)集。第一次生成的訓(xùn)練集樣本的分布情況如圖7。最后一輪訓(xùn)練所使用的訓(xùn)練集是考慮前四輪訓(xùn)練集中訓(xùn)練集樣本的權(quán)值而生成的。
3.3檢測結(jié)果分析
由表2和表3可知,相較于四步訓(xùn)練法,本文訓(xùn)練方法查全率有1.67%的提升,并且mAP也有些許提升。在本文訓(xùn)練方法第四輪中,mAP有0.71%的提升,并且查全率也有1.23%的提升。
由圖8可以看出,第一組對照樣本人與人之間出現(xiàn)了遮擋且密集。相比較之下,本文訓(xùn)練方法在保證前景建議區(qū)域位置準(zhǔn)確的情況下,查全性能也更好一些。
分析第二組對照圖片可得出:Faster R-CNN更傾向于把密集的人群當(dāng)作是單個的人,習(xí)得人的特征并不是特別好,造成這種情況的主要原因是RPN的輸出不準(zhǔn)確。相較于四步訓(xùn)練法,本文訓(xùn)練方法由于對RPN輸出與GT(Ground Truth)偏差較大的樣本權(quán)值進(jìn)行了增大,在訓(xùn)練時更多次的訓(xùn)練了偏差較大的樣本,所以RPN的輸出也更加的準(zhǔn)確,這種預(yù)測不準(zhǔn)的情況也稍有改善。
由圖9可以看出,在小尺度、密集情況下,F(xiàn)aster R-CNN表現(xiàn)情況欠佳。相比較于四步訓(xùn)練法,困難樣本挖掘方法檢測出了更多的人。即在行人小尺度的情況下,本文訓(xùn)練方法適性更強,泛化性能也相對更好。
4 結(jié)束語
本文使用Faster R-CNN來替代傳統(tǒng)的行人檢測算法,并且提出困難樣本挖掘訓(xùn)練策略,改變樣本權(quán)重,使訓(xùn)練更有側(cè)重點。相對于四步法訓(xùn)練,用本文訓(xùn)練方法的學(xué)習(xí)器在30000iters下的查全率比普通訓(xùn)練法的查全率有1.67%的提升,mAP也有所提升。在mAP提升0.71%的情況下查全率有1.29%的提升。速度上,由于沒有改變神經(jīng)網(wǎng)絡(luò)整體結(jié)構(gòu),仍然保持了RPN計算速度快的優(yōu)點。在本文實驗環(huán)境下,平均每張圖片的處理速度為52ms,提升硬件性能后完全可以用于實時檢測。
參考文獻(xiàn):
[1] Dalal N; Triggs B.Histograms of oriented gradients for human detection[C]//Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. IEEE, 2005, 1: 886-893.
[2] P. Doll?ar, Z. Tu, P. Perona and S. Belongie.Integral Channel Features[C].BMVC 2009, London, England. 1
[3]MASSA A,BONI A,DONELLI M. A classification approach based on SVM for electromagnetic subsurface sensing[J]. IEEE Transaction on Geoscience &Remote Sensing, 2004,43(9):2084-2093.
[4] 常玲玲,馬丙鵬,常虹,等.深度網(wǎng)絡(luò)結(jié)構(gòu)在行人檢測任務(wù)中的性能對比[J].計算機仿真,2017,34(7):373-377+411.
[5] Shaoqing Ren; Kaiming He; Ross Girshick; Jian Sun.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks,IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
[6] Karen Simonyan, Andrew Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition[C], in International Conference on Learning Representations (ICLR), 2015.
[7]Peng Wang; Chunhua Shen; Barnes, N.Fast and Robust Object Detection Using Asymmetric Totally Corrective Boosting[C], IEEE Transactions on Neural Networks and Learning Systems, 2012,23(1):33-46.
[8] Zhu Ji;Arbor Ann;Hastie Trevor. Multi-class AdaBoost[J].Statistics & Its Interface,2009,2(3):200-205
[9]SUNG K K.Learning and example selection for object and pattern detection[M].Cambridge:Massachusetts Institute of Technology,1996.
[10] 艾拓,梁亞玲,杜明輝.基于難負(fù)樣本挖掘的改進(jìn)Faster RCNN訓(xùn)練方法[J].計算機科學(xué),2018,45(5):250-254.
【通聯(lián)編輯:唐一東】