摘 要:目標(biāo)檢測是計算機(jī)視覺中的一個關(guān)鍵任務(wù),其中YOLOv3算法檢測速度較快,但存在邊界框定位不準(zhǔn),且對小目標(biāo)檢測精度不高的問題。針對以上問題,本文提出了一種基于改進(jìn)YOLOv3的人車信號燈識別方法,以獲取自動駕駛中所需要的道路交通信息。本文基于Apolloscape數(shù)據(jù)集中的視頻或圖像,首先通過K-means聚類計算獲得新的anchors值,替換原始YOLOv3模型中的數(shù)據(jù)集參數(shù),并利用高斯分布特性增加對邊界框準(zhǔn)確度的判斷,再采用改進(jìn)后的YOLOv3模型對行人、車輛和信號燈等道路交通信息進(jìn)行檢測,實(shí)現(xiàn)了端對端的運(yùn)動目標(biāo)檢測,實(shí)時性良好。實(shí)驗(yàn)結(jié)果與仿真數(shù)據(jù)呈現(xiàn)出良好的一致性,研究結(jié)果表明,相比于原始YOLOv3模型,本文提出的改進(jìn)的YOLOv3算法具有實(shí)時性強(qiáng)、精準(zhǔn)度高等優(yōu)點(diǎn),在準(zhǔn)確度、召回率和平均IOU值上均有提升。
關(guān)鍵詞:人車信號燈目標(biāo)檢測;YOLOv3;K-means聚類;深度學(xué)習(xí)
中圖分類號:U491.5 文獻(xiàn)標(biāo)識碼:A
0 引言
全自動駕駛是汽車工業(yè)未來的發(fā)展方向,國際自動機(jī)工程師學(xué)會根據(jù)智能程度將自動駕駛分為L0-L5共六個級別。其中輔助駕駛相當(dāng)于L1和L2級的自動駕駛。多種輔助駕駛技術(shù)已經(jīng)被廣泛應(yīng)用,其應(yīng)用能力和操作權(quán)限也處于逐步提升階段,但由于技術(shù)和成本的限制,完全無人駕駛尚處于實(shí)驗(yàn)和驗(yàn)證階段。
隨著社會發(fā)展,自動駕駛成為當(dāng)前熱門話題之一。自動駕駛系統(tǒng)首先需要獲取道路交通信息,主要有淺層學(xué)習(xí)和深度學(xué)習(xí)兩種方法[1]。淺層學(xué)習(xí)主要依據(jù)模板與圖像穩(wěn)定的特征點(diǎn)獲取模板與場景中對象的對應(yīng)關(guān)系來檢測目標(biāo),使用Canny[2]和粒子群SVM[3]。近年來,基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)得到迅速發(fā)展,主要分為兩類:一類是基于R-CNN算法,需要先使用啟發(fā)式方法(selective search)或者CNN網(wǎng)絡(luò)(RPN)產(chǎn)生Region Proposal,然后再在Region Proposal上做分類與回歸,雖然精度很高,但速度非常慢。另一類是基于YOLO(You Only Look Once)[4]、SSD(Single Shot Multi-box Detector)[5]這類算法,其僅僅使用一個CNN網(wǎng)絡(luò)直接預(yù)測不同目標(biāo)的類別與位置。本文檢測行人、車輛和信號燈所用到的改進(jìn)YOLOv3算法結(jié)合了特征金字塔,借鑒了殘差網(wǎng)絡(luò)和多尺度預(yù)測網(wǎng)絡(luò),從而表現(xiàn)出較好的目標(biāo)檢測速度和精準(zhǔn)度。這使得此方法在自動駕駛中的應(yīng)用具有良好的前景。
1 概述
本文提出了一種基于改進(jìn)YOLOv3的人車信號燈識別方法,以解決原始YOLOv3算法存在的邊界框定位不準(zhǔn),且對小目標(biāo)檢測精度不高的問題。本文基于Apolloscape數(shù)據(jù)集中的視頻或圖像,首先通過K-means聚類計算獲得新的anchors值,替換原始YOLOv3模型中的數(shù)據(jù)集參數(shù),再采用改進(jìn)后的YOLOv3模型對行人、車輛和信號燈等道路交通信息進(jìn)行檢測,可應(yīng)用于自動駕駛或車輛輔助系統(tǒng)。目標(biāo)檢測流程圖如圖1所示。
2 YOLOv3算法原理
本論文所使用的YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)如下圖2所示,Darknet-53作為骨干網(wǎng)絡(luò)主要用于提取圖像特征,它是全卷積網(wǎng)絡(luò),包含有53個卷積層,引入了殘差結(jié)構(gòu)。輸入為416x416時,Darknet-53特征提取網(wǎng)絡(luò)將輸出三個尺度的特征圖,大小分別為13x13、26x26和52x52。將三個不同尺度的特征圖通過FPN(Feature Pyramid Network)[6]進(jìn)行融合,利用多尺度策略幫助網(wǎng)絡(luò)模型同時學(xué)習(xí)不同層次的特征信息,最后將融合后的特征輸入YOLO層進(jìn)行類別預(yù)測和邊界框回歸。
YOLOv3采用先驗(yàn)框(anchor box)機(jī)制來預(yù)測目標(biāo)邊界框,對標(biāo)注邊界框尺寸進(jìn)行K-means聚類得到一組尺寸固定的初始候選框。先驗(yàn)框尺寸與特征圖尺度大小成反比,在較大的特征圖上應(yīng)用較小的先驗(yàn)框,用于檢測較小的目標(biāo),在較小的特征圖上應(yīng)用較大的先驗(yàn)框,用于檢測較大的目標(biāo)。對于輸入圖像,YOLOv3按特征圖尺度將其劃分為S×S個網(wǎng)格,每個單元格會預(yù)測B個邊界框(bounding box)以及邊界框的置信度。所謂置信度其實(shí)包含兩個方面,一是這個邊界框含有目標(biāo)的可能性大小,二是這個邊界框的準(zhǔn)確度。前者記為Pr(object),當(dāng)該邊界框是背景時(即不包含目標(biāo)),此時Pr(object)=0。而當(dāng)該邊界框包含目標(biāo)時,Pr(object)=1。邊界框的準(zhǔn)確度可以用預(yù)測框與實(shí)際框的交并比來表征,記為IOUtruthpred。因此置信度計算公式為:
得到全部預(yù)測邊界框后,設(shè)置閾值將置信度較低的邊界框去除,其余邊界框經(jīng)過非極大值抑制得到目標(biāo)邊界框。
3 改進(jìn)的YOLOv3算法
若兩個目標(biāo)類別均值之間的距離小于預(yù)先設(shè)定的閾值,則將這兩個目標(biāo)類別合并為一個類;再繼續(xù)通過上式計算類均值的距離。經(jīng)過對樣本子集的并集進(jìn)行合并,得到最終的K-means值聚類結(jié)果;使用最終生成的聚類結(jié)果計算符合本模型使用的anchors值,將新的anchors值替換原始YOLOv3模型中的數(shù)據(jù)集參數(shù)。
在YOLOv3損失函數(shù)中利用高斯分布特性增加對每個邊界框準(zhǔn)確度的預(yù)測,以提升網(wǎng)絡(luò)的精度,YOLOv3算法的損失函數(shù)主要從邊界框坐標(biāo)預(yù)測誤差、邊界框置信度誤差、類別預(yù)測誤差這三個方面考慮,其損失函數(shù)公式表示為:
其中,S表示圖像的網(wǎng)格數(shù),B表示每個網(wǎng)格中預(yù)測的邊界框數(shù),C表示總類別數(shù),P表示目標(biāo)屬于某一類別的概率,c為類別序號,S2為網(wǎng)格序號,B為邊框序號;xi表示屬于第i個網(wǎng)格的邊界框中心點(diǎn)的橫坐標(biāo),yi表示屬于第i個網(wǎng)格的邊界框中心點(diǎn)的縱坐標(biāo),wi表示屬于第i個網(wǎng)格的邊界框的寬度,hi表示屬于第i個網(wǎng)格的邊界框的高度,λcoord為權(quán)重系數(shù),λnoobj為懲罰權(quán)重系數(shù),表示第i個網(wǎng)格的第j個邊界框是否負(fù)責(zé)預(yù)測這個目標(biāo)。
利用高斯分布特性改進(jìn)損失函數(shù),增加對邊界框準(zhǔn)確度的判斷,以邊界框中心點(diǎn)x方向坐標(biāo)為例,修改后的邊界框x坐標(biāo)預(yù)測誤差計算方法如下式:
式中,tx表示邊界框中心點(diǎn)坐標(biāo)相對于網(wǎng)格左上角x坐標(biāo)的偏移量,W和H分別表示預(yù)測層中網(wǎng)格的數(shù)目,K表示先驗(yàn)框的數(shù)目。
4 實(shí)驗(yàn)結(jié)果分析
本文實(shí)驗(yàn)環(huán)境為1080ti gpu服務(wù)器,CUDA版本是10.0,tensorflow版本是2.0,keras版本是2.3,數(shù)據(jù)集選取的是Apolloscape數(shù)據(jù)集。Apolloscape發(fā)布的整個數(shù)據(jù)集包含數(shù)十萬幀逐像素語義分割標(biāo)注的高分辨率圖像數(shù)據(jù),涵蓋了更復(fù)雜的道路狀況,同時開放數(shù)據(jù)集采用了逐像素語義分割標(biāo)注的方式,是目前環(huán)境最復(fù)雜、標(biāo)注最精準(zhǔn)、數(shù)據(jù)量最大的自動駕駛數(shù)據(jù)集。通過本文改進(jìn)的YOLOv3模型得到的目標(biāo)檢測結(jié)果如下圖3。
從圖3中,我們可以看到,本文對圖像中的行人、車輛和信號燈的識別檢測結(jié)果表現(xiàn)良好。目標(biāo)檢測結(jié)果圖中,可以得到行人、車輛和信號燈的類別和置信度,并用不同的顏色標(biāo)出。在車輛檢測中,本文將車輛按車型分為三類進(jìn)行識別:小車car,卡車truck以及公交車bus。
為了定量評估本文提出的基于改進(jìn)YOLOv3的人車信號燈識別方法在性能上的優(yōu)越性,實(shí)驗(yàn)使用相同的數(shù)據(jù)集進(jìn)行訓(xùn)練與測試,最終得出各項性能測試結(jié)果如下表1。相比于原始的YOLOv3模型,本文提出的改進(jìn)的YOLOv3模型在準(zhǔn)確度、召回率和平均IOU值上均有提升。
5 結(jié)論
本文提出了一種基于改進(jìn)YOLOv3的人車信號燈識別方法,以解決原始YOLOv3算法存在的邊界框定位不準(zhǔn),且對小目標(biāo)檢測精度不高的問題。本文基于Apolloscape數(shù)據(jù)集中的視頻或圖像,首先通過K-means聚類計算獲得新的anchors值,替換原始YOLOv3模型中的數(shù)據(jù)集參數(shù),并利用高斯分布特性增加對邊界框準(zhǔn)確度的判斷,再采用改進(jìn)后的YOLOv3模型對行人、車輛和信號燈等道路交通信息進(jìn)行檢測,可應(yīng)用于自動駕駛或車輛輔助系統(tǒng)。目前的工作對信號燈的檢測較為單一,還未實(shí)現(xiàn)對信號燈指示方向的判斷,相關(guān)研究將在后續(xù)研究中進(jìn)一步展開。
參考文獻(xiàn):
[1]馬立,鞏笑天,歐陽航空.Tiny YOLOv3目標(biāo)檢測改進(jìn)[J].光學(xué)精密工程,2020,28(04):988-995.
[2]丁鵬,張葉,劉讓,等.結(jié)合形態(tài)學(xué)和Canny算法的紅外弱小目標(biāo)檢測[J].液晶與顯示,2016,31(08):793-800.
[3]張國梁,賈松敏,張祥銀,等.采用自適應(yīng)變異粒子群優(yōu)化SVM的行為識別[J].光學(xué)精密工程,2017,25(06):1669-1678.
[4]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.
[5]Liu W,Anguelov D,Erhan D,et al.SSD: single shot multibox detector[C].Proceedings of the 2016 European Conference on Computer Vision.Cham: Springer,2016:21-37.
[6]Lin T Y,Dollár P,Girshick R,et al.Feature pyramid networks for object detection[C].Proceedings of the IEEE conference on computer vision and pattern recognition,2017:2117-2125.
[7]Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks.Ren S,He K,Girshick R,et al.IEEE Transactions on Pattern Analysis and Machine Intelligence.2015
[8]李鵬飛,劉瑤,李珣,等.YOLO9000模型的車輛多目標(biāo)視頻檢測系統(tǒng)研究[J].計算機(jī)測量與控制,2019,27(08):21-24+29.
[9]You only look once:Unified,real-time object detection.Redmon J,Divvala S,Girshick R,et al.Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016.
[10]YOLO9000:Better Faster,Stronger.Redmon J,F(xiàn)arhadi A.Conference on Computer Vision and Pattern Recognition.2017.
[11]High-Speed tracking-by-detection without using image information.E.Bochinski,V.Eiselein,T.Sikora.2017 14th IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS).2017.
[12]Feature Pyramid Networks for Object Detection.Tsung-Yi Lin,Piotr Dollár,Ross Girshick,Kaiming He,Bharath Hariharan,Serge Belongie.Computer Vision and Pattern Recognition.2017.
[13]Very deep convolutional networks for large-scale image recognition.Simonyan K,Zisserman A.ICLR.2015.
[14]Faster r-cnn:Towards real-time object detection with region proposal networks.Ren S,He K,Girshick R,et al.NIPS.2015.
[15]An improved tiny-yolov3 pedestrian detection algorithm.ZHANG Y,SHEN Y L,ZHANG J.Optik.2019.