劉 勝,馬社祥,孟 鑫,李 嘯
(天津理工大學(xué) a.電氣電子工程學(xué)院;b海運學(xué)院;c.計算機科學(xué)與工程學(xué)院,天津 300384)
交通標(biāo)志識別技術(shù)是許多運輸相關(guān)應(yīng)用的重要組成部分,如自動駕駛、高級輔助駕駛系統(tǒng)。交通標(biāo)志識別主要包含2個子任務(wù),即交通標(biāo)志檢測、交通標(biāo)志分類。檢測任務(wù)負(fù)責(zé)定位交通標(biāo)志在圖像中的具體位置,并預(yù)測相應(yīng)的邊界框。分類任務(wù)負(fù)責(zé)區(qū)分交通標(biāo)志的詳細(xì)類別[1]。
交通標(biāo)志檢測不同于一般的目標(biāo)檢測任務(wù),它的挑戰(zhàn)主要來源于交通標(biāo)志數(shù)據(jù)的內(nèi)在特點。相比于一般的目標(biāo),交通標(biāo)志通常更小,背景更復(fù)雜且容易被環(huán)境因素影響。因此,交通標(biāo)志檢測相對更困難。Liang M等[2]提取目標(biāo)感興趣區(qū)域,采用支持向量機對目標(biāo)分類。Wu Y等[3]利用滑動窗“由粗到細(xì)”的檢測交通標(biāo)志,實現(xiàn)了較高的檢測精度。盡管這些傳統(tǒng)的檢測方法已經(jīng)實現(xiàn)了很高的檢測精度,但無法達(dá)到實時檢測的要求。近些年,由于計算設(shè)備性能的提升,深度神經(jīng)網(wǎng)絡(luò)廣泛應(yīng)用于交通標(biāo)志檢測中,其中深度卷積神經(jīng)網(wǎng)絡(luò)(deep convalutional neural network,DCNN)表現(xiàn)尤為突出。Zhu Z等[4]提出的多任務(wù)網(wǎng)絡(luò)能實現(xiàn)對交通標(biāo)志的像素級預(yù)測。Yang T等[5]引入AN(attention network)到Faster R-CNN中提取感興趣區(qū)域,利用 FRPN(fine region proposal network)生成目標(biāo)區(qū)域進行檢測。DCNN的應(yīng)用極大地提升了目標(biāo)檢測速度,但檢測精度仍需改進。在現(xiàn)實應(yīng)用中,如自動駕駛需同時具備檢測精度和檢測速度,因為錯誤檢測或延遲檢測將增加系統(tǒng)故障風(fēng)險,更嚴(yán)重的可能導(dǎo)致交通事故。因此,怎樣同時實現(xiàn)高精度和高速檢測仍值得研究。
交通標(biāo)志分類任務(wù)比檢測任務(wù)簡單。大多交通標(biāo)志分類方法都評估于德國交通標(biāo)志識別基準(zhǔn)(German traffic sign recognition benchmarks,GTSRB)。一些最先進的方法已經(jīng)達(dá)到極好的分類準(zhǔn)確率。例如,采用多列深度神經(jīng)網(wǎng)絡(luò)[6]實現(xiàn)交通標(biāo)志分類,達(dá)到了與人類視覺分類相當(dāng)?shù)谋憩F(xiàn)。Jin J等[7]提出用 hinge loss作為卷積網(wǎng)絡(luò)的損失函數(shù),實現(xiàn)了先進的分類表現(xiàn)。這些方法在單一的分類數(shù)據(jù)集中表現(xiàn)優(yōu)異,但與檢測網(wǎng)絡(luò)相結(jié)合時,由于預(yù)測邊界框偏差導(dǎo)致分類結(jié)果準(zhǔn)確率下降。為了解決該問題,Li J等[8]提出利用傳統(tǒng)圖像處理方法來優(yōu)化目標(biāo)定位問題,即結(jié)合交通標(biāo)志的顏色和形狀信息來優(yōu)化候選交通標(biāo)志的邊界框,從而實現(xiàn)對交通標(biāo)志分類效果的提升。為進一步提升分類精確度,筆者提出采用U-Net實現(xiàn)候選交通標(biāo)志的語義分割,然后對分割后的圖像進一步處理實現(xiàn)交通標(biāo)志的定位優(yōu)化,從而提升了分類網(wǎng)絡(luò)的分類準(zhǔn)確率。
交通標(biāo)志識別網(wǎng)絡(luò)包含3個子網(wǎng)絡(luò):檢測網(wǎng)絡(luò)、定位優(yōu)化網(wǎng)絡(luò)和分類網(wǎng)絡(luò)。首先,分別訓(xùn)練3個子網(wǎng)絡(luò),當(dāng)驗證集損失不再降低則停止訓(xùn)練。然后將輸入圖像經(jīng)過檢測網(wǎng)絡(luò)處理后生成候選交通標(biāo)志,再利用訓(xùn)練好的U-Net網(wǎng)絡(luò)對候選交通標(biāo)志語義分割以實現(xiàn)交通標(biāo)志邊界框的優(yōu)化。最終將優(yōu)化后的候選交通標(biāo)志輸入STN網(wǎng)絡(luò)分類。具體流程如圖1所示。
圖2展示了端到端檢測網(wǎng)絡(luò)結(jié)構(gòu)。首先,將圖像輸入到主干網(wǎng)絡(luò)(backbone network)提取多尺度特征,輸出不同尺度的特征圖。然后,通過特征融合網(wǎng)絡(luò)融合不同尺度的特征圖以生成3個輸出張量。最后,3個張量經(jīng)過預(yù)測模塊處理后得到相應(yīng)的邊界框、類別和目標(biāo)分?jǐn)?shù)。預(yù)測模塊采用與YOLOv3[9]相同的計算方法,本文中不過多贅述。
根據(jù)主干網(wǎng)絡(luò)的設(shè)計因素對檢測性能的影響,設(shè)計了一種新型的端到端網(wǎng)絡(luò)結(jié)構(gòu),主要包括主干網(wǎng)絡(luò)和特征融合網(wǎng)絡(luò),分別用于特征提取和特征融合。
1.1.1 主干網(wǎng)絡(luò)
主干網(wǎng)絡(luò)是深度檢測網(wǎng)絡(luò)的一個重要組成部分,通常用來提取圖像的多尺度特征。CAI Z等[10-12]研究了下采樣率和網(wǎng)絡(luò)深度對檢測網(wǎng)絡(luò)性能的影響。這些影響對小尺寸目標(biāo)是顯著的,即采樣率更大且深度更淺的網(wǎng)絡(luò)對小尺寸目標(biāo)檢測起積極作用。根據(jù)這些因素對檢測效果的影響,設(shè)計一個基于Darknet-53的主干網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。該網(wǎng)絡(luò)的卷積層由52層減少至48層,詳細(xì)配置參數(shù)如表1所示。主干網(wǎng)絡(luò)的輸出端尺度由原(13×13)(26×26)(52×52)改進為(26×26)(52×52)(104×104)。考慮到網(wǎng)絡(luò)頂層會預(yù)測更多的目標(biāo)幾何特征,對尺度為(13×13)的特征圖連續(xù)上采樣,產(chǎn)生尺度為(26×26)(52×52)(104×104)的特征圖,然后在特征融合網(wǎng)絡(luò)中將生成的特征圖與之前對應(yīng)尺度的特征圖融合。由于網(wǎng)絡(luò)底層能產(chǎn)生更好的語義信息,因此,對尺度為(208×208)的特征圖池化下采樣,以便與其他尺度特征融合。
表1 主干網(wǎng)絡(luò)參數(shù)配置
1.1.2 特征融合網(wǎng)絡(luò)
為了解決目標(biāo)檢測中的尺度變化問題,圖像金字塔[13]和特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)[14]相繼被提出。但圖像金字塔需要輸入多尺度圖像,F(xiàn)PN會因提取多尺度特征而增加計算成本。為應(yīng)對以上問題,設(shè)計了一種特征融合網(wǎng)絡(luò),如圖2所示。該網(wǎng)絡(luò)融合4個不同尺度的特征圖以生成3個輸出端(Output1、Output2和Output3),對應(yīng)的尺度分別為(26×26)(52×52)(104×104)。在特征融合過程中,尺度相同的特征圖通過級聯(lián)(Concatenate)的方式融合,尺度不同的特征圖通過最大值池化(Maxpoo-ling)或上采樣(UpSampling)將特征圖大小調(diào)整為與輸出特征圖大小相同,然后采用級聯(lián)融合。
由于檢測后的交通標(biāo)志存在邊界框的回歸偏差,若將其直接分類會造成較大的分類誤差。因此,在檢測網(wǎng)絡(luò)和分類網(wǎng)絡(luò)之間應(yīng)用定位優(yōu)化網(wǎng)絡(luò)來優(yōu)化候選交通標(biāo)志的邊界框,并達(dá)到提高分類精度的目的。
1.2.1 定位優(yōu)化方法
具體定位優(yōu)化流程如圖3所示:①提取檢測網(wǎng)絡(luò)預(yù)測的候選交通標(biāo)志。②分別擴大候選交通標(biāo)志的寬和高1.33倍。③利用分割網(wǎng)絡(luò)實現(xiàn)圖像的語義分割。④提取分割后的交通標(biāo)志輪廓,并裁剪出新的候選交通標(biāo)志。⑤將新的候選交通標(biāo)志輸入STN網(wǎng)絡(luò)分類。
選用 U-Net[15]作為分割網(wǎng)絡(luò),并應(yīng)用 Res-Net50作為 U-Net的主干網(wǎng)絡(luò)。U-Net是基于FCN[16]的語義分割網(wǎng)絡(luò),通過擴大和修改網(wǎng)絡(luò)框架使其能夠使用很少的訓(xùn)練數(shù)據(jù)就達(dá)到很好的分割效果。由于實驗中訓(xùn)練分割網(wǎng)絡(luò)的數(shù)據(jù)較少,所以選用U-Net實現(xiàn)候選交通標(biāo)志分割。
1.2.2 存在的問題及解決方法
交通標(biāo)志數(shù)據(jù)中存在多個交通標(biāo)志相鄰的情況,在檢測后會使邊界框偏差更大。擴大邊界框后會產(chǎn)生一張圖像中包含2個交通標(biāo)志的情況,如圖4(左)所示。為解決該問題,在標(biāo)注數(shù)據(jù)時每幅圖像僅標(biāo)注一個完整的交通標(biāo)志作為分割目標(biāo)。這種做法很大程度地減少了不完整交通標(biāo)志帶來的分割錯誤問題。
雖然問題得到改善,但是還存在一些錯誤分割情況,如圖5所示。對于這類問題,首先利用輪廓檢測提取圖像中的2部分,然后計算各部分面積,選取面積最大的為分割目標(biāo),最終實現(xiàn)交通標(biāo)志的精確分割。
分類網(wǎng)絡(luò)的任務(wù)是將重新定位的候選交通標(biāo)志分成詳細(xì)類別。選用空間變換網(wǎng)絡(luò)(spatial transformer network,STN)[17]作為分類網(wǎng)絡(luò)。該網(wǎng)絡(luò)無需標(biāo)定關(guān)鍵點,并且能夠根據(jù)分類或者其他任務(wù)自適應(yīng)地將數(shù)據(jù)進行空間變換和對齊(包括平移、縮放、旋轉(zhuǎn)以及其他幾何變換等)。STN在交通標(biāo)志分類任務(wù)中表現(xiàn)優(yōu)異,因此,選用該網(wǎng)絡(luò)實現(xiàn)識別網(wǎng)絡(luò)的分類功能。
在訓(xùn)練檢測網(wǎng)絡(luò)、定位優(yōu)化網(wǎng)絡(luò)和分類網(wǎng)絡(luò)的過程中,分別用到了交通標(biāo)志檢測數(shù)據(jù)集、交通標(biāo)志分割數(shù)據(jù)集和交通標(biāo)志分類數(shù)據(jù)集。
1)TT100K
TT100K(Tsinghua-Tencent 100 K)是中國現(xiàn)實交通標(biāo)志數(shù)據(jù)集基準(zhǔn),該數(shù)據(jù)集提供了100 000張圖像,共包含了30 000個交通標(biāo)志實例。每張圖像的分辨率為2 048×2 048,且囊括了多種不同場景下的目標(biāo),如不同光照、不同天氣等狀況。每個交通標(biāo)志分別標(biāo)注了類別、邊界框和像素掩碼。實驗選用6 105張帶有標(biāo)注信息的圖像為訓(xùn)練數(shù)據(jù),3 071張帶有標(biāo)注信息的圖像為測試數(shù)據(jù),并將數(shù)據(jù)標(biāo)注為3類,分別為Prohi-bitory、Mandatory和Danger。
2)GTSDB
GTSDB(German traffic sign detection benchmarks)是德國交通標(biāo)志數(shù)據(jù)集基準(zhǔn)。該數(shù)據(jù)集包含900張帶有標(biāo)注信息的圖像,每張圖像的分辨率為800×1 360。選用600張為訓(xùn)練數(shù)據(jù),300張為測試數(shù)據(jù)。該數(shù)據(jù)集是目前應(yīng)用最廣泛的數(shù)據(jù)集之一,因此用來評估提出的檢測網(wǎng)絡(luò)。根據(jù)交通標(biāo)志特點,數(shù)據(jù)集被標(biāo)記為4類,分別為Prohibitory、Mandatory、Danger和 Other。
為了更好地完成候選交通標(biāo)志的語義分割任務(wù),制作了一個小型交通標(biāo)志分割數(shù)據(jù)集。該數(shù)據(jù)集包含500張圖像,每張圖像僅標(biāo)注一個交通標(biāo)志作為前景,其他像素全部標(biāo)注為背景。收集GTSDB訓(xùn)練集中被檢測出的交通標(biāo)志作為訓(xùn)練數(shù)據(jù),并將預(yù)測邊界框的尺寸擴大原尺寸的1/3,以保證圖像中有完整的交通標(biāo)志。選用labelme作為標(biāo)注工具,首先標(biāo)注交通標(biāo)志的輪廓,然后將其轉(zhuǎn)化為像素掩碼,最后利用像素掩碼完成網(wǎng)絡(luò)訓(xùn)練。
對于交通標(biāo)志分類網(wǎng)絡(luò)的訓(xùn)練,采用GTSRB(German traffic sign recognition benchmarks)作為訓(xùn)練和測試數(shù)據(jù)集。該數(shù)據(jù)集包含超過50 000張圖像,共43個類別,是目前應(yīng)用最廣泛的交通標(biāo)志分類數(shù)據(jù)集之一。選用其中37 901張作為訓(xùn)練集,12 630張作為測試集。
在實驗中,采用平均精度均值(mean average precision,mAP)作為評估檢測網(wǎng)絡(luò)檢測性能的指標(biāo)。根據(jù)精確率/召回率曲線計算平均精度(average precision,AP)。精度率和召回率定義如式(1)所示,其中TP、FP、FN分別表示正確識別的正樣本、錯誤識別的正樣本和錯誤識別的負(fù)樣本。AP的計算方法定義如式(2)所示,其中p(k)是召回率為k時的測量精度;k是召回率變化點;Δr(k)是召回率的變化量;n是召回率變化點的總數(shù);i是類別的索引值。mAP通過計算所有類別AP的均值所得,其中m是類別數(shù)。
通過計算預(yù)測邊界框(Bp)和真實邊界框(Bgt)之間的交并比(intersection over union,IOU)驗證預(yù)測的準(zhǔn)確性。IOU定義為
曲線下面積(area under curve,AUC)可以通過積分計算精確率/召回率曲線下的面積求得。AUC用于衡量本文方法和傳統(tǒng)交通標(biāo)志檢測方法的檢測準(zhǔn)確性。為了評估交通標(biāo)志識別網(wǎng)絡(luò)的整體性能,采用分類準(zhǔn)確率作為衡量指標(biāo)之一。分類準(zhǔn)確率的定義為
實驗平臺配備雙 TITAN Xp GPU,Intel(R)Core(TM)i7-7800X CPU,32GB RAM,Ubuntu 16.04操作系統(tǒng),實驗中采用Python實現(xiàn)網(wǎng)絡(luò)模型的編譯。
4.1.1 實施細(xì)節(jié)
在實驗中,采用Keras構(gòu)建提出的檢測網(wǎng)絡(luò)、YOLOv3和 RetinaNet(ResNet50),采用 TensorFlow構(gòu)建 Faster R-CNN(ResNet50)。對 TT100K和GTSDB數(shù)據(jù)集上的輸入圖像尺寸分別調(diào)整為416×416和416×672。為了獲得更好的訓(xùn)練結(jié)果,在訓(xùn)練期間應(yīng)用遷移學(xué)習(xí)。對于TT100K數(shù)據(jù)集,加載在Imagenet上預(yù)訓(xùn)練的Darknet-53前35層卷積層權(quán)重。首先,凍結(jié)前35層卷積層,經(jīng)過50次迭代后解除凍結(jié)。然后,所有層在經(jīng)過30次迭代后結(jié)束訓(xùn)練。對于GTSDB數(shù)據(jù)集,通過加載在TT100K上訓(xùn)練好的權(quán)重來實現(xiàn)遷移學(xué)習(xí)。
表2展示了相關(guān)超參數(shù)配置。
表2 超參數(shù)配置
4.1.2 檢測表現(xiàn)
為了分析檢測網(wǎng)絡(luò)的性能,分別在TT100K和GTSDB兩個數(shù)據(jù)集上進行測試分析。在TT100K數(shù)據(jù)集上對比不同深度網(wǎng)絡(luò)的檢測表現(xiàn)。在GTSDB數(shù)據(jù)集上分別與深度網(wǎng)絡(luò)和傳統(tǒng)檢測方法對比。由于TT100K數(shù)據(jù)集中的目標(biāo)比GTSDB數(shù)據(jù)集的更小,所以應(yīng)用TT100K訓(xùn)練和測試更能展現(xiàn)網(wǎng)絡(luò)對小尺寸目標(biāo)的檢測能力。下面從檢測準(zhǔn)確率和運行時間2個方面分析說明。
1)準(zhǔn)確率分析
表3展示了在TT100K數(shù)據(jù)集下的實驗結(jié)果。在3個類別中,提出的檢測網(wǎng)絡(luò)的AP分別達(dá)到86.60%、88.24%和87.88%。因此,提出的網(wǎng)絡(luò)模型對小型交通標(biāo)志的檢測能力更強。
表3 TT100K下檢測精度和檢測速度
表4展示了在GTSDB數(shù)據(jù)集下的實驗結(jié)果。與其他幾個深度網(wǎng)絡(luò)的檢測AP對比,除YOLOv3和Ours外的其他網(wǎng)絡(luò)實驗數(shù)據(jù)來源于文獻(xiàn)[18]。提出的檢測網(wǎng)絡(luò)能夠檢測4類交通標(biāo)志,且每類的檢測表現(xiàn)都優(yōu)于其他網(wǎng)絡(luò)。與YOLOv3相比,提出的網(wǎng)絡(luò)在每個類別都實現(xiàn)了性能提升,尤其對Other類提升最大。除了與深度網(wǎng)絡(luò)相比,表5中還展示了與傳統(tǒng)方法的對比數(shù)據(jù)。采用AUC作為準(zhǔn)確性評價指標(biāo)。提出的網(wǎng)絡(luò)在檢測準(zhǔn)確性方面實現(xiàn)了與ROI+HOG+SVM[19]方法相當(dāng)?shù)男阅埽\行時間約為它的1/3。總體來看,提出網(wǎng)絡(luò)的表現(xiàn)更佳。
表4 GTSDB下檢測精度和檢測速度
表5 GTSDB下與傳統(tǒng)方法檢測精度和檢測速度
2)運行時間分析
運行時間是交通標(biāo)志檢測系統(tǒng)中的重要指標(biāo)。對于TT100K數(shù)據(jù)集,表3中對比了不同深度網(wǎng)絡(luò)的運行時間,其中YOLOv3的檢測速度最快,每張圖像的執(zhí)行時間為39.4 ms。提出的檢測網(wǎng)絡(luò)的運行時間僅次于YOLOv3,而且檢測精度遠(yuǎn)高于其他3個檢測網(wǎng)絡(luò),實現(xiàn)了87.57%的mAP,每個圖像的平均執(zhí)行時間為44.4 ms。
對于GTSDB數(shù)據(jù)集,表4和表5分別與深度網(wǎng)絡(luò)和傳統(tǒng)方法的運行時間進行比較。提出網(wǎng)絡(luò)的運行時間遠(yuǎn)優(yōu)于傳統(tǒng)方法,且檢測精確度實現(xiàn)了與傳統(tǒng)方法相當(dāng)?shù)男阅堋?/p>
前文提及利用傳統(tǒng)圖像處理方法實現(xiàn)定位優(yōu)化[8]。在實驗中復(fù)現(xiàn)該方法,并與提出的定位優(yōu)化方法進行對比分析。主要從3個方面對比討論:特殊實例優(yōu)化、分類準(zhǔn)確率優(yōu)化和識別網(wǎng)絡(luò)整體優(yōu)化。
1)特殊實例優(yōu)化分析
針對具有代表性的交通標(biāo)志對比分析,如目標(biāo)清晰、目標(biāo)模糊、特殊目標(biāo)以及多交通標(biāo)志等。圖6展示了原始圖像、傳統(tǒng)方法優(yōu)化結(jié)果和提出方法優(yōu)化結(jié)果。從圖6中可以看出:對于一些特殊目標(biāo)和模糊目標(biāo),傳統(tǒng)方法不能很好地重新定位,而被提出的方法實現(xiàn)了精確的目標(biāo)定位。由此可見,提出的方法對特殊實例有更好的優(yōu)化效果。
2)分類準(zhǔn)確率優(yōu)化分析
分析分類準(zhǔn)確率的目的是驗證定位優(yōu)化網(wǎng)絡(luò)對STN網(wǎng)絡(luò)分類效果的影響。表6中給出了未使用定位優(yōu)化方法、傳統(tǒng)方法和本文中提出的優(yōu)化方法的分類優(yōu)化效果。表中的分?jǐn)?shù)閾值為分類器的分?jǐn)?shù)閾值,分類得分大于該值則預(yù)測類別,反之不預(yù)測。從表6中可以看出:提出的方法對分類準(zhǔn)確率有很大提升,且在各個分?jǐn)?shù)閾值下的優(yōu)化效果都優(yōu)于傳統(tǒng)方法。
表6 不同分?jǐn)?shù)閾值下分類準(zhǔn)確率
3)識別網(wǎng)絡(luò)整體優(yōu)化分析
表7為識別網(wǎng)絡(luò)的mAP結(jié)果??梢钥闯觯簜鹘y(tǒng)方法對原始網(wǎng)絡(luò)的作用是消極的,使mAP大幅下降。而提出的方法對各個閾值下的性能都有提升,尤其對于分?jǐn)?shù)閾值為0.7和0.8下的mAP提升效果最大??傮w來看,提出的網(wǎng)絡(luò)展現(xiàn)了優(yōu)異的性能。
表7 不同分?jǐn)?shù)閾值下mAP
1)提出了一種基于YOLOv3的交通標(biāo)志檢測網(wǎng)絡(luò)。該網(wǎng)絡(luò)實現(xiàn)了快速精準(zhǔn)的交通標(biāo)志檢測。
2)通過引入定位優(yōu)化網(wǎng)絡(luò)重新生成候選交通標(biāo)志,提升了分類網(wǎng)絡(luò)的準(zhǔn)確性。通過在TT100K和GTSDB數(shù)據(jù)集上的訓(xùn)練和測試驗證了所提方法的有效性。
3)基于YOLOv3的檢測網(wǎng)絡(luò)可以應(yīng)用于其他小型目標(biāo)檢測中,尤其對于同時需要高速和高精度檢測的任務(wù)。定位優(yōu)化方法能有效提升識別網(wǎng)絡(luò)的整體性能,可以將其添加到各種需要檢測和分類網(wǎng)絡(luò)聯(lián)合應(yīng)用的任務(wù)中,以此來提升網(wǎng)絡(luò)性能。對于定位優(yōu)化方法中的分割網(wǎng)絡(luò)還有進一步提升的空間,也是未來重點研究內(nèi)容。