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