潘衛(wèi)國(guó), 陳英昊, 劉 博, 石洪麗
(1.北京聯(lián)合大學(xué) 北京市信息服務(wù)工程重點(diǎn)實(shí)驗(yàn)室,北京100101;2.北京聯(lián)合大學(xué) 機(jī)器人學(xué)院,北京 100027; 3.北京聯(lián)合大學(xué) 應(yīng)用科技學(xué)院,北京 100101)
交通信號(hào)燈檢測(cè)和識(shí)別是無(wú)人駕駛和輔助駕駛領(lǐng)域的重要研究?jī)?nèi)容,能夠輔助司機(jī),避免在通過(guò)路口時(shí),由于交通信號(hào)燈判斷失誤導(dǎo)致的交通事故,提升駕駛的安全性。然而復(fù)雜的自然場(chǎng)景增加了識(shí)別算法的難度。
交通信號(hào)燈最顯著的特征是顏色和幾何形態(tài),此外還有空間位置和結(jié)構(gòu)特征。很多研究集中在如何結(jié)合這些特征來(lái)實(shí)現(xiàn)信號(hào)燈的檢測(cè)與識(shí)別。Yelal M R[1]提出了一種圓形交通信號(hào)燈檢測(cè)算法,僅能檢測(cè)圓形信號(hào)燈,且容易受背景干擾。 Chen Z L[2]通過(guò)顏色提取和斑點(diǎn)檢測(cè)來(lái)定位候選區(qū)域,再通過(guò)預(yù)訓(xùn)練的主成分分析(PCA)網(wǎng)絡(luò)進(jìn)行多分類(lèi),并應(yīng)用跟蹤算法防止目標(biāo)丟失。Soetedjo A[3]提出的方法通過(guò)設(shè)置閾值,分割得到紅色信號(hào)燈的位置;Shen Y[4]提出利用高斯分布,構(gòu)建色調(diào)訓(xùn)練三色參數(shù),再分割獲得交通信號(hào)燈的顏色狀態(tài)信息;Omachi M[5]通過(guò)色彩分割,再提取邊緣,再霍夫圓變換檢測(cè)出交通信號(hào)燈,局限于圓形水平排列交通信號(hào)燈;Wang Z[6]提出了基于PCA+EDA的方式提取交通信號(hào)燈特征,再邊緣分割檢測(cè)出交通信號(hào)燈;曾玉龍[7]將RGB圖像轉(zhuǎn)換到S通道下,利用極大值穩(wěn)定區(qū)域的方法進(jìn)行檢測(cè)交通信號(hào)燈候選區(qū);Guan H[8]等人利用了基于YUV顏色空間對(duì)圓形交通信號(hào)燈的特征進(jìn)行識(shí)別。這一類(lèi)方法經(jīng)常會(huì)受到光照和環(huán)境的干擾。
另一類(lèi)方法為融合全球定位系統(tǒng)(GPS)和先驗(yàn)地圖的信號(hào)燈檢測(cè)識(shí)別,此類(lèi)方法需要預(yù)先采集城市道路視頻數(shù)據(jù),在視頻圖像中標(biāo)記出信號(hào)燈的準(zhǔn)確位置,并繪制先驗(yàn)地圖;在實(shí)時(shí)階段,根據(jù)GPS和先驗(yàn)地圖,計(jì)算出信號(hào)燈在圖像中的準(zhǔn)確位置,以提高檢測(cè)的準(zhǔn)確性。此類(lèi)方法需要提前采集數(shù)據(jù)和繪制先驗(yàn)地圖,前期工作量大,且當(dāng)GPS定位不準(zhǔn)確或車(chē)輛偏離正常路線(xiàn)時(shí)會(huì)降低檢測(cè)準(zhǔn)確率。
目前,深度學(xué)習(xí)理論被廣泛應(yīng)用于圖像識(shí)別和目標(biāo)檢測(cè)領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò) (convolutional neural network,CNN)[9]可以在不進(jìn)行預(yù)處理的情況下從大量樣本中學(xué)習(xí)特征,不僅避免了特征的設(shè)計(jì)難度,而且可以訓(xùn)練更多的特征。常見(jiàn)的目標(biāo)檢測(cè)算法有Yolo[10],SSD[11],R-CNN[12],Fast RCNN[13],Faster-RCNN[14,15]等。其中基于R-CNN方法最具代表性的就是Faster RCNN算法,根據(jù)RPN網(wǎng)絡(luò)產(chǎn)生候選區(qū)域,再對(duì)候選區(qū)域進(jìn)行分類(lèi),這種方法是屬于Two-Stage;Yolo算法在速度上有著明顯的優(yōu)勢(shì),但是準(zhǔn)確率偏低,SSD在檢測(cè)速度有一定損失,但在準(zhǔn)確率上有一定程度的提升,該類(lèi)方法都是在產(chǎn)生候選區(qū)域的基礎(chǔ)上進(jìn)行分類(lèi)和回歸,屬于One-Stage方法,相比Two-Stage具有更高的檢測(cè)速度。
本文采用基于Faster-RCNN的方法實(shí)現(xiàn)對(duì)路口交通信號(hào)燈的準(zhǔn)確檢測(cè)識(shí)別。
Faster RCNN相比Fast RCNN消除了選擇性搜索算法,且添加了區(qū)域提議網(wǎng)絡(luò),再使用感興趣區(qū)域(region of interest,ROI)池化層對(duì)預(yù)測(cè)的區(qū)域提議重新整型為固定大小,最后使用該池化層區(qū)域內(nèi)的圖像進(jìn)行分類(lèi)和邊框回歸,提升了檢測(cè)速度。
Faster-RCNN將目標(biāo)檢測(cè)的4個(gè)個(gè)基本步驟:候選區(qū)域生成、特征提取、分類(lèi)和位置修正統(tǒng)一到一個(gè)深度網(wǎng)絡(luò)框架之內(nèi)如圖1所示。首先對(duì)輸入任意尺寸大小的交通場(chǎng)景圖像進(jìn)行卷積特征提取,然后通過(guò)區(qū)域建議網(wǎng)絡(luò)中滑動(dòng)窗口機(jī)制得到區(qū)域建議以及區(qū)域得分,對(duì)于區(qū)域得分采用非極大抑制算法輸出前N個(gè)得分的區(qū)域建議,然后將其輸入到RoI池化層,通過(guò)該層得到區(qū)域建議特征,最后將其輸入到全連接層后輸出區(qū)域的分類(lèi)得分以及區(qū)域位置。
特征提取:在圖像特征的提取上,CNN有著極其優(yōu)越的特性,它的權(quán)值共享網(wǎng)絡(luò)結(jié)構(gòu)使之更類(lèi)似于生物神經(jīng)網(wǎng)絡(luò),降低了網(wǎng)絡(luò)模型的復(fù)雜度,減少了權(quán)值的數(shù)量。
圖1 Faster RCNN結(jié)構(gòu)
區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN),是一個(gè)全卷積網(wǎng)絡(luò),用于生成高質(zhì)量的區(qū)域建議框。它和檢測(cè)網(wǎng)絡(luò)共享全圖的卷積特征,解決了原來(lái)的選擇性搜索方法的速度瓶頸,大大提高了目標(biāo)檢測(cè)速度。RPN的結(jié)構(gòu)如下圖2所示。
圖2 RPN
用一個(gè)滑動(dòng)窗口在一個(gè)卷積特征圖上進(jìn)行滑動(dòng),滑動(dòng)操作獲得一個(gè)向量后,將這個(gè)向量送入到兩個(gè)平行的全連接層: 分類(lèi)層和位置回歸層以得到分類(lèi)信息和位置信息。每個(gè)滑動(dòng)窗口的中心,對(duì)應(yīng)k個(gè)anchor。每個(gè)anchor對(duì)應(yīng)一種尺寸和長(zhǎng)寬比。相應(yīng)地在每一滑動(dòng)窗口的位置,同時(shí)給出預(yù)測(cè)的候選域,位置回歸層輸出候選域的坐標(biāo)編碼; 分類(lèi)層輸出每個(gè)候選域是目標(biāo)/非目標(biāo)的概率。
目標(biāo)識(shí)別:使用區(qū)域建議網(wǎng)絡(luò)生成建議區(qū)域之后,F(xiàn)aster-RCNN 使用 Fast-RCNN 進(jìn)行檢測(cè)分類(lèi)。
不同的特征提取網(wǎng)絡(luò)對(duì)最終的檢測(cè)效果也會(huì)有所影響;比較常用到的VGG16網(wǎng)絡(luò)有13個(gè)卷積層,每個(gè)卷積層的卷積核大小均為3×3,卷積步長(zhǎng)為1,卷積核個(gè)數(shù)從最初的64依次增長(zhǎng)到128,256,512,池化層卷積核大小為2×2,步長(zhǎng)為2。ResNet主要思想是在標(biāo)準(zhǔn)的前饋神經(jīng)網(wǎng)絡(luò)上,加一個(gè)跳躍繞過(guò)一些層的連接,每繞過(guò)一層就產(chǎn)生一個(gè)殘差塊,解決了增加深度帶來(lái)的退化問(wèn)題,能夠通過(guò)單純地增加網(wǎng)絡(luò)深度來(lái)提高網(wǎng)絡(luò)性能。本文將基于Faster RCNN結(jié)合不同的特征提取模型實(shí)現(xiàn)對(duì)交通信號(hào)燈的檢測(cè)識(shí)別。
本文實(shí)驗(yàn)的計(jì)算機(jī)配置為:CPU E5—2670v2,顯卡Gtx1070Ti,內(nèi)存32 G,操作系統(tǒng)為Ubuntu16.04。同時(shí)也在智能車(chē)實(shí)驗(yàn)平臺(tái)上進(jìn)行了驗(yàn)證,智能車(chē)實(shí)驗(yàn)平臺(tái)如下圖所示,車(chē)輛配有:GPS,16線(xiàn)激光雷達(dá),前視攝像頭和慣性導(dǎo)航等設(shè)備如圖3所示。
圖3 數(shù)據(jù)樣例及類(lèi)別
國(guó)內(nèi)外關(guān)于交通信號(hào)燈的數(shù)據(jù)集比較少,各地的交通信號(hào)燈差異較大;從表1中可以看出:目前國(guó)外的數(shù)據(jù)集因?yàn)榇嬖谥赜虻牟町悾荒軌蛑苯佑糜谟?xùn)練模型;國(guó)內(nèi)的數(shù)據(jù)集或是未公開(kāi),或是僅提供在線(xiàn)使用不能下載,鑒于此本文的數(shù)據(jù)來(lái)源為通過(guò)標(biāo)注采集的交通場(chǎng)景圖像獲取。
表1 交通信號(hào)燈數(shù)據(jù)集
采集的地點(diǎn)城市包括;北京、天津、上海、蘇州、常熟、深圳、重慶等地;包含不同天氣,不同時(shí)間,不同季節(jié)的交通場(chǎng)景數(shù)據(jù)如圖4所示。對(duì)于采集的數(shù)據(jù)進(jìn)行標(biāo)注,標(biāo)注的類(lèi)別為箭頭和圓形交通信號(hào)燈如圖3所示;圓形信號(hào)燈三類(lèi),左轉(zhuǎn)箭頭信號(hào)燈三類(lèi),直行箭頭信號(hào)燈三類(lèi),右轉(zhuǎn)箭頭信號(hào)燈三類(lèi),共12類(lèi)。標(biāo)注過(guò)程中對(duì)于圖像中信號(hào)燈目標(biāo)區(qū)域小于10像素×10像素的不予標(biāo)注。
在采集的這些數(shù)據(jù)集中目前已經(jīng)標(biāo)注并應(yīng)用于本文實(shí)驗(yàn)的數(shù)據(jù)為9 700張圖像,其中,隨機(jī)抽取8 700張圖像作為訓(xùn)練集,1 000張圖像作為測(cè)試集。
實(shí)驗(yàn)過(guò)程中特征提取網(wǎng)絡(luò)分別選用VGG16,Resnet50和Resnet101,在不同的迭代次數(shù)下進(jìn)行效果的比對(duì)。對(duì)比指標(biāo)分別是準(zhǔn)確率、召回率、平均精度均值和F1。準(zhǔn)確率PRECISION=TP/(TP+FP);召回率RECALL=TP/(TP+FN)。其中,TP為指正樣本被正確識(shí)別為正樣本;TN為負(fù)樣本被正確識(shí)別為負(fù)樣本,F(xiàn)P為假的正樣本,即負(fù)樣本被錯(cuò)誤識(shí)別為正樣本;FN為假的負(fù)樣本,即正樣本被錯(cuò)誤識(shí)別為負(fù)樣本。F1=2×(PRECISION×RECALL)/(PRECISION+RECALL)。
用來(lái)衡量二分類(lèi)模型精確度的一種指標(biāo),值越大說(shuō)明模型越好。
表2中對(duì)比了分別使用三種特征提取網(wǎng)絡(luò)下準(zhǔn)確率,召回率和F1,從表中可以看出,在當(dāng)前規(guī)模的數(shù)據(jù)量訓(xùn)練下,ResNet50網(wǎng)絡(luò)在準(zhǔn)確率,召回率和F1三方面都要優(yōu)于其他兩個(gè)特征提取網(wǎng)絡(luò)。
表2 數(shù)據(jù)集實(shí)驗(yàn)結(jié)果 %
表3給出了分別使用三種不同特征提取網(wǎng)絡(luò)下處理單幀圖像所需的時(shí)間,從表中可以看出使用VGG16特征提取網(wǎng)絡(luò)的方法處理速度最快,隨著層數(shù)的增加RES101網(wǎng)絡(luò)處理的速度最慢。這符合正常的預(yù)期,因?yàn)閷訑?shù)越多模型越復(fù)雜,處理時(shí)間越長(zhǎng)。
表3 三種算法的單張時(shí)間和FPS
圖4基于Faster RCNN框架下分別使用VGG16,ResNet50和ResNet—101三種不同的特征提取網(wǎng)絡(luò)在不同迭代次數(shù)下網(wǎng)絡(luò)模型的準(zhǔn)確率情況,從表中可以看出整體的準(zhǔn)確率情況為在使用ResNet50特征提取網(wǎng)絡(luò)下達(dá)到的。
綜合上述實(shí)驗(yàn),可以看出在現(xiàn)有訓(xùn)練數(shù)據(jù)下,基于Faster-RCNN框架(ResNet50)的交通信號(hào)燈識(shí)別方法能夠達(dá)到最優(yōu)的效果,ResNet101網(wǎng)絡(luò)盡管比ResNet50層數(shù)增加了,但是在現(xiàn)有規(guī)模數(shù)據(jù)集下,效果還不明顯,需要更大規(guī)模的數(shù)據(jù)訓(xùn)練以提升模型的性能。
圖4 mAP對(duì)比
在實(shí)際的智能車(chē)平臺(tái)驗(yàn)證過(guò)程中,ResNet50選為特征提取網(wǎng)絡(luò),實(shí)現(xiàn)基于Faster-RCNN的交通信號(hào)燈路口識(shí)別,圖5為在實(shí)際交通場(chǎng)景中智能車(chē)在路口對(duì)于交通信號(hào)燈的識(shí)別效果圖。
圖5 檢測(cè)結(jié)果效果
本文基于Faster RCNN框架實(shí)現(xiàn)交通信號(hào)燈檢測(cè)與識(shí)別,分別對(duì)比了不同特征提取網(wǎng)絡(luò)下目標(biāo)檢測(cè)識(shí)別的效果,在基本參數(shù)相同的情況下,根據(jù)實(shí)驗(yàn)選取了最優(yōu)的網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),并通過(guò)智能駕駛實(shí)驗(yàn)平臺(tái)在真實(shí)的交通場(chǎng)景中驗(yàn)證了本文所提出方法的有效性。下一步將繼續(xù)擴(kuò)充標(biāo)注數(shù)據(jù)的規(guī)模,充實(shí)樣本的多樣性以提升模型的性能。