徐樂 劉翔 張華
摘 要:目標(biāo)檢測(cè)是計(jì)算機(jī)視覺領(lǐng)域重要的研究方向,應(yīng)用于無(wú)人駕駛、機(jī)器人、行人檢測(cè)等領(lǐng)域。然而,高檢測(cè)準(zhǔn)確率、魯棒性等對(duì)目標(biāo)檢測(cè)方法提出了嚴(yán)苛要求。針對(duì)SSD對(duì)不同場(chǎng)景下檢測(cè)準(zhǔn)確率較低的問(wèn)題,提出了一種改進(jìn)的基于殘差網(wǎng)絡(luò)的SSD目標(biāo)檢測(cè)模型,以提升對(duì)不同場(chǎng)景的檢測(cè)精度。對(duì)比研究了不同算法在MIT數(shù)據(jù)集和真實(shí)交通場(chǎng)景下的檢測(cè)能力。實(shí)驗(yàn)結(jié)果表明,該方法的車輛目標(biāo)檢測(cè)準(zhǔn)確率為96.72%,耗時(shí)短,魯棒性高,有一定的泛化能力,為未來(lái)智能輔助駕駛系統(tǒng)提供了一種全新思路。
關(guān)鍵詞:深度學(xué)習(xí);SSD;車輛目標(biāo)檢測(cè)
DOI:10. 11907/rjdk. 182396
中圖分類號(hào):TP306 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2019)005-0027-04
Absrtact: Target detection has become an important research direction and research hotspot in the field of computer vision, and has been applied in the fields of unmanned driving, robot, pedestrian detection and so on. However, the requirements of high detection accuracy, robustness, etc. put forward more stringent requirements and challenges to target detection methods. An improved SSD target detection model based on residuals network is proposed to improve the accuracy of SSD detection for different scenes. In addition, the detection ability of different algorithms in MIT data sets and real traffic scene data sets is compared. The experimental results show that the accuracy of vehicle target detection based on this method is 96.72%, the time consuming is short, the robustness is high, and the method has certain generalization ability, which provides a new way of thinking for the future intelligent auxiliary driving system.
Key Words: deep learning; SSD; vehicle target detection
0 引言
高級(jí)駕駛輔助系統(tǒng)(Advanced Driver Assistance Systems, ADAS)是目前智能車輛領(lǐng)域研究和發(fā)展的重點(diǎn),對(duì)車輛行駛環(huán)境中前方移動(dòng)目標(biāo)的準(zhǔn)確實(shí)時(shí)檢測(cè)是ADAS完成其駕駛?cè)蝿?wù)的重要前提[1]。近年來(lái),智能交通系統(tǒng)(Intelligent Traffic System, ITS)在駕駛技術(shù)方面發(fā)展迅速,前方車輛檢測(cè)作為ITS的重要組成部分,起著舉足輕重的作用。然而,車輛種類復(fù)雜多樣,場(chǎng)景環(huán)境復(fù)雜多變,前方車輛檢測(cè)成為智能交通系統(tǒng)研究的難點(diǎn)之一,常用方法主要基于傳統(tǒng)算法、深度學(xué)習(xí)?;趥鹘y(tǒng)算法的方法通常通過(guò)提取圖像中的車輛目標(biāo)特征進(jìn)行檢測(cè),但魯棒性較低,泛化能力弱,準(zhǔn)確率較低[2]。隨著深度學(xué)習(xí)[3-4]技術(shù)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺領(lǐng)域得以廣泛應(yīng)用,在目標(biāo)檢測(cè)領(lǐng)域使用深度學(xué)習(xí)實(shí)現(xiàn)目標(biāo)檢測(cè)成為一個(gè)新的研究方向[5]。
1 前方車輛檢測(cè)研究現(xiàn)狀
傳統(tǒng)前方車輛檢測(cè)算法模型通常使用基于滑動(dòng)窗口的局域選擇以及手工設(shè)計(jì)原理解決前方車輛目標(biāo)難以識(shí)別問(wèn)題,但對(duì)滑動(dòng)窗口的區(qū)域選擇易受人為主觀因素影響[6]。其中,Haar、梯度方向直方圖(Histograms of Oriented Gradient, HOG)等被用來(lái)檢測(cè)車輛,但易造成誤檢和丟失幀 [7-9]。MB-LBP和Adaboost在提取車輛候選區(qū)域方面,根據(jù)區(qū)域的水平邊緣和灰度特征去除誤檢車輛,魯棒性不高是其缺陷[10]。傳統(tǒng)算法的泛化能力較弱,處理大量圖片的能力較差,已無(wú)法滿足日趨復(fù)雜的交通場(chǎng)景需求[11]。隨著深度學(xué)習(xí)理論知識(shí)的不斷強(qiáng)化,實(shí)踐操作不斷完善,對(duì)此提出更加有效的解決方法是大勢(shì)所趨。
文獻(xiàn)[12]設(shè)計(jì)了R-CNN框架,提出基于region proposal(候選區(qū)域)的目標(biāo)檢測(cè)方法,但該方法計(jì)算復(fù)雜,難以滿足實(shí)時(shí)性需求。文獻(xiàn)[13-14]提出了一種基于快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast R-CNN)的車輛目標(biāo)發(fā)現(xiàn)方法,對(duì)前期樣本候選區(qū)域(object proposals[15])提取過(guò)程較為費(fèi)時(shí),無(wú)法在樣本和網(wǎng)絡(luò)之間形成端到端的檢測(cè)過(guò)程。文獻(xiàn)[16]提出了一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)[17](Convolutional Neural Network,CNN)分類器和卷積算法,魯棒性較好,但避免不了漏檢情況。針對(duì)在光照、場(chǎng)景發(fā)生變換時(shí)車輛檢測(cè)效果不佳問(wèn)題,文獻(xiàn)[18-20]以Faster R-CNN目標(biāo)檢測(cè)方法為基礎(chǔ),提出了改進(jìn)后的算法,提高了車輛目標(biāo)檢測(cè)的準(zhǔn)確性,但無(wú)法檢測(cè)出小目標(biāo)。針對(duì)獲得小目標(biāo)精確檢測(cè)和定位問(wèn)題,文獻(xiàn)[21]提出了區(qū)域卷積神經(jīng)網(wǎng)絡(luò)Faster-RCNN模型對(duì)空地車輛的檢測(cè)方法,但樣本數(shù)量不夠充分,僅僅局限于檢測(cè)小型客車車型。為提高檢測(cè)精度,文獻(xiàn)[22]提出了YOLO目標(biāo)檢測(cè)框架,但未應(yīng)用到實(shí)際場(chǎng)景中。
針對(duì)上述研究方法的不足,本文提出基于SSD(Single Shot MultiBox Detection)的前方車輛檢測(cè)模型與殘差網(wǎng)絡(luò)(Residuals Network, ResNet)結(jié)合算法,收集大量的實(shí)驗(yàn)數(shù)據(jù)樣本,研究對(duì)比了不同算法在相同數(shù)據(jù)集上的前方車輛檢測(cè)能力。實(shí)驗(yàn)結(jié)果表明,該方法檢測(cè)率較高,實(shí)時(shí)性較強(qiáng),魯棒性較好,能應(yīng)用于車輛目標(biāo)檢測(cè)。
2 前方車輛檢測(cè)算法
2.1 算法核心流程
本文將之前SSD網(wǎng)絡(luò)中的VGG網(wǎng)絡(luò)替換為ResNet網(wǎng)絡(luò),其余結(jié)構(gòu)不變。ResNet結(jié)構(gòu)如表1所示。
首先將采集到的圖像輸入到ResNet網(wǎng)絡(luò)模型,對(duì)數(shù)據(jù)樣本進(jìn)行預(yù)訓(xùn)練,得到預(yù)訓(xùn)練參數(shù);再將SSD目標(biāo)提取檢測(cè)網(wǎng)絡(luò)接在ResNet網(wǎng)絡(luò)之后,對(duì)特征進(jìn)行提?。欢啻蔚?,選擇準(zhǔn)確率較高的訓(xùn)練模型,最后將確定的訓(xùn)練模型對(duì)測(cè)試集進(jìn)行測(cè)試,得到前方車輛檢測(cè)的準(zhǔn)確率,流程如圖1所示。
2.2 實(shí)驗(yàn)數(shù)據(jù)集圖像預(yù)處理
本文收集的數(shù)據(jù)集共兩萬(wàn)多張,包括小部分MIT數(shù)據(jù)集和行車記錄儀視頻選取的圖片,使用labelImg對(duì)圖片進(jìn)行標(biāo)注。標(biāo)注框沒有重疊,圖片中小于6×6像素的車輛不進(jìn)行標(biāo)注。每幀標(biāo)注的圖片自動(dòng)保存為一個(gè)XML文件,并與圖片一一對(duì)應(yīng)。
3 前方車輛檢測(cè)模型構(gòu)建
3.1 預(yù)訓(xùn)練模型
將ResNet結(jié)構(gòu)作為前置網(wǎng)絡(luò),在收集到的數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練。進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)初始化,得到前方車輛檢測(cè)訓(xùn)練模型的初始參數(shù)和權(quán)重。
迭代訓(xùn)練2 000次得到前方車輛檢測(cè)粗略模型,以此為基礎(chǔ)模型繼續(xù)進(jìn)行訓(xùn)練,迭代20 000次時(shí)檢測(cè)效果最佳。
3.2 訓(xùn)練前方車輛檢測(cè)模型
本文將SSD網(wǎng)絡(luò)中的VGG網(wǎng)絡(luò)替換為ResNet網(wǎng)絡(luò),與基于SSD的網(wǎng)絡(luò)相結(jié)合進(jìn)行迭代訓(xùn)練。首先ResNet對(duì)采集到的數(shù)據(jù)樣本進(jìn)行預(yù)訓(xùn)練,得到預(yù)訓(xùn)練參數(shù)。然后利用不同大小的卷積層對(duì)圖像進(jìn)行特征提取,多層特征融合得到更好的特征,最后放到兩個(gè)全連接層里,得到目標(biāo)類別和位置。
在此理論基礎(chǔ)上,將損失目標(biāo)函數(shù)最小化。
4 測(cè)試過(guò)程
4.1 數(shù)據(jù)樣本
為保證卷積神經(jīng)網(wǎng)絡(luò)對(duì)樣本容量的要求,本文通過(guò)公開的Caltech1999數(shù)據(jù)集、MIT數(shù)據(jù)集、車載攝像頭采集到的部分圖片和道路實(shí)拍場(chǎng)景圖片作為模型的數(shù)據(jù)樣本,按3∶7的比例分為正樣本和負(fù)樣本。本次實(shí)驗(yàn)經(jīng)過(guò)多次訓(xùn)練選取較好的訓(xùn)練模型,部分車輛樣本如圖2所示。對(duì)比實(shí)驗(yàn)HOG+SVM的部分負(fù)樣本如圖3所示。
4.2 測(cè)試環(huán)境
本文操作系統(tǒng)為Windows7,搭建深度學(xué)習(xí)Caffe框架,編程環(huán)境基于C++,GPU為Nvidia GTX 850M。訓(xùn)練一次模型的時(shí)間大概為40min,整個(gè)訓(xùn)練過(guò)程采取批量隨機(jī)梯度下降算法(SGD)優(yōu)化每一層參數(shù)。
5 測(cè)試結(jié)果及分析
5.1 前方車輛檢測(cè)對(duì)比實(shí)驗(yàn)
本文將收集到的數(shù)據(jù)集和MIT數(shù)據(jù)集整合,80%作為訓(xùn)練驗(yàn)證集,20%作為測(cè)試集;在訓(xùn)練驗(yàn)證集中再重新按比例進(jìn)行分配成訓(xùn)練集和驗(yàn)證集。按照改進(jìn)的算法模型進(jìn)行訓(xùn)練,通過(guò)迭代訓(xùn)練調(diào)優(yōu),得到最佳的網(wǎng)絡(luò)模型。利用相同的數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試,實(shí)驗(yàn)結(jié)果如表2所示。
改進(jìn)后的SSD網(wǎng)絡(luò)結(jié)構(gòu)在不同場(chǎng)景下的目標(biāo)檢測(cè)效果如圖4所示,圖4(a)為停車場(chǎng)檢測(cè)效果,圖4(b)為交通道路場(chǎng)景檢測(cè)效果,圖4(c)為夜晚檢測(cè)效果,圖4(d)為陰雨天檢測(cè)效果。
通過(guò)在相同數(shù)據(jù)集上與原算法作對(duì)比,本文改進(jìn)的SSD網(wǎng)絡(luò)結(jié)構(gòu)在平均精準(zhǔn)度上有明顯提升。
在保證樣本數(shù)據(jù)集相同的情況下,利用文獻(xiàn)[24]中的傳統(tǒng)方法HOG+SVM對(duì)實(shí)驗(yàn)數(shù)據(jù)再訓(xùn)練多次,訓(xùn)練一次時(shí)長(zhǎng)50min,得到較好的訓(xùn)練模型后測(cè)試樣本數(shù)據(jù)集。HOG+SVM的傳統(tǒng)算法只能檢測(cè)出正前方車輛而不能檢測(cè)出旁側(cè)車道的行駛車輛,極易出現(xiàn)漏檢情況,如圖5所示。
表3為使用HOG+SVM傳統(tǒng)算法檢測(cè)車輛所需耗時(shí)和準(zhǔn)確率對(duì)比。通過(guò)表1的對(duì)比數(shù)據(jù),可看出本文提出的網(wǎng)絡(luò)模型與HOG+SVM算法相比在準(zhǔn)確率上有了明顯提高。
圖6是其它深度學(xué)習(xí)網(wǎng)絡(luò)檢測(cè)車輛目標(biāo)的折線圖。按不同的epoch進(jìn)行多次訓(xùn)練,發(fā)現(xiàn)隨著epoch次數(shù)的增加,準(zhǔn)確率隨之增大,當(dāng)epoch達(dá)到100時(shí),準(zhǔn)確率趨于穩(wěn)定,接近于收斂狀態(tài),SSD的檢測(cè)效果明顯優(yōu)于Lenet-5和ResNet。本文所列所有方法對(duì)比結(jié)果如圖7所示。
6 結(jié)語(yǔ)
本文以深度學(xué)習(xí)理論為基礎(chǔ),結(jié)合ResNet網(wǎng)絡(luò)模型,提出了一種基于SSD的目標(biāo)檢測(cè)方法。該網(wǎng)絡(luò)將ResNet作為前置網(wǎng)絡(luò)對(duì)樣本數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,得到預(yù)訓(xùn)練模型和預(yù)訓(xùn)練參數(shù);然后將SSD網(wǎng)絡(luò)接入ResNet網(wǎng)絡(luò)中,對(duì)樣本數(shù)據(jù)進(jìn)行特征提取。將傳統(tǒng)方法HOG+SVM、網(wǎng)絡(luò)模型Lenet-5和Caffe-net在相同數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)和比較,研究結(jié)果顯示,在數(shù)據(jù)集相同的情況下,SSD車輛檢測(cè)準(zhǔn)確率、魯棒性、速度更高,對(duì)無(wú)人駕駛技術(shù)研究具有重要的指導(dǎo)意義。
參考文獻(xiàn):
[1] PIAO J, MCDONALD M. Advanced driver assistance systems from autonomous to cooperative approach[J]. Transport Reviews,2008,28(5):695-684.
[2] 宋煥生, 張向清, 鄭寶峰,等. 基于深度學(xué)習(xí)方法的復(fù)雜場(chǎng)景下車輛目標(biāo)檢測(cè)[J]. 計(jì)算機(jī)應(yīng)用研究, 2018(4):1206-1211.
[3] LECUN Y, BENGIO Y, HINTON G. Deep learning[J].Nature,2015,521(7553):436-444.
[4] REN L,CUI J,SUN Y,et al. Multi-bearing remaining useful life collaborative prediction: a deep learning approach[J]. Journal of Manufacturing Systems,2017(43):248-256.
[5] 吳天舒, 張志佳,劉云鵬,等. 基于改進(jìn)SSD的輕量化小目標(biāo)檢測(cè)算法[J]. 紅外與激光工程, 2018(7):59-63.
[6] WANG C C R,LIEN J J J. Automatic vehicle detection using local features a statistical approach[J]. IEEE Transactions on Intelligent Transportation systems,2008,9(1):83-96.
[7] 金立生,王巖,劉景華,等. 基于Adaboost算法的日間前方車輛檢測(cè)[J]. 吉林大學(xué)學(xué)報(bào):工學(xué)版, 2014, 44(6):1604-1608.
[8] 陳擁權(quán),陳影,陳學(xué)三. 基于Adaboost分類器的車輛檢測(cè)與跟蹤算法[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2017, 27(9):165-168.
[9] 吳迪,蔡曉東,華娜,等. 基于HOG和SVM的級(jí)別自適應(yīng)車型識(shí)別算法[J]. 桂林電子科技大學(xué)學(xué)報(bào),2016,36(1):23-28.
[10] 吳駿,李文杰,耿磊,等. 基于單目視覺的前方車輛檢測(cè)與測(cè)距[J]. 計(jì)算機(jī)工程,2017,43(2):26-32.
[11] 李琳輝,倫智梅,連靜,等. 基于卷積神經(jīng)網(wǎng)絡(luò)的道路車輛檢測(cè)方法[J]. 吉林大學(xué)學(xué)報(bào):工學(xué)版,2017,47(2):384-391.
[12] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C].2014 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).2014:580-587.
[13] 曹詩(shī)雨,劉躍虎,李辛昭. 基于Fast R-CNN的車輛目標(biāo)檢測(cè)[J]. 中國(guó)圖像圖形學(xué)報(bào),2017,22(5):0671-0677.
[14] GIRSHICK R. Fast r-cnn[C]. IEEE ICCV,2015:1440-1448.
[15] WANG X,SHRIVASTAVA A,GUPTA A. A-Fast-RCNN: hard positive generation via adversary for object detection[C].IEEE Conference on Computer Vision and Pattern Recognition.IEEE,2017:3039-3048.
[16] 羅靖遙,黃征. 基于CNN分類器和卷積的目標(biāo)檢測(cè)[J]. 信息技術(shù),2017(9):101-104,108.
[17] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems,2012,25(2):20-26.
[18] 韓凱,張紅英,王遠(yuǎn),等. 一種基于Faster R-CNN的車輛檢測(cè)算法[J]. 西南科技大學(xué)學(xué)報(bào),2017,32(4):65-70,94.
[19] 林封笑,陳華杰,姚勤煒,等. 基于混合結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)快速檢測(cè)[J]. 計(jì)算機(jī)工程,2017(6):1-7.
[20] REN S,HE K,GIRSHICK R,et al. Faster R-CNN:towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2016(3):1-10.
[21] 彭瑋航,王軻,劉少鵬,等. 基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)在空對(duì)地車輛檢測(cè)中的應(yīng)用[J]. 導(dǎo)航與控制,2017,16(5):40-46.
[22] 龔靜,曹立,亓琳,等. 基于YOLOv2算法的運(yùn)動(dòng)車輛目標(biāo)檢測(cè)方法研究[J]. 電子科技,2018(6):92-101.
[23] LIU W,ANGUELOV D,ERHAN D,et al. Ssd: single shot multibox detector[J]. European Conference on Computer Vision,2016(8): 21-37.
[24] 龔露鳴, 徐美華, 劉冬軍,等. 基于混合高斯和HOG+SVM的行人檢測(cè)模型[J]. 上海大學(xué)學(xué)報(bào):自然科學(xué)版,2018(3):62-68.
(責(zé)任編輯:杜能鋼)