王 莉, 崔帥華, 蘇 波, 宋照肅
(1.河南理工大學(xué) 電氣工程與自動(dòng)化學(xué)院,河南 焦作 454003;2.河南省煤礦裝備智能檢測(cè)與控制重點(diǎn)實(shí)驗(yàn)室,河南 焦作 454003)
交通信號(hào)燈檢測(cè)速度和精度的提高,對(duì)未來(lái)的無(wú)人駕駛、智慧交通有著十分重要的意義,一直是國(guó)內(nèi)外研究熱點(diǎn),主要檢測(cè)目標(biāo)包括機(jī)動(dòng)車前行信號(hào)燈(圓形燈)、轉(zhuǎn)向指示燈(箭頭燈)和倒計(jì)時(shí)數(shù)字燈(簡(jiǎn)稱“數(shù)字燈”)。Widyantoro D H等人[1]提出使用霍夫變換和顏色識(shí)別融合的方法檢測(cè)圓燈[1];Rajapaksha R[2]、田謹(jǐn)?shù)热薣3]使用模板匹配和顏色識(shí)別組合方法檢測(cè)箭頭燈[2,3]。隨著深度學(xué)習(xí)技術(shù)的廣泛應(yīng)用,賈瑞明[4]、Eunseop L等[5]不少學(xué)者采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)與傳統(tǒng)方法相結(jié)合檢測(cè)交通信號(hào)燈[4~8],如將CNN和HOG提取的特征進(jìn)行特征融合,最后用支持向量機(jī)(support vector machine,SVM)進(jìn)行分類;基于純CNN目標(biāo)檢測(cè)方法具有檢測(cè)速度快的優(yōu)勢(shì)[9~12],當(dāng)前目標(biāo)檢測(cè)的CNN有單步和兩步之分,兩步網(wǎng)絡(luò)有R-CNN,SPP-Net,F(xiàn)ast RCNN,F(xiàn)aster RCNN,RFCN等,單步網(wǎng)絡(luò)有YOLO系列,SSD等,在速度上優(yōu)于兩步網(wǎng)絡(luò),而包括YOLOv3在內(nèi)的許多深度模型在淺層特征圖易丟失細(xì)節(jié)特征,對(duì)小尺度目標(biāo)的檢測(cè)能力較差。
本文基于YOLOv3進(jìn)行了改進(jìn),采用跨越式特征融合方法,來(lái)提升模型對(duì)小尺度目標(biāo)特征的語(yǔ)義能力,減少因中間層過(guò)度融合給淺層特征圖帶來(lái)的冗余信息;采用K-means算法聚類出適合交通信號(hào)燈尺寸的新先驗(yàn)框,并通過(guò)線性縮放機(jī)制對(duì)新先驗(yàn)框進(jìn)行離散以適應(yīng)多尺度檢測(cè),進(jìn)而提升IoU。
本文將同時(shí)采用上述兩種改進(jìn)方法的模型稱為STL-YOLO(small traffic light-YOLO),將只采用“跨越式特征融合”的模型稱為STL-YOLO_1,將只采用“聚類與縮放獲取新先驗(yàn)框”的模型稱為STL-YOLO_2。最后本文提出一種基于YOLOv3與OCR結(jié)合的方法實(shí)現(xiàn)了對(duì)倒計(jì)時(shí)數(shù)字燈的識(shí)別。
深度模型提取的淺層特征圖雖然語(yǔ)義級(jí)別低,但保留了更多的細(xì)節(jié)特征,而深層特征圖雖然語(yǔ)義級(jí)別高,但易丟失細(xì)節(jié)特征,因此,特征融合可以增強(qiáng)淺層特征圖的特征描述能力,但同時(shí)也會(huì)因上采樣操作對(duì)融合后的特征圖增加冗余信息;而跨越式特征融合既可增強(qiáng)淺層特征圖的語(yǔ)義表達(dá)能力,又可減少二次特征融合帶來(lái)的冗余信息,其具體操作是:保留Darknet53下采樣輸出的13×13與26×26的特征圖融合,但在輸出前將DBL通道數(shù)由128增加到256來(lái)增強(qiáng)細(xì)節(jié)特征的提取,更重要的是,如圖1 STL-YOLO_1網(wǎng)絡(luò)架構(gòu)所示,不再將13×13與26×26融合后得到的26×26特征圖再與52×52的特征圖進(jìn)行融合,而是將13×13特征圖直接經(jīng)過(guò)5組1×1和3×3交替卷積后,進(jìn)行4倍上采樣,然后與52×52特征圖進(jìn)行特征融合,如此可進(jìn)一步增強(qiáng)52×52淺層特征圖對(duì)小尺度目標(biāo)的語(yǔ)義表達(dá)能力,并減少因26×26特征圖二次融合給淺層特征圖帶來(lái)的冗余信息,進(jìn)而提升模型對(duì)小目標(biāo)的檢測(cè)能力。
圖1 STL-YOLO_1網(wǎng)絡(luò)架構(gòu)
先驗(yàn)框是YOLOv3針對(duì)不同尺度網(wǎng)絡(luò)層設(shè)定的初始候選框,它對(duì)于YOLOv3后續(xù)的檢測(cè)框提供先驗(yàn)知識(shí),IoU表示為真實(shí)框A與檢測(cè)框B的交并比如式(1),IoU越大,表示二者的相關(guān)度越高,檢測(cè)越準(zhǔn)確,所以,這里采用K-means算法對(duì)交通信號(hào)燈的Ground Truth進(jìn)行聚類以得到尺寸更加合適的新先驗(yàn)框,傳統(tǒng)的K-means聚類以歐氏距離作為分類依據(jù),但設(shè)置K值小的話,相比小邊界框,易造成大邊界框出現(xiàn)更多的誤差,這里使用如式(2)作為距離度量
(1)
distance(box,cluster)=1-IoU(box,cluster)
(2)
式中box為Ground Truth的集合,cluster為邊界框聚類的中心集合。與YOLOv3先驗(yàn)框個(gè)數(shù)保持一致,選取K=9時(shí)的聚類結(jié)果作為新先驗(yàn)框,其聚類結(jié)果如表1所示。第一列為原YOLOv3 先驗(yàn)框的寬高值,第二列為K=9時(shí)的聚類結(jié)果;由于聚類得到的9對(duì)新先驗(yàn)框尺寸過(guò)于集中,不太適應(yīng)交通信號(hào)燈多尺度變化,所以,這里使用一種線性縮放機(jī)制來(lái)離散聚類后的9對(duì)新先驗(yàn)框,以適應(yīng)多尺度交通信號(hào)燈檢測(cè),進(jìn)而提升IoU,具體做法按式(3)~式(6)
(3)
(4)
(5)
(6)
式中w1為最小先驗(yàn)框的寬,w9為最大先驗(yàn)框的寬,h為先驗(yàn)框的高,α與β分別為最小先驗(yàn)框與最大先驗(yàn)框?qū)挼目s放系數(shù),其他7組先驗(yàn)框的寬高均按照式(5)和式(6)進(jìn)行縮放,最終對(duì)聚類得到的9對(duì)先驗(yàn)框按照不同縮放系數(shù)進(jìn)行了6組縮放,縮放結(jié)果如表1后六列所示。
表1 基于K=9聚類和不同縮放系數(shù)得到的先驗(yàn)框
本文基于Windows10系統(tǒng),GPU:RTX 2080,CPU:Intel Core i7—9700k@3.60 GHz,搭建了Python 3.7/Tensorflow 1.13.1深度實(shí)驗(yàn)平臺(tái)。
采用的交通信號(hào)燈樣本來(lái)自Bosch Small Traffic Lights Dataset(BSTLD),其中訓(xùn)練集包含5 093張圖片,涵蓋GreenLeft,RedLeft,Green,Red,Yellow,Off等共15類對(duì)象,測(cè)試集包含8 328張圖片,涉及Green,Red,Yellow和Off 4類對(duì)象,樣本詳細(xì)信息如表2所示。
表2 訓(xùn)練集和測(cè)試集詳細(xì)信息
模型性能測(cè)試主要包括以下幾個(gè)指標(biāo):AP(average precision)衡量訓(xùn)練所得模型對(duì)于BSTLD測(cè)試集中某類樣本C的識(shí)別精度,公式如式(7)所示,mAP(mean average precision)衡量模型對(duì)于測(cè)試集所有類別的平均識(shí)別精度,如式(8)所示,Recall是衡量模型準(zhǔn)確召回Ground Truth的能力,公式如式(9)所示。在測(cè)試過(guò)程中均設(shè)置IoU閾值為0.5,IoU超過(guò)0.5的目標(biāo)檢測(cè)為正例,否則為反例
(7)
(8)
(9)
模型訓(xùn)練前先進(jìn)行調(diào)參,后續(xù)所有模型訓(xùn)練的基礎(chǔ)參數(shù)均按:batch_size為5,epochs為200,val_splite為0.1進(jìn)行設(shè)置;分別對(duì)YOLOv3,STL-YOLO_1, STL-YOLO_2, STL-YOLO模型進(jìn)行單獨(dú)訓(xùn)練。
2.4.1 原YOLOv3模型的測(cè)試結(jié)果
訓(xùn)練好的YOLOv3模型對(duì)各類信號(hào)燈的PR測(cè)試曲線如圖2所示,其中Green燈的AP發(fā)展趨勢(shì)良好,Yellow燈的AP不高,主要原因是Yellow燈訓(xùn)練樣本相對(duì)偏少,Off燈在訓(xùn)練集作為負(fù)樣本參與訓(xùn)練,且測(cè)試集的交通信號(hào)燈均為正常工作狀態(tài),因此,其AP為0;但由表2知,Red燈的訓(xùn)練集并不少,而其AP值僅為0.37左右,最終發(fā)現(xiàn),如圖3中橢圓標(biāo)記樣本所示,BSTLD測(cè)試集制作過(guò)程中添加了大量與Red燈極為相似的車尾燈作為干擾因素,導(dǎo)致了模型檢測(cè)Red燈的魯棒性差,并且如圖4 YOLOv3模型的檢測(cè)結(jié)果所示,其中橢圓圈標(biāo)記的距離更遠(yuǎn)尺寸更小的很多Green燈、Red燈并沒(méi)有被模型檢測(cè)到,充分說(shuō)明了YOLOv3模型對(duì)小尺度交通信號(hào)燈的檢測(cè)能力不足和檢測(cè)魯棒性差的問(wèn)題。
圖2 原YOLOv3模型對(duì)各類信號(hào)燈的PR曲線
圖3 BSTLD的測(cè)試集樣本
圖4 原YOLOv3模型的檢測(cè)結(jié)果
2.4.2 STL-YOLO模型的測(cè)試結(jié)果
采用交叉實(shí)驗(yàn)分別測(cè)試STL-YOLO_1模型, STL-YOLO_2模型,STL-YOLO模型對(duì)各類信號(hào)燈檢測(cè)的mAP和AP值,其測(cè)試結(jié)果如表3所示,可見三種模型相較原YOLOv3模型在檢測(cè)精度上均有提升,其中同時(shí)采用跨越式特征融合和聚類縮放獲取新先驗(yàn)框的STL-YOLO模型表現(xiàn)最好,其PR曲線如圖5所示,相較原YOLOv3模型,其mAP提升約9 %,Green-AP提升5 %,Red-AP提升30 %,并且如圖6所示,STL-YOLO模型準(zhǔn)確檢測(cè)到了先前原YOLOv3模型未檢測(cè)到的小尺度交通信號(hào)燈,驗(yàn)證了同時(shí)采用“跨越式特征融合”和“聚類縮放獲取新先驗(yàn)框”方法的有效性。
表3 四個(gè)模型的檢測(cè)結(jié)果
圖5 STL-YOLO模型的PR曲線
圖6 STL-YOLO模型的檢測(cè)結(jié)果
當(dāng)前檢測(cè)倒計(jì)時(shí)數(shù)字燈的方法較少,并且采用傳統(tǒng)圖像處理提取倒計(jì)時(shí)數(shù)字燈中的數(shù)字易受噪聲干擾等問(wèn)題,本文提出了基于YOLOv3與OCR結(jié)合的方法識(shí)別倒計(jì)時(shí)數(shù)字燈,該方法先采用YOLOv3在COCO數(shù)據(jù)集訓(xùn)練的模型檢測(cè)出倒計(jì)時(shí)數(shù)字燈ROI,然后提取數(shù)字燈ROI中的數(shù)字,最后進(jìn)行OCR識(shí)別,如此可有效濾除噪聲的影響,提高數(shù)字燈識(shí)別的準(zhǔn)確率。
首先調(diào)節(jié)YOLOv3在COCO數(shù)據(jù)集訓(xùn)練的模型,使模型只檢測(cè)交通信號(hào)燈這一類,然后交通信號(hào)燈ROI的提取方法依據(jù)檢測(cè)框的左上角坐標(biāo)和右下角坐標(biāo),如式(10)
xl=bx-bw/2,yl=by-bh/2,
xr=bx+bw/2,yr=by+bh/2
(10)
式中 (bx,by)和(bw,bh)分別為交通信號(hào)燈ROI檢測(cè)框的中心坐標(biāo)和寬高。YOLOv3模型提取到的交通信號(hào)燈ROI如圖7所示,左側(cè)的原圖為自然場(chǎng)景下的交通信號(hào)燈圖片,右側(cè)a,b,c為利用該模型檢測(cè)并提取的三種機(jī)動(dòng)車交通信號(hào)燈ROI,可見三者的寬高尺寸屬性不同,箭頭燈與圓形燈ROI的高與寬之比(h/w)接近于3,而倒計(jì)時(shí)數(shù)字燈ROI高與寬之比接近于1(0.7 圖7 YOLOv3提取的交通信號(hào)燈ROI 提取到倒計(jì)時(shí)數(shù)字燈ROI后,對(duì)ROI-Image依次進(jìn)行圖像反轉(zhuǎn)、RGB三通道分類,RGB轉(zhuǎn)HSV、對(duì)S通道的圖像進(jìn)行二值化、形態(tài)學(xué)開操作、連通域等操作,就可以將倒計(jì)時(shí)數(shù)字燈ROI中的數(shù)字整體提取出來(lái),最后送給OCR進(jìn)行識(shí)別,其識(shí)別效果如圖8所示?;谧灾频陌?00張數(shù)字燈圖像的測(cè)試集進(jìn)行測(cè)試,識(shí)別率達(dá)91 %,每張圖片時(shí)間花費(fèi)約為0.13 s。 圖8 YOLOv3+OCR的識(shí)別結(jié)果 針對(duì)深度模型對(duì)小尺度交通信號(hào)燈檢測(cè)效果差的問(wèn)題,本文基于YOLOv3提出了小尺度交通信號(hào)燈檢測(cè)模型,并采用交叉實(shí)驗(yàn)分別驗(yàn)證單獨(dú)采用“跨越式特征融合方法”、單獨(dú)采用“聚類縮放獲取新先驗(yàn)框方法”以及同時(shí)采用這兩種方法可提升小尺度交通信號(hào)燈檢測(cè)精度的有效性,其中同時(shí)采用這兩種方法的STL-YOLO模型表現(xiàn)最好,相較原YOLOv3模型,其mAP提升約9 %,Green-AP提升5 %,Red-AP提升30 %。最后提出的基于YOLOv3與OCR結(jié)合識(shí)別倒計(jì)時(shí)數(shù)字燈的方法,可有效提取倒計(jì)時(shí)數(shù)字燈ROI,然后提取數(shù)字并利用OCR識(shí)別,在自制數(shù)據(jù)集的識(shí)別精度達(dá)91 %。 下一步準(zhǔn)備對(duì)Darknet—53模型進(jìn)行改進(jìn),使其輸出四種不同尺度的特征圖,使小目標(biāo)特征在更淺層特征圖中得以體現(xiàn),再融合“跨越式特征融合方法”和 “聚類縮放獲取新先驗(yàn)框方法”進(jìn)一步提升對(duì)小尺度交通信號(hào)燈的檢測(cè)精度。3.2 數(shù)字燈中的數(shù)字提取與識(shí)別
4 結(jié) 論