劉肯 何姣姣 張永平 姚拓中 常志國



摘 ?要: YOLO目標(biāo)檢測算法在進行目標(biāo)檢測和識別時具有識別精度高、檢測速度快的特點。但也存在明顯的問題,由于網(wǎng)絡(luò)采用的結(jié)構(gòu)是端對端模型,沒有經(jīng)過預(yù)選框進行匹配預(yù)選,直接進行回歸產(chǎn)生最后的結(jié)果框,所以存在定位不準(zhǔn)的問題。同時,YOLO網(wǎng)絡(luò)將圖片整體resize到固定的尺寸后,進行網(wǎng)格劃分,當(dāng)單個網(wǎng)格存在不止單個目標(biāo)時,容易出現(xiàn)漏檢的情況。DenseNet網(wǎng)絡(luò)使用一種全新的網(wǎng)絡(luò)結(jié)構(gòu),結(jié)合前面特征層的信息,在一定程度上提升了對物體的檢測精度。在此基礎(chǔ)上提出YOLO?D算法,結(jié)合前面特征層的信息,在不影響檢測速度的同時,提高車輛檢測精度,與此同時使得定位有所改善。
關(guān)鍵詞: YOLO; 端對端模型; DenseNet; 車輛檢測; YOLO?D; 檢測精度
中圖分類號: TN911.73?34 ? ? ? ? ? ? ? ? ? ? ? 文獻標(biāo)識碼: A ? ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)13?0047?04
Improved YOLO vehicle detection algorithm
LIU Ken1, HE Jiaojiao1, ZHANG Yongping2, YAO Tuozhong2, CHANG Zhiguo1
(1. School of Information Engineering, Changan University, Xian 710064, China;
2. College of Telecom, Ningbo University of Technology, Ningbo 315211, China)
Abstract: The YOLO target detection algorithm has the characteristics of high recognition accuracy and fast detection speed for target detection and recognition, but also has obvious problems. The network adopts an end?to?end model, and directly generates the final result framework after regression without matching and pre?selection of pre?selection framework, so the positioning is inaccurate. The YOLO network can resize the entire image to a fixed size, and divide the mesh. When there is more than one target in a single mesh, it is likely to result in the missed detection. A brand?new network structure is used in DenseNet network, and combined with the information of the front feature layer to improve the detection accuracy of the object to a certain extent. Thus, the proposed YOLO?D algorithm combined with the information of the front feature layer can improve the vehicle detection accuracy and positioning accuracy while maintaining the vehicle detection speed.
Keywords: YOLO; end?to?end model; DenseNet ; vehicle detection; YOLO?D; detection accuracy
0 ?引 ?言
隨著人們生活質(zhì)量的提高,越來越多的汽車走進了大眾家庭,隨之產(chǎn)生的問題也很多,如車輛亂停亂放,闖紅燈等。依賴傳統(tǒng)的人力解決這些問題是遠(yuǎn)遠(yuǎn)不夠的,因此提出用計算機去解決這類問題。Seki等人提出將背景差分用于動態(tài)車輛檢測[1],在此基礎(chǔ)上STAUFFER等人提出了自適應(yīng)背景更新[2],將其應(yīng)用于車輛檢測。KOLLER等人提出用3D模型檢測和跟蹤車輛的方法[3]來提高識別率。傳統(tǒng)的目標(biāo)檢測算法雖然在識別精度上基本滿足識別車輛的要求,但是其速度慢、過程復(fù)雜的問題也比較明顯。隨著近些年人工智能的火熱,越來越多的研究人員開始關(guān)注基于深度學(xué)習(xí)的車輛檢測算法,相比于傳統(tǒng)的方法,基于深度學(xué)習(xí)的方法能夠?qū)W習(xí)到更多的目標(biāo)特征。如文獻[4]提出基于卷積神經(jīng)網(wǎng)絡(luò)的車輛檢測方法,運用滑動窗口生成候選區(qū)域,采用卷積神經(jīng)網(wǎng)絡(luò)的卷積層和池化層提取車輛特征,最后用全連接層進行候選驗證,由于是通過滑動窗口來產(chǎn)生候選區(qū)域,在滑動的過程中會有很多重復(fù)的區(qū)域,非常消耗時間,影響算法的效率。文獻[5]提出R?CNN算法,在速度上相比CNN提升很多。R?CNN提出選擇性搜索(Selective Search)方法,使用一種過分割手段將圖像分割成小區(qū)域,通過顏色、紋理、面積等合并方式產(chǎn)生候選區(qū)域。R?CNN算法流程主要分為3個步驟,首先使用Selective Search[6]提取約2 000個候選區(qū)域,接著用CNN提取每個候選框中的特征向量,最后用SVM算法判斷候選區(qū)是否是目標(biāo)。在VOC 2007測試集上的MAP被提升至48%,2014年通過修改結(jié)構(gòu)將MAP提升到66%,與此同時,在ILSVRC2013測試集上的MAP也被提升到31.4%。R?CNN在目標(biāo)檢測領(lǐng)域取得了突破,隨后出現(xiàn)了SPP?NET[7],F(xiàn)ast R?CNN[8],F(xiàn)aster R?CNN[9],R?FCN[10],YOLO[11],SDD[12]等目標(biāo)檢測算法。其中,F(xiàn)aster R?CNN將檢測和分類模塊都放在同一個深度學(xué)習(xí)框架之下,就檢測準(zhǔn)確率相比其他目標(biāo)檢測算法要高,但是隨之帶來的缺點是速度慢,YOLO算法的網(wǎng)絡(luò)設(shè)計策略延續(xù)了GooGleNet[13]的核心思想,實現(xiàn)端對端網(wǎng)絡(luò)的目標(biāo)檢測,發(fā)揮了速度快的優(yōu)勢,但是其精度有所下降,本文提出一種YOLO?D算法,在不影響檢測速度的情況下提高了檢測準(zhǔn)確率。
1 ?YOLO目標(biāo)檢測模型介紹
YOLO算法模型包括18個卷積層,2個全連接層和6個池化層,如圖1所示。其中,卷積層用于提取圖像的特征;全連接層用于預(yù)測圖像位置與類別估計概率值;池化層負(fù)責(zé)縮減圖片像素。YOLO直接對輸入的圖片進行回歸分析,輸出多個滑動窗口位置以及該窗口檢測到的目標(biāo)類別。

