邵麗萍 魏相站 李春紅 唐志英 白忠臣 張正平
摘要:隨著汽車數(shù)量與日俱增,交通事故的發(fā)生頻次也在增加,針對車輛類型和行人的檢測問題,本文在原始Faster RCNN的基礎(chǔ)上,首先使用殘差網(wǎng)絡(luò)RES101代替?zhèn)鹘y(tǒng)的VGG16網(wǎng)絡(luò)作為共享卷積層,進(jìn)行圖像特征的提取,然后改變原來的錨框尺寸方案,使用錨框尺寸為4、8、16代替原來錨框尺寸,得到行人及車輛類型檢測模型。通過在KITTI測試集上的測試結(jié)果表明,使用本文模型平均檢測準(zhǔn)確率可達(dá)86.5%, 相比原始Faster RCNN平均準(zhǔn)確率提高了3.65%,相比于使用殘差網(wǎng)絡(luò)RES101作為卷積層的Faster RCNN平均準(zhǔn)確率提高了2.06%。
關(guān)鍵詞: Faster RCNN; 殘差網(wǎng)絡(luò); 特征提取; 錨框選區(qū)
【Abstract】 With the increasing number of vehicles and frequent traffic accidents, aiming at the detection of pedestrians and vehicle types, based on the original Faster RCNN, firstly, the residual network RES101 is used instead of the traditional VGG16 network as the shared convolutional layer to extract the image features. Then, the original anchor frame size scheme is changed, and the size of the anchor frame is 4, 8 and 16 instead of the size of the original anchor frame, and the pedestrian and vehicle type detection model are obtained. The test results on the KITTI test set show that the average detection accuracy of the proposed model is 86.5%, 3.65% higher than the original Faster RCNN, and 2.06% higher than the original Faster RCNN using residual network RES101 as the convolutional layer.
【Key words】 ?Faster RCNN; residual network; feature extraction; anchor frame selection
0 引 言
目前,隨著城市汽車數(shù)量的增多,道路交通流量在不斷地增加,對汽車駕駛的安全性也提出了更高的要求。而自動駕駛作為汽車輔助駕駛的系統(tǒng),能夠確保汽車在行駛途中的安全,現(xiàn)已成為當(dāng)下的熱門實(shí)用研發(fā)技術(shù)之一。自動駕駛的主要技術(shù)分為行人檢測、碰撞檢測及夜視輔助等,而碰撞檢測與行人檢測的實(shí)現(xiàn)依賴于計(jì)算機(jī)視覺技術(shù)中的圖像識別技術(shù)對汽車行駛途中的車輛和行人進(jìn)行識別。在汽車行駛過程中,計(jì)算機(jī)只能識別到目標(biāo)圖像的RGB像素矩陣,為了得到較好的識別效果,本次研究中使用了Faster RCNN[1-2]算法對汽車行駛路線中的車輛和行人進(jìn)行識別[2-4]。基于此,文中提出了一種改進(jìn)Faster RCNN的目標(biāo)檢測方法,使用ResNet-101深度殘差網(wǎng)絡(luò)代替?zhèn)鹘y(tǒng)的VGG16網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),并且調(diào)整錨框尺寸大小來提高檢測的準(zhǔn)確率,最后在KITTI數(shù)據(jù)集上進(jìn)行測試。
1 Faster RCNN模型簡介
1.1 Faster RCNN結(jié)構(gòu)
為了使檢測算法能夠?qū)囕v類型進(jìn)行快速有效地定位和檢測,使用ResNet-101代替?zhèn)鹘y(tǒng)的VGG16作為共享卷積層,并且對區(qū)域建議網(wǎng)絡(luò)中最終生成的感興趣區(qū)域數(shù)量進(jìn)行調(diào)整,使算法在保證準(zhǔn)確率的基礎(chǔ)上進(jìn)一步提高檢測速度。模型整體結(jié)構(gòu)如圖1所示。由圖1可知,該模型結(jié)構(gòu)中的各主要部分的功能描述具體如下:對數(shù)據(jù)集圖像進(jìn)行特征提取生成特征圖;使用RPN區(qū)域來調(diào)整候選框并得到調(diào)整好的候選框;通過ROI池化層得到固定大小的興趣區(qū)域;送入全連接層和softmax[5]計(jì)算求得每個(gè)候選框的所屬類別,輸出類別的得分;同時(shí)再次利用框回歸獲得每個(gè)候選區(qū)相對實(shí)際位置的偏移量預(yù)測值,用于對候選框進(jìn)行修正,得到更精確的目標(biāo)檢測框。
1.2 RPN網(wǎng)絡(luò)
RPN網(wǎng)絡(luò)是Faster R-CNN的核心,是一種全卷積網(wǎng)絡(luò),用來對目標(biāo)檢測網(wǎng)絡(luò)進(jìn)行選擇性搜索。經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取的特征圖輸入到RPN網(wǎng)絡(luò),先進(jìn)行一次3*3的卷積運(yùn)算,再分別進(jìn)行2次1*1的卷積運(yùn)算。其中,一個(gè)是計(jì)算檢測區(qū)域是前景或背景的概率,用來給softmax層進(jìn)行前景或背景分類;另一個(gè)是用于給候選區(qū)域精確定位[6]。RPN網(wǎng)絡(luò)使用滑動窗口,可同時(shí)預(yù)測多個(gè)候選區(qū),滑動每一個(gè)滑動窗口后都會產(chǎn)生一個(gè)特征向量,將產(chǎn)生的特征向量傳送到全連接層即可判斷檢測目標(biāo)的位置和類別[7]。RPN網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示,RPN網(wǎng)絡(luò)共有K個(gè)錨框、K個(gè)區(qū)域建議框、2K個(gè)對應(yīng)分類層輸出及4K個(gè)對應(yīng)回歸層輸出,其中的分類層輸出用來指示非目標(biāo)與目標(biāo)的概率,回歸層輸出用來標(biāo)注區(qū)域建議框的位置。
2 改進(jìn)部分
2.1 錨框尺寸調(diào)整
由于車輛類型和人的檢測受建筑物和樹木遮擋等的影響,導(dǎo)致車輛和人的顯示尺寸差異比較大,其長寬比也是復(fù)雜多樣。原始的Faster RCNN模型包含9種錨框,其長寬比分別為0.5,1,2,尺寸分別為8,16,32。如果按照原始Faster RCNN模型的錨框方案,輸入圖像在經(jīng)過池化后,特征圖中的各點(diǎn)對應(yīng)的感受野尺寸為 16×16。使用最小尺度映射的錨框尺寸都達(dá)到128,而實(shí)際中存在一些距離較遠(yuǎn)的行人以及車輛,進(jìn)而其占有的尺寸也比較小,由于這些較小尺寸的目標(biāo)在測試時(shí)可能會出現(xiàn)一定的定位偏差,進(jìn)而造成檢測錯(cuò)誤,準(zhǔn)確率也會隨之降低。因此,根據(jù)人和車輛尺寸差異比較大、長寬比更加復(fù)雜多樣的特點(diǎn),即可調(diào)整原始FasterRCNN模型中的RPN網(wǎng)絡(luò)的錨框尺寸。調(diào)整后錨框的種類保持不變,只是將錨框尺寸改成4,8,16,有助于增強(qiáng)對距離遠(yuǎn)的行人以及車輛的檢測。測試結(jié)果表明,經(jīng)過調(diào)整后的錨框尺寸可以使得檢測準(zhǔn)確率提高。錨框尺寸對比見表1。
2.2 ResNet網(wǎng)絡(luò)
在深層網(wǎng)絡(luò)提取的特征圖中,遠(yuǎn)距離的檢測目標(biāo)特征提取量很少,這就需要對特征提取網(wǎng)絡(luò)做出改進(jìn),讓改進(jìn)后的特征提取網(wǎng)絡(luò)獲取圖像中更多的小尺寸物體的特征。由于殘差網(wǎng)絡(luò)[8]在網(wǎng)絡(luò)卷積中加入大量的跳躍連接,使其能夠在訓(xùn)練較深的網(wǎng)絡(luò)中提取更多小尺寸物體特征。ResNet網(wǎng)絡(luò)已經(jīng)成功訓(xùn)練出了152層神經(jīng)網(wǎng)絡(luò),還加入了殘差模塊(Residual block),在網(wǎng)絡(luò)深度增加的同時(shí),有效地保證了模型的準(zhǔn)確度。ResNet網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。由圖3可知,在網(wǎng)絡(luò)結(jié)構(gòu)中添加了直連通道來實(shí)現(xiàn)隔層連接,將初始的輸入數(shù)據(jù)傳遞到后面的網(wǎng)絡(luò)層中。對于輸入的x期望,假設(shè)所要求的映射關(guān)系為H(x),在求解過程中,H(x)比F(x)復(fù)雜得多,因而研究可以通過求出H(x)的殘差形式,也即H(x)=F(x)-x來實(shí)現(xiàn)。
綜上分析可知,應(yīng)用此方法可以有效地對梯度進(jìn)行無損傳播,避免了梯度的消失問題,因而在上述模型中對汽車行駛途中的車輛類型及行人的圖像具有良好的特征提取效果。
3 實(shí)驗(yàn)及結(jié)果分析
本文算法采用KITTI數(shù)據(jù)集。KITTI數(shù)據(jù)集是由德國卡爾斯魯厄理工學(xué)院和豐田美國技術(shù)研究院共同創(chuàng)建,是世界上最大的自動駕駛儀場景中適合自動駕駛計(jì)算機(jī)視覺算法的數(shù)據(jù)集[9]。本文選用2D的數(shù)據(jù)集,KITTI數(shù)據(jù)集包含市區(qū)、鄉(xiāng)村和高速公路等場景采集的真實(shí)圖像數(shù)據(jù),圖像數(shù)據(jù)的平均分辨率為1 240*375,每張圖像中最多達(dá)15輛車和30個(gè)行人,還有各種程度的遮擋與截?cái)?,整個(gè)數(shù)據(jù)集分為8個(gè)類別:car, van, truck, pedestrian, pedestrian(sitting), cyclist, tram以及misc。本文將原數(shù)據(jù)集中的pedestrian, pedestrian(sitting)歸為pedestrian一類,去除misc、cyclist的目標(biāo)類別,同時(shí)將目標(biāo)分為car, van, truck, pedestrian, tram五類,并在此數(shù)據(jù)集上驗(yàn)證本文算法的有效性。該數(shù)據(jù)集一共有7 480張圖片,按8:1:1分成訓(xùn)練集、驗(yàn)證集以及測試集。本文實(shí)驗(yàn)算法基于PyTorch深度學(xué)習(xí)框架[10]實(shí)現(xiàn),在搭載NVIDIA Quadro P5000 GPU 的Ubuntu 16 系統(tǒng)的實(shí)驗(yàn)配置下完成。訓(xùn)練網(wǎng)絡(luò)的初始學(xué)習(xí)率為0.001,模型訓(xùn)練的批量為1,衰減因子為0.8,在訓(xùn)練過程中,模型的損失值會伴隨著迭代次數(shù)的增加而減少,直到模型的損失值趨于穩(wěn)定、甚至更優(yōu)的狀態(tài)。在本文中總迭代次數(shù)為150 000次,模型損失值曲線如圖4所示,此時(shí)的模型損失曲線幾乎處于穩(wěn)定狀態(tài),表明模型已經(jīng)收斂。訓(xùn)練好的模型檢測結(jié)果示例如圖5所示,該模型分別將圖片中的行人以及車輛檢測出來,并給出預(yù)測類別以及預(yù)測類別的概率。
通過訓(xùn)練好的模型對測試集進(jìn)行測試,測試結(jié)果見表2。結(jié)果顯示,使用傳統(tǒng)的Faster RCNN網(wǎng)絡(luò)模型的平均檢測準(zhǔn)確率為82.85%,平均每張圖像的檢測時(shí)間為0.200 2 s;改用流行殘差網(wǎng)絡(luò)Res101作為共享卷積層,模型平均檢測準(zhǔn)確率為84.44%,平均每張圖像的檢測時(shí)間為0.184 5 s,相對于傳統(tǒng)的Faster RCNN模型的不只在準(zhǔn)確率有提升,而且還在檢測時(shí)間上有提升;選用優(yōu)化后的Faster RCNN模型平均檢測準(zhǔn)確率為86.50%,平均每張圖像的檢測時(shí)間為0.138 9 s,不僅時(shí)間有提升,檢測準(zhǔn)確率也有了很大提升。
4 結(jié)束語
為了對駕駛道路場景圖像中的行人和車輛類型進(jìn)行準(zhǔn)確、快速的檢測定位,本文提出了一種改進(jìn)的Faster RCNN檢測算法用于行人和車輛類型檢測,使用ResNet-101殘差網(wǎng)絡(luò)代替?zhèn)鹘y(tǒng)VGG網(wǎng)絡(luò)作為共享卷積層,用來提取圖像特征,再改變原來的錨框選區(qū)方案,使用錨框尺寸為4、8、16代替原來錨框尺寸,得到行人及車輛類型檢測模型,使得算法在 KITTI數(shù)據(jù)集上有較為先進(jìn)的表現(xiàn)。本文對行人和車輛類型檢測能夠得到較高的檢測精度,在檢測速度上比同類算法更快,更具備應(yīng)用到自動駕駛系統(tǒng)的價(jià)值。
參考文獻(xiàn)
[1] REN Shaoqing, HE Kaiming, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2015, 39(6):1137.
[2] 王林, 張鶴鶴. Faster R-CNN模型在車輛檢測中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用, 2018,38(3):666.
[3] 楚翔宇. 基于深度學(xué)習(xí)的交通視頻檢測及車型分類研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2017.
[4] 胡葵, 章東平, 楊力. 卷積神經(jīng)網(wǎng)絡(luò)的多尺度行人檢測[J]. 中國計(jì)量大學(xué)學(xué)報(bào), 2017,28(4):69.
[5] JANG E , GU Shixiang, POOLE B . Categorical reparameterization with Gumbel-Softmax[J]. arXiv preprint arXiv:1611.01144v5,2017.
[6] 吳帥, 徐勇, 趙東寧. 基于深度卷積網(wǎng)絡(luò)的目標(biāo)檢測綜述[J]. 模式識別與人工智能, 2018,31(4):45.
[7] 李明攀. 基于深度學(xué)習(xí)的目標(biāo)檢測算法研究[D]. 杭州:浙江大學(xué),2018.
[8]劉敦強(qiáng), 沈峘, 夏瀚笙, 等. 一種基于深度殘差網(wǎng)絡(luò)的車型識別方法[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2018,28(5):42.
[9]曾俊東. 基于卷積神經(jīng)網(wǎng)絡(luò)的監(jiān)控視頻車型識別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 成都:西南交通大學(xué), 2017.
[10]郭愛心. 基于深度卷積特征融合的多尺度行人檢測[D]. 合肥:中國科學(xué)技術(shù)大學(xué), 2018.
[11]黃一天, 陳芝彤. Pytorch框架下基于卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)手寫數(shù)字識別[J]. 電子技術(shù)與軟件工程, 2018(19):147.