喻清挺,喻維超,喻國平
(1.南昌大學(xué) 信息工程學(xué)院,南昌 330031;2.國家電網(wǎng)南昌供電公司,南昌 330077)
交通標(biāo)志檢測是自動(dòng)駕駛和輔助駕駛的重要組成部分,交通標(biāo)志中含有速度限制、路面狀況等信息,是安全駕駛的重要一步,因此,對交通標(biāo)志進(jìn)行研究具有重要的理論和現(xiàn)實(shí)意義。研究人員已經(jīng)提出多種交通標(biāo)志檢測方法,在深度學(xué)習(xí)模型提出以前,交通標(biāo)志檢測方法[1-3]大體分為基于交通標(biāo)志顏色形狀的視覺信息方法[4-5]、基于特征提取和機(jī)器學(xué)習(xí)的識別方法[6-8]等。
自從AlexNet[9]在ImageNet 大賽奪冠后,多種深度學(xué)習(xí)模型被提出并應(yīng)用于交通標(biāo)志檢測任務(wù)。文獻(xiàn)[10]設(shè)計(jì)一種端到端的全卷積神經(jīng)網(wǎng)絡(luò),其在Tsinghua-Tencent 100K 數(shù)據(jù)集檢測中表現(xiàn)出強(qiáng)大的魯棒性。文獻(xiàn)[11]對Faster R-CNN[12]中的區(qū)域建議網(wǎng)絡(luò)(RPN)接收域進(jìn)行修改,使模型能夠更好地適應(yīng)交通標(biāo)志這種小目標(biāo)。文獻(xiàn)[13]通過使用多個(gè)1×1 的卷積核,在降低模型計(jì)算復(fù)雜度的同時(shí)提高了檢測的實(shí)時(shí)性。文獻(xiàn)[14]提出一種基于多尺度區(qū)域的卷積神經(jīng)網(wǎng)絡(luò),其在RPN 中融入上下文信息,能準(zhǔn)確檢測出較小的交通標(biāo)志。
由于模型結(jié)構(gòu)設(shè)計(jì)存在差異,導(dǎo)致各種目標(biāo)檢測模型的側(cè)重點(diǎn)不同:一階檢測器(如YOLO[15]、SSD[16]等)檢測速度快,但對交通標(biāo)志這種小目標(biāo)并不敏感,精度較低,容易產(chǎn)生誤判;二階檢測器(如Faster R-CNN、FPN[17]等)精度高,但速度較慢,對于交通場景這種變化較快的情況,無法及時(shí)將信息傳遞給汽車。為此,本文基于區(qū)域全卷積網(wǎng)絡(luò)(R-FCN)[18]框架提出一種改進(jìn)的交通標(biāo)志檢測算法。通過對R-FCN 模型的特征提取網(wǎng)絡(luò)進(jìn)行簡化,以在不影響準(zhǔn)確率的情況下提高模型檢測速度。引入K-means 聚類算法、在線困難樣本挖掘(OHEM)策略和可變形卷積技術(shù),從而提高模型檢測精度。
R-FCN 算法由經(jīng)典Faster R-CNN 算法演變而來,兩者同為二階段檢測器。R-FCN 算法先通過特征提取網(wǎng)絡(luò)提取圖像特征并輸出特征圖,再經(jīng)過區(qū)域建議網(wǎng)絡(luò)在輸出的特征圖上提取感興趣區(qū)域(RoI)。
R-FCN 與Faster R-CNN 在RPN 之前的步驟相同,兩者最大的不同在于對RoI 的分類與回歸。Faster R-CNN 通過一組全連接層完成目標(biāo)分類和回歸,每個(gè)被RPN 提取出來的RoI 都需要經(jīng)過全連接層進(jìn)行計(jì)算,這將消耗大量的時(shí)間;R-FCN 通過額外添加的2 組卷積,得到2 張分別為類別和位置的得分圖,從而對目標(biāo)進(jìn)行預(yù)測,即將全連接層替換成卷積層進(jìn)行分類和回歸計(jì)算,這在一定程度上加快了檢測速度。R-FCN 檢測框架如圖1 所示。
圖1 R-FCN 檢測框架Fig.1 R-FCN detection framework
傳統(tǒng)的卷積操作通?;?×3、5×5 等形狀規(guī)則的卷積核進(jìn)行特征提取,然而這種方式具有一定的局限性,只能提取規(guī)則區(qū)域內(nèi)的特征,無法根據(jù)物體的形狀提取到更細(xì)致的特征??勺冃尉矸e[19]具有學(xué)習(xí)空間幾何形變的能力,可以更好地適應(yīng)不同空間??勺冃尉矸e可以根據(jù)目標(biāo)的形狀進(jìn)行卷積位置調(diào)整,使卷積的區(qū)域更符合物體形狀特征,具體實(shí)現(xiàn)過程為:增加一組2N(N為卷積核大?。﹤€(gè)卷積核,產(chǎn)生尺寸與輸入特征圖相同、通道數(shù)為2N的特征圖,稱為偏置域(offset field),從offset field 上可得到每個(gè)像素點(diǎn)的偏置矩陣(offsets)。可變形卷積結(jié)構(gòu)如圖2 所示。
圖2 可變形卷積結(jié)構(gòu)Fig.2 Deformable convolution structure
傳統(tǒng)卷積的計(jì)算方式是與特征圖進(jìn)行固定區(qū)域的卷積計(jì)算,對于特征圖上的每個(gè)點(diǎn)位置p0,計(jì)算方式如下:
其中:x為輸入特征圖;y為輸出特征圖;p0為卷積計(jì)算點(diǎn);R表示預(yù)采樣偏移,假設(shè)使用3×3 卷積核,則R={(-1,-1),(-1,0),…,(0,1),(1,1)};pn為R中位置的枚舉。
可變形卷積將學(xué)習(xí)到的偏置矩陣offsets 與預(yù)采樣偏移R相加,得到新的采樣偏移量,則輸入特征圖上每個(gè)點(diǎn)P0進(jìn)行可變形卷積的表達(dá)式如下:
其中:Δpn為偏置矩陣offsets 對應(yīng)于常規(guī)卷積網(wǎng)絡(luò)的偏移量。
R-FCN 通過殘差網(wǎng)絡(luò)(ResNet)對圖片進(jìn)行特征提取,ResNet[20]被廣泛應(yīng)用于分類、檢測等任務(wù)。通過增加跳線連接,ResNet 能夠緩解梯度消失和梯度爆炸問題,ResNet 結(jié)構(gòu)如圖3 所示。假設(shè)在不增加殘差前,網(wǎng)絡(luò)需要學(xué)習(xí)的是H(x)=F(x),這樣一個(gè)恒等映射在神經(jīng)網(wǎng)絡(luò)層數(shù)增加時(shí)將變得很難擬合;在加入殘差結(jié)構(gòu)后,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的是H(x)=F(x)+x,即將恒等映射作為網(wǎng)絡(luò)的一部分,則網(wǎng)絡(luò)真正學(xué)習(xí)的是殘差函F(x)=H(x)-x,這比原先的恒等映射更易擬合。
圖3 ResNet 結(jié)構(gòu)Fig.3 ResNet structure
本文使用經(jīng)過預(yù)訓(xùn)練的ResNet101,在其conv4_x模塊中融入可變形卷積,具體結(jié)構(gòu)如圖4 所示。在殘差結(jié)構(gòu)中加入額外的72 個(gè)256 維的卷積核,產(chǎn)生4 組offsets,通過這些offsets 的偏置量指引,對輸入特征進(jìn)行可變形卷積操作從而獲得輸出特征。
圖4 可變形ResNet 結(jié)構(gòu)Fig.4 Deformable ResNet structure
R-FCN 在位置敏感得分圖上進(jìn)行位置敏感RoI池化,位置敏感得分圖實(shí)質(zhì)上也是特征圖,但其具有確切的含義。位置敏感RoI 池化會將RPN 層提取的RoI 分成k×k個(gè)子區(qū)域(bins),假設(shè)目標(biāo)的總類別數(shù)為C,則位置敏感得分圖的層數(shù)為k2(C+1),每一層分別代表某類物體的某個(gè)部位在整個(gè)圖像中的響應(yīng)值。位置敏感得分圖的層數(shù)受目標(biāo)種類數(shù)影響,當(dāng)目標(biāo)種類增加時(shí),得分圖的通道數(shù)也增加,這會帶來大量參數(shù),增加了檢測時(shí)間,但是本文只有3 類交通標(biāo)志的情況,適合進(jìn)行R-FCN 位置敏感RoI 池化設(shè)計(jì)。
相比于原始的位置敏感RoI 池化,可變形位置敏感RoI 池化通過卷積在位置敏感得分圖上產(chǎn)生一個(gè)額外的偏置域,這個(gè)偏置域的尺寸與得分圖相同,通道數(shù)是得分圖的兩倍,對應(yīng)于位置敏感得分圖上每個(gè)點(diǎn)在X與Y方向的偏移量??勺冃挝恢妹舾蠷oI池化如圖5所示。
將被RPN 提取出來的RoI 區(qū)域?qū)?yīng)的offsets 加入可變形位置敏感RoI 池化中,計(jì)算公式如下:
其中:x為輸入特征圖;y為輸出的RoI;bin為由RoI劃分的子區(qū)域;nij是每個(gè)bin 區(qū)域中的像素?cái)?shù);p0為RoI 左上角的坐標(biāo);p為bin 區(qū)域內(nèi)像數(shù)點(diǎn)的枚舉;Δp為偏移量offset。
經(jīng)過特征提取網(wǎng)絡(luò)輸出的特征圖會在RPN 的作用下產(chǎn)生大量的候選區(qū)域(RoIs),這些RoIs 中正樣本和負(fù)樣本分布并不平衡,簡單地設(shè)置正負(fù)比例將這些RoIs 送入后續(xù)分類與回歸訓(xùn)練,模型將無法關(guān)注困難樣本(預(yù)測時(shí)與真值標(biāo)簽誤差較大的樣本,這類樣本常使得模型產(chǎn)生誤判現(xiàn)象)。在線困難樣本挖掘策略[21]會從這些RoIs 中篩選出困難樣本并送入后續(xù)訓(xùn)練中,具體操作為:設(shè)置2 個(gè)相同的RoI 子網(wǎng)絡(luò),2 個(gè)子網(wǎng)絡(luò)結(jié)構(gòu)相同而功能不同,根據(jù)功能不同可將其分為只讀子網(wǎng)絡(luò)和可讀可寫子網(wǎng)絡(luò),只讀子網(wǎng)絡(luò)只負(fù)責(zé)前向計(jì)算,輸出RoIs 的損失,然后將這些RoIs 的損失值從大到小排序,并通過非最大值抑制(NMS)算法挑選出前K個(gè)RoIs,將其送入可讀可寫子網(wǎng)絡(luò)中進(jìn)行參數(shù)反向傳播,從而完成網(wǎng)絡(luò)更新。
本文交通標(biāo)志檢測方法主要基于R-FCN 網(wǎng)絡(luò)結(jié)構(gòu),為了加快檢測速度,在基于ResNet101 的預(yù)訓(xùn)練模型上進(jìn)行刪減實(shí)驗(yàn),最后只保留前25 層來實(shí)現(xiàn)圖像特征提取,并將RoI 區(qū)域中bin 的個(gè)數(shù)從7×7 變?yōu)?×3。以上2 個(gè)措施有效提升了模型的檢測速度,且并未因?yàn)閰?shù)減少而影響準(zhǔn)確率。
上述措施雖然能提升模型檢測速度,但是無法提高模型的準(zhǔn)確率。為此,本文引入可變形卷積核和可變形位置敏感RoI 池化,總共使用2 個(gè)可變形卷積核,分別置于RPN 兩側(cè),將可變形位置敏感RoI 池化層代替原始位置敏感RoI 池化層,改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示。
圖6 改進(jìn)的R-FCN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Improved R-FCN network structure
本文實(shí)驗(yàn)采用德國交通標(biāo)志檢測數(shù)據(jù)集(German Traffic Sign Detection Benchmark,GTSDB)[22]。GTSDB發(fā)布于2013 年的國際神經(jīng)網(wǎng)絡(luò)會議(IJCNN2013),被用于當(dāng)年的交通標(biāo)志檢測大賽。該數(shù)據(jù)集包含900 張高分辨率的道路交通圖像,其中,訓(xùn)練集為600 張,測試集為300 張,圖像大小均為800 像素×1 360 像素。圖像中交通標(biāo)志的數(shù)量為0~6 個(gè),多為小目標(biāo),分辨率在16 像素×16 像素~128 像素×128 像素之間,形狀大多數(shù)為三角形或圓形。GTSDB 中將43 種交通標(biāo)志分為四大類,即禁令標(biāo)志、指示標(biāo)志、警告標(biāo)志、其他標(biāo)志。根據(jù)當(dāng)年比賽的規(guī)定,本文只對前3 種標(biāo)志進(jìn)行檢測,本文實(shí)驗(yàn)訓(xùn)練集總共包含666 個(gè)標(biāo)志,測試集包含273 個(gè)標(biāo)志。圖7 所示為該數(shù)據(jù)集的部分圖片及其檢測結(jié)果。
圖7 GTSDB 數(shù)據(jù)集部分樣本及其檢測結(jié)果Fig.7 Some samples of the GTSDB dataset and their detection results
通過對數(shù)據(jù)集進(jìn)行分析可知,交通標(biāo)志的面積遠(yuǎn)小于原R-FCN 的錨點(diǎn)框大小,使用原始的錨點(diǎn)將會使模型難以擬合那些過小的交通標(biāo)志,因此,需要對交通標(biāo)志數(shù)據(jù)集進(jìn)行聚類分析。
K-means 聚類方法用歐氏距離定義損失函數(shù),但在目標(biāo)檢測算法中更適合采用預(yù)測框和anchor box 的面積重疊度IOU 作為度量距離,則新的度量標(biāo)準(zhǔn)公式為:
其中:Bbox表示目標(biāo)框尺寸;Ccentriod表示聚類中心框尺寸。通過改變聚類中心點(diǎn)的個(gè)數(shù)得到不同的平均IOU 值,結(jié)果如圖8 所示。
圖8 K-means 聚類折線Fig.8 K-means clustering polyline
從圖8可以看出,當(dāng)聚類個(gè)數(shù)為9時(shí)曲線逐漸平緩。此外,通過聚類可知交通標(biāo)志長寬比的標(biāo)注基本為1∶1。因此,本文選定9個(gè)錨點(diǎn)框,并且將錨點(diǎn)框具體大小設(shè)置為(22,22)、(27,27)、(32,32)、(36,36)、(40,40)、(46,46)、(56,56)、(70,70)、(100,100)。
本文實(shí)驗(yàn)平臺設(shè)置:CPU 為Inter Core i7-8700,內(nèi)存16 GB,GPU 為NVIDIA GeForce RTX 2070,顯存8 GB,操作系統(tǒng)為Ubuntu 16.04,深度學(xué)習(xí)框架為MXNET。
實(shí)驗(yàn)采用ImageNet數(shù)據(jù)集上訓(xùn)練好的ResNet101,其參數(shù)不參與更新,總共訓(xùn)練15 個(gè)epoch,初始學(xué)習(xí)率為0.001,在訓(xùn)練10個(gè)epoch后將學(xué)習(xí)率調(diào)整為0.000 1。
本文采用目標(biāo)檢測中常見的AP50、AP75、AP這3個(gè)評價(jià)指標(biāo)進(jìn)行評測:AP50、AP75分別表示IOU(預(yù)測目標(biāo)與實(shí)際目標(biāo)的重疊比)大于0.5和大于0.75時(shí)正確檢測出目標(biāo)的概率;AP為IOU[0.5∶0.05∶0.95]共10個(gè)不同閾值下檢測出目標(biāo)的概率的平均值。使用上述3個(gè)指標(biāo)能更好地體現(xiàn)可變形網(wǎng)絡(luò)對交通標(biāo)志的適應(yīng)能力,使得評價(jià)更為全面。
為了選擇適合本文的預(yù)訓(xùn)練模型,首先利用以ResNet101 和ResNet50 為特征提取網(wǎng)絡(luò)的R-FCN 在原模型下進(jìn)行實(shí)驗(yàn),結(jié)果如表1 所示。
表1 特征提取網(wǎng)絡(luò)ResNet101 與ResNet50 的對比Table 1 Comparison of feature extraction networks ResNet101 and ResNet50 %
ResNet101相比于ResNet50最大的區(qū)別是conv4_x模塊多了51 層,但從表1 可以看出,這額外的51 層卷積層并沒有使ResNet101相比ResNet50取得太大優(yōu)勢,兩者的性能相差不大。因此,對于本文的3 類交通標(biāo)志檢測任務(wù),選用總體偏優(yōu)的ResNet101 作為特征提取網(wǎng)絡(luò),為了加快檢測速度,將conv4_x 模塊進(jìn)行簡化,只保留其前3層參數(shù),即整個(gè)特征提取網(wǎng)絡(luò)只剩下35層。不同層數(shù)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果如表2 所示。
表2 不同層數(shù)網(wǎng)絡(luò)的識別性能對比Table 2 Comparison of recognition performance of networks with different layers
從表2 可以看出,對特征提取網(wǎng)絡(luò)ResNet101 進(jìn)行層數(shù)刪減,并沒有對檢測結(jié)果產(chǎn)生太大影響,對ResNet101 中conv4_x 模塊的簡化僅造成了微小的性能變化,說明前25 層提取出來的特征圖已經(jīng)包含足夠的交通標(biāo)志特征信息。
在獲得簡化的特征提取網(wǎng)絡(luò)后,本文在簡化模型上進(jìn)行實(shí)驗(yàn),通過聚類錨點(diǎn),在模型中加入可變形卷積和可變形位置敏感ROI 池化,且訓(xùn)練過程中采用在線困難樣本挖掘方法,實(shí)驗(yàn)結(jié)果如表3 所示。
表3 不同組合方法的性能對比結(jié)果Table 3 Performance comparison results of different combination methods
從表3 可以看出:第5 組實(shí)驗(yàn)的AP50準(zhǔn)確率相對第1 組實(shí)驗(yàn)提升了1.4 個(gè)百分點(diǎn),達(dá)到97.8%,而AP75準(zhǔn)確率達(dá)到94.7%,即本文算法相比原算法提升了6 個(gè)百分點(diǎn),總體AP 提升了將近9 個(gè)百分點(diǎn);在檢測時(shí)間方面,本文算法相較原始R-FCN(ResNet101)減少了60 ms,速度提升高于2倍。上述結(jié)果有效證明了本文保留前25 層網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)的可行性以及K-means 聚類后錨點(diǎn)框的適應(yīng)性。
交通標(biāo)志信息標(biāo)注采用人工標(biāo)注方式,其標(biāo)注框都是正方形,加入可變形卷積和可變形位置敏感RoI 池化,可以提取出更多關(guān)于交通標(biāo)志形狀的信息,更加符合交通標(biāo)志圓形、三角形以及矩形的特征,使得在更嚴(yán)格的AP75和AP 評價(jià)指標(biāo)下準(zhǔn)確率明顯提升。通過添加OHEM 技術(shù),可以對困難樣本進(jìn)行訓(xùn)練,模型的準(zhǔn)確率進(jìn)一步提升。
在目標(biāo)檢測領(lǐng)域,研究人員已經(jīng)提出眾多優(yōu)秀的目標(biāo)檢測模型,但這些模型都是在VOC、COCO 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),這2 個(gè)數(shù)據(jù)集種類多、數(shù)據(jù)量大,模型為了適應(yīng)數(shù)據(jù)集,其結(jié)構(gòu)會設(shè)計(jì)得比較龐大。這些模型雖然可以直接用于交通標(biāo)志分類檢測,但其結(jié)構(gòu)并不能完全契合交通標(biāo)志檢測數(shù)據(jù)集,因此,需要進(jìn)行適應(yīng)性改進(jìn)。
表4所示為9種模型在本文數(shù)據(jù)集上的對比結(jié)果。其中:Faster R-CNN、R-FCN、FPN 的特征提取網(wǎng)絡(luò)都為經(jīng)過預(yù)訓(xùn)練的ResNet101,其參數(shù)不參與更新,訓(xùn)練與檢測均為原尺寸;YOLO系列特征提取網(wǎng)絡(luò)為DarkNet,尺寸則為608×608;CenterNet特征提取網(wǎng)絡(luò)為DLA-34,尺寸為512×512;RetinaNet 和Cascade RCNN 的特征提取網(wǎng)絡(luò)為ResNet50-FPN,尺寸為原尺寸。各模型的錨點(diǎn)框大小均未進(jìn)行調(diào)整。
表4 9 種模型檢測性能對比Table 4 Comparison of detection performance of nine models
從表4 可以看出:FPN 因?yàn)槠涠喑叨鹊脑O(shè)計(jì),AP 和AP75指標(biāo)明顯高于Faster R-CNN 與R-FCN 這種單尺度模型,證明通過多尺度圖像特征金字塔可以有效檢測出交通標(biāo)志這種小目標(biāo),但FPN 使用的特征提取網(wǎng)絡(luò)為ResNet101,速度較慢;本次實(shí)驗(yàn)中Cascade RCNN 選擇參數(shù)較少的ResNet50,并在其上使用FPN 架構(gòu),使用了多尺度和多閾值的Cascade RCNN 的AP 指標(biāo)取得最高值,達(dá)到77.2%,但AP50指標(biāo)僅有95.5%,低于未改進(jìn)的R-FCN;原始R-FCN 由于位置敏感得分圖的設(shè)計(jì),適合于交通標(biāo)志這種有特定形狀的目標(biāo),且本文交通標(biāo)志只有3 類,位置敏感得分圖層數(shù)少,這在一定程度上加快了檢測速度,因此,原始R-FCN在速度與精度2個(gè)方面都取得了較好的結(jié)果;使用512 尺寸的CenterNet具有最快的速度,中心點(diǎn)的設(shè)計(jì)也契合交通標(biāo)志這種對稱物體,因此,其整體表現(xiàn)較好;使用原尺寸的RetinaNet 的AP 和AP75指標(biāo)同樣較高;YOLOv3 與YOLOv4[23]則在608 尺寸時(shí)和本文所提模型的檢測速度接近,且YOLOv4的準(zhǔn)確率明顯高于YOLOv3,其AP50指標(biāo)最接近本文模型,但AP75和AP 評價(jià)指標(biāo)與本文模型有較大差距。綜上,可變形卷積具有有效性,在速度接近的情況下,本文模型在更嚴(yán)格的評價(jià)指標(biāo)上依然具有優(yōu)勢。
針對交通標(biāo)志檢測問題,原始R-FCN 模型能取得較好的準(zhǔn)確率,但是速度較慢,難以滿足實(shí)時(shí)性的要求。為此,本文通過模型簡化、K-means 算法錨點(diǎn)框聚類,并將可變形卷積和可變形位置敏感RoI 池化加入到簡化模型中,在訓(xùn)練過程中使用在線困難樣本挖掘策略,從而有效檢測交通標(biāo)志信息。實(shí)驗(yàn)結(jié)果表明,該改進(jìn)模型能夠在提升檢測速度的同時(shí)保證檢測精度,且準(zhǔn)確率高于Faster R-CNN、R-FCN等模型,其在精度與速度上取得了較好的平衡。后續(xù)將為模型選擇如EfficientNet、Desnet 等更適合交通標(biāo)志檢測的特征提取網(wǎng)絡(luò),從而進(jìn)一步提升模型的檢測速度與精度。