王 莉, 崔帥華, 蘇 波, 宋照肅
(1.河南理工大學 電氣工程與自動化學院,河南 焦作 454003;2.河南省煤礦裝備智能檢測與控制重點實驗室,河南 焦作 454003)
交通信號燈檢測速度和精度的提高,對未來的無人駕駛、智慧交通有著十分重要的意義,一直是國內外研究熱點,主要檢測目標包括機動車前行信號燈(圓形燈)、轉向指示燈(箭頭燈)和倒計時數字燈(簡稱“數字燈”)。Widyantoro D H等人[1]提出使用霍夫變換和顏色識別融合的方法檢測圓燈[1];Rajapaksha R[2]、田謹等人[3]使用模板匹配和顏色識別組合方法檢測箭頭燈[2,3]。隨著深度學習技術的廣泛應用,賈瑞明[4]、Eunseop L等[5]不少學者采用卷積神經網絡(convolutional neural network,CNN)與傳統方法相結合檢測交通信號燈[4~8],如將CNN和HOG提取的特征進行特征融合,最后用支持向量機(support vector machine,SVM)進行分類;基于純CNN目標檢測方法具有檢測速度快的優勢[9~12],當前目標檢測的CNN有單步和兩步之分,兩步網絡有R-CNN,SPP-Net,Fast RCNN,Faster RCNN,RFCN等,單步網絡有YOLO系列,SSD等,在速度上優于兩步網絡,而包括YOLOv3在內的許多深度模型在淺層特征圖易丟失細節特征,對小尺度目標的檢測能力較差。
本文基于YOLOv3進行了改進,采用跨越式特征融合方法,來提升模型對小尺度目標特征的語義能力,減少因中間層過度融合給淺層特征圖帶來的冗余信息;采用K-means算法聚類出適合交通信號燈尺寸的新先驗框,并通過線性縮放機制對新先驗框進行離散以適應多尺度檢測,進而提升IoU。
本文將同時采用上述兩種改進方法的模型稱為STL-YOLO(small traffic light-YOLO),將只采用“跨越式特征融合”的模型稱為STL-YOLO_1,將只采用“聚類與縮放獲取新先驗框”的模型稱為STL-YOLO_2。最后本文提出一種基于YOLOv3與OCR結合的方法實現了對倒計時數字燈的識別。
深度模型提取的淺層特征圖雖然語義級別低,但保留了更多的細節特征,而深層特征圖雖然語義級別高,但易丟失細節特征,因此,特征融合可以增強淺層特征圖的特征描述能力,但同時也會因上采樣操作對融合后的特征圖增加冗余信息;而跨越式特征融合既可增強淺層特征圖的語義表達能力,又可減少二次特征融合帶來的冗余信息,其具體操作是:保留Darknet53下采樣輸出的13×13與26×26的特征圖融合,但在輸出前將DBL通道數由128增加到256來增強細節特征的提取,更重要的是,如圖1 STL-YOLO_1網絡架構所示,不再將13×13與26×26融合后得到的26×26特征圖再與52×52的特征圖進行融合,而是將13×13特征圖直接經過5組1×1和3×3交替卷積后,進行4倍上采樣,然后與52×52特征圖進行特征融合,如此可進一步增強52×52淺層特征圖對小尺度目標的語義表達能力,并減少因26×26特征圖二次融合給淺層特征圖帶來的冗余信息,進而提升模型對小目標的檢測能力。

