徐嘉偉 談至存 溫秀平
摘 ?要:針對原有卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)算法耗時長,即時性差的缺點提出了一種應(yīng)用在高級駕駛輔助系統(tǒng)(Advanced Driving Assistant System,ADAS)領(lǐng)域的網(wǎng)絡(luò),較諸原有的網(wǎng)絡(luò),其達(dá)到了較快的運(yùn)行速度,適用于ADAS這樣對FPS要求高的領(lǐng)域。同時使用YOLO算法得到目標(biāo)在圖像中的位置,從而得以實施避障、跟車、變道等后續(xù)操作。與Faster R-CNN和ResNet50結(jié)合的網(wǎng)絡(luò)相比每秒幀數(shù)(Frames Per Second,F(xiàn)PS)提升89.36%。結(jié)果表明,該方法解決了原有網(wǎng)絡(luò)檢測耗時的缺點,具有一定的泛化能力。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò) ?YOLO ?ADAS ?目標(biāo)檢測
中圖分類號:P618 ? 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2020)01(c)-0004-04
Abstract: A network in the field of Advanced Driving Assistant System (ADAS) has being put forward, aiming at the time-consuming of the original Convolutional Neural Networks algorithm and the poor realtime presents. Compared to the original network, it reach a faster speed, which is suitable for fields like ADAS to require higher quality of FPS. At the same time, YOLO algorithm is used to get the location of the target in the image, so as to implement subsequent operations such as obstacle avoidance, car following, lane change. Compared with the combined network of Faster R-CNN and ResNet 50, the Frames Per Second (FPS) increased by 89.36%. The result illustrates that this method solves the problem of time consuming and has the ability of generalization.
Key Words: Convolutional Neural Networks; YOLO; ADAS; Target Detection
美國早在20世紀(jì)80年代即已展開對ADAS領(lǐng)域的研究,并于1990年開發(fā)出Navlab-5[1],在2007年舉辦所舉辦的Urban Challenge[2]亦為ADAS領(lǐng)域里程碑式的大賽,該賽事完全模擬城市交通情況。歐洲于20世紀(jì)80年代所展開的普羅米修斯計劃[3]同樣匯聚了一批高校人才。國內(nèi)的相關(guān)研究幾乎與歐美國家同時開始,2013年之后我國相關(guān)產(chǎn)業(yè)發(fā)展迅速,包括廣汽、比亞迪在內(nèi)的一眾汽車廠商均開始此類研究,甚至樂視、小米等科技公司亦在此列。由此可見,ADAS領(lǐng)域具有巨大的商業(yè)價值和研究價值。
1 ?卷積神經(jīng)網(wǎng)絡(luò)簡介
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò)(CNN)[4],自2012年Alex Krizhevsky使用AlexNet[5]在ImageNet競賽中一舉奪魁之后,CNN便成為了計算機(jī)視覺的主要技術(shù)手段之一,與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)(如BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò))和分類算法(如SVM)相比,能更好、更快地提取目標(biāo)特征,在識別準(zhǔn)確率和運(yùn)算速度方面均能滿足ADAS的需求。目前已有許多成熟的深度學(xué)習(xí)網(wǎng)絡(luò),Zeiler等人提出ZFNet[6],專注于網(wǎng)絡(luò)可視化,使CNN有了更強(qiáng)的理論依據(jù),但對于精度與運(yùn)行時間并無很大提高,Simonyan等人提出VGG[7],其在遷移學(xué)習(xí)上表現(xiàn)優(yōu)秀,但一部分的全連接層(Fully Connected layer)嚴(yán)重影響了網(wǎng)絡(luò)的運(yùn)行速度,何凱明等人提出具有殘差模塊的ResNet[8],解決了一部分梯度消失的問題使更深的網(wǎng)絡(luò)成為可能。但此類網(wǎng)絡(luò)基于龐大的數(shù)據(jù)集往往注重分類結(jié)果的準(zhǔn)確度而對網(wǎng)絡(luò)的運(yùn)行速度要求不高。該文所提出的網(wǎng)絡(luò)舍棄了分組卷積、多維特征提取與合并等操作,更能適應(yīng)ADAS這一領(lǐng)域。
2 ?CNN設(shè)計思路
考慮到ADAS領(lǐng)域需要較大的圖片尺寸以獲得寬廣的視野,該文選擇BDD100K[9]的一個子集作為數(shù)據(jù)集。手工標(biāo)注了汽車(不區(qū)分類型)、車道線、交通信號燈3類檢測對象。CNN的輸入層為720×1280的三通道rgb圖片。
該文吸收了過去各類不同CNN結(jié)構(gòu)的優(yōu)點,在對結(jié)果準(zhǔn)確率影響不大時,更側(cè)重網(wǎng)絡(luò)的運(yùn)行速度,思路如下。
(1)采用了GoogleNet[10]提出的小卷積核串聯(lián)代替大卷積核的思想,在不減少提取能力的同時減少計算量,同時使用1×1的卷積核進(jìn)行升降維操作,提取更多的非線性特征。
(2)引入ResNet提出的殘差網(wǎng)絡(luò)來消弭網(wǎng)絡(luò)潛在的梯度消失風(fēng)險。
設(shè)圖1(a)輸入到輸出的映射為f:x→f(x),則圖1(b)所示映射為h:x→h(x)=f(x)+x。
實驗證明,這樣的“恒等快捷連接”有助于解決梯度消失問題。
(3)考慮到目標(biāo)特征明顯且易于辨識、目標(biāo)種類很少,欠擬合可能性很低,該網(wǎng)絡(luò)舍棄了多維度特征提取與拼接的方式以減少參數(shù)量,提升訓(xùn)練速度和運(yùn)行速度。
(4)Batch Normalization[11]是一種在分類領(lǐng)域有效的歸一化方式,其將每層神經(jīng)元的輸入都轉(zhuǎn)化成標(biāo)準(zhǔn)正態(tài)分布以增大梯度從而加快了網(wǎng)絡(luò)收斂速度,但在圖像識別方面,受限于顯存,mini-batch size往往很小,Batch Normalization效果不明顯。該文采用了BN算法的變種——Group Normalization[12]。由圖2中顯示,在batch size較小時,GN錯誤率顯著低于BN。
3 ?YOLO V3算法
YOLO V3[13]是一種一段式(one stage)目標(biāo)檢測方式,在工程中得到了廣泛運(yùn)用,官網(wǎng)顯示其檢測速度相較于Faste R-CNN[14]快1000倍左右,也比采用RPN函數(shù)的Faster R-CNN[15]快100倍左右。
DPM[16]算法計算圖像的梯度,采用滑動窗口法和支持向量機(jī)(SVM)進(jìn)行目標(biāo)檢測,計算速度慢,算子的選取依賴于過往經(jīng)驗,不適用于ADAS這樣對即時性要求高的領(lǐng)域。在FasterR-CNN中,regionofinterest(roi)區(qū)域使用RPN網(wǎng)絡(luò)生成,盡管其利用權(quán)值共享的思路與FastR-CNN共享一個CNN,速度比原先的searchselective快很多,但是額外的卷積層、池化層、分類器仍極大加重了計算量;iou閾值由人為選定,較為主觀,容易出現(xiàn)將背景識別為目標(biāo)的狀況。
YOLO V3采用端到端的檢測方式,以logistic回歸算法進(jìn)行錨箱預(yù)測,放棄使用softmax分類器以應(yīng)對多標(biāo)簽場景,將多尺度的特征圖融合較諸V3提升了對小目標(biāo)的檢測能力。
4 ?對比實驗
該文在GeForceGTX1060(@1.5GHZ)環(huán)境下分別訓(xùn)練FasterR-CNN與ResNet50結(jié)合的神經(jīng)網(wǎng)絡(luò)和該文提出的CNN與YOLOV 3結(jié)合的神經(jīng)網(wǎng)絡(luò),并在不同的從訓(xùn)練時間、網(wǎng)絡(luò)運(yùn)行時間、預(yù)測準(zhǔn)確率3個方面比較優(yōu)劣性。
從訓(xùn)練時間看,該文網(wǎng)絡(luò)相較于ResNet50較淺,導(dǎo)致訓(xùn)練時間變短,YOLO的訓(xùn)練過程為一段式,而FasterR-CNN的訓(xùn)練過程需經(jīng)歷RPN函數(shù)訓(xùn)練、利用RPN函數(shù)訓(xùn)練FastR-CNN、通過權(quán)值共享重新訓(xùn)練RPN函數(shù)、用更新過后的RPN函數(shù)訓(xùn)練FastR-CNN網(wǎng)絡(luò)4個步驟,這兩個因素導(dǎo)致YOLO V3的訓(xùn)練時間遠(yuǎn)低于FasterR-CNN的耗時,具體見表1。
從識別結(jié)果看,YOLO仍有對小目標(biāo)識別不精準(zhǔn)的缺陷,但在ADAS領(lǐng)域,大目標(biāo)具有更高的優(yōu)先級,對FPS的要求也極高。在實際應(yīng)用中,可根據(jù)需要選擇不同的錨箱數(shù)量,在降低識別效率的同時提高識別準(zhǔn)確率具體,見圖5。
如圖6(a)顯示,在平方歐氏距離下,該文錨箱大致分為兩類,考慮到系統(tǒng)魯棒性,該文選擇5種大小的錨箱進(jìn)行識別,圖6(b)展示了錨箱個數(shù)與IOU均值之間的關(guān)系,當(dāng)錨箱數(shù)大于5時,IOU增長變緩,該文選擇5類錨箱具有一定合理性。
5 ?結(jié)語
該文所提出的網(wǎng)絡(luò)能有較高的FPS,同時精度下降不多,能滿足ADAS的相關(guān)需求。受限于硬件,該文網(wǎng)絡(luò)的泛化能力不足,隨著算力發(fā)展,可考慮使用更大的數(shù)據(jù)集或采用增加網(wǎng)絡(luò)通道數(shù)與層數(shù)的方式獲得更好的泛化能力與精確度。
參考文獻(xiàn)
[1] Thorpe C, Herbert M, Kanade T,et al.Toward autonomous driving:the cmu navlab.ii.architecture and systems[J].IEEE Expert,1991,6(4):44-52.
[2] Buehler M,Iagnemma K,Singh S.The DARPA urban challenge: Autonomous vehicles in city traffic[EB/OL].https://www.doi.org//0.1007/978-3-642-03991-/?nosf=y.
[3] Povel R.Prometheus-programme for a european traffic with highest efficiency and unprecedented safety - definitionsphase schlussbericht[Z].1987.
[4] Goodfellow I,Bengio Y,Courville A.Deep learning[M].MIT Press,2016.
[5] KRIZHEVSKY A, SUTSKEVER I, HINTON G. Imagenet classification with deep convolutional neural networks[A].International Conference on Neural Information Processing Systems.[C].2012.
[6] Zeiler MD,F(xiàn)ergus R.Visualizing and understanding convolutional networks[A].Computer Vision-ECCV 2014:13th European Conference[C].2014.
[7] Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[EB/OL].https://www.jianshu.com/p/qd6082068f53.
[8] He K,Zhang X,Ren S,et al.Deep residual learning for image recognition[A].2016 IEEE Conference on Computer Vision and Pattern Recognition[C].2016.
[9] Yu F,Xian W,Chen Y,et al.Bdd100k:A diverse driving video database with scalable annotation tooling[EB/OL].https://www.arxiv.org/abs/1805.0468.
[10] Szegedy C,Liu W,Jia Y,et al.Going deeper with convolutions[A]. 2015 IEEE Confernce on Computer Vision and Pattern Recognition (CVPR)[C].2015.
[11] Ioffe S,Szegedy C.Batch normalization:Accelerating deep network training by reducing internal covariate shift[EB/OL].https://www.arxiv.org/abs/1502.03167.
[12] Yuxin Wu,Kaiming He. Group normalization[EB/OL]. https://www.arxiv.org/abs/1803.08494.
[13] Redmon J,F(xiàn)arhadi A.Yolov3:An incremental improvement[EB/OL].https://arxiv.org/abs/1804.02767.
[14] Girshick R. Fast R-CNN[J].https://www.arxiv.org/abs/1504.08083.
[15] Ren S,He K,Girshick R, et al. Faster r-cnn:towards real-time object detection with region proposal networks[J].IEEE Trans Pattern Anal Mach Intell,2017,39(6):1137-1149.
[16] Pedro,F(xiàn) Felzenszwalb,Ross B Girshick,David Mc Allester,er al. Object detection with discriminatively trained part-based models[J].IEEE Tran Sactions on Pattern Analysis and Machine Intelligence,2010,32(9):1627-1645.