?

基于YOLOv5s的交通信號燈檢測算法

2023-12-03 16:12周愛玲譚光興
廣西科技大學學報 2023年4期
關鍵詞:檢測

周愛玲 譚光興

摘 要:在自動駕駛和輔助駕駛領域,準確判斷交通信號燈的狀態與類別對于智能汽車的行車安全十分重要。針對城市道路交通信號燈目標小、背景環境復雜多樣造成的檢測難度大等問題,提出一種基于YOLOv5s的交通信號燈檢測算法YOLOv5s_MCO。該算法使用MobileNetv2輕量化網絡代替原主干特征提取網絡,利用深度可分離卷積和逆殘差結構,降低模型的參數量及計算量;然后引入卷積塊注意力機制(convolutional block attention module,CBAM),從通道和空間2個維度進行特征增強,增大網絡的感受野,使網絡更關注交通信號燈的目標特征,提高對小尺度目標的檢測能力。實驗結果表明:所提算法在自制的國內交通信號燈數據集上檢測精度達到了81.89%,相較于原YOLOv5s算法提升了1.33%,同時改進后的模型大小僅為19.1 MB,檢測速度達到了39.2 幀/s,能夠滿足實時高效的檢測要求。

關鍵詞:交通信號燈;MobileNetv2;卷積塊注意力機制(CBAM);檢測

中圖分類號:TP391.41;U491.5 DOI:10.16375/j.cnki.cn45-1395/t.2023.04.010

0 引言

近年來,隨著科學技術和人工智能(artificial intelligence,AI)的日益革新,基于深度學習和計算機視覺的自動駕駛和輔助駕駛技術正在逐漸取代傳統的道路交通場景目標檢測算法。交通信號燈是組成道路交通安全的重要元素,高效準確地識別交通信號燈的狀態,可以幫助智能汽車提前獲取交通路口信息,避免出現安全事故,為乘客安全提供保障。

早期的交通信號燈檢測算法主要采用傳統圖像處理方法,通過滑動窗口手工提取交通燈的目標特征,并結合機器學習分類器完成檢測與識別[1]。Omachi等[2]將RGB圖像轉換為RGB標準化圖像,利用Hough變換從候選區域中準確定位交通燈的位置。朱永珍等[3]完成圖像HSV色彩空間轉換,利用色彩H閾值分割候選區域,原圖再經灰度形態學操作后用Hough變換預測疑似區域,二者融合濾波后完成交通燈信息識別。這些傳統圖像處理算法采用大量手工設計模型提取的特征,對特定任務的依賴程度高,魯棒性較低,泛化效果不足,難以在復雜交通環境中滿足實時性要求。

近年來,隨著卷積神經網絡體系結構的不斷發展,目標檢測算法進入了百花齊放的階段。目前,基于深度學習的目標檢測算法可分成兩個類別:以Faster R-CNN[4]等為代表的兩階段算法,預先生成可能存在目標的候選邊界框再進行調整分類,準確率高但檢測效率較低;以SSD[5]、YOLO[6]等為代表的單階段算法,網絡跳過生成候選區域的步驟一步到位完成檢測,檢測速度得到提升,但相較兩階段算法精度有所下降。潘衛國等[7]補充了國內交通信號燈信息,在自建數據集中使用Faster R-CNN算法,通過實驗對比,選擇了最優的特征提取網絡,完成交通信號燈的檢測與識別。王莉等[8]利用跨越式特征融合和聚類縮放獲取新先驗框的方法改進了YOLOv3網絡,相較原網絡在Bosch交通燈數據集上平均精度均值(mean average pnecision,mAP)提高了9%。Yan等[9]利用K-means聚類對YOLOv5進行改進,在BDD100K數據集中,交通信號燈的檢測速度得到提高,最高可達143幀/s?,F有的基于深度學習的交通信號燈算法雖然規避了傳統算法中人工提取特征和對特定任務依賴程度高的問題,但卻存在網絡模型結構復雜、參數量過大、檢測效率較低、訓練代價高等問題。

