董如意,崔 冉
(吉林化工學(xué)院 信息與工程控制學(xué)院, 吉林 吉林 132022)
隨著我國汽車行業(yè)和人工智能行業(yè)的繁榮發(fā)展,無人駕駛對(duì)交通運(yùn)輸行業(yè)有著越來越重要的影響。同時(shí)因?yàn)槿斯ぶ悄堋鞲袡z測等核心技術(shù)的推進(jìn)和高速發(fā)展,無人駕駛在未來勢必成為重點(diǎn)發(fā)展方向。近年來,智能技術(shù)不斷革新,為了能夠?qū)崿F(xiàn)無人駕駛汽車的產(chǎn)業(yè)化和成熟直至能夠在全球范圍內(nèi)使用,交通信號(hào)燈的實(shí)時(shí)檢測作為未來自動(dòng)駕駛領(lǐng)域的關(guān)鍵技術(shù)之一,是至關(guān)重要的。交通信號(hào)燈遍布在城市道路各個(gè)重要節(jié)點(diǎn),保護(hù)著交通通行中的每個(gè)車輛和行人。因此,在無人駕駛技術(shù)中,對(duì)于交通信號(hào)燈監(jiān)測的實(shí)時(shí)性和精準(zhǔn)度的研究具有非常重要的意義。
目標(biāo)檢測多指某個(gè)圖像或者一系列圖像中將目標(biāo)和其他非目標(biāo)及背景區(qū)分開,在圖像中識(shí)別出有意義的物體而提取不同圖像特征的操作。關(guān)于交通信號(hào)燈的目標(biāo)檢測方法,目前研究分為One-stage[1](單階段)、Two-stage[2](兩階段)。One-stage(單階段)是指只用提取一次特征就可以完成目標(biāo)檢測,且其速度并不亞于多階段的算法,但精度會(huì)稍低一些。單階段算法一般不需要得到建議框階段,只用經(jīng)過單次檢測就可以直接得到最終的檢測結(jié)果。比如YOLO系列算法、Retinanet[3]、SSD[4]等。Two-stage(兩階段)在第一階段中關(guān)注并找出目標(biāo)物體存在的位置,得到建議框來保證一定的準(zhǔn)確率,第二階段關(guān)注對(duì)建議框的分類,找到更精準(zhǔn)的位置。比如RCNN[5]、Fast-RCNN[6]、Mask RCNN[7]等。在精準(zhǔn)度方面,單階段檢測不如兩階段目標(biāo)檢測,但在實(shí)時(shí)性方面,單階段檢測已經(jīng)完全可以滿足自動(dòng)駕駛的要求了。文獻(xiàn)[8]設(shè)計(jì)了一種基于候選區(qū)域法的交通信號(hào)燈檢測與識(shí)別算法(DBA-Faster R-CNN),在特征提取網(wǎng)絡(luò)中加入了CBAM注意力機(jī)制模塊,可以完成交通信號(hào)燈的檢測與識(shí)別,但檢測速度相對(duì)較慢。文獻(xiàn)[9]對(duì)YOLOV3進(jìn)行了改進(jìn),在骨干網(wǎng)絡(luò)中加入了跨通道特征融合的方法加強(qiáng)網(wǎng)絡(luò)對(duì)交通信號(hào)燈特征的提取能力,該方法魯棒性符合預(yù)期但是對(duì)某些交通信號(hào)燈的檢測精準(zhǔn)度還有提高空間。文獻(xiàn)[10]提出了一種改進(jìn)YOLOV4算法的交通信號(hào)燈檢測與識(shí)別方法,通過加入淺層特征增強(qiáng)機(jī)制和邊界框不確定預(yù)測機(jī)制增強(qiáng)算法中對(duì)小目標(biāo)不敏感的問題,所提出的改進(jìn)網(wǎng)絡(luò)能夠達(dá)到更高精度的檢測,但在實(shí)時(shí)性方面還有進(jìn)步空間。由此可見,以上的方法對(duì)交通信號(hào)燈的檢測識(shí)別效果在實(shí)時(shí)性和準(zhǔn)確性之間不能很好地保持平衡。
當(dāng)前目標(biāo)檢測領(lǐng)域中YOLO作為性能最優(yōu)的算法之一,它幾乎應(yīng)用在計(jì)算機(jī)視覺和人工智能等領(lǐng)域的各種應(yīng)用。YOLO相比較于其他算法而言,優(yōu)勢在于它的又快又準(zhǔn),可以完美地實(shí)現(xiàn)實(shí)時(shí)的目標(biāo)檢測。其中YOLOV5模型與先前的YOLOV3、YOLOV4不同的點(diǎn)在于YOLOV3、YOLOV4除了具有完整的大模型,還只有一個(gè)輕量級(jí)的tiny模型,并且在tiny模型中只有兩個(gè)輸出層。YOLOV5模型目前有四個(gè)版本的網(wǎng)絡(luò)模型:YOLOV5S、YOLOV5M、YOLOV5L、YOLOV5X。其中YOLOV5S是YOLOV5所有網(wǎng)絡(luò)模型中深度最小、特征圖最寬的一個(gè)模型,更適用于大目標(biāo)并且追求速度的檢測。YOLOV5M、YOLOV5L、YOLOV5X都是在YOLOV5S的基礎(chǔ)上加深加寬網(wǎng)絡(luò),AP(平均精度)精度也不斷在提升,但速度的消耗也在不斷增加。YOLOV5S和YOLOV5M雖然在檢測速度上非常占優(yōu)勢,但其識(shí)別精度并不高;而YOLOV5X是識(shí)別精度高,速度卻差強(qiáng)人意。所以在比較以上四種網(wǎng)絡(luò)模型后選擇使用YOLOV5L模型進(jìn)行實(shí)驗(yàn),YOLOV5L模型的框架如圖1所示,其主要包括主干特征提取網(wǎng)絡(luò)層Backbone[11]、加強(qiáng)特征提取網(wǎng)絡(luò)層Neck和檢測層Head。