圖1 STL-YOLO_1網絡架構
先驗框是YOLOv3針對不同尺度網絡層設定的初始候選框,它對于YOLOv3后續的檢測框提供先驗知識,IoU表示為真實框A與檢測框B的交并比如式(1),IoU越大,表示二者的相關度越高,檢測越準確,所以,這里采用K-means算法對交通信號燈的Ground Truth進行聚類以得到尺寸更加合適的新先驗框,傳統的K-means聚類以歐氏距離作為分類依據,但設置K值小的話,相比小邊界框,易造成大邊界框出現更多的誤差,這里使用如式(2)作為距離度量
(1)
distance(box,cluster)=1-IoU(box,cluster)
(2)
式中box為Ground Truth的集合,cluster為邊界框聚類的中心集合。與YOLOv3先驗框個數保持一致,選取K=9時的聚類結果作為新先驗框,其聚類結果如表1所示。第一列為原YOLOv3 先驗框的寬高值,第二列為K=9時的聚類結果;由于聚類得到的9對新先驗框尺寸過于集中,不太適應交通信號燈多尺度變化,所以,這里使用一種線性縮放機制來離散聚類后的9對新先驗框,以適應多尺度交通信號燈檢測,進而提升IoU,具體做法按式(3)~式(6)
(3)
(4)
(5)
(6)
式中w1為最小先驗框的寬,w9為最大先驗框的寬,h為先驗框的高,α與β分別為最小先驗框與最大先驗框寬的縮放系數,其他7組先驗框的寬高均按照式(5)和式(6)進行縮放,最終對聚類得到的9對先驗框按照不同縮放系數進行了6組縮放,縮放結果如表1后六列所示。

表1 基于K=9聚類和不同縮放系數得到的先驗框
本文基于Windows10系統,GPU:RTX 2080,CPU:Intel Core i7—9700k@3.60 GHz,搭建了Python 3.7/Tensorflow 1.13.1深度實驗平臺。
采用的交通信號燈樣本來自Bosch Small Traffic Lights Dataset(BSTLD),其中訓練集包含5 093張圖片,涵蓋GreenLeft,RedLeft,Green,Red,Yellow,Off等共15類對象,測試集包含8 328張圖片,涉及Green,Red,Yellow和Off 4類對象,樣本詳細信息如表2所示。

表2 訓練集和測試集詳細信息
模型性能測試主要包括以下幾個指標:AP(average precision)衡量訓練所得模型對于BSTLD測試集中某類樣本C的識別精度,公式如式(7)所示,mAP(mean average precision)衡量模型對于測試集所有類別的平均識別精度,如式(8)所示,Recall是衡量模型準確召回Ground Truth的能力,公式如式(9)所示。在測試過程中均設置IoU閾值為0.5,IoU超過0.5的目標檢測為正例,否則為反例

(7)
(8)
(9)
模型訓練前先進行調參,后續所有模型訓練的基礎參數均按:batch_size為5,epochs為200,val_splite為0.1進行設置;分別對YOLOv3,STL-YOLO_1, STL-YOLO_2, STL-YOLO模型進行單獨訓練。
2.4.1 原YOLOv3模型的測試結果
訓練好的YOLOv3模型對各類信號燈的PR測試曲線如圖2所示,其中Green燈的AP發展趨勢良好,Yellow燈的AP不高,主要原因是Yellow燈訓練樣本相對偏少,Off燈在訓練集作為負樣本參與訓練,且測試集的交通信號燈均為正常工作狀態,因此,其AP為0;但由表2知,Red燈的訓練集并不少,而其AP值僅為0.37左右,最終發現,如圖3中橢圓標記樣本所示,BSTLD測試集制作過程中添加了大量與Red燈極為相似的車尾燈作為干擾因素,導致了模型檢測Red燈的魯棒性差,并且如圖4 YOLOv3模型的檢測結果所示,其中橢圓圈標記的距離更遠尺寸更小的很多Green燈、Red燈并沒有被模型檢測到,充分說明了YOLOv3模型對小尺度交通信號燈的檢測能力不足和檢測魯棒性差的問題。

圖2 原YOLOv3模型對各類信號燈的PR曲線

圖3 BSTLD的測試集樣本