YOLO將輸入圖像分為[S×S]個單元格,每個單元格負(fù)責(zé)檢測“落入”該單元格的對象,若某個物體的中心位置落到某個格子,那么這個格子就負(fù)責(zé)檢測出這個物體。每個格子輸出[B]個bounding box(包含物體的矩形區(qū)域)信息,以及[C]個物體屬于某種類別的概率信息。Bounding box信息包含5個數(shù)據(jù)值,分別是[x,y,w,h]和Confidence(置信度),邊界框的大小用4個值來表示:[(x,y,w,h)],其中,[(x,y)]是邊界框的中心坐標(biāo),而[w]和[h]是邊界框的寬與高。經(jīng)過刪選,最終每個單元格會預(yù)測兩個單元格但只預(yù)測一個類別概率(即就是兩個邊界框共享一個類別),最后的prediction是[7×7×30](即[S×S×(B×5+C))]的張量,整個流程大致如圖2所示。

2 ?YOLO?D
YOLO算法使用回歸思想,把目標(biāo)檢測問題作為一個回歸問題處理,可以一次性實時預(yù)測多個目標(biāo)邊框的位置和類別。由于YOLO沒有選擇滑動窗口或提取候選區(qū)域的方式訓(xùn)練網(wǎng)絡(luò),而是選擇直接選用整幅圖像來做訓(xùn)練,提升了訓(xùn)練速度,與此同時犧牲了一些精度。DenseNet網(wǎng)絡(luò),其核心思想是skip connection,對于某些輸入直接進入之后的layer,從而實現(xiàn)信息流的整合,避免信息在層間傳遞的丟失和梯度消失,同時加強層與層之間的特征聯(lián)系。在此基礎(chǔ)上提出YOLO?D算法,在YOLO算法的基礎(chǔ)上添加DenseNet結(jié)構(gòu),使其學(xué)習(xí)很多的層與層之間的特征聯(lián)系,提高預(yù)測精度。
如圖3所示,每個塊代表當(dāng)前特征圖的大小,在YOLO算法中,每一個相同大小的特征圖有多個,為了方便表示,用特征塊代替。在每一個特征塊中,當(dāng)前特征向后面卷積層傳遞時,選擇特征塊中的最后一層。

