白云 羅鈺



摘? 要:針對城市道路的交通標志在真實路況中存在光照不均、遮擋等因素導(dǎo)致的在目標檢測任務(wù)中出現(xiàn)參數(shù)量過多、檢測速度慢等問題,文章基于原有YOLOv5s的網(wǎng)絡(luò)框架提出一種改進后的目標檢測網(wǎng)絡(luò)Shuffle-Block,首先選用開源的CCTSDB數(shù)據(jù)集進行實驗,引入Shuffle-Block模塊替換YOLOv5s原始的CSPDarknet主干網(wǎng)絡(luò),使得YOLOv5s的網(wǎng)絡(luò)模型輕量化,降低模型的復(fù)雜程度。
關(guān)鍵詞:YOLOv5s;交通標志;深度學(xué)習(xí);目標檢測
中圖分類號:TP183;TP391.41 文獻標識碼:A 文章編號:2096-4706(2023)12-0006-04
Traffic Sign Detection Algorithm Based on Improved YOLOv5s
BAI Yun, LUO Yu
(School of Aviation, Inner Mongolia University of Technology, Hohhot? 010051, China)
Abstract: In response to the problems of excessive parameter count and slow detection speed in object detection tasks caused by uneven lighting and occlusion of traffic signs on urban roads in real road conditions, this paper proposes an improved object detection network Shuffle-Block based on the original YOLOv5s network framework. Firstly, the open-source CCTSDB dataset is selected for experiment, and the Shuffle-Block module is introduced to replace the original CSPDarknet backbone network of YOLOv5s, make YOLOv5s network model lightweight and reduce the complexity of the model.
Keywords: YOLOv5s; traffic sign; deep learning; object detection
0? 引? 言
近年來,我國城鄉(xiāng)公路建設(shè)發(fā)展迅速,機動車保有量大幅增長。但是人們對交通的道路安全意識淡薄,且真實路況中交通標志被遮擋、光照不均等外界因素,造成交通事故頻頻發(fā)生,交通安全成為當今社會的一個重要問題。交通標志檢測作為智能交通系統(tǒng)中的重要組成部分,主要應(yīng)用在自動駕駛輔助系統(tǒng)[1](Automatic Driving Assistance System, ADAS)、因素非常多,如光照條件、部分遮擋等,因此交通標志檢測是一項具有挑戰(zhàn)的研究方向。
目前,由于深度學(xué)習(xí)的不斷發(fā)展,目標檢測技術(shù)[2]也在不斷更新。Han等人[3]提出一種刪除低于閾值的連接的剪枝策略,使得網(wǎng)絡(luò)的連接稀疏,從而降低網(wǎng)絡(luò)的復(fù)雜度。Li等[4]對每層卷積中低于閾值的通道進行裁剪操作,達到壓縮模型的目的。邱天衡等[5]提出交通控制、自主駕駛等領(lǐng)域。隨著深度學(xué)習(xí)的興起,目標檢測任務(wù)得到了極大的發(fā)展,其任務(wù)是在圖像或視頻中顯示出交通標志的類別和位置,但影響檢測的因出了一種改進特征融合結(jié)構(gòu)的YOLOv5算法模型,并且降低了網(wǎng)絡(luò)的參數(shù)量和計算量,在提升模型檢測精度的同時保持了模型的輕量化。郭磊等[6]提出了一種針對小目標檢測的YOLOv5算法模型,在小目標物體檢測上具有更強的特征提取能力和更高的檢測精度。
深度學(xué)習(xí)算法在目標檢測上的表現(xiàn)優(yōu)異,給交通標志檢測帶來了更多的可能性。本文選用YOLOv5s模型結(jié)合Shuffle-Block輕量級網(wǎng)絡(luò)進行實驗,在減少參數(shù)量和計算量等方面都有著相當不錯的表現(xiàn)。
1? 輕量化網(wǎng)絡(luò)簡介
輕量化網(wǎng)絡(luò)的技術(shù)不止一個方向,它們之間相互獨立又相互補充,合理的設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)能夠起到很好的互補作用。輕量化模塊設(shè)計主要是圍繞更輕便的計算單元展開,和常規(guī)卷積操作相比擁有更少的參數(shù)量和計算量。YOLOv5s模型的主干網(wǎng)絡(luò)采用CSPDarknet53結(jié)構(gòu),該結(jié)構(gòu)參數(shù)量較多,且網(wǎng)絡(luò)層數(shù)復(fù)雜。因此,對主干網(wǎng)絡(luò)進行裁剪或替換,實現(xiàn)YOLOv5s的輕量化設(shè)計。
根據(jù)網(wǎng)絡(luò)的結(jié)構(gòu)層次,可以將輕量化網(wǎng)絡(luò)劃分為模型的輕量化結(jié)構(gòu)設(shè)計和模型壓縮兩大類,輕量化結(jié)構(gòu)設(shè)計是在設(shè)計模型時就遵從輕量化思想,模型壓縮是在原有的模型基礎(chǔ)上,例如減少卷積數(shù)量、增加網(wǎng)絡(luò)的并行度、采用深度可分離卷積等[7],列出了近年來比較優(yōu)秀的輕量化網(wǎng)絡(luò),主要有Squeeze Net、Mobile Net系列、Shuffle Net系列、Ghost Net等。
谷歌公司在2017年輕量化網(wǎng)絡(luò)中首次提出了一種將圖像通道和圖像區(qū)域分開處理的深度可分離卷積概念。深度可分離卷積分由深度卷積(Depth Wise convolution, DW conv)和逐點卷積(Point Wise convolutions, PW conv)結(jié)合而成。在幾乎不影響精度的情況下深度可分離卷積可以大幅度降低網(wǎng)絡(luò)的計算量以及每秒浮點運算次數(shù)(FLoating point OPerations per Second, FLOPS)。對于傳統(tǒng)的卷積運算,在進行卷積運算時需要同步考慮圖像區(qū)域中的所有通道,從而導(dǎo)致計算量增加,模型參數(shù)復(fù)雜。
在卷積核大小為wF×hk普通卷積中,卷積核的深度與輸入特征矩陣深度相同為M,卷積核個數(shù)與輸出特征矩陣深度相同為N,整個運算過程中共有個wF×hk×M×N卷積核,每個卷積核都要經(jīng)過Dw×Dh次運算。如圖1為傳統(tǒng)的卷積過程,其運算計算量Fconv可以如式(1):
Fconv = wF×hk×M×N×Dw×Dh? ? ? ? ? ? ? ?(1)
在深度卷積階段,只需要1個卷積核大小為wk×hk深度為M的卷積核;在逐點卷積階段,需要N個卷積核大小為1×1深度為N的卷積核,深度卷積和逐點卷積的每個卷積核都需要經(jīng)過Dw×Dh次運算。如圖2為深度分離卷積的過程,其計算量Fdc如式(2):
Fdc = wk×hk×M×Dw×Dh + M×N×Dw×Dh? ? ?(2)
深度可分離卷積與傳統(tǒng)卷積的計算量之比R如式(3):
從傳統(tǒng)卷積與深度可分離卷積的計算量和參數(shù)量之間可以得到,在相同的計算效果下,無論是參數(shù)量還是計算量都比傳統(tǒng)卷積極大減少了模型的計算量。Shuffle-Block中特征提取組件使用的是深度可分離卷積,而深度可分離卷積則更加適合在嵌入式設(shè)備上部署運行。
2? 改進的YOLOv5s檢測算法
2.1? 輕量化網(wǎng)絡(luò)
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,交通標志的檢測朝著自動化、智能化的方向發(fā)展,深度學(xué)習(xí)算法對交通標志有著優(yōu)異的檢測性能,可實現(xiàn)傳統(tǒng)方法難以達到的檢測效果。YOLOv5s作為開源的目標檢測網(wǎng)絡(luò)與同一系列目標檢測網(wǎng)絡(luò)相比,在速度和精度上有著明顯的優(yōu)勢。由于YOLOv5s在初始模型的特征階段對目標的檢測效果非常差,網(wǎng)絡(luò)模型體積較大,參數(shù)量多,對硬件要求高且不能再在移動端部署。針對以上情況,本文提出了一種改進YOLOv5s的輕量化檢測算法。
2.2? 引入輕量化
圖3為Shuffle-Block在網(wǎng)絡(luò)結(jié)構(gòu)中重新設(shè)計了兩種核心模塊,如圖3(a)大小不變單元所示,主要用于提取特征同時保持特征圖的大小。首先,在進行卷積操作前,使用通道分割(Channel Split, CS)將輸入通道分為兩個分支,左分支不進行處理,右分支分別進行深度卷積等一系列處理,再將左分支的通道與右分支卷積輸出特征進行融合并進行通道混洗,使各分支間的特征信息得以交流,從而加強兩通道之間的圖像信息融合;如圖3(b)2倍下采樣單元所示,主要對圖像特征進行2倍下采樣,左右分支都進行了降采樣操作,且兩個分支上的普通卷積均改為了深度可分離卷積,大幅減少了計算量,加快了模型的訓(xùn)練速度,達到輕量化模型的目的。
為了減少原YOLOv5s的計算量,本文選用Shuffle-Block來構(gòu)建主干網(wǎng)絡(luò),使其現(xiàn)有的網(wǎng)絡(luò)層數(shù)少于YOLOv5s網(wǎng)絡(luò)使用的Darknet53結(jié)構(gòu),一方面參數(shù)量減少,另一方面模型大小也壓縮了,從而實現(xiàn)網(wǎng)絡(luò)輕量化。
本文檢測算法整體網(wǎng)絡(luò)結(jié)構(gòu)為端到端的一階段網(wǎng)絡(luò)YOLO結(jié)構(gòu),分為輸入端、主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和輸出端等五個部分,輸入端像素大小為416×416、RGB通道的交通標志圖像,主干網(wǎng)絡(luò)被稱為特征提取網(wǎng)絡(luò),本文由Shuffle-Block網(wǎng)絡(luò)的前半部分結(jié)構(gòu)構(gòu)成,從而使得其功能組件,在移動端嵌入式設(shè)備上實現(xiàn)交通標志檢測,頸部網(wǎng)絡(luò)的主要作用是進行特征融合,本文將深層的特征圖經(jīng)過上采樣與中層特征信息進行融合,這樣可以更好地融合淺層的位置信息和深層的語義信息從而提升模型的檢測能力。
3? 實驗及結(jié)果分析
3.1? 實驗數(shù)據(jù)
本文以交通標志為研究對象,因開源數(shù)據(jù)集CCTSDB來源于車載攝像頭、城市道路、高速公路等多個復(fù)雜交通場景[8]與真實路況相近,選用該數(shù)據(jù)集進行實驗。在該數(shù)據(jù)集中用LabelImg標注工具將數(shù)據(jù)集的標簽細分為Prohibitory、Speed limit、Warning、Mandatory四個大類。
3.2? 實驗環(huán)境和訓(xùn)練方法
本文模型的訓(xùn)練和測試均在Ubuntu操作系統(tǒng)上完成,實驗的初始學(xué)習(xí)率為0.01,循環(huán)學(xué)習(xí)率為0.2,IoU訓(xùn)練的閾值設(shè)置為0.2,batch-size設(shè)置為16,總訓(xùn)練的試驗次數(shù)為200輪。
具體實驗環(huán)境配置如表1所示。
為了突出模型具有良好的有效性和普適性,使用YOLOv5s中原有的Mosaic數(shù)據(jù)增強方法,對輸入圖像特征進行隨機裁剪、縮放、排布的方式進行拼接,之后輸入網(wǎng)絡(luò)進行訓(xùn)練。Mosaic是對CutMix的改進版,Mosaic通過對選出的四張圖片進行拼接,得到一張新的圖片之后,傳入神經(jīng)網(wǎng)絡(luò)模型中進行學(xué)習(xí),增強了檢測物體的有效信息,提高了網(wǎng)絡(luò)識別模型的穩(wěn)定性,能夠減少對圖片錯誤信息標簽的識別,提高該模型的泛化性和魯棒性。如圖4為采用Mosaic數(shù)據(jù)增強后的圖像示例。
在上述實驗環(huán)境中在設(shè)置相同的batch-size,img-size,對改進后的模型及YOLOv5s模型進行對比實驗,分別以準確率(Precision)、召回率(Recall)、均值平均準確率(means Average Precision, mAP)對模型識別的效果進行評測。使用每秒傳輸幀數(shù)(Frame Per Second, FPS)對檢測速度進行評估。到模型訓(xùn)練損失幾乎不降低的條件下停止訓(xùn)練。
通過表2混淆矩陣來計算精確率與召回率。
召回率是指在真實情況下正樣本中預(yù)測結(jié)果為正樣本的比例,能夠衡量模型的漏檢程度。計算公式為:
精確率是指預(yù)測結(jié)果中正樣本中真實情況為正樣本的比例,能夠衡量模型的錯檢程度。其計算公式為:
圖5為兩者的準確率曲線對比,改進后模型的準確率相對于YOLOv5s模型較低,但在經(jīng)過100個epochs后仍能達到0.898,實現(xiàn)輕量化的同時也保證了模型的精度不變。
圖6為兩者的Recall曲線的對比。在經(jīng)過130個epoch后,兩者的Recall趨于相同,改進后模型的Recall能達到0.898。
由實驗結(jié)果可知,經(jīng)過兩者對比,本文選用Shuffle-Block來構(gòu)建主干網(wǎng)絡(luò),使其現(xiàn)有的網(wǎng)絡(luò)層數(shù)少于YOLOv5s網(wǎng)絡(luò)使用的Darknet53,一方面參數(shù)量大幅減少,另一方面模型大小也壓縮了,從而實現(xiàn)網(wǎng)絡(luò)輕量化。但是從檢測效果上觀察,如圖7所示,相比于YOLOv5s改進后的模型檢測效果略差,在網(wǎng)絡(luò)輕量化的同時,會出現(xiàn)檢測率識別低的情況。圖7(a)、(b)分別為自然場景下的YOLOv5s和改進后的模型檢測結(jié)果,對比發(fā)現(xiàn)改進后網(wǎng)絡(luò)識別模型的準確率低于YOLOv5s模型。
4? 結(jié)? 論
本文提出了一種基于YOLOv5s的輕量化交通標志檢測算法,主要對YOLOv5s的目標檢測網(wǎng)絡(luò)進行分析,使用Shuffle-Block對YOLOv5s中的主干網(wǎng)絡(luò)CSPDarknet53進行了替換,實現(xiàn)網(wǎng)絡(luò)輕量化設(shè)計,在開源數(shù)據(jù)集上驗證了所提出的算法可以在大幅降低計算量的同時保證了較高的檢測精度,相比YOLOv5s的參數(shù)量降低了58.7%,計算量降低了54.66%,但改進后的模型平均精度mAP降低了約2.1個百分點,達到0.898。因此,在后續(xù)研究中,模型滿足輕量化的同時,也要保證較高的檢測精度,使其可以更好地部署在移動端。
參考文獻:
[1] 楊港.混合交通環(huán)境自動駕駛系統(tǒng)測試方法研究 [D].吉林:吉林大學(xué),2022.
[2] TAO X Y,GONG Y H,SHI W W,et al. Object Detection with Class Aware Region Proposal Network and Focused Attention Objective [J].Pattern Recognition Letters,2020,130:353-361.
[3] HAN S,POOL J,TRAN J,et al. Learning both Weights and Connections for Efficient Neural Network [J/OL].arXiv:1506.02626 [cs.NE].[2022-11-09].https://arxiv.org/abs/1506.02626v1.
[4] LI H,KADAV A,DURDANOVIC I,et al. Pruning Filters for Efficient Convnete [J/OL].arXiv:1608.08710 [cs.CV].[2022-11-09].https://arxiv.org/abs/1608.08710v2.
[5] 邱天衡,王玲,王鵬,等.基于改進YOLOv5的目標檢測算法研究 [J].計算機工程與應(yīng)用,2022,58(13):63-73.
[6] 郭磊,薛為,王邱龍,等.一種基于改進YOLOv5的小目標檢測算法:CN202111382559.1 [P].2022-03-25.
[7] ZHU L,XIE Z H,LUO J,et al. Dynamic Object Detection Algorithm Based on Lightweight Shared Feature Pyramid [J/OL].Remote Sensing,2021,13(22):4610[2022-11-09].https://www.mdpi.com/2072-4292/13/22/4610.
[8] ZHANG J M,HUANG M T,JIN X K,et al. A Real-Time Chinese Traffic Sign Detection Algorithm Based on Modified YOLOv2 [J/OL].Algorithms,2017,10(4):127[2022-11-09].https://www.mdpi.com/1999-4893/10/4/127.
作者簡介:白云(1973—),男,漢族,內(nèi)蒙古呼和浩特人,副教授,碩士研究生,研究方向:智能交通系統(tǒng);羅鈺(1998—),
女,漢族,陜西咸陽人,碩士研究生在讀,研究方向:深度學(xué)習(xí)、圖像處理。
收稿日期:2022-12-29
基金項目:內(nèi)蒙古自治區(qū)關(guān)鍵技術(shù)攻關(guān)計劃項目(2019GG271);內(nèi)蒙古自治區(qū)直屬高校基本科研業(yè)務(wù)費項目(JY20220227);內(nèi)蒙古自治區(qū)高等學(xué)校科學(xué)研究項目(NJZY22387);內(nèi)蒙古工業(yè)大學(xué)科學(xué)研究項目(ZY202018)