針對傳統圖像處理方法和日常目標檢測算法所存在的問題,同時考慮網絡的檢測精度與檢測速度,以YOLOv5s目標檢測算法為基礎,設計了交通信號燈檢測模型YOLOv5s_MCO。通過引入輕量化模型MobileNetv2,在保證檢測精度的情況下,降低模型的參數以及計算量;并將卷積塊注意力機制(convolutional block attention module,CBAM)模塊添加至Output網絡的Head檢測頭前,使網絡更關注圖像中的目標特征,增強算法的特征提取能力。實驗結果表明:在自制的國內城市交通信號燈數據集上,本文所提出的交通信號燈檢測算法可以較好地應用于城市道路交通場景中,并取得了良好的檢測結果。

1 YOLOv5模型

從YOLOv1發展至YOLOv5,YOLO系列作為單階段目標檢測算法的代表,集合了很多基于深度學習的目標檢測網絡的優點?;趯嶋H應用考慮,本文采用YOLOv5模型(5.0版本)中深度最小、速度最快的YOLOv5s為基礎進行實驗,其網絡模型結構如圖1所示,主要分為輸入端(Input)、主干網絡(Backbone)、特征融合網絡(Neck)、輸出端(Output)4個部分。1)輸入端部分包括圖像數據增強、尺寸縮放等,輸入圖像經過輸入端的統一壓縮,分辨率減小為640×640后輸入主干網絡進行訓練。2)主干網絡主要包括:Focus模塊的切片操作、交替使用的CBS模塊和C3模塊的主干網絡特征提取操作、融合了局部特征和全局特征的空間金字塔池化(SPP)操作,提取出主干網絡的3個不同階段的特征輸入Neck網絡。3)Neck網絡采用特征金字塔(FPN)和路徑聚合網絡(PAN)結構進行加強特征的融合提取,融合主干網絡各特征層和檢測網絡提取的信息,增強信息傳遞效率,提升模型的多樣性和魯棒性。4)輸出端部分具有分別檢測大、中、小3種尺度目標的Head檢測頭:20*20、40*40、80*80,將特征融合網絡中提取出的特征圖經過多尺度預測,最終得出檢測目標的邊界框、類別和置信度信息。

2 改進的YOLOv5s模型

為更好地使模型應用在交通信號燈檢測領域,本文對YOLOv5s的主干網絡和輸出端進行改進,引入MobileNetv2網絡代替原主干特征提取網絡,同時取消SPP和Focus模塊,在保證檢測精度的情況下,降低模型的參數以及計算量;然后利用卷積結構更改3個尺度特征的通道數,使其滿足Neck網絡對輸入通道數的要求;最后將CBAM注意力機制添加至Output網絡的Head檢測頭前,增強算法的特征提取能力。將改進后的算法命名為YOLOv5s_MCO,模型結構如圖2所示,其中M代表MobileNetv2輕量化網絡,C代表CBAM注意力機制,O代表注意力機制的添加位置。改進后的算法在自制數據集中對交通信號燈小目標的檢測有著更好的表現,且體積小更適用于嵌入式設備等低算力平臺。

2.1 MobilNetv2網絡

作為輕量級網絡的代表之一,含有深度可分離卷積的MobileNet系列網絡的設計目標就是為了應用于嵌入式設備等低算力平臺中。不同于常規的卷積運算,深度可分離卷積(depthwise separable convolution,DW)對一個完整的卷積運算進行了拆分重組:首先對輸入特征的每個通道分別進行單通道卷積并堆疊;再利用1*1的卷積核在深度方向上進行加權融合,從而實現通道之間的信息交融。假設一張輸入通道數為C1、尺寸隨機的特征圖,經過輸出通道數為C2、卷積核大小為K*K的卷積層,計算出常規卷積的計算量P與深度可分離卷積的計算量PDW,二者的比值為

(1)

如式(1)所示,深度可分離卷積的參數量明顯小于普通卷積的參數量,且隨著卷積核個數的增加,差距越明顯。

輕量化MobileNetv2[10]網絡不僅采用了深度可分離卷積,還引入了具有線性瓶頸的逆殘差結構,如圖3所示。在實際網絡訓練中,深度可分離卷積雖然大幅度降低了網絡計算復雜度,但也產生大量訓練失敗的卷積核,導致輸出特征圖維度很小,很難通過ReLU函數,造成特征信息損失。而逆殘差結構首先利用點卷積(1*1卷積)擴張數據進行升維,再利用深度卷積(3*3卷積)進行特征提取,最后利用點卷積(1*1卷積)壓縮數據完成降維,達到了減少參數量的目的,且在低維特征圖中使用Linear函數代替原ReLU函數,解決了信息丟失的問題。

