摘 要:文章提出了一種基于Faster R-CNN的交通標志檢測方法。首先,通過采集公路兩側(cè)交通標志的圖像建立數(shù)據(jù)集;其次,使用預訓練的VGG16對Faster R-CNN模型的相應參數(shù)進行初始化;最后,對Faster R-CNN模型進行訓練。實驗表明,其mAP可達81.21%,可以滿足實際需求。
關(guān)鍵詞:Faster R-CNN;VGG16;交通標志檢測
伴隨著經(jīng)濟的發(fā)展,汽車的普及率也在逐漸提高,人們越來越關(guān)注汽車駕駛的安全性和舒適性。汽車輔助駕駛技術(shù)可在一定程度上提高汽車駕駛的安全性和舒適性,其中,對交通標志進行檢測的技術(shù)是輔助駕駛技術(shù)的一個重要組成部分,可以在檢測到交通標志時及時提醒駕駛員,降低違規(guī)率、提高汽車行駛安全性,同時也可在一定程度上減輕駕駛員的疲勞。
目前對物體進行檢測的方法中,檢測精度最高的是基于兩階段法所提出的方案,較為常用的是Fast R-CNN[1]和Faster R-CNN[2],是在Fast R-CNN的基礎(chǔ)上改進而來的。相對于Fast R-CNN而言,F(xiàn)aster R-CNN不僅有更高的檢測精度,而且擁有更快的檢測速度。本文選用Faster R-CNN來對交通標志進行檢測,并重新確定了超參數(shù),以更好地在交通標志數(shù)據(jù)集上訓練Faster R-CNN模型。
1 試驗數(shù)據(jù)
1.1 數(shù)據(jù)采集
本文的交通標志數(shù)據(jù)于2019年6—8月采集自太谷縣及其周邊市縣的公路。用紅米note7手機作為采集設(shè)備,從不同車道和距離對交通標志進行采集,所獲得的原始圖像分辨率為4 000×3 000像素。圖像數(shù)據(jù)中包含不同光照強度以及不同天氣下的交通標志圖像。
1.2 數(shù)據(jù)集建立
本次試驗共采集交通標志圖像5 997張,其中,單個警告標志701張、單個禁令標志636張、單個指示標志791張、單個指路標志737張、單個其他標志529張以及多個標志混合2 603張。為便于后期模型的訓練,需減小圖像的像素,將圖像縮放為800×600像素。利用LabelImg來標注圖像中交通標志的位置和所屬的類別,最后從圖像中隨機抽取1 199張作為測試集用以對訓練后的Faster-RCNN進行客觀評測。
2 檢測方法
2.1 Faster R-CNN模型
Faster R-CNN由特征提取網(wǎng)絡(luò)、區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network,RPN)和RoI Head(region of interests Head)3部分構(gòu)成。
特征提取可由諸如VGG[3],Resnet和Inception等圖像分類網(wǎng)絡(luò)來實現(xiàn),本文選用VGG16作為圖像的特征提取網(wǎng)絡(luò)。VGG16有13個卷積層,5個池化層,3個全連接層,使用其第一層至最后一個卷積層所構(gòu)成的網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò),即Faster R-CNN的特征提取網(wǎng)絡(luò)。另外,經(jīng)預訓練的VGG16的前兩個全連接層可用于對RoI Head中的前兩個全連接層進行參數(shù)初始化。
RPN包含一個3×3卷積和兩個1×1卷積,其中一個1×1卷積用來判斷錨框區(qū)域是否為前景,另一個1×1卷積用來對錨框的位置進行回歸。判斷時先選取與每個真實邊框交并比最大的錨框作為正樣本,然后隨機抽取交并比大于0.7的錨框作為正樣本,同時隨機抽取交并比小于0.3的作為負樣本,保證正負樣本數(shù)量都為128個,最后計算損失并訓練。RPN除完成自我訓練外還需輸出感興趣區(qū)域(Region of Interests,RoIs)。本文的具體做法為對10 000個最有可能包含前景的錨框進行位置回歸,使用非極大值抑制法得到1 000個候選框輸出給RoI Head。
RoI Head從1 000個候選框中隨機抽取不超過32個與真實邊框交并比大于0.5的候選框作為正樣本,然后隨機抽取與真實邊框交并比在0.1~0.5之間的候選框作為負樣本,要求正負樣本數(shù)量總共為128個,之后對這128個候選框所對應的特征圖區(qū)域進行池化操作,使其尺寸全部池化為7×7,以便后續(xù)使用全連接層。本文的Faster R-CNN最后兩個全連接層為FC6和FC24,F(xiàn)C6輸出候選框?qū)獏^(qū)域所屬的類別,F(xiàn)C24輸出候選框的回歸參數(shù)。
2.2 錨框
本文中特征提取網(wǎng)絡(luò)輸出的特征圖每個點分別對應9種錨框,映射到原圖的像素大小分別為128×128,90×181,181×90,256×256,181×362,362×181,512×512,724×362和362×724像素。對于800×600像素的數(shù)據(jù)集圖像,每幅圖像生成的錨框數(shù)為16 650個。
3 實驗
3.1 訓練設(shè)置
本文使用遷移學習來訓練Faster R-CNN模型,首先,使用在ImageNet數(shù)據(jù)集上預訓練的VGG16網(wǎng)絡(luò)參數(shù)初始化Faster R-CNN的相應參數(shù),并對參與訓練的圖像進行數(shù)據(jù)增強,訓練前設(shè)置一幅圖像為一個批次,初始學習率為0.000 3,分別在迭代至1 200 000次和1 600 000次時將學習率乘以0.1,優(yōu)化器采用隨機梯度下降算法(Stochastic Gradient Descent,SGD),動量設(shè)為0.9。
3.2 識別結(jié)果
使用測試集對經(jīng)訓練的Faster R-CNN模型進行測試,最終測得該模型的mAP可達81.21%,在測試集中檢測的部分結(jié)果如圖1所示,其中,war_s為警告標志(warning sign),pro_s為禁令標志(prohibitory sign),man_s為指示標志(mandatory sign),gui_s為指路標志(guide sign),res_s為其他標志(residual sign),由圖1可知,本文所提出的檢測模型能對交通標志進行準確而有效的檢測。
4 結(jié)語
本文以交通標志為研究對象,提出了基于Faster R-CNN的交通標志檢測模型。該模型利用VGG16網(wǎng)絡(luò)實現(xiàn)對交通標志圖像的特征提取,最后依靠Faster R-CNN中的RPN和RoI Head完成對交通標志的檢測。該模型的mAP可達81.21%,滿足輔助駕駛系統(tǒng)對交通標志檢測任務的要求,另外,可用于交通監(jiān)控、道路網(wǎng)絡(luò)的維護和交通場景分析等實際領(lǐng)域。
作者簡介:王銘杰(1986— ),男,山西長治人,講師,碩士;研究方向:機器學習。
[參考文獻]
[1]GIRSHICK R.Fast R-CNN[C].Washington:The 2015 IEEE Conference on Computer Vision and Pattern Recognition,2015.
[2]REN S,HE K,GIRSHICK R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2017(6):1137-1149.
[3]SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for Large-Scale image recognition[J].Computer Science,2014(5):1409-1556.
Traffic sign detection method based on Faster R-CNN
Wang Mingjie
(College of Information Science and Engineering, Shanxi Agricultural University, Taigu 030801, China)
Abstract:In this paper, a method based on Faster R-CNN for traffic sign detection is proposed. First, the data set is established by collecting the images of traffic signs on both sides of the highway, then the corresponding parameters of the Faster R-CNN model are initialized with the pre-trained VGG16, and finally the Faster R-CNN model is trained. The test shows that the mAP can reach 81.21%, which can meet the actual demand.
Key words:Faster R-CNN; VGG16; traffic sign detection