徐樂 劉翔 張華

摘 要:目標檢測是計算機視覺領域重要的研究方向,應用于無人駕駛、機器人、行人檢測等領域。然而,高檢測準確率、魯棒性等對目標檢測方法提出了嚴苛要求。針對SSD對不同場景下檢測準確率較低的問題,提出了一種改進的基于殘差網絡的SSD目標檢測模型,以提升對不同場景的檢測精度。對比研究了不同算法在MIT數據集和真實交通場景下的檢測能力。實驗結果表明,該方法的車輛目標檢測準確率為96.72%,耗時短,魯棒性高,有一定的泛化能力,為未來智能輔助駕駛系統提供了一種全新思路。
關鍵詞:深度學習;SSD;車輛目標檢測
DOI:10. 11907/rjdk. 182396
中圖分類號:TP306 文獻標識碼:A 文章編號: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 引言
高級駕駛輔助系統(Advanced Driver Assistance Systems, ADAS)是目前智能車輛領域研究和發展的重點,對車輛行駛環境中前方移動目標的準確實時檢測是ADAS完成其駕駛任務的重要前提[1]。近年來,智能交通系統(Intelligent Traffic System, ITS)在駕駛技術方面發展迅速,前方車輛檢測作為ITS的重要組成部分,起著舉足輕重的作用。然而,車輛種類復雜多樣,場景環境復雜多變,前方車輛檢測成為智能交通系統研究的難點之一,常用方法主要基于傳統算法、深度學習。基于傳統算法的方法通常通過提取圖像中的車輛目標特征進行檢測,但魯棒性較低,泛化能力弱,準確率較低[2]。隨著深度學習[3-4]技術的發展,卷積神經網絡在計算機視覺領域得以廣泛應用,在目標檢測領域使用深度學習實現目標檢測成為一個新的研究方向[5]。
1 前方車輛檢測研究現狀
傳統前方車輛檢測算法模型通常使用基于滑動窗口的局域選擇以及手工設計原理解決前方車輛目標難以識別問題,但對滑動窗口的區域選擇易受人為主觀因素影響[6]。其中,Haar、梯度方向直方圖(Histograms of Oriented Gradient, HOG)等被用來檢測車輛,但易造成誤檢和丟失幀 [7-9]。MB-LBP和Adaboost在提取車輛候選區域方面,根據區域的水平邊緣和灰度特征去除誤檢車輛,魯棒性不高是其缺陷[10]。傳統算法的泛化能力較弱,處理大量圖片的能力較差,已無法滿足日趨復雜的交通場景需求[11]。隨著深度學習理論知識的不斷強化,實踐操作不斷完善,對此提出更加有效的解決方法是大勢所趨。
文獻[12]設計了R-CNN框架,提出基于region proposal(候選區域)的目標檢測方法,但該方法計算復雜,難以滿足實時性需求。文獻[13-14]提出了一種基于快速區域卷積神經網絡(Fast R-CNN)的車輛目標發現方法,對前期樣本候選區域(object proposals[15])提取過程較為費時,無法在樣本和網絡之間形成端到端的檢測過程。文獻[16]提出了一個基于卷積神經網絡[17](Convolutional Neural Network,CNN)分類器和卷積算法,魯棒性較好,但避免不了漏檢情況。針對在光照、場景發生變換時車輛檢測效果不佳問題,文獻[18-20]以Faster R-CNN目標檢測方法為基礎,提出了改進后的算法,提高了車輛目標檢測的準確性,但無法檢測出小目標。針對獲得小目標精確檢測和定位問題,文獻[21]提出了區域卷積神經網絡Faster-RCNN模型對空地車輛的檢測方法,但樣本數量不夠充分,僅僅局限于檢測小型客車車型。為提高檢測精度,文獻[22]提出了YOLO目標檢測框架,但未應用到實際場景中。
針對上述研究方法的不足,本文提出基于SSD(Single Shot MultiBox Detection)的前方車輛檢測模型與殘差網絡(Residuals Network, ResNet)結合算法,收集大量的實驗數據樣本,研究對比了不同算法在相同數據集上的前方車輛檢測能力。實驗結果表明,該方法檢測率較高,實時性較強,魯棒性較好,能應用于車輛目標檢測。
2 前方車輛檢測算法
2.1 算法核心流程
本文將之前SSD網絡中的VGG網絡替換為ResNet網絡,其余結構不變。ResNet結構如表1所示。
首先將采集到的圖像輸入到ResNet網絡模型,對數據樣本進行預訓練,得到預訓練參數;再將SSD目標提取檢測網絡接在ResNet網絡之后,對特征進行提取;多次迭代,選擇準確率較高的訓練模型,最后將確定的訓練模型對測試集進行測試,得到前方車輛檢測的準確率,流程如圖1所示。
2.2 實驗數據集圖像預處理
本文收集的數據集共兩萬多張,包括小部分MIT數據集和行車記錄儀視頻選取的圖片,使用labelImg對圖片進行標注。標注框沒有重疊,圖片中小于6×6像素的車輛不進行標注。每幀標注的圖片自動保存為一個XML文件,并與圖片一一對應。
3 前方車輛檢測模型構建
3.1 預訓練模型
將ResNet結構作為前置網絡,在收集到的數據集上進行預訓練。進行網絡結構初始化,得到前方車輛檢測訓練模型的初始參數和權重。
迭代訓練2 000次得到前方車輛檢測粗略模型,以此為基礎模型繼續進行訓練,迭代20 000次時檢測效果最佳。
3.2 訓練前方車輛檢測模型
本文將SSD網絡中的VGG網絡替換為ResNet網絡,與基于SSD的網絡相結合進行迭代訓練。首先ResNet對采集到的數據樣本進行預訓練,得到預訓練參數。然后利用不同大小的卷積層對圖像進行特征提取,多層特征融合得到更好的特征,最后放到兩個全連接層里,得到目標類別和位置。
在此理論基礎上,將損失目標函數最小化。
4 測試過程
4.1 數據樣本
為保證卷積神經網絡對樣本容量的要求,本文通過公開的Caltech1999數據集、MIT數據集、車載攝像頭采集到的部分圖片和道路實拍場景圖片作為模型的數據樣本,按3∶7的比例分為正樣本和負樣本。本次實驗經過多次訓練選取較好的訓練模型,部分車輛樣本如圖2所示。對比實驗HOG+SVM的部分負樣本如圖3所示。
4.2 測試環境
本文操作系統為Windows7,搭建深度學習Caffe框架,編程環境基于C++,GPU為Nvidia GTX 850M。訓練一次模型的時間大概為40min,整個訓練過程采取批量隨機梯度下降算法(SGD)優化每一層參數。
5 測試結果及分析
5.1 前方車輛檢測對比實驗
本文將收集到的數據集和MIT數據集整合,80%作為訓練驗證集,20%作為測試集;在訓練驗證集中再重新按比例進行分配成訓練集和驗證集。按照改進的算法模型進行訓練,通過迭代訓練調優,得到最佳的網絡模型。利用相同的數據集進行訓練和測試,實驗結果如表2所示。
改進后的SSD網絡結構在不同場景下的目標檢測效果如圖4所示,圖4(a)為停車場檢測效果,圖4(b)為交通道路場景檢測效果,圖4(c)為夜晚檢測效果,圖4(d)為陰雨天檢測效果。
通過在相同數據集上與原算法作對比,本文改進的SSD網絡結構在平均精準度上有明顯提升。
在保證樣本數據集相同的情況下,利用文獻[24]中的傳統方法HOG+SVM對實驗數據再訓練多次,訓練一次時長50min,得到較好的訓練模型后測試樣本數據集。HOG+SVM的傳統算法只能檢測出正前方車輛而不能檢測出旁側車道的行駛車輛,極易出現漏檢情況,如圖5所示。
表3為使用HOG+SVM傳統算法檢測車輛所需耗時和準確率對比。通過表1的對比數據,可看出本文提出的網絡模型與HOG+SVM算法相比在準確率上有了明顯提高。
圖6是其它深度學習網絡檢測車輛目標的折線圖。按不同的epoch進行多次訓練,發現隨著epoch次數的增加,準確率隨之增大,當epoch達到100時,準確率趨于穩定,接近于收斂狀態,SSD的檢測效果明顯優于Lenet-5和ResNet。本文所列所有方法對比結果如圖7所示。
6 結語
本文以深度學習理論為基礎,結合ResNet網絡模型,提出了一種基于SSD的目標檢測方法。該網絡將ResNet作為前置網絡對樣本數據集進行預訓練,得到預訓練模型和預訓練參數;然后將SSD網絡接入ResNet網絡中,對樣本數據進行特征提取。將傳統方法HOG+SVM、網絡模型Lenet-5和Caffe-net在相同數據集上進行實驗和比較,研究結果顯示,在數據集相同的情況下,SSD車輛檢測準確率、魯棒性、速度更高,對無人駕駛技術研究具有重要的指導意義。
參考文獻:
[1] PIAO J, MCDONALD M. Advanced driver assistance systems from autonomous to cooperative approach[J]. Transport Reviews,2008,28(5):695-684.
[2] 宋煥生, 張向清, 鄭寶峰,等. 基于深度學習方法的復雜場景下車輛目標檢測[J]. 計算機應用研究, 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] 吳天舒, 張志佳,劉云鵬,等. 基于改進SSD的輕量化小目標檢測算法[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算法的日間前方車輛檢測[J]. 吉林大學學報:工學版, 2014, 44(6):1604-1608.
[8] 陳擁權,陳影,陳學三. 基于Adaboost分類器的車輛檢測與跟蹤算法[J]. 計算機技術與發展, 2017, 27(9):165-168.
[9] 吳迪,蔡曉東,華娜,等. 基于HOG和SVM的級別自適應車型識別算法[J]. 桂林電子科技大學學報,2016,36(1):23-28.
[10] 吳駿,李文杰,耿磊,等. 基于單目視覺的前方車輛檢測與測距[J]. 計算機工程,2017,43(2):26-32.
[11] 李琳輝,倫智梅,連靜,等. 基于卷積神經網絡的道路車輛檢測方法[J]. 吉林大學學報:工學版,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] 曹詩雨,劉躍虎,李辛昭. 基于Fast R-CNN的車輛目標檢測[J]. 中國圖像圖形學報,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分類器和卷積的目標檢測[J]. 信息技術,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] 韓凱,張紅英,王遠,等. 一種基于Faster R-CNN的車輛檢測算法[J]. 西南科技大學學報,2017,32(4):65-70,94.
[19] 林封笑,陳華杰,姚勤煒,等. 基于混合結構卷積神經網絡的目標快速檢測[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] 彭瑋航,王軻,劉少鵬,等. 基于區域的卷積神經網絡在空對地車輛檢測中的應用[J]. 導航與控制,2017,16(5):40-46.
[22] 龔靜,曹立,亓琳,等. 基于YOLOv2算法的運動車輛目標檢測方法研究[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的行人檢測模型[J]. 上海大學學報:自然科學版,2018(3):62-68.
(責任編輯:杜能鋼)