寧 俊,王 年,朱 明
(安徽大學(xué) 電子信息工程學(xué)院,安徽 合肥 230601)
隨著汽車保有量的越來越多,各種交通違章行為屢禁不止,如叉車等工程車輛違規(guī)駛?cè)胧袇^(qū)主干道、部分車輛違規(guī)駛?cè)虢雲(yún)^(qū)域、違法占用消防通道等,這給交通安全帶來了諸多隱患,也對交通監(jiān)管提出了更高的要求.加強對不同類別車輛的識別管理,是未來交通管理以及封閉區(qū)域車輛管理中重要的一環(huán).
近年來,深度學(xué)習(xí)技術(shù)得到了較大的發(fā)展,已被成功應(yīng)用到圖像識別、分類等方面.相較于傳統(tǒng)方法,深度學(xué)習(xí)技術(shù)可以提取到圖像中更深層次、更豐富的信息,在目標(biāo)檢測、圖像識別等領(lǐng)域有著非常廣泛的應(yīng)用.文獻[1]提出了LeNet網(wǎng)絡(luò)對手寫數(shù)字進行識別,雖然由于時代的限制,導(dǎo)致其對復(fù)雜問題處理的結(jié)果并不理想,但也是邁出了具有突破性的一步.目前深度網(wǎng)絡(luò)得到了快速發(fā)展,出現(xiàn)了適用于處理各種問題的網(wǎng)絡(luò),如AlexNet,ZFNet, VGG(visual geometry group)Net, GoogleNet,ResNet等.
文獻[8]基于卷積神經(jīng)網(wǎng)絡(luò)提出了R-CNN(region-convolutional neural networks)目標(biāo)檢測模型,通過利用卷積神經(jīng)網(wǎng)絡(luò)進行特征提取,再使用支持向量機進行分類,使mAP值有了較大的提升.但R-CNN在選擇候選區(qū)域時,方法復(fù)雜且需要消耗大量時間,并不能達到實時檢測的目的.在此之后,基于卷積神經(jīng)網(wǎng)絡(luò),學(xué)者們提出了多種目標(biāo)檢測算法,如Fast R-CNN,Faster R-CNN,YOLO(you only look once),SSD (single shot multibox detector)等.其中SSD與YOLO都屬于one-stage算法,即候選區(qū)域生成、目標(biāo)識別分類、候選框位置精修等均在一個網(wǎng)絡(luò)內(nèi)完成,運行速度較快,但相對精度較差.R-CNN屬于two-stage算法,分為候選區(qū)域生成和目標(biāo)識別分類兩大模塊,雖然運行時間會有所增加,但是精度較高.
近年來,基于卷積神經(jīng)網(wǎng)絡(luò)的車輛識別方法逐漸成為研究的熱點.文獻[13]提高圖像的上采樣,結(jié)合聚類算法,提出了一種車輛檢測的方法,在公開數(shù)據(jù)集上取得了較好的結(jié)果.文獻[14]為了驗證ResNet架構(gòu)在細粒度的車輛分類任務(wù)上的有效性,在綜合汽車數(shù)據(jù)集上分別訓(xùn)練和測試了ResNet-18、ResNet-34和ResNet-50.在不進行任何預(yù)訓(xùn)練、只進行空間加權(quán)池化的情況下,使得最終結(jié)果的準(zhǔn)確度比傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)方法提高了3.7%.文獻[15]將雙線性卷積和HashNet結(jié)合設(shè)計了Bilinear-HashNet來提高網(wǎng)絡(luò)的細粒度特征提取能力,通過將車輛的圖像轉(zhuǎn)化為Hash碼,再與庫中保存的車輛的Hash碼進行對比從而識別出圖像中的車輛類型.
但上述研究主要集中在對車輛整體類別和具體車型的識別,在日常交通管理中并沒有太大用處.根據(jù)日常交通管理的需求,將特種車輛類型分開進行分類識別將有助于交通管理的智能化發(fā)展.論文根據(jù)此需求,選擇將車輛共分為9個類別:警用車輛、救護車、消防車輛、私家車、客車、卡車、工程車輛、兩輪車和其他車輛,通過改進Faster R-CNN算法識別車輛類型.
Faster R-CNN是在Fast R-CNN的基礎(chǔ)上提出的一個two-stage目標(biāo)檢測算法,其選擇區(qū)域建議網(wǎng)絡(luò)(region proposal network,簡稱RPN)代替selective search進行候選區(qū)域生成,RPN可以在GPU上進行計算,大大減少了圖像處理的時間.圖像在輸入Faster R-CNN中后,先生成特征圖,之后將特征圖輸入RPN模塊中,進行候選區(qū)域的生成,隨后將RPN的處理結(jié)果與特征圖一起輸入RoiPooling層中,進行進一步的識別分類及后續(xù)處理.但是經(jīng)過實驗發(fā)現(xiàn)Faster R-CNN應(yīng)用于車輛識別時,對于警用車輛、救護車、消防車輛等特種車輛的識別準(zhǔn)確率較低,這是由于Faster R-CNN對于多尺度信息的提取效果并不理想,于是論文通過提高感受野和對多尺度信息的重采樣來對算法進行改進,旨在提升算法對于不同類別車輛識別的準(zhǔn)確性.
2014年,牛津大學(xué)和Google一起研發(fā)了一個新的深度卷積神經(jīng)網(wǎng)絡(luò)VGGNet,構(gòu)建了一個11~19層深度的系列卷積神經(jīng)網(wǎng)絡(luò),證明了增加網(wǎng)絡(luò)深度在一定程度上能夠取得更好的性能.同時VGGNet的拓展性很強,在遷移學(xué)習(xí)任務(wù)中表現(xiàn)優(yōu)異,在圖像領(lǐng)域VGGNet模型是首選.
VGG網(wǎng)絡(luò)具有很好的泛化性.最常見的一般是VGG-16網(wǎng)絡(luò),它是由13個卷積層、3個全連接層、5個池化層所構(gòu)成的,其所含參數(shù)多達1.38億.鑒于VGG網(wǎng)絡(luò)在圖像領(lǐng)域的優(yōu)異性,論文選擇VGG-16網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò)并進行修改.
在神經(jīng)網(wǎng)絡(luò)中,圖像輸入卷積層進行特征提取,之后在池化層中進行下采樣來降低特征圖的尺寸,這樣可以減少參數(shù)量,同時增加感受野.在圖像語義分割領(lǐng)域中,需要生成的特征圖尺寸與原圖相同,所以后續(xù)還需要進行上采樣(反卷積)操作,將特征圖放大.這個過程就會導(dǎo)致大量的特征信息丟失,使得網(wǎng)絡(luò)對于圖像細節(jié)特征的處理較差.是否可以在不進行下采樣的情況下也能夠獲得較大的感受野就成了問題的關(guān)鍵.文獻[17]據(jù)此提出了空洞卷積(atrous convolutions),可以不降低圖像尺寸并增大網(wǎng)絡(luò)感受野,使得每個卷積輸出都包含了較大范圍的信息,很好地解決了這個問題.不同rate值的空洞卷積如圖1所示.
圖1 空洞卷積示意圖
在該方法的車輛類型識別中,部分車輛之間存在相同的車型,如警車和私家車、救護車和私家車中的面包車、消防車輛和貨車等,這些車輛之間的差異基本就在于車輛的涂裝上.根據(jù)國標(biāo)《GB 13954-2009》規(guī)定警車用標(biāo)志燈具的光色應(yīng)為紅色或紅藍雙色,消防車用標(biāo)志燈具的光色應(yīng)為紅色,救護車用標(biāo)志燈具的光色應(yīng)為藍色.《WS/T-292-2008 救護車》規(guī)定救護車車身須以白色為主色,車身應(yīng)當(dāng)標(biāo)有統(tǒng)一的醫(yī)療急救車標(biāo)志“生命之星”等.國標(biāo)《GA 923-2011》中規(guī)定警用車輛在車門、車身、車前蓋等區(qū)域都需要涂裝警徽、警察或公安字樣的涂裝.該方法使用空洞卷積提高感受野,利用ASPP(atrous spatial pyramid pooling)結(jié)構(gòu)提高多尺度信息的提取,來提升算法對不同尺度的特征信息的敏感性.
該文創(chuàng)建了一個車輛VOC(visual object classes)數(shù)據(jù)集,用于Faster R-CNN模型的訓(xùn)練.根據(jù)數(shù)據(jù)的特點,選用Faster R-CNN模型,使用VGG-16作為基礎(chǔ)網(wǎng)絡(luò),同時引入空洞卷積和空洞空間金字塔池化(atrous spatial pyramid pooling,簡稱ASPP)提升算法的準(zhǔn)確率.通過對網(wǎng)絡(luò)模型參數(shù)的多次修改,獲得了適用于車輛類型識別的改進Faster R-CNN模型.算法模型結(jié)構(gòu)如圖2所示.
圖2為論文改進后的Faster R-CNN模型.在特征提取階段,使用融合了空洞卷積的VGG-16網(wǎng)絡(luò)生成特征圖.生成的特征圖分別輸入RPN網(wǎng)絡(luò)和ASPP模塊中,在RPN模塊中對特征圖進行候選區(qū)域的生成.在ASPP模塊中,對多尺度特征信息進行提?。恢髮PN生成的候選區(qū)域與ASPP模塊輸出的特征圖一起輸入ROIpooling層中,進行候選區(qū)域特征圖的生成;最后與Faster R-CNN一樣,將結(jié)果輸入全連接層,進行softmax分類和bbox_pred候選區(qū)域位置回歸.
圖2 改進后的Faster R-CNN模型結(jié)構(gòu)
該方法中的損失函數(shù)與原Faster R-CNN的損失函數(shù)相同,分為RPN的損失和Fast R-CNN的損失,并且兩部分的損失都包含分類損失(cls loss)和回歸損失(bbox regression loss).公式如下
(1)
(2)
Fast R-CNN的分類損失是多分類的交叉熵損失,根據(jù)訓(xùn)練時包含背景的類別數(shù),設(shè)置為10.Fast R-CNN在訓(xùn)練時生成感興趣區(qū)域,它的標(biāo)簽值為0~9,計算方式與RPN的分類損失相同.
(3)
且R
為smooth損失函數(shù)(4)
在該方法中使用空洞卷積僅作為卷積操作的變形,僅表示在空洞卷積核對應(yīng)的區(qū)域進行特征值的卷積操作.該方法在VGG-16的第4,5個卷積模塊中分別使用rate值為2,3,5的空洞卷積進行3次卷積操作.為了保證生成特征圖的大小不變,隨著空洞卷積rate值的變化也需要對pad值進行調(diào)整.如圖1所示,均使用3*3的卷積核進行卷積,并且步長stride均為1.在使用普通3*3卷積核(即rate=1)對7*7的特征圖進行卷積時,為了保證特征圖的大小,需要在特征圖周邊填充寬度為1的像素點,生成的特征圖大小也為7*7.而當(dāng)rate值為2時,相當(dāng)于使用5*5的卷積核進行卷積,此時為了保證特征圖的大小必須在特征圖周邊填充寬度為2的像素點;同理在rate=3時,相當(dāng)于7*7的卷積核,則應(yīng)填充寬度為3的像素點;當(dāng)rate=5時,相當(dāng)于11*11的卷積核,應(yīng)當(dāng)填充寬度為5的像素點,所以在網(wǎng)絡(luò)中也對相對應(yīng)的pad參數(shù)進行了修改.融合了空洞卷積的VGG16網(wǎng)絡(luò)與原網(wǎng)絡(luò)卷積層對比如表1所示.
表1 空洞卷積的VGG-16網(wǎng)絡(luò)結(jié)構(gòu)與原網(wǎng)絡(luò)對比
通過使用空洞卷積代替普通卷積,能夠提升網(wǎng)絡(luò)的感受野,并能在一定程度上減少局部特征信息的丟失,這樣能夠降低部分類別車輛之間差異特征的損失.
空洞空間金字塔池化是基于SPP(spatial pyramid pooling)的方法所提出的,該方法表明,通過對單個尺度提取的卷積特征進行重采樣,可以對任意尺度的區(qū)域進行分類.其利用不同采樣率的多個并行的空洞卷積層,每一個采樣率提取的特征在單獨的分支內(nèi)進行處理,之后融合生成最終的結(jié)果.
該方法將ASPP融入Faster R-CNN中,將conv-5層輸出的特征圖輸入ASPP結(jié)構(gòu)中,使用多個尺度的空洞卷積進行重采樣,讓輸出特征圖中的神經(jīng)元包含多個感受野,并對多尺度的信息進行編碼,能夠提升網(wǎng)絡(luò)對于多尺度信息的提取.但是隨著rate值不斷地增大,空洞卷積的效果就會越來越差,因此需要設(shè)計一個合適的rate值區(qū)間,保證足夠大的感受野,并且能夠處理多尺度的信息.
ASPP結(jié)構(gòu)使用多個尺度的空洞卷積,能夠提取到不同尺度的特征信息.在該方法中,警車、救護車、消防車的標(biāo)志、車燈等,目標(biāo)相對較小,且不同的標(biāo)志尺寸大小也不同,因此需要采用多個小尺度的卷積來進行重采樣,才能夠提取到足夠的局部特征信息.經(jīng)過多次實驗論證,該方法中所使用的ASPP模塊,第一個分支將對特征圖進行平均池化操作,并使用1*1的卷積對特征圖進行通道數(shù)的變換,其他4個分支分別使用rate值為1,3,5,7的3*3卷積核對特征圖進行再采樣,之后再將生成的結(jié)果進行特征融合獲得最終融合了多尺度信息的特征圖.ASPP結(jié)構(gòu)如圖3所示.
圖3 空洞空間金字塔池化(ASPP)的結(jié)構(gòu)
基于深度學(xué)習(xí)的車輛識別方法需要從數(shù)據(jù)樣本之中學(xué)習(xí)特征,因此數(shù)據(jù)集需要具有代表性,才能夠更好地學(xué)習(xí)到目標(biāo)的特征.為了驗證該改進算法的有效性,論文使用的數(shù)據(jù)樣本都是從網(wǎng)絡(luò)上采集而來,包括文獻[19-20]提出的Vehicle ReID數(shù)據(jù)集中選取的大量圖片以及各汽車網(wǎng)、百度圖片等網(wǎng)站下載的圖像.數(shù)據(jù)集中共包含有9個種類不同類別的車輛(警用車輛、救護車、消防車輛、私家車、客車、卡車、工程車輛、兩輪車和其他車輛),并且使用的所有圖片的視角都是車輛前方及側(cè)方視角.數(shù)據(jù)集共包含8 305張圖像,對所有的數(shù)據(jù)集圖像進行標(biāo)注,制作不同類型車輛分類的數(shù)據(jù)集.數(shù)據(jù)集部分圖像如圖4所示.
圖4 數(shù)據(jù)集部分圖像展示
論文在Faster R-CNN的模型框架下使用了ResNet-50、VGG-16和ZF網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò),進行了對比實驗,實驗的對比數(shù)據(jù)如表2所示.可以發(fā)現(xiàn),在Faster R-CNN的框架下,原始的VGG-16網(wǎng)絡(luò)的整體效果要比網(wǎng)絡(luò)略高;引入ASPP結(jié)構(gòu)后,增強了算法對于多尺度信息的提取,mAP值得到了一定的提升;使用帶空洞卷積的VGG-16網(wǎng)絡(luò)提高感受野,并且引入ASPP結(jié)構(gòu)時mAP值達到了93.45%,整體提升了1.53%.可見通過使用空洞卷積進行特征提取,提升感受野,并且利用ASPP結(jié)構(gòu)進行多尺度特征信息重采樣能夠有效提升算法的識別效果.
表2 不同特征提取網(wǎng)絡(luò)的比較
各類別車輛的mAP值對比如表3所示.由表3可知,改進的Faster R-CNN在私家車、警車、救護車、消防車4個類別的車輛上mAP值提升均超過2%,卡車上mAP值提升超過1%,其他各類別車輛的本身mAP值相對較高,略有提升.
表3 各類別車輛mAP值對比
該節(jié)將改進后的算法分別與SPP-Net,SSD,YOLOv2和YOLOv3算法進行了對比,在使用相同的設(shè)置參數(shù)的基礎(chǔ)上,實驗結(jié)果如表4所示.可以發(fā)現(xiàn)改進后方法的mAP值都要略高于其他方法,其對于提高不同用途車輛的識別效果可行性較高.在one-stage算法中,YOLO系列算法相較于SSD具有一定的優(yōu)勢,但是YOLOv2算法對于小尺度目標(biāo)信息的檢測效果較差.Faster R-CNN作為two-stage算法,在檢測準(zhǔn)確率上就具有一定的優(yōu)勢.論文通過使用ASPP結(jié)構(gòu)有效提升了多尺度信息的提取,并且使用空洞卷積提升感受野,在此基礎(chǔ)上進一步提升了算法的效果.
表4 不同方法效果的比較
為了證實模型性能的有效性,該方法使用660張圖片對模型效果進行測試,其中小型汽車、警車、救護車、消防車、卡車每個類別各100張,另外4個類別各40張,結(jié)果如表5所示.由表5可知,各類別車輛的檢測準(zhǔn)確率均達到90%及以上,充分表明了該方法的有效性.
表5 圖片測試結(jié)果
論文提出了一種基于Faster R-CNN的車輛類型識別算法,該算法針對數(shù)據(jù)圖像的區(qū)別主要集中在一些局部特征(如警車、救護車和消防車輛與普通私家車、卡車之間的差異性集中在車輛涂裝等細節(jié)區(qū)域),通過使用空洞卷積來提高感受野,增加ASPP結(jié)構(gòu)增強算法對多尺度信息的敏感性,對網(wǎng)絡(luò)進行整體優(yōu)化.該方法在測試集上mAP值可達到93.45%,檢測性能與泛化性能良好.