圖1 YOLOV5網(wǎng)絡(luò)結(jié)構(gòu)

YOLOV5的Backbone層主要分為Conv模塊、CSPDarkNet53和SPPF模塊。YOLOV5將卷積(Conv2d)、Batch Normalization和激活函數(shù)封裝在一起,并且實(shí)現(xiàn)了padding的效果。其中激活函數(shù)使用了SiLU代替了舊版本的Leaky ReLU。在該版本的YOLOV5中使用尺寸大小為666×666,步長為2,padding為2的卷積核代替了Focus模塊,有利于高效地導(dǎo)出模板。YOLOV5模型使用了C3模塊,替代了舊版本的BottleneckCSP模塊。C3模塊中含有3個(gè)標(biāo)準(zhǔn)卷積層以及多個(gè)Bottleneck模塊。Bottleneck模塊參考了ResNet的殘差結(jié)構(gòu),首先有一路先進(jìn)行111×111卷積把特征圖的通道數(shù)減小一半,達(dá)到減少計(jì)算量的目的,再通過333×333卷積提取特征,并且將通道數(shù)加倍。而另外一路通過shortcut進(jìn)行殘差連接,最終將兩路的輸出特征圖進(jìn)行Add操作,實(shí)現(xiàn)特征融合。YOLOV5使用了SPPF模塊來代替舊版本中的SPP(Spatial Pyramid Pooling)模塊,即空間金字塔池化。SPPF模塊使用多個(gè)小尺寸池化核級(jí)聯(lián)融合不同特征圖,在豐富特征圖的表達(dá)能力的情況下進(jìn)一步提升運(yùn)行速度。Neck層借鑒了FPN和PAN的思想,主要作用是融合其他不同層的特征檢測目標(biāo)。FPN主要是提高對(duì)小目標(biāo)的檢測,它將高層特征與低層特征相融合,進(jìn)行了多尺度特征的獨(dú)立預(yù)測,旨在提高小物體的檢測效果。Head層主要是對(duì)圖像的特征進(jìn)行預(yù)測,并生成預(yù)測框的坐標(biāo)信息、長寬和類別信息,同時(shí)預(yù)測其類別。相比較舊版本的Head層,YOLOV3后的所有版本的Head層引入了多尺度檢測邏輯和多標(biāo)簽分類思想,優(yōu)化了損失函數(shù),可以檢測大、中、小目標(biāo)。
數(shù)據(jù)集對(duì)于深度學(xué)習(xí)算法而言是非常重要的一個(gè)根基,交通信號(hào)燈檢測模型訓(xùn)練需要大量的數(shù)據(jù)集支撐,因此需要對(duì)圖像中出現(xiàn)的物體目標(biāo)進(jìn)行標(biāo)注。為保證實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,制作數(shù)據(jù)集時(shí)選擇的圖像盡量包含不同角度和不同距離,也要盡量使數(shù)據(jù)集中不同類型的物體目標(biāo)數(shù)量保持均衡。目前大部分公開數(shù)據(jù)集都來自國外,與國內(nèi)交通燈存在一定差異,所以本文的交通燈數(shù)據(jù)集主要由線上收集、現(xiàn)場拍攝和道路交通攝像截圖組成。
數(shù)據(jù)集圖片樣本如圖2所示,訓(xùn)練集數(shù)據(jù)可視化分析如圖3所示,其中圖3(a)分析了交通燈的類別和數(shù)量的關(guān)系;圖3(b)分析了交通燈中心點(diǎn)位置如何分布;圖3(c)分析了交通燈大小分布情況,并可以看出小目標(biāo)占比較大。

