姚子兵
摘要:為了解決復雜場景下交通信號燈的檢測存在檢測精度低的問題,提出一種基于改進Faster R-CNN的交通信號燈檢測算法。首先針對交通信號燈檢測屬于小目標檢測,分析了影響交通信號燈檢測精度的因素,然后對Faster R-CNN目標檢測算法提出二項改進:改進錨設計和采用特征融合,最后在美國LISA交通信號燈檢測數(shù)據(jù)集上進行實驗驗證。實驗結果表明,提出的算法能夠實現(xiàn)復雜場景下交通信號燈的精確檢測。
關鍵詞: 交通信號燈檢測; Faster R-CNN; 錨設計; 特征融合
中圖分類號:TP391.4 文獻標識碼:A
文章編號:1009-3044(2019)11-0274-03
Abstract:In order to solve the low detection accuracy of traffic lights in complex scenes, this paper proposes a traffic light detection algorithm based on improved Faster R-CNN. Firstly, according to the traffic light detection belongs to small target detection, and the factors of affecting the traffic light detection accuracy are analyzed. Secondly, two improvements were proposed for Faster R-CNN target detection algorithm: improves anchor design and uses feature fusion. Finally, the American LISA traffic light detection dataset was used for experimental verification. The experimental results show that the proposed algorithm can accurately detect traffic lights in complex scenes.
Key words:traffic light detection; Faster R-CNN; anchor design; feature fusion
1 引言
交通信號燈的檢測是智能交通系統(tǒng)與無人駕駛領域研究的重要內容,但是在實際場景中,由于周圍環(huán)境的復雜,加大了交通信號燈檢測的難度,造成了檢測的精度達不到實際要求。傳統(tǒng)的交通信號燈檢測方法,通常利用交通信號燈的顏色與形狀特征來提取圖像中交通信號燈的候選區(qū)域,再利用特征提取算法對候選區(qū)域進行特征提取,最后根據(jù)提取到的特征訓練分類器來識別交通信號燈的類別。Omachi M等提出通過對圖像進行RGB色彩空間轉換,然后利用像素的邊緣信息分割出交通信號燈的感興趣區(qū)域,最后利用霍夫變換來識別交通信號燈[1]。最近由于卷積神經(jīng)網(wǎng)絡的成熟應用,目標檢測領域取得了一系列成就?;诰矸e神經(jīng)網(wǎng)絡的目標檢測算法可以使用一個統(tǒng)一的網(wǎng)絡進行端到端的訓練來同時完成目標的檢測與識別。目前涌現(xiàn)出了一批很好的目標檢測算法,例如Faster R-CNN[2]、YOLO[3]、SSD[4]等,這些算法都能夠用來對交通信號燈的檢測進行研究。Julian Müller等就提出使用SSD檢測交通信號燈,通過使用Inception-v3[5]網(wǎng)絡代替VGG16[6]網(wǎng)絡作為基礎網(wǎng)絡,而且針對SSD的先驗框設計提出隨機中心點的先驗框設計策略,該方法取得了不錯的檢測效果[7]。
本文使用Caffe深度學習框架,針對交通信號燈檢測屬于小目標檢測的問題,改進了Faster R-CNN中的錨設計,并且采用了特征融合,最后在美國LISA交通信號燈檢測數(shù)據(jù)集上進行了實驗驗證與結果分析。
2 改進的Faster R-CNN算法
2.1 Faster R-CNN的基本結構
Faster R-CNN目標檢測算法由兩大模塊:Fast R-CNN目標檢測算法和候選區(qū)域生成網(wǎng)絡(Region Proposal Network, RPN)構成,通過共享卷積特征的方式將 RPN 和 Fast R-CNN 統(tǒng)一到一個端到端的網(wǎng)絡中,解決了在提取圖像中目標候選區(qū)域時,需要額外使用選擇性搜索的方法,而消耗大量時間的問題。在具體實現(xiàn)中,F(xiàn)aster R-CNN首先利用特征提取網(wǎng)絡對輸入待測圖像進行特征提取,生成特征圖,接著利用RPN對特征圖進行處理,輸出多種尺度和寬高比的目標候選區(qū)域,然后將特征圖與目標候選區(qū)域輸入到ROI Pooling,輸出固定大小的目標候選區(qū)域特征圖,最后將目標候選區(qū)域特征圖輸入到分類與邊界框回歸網(wǎng)絡對目標進行分類,同時對目標的邊界框進行回歸,如圖1所示為Faster R-CNN的基本結構。從圖中可以看出Faster R-CNN包含三個網(wǎng)絡:特征提取網(wǎng)絡、RPN、分類與邊界框回歸網(wǎng)絡,在特征提取網(wǎng)絡中所使用的能夠共享卷積特征的網(wǎng)絡是VGG16。
2.2 改進的錨設計
Faster R-CNN開始是在PASCAL VOC數(shù)據(jù)集上進行訓練評估,而PASCAL VOC數(shù)據(jù)集中的目標在圖片中的占比較大,因此Faster R-CNN采用三種尺度(128x128、256x256、512x512)和三種寬高比(1:2、1:1、2:1)共9種錨設計,而交通信號燈檢測屬于小目標檢測,交通信號燈在圖片中的占比非常小,因此本文采用縮小尺度的錨設計,即采用尺度為(32x32、64x64、128x128)和寬高比為(1:2、1:1、2:1)共9種錨設計,這樣的錨設計在RPN中才能更好地生成適合目標大小的候選區(qū)域。
2.3 特征融合
采用VGG16網(wǎng)絡作為Faster R-CNN的基礎網(wǎng)絡,當待測圖片輸入到Faster R-CNN的特征提取網(wǎng)絡時會經(jīng)過五個卷積塊(Conv1、Conv2、Conv3、Conv4、Conv5)的特征提取,由于每一個卷積塊后都采用了卷積核大小為2x2,步長為2的最大池化(Max Pooling),因此特征圖的分辨率將不斷減小。對于交通信號燈這樣的小目標而言,在淺層特征圖上具有豐富的邊緣與輪廓等細節(jié)信息,因此特征提取網(wǎng)絡的淺層特征圖有利于檢測交通信號燈,但是淺層特征圖缺乏豐富的語義信息,無法很好地將交通信號燈與背景區(qū)分開,而深層特征圖上具有豐富的語義信息,但是深層特征圖由于分辨率較低,其上保留的小目標的細節(jié)信息很弱。為了兼顧這兩方面的特征,提出將Conv5_3的特征圖經(jīng)過反卷積后得到與Conv4_3相同尺度的特征圖,接著將二者進行特征融合,然后將特征融合后的特征圖Conv45輸入RPN生成目標候選區(qū)域,接著將Conv45特征圖與RPN生成的目標候選區(qū)域一同輸入ROI Pooling得到固定大小的目標候選區(qū)域特征圖,最后將得到的目標候選區(qū)域特征圖輸入Faster R-CNN的分類與邊界框回歸網(wǎng)絡,對交通信號燈進行分類,同時對交通信號燈的邊界框再次進行回歸修正。圖2是改進的Faster R-CNN網(wǎng)絡設計,其中的特征融合模塊設計如圖3所示。
特征融合模塊設計具體流程:在圖3中,先將Conv5_3特征圖進行通道數(shù)為512、卷積核為2x2、步長為2的反卷積操作,得到與Conv4_3特征圖尺度大致一致的特征圖(由于Conv5_3特征圖的尺度為38x63,經(jīng)過反卷積后只能近似得到與Conv4_3特征圖相同的尺度),經(jīng)過ReLU激活操作后,接著進行通道數(shù)為512、卷積核為3x3、步長為1、填充為1的卷積操作,再經(jīng)過ReLU激活操作后,接著進行L2 Normalization(歸一化)操作,而Conv4_3特征圖也進行L2 Normalization(歸一化)操作,然后將Conv5_3這一路的特征圖通過Crop操作裁剪為與Conv4_3這一路的特征圖相同的尺度,最后將兩路特征圖通過Eltwise(PROD)方式進行特征融合,再通過ReLU激活操作后得到特征融合后的Conv45特征圖。
3 實驗結果分析
3.1 交通信號燈檢測數(shù)據(jù)集
LISA交通信號燈檢測數(shù)據(jù)集是美國加州大學圣地亞哥分校智能和安全汽車實驗室發(fā)布的公開數(shù)據(jù)集。選取了該數(shù)據(jù)集中圖片背景是白天的數(shù)據(jù)集,選取的數(shù)據(jù)集經(jīng)篩選后一共包含12755張圖片,圖片大小為960x1280,通道數(shù)為3,圖片中包含的交通信號燈類別有stop、stopLeft、go、goLeft、warning、warningLeft一共6類。為了對本文的算法進行實驗評估,需要將數(shù)據(jù)集進行訓練、驗證、測試樣本劃分,其中訓練驗證樣本7665張圖片,包含訓練樣本5215張圖片,驗證樣本2450張圖片;測試樣本5110張圖片。
3.2 實驗評價指標
本文交通信號燈檢測評價指標采用目標檢測領域常用的平均精確度均值(mean Average Precision, mAP)來衡量。
P-R曲線即是以 Precision 和 Recall 作為縱、橫軸坐標的二維曲線,P-R曲線圍起來的面積就是平均精確度(Average Precision, AP)。在交通信號燈檢測效果衡量中,每一類都可以根據(jù)Precision 和 Recall繪制P-R曲線,從而得到AP值,用來表示某一類的檢測效果,AP值越高,該類檢測效果就越好,而使用的交通信號燈檢測數(shù)據(jù)集總共有六種類別,因此采用平均精確度均值,即mAP值來表示多類別交通信號燈檢測的效果。mAP值是對每個類別的AP值求平均得到的,因此mAP值越高,表示交通信號燈的整體檢測效果越好。
3.3 結果分析
本文所提出的改進算法記為E-Faster R-CNN,表1是利用本文所述數(shù)據(jù)集與評價指標得到的兩種算法的AP值與mAP值,圖4是兩種算法的實際檢測效果圖。
4 結論
本文針對交通信號燈檢測屬于小目標檢測,對Faster R-CNN算法進行改進錨設計和采用特征融合。實驗結果表明本文提出的E-Faster R-CNN算法比Faster R-CNN算法,在交通信號燈各個類別的AP值與整體mAP值上均有很大提高,而且兩種算法的實際檢測效果對比圖也能清晰地表明E-Faster R-CNN算法具有比Faster R-CNN算法更好的檢測性能,能夠實現(xiàn)復雜場景下交通信號燈的精確檢測。
參考文獻:
[1] Omachi M, Omachi S. Traffic light detection with color and edge information[C]. IEEE International Conference on Computer Science and Information Technology, 2009:284-287.
[2] Shaoqing R, Kaiming H. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on pattern analysis and machine intelligence, 2017:1137-1149.
[3] Joseph Redmon, Santosh Divvala, Ross Girshick,et al. You Only Look Once: Unified, Real-Time Object Detection[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2016:779-788 .
[4] Wei Liu, Dragomir Anguelov. SSD: Single Shot MultiBox Detector[C]. The European Conference on Computer Vision (ECCV), 2016:21-37.
[5] Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, et al. Rethinking the Inception Architecture for Computer Vision[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2016:2818-2826.
[6] Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[C].The International Conference of Learning Representation, 2015:1-14.
[7] Müller Julian, Dietmayer K. Detecting Traffic Lights by Single Shot Detection[C]. IEEE International Conference on Intelligent Transportation Systems, 2018:266-273.
【通聯(lián)編輯:代影】