蔣翼濃 張世義
(重慶交通大學(xué)機(jī)電與車輛工程學(xué)院)
汽車保有量增加會帶來交通隱患,其部分原因是因?yàn)轳{駛員及車輛未能良好地識別交通標(biāo)志信息。通過一些技術(shù)手段為駕駛員提供良好的交通信息并輔助其做出判斷,可降低交通事故率;同時(shí),作為環(huán)境感知的重要部分,交通標(biāo)志識別能為行駛車輛提供良好的交通標(biāo)志信息,并提升駕駛體驗(yàn)。基于這2點(diǎn),研究交通標(biāo)志的識別是具有現(xiàn)實(shí)意義和理論意義的。可將交通標(biāo)志識別技術(shù)分為二大類,分別為傳統(tǒng)檢測方法與基于深度學(xué)習(xí)的方法。
常見的顏色空間有RGB、LAB、HSV等。RGB模型與人的視覺系統(tǒng)密切相關(guān)[1],即所有顏色都是R紅、G綠和B藍(lán)不同比例的組合,優(yōu)點(diǎn)是直觀、易理解,但其變量之間相關(guān)性太強(qiáng);LAB模型更側(cè)重于感知均勻性,L代表亮度,A的正負(fù)代表紅色與綠色,B的正負(fù)代表黃色與藍(lán)色,特點(diǎn)是可以分別調(diào)整色彩和明度信息;HSV為非線性模型[2],H代表極角,S代表飽和度,V代表明度,在機(jī)器視覺和圖像處理領(lǐng)域運(yùn)用較多的是HSV顏色空間,能更直觀地表達(dá)色調(diào)、鮮艷程度和明暗程度,更有利于進(jìn)行顏色對比。此外,各種模型之間可進(jìn)行相互轉(zhuǎn)化。
對經(jīng)過顏色分割后的圖像進(jìn)行邊緣檢測,以獲取每個(gè)連接通道的邊緣輪廓特征,再利用針對交通標(biāo)志自身所具有的形狀特點(diǎn)所設(shè)計(jì)的算法,用以檢測具有該特征的輪廓,同時(shí)把檢測到的區(qū)域定義為感興趣區(qū)域,以便于特征提取與分類器分類[3]。
1張圖片中像素灰度值發(fā)生急劇變化的區(qū)域稱之為圖像邊緣。簡單來說,邊緣檢測就是將圖像中的邊緣像素點(diǎn)連接起來以構(gòu)成封閉區(qū)域,從而使標(biāo)志易于從背景中區(qū)分出來。
交通標(biāo)志及其他圖像識別的關(guān)鍵就在于用快速且具魯棒性的算法或模型將圖像中有效描述檢測目標(biāo)的信息提取出來,并且利用該信息與其他圖像進(jìn)行區(qū)分,此過程就是特征提取。如2010年和2011年在ImageNet Large Scale Visual Recognition Challenge賽事中的獲勝團(tuán)隊(duì),使用SIFT、LBP等算法手動提取特征,再將其用于分類器分類,取得了28.2%的錯(cuò)誤率[4]。傳統(tǒng)特征提取的方法有HOG、LBP、SIFT等[5]。SIFT(尺度不變特征變換)用物體上存在著的一些與物體相關(guān)且與大小及旋轉(zhuǎn)方向無關(guān)的局部點(diǎn)表征物體,可以減少光照、噪聲等對物體識別的影響;HOG(方向梯度直方圖)利用梯度描述局部目標(biāo)的形狀,同時(shí)使用此特征捕獲圖片的輪廓信息;LBP(局部二值模式)以中心像素的灰度值作為閾值而得到對應(yīng)的二進(jìn)制編碼來表示局部紋理特征。特征提取后,利用分類器對其進(jìn)行分類。如貝葉斯分類器、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)分類器和Adaboost等。
早期的目標(biāo)檢測算法大多是基于人工特征來構(gòu)建的,盡管運(yùn)用了大量復(fù)雜的特征表示以及網(wǎng)絡(luò)加速器,但在速度和精度上仍達(dá)不到要求。得益于計(jì)算機(jī)硬件、軟件的提升,2014年之后,涌現(xiàn)了大量基于深度學(xué)習(xí)的算法,在交通標(biāo)志的識別檢測領(lǐng)域又邁出了一大步。
One-stage模型將邊框的定位問題轉(zhuǎn)化為回歸問題。通過主干網(wǎng)絡(luò)給出類別和位置信息,不使用RPN(Region Proposal Network)網(wǎng)絡(luò),因此速度更具優(yōu)勢[6],但由于其正負(fù)候選框的比例不均勻,精度相較于2階段算法會損失很多[7]。One-stage算法主要包括OverFeat、YOLO系列以及SSD系列等。
1)Overfeat。文獻(xiàn)[8]于2013年發(fā)布了Overfeat模型(同時(shí)也是1種特征提取器)。提出了1個(gè)使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類、定位及檢測的集成框架,展示了如何在ConvNet中有效地實(shí)現(xiàn)多尺度檢測和滑動窗口方法;同時(shí)引入了1種新的學(xué)習(xí)方法,即通過預(yù)測目標(biāo)邊界來進(jìn)行定位,對邊框進(jìn)行積累從而增加檢測置信度,使用同1個(gè)共享網(wǎng)絡(luò)處理不同的任務(wù)。
2)YOLO系列。YOLO系列將目標(biāo)檢測定義為單一的回歸問題,運(yùn)用單個(gè)神經(jīng)網(wǎng)絡(luò)預(yù)測邊框和類別概率[9],如圖1所示。