由于DenseNet不是像素之間的相加,而是通道之間的連接,為了保證通道之間的連接不出現(xiàn)tensor過大,資源耗盡的情況,通過使用1×1的卷積核進行通道的壓縮,如在14×14的卷積塊中,一共有三個輸入,其中,由28×28卷積塊傳遞的是YOLO網(wǎng)絡(luò)原始的結(jié)構(gòu),將其作為主線,旁邊兩條為分支輸入,由YOLO結(jié)構(gòu)可知,14×14卷積塊中的第一個卷積層通道數(shù)為1 024,為此通過使用1×1的卷積核分別將兩個分支的通道數(shù)變?yōu)?12,其他類似連接,從而保證主線的特征為主要特征輸入,同時也縮短計算量。
3 ?實驗及結(jié)果討論
3.1 ?數(shù)據(jù)集
數(shù)據(jù)集主要分為兩部分:一部分為自己手動標(biāo)注的數(shù)據(jù)集;另一部分來自于UA?DETRAC[14]數(shù)據(jù)集。DETRAC數(shù)據(jù)集主要拍攝北京和天津的道路過街天橋,圖片大小為960×540,包含多個角度車輛照片,先把數(shù)據(jù)集所出的XML格式轉(zhuǎn)換成需要的VOC2007格式。另一部分是用攝像機手動采取的數(shù)據(jù),大小為1 920×1 080,由于YOLO網(wǎng)絡(luò)使用的是全連接層,所以對輸入圖片的大小有要求,為了統(tǒng)一數(shù)據(jù)集,將訓(xùn)練圖片的大小統(tǒng)一為960×540。所有的數(shù)據(jù)集都只有一類(car)。選取DETRAC數(shù)據(jù)集和自制數(shù)據(jù)集各1 000個訓(xùn)練樣本,同時為了擴增訓(xùn)練樣本,對所有的訓(xùn)練樣本進行水平鏡像翻轉(zhuǎn)操作。YOLO?D的算法模型訓(xùn)練過程如圖4所示,經(jīng)過轉(zhuǎn)換增強后得到最終的模型。

3.2 ?實驗平臺
實驗主要是在PC端完成的,PC主要配置為:CPU(i5?8600),GPU(NVIDIA GTX?1080)和16 GB內(nèi)存,實驗是在TensorFlow框架下進行,使用的是python語言。
3.3 ?評估方法和結(jié)果對比
在測試階段,把測試集分為兩部分:[15]的原圖片,[45]的原圖片。如圖5所示。
實驗中給出YOLO算法和本文的YOLO?D算法分別在晴天、雨天、夜晚時分的數(shù)據(jù)對比。由于YOLO?D網(wǎng)絡(luò)注重結(jié)合之前特征層的特征,因此對遠(yuǎn)處的小目標(biāo)(車輛)測試集1進行檢測。表1中的白天、夜晚、側(cè)面中的數(shù)據(jù)僅從測試集2中檢測。從表1中可以看出,YOLO?D對白天和夜晚的預(yù)測改進有效,尤其是對小目標(biāo)的檢測有很大的提升,對側(cè)面的車輛檢測改進效果不明顯;從表2中可以看出,YOLO?D的查全率針對小目標(biāo)有所提升,其他情況影響不大,甚至在側(cè)面情況稍微有所下降。