2.2 卷積塊注意力機制

在目標檢測算法中,注意力機制(attention mechanism)的本質就是在特定場景下,對解決問題有幫助的信息施加更多的權重,忽略無用信息,使算法聚焦圖像關鍵點信息。因此,本文引入卷積塊注意力機制(convolutional block attention module,CBAM)[11],從而提升目標的檢測精度。如圖4所示,CBAM注意力機制屬于混合注意力機制模塊,其雖然依次從通道和空間2個維度出發對模型特征進行自適應調節,但2個模塊之間既相互獨立又相輔相成,如圖4(a)所示??傮w計算過程為

式中:[F']為過渡特征圖,F為輸入特征圖,MC為通道注意力模塊,[F″]為輸出特征圖,MS為空間注意力模塊。

在通道注意力模塊中,輸入特征圖采用基于寬高的全局平均池化和全局最大池化操作進行維度壓縮后,經過2層共享的多層感知器(multi-layer perceptron,MLP)神經網絡得到權重W0、W1,再將輸出結果疊加進行加和操作以及Sigmoid激活操作后,得到通道注意力特征MC,如圖4(b)所示。該模塊計算方法為

式中:[σ]為Sigmoid激活函數。

在空間注意力模塊中,輸入特征圖經過MC模塊加權后,首先進行基于通道的全局平均池化和全局最大池化操作,得到2個特征圖;再對結果依次進行通道拼接、7*7大小卷積核的卷積操作以及Sigmoid激活操作,生成空間注意力特征MS,如圖4(c)所示。該模塊計算方法為

(5)

式中:f為卷積操作。

由于輕量化模塊CBAM注意力機制內部結構簡單,不含大量卷積模塊,且池化層和特征融合部分的運算量也較少,最重要的是不需要經過循環操作,并行化程度高,這樣的結構設置就決定了該模型的復雜度較低、計算量較少、通用性較高、效果較好?;贑BAM模塊的諸多優勢,許多學者已通過實驗證明了其在目標檢測任務中的可行性,但是因為應用場景和算法模型的差異,注意力模塊的具體嵌入點目前還沒有定論。因此本文在改進主干網絡后,將CBAM模塊分別融入Neck模塊和Head模塊中,探究其對網絡性能的影響。具體添加部位如圖5所示,其中圖5(a)表示將CBAM模塊融入Neck網絡的4個上下采樣后面,圖5(b)在Output網絡的Head檢測頭前融入CBAM模塊。經過實驗證明,將CBAM注意力機制嵌入Output后,網絡的性能表現更佳,更有利于提升模型的檢測精度。

3 實驗與結果分析

3.1 數據集采集

目前,在交通信號燈檢測領域中開源的數據集,如BSTLD、LISA、LARA數據集等,均在國外道路采集,背景較為單一,類別較少,基本只以顏色分類,不考慮形狀問題,且存在國內外的地域差異;而國內公開的交通標志數據集TT100K、CCTSDB等只標注了交通標志信息,并不適用于交通信號燈檢測;因此本文采取自制數據集的方法??紤]到國內復雜城市的交通道路,首先通過網絡篩選和現實拍攝2個途徑進行交通信號燈數據采集,共篩選出包含目標交通燈6 050張圖像;然后使用LabelImg標注軟件對其進行手工標注,得出9個類別共11 782個標簽,具體的9類標簽類別分布如表1所示;最后以3∶1的形式劃分訓練集與測試集,其中訓練集4 050張,測試集1 500張,圖像分辨率主要為1 920×1 080和1 080×1 080。圖6為自制交通信號燈數據集的部分樣本。

3.2 實驗環境與評價指標

3.2.1 實驗環境及參數設置

本實驗深度學習框架為Pytorch,其硬件和軟件平臺設備參數如表2所示。

模型訓練采用自適應矩估計(adaptive moment estimation,ADAM)算法對網絡模型的權重進行更新優化,訓練階段的超參數設置如表3所示。

3.2.2 評價指標

