盧思旭 徐家雷 劉凱
摘要:車輛行人檢測是利用計算機視覺技術判斷圖像或者視頻序列中是否存在行人或車輛并給予精確定位的一種目標檢測技術。行人檢測技術是行人跟蹤、行人識別等技術的基礎與前提,它在自動駕駛、智能監(jiān)控、智慧城市、無人零售等領域具有重要的作用。由于行人兼具剛性和柔性物體的特征,外觀易受穿著、遮擋、姿態(tài)、尺度和視角等因素的影響,因此行人檢測一直是計算機視覺領域中一個既具有研究價值又極具挑戰(zhàn)性的課題。本項目旨在對車輛行人檢測算法進行研究,使用深度學習方法實現車輛行人檢測算法,并使用公開數據集對神經網絡模型進行訓練,實現車輛行人檢測技術,完成對圖像與視頻序列中的車輛行人進行目標檢測的任務。
關鍵詞:深度學習;卷積神經網絡;車輛行人檢測
一、車輛行人檢測的背景和意義
1.行人檢測
行人檢測就是計算機對于給定的圖像和視頻,判斷出其中是否有行人及行人的位置,是行人跟蹤、身份識別、行人行為分析等的基礎。在自動駕駛領域,行人檢測是感知模塊的重要組成部分,它為汽車的決策系統提供信息;在智能監(jiān)控方面,行人檢測配合行人跟蹤技術,能夠對行人的行走路徑進行跟蹤;在智慧城市領域,行人檢測技術能夠對交通違法行為進行輔助判別;在無人零售領域,行人檢測配合人臉識別技術對顧客的購物提供幫助。
2.車輛檢測
近年來,隨著無人駕駛技術、計算機視覺技術的不斷發(fā)展,智能交通作為一種新興交通理念應運而生并逐漸流行起來。對自然場景下的車輛及行人定位系統可以比作是無人駕駛技術的“眼睛”,是智能交通和無人駕駛的重要組成部分。然而很多傳統的目標檢測算法都是基于手工設計的特征和小訓練樣本的,往往受到光照、遮擋、環(huán)境變化等眾多因素的影響,進而影響了目標檢測算法的性能?;谏疃葘W習的目標檢測系統以極大的優(yōu)勢超越了傳統視覺算法,通過在大數據下自主學習得到的特征,在數量以及性能上都遠遠超出了人手工設計的算法特征。
二、項目主要研究內容
1.深度學習目標檢測算法的選擇
在對比了深度學習目標檢測算法中主流的2-stage算法與1-stage算法以及它們各自的優(yōu)缺點后,最終,考慮到車輛行人檢測對實時性的較高要求,在保證一定的準確率的情況下,該系統使用了1-stage算法中的YOLOv3卷積神經網絡,將車輛行人檢測任務看作分類與回歸問題,使用一個端到端的卷積神經網絡來實現車輛行人檢測,相比2-stage算法具有較高的速度,同時仍保持著良好的精度,非常適合應用于工程領域。
2. YOLOv3卷積神經網絡算法的應用
為了對神經網絡進行訓練,使用公開數據集KITTI自動駕駛場景數據集來對神經網絡模型進行訓練,特別地,針對道路上經常存在的車輛與行人、車輛與車輛、行人與行人之間相互遮擋的問題,結合Oxford RobotCar、INRIA等公開數據集,搜尋并手動標記了500張具有遮擋情況的圖像,使用這些圖像來對神經網絡進行訓練,以提升對遮擋物體的目標檢測效果。
為了達到出色的檢測效果,該系統借鑒了深度學習中另一個目標檢測算法Faster R-CNN的思路。簡單來說,R-CNN算法與傳統用于分類的CNN算法的區(qū)別在于R-CNN先提取目標區(qū)域,然后對目標區(qū)域提取特征進行分類,而傳統分類任務是對整體目標區(qū)域提取特征進行分類。
在該項目中,首先生成先驗的候選區(qū)域,作為神經網絡對車輛行人位置的初始預測。為了生成先驗的候選區(qū)域,需要確定先驗候選區(qū)域的尺寸和寬高比。應用了機器學習中的K-means聚類算法,得出了適合于車輛與行人檢測的候選區(qū)域的尺寸和寬高比,之后對數據集中的邊界框的寬高信息進行聚類,計算出適合于車輛行人檢測的先驗候選區(qū)域的9種尺寸與寬高比。
該系統中將整個卷積神經網絡分為兩大部分,第一部分是特征提取網絡,負責對輸入的圖像進行特征提取,得到多種尺寸的特征圖;第二部分是檢測網絡,它以特征提取網絡產生的特征圖作為輸入,通過對特征圖做進一步的卷積運算,分析每個候選區(qū)域中包含物體的概率,并輸出邊界框回歸系數來對候選區(qū)域的位置進行最后的調整。
在特征提取階段,特征提取網絡以原始圖像作為輸入,通過卷積等運算來提取圖像的特征。為了達到出色的效果,在過程中采用了DarkNet-53卷積神經網絡作為特征提取網絡的主干部分。DarkNet-53具有非常明顯的優(yōu)點:首先,它的網絡具有53層,是深度較深的網絡,而網絡的深度越深,越能提取到圖像更加豐富的特征,越有利于對圖像內容的分析。第二,它在每一個卷積層之后都加入了批標準化網絡層以及LeakyReLU激活層,可以避免梯度爆炸、梯度消失等問題的出現;第三,它借鑒了深度學習中先進的殘差網絡結構,既可以避免梯度爆炸、梯度消失等問題的出現,又增強了模型的非線性表達能力。
對于每個候選區(qū)域,設計檢測網絡,讓其輸出一個7維的向量,一個向量中的7個值分別代表:候選區(qū)域包含物體的概率(置信度),候選區(qū)域中的物體是車輛的概率,候選區(qū)域中的物體是行人的概率,以及4個用于修正候選區(qū)域位置的邊界框回歸系數。檢測網絡會考察每個候選區(qū)域包含物體的概率,概率低于0.7則舍棄該候選區(qū)域。對于包含物體的概率大于0.7的候選區(qū)域,如果它是車輛的概率更高,則將它判斷為車輛,否則判斷為行人。接下來,使用4個邊界框回歸系數來對候選區(qū)域的位置進行修正,反向傳播誤差以訓練和優(yōu)化神經網絡。
在得到位置修正后的候選區(qū)域后,對它們應用非極大值抑制算法,保留對每個物體的預測效果最好的邊界框,對“一個行人目標,多個候選區(qū)域”的情況進行處理,減少輸出結果的冗余,提高精度。
為了對網絡進行訓練,結合檢測網絡輸出的7維向量的內容:置信度、類別概率以及位置信息,采用這三種內容的損失的聯合函數來對網絡進行訓練。聯合損失函數是置信度損失、類別概率損失與位置信息損失的加權和,這樣,在訓練過程中可以兼顧判斷候選區(qū)域是否包含物體的訓練、判斷候選區(qū)域內包含哪種類別的物體的訓練以及修正先驗候選區(qū)域位置的訓練。
通過對車輛行人檢測的需求分析與調研,發(fā)現車輛行人檢測的應用形式主要有三種:檢測圖像中的車輛與行人,檢測視頻序列中的車輛與行人,以及調用攝像頭捕捉影像,實時檢測車輛與行人。因此針對這三種應用形式,設計了具有這三種功能的前端界面,實現了對輸入圖像進行檢測、輸入視頻進行檢測以及開啟攝像頭進行檢測這三種功能。
三、項目設計重點與難點
1.遮擋情況的物體檢測。
遮擋情況是目標檢測中較為棘手的一個問題,針對遮擋情況,該系統從KITTI、Oxford RobotCar、INRIA等公開數據集中搜尋并手動標記了500張具有遮擋情況的圖像,使用這些圖像來對神經網絡進行訓練,以提升對遮擋物體的目標檢測效果。
2.特征提取網絡的設計。
特征提取網絡在整個卷積神經網絡中扮演著至關重要的角色,它的性能決定了提取出的圖像特征的優(yōu)劣,同時,它也是容易發(fā)生梯度消失、梯度爆炸、過擬合等問題的部分。該系統中選擇DarkNet-53卷積神經網絡,它具有較深的網絡結構,可以很好地提取圖像的特征;同時深度也不算太深,現有的顯卡等設備可以勝任訓練它的任務;它采用了批標準化和Leaky ReLU激活函數,可以解決梯度消失、梯度爆炸等問題的出現;同時采用深度學習神經網絡中先進的殘差塊結構,可以有效地解決在深度較深的情況下容易發(fā)生的過擬合問題。
3.損失函數的設計。
檢測網絡部分需要輸出三種內容:置信度、類別概率以及位置信息。這三個內容都需要通過良好的訓練來達到較好的效果,而one-stage算法中的代表性網絡YOLOv3的優(yōu)勢在于可以端到端的訓練,在保證精度的情況下顯著提升速度,因此在訓練過程中使用了這三種損失的一個聯合損失,可以同時對這三種內容進行訓練。
四、總結與展望
行人檢測技術作為計算機視覺領域的重要問題與熱門問題,是推動自動駕駛、智能監(jiān)控、場景理解等應用領域發(fā)展的基礎與前提。本文介紹了該基于深度學習的車輛行人檢測系統的研究背景與意義、主要研究內容和研究過程中的重點與難點問題,從YOLOv3卷積神經網絡算法入手,結合了深度學習在計算機視覺方面的一些研究成果,利用深度學習網絡作為特征提取方法。雖然本文中該系統的檢測方法已遠優(yōu)于傳統的車輛行人檢測算法,但其實施過程中仍存在不足與需要改進之處,如當前使用的GPU算力不足,導致算法運行效果欠佳、算法對重疊行人的識別不夠準確,需改進算法,或擴充訓練集等。
參考文獻
[1].宋歡歡、惠飛、景首才、郭蘭英、馬峻巖.改進的 RetinaNet 模型的車輛目 標檢測.計算機工程與應用[J].
[2].張匯、杜煜、寧淑榮、張永華、楊碩、杜晨.基于 Faster RCNN 的行人檢 測方法.傳感器與微系統[J].
[3].王彬.基于深度學習的行人檢測.北京交通大學
[4].楊志恒.基于深度學習的車載實時行人檢測研究.數碼世界[J].
(作者單位:哈爾濱工程大學)