周鈺如 厲丹 肖辰禹 趙子龍
摘要:為了防止駕駛員因極端天氣、照明條件不良、交通標(biāo)志破損等原因誤判或漏判道路交通標(biāo)志而引發(fā)嚴(yán)重交通事故,以及促進(jìn)智能汽車和無(wú)人駕駛技術(shù)的發(fā)展,提出一種基于YOLOv5算法的交通標(biāo)志識(shí)別系統(tǒng)。YOLOv5在YOLOv4算法的基礎(chǔ)上進(jìn)行了檢測(cè)性能提升的改進(jìn),其在目標(biāo)檢測(cè)方面的精度和速度都有極大的提升。實(shí)驗(yàn)在原有數(shù)據(jù)集的基礎(chǔ)上還對(duì)圖像進(jìn)行了曝光、暗化、霧化、模糊等處理,以盡可能還原真實(shí)道路情況。實(shí)驗(yàn)采用Make Sense在線標(biāo)注工具對(duì)數(shù)據(jù)集進(jìn)行標(biāo)注,在AutoDL品質(zhì)GPU租用平臺(tái)租賃GeForce RTX 3090對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練。
關(guān)鍵詞:無(wú)人駕駛;YOLOv5;交通標(biāo)志識(shí)別
中圖分類號(hào):TP183? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)19-0097-03
1 引言
近年來(lái),目標(biāo)檢測(cè)技術(shù)在無(wú)人駕駛上的應(yīng)用得到了長(zhǎng)足的發(fā)展,交通標(biāo)志識(shí)別系統(tǒng)應(yīng)運(yùn)而生。但是,在汽車行駛過(guò)程中常會(huì)遇到交通標(biāo)志殘缺和極端天氣影響的情況,這就對(duì)交通標(biāo)志識(shí)別系統(tǒng)的精度提出了較高的要求。
當(dāng)前目標(biāo)檢測(cè)的主流算法框架大致分為One-stage與Two-stage。Two-stage算法代表的有R-CNN系列,例如傳統(tǒng)的Faster R-CNN算法;One-stage算法代表的有YOLO系列。傳統(tǒng)的Two-stage算法是輸入圖像后,先經(jīng)過(guò)候選框生成網(wǎng)絡(luò),再經(jīng)過(guò)分類網(wǎng)絡(luò),而本文的交通標(biāo)志識(shí)別系統(tǒng)是基于YOLOv5算法實(shí)現(xiàn)的,其候選框生成與分類是同時(shí)執(zhí)行的,輸入圖像只經(jīng)過(guò)一個(gè)網(wǎng)絡(luò),生成的結(jié)果中同時(shí)包含位置與類別信息。相比之下YOLO算法避免了計(jì)算量大,運(yùn)算速度較慢的問(wèn)題,同時(shí)還具有學(xué)到的圖片特征更為通用,能基于整張圖片信息進(jìn)行預(yù)測(cè)的優(yōu)點(diǎn)。
目前,現(xiàn)有的交通標(biāo)志識(shí)別方法有基于改進(jìn)的Fast R-CNN模型識(shí)別[1]、基于改進(jìn)的Mark R-CNN模型識(shí)別[2]、基于多尺度卷積神經(jīng)網(wǎng)絡(luò)識(shí)別[3]、基于YOLOv4模型識(shí)別等[4]。在此技術(shù)基礎(chǔ)上,筆者希望實(shí)現(xiàn)一個(gè)能夠識(shí)別較多、較全面的交通標(biāo)志識(shí)別系統(tǒng)。該系統(tǒng)基于YOLOv5實(shí)現(xiàn),旨在應(yīng)用于無(wú)人駕駛汽車和輔助駕駛系統(tǒng),提高無(wú)人駕駛汽車的可靠性與安全性,對(duì)于普通汽車的駕駛員來(lái)說(shuō),能夠在不良行車環(huán)境下給予前方交通標(biāo)志的提示,以提高行車安全性。此外,該系統(tǒng)亦可應(yīng)用于智能導(dǎo)航系統(tǒng),將交通標(biāo)志識(shí)別結(jié)果上傳至導(dǎo)航系統(tǒng)中,進(jìn)行數(shù)據(jù)比較,結(jié)合地圖信息、車輛定位以及實(shí)時(shí)交通信息,以糾正導(dǎo)航路線偏差。在交通標(biāo)志的維護(hù)方面本系統(tǒng)亦能起到重要作用,交通標(biāo)志常出現(xiàn)褪色、變形等問(wèn)題,應(yīng)用TSR 技術(shù),可監(jiān)控相應(yīng)路段交通標(biāo)志的可用性,減少人力與時(shí)間的投入[5]。
整個(gè)交通標(biāo)志識(shí)別系統(tǒng)過(guò)程如圖1所示。
2 YOLOv5算法簡(jiǎn)介
YOLO是一種具備實(shí)時(shí)性和準(zhǔn)確性特點(diǎn)的One-stage目標(biāo)檢測(cè)算法。簡(jiǎn)單來(lái)說(shuō),YOLO算法的核心思想是將物體檢測(cè)問(wèn)題處理為回歸問(wèn)題,用一個(gè)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)從輸入圖像直接預(yù)測(cè)物體的位置信息和類別。YOLOv5算法和上一代相比主要在檢測(cè)性能方面進(jìn)行了提升,優(yōu)化了數(shù)據(jù)集的測(cè)試效果,在訓(xùn)練速度和精度都得到了極大的性能提升。
YOLOv5目標(biāo)檢測(cè)算法的整體框圖如圖2所示。
YOLOv5通??梢詣澐譃樗膫€(gè)通用模塊:輸入端、基準(zhǔn)網(wǎng)絡(luò)、Neck網(wǎng)絡(luò)和Head輸出端。
輸入端模塊即輸入的圖像或視頻。該模塊包含一個(gè)圖像預(yù)處理階段,用于將圖像縮放到608*608的大小,并進(jìn)行歸一化等操作。而YOLO算法原始的縮放方法存在由于圖片長(zhǎng)寬比不同,縮放填充后兩端黑邊大小不相同甚至填充過(guò)多的問(wèn)題,但在YOLOv5算法中提出了一種自適應(yīng)圖片縮放的方法,添加最少的黑邊到圖片中,大大提升了算法的推理速度。YOLOv5還具有自適應(yīng)錨點(diǎn)框功能,每次訓(xùn)練時(shí)根據(jù)數(shù)據(jù)集的名稱自適應(yīng)地計(jì)算出最佳錨點(diǎn)框的位置并標(biāo)出。
基準(zhǔn)網(wǎng)絡(luò)模塊用來(lái)從輸入的圖像中提取一些信息特征,在YOLOv5算法中使用了CSPDarknet53結(jié)構(gòu)和Focus結(jié)構(gòu)作為基準(zhǔn)網(wǎng)絡(luò)。其中Focus結(jié)構(gòu)[6]主要思想是通過(guò)slice操作來(lái)對(duì)輸入的圖像進(jìn)行剪裁,將默認(rèn)的640*640*3大小圖片先復(fù)制四份,通過(guò)slice和concat操作輸出320*320*12的特征映射。接著經(jīng)過(guò)卷積核數(shù)為64的卷積層,生成一個(gè)320*320*64的輸出。
Neck網(wǎng)絡(luò)模塊主要用于生成特征金字塔,是一系列混合和組合圖像特征的網(wǎng)絡(luò)層,進(jìn)一步提升了特征的多樣性。YOLOv5中的Neck網(wǎng)絡(luò)采用了FPN+PAN結(jié)構(gòu),將原來(lái)YOLOv4中的Neck結(jié)構(gòu)采用的普通卷積操作改進(jìn)為CSP2結(jié)構(gòu),加強(qiáng)了網(wǎng)絡(luò)特征融合能力。
Head輸出端用于最終檢測(cè)部分輸出目標(biāo)檢測(cè)結(jié)果,通常包含一個(gè)分類分支和一個(gè)回歸分支。其中IoU_Loss函數(shù)用于處理它們之間的重疊面積。但是當(dāng)預(yù)測(cè)框和GT框不相交時(shí)無(wú)法反映兩個(gè)框之間的距離損失函數(shù)不可導(dǎo),或者當(dāng)兩個(gè)預(yù)測(cè)框大小相等時(shí)函數(shù)無(wú)法區(qū)分兩者相交。為了解決這兩個(gè)問(wèn)題,采用了GIOU_Loss函數(shù)[7],增加了相交尺度的衡量方式解決邊界框不重合時(shí)的問(wèn)題。DIOU_Loss函數(shù)用于處理最小化預(yù)測(cè)框和GT框之間的歸一化距離。CIOU_Loss函數(shù)在此基礎(chǔ)上又考慮了邊界框?qū)捀弑鹊某叨刃畔ⅰ>唧w計(jì)算方法如下。
[CIOU_Loss=1-CIOU=1-(IOU-Distance_22Distance_C2-v21-(IOU)+v)v=4π2(arctanWgthgt-arctanWphp)2](1)
3 實(shí)驗(yàn)過(guò)程
3.1 實(shí)驗(yàn)數(shù)據(jù)集的收集
本文的數(shù)據(jù)集是通過(guò)網(wǎng)上采集真實(shí)街景圖像以及道路拍攝采集,數(shù)量龐大、內(nèi)容信息豐富,包括雨霧天氣、低曝、過(guò)曝、被遮擋、圖像模糊的情況。如圖所示。數(shù)據(jù)集中共包含80種交通標(biāo)志,包括29種禁令標(biāo)志、21種警告標(biāo)志、20種指示標(biāo)志和10種指路標(biāo)志,一共7000余張測(cè)試圖像。另外我們還對(duì)部分圖像進(jìn)行人工處理,例如曝光、暗化、模糊、霧化等,使其更接近于真實(shí)的道路狀況。數(shù)據(jù)集的標(biāo)注采用Make Sense在線標(biāo)注工具。
3.2 進(jìn)行識(shí)別
在行駛過(guò)程中,交通標(biāo)志識(shí)別系統(tǒng)通過(guò)對(duì)前方道路出現(xiàn)的交通標(biāo)志圖像進(jìn)行采集,識(shí)別出畫面上出現(xiàn)的交通標(biāo)志圖像并標(biāo)出位置。矩形、圓形和三角形是道路上交通標(biāo)志的主要形狀類別,形狀特征相對(duì)穩(wěn)定,不會(huì)出現(xiàn)像顏色那樣因光照不同而呈現(xiàn)出不同色域的問(wèn)題,所以我們利用標(biāo)志形狀不易受光照影響的特點(diǎn),通過(guò)搜索形狀特點(diǎn)來(lái)檢測(cè)是否為交通標(biāo)志。識(shí)別后的圖像上若存在交通標(biāo)志則該標(biāo)志會(huì)被錨點(diǎn)框框出,錨點(diǎn)框上方會(huì)顯示該交通標(biāo)志的名稱以及識(shí)別的置信度,以此完成識(shí)別。
3.3 系統(tǒng)訓(xùn)練
將數(shù)據(jù)集里的圖像導(dǎo)入模型并訓(xùn)練。訓(xùn)練過(guò)程中會(huì)生成best.pt文件和last.pt文件,分別表示當(dāng)前最好的模型和當(dāng)前訓(xùn)練出的最新的模型。我們選用best.pt模型對(duì)圖像進(jìn)行測(cè)試識(shí)別。訓(xùn)練集數(shù)據(jù)量越多,識(shí)別精確度越高。而訓(xùn)練次數(shù)過(guò)多則會(huì)出現(xiàn)過(guò)擬合,精確度會(huì)下降。
3.4 輸出識(shí)別結(jié)果
在普通條件下,模型能檢測(cè)出大部分標(biāo)志,部分標(biāo)志由于體型較小、距離較遠(yuǎn)而存在漏檢和錯(cuò)檢。比較不同條件下的識(shí)別結(jié)果,原始圖像與經(jīng)曝光后的圖像識(shí)別準(zhǔn)確度最高,經(jīng)霧化處理后的圖像和經(jīng)暗化處理后的圖像較前兩種情況而言準(zhǔn)確度較低。由此得出,光照差別對(duì)交通標(biāo)志識(shí)別的準(zhǔn)確率存在影響。
另一個(gè)對(duì)交通標(biāo)志識(shí)別準(zhǔn)確率產(chǎn)生影響的地方是訓(xùn)練的交通標(biāo)志種類數(shù)量。在我們的實(shí)驗(yàn)中,我們將80種不同的交通標(biāo)志作為識(shí)別對(duì)象,其中不乏極為相似的交通標(biāo)志圖案,比如禁止非機(jī)動(dòng)車駛?cè)牒徒鼓ν熊囻側(cè)耄勾笮涂蛙囻側(cè)牒徒馆d貨汽車駛?cè)?,T型交叉路口和注意合流等,標(biāo)志的圖案都極相似,為識(shí)別增添了不小的困難。我們的數(shù)據(jù)集中還包括一些不太常見(jiàn)的交通標(biāo)志,比如注意潮汐車道、路面高凸等這些其他實(shí)驗(yàn)中不包含的種類,由于難以尋找,所以這幾種交通標(biāo)志種類的實(shí)例數(shù)量在15個(gè)左右,網(wǎng)絡(luò)無(wú)法完全學(xué)習(xí)該交通標(biāo)志的特征,后來(lái)我們又對(duì)其擴(kuò)充至30余個(gè)。同時(shí),部分交通標(biāo)志種類的實(shí)例數(shù)量過(guò)多,例如限制速度等,以致模型把其他圖像識(shí)別成這類實(shí)例數(shù)較多的交通標(biāo)志。這也導(dǎo)致了部分種類交通標(biāo)志識(shí)別精度不高。而雷蕾[8]等人的實(shí)驗(yàn)則采用TT100K數(shù)據(jù)集,該數(shù)據(jù)集是由清華大學(xué)和騰訊實(shí)驗(yàn)室聯(lián)合發(fā)布的,包含30000個(gè)交通標(biāo)志實(shí)例約9000張圖像,而他們的交通標(biāo)志類別只有45個(gè),但實(shí)例數(shù)均大于50個(gè)。尹靖涵[9]等人的實(shí)驗(yàn)從TT100K中選取了25種常見(jiàn)的交通標(biāo)志進(jìn)行識(shí)別,故可以得到較高的識(shí)別精度。
將識(shí)別結(jié)果輸出,如圖4所示。
4 基于YOLOv5算法的交通標(biāo)志識(shí)別系統(tǒng)
交通標(biāo)志識(shí)別系統(tǒng)是在汽車行駛時(shí)對(duì)前方道路畫面中出現(xiàn)的交通標(biāo)志圖像進(jìn)行定位并準(zhǔn)確分類的系統(tǒng)。系統(tǒng)初始界面分為左右兩塊,如圖5(左)所示,左側(cè)為控制面板,右側(cè)為圖像顯示模塊,控制面板中包括打開(kāi)、更改存儲(chǔ)路徑、識(shí)別、關(guān)閉和關(guān)于按鈕,圖像顯示模塊包括原圖像和識(shí)別完成的結(jié)果圖像,如圖5(右)所示。
在文件輸入模式中本系統(tǒng)提供了單文件和文件夾兩種輸入方式,為用戶對(duì)單個(gè)樣本或批處理提供了通道。選定通道后用戶單擊打開(kāi)按鈕即可選定單個(gè)圖片,視頻或者整個(gè)文件夾,在選擇單個(gè)圖片并且成功打開(kāi)時(shí),將會(huì)同時(shí)在識(shí)別前區(qū)域展示圖像。點(diǎn)擊識(shí)別按鈕,系統(tǒng)便會(huì)對(duì)用戶的輸入進(jìn)行識(shí)別并且會(huì)在識(shí)別后區(qū)域顯示識(shí)別結(jié)果,識(shí)別后的圖像會(huì)被同步保存到用戶指定的存儲(chǔ)路徑。若選擇文件夾通道,系統(tǒng)則會(huì)對(duì)文件夾內(nèi)所有目標(biāo)圖像進(jìn)行批處理。點(diǎn)擊關(guān)閉按鈕系統(tǒng)將關(guān)閉相應(yīng)圖像,恢復(fù)到初始界面。點(diǎn)擊關(guān)于按鈕,將彈出有關(guān)本系統(tǒng)的簡(jiǎn)略說(shuō)明。本系統(tǒng)同時(shí)還為用戶提供了置信度閾值設(shè)置界面,用戶可根據(jù)自身對(duì)置信度的要求修改置信度閾值,以應(yīng)對(duì)不同用戶對(duì)于識(shí)別精確度的不同需求。
5 總結(jié)
本文提出一種基于YOLOv5算法實(shí)現(xiàn)的交通標(biāo)志圖像識(shí)別系統(tǒng),實(shí)現(xiàn)不同環(huán)境下圖像或者視頻中交通標(biāo)志的識(shí)別。文中介紹了數(shù)據(jù)集的采集和處理,模型的訓(xùn)練以及系統(tǒng)的功能和使用。同時(shí)指出實(shí)驗(yàn)中遇到的問(wèn)題和存在的不足。在訓(xùn)練數(shù)據(jù)集的過(guò)程中需要注意迭代次數(shù)不能過(guò)多,在實(shí)驗(yàn)過(guò)程中就出現(xiàn)了因迭代次數(shù)過(guò)多而過(guò)擬合從而導(dǎo)致訓(xùn)練模型精度下降的現(xiàn)象,后來(lái)經(jīng)過(guò)調(diào)整迭代次數(shù),識(shí)別精度又回歸正常。下一步筆者將繼續(xù)擴(kuò)大數(shù)據(jù)集中交通標(biāo)志種類的數(shù)量,主要增添不常見(jiàn)的、數(shù)據(jù)集中實(shí)例較少的交通標(biāo)志種類實(shí)例,以及增加其他極端情況下的圖像,從而進(jìn)一步提高訓(xùn)練精度。另外對(duì)已有的基于深度學(xué)習(xí)的各模型與各優(yōu)化算法進(jìn)行優(yōu)化研究,并探尋兩者之間更好的融合方式,以達(dá)到更高的識(shí)別準(zhǔn)確率,使之更為適應(yīng)現(xiàn)實(shí)道路情況。
參考文獻(xiàn):
[1] 馬佳良,陳斌,孫曉飛.基于改進(jìn)的Faster R-CNN的通用目標(biāo)檢測(cè)框架[J].計(jì)算機(jī)應(yīng)用,2021,41(9):2712-2719.
[2] 伍錫如,邱濤濤,王耀南.改進(jìn)Mask R-CNN的交通場(chǎng)景多目標(biāo)快速檢測(cè)與分割[J].儀器儀表學(xué)報(bào),2021,42(7):242-249.
[3] 尉天成,陳小鋒,殷元亮.基于多尺度卷積神經(jīng)網(wǎng)絡(luò)的道路交通標(biāo)志識(shí)別方法研究[J].西北工業(yè)大學(xué)學(xué)報(bào),2021,39(4):891-900.
[4] 陳夢(mèng)濤,余粟.基于改進(jìn)YOLOV4模型的交通標(biāo)志識(shí)別研究[J].微電子學(xué)與計(jì)算機(jī),2022,39(1):17-25.
[5] 馬健,張敏,張麗巖,等.交通標(biāo)志識(shí)別系統(tǒng)研究綜述[J].物流科技,2021,44(10):69-74.
[6] 楊曉玲,江偉欣,袁浩然.基于yolov5的交通標(biāo)志識(shí)別檢測(cè)[J].信息技術(shù)與信息化,2021(4):28-30.
[7] 鄒承明,薛榕剛.融合GIoU和Focal loss的YOLOv3目標(biāo)檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,2020,56(24):214-222.
[8] 雷蕾,方睿,徐銘美,等.基于YOLO的交通標(biāo)志檢測(cè)算法[J].現(xiàn)代計(jì)算機(jī),2021,27(24):93-99.
[9] 尹靖涵,瞿紹軍,姚澤楷,等.基于YOLOv5的霧霾天氣下交通標(biāo)志識(shí)別模型[J/OL].計(jì)算機(jī)應(yīng)用:1-10[2021-10-31].http://kns.cnki.net/kcms/detail/51.1307.TP.20210917.1616.008.html.
收稿日期:2022-02-25
基金項(xiàng)目:徐州工程學(xué)院省一般大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(項(xiàng)目編號(hào):xcx2021317)
作者簡(jiǎn)介:周鈺如(2000—),女,江蘇泰州人,本科;厲丹(1981—),女,江蘇徐州人,副教授,博士,主要研究方向?yàn)閿?shù)據(jù)挖掘;肖辰禹(2001—),男,江蘇無(wú)錫人,本科;趙子龍(2001—),男,江蘇淮安人,本科。