圖1 示例
a.YOLOv1。其實(shí)現(xiàn)步驟為:首先將輸入圖像劃分為S×S的網(wǎng)格[10],每個(gè)網(wǎng)格負(fù)責(zé)預(yù)測B個(gè)Bounding Box,每個(gè)Bounding Box包含5個(gè)值(x、y、w、h、c),x、y、w、h包含了與中心坐標(biāo)及所在網(wǎng)格高寬相關(guān)的信息,c代表置信度,此外C為該試驗(yàn)下選用的數(shù)據(jù)集所具有的類別總數(shù),最后得到S×S×(5×B+C)的tensor。圖2示出YOLOv1目標(biāo)檢測流程。

圖2 YOLOv1目標(biāo)檢測流程
b.YOLOv2/YOLO9000[11]。使用Darknet-19作為預(yù)訓(xùn)練網(wǎng)絡(luò),并將分類數(shù)據(jù)和檢測數(shù)據(jù)一起進(jìn)行訓(xùn)練。同時(shí)借鑒了RCNN中的Anchor機(jī)制,使得該算法能夠預(yù)測超過1 000個(gè)框,同時(shí)可檢測9 000種目標(biāo)類別。
c.YOLOv3[12]。YOLOv3模型相比于YOLOv2做出了以下改進(jìn):利用多尺度預(yù)測(FPN)[13];用Darknet-53替代Darknet-19作為其基礎(chǔ)分類網(wǎng)絡(luò);不再使用softmax作為候選框進(jìn)行分類,分類損失采用二分類交叉損失熵。其精度與SSD相當(dāng),且速度快了3倍。所有代碼可在https://pjreddie.com/yolo/上下載。
3)SSD。文獻(xiàn)[14]提出SSD模型。將邊界框的輸出離散為具有不同比率和大小的默認(rèn)框。預(yù)測時(shí),網(wǎng)絡(luò)對默認(rèn)框中存在的對象類進(jìn)行打分,并調(diào)整默認(rèn)框以更好地匹配其形狀[15]。此外,該模型結(jié)合了通過多種方法得到的多重特征圖的預(yù)測結(jié)果,能更好地處理大小不同的對象。對于300×300的輸入,該模型能達(dá)到72.1%的mAP(平均精度均值),對于500×500的輸入,能達(dá)到了75.1%的mAP。
Two-stage系列算法的訓(xùn)練過程分為2部分:產(chǎn)生候選區(qū)域(region proposals)并訓(xùn)練RPN網(wǎng)絡(luò);訓(xùn)練目標(biāo)區(qū)域檢測的網(wǎng)絡(luò)。其算法準(zhǔn)確度較One-stage更高,但實(shí)時(shí)性較差。典型代表是以R-CNN為代表的系列算法。
1)R-CNN。其算法可分為4個(gè)步驟:生成候選區(qū);利用CNN卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取;將學(xué)習(xí)到的特征傳遞至SVM分類器進(jìn)行分類;利用回歸手段進(jìn)行修正。
2)Fast R-CNN。Fast R-CNN是基于R-CNN和SPPnet的,其創(chuàng)新之處在于設(shè)計(jì)了感興趣區(qū)域(Region of Interest,ROI)。Fast R-CNN具有2個(gè)輸出,1個(gè)負(fù)責(zé)分類,1個(gè)負(fù)責(zé)回歸。在VOC2007測試集上,mAP達(dá)到了70%。
3)Faster R-CNN。區(qū)域候選網(wǎng)絡(luò)(region proposal network,RPN)的提出可以很好地解決候選框的選擇問題。此外,該網(wǎng)絡(luò)能將CNN提取的特征進(jìn)行權(quán)值共享。
除了以上提及的具有代表性的目標(biāo)檢測模型,在深度學(xué)習(xí)的不斷發(fā)展過程中,有大量學(xué)者做出了改進(jìn)。但仍存在以下問題:a.暴露外時(shí)間過長,導(dǎo)致標(biāo)志顏色脫落、破損[16];b.惡劣天氣如雨雪和霧霾等均會對所采集的圖像造成影響且數(shù)據(jù)較難獲取;c.行車中獲取的圖像存在抖動和歪斜;d.部分算法速度快但魯棒性差,部分算法穩(wěn)定性好但不能滿足實(shí)時(shí)性的要求。下面列舉一些當(dāng)前在交通標(biāo)志識別領(lǐng)域取得突破的研究。
文獻(xiàn)[17]于2019年基于回歸思想,對原SSD模型添加了“特征融合模塊”,增加了網(wǎng)絡(luò)模型中小尺度卷積核的數(shù)量,并設(shè)計(jì)了一個(gè)“6塊結(jié)構(gòu)的ResNet殘差網(wǎng)絡(luò)”,在模型中構(gòu)建殘差學(xué)習(xí)單元,以“角度變換”的方式對數(shù)據(jù)集進(jìn)行擴(kuò)容,將數(shù)據(jù)集圖片轉(zhuǎn)換為“YUV顏色空間”。在GTSRB數(shù)據(jù)集上達(dá)到了99.72%的測試精度。
文獻(xiàn)[18]于2018年結(jié)合顏色分割及卷積神經(jīng)網(wǎng)絡(luò),提出了改進(jìn)的交通標(biāo)志檢測及識別系統(tǒng)。對非天空區(qū)域采用了單尺度Retinex去暗光處理以增加其實(shí)時(shí)性;利用閾值判定去除背景區(qū)域。
文獻(xiàn)[19]于2019年利用基于圖像關(guān)鍵點(diǎn)MCT特征的Adaboost檢測算法,采用尺度不變特征變換對圖像中的關(guān)鍵點(diǎn)進(jìn)行特征提取,并基于MCT特征對其建立弱分類器。對圖像候選區(qū)進(jìn)行檢測的同時(shí)保留圖像的輪廓特征,采用滑動窗口進(jìn)行搜索運(yùn)算,有效縮短訓(xùn)練時(shí)間且進(jìn)一步提升了算法的檢測效率。該算法能夠有效分割與交通標(biāo)志相似的背景區(qū)域,召回率為93.16%,高于HOG+SVM算法3.59%。
文獻(xiàn)[20]于2020年使用K-means聚類重新計(jì)算Anchor值的大小,更新后的YOLOv4算法處理1張圖片的平均時(shí)間為52.72 ms。對禁止標(biāo)識、行人通過標(biāo)識、前進(jìn)標(biāo)識及限速標(biāo)識進(jìn)行了識別,其mAP值能夠達(dá)到98.9%。
針對于霧霾天氣下獲取的圖像質(zhì)量較低且難以識別的情況,文獻(xiàn)[21]于2020年提出了1種先對圖像進(jìn)行去霧霾處理后進(jìn)行交通標(biāo)志識別的方法。利用IRCNN算法和多通道卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行去霧霾處理,并利用SVM分類器和Resnet算法進(jìn)行識別。
由于現(xiàn)有的交通標(biāo)志檢測方法通常局限于1組預(yù)定義的交通標(biāo)志,文獻(xiàn)[22]于2016年利用區(qū)域提議網(wǎng)絡(luò)來檢測中文交通標(biāo)志,利用微調(diào)技術(shù)和CNN模型進(jìn)行訓(xùn)練和評估,并在大小為640×480的33個(gè)視頻序列對模型進(jìn)行測試。該模型符合實(shí)時(shí)性的要求并達(dá)到了≥99%的檢測精度。
文獻(xiàn)[23]于2017年運(yùn)用交通標(biāo)志庫存自動化管理技術(shù)解決大規(guī)模交通標(biāo)志類別的檢測和識別問題。在交通標(biāo)志的研究領(lǐng)域中,大多數(shù)只專注于交通標(biāo)志識別問題,而忽略了交通標(biāo)志的庫存管理問題。交通標(biāo)志類間差異很大,類內(nèi)差異很小。提出一種基于Mask R-CNN的檢測和識別模型及基于集合和外觀失真的數(shù)據(jù)增強(qiáng)技術(shù),建立了一個(gè)新的交通標(biāo)志數(shù)據(jù)集—DFG交通標(biāo)志數(shù)據(jù)集,此數(shù)據(jù)集同改進(jìn)的代碼一起公開發(fā)表。
文獻(xiàn)[24]于2018年提出CTF方法,通過聚集語義信息來學(xué)習(xí)特征,從根本上提高了D-patch的對抗性,對于遮擋問題更具魯棒性且更利于進(jìn)行對抗性的訓(xùn)練。該算法最大化減少了傳統(tǒng)目標(biāo)檢測中滑動窗口的使用,并且依賴于顏色變化來尋找交通標(biāo)志存在可能性更高的區(qū)域。在GTSRB數(shù)據(jù)集上達(dá)到了100%的正確率,在韓國交通標(biāo)志數(shù)據(jù)集上的表現(xiàn)比之前的模型提高了2.2%。
文獻(xiàn)[25]于2019年提出了1種新的圖像表示和選擇局部特征的方法,即1種基于彩色圖像信息距離變換的一種前向特征提取技術(shù)。首先,該模型可實(shí)時(shí)處理輸入的視頻序列,并從公開可用的模板標(biāo)志圖像中進(jìn)行特征提取,這比數(shù)據(jù)驅(qū)動的方法(如AdaBoost)更容易訓(xùn)練;其次,對于每個(gè)模板進(jìn)行單獨(dú)處理。
文章從交通標(biāo)志的識別檢測技術(shù)出發(fā),分別介紹了傳統(tǒng)方法和基于深度學(xué)習(xí)的方法,重點(diǎn)介紹了當(dāng)前基于深度學(xué)習(xí)的交通標(biāo)志檢測方法,并進(jìn)行了一定的梳理。得益于計(jì)算機(jī)硬件的快速發(fā)展、算法算力的提高以及大數(shù)據(jù)的應(yīng)用,基于深度學(xué)習(xí)的交通標(biāo)志檢測識別方法發(fā)展迅速。
現(xiàn)階段學(xué)者更加注重于創(chuàng)建輕量化的網(wǎng)絡(luò)結(jié)構(gòu)來實(shí)現(xiàn)對交通標(biāo)志的檢測,如將YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)中的Resnet53殘差網(wǎng)絡(luò)用DenseNet的密集串聯(lián)結(jié)構(gòu)代替,將原來的3個(gè)尺度融合并刪除一個(gè)最小尺度檢測的網(wǎng)絡(luò)結(jié)構(gòu),在保證檢測率的同時(shí)提升檢測速度[26]。為滿足低功耗、低時(shí)延的要求,設(shè)計(jì)輕量化神經(jīng)網(wǎng)絡(luò)加速器[27]。從技術(shù)類別來看,1階段算法需要尋找更為可靠的方法濾除網(wǎng)絡(luò)模型中的冗余信息,在保證速度的同時(shí)提高精度;對于2階段算法,需更注重于尋找更加優(yōu)秀的主干網(wǎng)絡(luò)來提取更具學(xué)習(xí)能力的特征、優(yōu)化區(qū)域提議網(wǎng)絡(luò)以完成精準(zhǔn)篩選區(qū)域以及優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)以提升其速度。從全局來看,在圖片輸入階段,可利用更加優(yōu)良的傳感器獲取圖像信息,利用數(shù)據(jù)增強(qiáng)等手段對輸入數(shù)據(jù)進(jìn)行預(yù)處理;在輸出階段,可利用多尺度融合[28-32],結(jié)合淺層特征和深度特征等手段處理提取的特征信息。此外,尋找將不同數(shù)據(jù)源和數(shù)據(jù)結(jié)構(gòu)結(jié)合在一起的方法,以建立更強(qiáng)大的視覺模型也是下一步發(fā)展的趨勢。總而言之,交通標(biāo)志的識別檢測始終在實(shí)時(shí)性和精確性之間尋找權(quán)衡。