在深度學習目標檢測中,準確率(Precision,P)和查全率(Recall,R)是一對相互制約的指標。單一指標不能說明網絡模型的優劣性,所以本文將從每秒檢測幀數(frame per second,FPS)、模型體積、平均精度均值3項指標出發,評判模型的性能。

式中:NTP、NFP、NFN分別代表在檢測結果中交通燈被正確識別、未被正確識別以及被錯誤識別的數量,[AAP]代表單類別的平均精度,[AmAP]代表全類別平均精度,n代表需要被檢測的交通信號燈類別數量。

3.3 實驗結果

3.3.1 消融實驗

本節進行消融實驗以驗證所提模型的性能,網絡輸入大小與原YOLOv5s保持一致,設置為640×640,不同模型在測試集上的實驗結果如表4所示。其中,YOLOv5s_M是將YOLOv5s的CSPdarknet主干網絡替換為輕量化MobileNetv2網絡;YOLOv5s_MCN是在YOLOv5s_M的基礎上將CBAM注意力機制嵌入Neck網絡中;YOLOv5s_MCO是本文所提模型,即在YOLOv5s_M的基礎上將CBAM注意力機制嵌入Output網絡中。

由表4可知,原YOLOv5s在測試集上的檢測精度為80.56%,檢測速度達到45.1 幀/s,模型體積為27.2 MB。更改主干網絡后,在略微犧牲檢測速度和精度的情況下,YOLOv5s_M模型體積下降了30.51%,僅為18.9 MB。為彌補更改主干網絡后損失的檢測精度,引入CBAM注意力機制后,檢測速度有所下降,但YOLOv5s_MCN和YOLOv5s_MCO的檢測精度都得到了較為明顯的提升,相較于YOLOv5s_M分別提升了1.52%和1.91%,表明注意力機制的引入使得網絡更關注圖像中的主要目標特征,使網絡學習到更多有效信息,從而提升檢測精度。相比之下,將CBAM注意力機制嵌入Output后,網絡的性能表現更佳,故將其作為本文的交通信號燈檢測模型。綜上,本文所提的改進算法YOLOv5s_MCO的檢測精度達到了81.89%,相較于原YOLOv5s提升了1.33%,同時模型體積得到了大幅度的壓縮,僅為原來的70.22%,更適宜部署在嵌入式設備中,并且檢測速度達到了39.2 幀/s,滿足實時性的要求。

3.3.2 不同算法對比

為了進一步驗證所提算法的有效性,將YOLOv5s_MCO和YOLOv3、YOLOv4_tiny模型進行對比。由于對比模型的輸入大小為416×416,將YOLOv5s_MCO網絡輸入大小改為一致后再進行訓練與測試,對比實驗結果如表5所示。

如表5所示,相較于傳統YOLOv3算法,改進后的YOLOv5s_MCO模型體積較小,且在檢測精度與速度方面擁有一定的優勢。而YOLOv4_tiny是在YOLOv4的基礎上簡化而來,僅用2個特征層進行分類與回歸預測,雖然檢測速度得到了大幅度的提升,達到了95.2 幀/s,但其檢測精度遠不及本文的算法,需進一步優化。綜上所述,本文算法YOLOv5s_MCO更滿足在嵌入式設備上對交通信號燈目標檢測的精度和速度方面的要求。

3.3.3 檢測結果對比

在網絡輸入大小為640×640時,YOLOv5s與YOLOv5s_MCO的9類目標的AP值對比如圖7所示??梢钥闯?,本文所提YOLOv5s_MCO的平均精度均值達到了81.89%,相較于YOLOv5s提升了1.33%;并且除了G_R以外,其余類別目標的平均精度基本都得到了提升,特別是Y的AP值提升了10%,R_S的AP值提升了6%。

算法改進前后具體的交通信號燈檢測效果對比如圖8所示??梢悦黠@看出,在圖8(a)第一張圖中,改進前的算法發生了誤檢,將G_L錯誤識別為G_S;在第二張圖中,R_R未被成功識別,出現了漏檢情況;在第三張圖中,不僅存在將R錯誤識別為R_L的誤檢問題,還存在重復預測框的情況。而在圖8(b)中,改進后算法不僅可以準確定位并識別交通信號燈目標,有效降低漏檢率,且置信度分數也得到了提升。由檢測結果可知,在復雜環境下本文算法YOLOv5s_MCO相比于YOLOv5s具有優越性。