圖4 原YOLOv3模型的檢測結果
2.4.2 STL-YOLO模型的測試結果
采用交叉實驗分別測試STL-YOLO_1模型, STL-YOLO_2模型,STL-YOLO模型對各類信號燈檢測的mAP和AP值,其測試結果如表3所示,可見三種模型相較原YOLOv3模型在檢測精度上均有提升,其中同時采用跨越式特征融合和聚類縮放獲取新先驗框的STL-YOLO模型表現最好,其PR曲線如圖5所示,相較原YOLOv3模型,其mAP提升約9 %,Green-AP提升5 %,Red-AP提升30 %,并且如圖6所示,STL-YOLO模型準確檢測到了先前原YOLOv3模型未檢測到的小尺度交通信號燈,驗證了同時采用“跨越式特征融合”和“聚類縮放獲取新先驗框”方法的有效性。

表3 四個模型的檢測結果

圖5 STL-YOLO模型的PR曲線

圖6 STL-YOLO模型的檢測結果
當前檢測倒計時數字燈的方法較少,并且采用傳統圖像處理提取倒計時數字燈中的數字易受噪聲干擾等問題,本文提出了基于YOLOv3與OCR結合的方法識別倒計時數字燈,該方法先采用YOLOv3在COCO數據集訓練的模型檢測出倒計時數字燈ROI,然后提取數字燈ROI中的數字,最后進行OCR識別,如此可有效濾除噪聲的影響,提高數字燈識別的準確率。
首先調節YOLOv3在COCO數據集訓練的模型,使模型只檢測交通信號燈這一類,然后交通信號燈ROI的提取方法依據檢測框的左上角坐標和右下角坐標,如式(10)
xl=bx-bw/2,yl=by-bh/2,
xr=bx+bw/2,yr=by+bh/2
(10)
式中 (bx,by)和(bw,bh)分別為交通信號燈ROI檢測框的中心坐標和寬高。YOLOv3模型提取到的交通信號燈ROI如圖7所示,左側的原圖為自然場景下的交通信號燈圖片,右側a,b,c為利用該模型檢測并提取的三種機動車交通信號燈ROI,可見三者的寬高尺寸屬性不同,箭頭燈與圓形燈ROI的高與寬之比(h/w)接近于3,而倒計時數字燈ROI高與寬之比接近于1(0.7 圖7 YOLOv3提取的交通信號燈ROI 提取到倒計時數字燈ROI后,對ROI-Image依次進行圖像反轉、RGB三通道分類,RGB轉HSV、對S通道的圖像進行二值化、形態學開操作、連通域等操作,就可以將倒計時數字燈ROI中的數字整體提取出來,最后送給OCR進行識別,其識別效果如圖8所示?;谧灾频陌?00張數字燈圖像的測試集進行測試,識別率達91 %,每張圖片時間花費約為0.13 s。 圖8 YOLOv3+OCR的識別結果 針對深度模型對小尺度交通信號燈檢測效果差的問題,本文基于YOLOv3提出了小尺度交通信號燈檢測模型,并采用交叉實驗分別驗證單獨采用“跨越式特征融合方法”、單獨采用“聚類縮放獲取新先驗框方法”以及同時采用這兩種方法可提升小尺度交通信號燈檢測精度的有效性,其中同時采用這兩種方法的STL-YOLO模型表現最好,相較原YOLOv3模型,其mAP提升約9 %,Green-AP提升5 %,Red-AP提升30 %。最后提出的基于YOLOv3與OCR結合識別倒計時數字燈的方法,可有效提取倒計時數字燈ROI,然后提取數字并利用OCR識別,在自制數據集的識別精度達91 %。 下一步準備對Darknet—53模型進行改進,使其輸出四種不同尺度的特征圖,使小目標特征在更淺層特征圖中得以體現,再融合“跨越式特征融合方法”和 “聚類縮放獲取新先驗框方法”進一步提升對小尺度交通信號燈的檢測精度。
3.2 數字燈中的數字提取與識別

4 結 論