張 成,張瑞賓,王曙道
(桂林航天工業(yè)學(xué)院 汽車與交通工程學(xué)院,廣西 桂林 541004)
在車輛安全和自動(dòng)駕駛領(lǐng)域,交通標(biāo)志的檢測(cè)有著很大的實(shí)用價(jià)值。真實(shí)的交通場(chǎng)景復(fù)雜多變,交通標(biāo)志易受到光照、雨霧和遮擋等外在因素的影響。傳統(tǒng)的檢測(cè)算法根據(jù)交通標(biāo)志的形狀、顏色等特點(diǎn)[1-6],使用不同尺度大小的滑動(dòng)窗口對(duì)待檢測(cè)圖片進(jìn)行潛在目標(biāo)區(qū)域提取,之后對(duì)潛在區(qū)域通過HOG(Histograms Of Oriented Gradient)[7]、Gabor[8]、Haar-like[9]等人工提取特征方法,結(jié)合支持向量機(jī)、BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)、極限學(xué)習(xí)機(jī)和最近鄰算法等常用的機(jī)器學(xué)習(xí)算法完成分類的任務(wù)。這些方法若要完成細(xì)分類檢測(cè)問題,工作量巨大,且最后的效果也不盡理想。
深度學(xué)習(xí)方法不同于前面的方法,它利用深度卷積神經(jīng)網(wǎng)絡(luò)完成特征提取,實(shí)現(xiàn)交通標(biāo)志的檢測(cè)任務(wù)。目前常用方法可分為候選區(qū)域和邏輯回歸。候選區(qū)域的網(wǎng)絡(luò)(如RCNN(Region-Convolutional Neural Network)[10]、Faster R-CNN[11])先提取出候選的區(qū)域特征,之后根據(jù)候選區(qū)域的特征進(jìn)行位置和類別的學(xué)習(xí),這種方法突出了出色的檢測(cè)精度,犧牲了計(jì)算的時(shí)間和存儲(chǔ)資源;邏輯回歸的網(wǎng)絡(luò)(如YOLO(You Only Look Once)[12]、SSD(Single Shot Detector)[13])直接將預(yù)測(cè)邊界框的坐標(biāo)和類別設(shè)置為回歸問題,提升了網(wǎng)絡(luò)的檢測(cè)速度,但是針對(duì)具體的任務(wù)網(wǎng)絡(luò)模型還需要進(jìn)一步調(diào)整,且完成交通標(biāo)志檢測(cè)的研究需要數(shù)據(jù)龐大的交通標(biāo)志數(shù)據(jù)集。
針對(duì)交通標(biāo)志檢測(cè)研究方法中的問題,本文提出了一種標(biāo)簽結(jié)合現(xiàn)實(shí)場(chǎng)景的交通標(biāo)志分類檢測(cè)方法。首先,為得到深度學(xué)習(xí)算法所需要的數(shù)據(jù)集,采用交通標(biāo)志標(biāo)簽結(jié)合現(xiàn)實(shí)場(chǎng)景自動(dòng)生成;然后,為解決常規(guī)算法體積大、速度慢的不足,對(duì)深度學(xué)習(xí)算法進(jìn)行調(diào)整優(yōu)化;最后,完成交通標(biāo)志的分類檢測(cè)。
完成交通標(biāo)志檢測(cè)的深度學(xué)習(xí)算法研究,一是需要數(shù)據(jù)龐大的交通標(biāo)志數(shù)據(jù)集,二是需要針對(duì)交通標(biāo)志檢測(cè)的算法。
目前,用于交通標(biāo)志檢測(cè)的LISA[14]搜集的是美國交通標(biāo)志,有47 種標(biāo)志類型。德國交通標(biāo)志檢測(cè)數(shù)據(jù)集GTSDB[15]應(yīng)用也非常廣泛,但是數(shù)據(jù)集只有900 張圖片,數(shù)據(jù)規(guī)模較小,且沒有對(duì)交通標(biāo)志進(jìn)行細(xì)分。BTSD[16]是比利時(shí)的交通標(biāo)志數(shù)據(jù)集,數(shù)據(jù)集包含約7 300 個(gè)圖像數(shù)據(jù),包含不同場(chǎng)景下的交通標(biāo)志樣本,數(shù)據(jù)樣本的分布不夠均勻。針對(duì)中國交通標(biāo)志的TT100K[17],從10 萬個(gè)騰訊街景全景圖中創(chuàng)建了一個(gè)大型的交通標(biāo)志數(shù)據(jù)集,也是迄今中國公開的最大交通標(biāo)志數(shù)據(jù)集。TT100K雖然擁有眾多的數(shù)據(jù),但也無法對(duì)中國的交通標(biāo)志實(shí)現(xiàn)細(xì)分,且數(shù)據(jù)集內(nèi)的不同交通標(biāo)志的樣本也不夠均勻,部分常見交通標(biāo)志數(shù)據(jù)較多,其他不常見標(biāo)志數(shù)據(jù)較少,導(dǎo)致無法很好地實(shí)現(xiàn)最終的檢測(cè)效果。因此,本文提出了交通標(biāo)志標(biāo)簽結(jié)合現(xiàn)實(shí)場(chǎng)景的方式自動(dòng)生成數(shù)據(jù)集,可以很好地解決數(shù)據(jù)集問題。
針對(duì)交通標(biāo)志的檢測(cè)算法的研究有很多,Rajendran等[18]通過加深ResNet[19]網(wǎng)絡(luò),采用反卷積模塊方法提升了網(wǎng)絡(luò)的檢測(cè)效果,但是這加大了網(wǎng)絡(luò)的規(guī)模。Aghdam等[20]采用膨脹卷積方式完成滑動(dòng)窗口,并且利用數(shù)據(jù)集統(tǒng)計(jì)的信息加快前向傳播,得到了較高的精確度,但該方法的最終結(jié)果受限于使用的數(shù)據(jù)集。YOLO 算法在目標(biāo)檢測(cè)領(lǐng)域有著廣泛的研究,該算法在保證檢測(cè)精度的同時(shí),具有較塊的檢測(cè)速度。
1.2.1 YOLO 算法基本思想
YOLO 算法的檢測(cè)流程如圖1 所示。
圖1 YOLO 預(yù)測(cè)流程
首先,將輸入的圖像劃分成S×S 個(gè)網(wǎng)格,然后每一個(gè)網(wǎng)格預(yù)測(cè)B 個(gè)邊界框。對(duì)每個(gè)預(yù)測(cè)的邊界框都用置信度進(jìn)行評(píng)分。置信度分?jǐn)?shù)反應(yīng)了該網(wǎng)格包含待檢測(cè)物體的信心以及預(yù)測(cè)的準(zhǔn)確程度,定義為:
式中,confidence 為置信度值,Pr(Object)為預(yù)測(cè)的目標(biāo)概率,pred 表示預(yù)測(cè)邊界框的面積,truth 為實(shí)際邊界框的面積,IOU 是實(shí)際邊界框與預(yù)測(cè)邊界框的交集和并集的比值。
在檢測(cè)時(shí),每一個(gè)預(yù)測(cè)種類的置信度(classConfidence)為條件類別概率(Pr(classi|Object))與目標(biāo)置信度的乘積:
1.2.2 目標(biāo)框位置預(yù)測(cè)
YOLO 中使用錨框來預(yù)測(cè)待檢測(cè)物體的邊界框,如圖2 所示,每個(gè)固定框預(yù)測(cè)4 個(gè)邊界坐標(biāo)(tx,ty,tw,th)。通過相對(duì)網(wǎng)格坐標(biāo)來預(yù)測(cè)目標(biāo)框的中心位置,假設(shè)網(wǎng)格距離圖像左上角的距離為(cx,cy),該網(wǎng)格預(yù)設(shè)的固定框?qū)捀邽?pw,ph),則預(yù)測(cè)的表達(dá)式如下:
圖2 目標(biāo)框位置預(yù)測(cè)
式中,σ 為邏輯函數(shù),可以將邊界框坐標(biāo)約束在[0,1],用來預(yù)測(cè)相對(duì)于網(wǎng)絡(luò)中心的偏移;bx、by為歸一化后相對(duì)于單元格的數(shù)值,bw、bh為歸一化后相對(duì)于預(yù)設(shè)固定框的值。
本文提出的標(biāo)簽結(jié)合現(xiàn)實(shí)場(chǎng)景的交通標(biāo)志分類方法。整體結(jié)構(gòu)如圖3 所示。原始的交通標(biāo)志標(biāo)簽通過數(shù)據(jù)增強(qiáng),之后與現(xiàn)實(shí)背景結(jié)合得到了大量的數(shù)據(jù),用以訓(xùn)練網(wǎng)絡(luò);通過訓(xùn)練的網(wǎng)絡(luò)證明生成數(shù)據(jù)的有效性,并通過網(wǎng)絡(luò)的檢測(cè)結(jié)果,進(jìn)一步調(diào)整優(yōu)化數(shù)據(jù)和網(wǎng)絡(luò);最后實(shí)現(xiàn)較優(yōu)的檢測(cè)方法。
圖3 整體結(jié)構(gòu)
2.1.1 標(biāo)簽數(shù)據(jù)增強(qiáng)
深度學(xué)習(xí)網(wǎng)絡(luò)實(shí)現(xiàn)檢測(cè)任務(wù)需要強(qiáng)有力的數(shù)據(jù)支持。中國的交通標(biāo)志可分為7 大類,包括數(shù)百個(gè)標(biāo)志。其中常見的3 大類為警告標(biāo)志、禁令標(biāo)志和指示標(biāo)志,多數(shù)研究也只將交通標(biāo)志劃分為這3 大類而沒有細(xì)分。本文為了便于研究,分別從3 大類中抽取3 個(gè)標(biāo)簽,如圖4 所示。
圖4 部分中國交通標(biāo)志標(biāo)簽示例
交通標(biāo)志擁有完整的圖案標(biāo)簽,將這些標(biāo)簽進(jìn)行有效利用,可以降低任務(wù)的成本。傳統(tǒng)的數(shù)據(jù)增強(qiáng)多是按批次統(tǒng)一加入噪聲、旋轉(zhuǎn)等方法,這種變換方式不能夠很有效地增強(qiáng)樣本的多樣性。本文針對(duì)現(xiàn)實(shí)交通標(biāo)志的環(huán)境,設(shè)置多種數(shù)據(jù)增強(qiáng)方式,且進(jìn)行隨機(jī)組合可以有效地?cái)U(kuò)張數(shù)據(jù)的多樣性,如圖5 所示。生成的部分增強(qiáng)圖片如圖6 所示。
圖5 交通標(biāo)志標(biāo)簽增強(qiáng)流程
圖6 增強(qiáng)交通標(biāo)志標(biāo)簽示例
2.1.2 結(jié)合現(xiàn)實(shí)場(chǎng)景
完成交通標(biāo)志標(biāo)簽的數(shù)據(jù)增強(qiáng)后,并不能直接用于交通標(biāo)志檢測(cè)的研究。深度學(xué)習(xí)網(wǎng)絡(luò)在檢測(cè)時(shí)不僅需要識(shí)別出物體,還需要準(zhǔn)確地找出物體的位置。這意味著網(wǎng)絡(luò)不僅需要學(xué)習(xí)檢測(cè)目標(biāo)的深層特征,還需要能夠?qū)W習(xí)到背景的相關(guān)特征,從而有效定位分類。交通標(biāo)志因不同的拍攝距離,在照片上的尺寸大小不一。
充分考慮到交通標(biāo)志背景和尺寸問題,本文選擇TT100K 中不含有交通標(biāo)志圖片以及搜集的道路圖片作為背景圖片。通過以下步驟將2.1.1 節(jié)中增強(qiáng)后的交通標(biāo)志標(biāo)簽與背景進(jìn)行融合,如圖7 所示,并自動(dòng)生成用于訓(xùn)練的交通標(biāo)志類別位置文件:
圖7 結(jié)合現(xiàn)實(shí)場(chǎng)景多尺度生成圖片
(1)交通標(biāo)志標(biāo)簽大小限定,交通標(biāo)志因不同的拍攝距離,表現(xiàn)在照片上的大小不一,在進(jìn)行分析后本文選擇相對(duì)背景圖片0.01~0.2 進(jìn)行尺寸限定;
(2)交通標(biāo)志標(biāo)簽位置限定,交通標(biāo)志在照片中的位置也是不固定的,因此本文通過隨機(jī)的方式將步驟(1)處理的圖片融合在背景中;
(3)交通標(biāo)志標(biāo)簽類別位置文件生成,交通標(biāo)志檢測(cè)任務(wù)需要相應(yīng)的標(biāo)簽位置信息,通過步驟(1)、(2),可以直接讀取生成的數(shù)值,免除了大量的人工標(biāo)注成本。
YOLOv5 具有檢測(cè)速度快模型輕量化的特點(diǎn),有4個(gè)版本分別為YOLOv5S、YOLOv5M、YOLOv5L 和YOLOv5X,網(wǎng)絡(luò)的深度和廣度逐漸增加??紤]到交通標(biāo)志檢測(cè)對(duì)于速度和文件體積的要求,YOLOv5 進(jìn)行優(yōu)化,形成本文方法,如圖8 所示。其中,網(wǎng)絡(luò)中使用的卷積核個(gè)數(shù)為YOLOv5S的一半,并且在Focus 模塊中加入最大池化操作。
圖8 網(wǎng)絡(luò)結(jié)構(gòu)
其中CBL 模塊如圖9 所示。批量正則化(BN)是避免梯度消失和梯度爆炸的有效手段。網(wǎng)絡(luò)中,在卷積操作(CONV)和激活函數(shù)中間加入BN 模塊,可以提高模型的泛化能力,加快學(xué)習(xí)收斂速度。
圖9 CBL 模塊
Focus 模塊如圖10 所示。在獲得輸入圖像時(shí),進(jìn)行滑動(dòng)取樣(Slice)和最大池化(Maxpool)操作,處理后的數(shù)據(jù)進(jìn)行組合(Concat),從而將高分辨率圖片轉(zhuǎn)換成低分辨率多通道數(shù)據(jù),之后進(jìn)行卷積等操作。
圖10 Focus 模塊
C3_X 模塊如圖11 所示。網(wǎng)絡(luò)在深度增加時(shí)會(huì)出現(xiàn)退化問題,殘差模塊(Resunit)在加深網(wǎng)絡(luò)的同時(shí),有效地解決了這一問題。將殘差模塊的輸出與卷積后特征進(jìn)行組合,進(jìn)一步增加網(wǎng)絡(luò)特征的的獲取。
圖11 C3_X 模塊
SPP 模塊如圖12 所示。該模塊可以有效提升網(wǎng)絡(luò)的感受野,將特征中的重要部分分離出來,同時(shí)也不會(huì)給網(wǎng)絡(luò)增加硬件消耗。
圖12 SPP 模塊
本文研究的硬件環(huán)境為i5 處理器,內(nèi)存為16 GB,顯卡為NVIDIAGeForce1660,操作系統(tǒng)為Ubantu18.04。軟件環(huán)境為PyTorch2.0,Pyhon3.8。
研究中,對(duì)交通標(biāo)志中的9 類標(biāo)簽數(shù)據(jù)進(jìn)行檢測(cè)。訓(xùn)練數(shù)據(jù)使用本文提出的標(biāo)簽結(jié)合現(xiàn)實(shí)方法生成,測(cè)試數(shù)據(jù)集選自TT100K 以及采集的圖片,每類30 張共270張用于檢測(cè)網(wǎng)絡(luò)的效果。
網(wǎng)絡(luò)訓(xùn)練時(shí),初始學(xué)習(xí)率設(shè)置為0.001,權(quán)重衰減系數(shù)為0.000 5,迭代次數(shù)為500。
目標(biāo)檢測(cè)算法常用的兩個(gè)指標(biāo)為mAP 和檢測(cè)速度(f/s)。其中,mAP 代表多類別中AP 的平均值。AP 是查全率(Recall)和查準(zhǔn)率(Precision)曲線圍成的面積。Recall 和Precision 計(jì)算時(shí),需要根據(jù)真實(shí)標(biāo)簽將檢測(cè)結(jié)果劃分為真正例(tp)、真反例(tn)、假正例(fp)、假反例(fn)。
Recall 表示正確檢測(cè)到的樣本數(shù)占真實(shí)樣本數(shù)的比例,計(jì)算公式如下:
Precision 表示正確檢測(cè)到樣本數(shù)占總檢出樣本數(shù)的比例,計(jì)算公式如下:
實(shí)驗(yàn)中,為驗(yàn)證標(biāo)簽結(jié)合現(xiàn)實(shí)場(chǎng)景生成數(shù)據(jù)集的有效性,以及交通標(biāo)志標(biāo)簽和背景對(duì)于檢測(cè)結(jié)果的影響,首先,將9 類交通標(biāo)志標(biāo)簽每類分別增強(qiáng)10 張、20 張以及30 張,分別與10 張背景進(jìn)行融合。使用本文方法與YOLOv3tiny、YOLOv5S 分別訓(xùn)練后得到的mAP 值進(jìn)行對(duì)比,如圖13 所示。
圖13 不同標(biāo)簽增強(qiáng)數(shù)目檢測(cè)效果對(duì)比
結(jié)果表明,本文提出的數(shù)據(jù)生成方式可以有效地訓(xùn)練3 個(gè)網(wǎng)絡(luò),并且隨著交通標(biāo)志標(biāo)簽增強(qiáng)數(shù)目的增加,網(wǎng)絡(luò)的檢測(cè)效果也隨之改善。
在9 類交通標(biāo)志標(biāo)簽每類增強(qiáng)30 張的基礎(chǔ)上,增加背景圖片為20 張、30 張,使用本文方法與YOLOv3tiny、YOLOv5S 分別訓(xùn)練后得到的mAP 值進(jìn)行對(duì)比,如圖14所示。
圖14 不同背景圖片數(shù)目檢測(cè)效果對(duì)比
結(jié)果表明,增加背景圖片可以有效地提升網(wǎng)絡(luò)的檢測(cè)效果。最終,通過將交通標(biāo)志標(biāo)簽每類增強(qiáng)30 張,背景圖片30 張生成訓(xùn)練集,網(wǎng)絡(luò)檢測(cè)效果mAP、檢測(cè)速度和權(quán)重大小如表1 所示。
表1 最終檢測(cè)結(jié)果
實(shí)驗(yàn)結(jié)果充分證明,本文提出的標(biāo)簽結(jié)合現(xiàn)實(shí)場(chǎng)景生成交通標(biāo)志訓(xùn)練集能夠有效地訓(xùn)練檢測(cè)網(wǎng)絡(luò),并且可以通過增加交通標(biāo)志標(biāo)簽和背景改善網(wǎng)絡(luò)的檢測(cè)效果。本文優(yōu)化的網(wǎng)絡(luò)在保證檢測(cè)效果基礎(chǔ)上,具有更小的體積和更快的檢測(cè)速度。部分檢測(cè)結(jié)果如圖15 所示。
圖15 檢測(cè)結(jié)果示例
本文針對(duì)交通標(biāo)志的分類檢測(cè),提出交通標(biāo)志標(biāo)簽結(jié)合現(xiàn)實(shí)場(chǎng)景方式,生成深度學(xué)習(xí)網(wǎng)絡(luò)所需要的訓(xùn)練數(shù)據(jù)。該方法只需要對(duì)交通標(biāo)志標(biāo)簽進(jìn)行適當(dāng)?shù)臄?shù)據(jù)增強(qiáng),之后與背景圖片進(jìn)行結(jié)合。訓(xùn)練用的位置類別文件可以自動(dòng)生成,節(jié)省了大量的人力物力。針對(duì)交通標(biāo)志檢測(cè)優(yōu)化的網(wǎng)絡(luò)雖在mAP 上低于YOLOv5S,但在檢測(cè)速度和權(quán)重大小上更優(yōu),有利于降低硬件成本。