解丹 陳立潮 曹玲玲 張艷麗
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);車(chē)輛分類(lèi);車(chē)輛檢測(cè);深度學(xué)習(xí)
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A
1引言(Introduction)
隨著以深度學(xué)習(xí)為代表的人工智能技術(shù)的發(fā)展,越來(lái)越多的領(lǐng)域開(kāi)始應(yīng)用深度學(xué)習(xí)技術(shù)?;谏疃葘W(xué)習(xí)的車(chē)輛分類(lèi)與檢測(cè)是當(dāng)前智慧交通領(lǐng)域的研究熱點(diǎn),其在智能交通系統(tǒng)中處于基礎(chǔ)地位,對(duì)車(chē)輛跟蹤、交通管控、無(wú)人駕駛等的發(fā)展具有重要意義。深度學(xué)習(xí)主要涉及卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、自編碼神經(jīng)網(wǎng)絡(luò)、深度置信網(wǎng)絡(luò),其中CNN的發(fā)展最為迅速。隨著CNN的發(fā)展,其在車(chē)輛分類(lèi)的應(yīng)用被不斷優(yōu)化,例如對(duì)LeNet[1]、AlexNet[2]、VGG、GoogLeNet等模型的應(yīng)用。在車(chē)輛檢測(cè)中對(duì)CNN的應(yīng)用大致分為兩類(lèi):一類(lèi)是一階段檢測(cè)方法,也稱(chēng)為區(qū)域提議方法;另一類(lèi)是兩階段檢測(cè)方法,也稱(chēng)為無(wú)區(qū)域提議方法。本文以CNN的發(fā)展為主線,介紹并分析基于LeNet、AlexNet等CNN的車(chē)輛分類(lèi)方法、基于R-CNN及YOLO系列的車(chē)輛檢測(cè)方法及用于評(píng)估這些方法的數(shù)據(jù)集,并對(duì)未來(lái)的研究方向進(jìn)行展望。
2基于CNN的車(chē)輛分類(lèi)(Vehicle classification basedon CNN)
車(chē)輛分類(lèi)是對(duì)圖像中車(chē)輛的種類(lèi)進(jìn)行劃分。傳統(tǒng)的車(chē)輛分類(lèi)方法是通過(guò)方向梯度直方圖、尺度不變特征轉(zhuǎn)換等方法提取車(chē)輛特征,并將特征輸入支持向量機(jī)、迭代器等分類(lèi)器中,實(shí)現(xiàn)對(duì)車(chē)輛進(jìn)行分類(lèi)。這些機(jī)器學(xué)習(xí)方法在提取車(chē)輛特征時(shí)大多依賴(lài)研究人員的專(zhuān)業(yè)知識(shí)和經(jīng)驗(yàn),受主觀因素影響較大,并且難以適應(yīng)天氣、光線、角度等的變化,泛化能力較差。隨著車(chē)輛數(shù)量增多,車(chē)輛類(lèi)型也逐步增多,依靠機(jī)器學(xué)習(xí)提取車(chē)輛特征,無(wú)法較好地對(duì)車(chē)輛進(jìn)行分類(lèi)。深度學(xué)習(xí)中CNN訓(xùn)練時(shí)具有更多的數(shù)據(jù)及參數(shù),因而其模型特征表達(dá)能力更強(qiáng),性能優(yōu)于機(jī)器學(xué)習(xí)。
常見(jiàn)的CNN如表1所示,其中LeNet為最早發(fā)布的CNN,由兩個(gè)卷積層和三個(gè)全連接層組成,主要用于手寫(xiě)數(shù)字的識(shí)別。LeNet雖然在小數(shù)據(jù)集上取得了較好的效果,但是在大量真實(shí)數(shù)據(jù)中的應(yīng)用效果還有待研究。計(jì)算機(jī)硬件的發(fā)展,使得訓(xùn)練大數(shù)據(jù)成為可能。2012年,KRIZHEVSKY等[2]在GPU上運(yùn)行深度CNN,實(shí)現(xiàn)了卷積運(yùn)算的快速操作,該網(wǎng)絡(luò)被稱(chēng)為AlexNet。AlexNet和LeNet類(lèi)似,但AlexNet比LeNet層數(shù)更多,它由五個(gè)卷積層和三個(gè)全連接層組成。隨著AlexNet在訓(xùn)練大數(shù)據(jù)集上的成功,CNN開(kāi)始逐漸成為研究熱點(diǎn)。SIMONYAN等[3]提出了VGG網(wǎng)絡(luò),SZEGEDY等[4]提出了GoogLeNet。網(wǎng)絡(luò)越來(lái)越深的發(fā)展趨勢(shì),使得人們開(kāi)始思考如何使新添加的網(wǎng)絡(luò)層更有效地提升網(wǎng)絡(luò)性能。2016 年HE等[5]提出了殘差網(wǎng)絡(luò)(ResNet),之后HUANG等[6]對(duì)ResNet進(jìn)行改進(jìn)提出了稠密連接網(wǎng)絡(luò)(DenseNet)。隨著CNN的發(fā)展,其越來(lái)越多地被應(yīng)用于車(chē)輛分類(lèi)領(lǐng)域。
曹林等[7]對(duì)LeNet-5進(jìn)行改進(jìn)以學(xué)習(xí)車(chē)輛的雷達(dá)視頻信號(hào)特征,從而對(duì)大小車(chē)型進(jìn)行分類(lèi),為交通場(chǎng)景下車(chē)型識(shí)別的研究提供了新思路。馬傳香等[8]對(duì)AlexNet進(jìn)行改進(jìn),提出一種maxout加dropout的六層CNN用于區(qū)分空車(chē)和重車(chē),模型對(duì)34,220 張圖像進(jìn)行測(cè)試,結(jié)果顯示分類(lèi)的準(zhǔn)確度、敏感度都有較大的提高。張超[9]將VGG-16的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),減少全連接層的個(gè)數(shù)及改變池化層的大小和性質(zhì),在保持對(duì)車(chē)輛特征提取能力的基礎(chǔ)上,提升了網(wǎng)絡(luò)速度。劉澤康等[10]將GoogLeNet應(yīng)用于車(chē)輛檢測(cè),發(fā)現(xiàn)GoogLeNet需要較長(zhǎng)的訓(xùn)練時(shí)間才能達(dá)到較好的分類(lèi)精度。余燁等[11]對(duì)ResNet進(jìn)行改進(jìn),提出基于殘差網(wǎng)絡(luò)特征重用的深度卷積神經(jīng)網(wǎng)絡(luò)模型FR-ResNet用于車(chē)輛型號(hào)的精細(xì)分類(lèi),該模型引入多尺度輸入和特征圖權(quán)重學(xué)習(xí)策略,能防止網(wǎng)絡(luò)過(guò)深而陷入局部最優(yōu)。陳立潮等[12]針對(duì)細(xì)粒度車(chē)輛分類(lèi)準(zhǔn)確率低及深度學(xué)習(xí)不能較好地關(guān)注車(chē)輛鑒別性部件特征的問(wèn)題,在DenseNet中引入處理層和獨(dú)立組件增強(qiáng)部件信息和高位特征的提取,在斯坦福大學(xué)的Stanford Cars數(shù)據(jù)集上獲得95%的準(zhǔn)確率,但此方法重點(diǎn)關(guān)注局部鑒別性部件信息,對(duì)車(chē)輛全局特征的提取能力仍有待提高。
可以看出,車(chē)輛的分類(lèi)包括對(duì)車(chē)輛的車(chē)型大小、車(chē)輛的類(lèi)型、車(chē)輛的承重等進(jìn)行分類(lèi),針對(duì)不同的分類(lèi)目標(biāo)可以采用不同的模型。在改進(jìn)網(wǎng)絡(luò)模型時(shí),可以改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)參數(shù)或引入其他有利于模型學(xué)習(xí)的策略。此外,車(chē)輛所在的場(chǎng)景對(duì)于車(chē)輛的分類(lèi)也有很大的影響,場(chǎng)景越復(fù)雜,對(duì)車(chē)輛分類(lèi)算法的要求越高。
3基于CNN的車(chē)輛檢測(cè)(Vehicle detection based on CNN)
車(chē)輛檢測(cè)包含車(chē)輛識(shí)別及定位,是智能交通系統(tǒng)中重要的一部分。在城市交通擁堵路段,車(chē)流量大、車(chē)輛之間相互遮擋嚴(yán)重,交通環(huán)境復(fù)雜,對(duì)車(chē)輛檢測(cè)提出了更高的要求。CNN未出現(xiàn)之前,對(duì)車(chē)輛的檢測(cè)主要有背景差分法、幀差法、光流法等,這些方法存在可移植性差、魯棒性差及速度慢的問(wèn)題。隨著GUP并行技術(shù)和CNN的發(fā)展,以CNN為基礎(chǔ)的目標(biāo)檢測(cè)算法成為主流。2014 年,GIRSHICK等[13]提出了R-CNN用于目標(biāo)檢測(cè),實(shí)現(xiàn)了使用少量標(biāo)注數(shù)據(jù)訓(xùn)練高質(zhì)量模型,但該模型占用的內(nèi)存較大、效率較低。為了提高R-CNN的效率,GIRSHICK等又提出了Fast R-CNN[14]、Faster R-CNN[15],使模型能更好地應(yīng)用于實(shí)時(shí)檢測(cè)?;赗-CNN的目標(biāo)檢測(cè)屬于兩階段檢測(cè),其首先生成目標(biāo)候選區(qū),然后對(duì)候選區(qū)的目標(biāo)分類(lèi)和定位。此外,YOLO、SSD、RetinaNet等為一階段檢測(cè),它們將單個(gè)神經(jīng)網(wǎng)絡(luò)用于整張圖像,并對(duì)目標(biāo)的類(lèi)別和邊界框進(jìn)行回歸,檢測(cè)速度較快。其中,YOLO算法發(fā)展最快,至今已發(fā)展至YOLOv5。2016 年REDMON等提出了YOLOv1[16],將目標(biāo)檢測(cè)問(wèn)題處理為分類(lèi)回歸問(wèn)題。為實(shí)現(xiàn)更好、更快的檢測(cè),2017 年REDMON等又提出YOLOv2[17]、2018 年進(jìn)一步提出YOLOv3[18]。2020 年BOCHKOVSKIY等融合深度學(xué)習(xí)的多種優(yōu)勢(shì)改進(jìn)YOLOv3,提出YOLOv4[19]。為提高網(wǎng)絡(luò)的多尺度檢測(cè)能力,曾凱等[20]對(duì)YOLOv5進(jìn)行研究。隨著目標(biāo)檢測(cè)算法的發(fā)展,各種算法根據(jù)車(chē)輛目標(biāo)檢測(cè)的特點(diǎn)進(jìn)行改進(jìn)并得到實(shí)際應(yīng)用。
劉杰[21]采用R-CNN對(duì)常見(jiàn)的車(chē)輛事故場(chǎng)景及車(chē)身關(guān)鍵部位進(jìn)行訓(xùn)練,并結(jié)合空間輔助定位檢測(cè)事故車(chē)輛,本質(zhì)上是對(duì)特殊場(chǎng)景的車(chē)輛進(jìn)行檢測(cè)。張琦等[22]改進(jìn)Fast R-CNN,在原網(wǎng)絡(luò)上引入內(nèi)置的子網(wǎng)絡(luò)和尺度感知加權(quán)層,實(shí)現(xiàn)不同空間尺度的車(chē)輛檢測(cè)。王林等[23]針對(duì)遠(yuǎn)近場(chǎng)景中車(chē)輛尺寸存在較大差異造成Faster R-CNN誤檢、漏檢的問(wèn)題,在訓(xùn)練Faster R-CNN時(shí)引入多尺度訓(xùn)練策略,針對(duì)數(shù)據(jù)集中目標(biāo)區(qū)域遠(yuǎn)小于背景區(qū)域、負(fù)樣本空間大的問(wèn)題,在訓(xùn)練時(shí)引入難負(fù)樣本挖掘的策略,兩個(gè)策略的引入,使Faster R-CNN在檢測(cè)KITTI數(shù)據(jù)集的精確度提高了約8%,但該模型訓(xùn)練時(shí)對(duì)硬件的要求較高。LU等[24]對(duì)三個(gè)公共航空影像數(shù)據(jù)集進(jìn)行處理,集成一個(gè)適合YOLO訓(xùn)練的航空影像數(shù)據(jù)集,使訓(xùn)練好的YOLO模型能更好地檢測(cè)小目標(biāo)、旋轉(zhuǎn)目標(biāo)及緊湊目標(biāo)車(chē)輛;張成標(biāo)等[25]將DenseNet、多尺度層引入YOLOv2,并設(shè)計(jì)Kelu激活函數(shù)檢測(cè)不同形態(tài)的車(chē)輛,提高了車(chē)輛檢測(cè)的準(zhǔn)確率和精度;張富凱等[26]改進(jìn)YOLOv3,提出單階段深度神經(jīng)網(wǎng)絡(luò)(DF-YOLOv3),將DenseNet的特征圖與多尺度預(yù)測(cè)網(wǎng)絡(luò)的特征圖融合,得到更豐富的車(chē)輛特征,以較好地檢測(cè)不同尺度的車(chē)輛目標(biāo)。為解決車(chē)輛檢測(cè)中的錯(cuò)檢、漏檢問(wèn)題,於積榮等[27]將YOLOv4的主干網(wǎng)絡(luò)替換為CBAM-DenseNet-BC,SPPNet替換為ASPPNet,并引入CBAM模塊,張漪等[28]將注意力機(jī)制SE模塊引入YOLOv5,并使用了Focal Loss焦點(diǎn)損失,經(jīng)過(guò)改進(jìn)的YOLOv5可以較好地檢測(cè)遮擋車(chē)輛和小目標(biāo)車(chē)輛。
對(duì)車(chē)輛檢測(cè)的研究致力于解決對(duì)不同尺度車(chē)輛的檢測(cè)以及錯(cuò)檢、漏檢問(wèn)題。針對(duì)不同尺度車(chē)輛的檢測(cè),大多是在原網(wǎng)絡(luò)上增加不同大小的卷積層,從而得到不同大小的特征圖。對(duì)錯(cuò)檢、漏檢問(wèn)題的解決大多采用引入優(yōu)勢(shì)策略或加深網(wǎng)絡(luò)層數(shù)的方法。除此之外,車(chē)輛檢測(cè)的難點(diǎn)除了車(chē)輛尺度、車(chē)輛類(lèi)型的問(wèn)題,還有車(chē)輛所在的場(chǎng)景問(wèn)題,以及對(duì)特殊天氣的車(chē)輛檢測(cè),仍然有待深入研究。
4車(chē)輛分類(lèi)與檢測(cè)質(zhì)量評(píng)估數(shù)據(jù)集(Qualityassessment dataset of vehicle classification anddetection)
4.1 KITTI數(shù)據(jù)集
KITTI數(shù)據(jù)集由德國(guó)卡爾斯魯厄理工學(xué)院及豐田美國(guó)技術(shù)研究院制作,可通過(guò)http://www.cvlibs.net/datasets/kitti網(wǎng)址下載,主要用于車(chē)輛的檢測(cè)與跟蹤。該數(shù)據(jù)集中有激光雷達(dá)數(shù)據(jù)、標(biāo)注數(shù)據(jù)、圖像數(shù)據(jù)及標(biāo)定校準(zhǔn)數(shù)據(jù)。其中,圖像的分辨率為1392×512,包括市區(qū)、鄉(xiāng)村、校園及高速公路等真實(shí)場(chǎng)景,如圖1所示。數(shù)據(jù)集的標(biāo)注采用激光雷達(dá)坐標(biāo)系,共有Car(小汽車(chē))、Van(廂式貨車(chē))、Truck(卡車(chē))、Pedestrian(行人)、Person(sitting)(坐著的人)、Cyclist(騎自行車(chē)的人)、Tram(有軌電車(chē))和Misc(其他)八類(lèi),有各種程度的遮擋及截?cái)唷?/p>
4.2 BIT-Vehicle數(shù)據(jù)集
BIT-Vehicle數(shù)據(jù)集由北京理工大學(xué)制作,主要用于車(chē)輛的分類(lèi)與檢測(cè),來(lái)源于http://iitlab.bit.edu.cn/mcislab/vehicledb/網(wǎng)站。該數(shù)據(jù)集中有9,850 張車(chē)輛圖像,來(lái)自?xún)蓚€(gè)不同地方的攝像機(jī),圖像的分辨率分別為1600 ×1200和1920×1080,包含光照條件、尺度、車(chē)輛顏色和視角的變化。部分?jǐn)?shù)據(jù)集如圖2所示,車(chē)輛被分為Bus(公共汽車(chē))、Microbus(中型客車(chē))、Minivan(小型貨車(chē))、Sedan(轎車(chē))、SUV(越野車(chē))、Truck(卡車(chē))五類(lèi),每類(lèi)車(chē)輛的數(shù)量分別為558輛、883輛、476輛、5,922 輛、1,392輛、822輛,共有10,053輛車(chē)。
4.3 Stanford Cars數(shù)據(jù)集
Stanford Cars數(shù)據(jù)集由斯坦福大學(xué)整理,可通過(guò)http://ai.stanford.edu/~jkrause/cars/car_dataset.html下載,主要用于車(chē)輛的細(xì)粒度分類(lèi)。該數(shù)據(jù)集的類(lèi)別主要根據(jù)汽車(chē)的牌子、車(chē)型及年份進(jìn)行劃分,共包含16,185張圖像,圖像中的車(chē)輛共有196 類(lèi),如圖3所示。數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,訓(xùn)練集中有8,144 張圖像,測(cè)試集中有8,041 張圖像,在訓(xùn)練集和測(cè)試集中每個(gè)類(lèi)別的數(shù)量大致相同。
4.4 UA-DETRAC數(shù)據(jù)集
UA-DETRAC數(shù)據(jù)集來(lái)源于http://detrac-db.rit.albany.edu/,主要拍攝于北京和天津的道路、過(guò)街天橋等24 個(gè)不同的地點(diǎn),存在多云、夜間、晴天和雨天四種天氣狀況,視頻每秒25 幀,每幀圖像的分辨率為960×540,如圖4所示。該數(shù)據(jù)集中手動(dòng)標(biāo)注了8,250 輛車(chē)輛,共有121萬(wàn)標(biāo)記的對(duì)象外框。車(chē)輛分為轎車(chē)、公共汽車(chē)、廂式貨車(chē)和其他四類(lèi)。此數(shù)據(jù)集主要用于多目標(biāo)檢測(cè)和多目標(biāo)跟蹤的訓(xùn)練和測(cè)試。
5 結(jié)論(Conclusion)
車(chē)輛分類(lèi)與檢測(cè)對(duì)于智能交通系統(tǒng)的發(fā)展極為重要。隨著GPU并行技術(shù)的發(fā)展及數(shù)據(jù)量的成倍增長(zhǎng),深度學(xué)習(xí)得到了極好的發(fā)展。在深度學(xué)習(xí)中CNN的表現(xiàn)較好,CNN在車(chē)輛分類(lèi)和檢測(cè)中具有許多的應(yīng)用,在車(chē)輛分類(lèi)中有LeNet、AlexNet、VGG、GoogLeNet等模型的應(yīng)用,在檢測(cè)中有R-CNN、YOLO等模型的應(yīng)用。這些模型的效果常在KITTI、BIT-Vehicle、Stanford Cars、UA-DETRAC等數(shù)據(jù)集上進(jìn)行測(cè)試。如今,車(chē)輛分類(lèi)和檢測(cè)模型在這些數(shù)據(jù)集上的測(cè)試效果有了極大的提高,但對(duì)于特殊天氣、特殊場(chǎng)景的車(chē)輛分類(lèi)和檢測(cè)仍有待深入研究。
作者簡(jiǎn)介:
解丹(1994-),女,碩士,助教.研究領(lǐng)域:軟件開(kāi)發(fā),圖像處理與模式識(shí)別.
陳立潮(1961-),男,博士,教授.研究領(lǐng)域:圖像處理與模式識(shí)別.
曹玲玲(1983-),女,碩士,講師.研究領(lǐng)域:大數(shù)據(jù)與人工智能.
張艷麗(1983-),女,碩士,講師.研究領(lǐng)域:人工智能與圖像處理.