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