周鈺如 厲丹 肖辰禹 趙子龍



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