圖2 數(shù)據(jù)集樣本圖

圖3 數(shù)據(jù)集分析
實(shí)驗(yàn)環(huán)境使用windows10 操作系統(tǒng),CPU型號(hào)為Intel(R) Core(TM) i7-7700HQ CPU @ 2.80 GHz,運(yùn)行內(nèi)存為24 GB,深度學(xué)習(xí)框架使用Pytorch,編程語言使用Python。超參數(shù)設(shè)置如表1所示。

表1 參數(shù)設(shè)置

精確率(Precision):表示是正類并且確實(shí)是正類的部分占所有認(rèn)為是正類的比例,衡量分出來的正類的確是正類的概率的能力。計(jì)算如公式(1)所示。
(1)
召回率(Recall):表示一個(gè)算法模型能把所有的正類都找出來的能力,召回率的計(jì)算如公式(2)所示。
(2)


(3)
(4)
幀率(FPS):檢測速度是衡量算法性能的重要指標(biāo)之一,尤其對(duì)于時(shí)效性需求較大的平臺(tái)。FPS(FramesPerSecond)一般用于表示模型識(shí)別速度,每秒內(nèi)可以處理的圖片數(shù)量。
實(shí)驗(yàn)中收集的2 200張圖片,其中訓(xùn)練集圖片2 000張,測試集圖片200張。本文的數(shù)據(jù)集共有9種不同類別的標(biāo)簽,分別是“Green_Straight(直行綠燈)”“Green_Left (左轉(zhuǎn)綠燈)” “Green_Right (右轉(zhuǎn)綠燈)”“Red_Straight (直行紅燈)”“Red_Left (左轉(zhuǎn)紅燈)”“Red_Right (右轉(zhuǎn)紅燈)”“Yellow_Straight (直行黃燈)”“Yellow_Left (左轉(zhuǎn)黃燈)”“Yellow_Right (右轉(zhuǎn)黃燈)”。實(shí)驗(yàn)進(jìn)行了100次迭代處理,觀察每個(gè)不同標(biāo)簽訓(xùn)練后得到的Precision、Recall和mAP@.50值,并將每次訓(xùn)練的ACC(準(zhǔn)確率)展示出來,最后保存訓(xùn)練模型。實(shí)驗(yàn)結(jié)果如表2所示,訓(xùn)練模型結(jié)果如圖4所示。