3.4 ?結(jié)果分析
本次實驗只要預(yù)測的目標(biāo)和真實目標(biāo)框的IOU大于0.5,就認(rèn)為目標(biāo)被正確檢測定位。分別在不同場景的測試集進行測試,效果優(yōu)于YOLO算法。由于YOLO算法本身沒有采用滑動窗口進行定位回歸,所以容易出現(xiàn)定位比較差的情況。YOLO?D在嘗試增加特征層的特征的同時,發(fā)現(xiàn)對目標(biāo)框的定位有所改進。從圖7中可以看出,盡管增強了后面卷積層的特征輸入,但還是存在部分漏檢的情況,以及對遠(yuǎn)處的車輛未能準(zhǔn)確識別的情況。

4 ?結(jié) ?語
本文對深度學(xué)習(xí)目標(biāo)檢測算法YOLO進行改進,把目標(biāo)檢測算法問題變成二分類問題,從而實現(xiàn)對目標(biāo)車輛的檢測。通過對YOLO算法的改進,提高了對遠(yuǎn)處小目標(biāo)的檢測,雖然還存在漏檢車輛,但是在近處有較高的識別精度和差不多30 f/s的識別速度,基本上滿足交通道路車輛檢測的準(zhǔn)確定位和實時性需求。
參考文獻
[1] SKEI M, FUJIWAEA H, SUMI K. A robust back?ground subtraction method subtraction method for changing background [C]// The 5th IEEE Workshop on Applications of Computer Vision. Palm Springs: IEEE, 2000: 1?7.
[2] STAUFFER C,CRIMSON W E L. Adaptive back?ground mixture models for real?time tracking [C]// 1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Fort Collins: IEEE, 1999: 1?7.
[3] KOLLER D, DANILIDIS K,NAGEL H H. Model?based object tracking in monocular image sequences of road traffic scenes [J]. International journal of computer vision, 2013, 10(3): 257?281.
[4] BAUTISTA C M, DY C A, MANALAC M I, et al. Convolutional neural network for vehicle detection in low resolution traffic videos [C]// 2016 IEEE Region 10 Symposium. Bali: IEEE, 2016: 277?281.
[5] 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. USA: IEEE Computer Society, 2014: 580?587.
[6] UIJLINGS J R, VAN DE SANDE K E, GEVERS T, et al. Selective search for object recognition [J]. International journal of computer vision, 2013, 104(2): 154?171.
[7] HE K, ZHANG X, RENS, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition [J]. IEEE transactions on pattern analysis & machine intelligence, 2014, 37( 9): 346?361.
[8] GIRSHICK R. Fast R?CNN [C]// Proceedings of 2015 IEEE International Conference on Computer Vision . Santiago: IEEE, 2015: 10?15.
[9] REN S, HE K, GIRSHICK R, et al. Faster R?CNN: towards real?time object detection with region proposal networks [C]// Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2015: 1?15.
[10] DAI F, LI Y, HE K M, et al. R?FCN: Object detection via region?based fully convolutional networks [C]// Proceedings of the 30th International Conference on Neural Information Processing Systems. Barcelona: Curran Associates Inc., 2016: 379?387.
[11] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real?time object detection [EB/OL]. [2015?07?11]. http://ai2?website.s3.amazonaws.com/publications/YOLO.pdf.
[12] LIU Wei, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector [C]// Proceedings of 2016 European Conference on Computer Vision and Pattern Recognition. [S.l.]: Springer, 2016: 13?17.
[13] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions [C]// 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2014: 1?12.
[14] WEN Longyin, DU Dawei, CAI Zhaowei, et al. DETRAC: new benchmark and protocol for multi?object detection and tracking [EB/OL]. [2015?11?03]. https://www.researchgate.net/publication/283986610_UA?DETRAC_A_New_Benchmark_ and_Protocol_for_Multi?Object_Detection_and_Tracking.
[15] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2015: 770?778.