楊 偉,杜學(xué)峰,張 勇,高 越
基于深度學(xué)習(xí)的車輛目標(biāo)檢測算法綜述
楊 偉,杜學(xué)峰,張 勇,高 越
(長安大學(xué) 汽車學(xué)院,陜西 西安 710064)
車輛目標(biāo)檢測是自動駕駛環(huán)境感知的重要組成部分。近年來隨著深度學(xué)習(xí)在目標(biāo)識別領(lǐng)域取得重大突破,基于深度學(xué)習(xí)的車輛目標(biāo)檢測算法逐漸成為該領(lǐng)域的研究熱點。論文對當(dāng)前主流的兩階段車輛目標(biāo)檢測算法和單階段車輛目標(biāo)檢測算法進(jìn)行簡要介紹,分析了其中幾種具有代表性的卷積神經(jīng)網(wǎng)絡(luò)算法的優(yōu)缺點,最后總結(jié)目前車輛目標(biāo)檢測存在的問題以及未來的發(fā)展方向。
深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);車輛檢測;目標(biāo)檢測算法
當(dāng)前自動駕駛已成為智慧交通研究領(lǐng)域的熱門方面。環(huán)境感知、行為決策和運動控制是自動駕駛的三大任務(wù),而車輛目標(biāo)檢測作為自動駕駛環(huán)境感知的重要組成部分,為后續(xù)車輛的決策規(guī)劃、行為控制等高層任務(wù)提供基礎(chǔ)支撐。從靜態(tài)圖片或者動態(tài)視頻中檢測出車輛目標(biāo)及其在圖片中的位置等特征信息,并對車輛類型進(jìn)行分類是車輛目標(biāo)檢測的主要目的。
傳統(tǒng)的車輛檢測算法是基于人工特征提取的思想,存在很多缺陷。人工提取特征直接影響算法的準(zhǔn)確性,而且滑動窗口方法的復(fù)雜度高,存在大量的冗余計算,勢必導(dǎo)致運行速度難以提升。因此傳統(tǒng)的車輛檢測算法逐漸被需要高準(zhǔn)確性和高實時性的自動駕駛所拋棄?;谏疃葘W(xué)習(xí)的車輛檢測算法針對傳統(tǒng)車輛檢測需要手動提取特征和滑動窗口遍歷的缺陷,提出具有自主學(xué)習(xí)目標(biāo)特征的神經(jīng)網(wǎng)絡(luò)模型,特別是基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的檢測算法的提出使得車輛檢測的準(zhǔn)確率和實時性達(dá)到了新的高度[1]。
本文主要介紹了應(yīng)用于車輛檢測算法的幾種主流的卷積神經(jīng)網(wǎng)絡(luò)模型,并對其優(yōu)缺點進(jìn)行簡要分析,最后討論了當(dāng)前車輛目標(biāo)檢測存在的難點問題以及未來的發(fā)展方向。
兩階段的車輛目標(biāo)檢測算法繼承了傳統(tǒng)檢測算法的滑動窗口思想,整個算法分為兩部分:候選區(qū)域的選取以及分類。該算法的優(yōu)勢在于選取多個候選框可以充分提取車輛目標(biāo)的特征信息,檢測結(jié)果的準(zhǔn)確性較高,同時可以實現(xiàn)精確定位,但由于分兩步進(jìn)行,導(dǎo)致運行速度較慢。
R-CNN算法由Girshick R等人在2014年提出[2],該算法在目標(biāo)檢測領(lǐng)域取得巨大成功,為后續(xù)該系列檢測算法奠定了基礎(chǔ)。R-CNN算法的結(jié)構(gòu)如圖1所示,主要由四個部分組成:第一步輸入圖像;第二步利用選擇性搜索算法SS(selec-tive search)從圖像上提取出2 000左右的候選區(qū)域;第三步將每個候選區(qū)域裁剪變形統(tǒng)一成227×227的圖像并送入卷積神經(jīng)網(wǎng)絡(luò)提取出特征向量;第四步通過SVM(support vector machine,支持向量機(jī))分類器進(jìn)行分類得出檢測結(jié)果,最后通過非極大值抑制算法去除多余的候選區(qū)域,得到目標(biāo)的最佳預(yù)測框。
雖然R-CNN算法在VOC2007和VOC2012數(shù)據(jù)集上取得了較好的成績,但是對候選區(qū)域的裁剪變形會損失部分圖像的特征信息并且扭曲目標(biāo)的位置信息,間接影響了檢測的精度,同時每張圖像需要對2 000個候選區(qū)域進(jìn)行卷積運算,使得計算冗余增加,檢測速度較慢。
圖1 R-CNN結(jié)構(gòu)
圖2 金字塔池化模型
為解決R-CNN算法只能對固定大小的圖像進(jìn)行卷積運算導(dǎo)致特征信息損失以及運算速度慢的問題,He等人于2015年提出了SPP-Net算法[3]。該算法提出一種新的池化層模型,即空間金字塔池化模型(Spatial Pyramid Pooling, SPP),其結(jié)構(gòu)如圖2所示??臻g金字塔池化模型使用4×4、2×2、1×1三種不同尺寸的方框?qū)矸e后的圖像進(jìn)行池化操作,從21個方框中提取出一個21維特征向量輸入全連接層。SPP-Net算法通過引入SPP來避免重復(fù)進(jìn)行卷積運算,在保證同樣或者更好地檢測精度的同時,極大地提升了檢測速度,相比R-CNN算法快24倍~102倍。但此算法依然存在耗費大量存儲資源和多階段訓(xùn)練等問題,而且空間金字塔池化模型的多尺度使得無法對之前的卷積層進(jìn)行微調(diào)。
2015年Girshick等人提出Fast R-CNN算法[4]。該算法對R-CNN進(jìn)行了改進(jìn),在卷積計算部分使用VGG16網(wǎng)絡(luò)代替Alex-Net網(wǎng)絡(luò)。同時借鑒SPP-Net算法的空間金字塔池化思想,將多尺度金字塔池化模型簡化為單尺度,解決了卷積層不能微調(diào)的問題。該算法采用多任務(wù)訓(xùn)練的方法,使用SoftMax分類器代替SVM分類器,同時進(jìn)行分類和回歸任務(wù),降低了存儲資源的耗費,提升檢測精度的同時加快訓(xùn)練速度。
單階段車輛目標(biāo)檢測算法省去了候選區(qū)域的選取步驟,使網(wǎng)絡(luò)結(jié)構(gòu)得以簡化,極大地提升了算法的檢測速度,但同時導(dǎo)致特征提取不充分,犧牲了一定程度的準(zhǔn)確率,以及出現(xiàn)檢測目標(biāo)定位精度降低等問題。
2016年Redmond等人第一次提出YOLO v1算法[5],將目標(biāo)圖像輸入神經(jīng)網(wǎng)絡(luò),直接得到目標(biāo)的邊界框和分類結(jié)果。如圖3所示,YOLO算法首先將目標(biāo)圖像劃分分為S×S的方格,如果某個目標(biāo)物體的中心點落在某個方格中時,便圍繞該方格預(yù)測出N個邊界框,并計算出每個邊界框所圍目標(biāo)的置信度,最后利用非極大值抑制算法(NMS)去除單個目標(biāo)多余的邊界框,得出檢測結(jié)果。與其他算法相比,該算法的最大優(yōu)勢就是檢測速度快,可以實現(xiàn)每秒檢測45幀,能夠很好地區(qū)分背景與待測物體,但同時損失了一定的準(zhǔn)確度而且對小目標(biāo)的檢測效果欠佳。
YOLO v2算法為解決YOLO v1算法檢測精度低的問題,在每個卷積層后增加BN(batch normaliza- tion),應(yīng)用多尺度訓(xùn)練的方法來提高可檢測目標(biāo)的數(shù)量以及使用高分辨率的數(shù)據(jù)集在預(yù)訓(xùn)練的CNN上做微調(diào)。YOLO v3算法引入殘差模塊和9個錨框進(jìn)行檢測,在保證檢測速度的同時,提升和小目標(biāo)的檢測精度。YOLO v4算法使用更好的Mish激活函數(shù),還引入了SPP模塊,進(jìn)一步提升了檢測效果。YOLO v5算法幾乎與YOLO v4算法同時提出,在性能上稍弱于YOLO v4,但在靈活性與速度上遠(yuǎn)強于后者。
圖3 YOLO算法結(jié)構(gòu)
2016年,Liu等人提出SSD(single shot multibox detector)算法[6]。該算法結(jié)合了YOLO算法中的錨框設(shè)計方法,采用VGG16的卷積層作為主干網(wǎng)絡(luò),并在此基礎(chǔ)上新增加了6個卷積層,從而獲得更多的特征圖。SSD算法將多尺度特征圖進(jìn)行融合,可以更好地提升檢測速度。但由于特征圖的表征能力不夠強,對小目標(biāo)的檢測效果仍然不理想。
本文闡述了當(dāng)前應(yīng)用于車輛目標(biāo)檢測任務(wù)的幾種卷積神經(jīng)網(wǎng)絡(luò)算法,對各個算法的優(yōu)缺點進(jìn)行簡要分析。目前車輛目標(biāo)檢測技術(shù)日趨成熟,但是依舊存在不少難點問題:(1)針對弱光或者夜間條件的車輛目標(biāo)檢測無法到達(dá)實際應(yīng)用的要求;(2)更深層次的神經(jīng)網(wǎng)絡(luò)所帶來的大量參數(shù)和計算對計算機(jī)硬件資源的消耗更大;(3)實際應(yīng)用需要設(shè)計輕量化的神經(jīng)網(wǎng)絡(luò)并可移植到嵌入式設(shè)備上。
[1] Acharya U R,Oh S L,Hagiwara Y,et al.A deep convolutional neural network model to classify heartbeats[J].Computers in biology and medicine,2017,89:389-396.
[2] Girshick R,Donahue J,Darrell T,et al.Rich feature hierarchies for accurate object detection and semantic segmenta-tion [C]/Proceedings of the IEEE conference on computer vision and pattern recog- nition.2014:580-587.
[3] He K,Zhang X,Ren S,et al.Spatial pyramid pooling in deep convolutional networks for visual recognition[J].IEEE tran- sactions on pat- tern analysis and machine intelligence,2015, 37(9):1904-1916.
[4] GIRSHICK R.Fast R-CNN[C]/Proceedings of IEEE Interna- tional Conference on Computer Vision. Washington:IEEE Computer Soc- iety Press.2015:1440-1448.
[5] Redmon J,Divvala S,Girshick R,et al.You only look once: unified,real-time object detection[C]/Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016:779-788.
[6] Liu W,Anguelov D,Erhan D,et al.SSD:single shot mul tibox detector[C]/European Conference on Computer Vision-ECCV. Springer:In- ternational Publishing,2016:21-37.
A Review of Vehicle Target Detection Algorithms Based on Deep Learning
YANG Wei, DU Xuefeng, ZHANG Yong, GAO Yue
( School of Automobile, Chang'an University, Shaanxi Xi'an 710064 )
Vehicle target detection is an important part of automatic driving environment perception. In recent years, with the great breakthrough of deep learning in the field of target recognition, vehicle target detection algorithm based on deep learning has gradually become a research hotspot in this field. This paper briefly introduces the current mainstream two-stage vehicle target detection algorithm and single-stage vehicle target detection algorithm, analyzes the advantages and disadvan- tages of several representative convolution neural network algorithms, and finally summarizes the existing problems and future development direction of vehicle target detection.
Deep learning;Convolutional neural network;Vehicle detection;Target detection algorithm
U495
A
1671-7988(2022)02-24-03
U495
A
1671-7988(2022)02-24-03
10.16638/j.cnki.1671-7988.2022.002.006
楊偉,研究生,就讀于長安大學(xué)汽車學(xué)院,研究方向:智能網(wǎng)聯(lián)車及無人駕駛。