4 結論

考慮嵌入式設備實際應用需求,本文提出了一種基于YOLOv5s的交通信號燈檢測模型YOLOv5s_MCO,將主干網絡替換成輕量化MobileNetv2網絡,大幅度縮減算法參數量和計算量;通過添加CBAM注意力模塊,使網絡對交通信號燈的目標特征更加關注,提升算法對城市交通場景中交通信號燈目標檢測的精度。實驗結果表明:本文算法相較于YOLOv5s原網絡,體積縮小了29.78%,檢測精度提升了1.33%,檢測速度也達到了39.2 幀/s,兼顧了實時性和準確度。在未來工作中也將繼續尋找更適合在城市復雜場景中檢測交通信號燈的算法。

參考文獻

[1] 陳艷,李春貴,胡波.一種改進的田間導航特征點提取算法[J].廣西科技大學學報,2018,29(3):71-76.

[2] OMACHI M,OMACHI S.Traffic light detection with color and edge information[C]//IEEE International Conference on Computer Science and Information Technology,2009:284-287.

[3] 朱永珍,孟慶虎,普杰信.基于HSV色彩空間與形狀特征的交通燈自動識別[J].電視技術,2015,39(5):150-154.

[4] 朱宗洪,李春貴,李煒,等.改進Faster R-CNN模型的汽車噴油器閥座瑕疵檢測算法[J].廣西科技大學學報,2020,31(1):1-10.

[5] TIAN Y,GELERNTER J,WANG X,et al.Lane marking detection via deep convolutional neural network[J].Neurocomputing,2018,280:46-55.

[6] REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:unified,real-time object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition,IEEE,2016:779-788.

[7] 潘衛國,陳英昊,劉博,等.基于Faster-RCNN的交通信號燈檢測與識別[J].傳感器與微系統,2019,38(9):147-149,160.

[8] 王莉,崔帥華,蘇波,等.小尺度交通信號燈的檢測與識別[J].傳感器與微系統,2022,41(2):149-152,160.

[9] YAN S J,LIU X B,QIAN W,et al.An end-to-end traffic light detection algorithm based on deep learning[C]//2021 International Conference on Security,Pattern Analysis,and Cybernetics(SPAC),2021:370-373.

[10] SANDLER M,HOWARD A,ZHU M L,et al.MobileNetV2:inverted residuals and linear bottlenecks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2018:4510-4520.

[11] WOO S,PARK J,LEE J Y,et al.CBAM:convolutional block attention module[C]//Proceedings of the European Conference on Computer Vision (ECCV),2018:3-19.

Traffic signal detection algorithm based on YOLOv5s

ZHOU Ailing, TAN Guangxing*

(School of Automation, Guangxi University of Science and Technology, Liuzhou 545616, China)

Abstract: In the field of autonomous driving and assisted driving, it is important to accurately determine the status and category of traffic signals for the driving safety of smart cars. To address the problems of detection difficulty caused by small targets of urban road traffic signals and complex and diverse background environments, a traffic signal detection algorithm YOLOv5s_MCO based on YOLOv5s is proposed. The algorithm uses MobileNetv2 lightweight network instead of the original backbone feature extraction network, and uses depth separable convolution and inverse residual structure to reduce the parameters and computation of the model. Then the convolutional block attention module is introduced to perform feature enhancement from both channel and space dimensions to increase the perceptual field of the network, so that the network can focus more on the target features of traffic signals and improve the detection ability of small-scale targets. The experimental results show that the detection accuracy reaches 81.89% on the homemade domestic traffic signal dataset, which is 1.33% better than the original YOLOv5s algorithm, while the size of the improved model is only 19.1 MB and the detection speed reaches 39.2 frames per second, which can meet the requirements of real-time and efficient detection.

Key words: traffic signal; MobileNetv2; convolutional block attention mechanism(CBAM); detection

(責任編輯:黎 婭)

收稿日期:2022-12-03

基金項目:國家自然科學基金項目(61563005)資助

第一作者:周愛玲,在讀碩士研究生

*通信作者:譚光興,博士,教授,研究方向:智能控制技術,E-mail:gxtan@163.com

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合