表2 模型識(shí)別結(jié)果

圖4 訓(xùn)練模型結(jié)果
如表2所示,“Green_Straight(直行綠燈)”“Green_Right (右轉(zhuǎn)綠燈)”“Yellow_Straight (直行黃燈)”以及“Yellow_Left (左轉(zhuǎn)黃燈)”的mAP@.50穩(wěn)定在90%以上,說明絕大部分的“Green_Straight(直行綠燈)”“Green_Right (右轉(zhuǎn)綠燈)”“Yellow_Straight (直行黃燈)”以及“Yellow_Left (左轉(zhuǎn)黃燈)”可以識(shí)別出來,“Green_Left (左轉(zhuǎn)綠燈)”和“Red_Right (右轉(zhuǎn)紅燈)”最終mAP@.50穩(wěn)定在40%左右,說明它們的識(shí)別精準(zhǔn)度還有待提高。圖4直觀地展示出來模型經(jīng)過100次訓(xùn)練后性能的變化。隨著迭代次數(shù)不斷增加,loss值隨著訓(xùn)練次數(shù)的增加不斷減少最終趨于穩(wěn)定;Precision隨著迭代次數(shù)的不斷增加不斷上升,最終穩(wěn)定在0.6左右;Recall隨著訓(xùn)練次數(shù)增加不斷提高,直到最終穩(wěn)定在0.9左右。通過觀察圖4展示的數(shù)值變化情況,最終都趨于穩(wěn)定,可以得出結(jié)論:該模型具有較好的準(zhǔn)確性和實(shí)時(shí)性。
圖5為本實(shí)驗(yàn)的模型識(shí)別結(jié)果,由圖可見,圖中檢測出的交通信號(hào)燈的置信度均在70%,說明該測量是可信和有效的,部分檢測的置信度在90%左右,說明該測量功能非常強(qiáng)大甚至完美。

圖5 模型識(shí)別結(jié)果

為更好地檢測模型的性能,模型將在測試集上進(jìn)行進(jìn)一步的測試。圖6是實(shí)驗(yàn)的混淆矩陣,該圖縱坐標(biāo)為模型預(yù)測值,橫坐標(biāo)為真實(shí)值,由圖分析,該模型在測試集中表現(xiàn)較好。綜上,本文使用的模型能夠準(zhǔn)確地對(duì)交通信號(hào)燈進(jìn)行識(shí)別,表現(xiàn)性能良好,且滿足實(shí)時(shí)性的要求。

圖6 混淆矩陣
本文是基于神經(jīng)網(wǎng)絡(luò)的交通信號(hào)燈識(shí)別方法的研究,尋找兼具準(zhǔn)確性和實(shí)時(shí)性的交通信號(hào)燈識(shí)別方法。經(jīng)過試驗(yàn)檢測得出YOLOV5L在交通信號(hào)燈識(shí)別問題上的表現(xiàn)最優(yōu),可以在不同角度和不同距離下較為準(zhǔn)確地識(shí)別出交通信號(hào)燈。該模型擁有能檢測小模型、易部署、速度快等優(yōu)點(diǎn)。所以本文基于目標(biāo)檢測模型YOLOV5L的基本框架,研究了YOLOV5的基本原理與理論,并進(jìn)行了網(wǎng)絡(luò)搭建,且實(shí)驗(yàn)得出最終的mAP@.50穩(wěn)定在78.6%。本研究實(shí)現(xiàn)了基于深度學(xué)習(xí)的交通信號(hào)燈檢測方法,為無人駕駛技術(shù)的實(shí)現(xiàn)完成了部分理論基礎(chǔ)工作。