朱文佳, 付源梓, 金 強, 余 燁
(1.安徽百誠慧通科技有限公司,安徽 合肥 230088; 2.合肥工業(yè)大學(xué) 計算機與信息學(xué)院,安徽 合肥 230601)
由于車牌易被遮擋和篡改,而針對車標(biāo)、車輛類型的識別系統(tǒng)不能實現(xiàn)車輛的精確認證,因此,車輛型號(下文簡稱“車型”)識別受到了研究者的青睞。車型識別屬于目標(biāo)精細識別問題,要求識別車輛具體的品牌和款式,可用于車輛身份認證、特定車輛定位和追蹤等,為道路交通管理、城市安全等提供了重要的技術(shù)支撐。
針對精細分類問題,一些研究者嘗試提取圖像中具有區(qū)分度的特征來捕捉類別之間細微的外觀差異。文獻[1]針對一個精細分類的典型數(shù)據(jù)集,首先整體學(xué)習(xí)出一個字典,使用該字典對整體類別的公共部分進行編碼,再針對每個類別單獨學(xué)習(xí)一個字典,對每個類別中的細節(jié)部分進行編碼,最終將兩者結(jié)合進行分類;文獻[2]結(jié)合Fisher向量編碼方式來提高精細分類的準(zhǔn)確率;文獻[3]分別使用2個獨立的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN) 模型特征提取器,分別提取圖像特征,通過雙線性操作匯聚特征,實驗表明該方法在鳥類數(shù)據(jù)集上取得了非常好的效果。
也有研究者從另外的角度進行精細分類。文獻[4-5]認為精細分類問題中子類別大都從屬于某個大類別,因此各個子類別之間必然存在著某些關(guān)聯(lián),基于此先驗知識,考慮類別之間的結(jié)構(gòu)相關(guān)性,構(gòu)造從粗類別到細類別的由頂向下的多級標(biāo)簽結(jié)構(gòu),有效解決精細分類中類間差異小、類內(nèi)差異大的問題;文獻[6-7]基于遞歸CNN模型自適應(yīng)地找到一系列具有高區(qū)分度的區(qū)域并提取特征;文獻[8]基于強化學(xué)習(xí),首先采用多任務(wù)驅(qū)動的方式來訓(xùn)練全卷積注意力模型,之后自適應(yīng)地選擇圖像中有判別力的區(qū)域,大大地提高了計算效率與準(zhǔn)確率;文獻[9]提出一種基于注意力機制的深度殘差網(wǎng)絡(luò)模型,該模型分為2個分支,一個分支類似于傳統(tǒng)的CNN用于提取圖像特征,另一分支通過設(shè)計卷積和反卷積操作得到注意力權(quán)重,對2個分支特征進行點積操作來增強有效特征而抑制低效或無效特征。
上述基于目標(biāo)精細識別的方法用于車型精細識別時并不能取得非常好的效果,其識別率還有待提升。目前,針對車型精細識別的相關(guān)文獻并不是非常多。文獻[10]提出使用上、下分層網(wǎng)絡(luò)的方法對卡口圖像中的車輛前臉照片分別進行特征提取,通過特征的融合進行車型識別;文獻[11]提出幾種“特征重用”的方法,以殘差網(wǎng)絡(luò)為主結(jié)構(gòu),提升了網(wǎng)絡(luò)提取車輛精細特征的能力,提高了車型識別的識別率;文獻[12]認為車輛正面外觀中的結(jié)構(gòu)部件具有不同的視覺特性,首先在車輛品牌級別利用車標(biāo)子區(qū)域進行車型分類,以減少類間相似性,之后根據(jù)剩余子區(qū)域的判別能力,為每個子類訓(xùn)練出不同的分類器,實現(xiàn)車型精細分類;文獻[13]提出一種新的基于SqueezeNet結(jié)構(gòu)的品牌和車型識別(make and model recognition, MMR)的深度學(xué)習(xí)方法,首先提取車輛圖像的正面視圖,并將其輸入深層網(wǎng)絡(luò)進行訓(xùn)練和測試,SqueezeNet結(jié)構(gòu)使得MMR系統(tǒng)在車型識別任務(wù)中更加高效。
針對車型精細識別問題,本文考慮車輛拍攝視角所帶來的特征差異,以多視角的車輛圖像為數(shù)據(jù)源,提出了一種視角相關(guān)的卷積神經(jīng)網(wǎng)絡(luò)(viewing angle relative convolutional neural network, VAR-NET)模型。VAR-NET模型具有以下特點:① 在經(jīng)典目標(biāo)檢測模型[14]的基礎(chǔ)上進行改進,設(shè)計視角預(yù)測子網(wǎng)絡(luò)以提取圖像中車輛視角信息;② 設(shè)計分類網(wǎng)絡(luò)將分類特征與視角特征進行融合,增強車輛精細分類的有效特征;③ 整合視角預(yù)測網(wǎng)絡(luò)與分類網(wǎng)絡(luò),實現(xiàn)端到端的多任務(wù)訓(xùn)練。在公開數(shù)據(jù)集CompCars和StanfordCars上進行實驗,實驗結(jié)果表明,VAR-NET模型用于車型精細識別,能夠取得非常好的識別效果,其識別率高于一些其他經(jīng)典的CNN模型。
VAR-NET模型框架如圖1所示。
圖1 VAR-NET模型框架
VAR-NET模型通過在CNN模型中嵌入車輛的視角相關(guān)信息,實現(xiàn)對多視角車輛圖像的精細特征提取,完成車型的分類。該模型由進行視角初始估計的預(yù)測子網(wǎng)絡(luò)和基于特征重標(biāo)定與特征融合的分類子網(wǎng)絡(luò)2個部分構(gòu)成。
視角預(yù)測網(wǎng)絡(luò)以YOLO算法為原型,針對車輛視角預(yù)測任務(wù)加以改進,將原圖像分成N×N尺寸的網(wǎng)格,每個網(wǎng)格預(yù)測信息包含車輛的置信度、視角信息及坐標(biāo)信息,使用非極大值抑制的方法定位車輛并預(yù)測車輛視角信息。本文稱視角預(yù)測網(wǎng)絡(luò)提取的特征為視角特征,在圖1中用藍色塊表示。分類網(wǎng)絡(luò)是一個常規(guī)的CNN模型,用以提取車輛特征并實現(xiàn)分類,本文選用殘差網(wǎng)絡(luò)(residual network, ResNet)[15]模型。車輛輸入圖像首先在2個子網(wǎng)絡(luò)中并行傳播,然后再將視角預(yù)測網(wǎng)絡(luò)的視角特征與分類網(wǎng)絡(luò)提取的分類特征進行融合,對融合后的特征進行分類,實現(xiàn)對多視角車輛圖像的精細分類。
YOLO模型是由文獻[14]提出的一種基于CNN的端到端目標(biāo)檢測方法。YOLO算法相比于基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(region-based CNN, R-CNN)系列算法,在檢測物體時可以考慮到全局特征信息,從而更有效地區(qū)分目標(biāo)與背景。本文利用YOLO模型這一特點,利用圖像的全局特征對車輛的位置與視角等視角相關(guān)信息進行預(yù)測,進而提取車輛的視角特征。
本文基于YOLO算法設(shè)計視角預(yù)測網(wǎng)絡(luò)的特征提取結(jié)構(gòu),同時為了獲取車輛的視角信息與視角特征,對模型的細節(jié)加以改進,主要調(diào)整包括改變骨架網(wǎng)絡(luò)、修改模型輸入及調(diào)整損失函數(shù)。
1.2.1 改變骨架網(wǎng)絡(luò)
由于BN-inception網(wǎng)絡(luò)[16]有著更好的分類性能與訓(xùn)練性能,本文使用BN-inception網(wǎng)絡(luò)作為特征提取的主體結(jié)構(gòu),并且在BN-inception網(wǎng)絡(luò)后面額外增加了2層卷積層,以進一步提取更加有效與魯棒的車輛視角特征。
1.2.2 修改模型輸入
YOLO模型與VAR-NET模型的輸入如圖2所示。原始YOLO模型的輸入是輸入圖像和圖像中目標(biāo)的位置,其使用目標(biāo)的中心坐標(biāo)及寬、高來代表目標(biāo)的位置,將目標(biāo)中心所在的塊作為負責(zé)檢測目標(biāo)的塊,而將其他的塊看作不是檢測目標(biāo)的塊,如圖2a所示。本文VAR-NET模型考慮到車輛的每個部分重要程度不同,獲取圖像中每塊的重要度Aij,計算公式為:
(1)
其中,Sij為第i行第j列塊的面積;SBB為目標(biāo)包圍盒的面積;∩表示求第i行第j列塊區(qū)域與目標(biāo)包圍盒重疊區(qū)域的面積。Aij將作為YOLO算法中損失函數(shù)的權(quán)重,且所有Aij=1的塊,即整個塊都落在車輛上的塊,都將看作負責(zé)檢測目標(biāo)的塊,如圖2b所示。
圖2 YOLO模型與VAR-NET模型的輸入
1.2.3 調(diào)整損失函數(shù)
不同于YOLO原始算法針對定位和分類任務(wù)的設(shè)計,本文僅用YOLO算法對車輛進行定位和視角預(yù)測,而不用于分類,因此在損失函數(shù)中刪除了分類誤差,同時增加了視角誤差,調(diào)整后的損失函數(shù)L如下:
L=Ecoord+Edetect+Eview
(2)
其中,Ecoord為坐標(biāo)誤差;Edetect為檢測誤差;Eview為視角預(yù)測誤差。
視角預(yù)測網(wǎng)絡(luò)的定位任務(wù)屬于簡化的單類別定位任務(wù),因此,設(shè)定每個預(yù)測塊只預(yù)測1個包圍盒。本文只使用完全落在目標(biāo)上的塊,即Aij=1的塊,來預(yù)測目標(biāo)的位置,Ecoord計算公式為:
(3)
本文以每個塊與目標(biāo)包圍盒的重疊面積作為“真實重要度”,Edetect為“預(yù)測重要度”與“真實重要度”之間的差值,其計算公式為:
(4)
視角預(yù)測任務(wù)屬于多分類問題。視角預(yù)測只針對完全落在目標(biāo)上的塊來預(yù)測,Eview計算公式為:
(5)
為了提高CNN的特征表達能力,有些網(wǎng)絡(luò)如VGG[17]通過加深網(wǎng)絡(luò)的深度來提高性能,但是由于訓(xùn)練過程中的梯度消散問題以及硬件條件限制,約束了網(wǎng)絡(luò)深度的進一步增加;也有些網(wǎng)絡(luò)從空間維度上提升網(wǎng)絡(luò)的性能,如GoogLeNet[18]和ResNet等加寬網(wǎng)絡(luò)“寬度”的方式,都取得了很好的效果。本文的分類網(wǎng)絡(luò)從視角相關(guān)信息角度出發(fā),將車輛的特征與視角信息相結(jié)合,選擇更有利于車輛精細分類的特征,實現(xiàn)對車型的識別。
文獻[19]提出了擠壓和激勵網(wǎng)絡(luò)(Squeeze-and-Excitation Networks,SENet),針對不同通道進行建模,并在2017年ImageNet比賽的圖像識別任務(wù)中獲得冠軍。在SENet中,不同通道的權(quán)重通過“壓縮”和“激勵”2步操作得到。其中“壓縮”是指將前一層的特征圖按每個通道求得平均值,得到通道數(shù)量為C的向量;“激勵”是指以“壓縮”后的向量作為輸入,用一個2層的全連接神經(jīng)網(wǎng)絡(luò)得到不同通道的權(quán)重。
本文選用SE-ResNet-50結(jié)構(gòu)作為分類網(wǎng)絡(luò)的主體,同時為了將視角特征與分類特征進行融合,在SE-ResNet-50特征提取結(jié)構(gòu)后面額外增加了2個卷積層。在特征傳播過程中,將視角特征與分類特征融合,額外增加的2個卷積層將結(jié)合2類信息對車輛特征作進一步抽象,從而實現(xiàn)對車型的精細分類。
為驗證VAR-NET模型對多視角車輛圖像識別的準(zhǔn)確性,本文在CompCars數(shù)據(jù)集上對模型進行了分類測試。CompCars數(shù)據(jù)集共包含52 083張431種車型的多視角車輛圖像,包含車輛的視角、類別及包圍盒等標(biāo)簽信息。本文使用其中的70%作為訓(xùn)練集,另外30%作為測試集。
實驗環(huán)境如下:CPU為Intel Core i7-7700K;內(nèi)存為16 GiB;顯卡為Nvidia GTX 1080;顯存為8 GiB。CUDA版本為9.0。
(1) 使用ImageNet的1 000類數(shù)據(jù)預(yù)訓(xùn)練BN-inception網(wǎng)絡(luò)和SE-ResNet-50網(wǎng)絡(luò)。網(wǎng)絡(luò)的輸入圖像尺寸設(shè)定為256×256,使用裁剪、鏡像操作后每張圖像得到10張224×224尺寸的圖像。
(2) 將CompCars數(shù)據(jù)集圖像縮放至256×256,進行裁剪和鏡像操作,使用類別標(biāo)簽微調(diào)步驟(1)得到的BN-inception網(wǎng)絡(luò)和SE-ResNet-50網(wǎng)絡(luò)的權(quán)重。
(3) 在前2步訓(xùn)練得到的BN-inception后添加2個卷積層,構(gòu)成視角預(yù)測網(wǎng)絡(luò)的主體結(jié)構(gòu)。由于坐標(biāo)標(biāo)簽限制,不再將訓(xùn)練數(shù)據(jù)進行擴增,而僅將CompCars數(shù)據(jù)集縮放至224×224尺寸,使用圖像的視角和位置標(biāo)簽對視角預(yù)測網(wǎng)絡(luò)進行訓(xùn)練。
(4) 在SE-ResNet-50的網(wǎng)絡(luò)結(jié)構(gòu)中加入視角特征與分類特征加性融合的結(jié)構(gòu),完成分類網(wǎng)絡(luò)。使用224×224尺寸的數(shù)據(jù)集對整個網(wǎng)絡(luò)進行微調(diào)訓(xùn)練,訓(xùn)練時批次大小設(shè)置為32,初始的學(xué)習(xí)率為0.001,使用逐步降低的策略調(diào)整學(xué)習(xí)率,每20×104次迭代降低1次學(xué)習(xí)率,共計迭代60×104次。
不同模型在CompCars數(shù)據(jù)集上的識別準(zhǔn)確率對比見表1所列。表1中,top1表示排名為第1類的類別;top5表示排名在前5類的類別。
表1不同模型在CompCars數(shù)據(jù)集上的識別準(zhǔn)確率%
對比模型 top1top5AlexNet模型[20]81.990.4OverFeat模型[21]87.996.9GoogLeNet模型[18]91.297.1ResNet-50模型[15]91.398.1SE-ResNet-50模型[19] 91.498.5BoxCars模型[22]84.895.4Location-Aware模型[23]94.398.9FR-ResNet模型[11]95.399.1VAR-NET模型95.499.1
由表1可知,AlexNet模型的準(zhǔn)確率相比之下明顯較低,top1的準(zhǔn)確率為81.9%,top5的準(zhǔn)確率為90.4%;OverFeat模型作為AlexNet模型改進后的模型,準(zhǔn)確率相比于AlexNet模型有很大的提高,top1、top5的準(zhǔn)確率達到了87.9%、96.9%,但是相比于其他方法仍存在著差距,可見網(wǎng)絡(luò)深度對模型分類性能有較大的影響;GoogLeNet模型為加寬和加深網(wǎng)絡(luò)而引入了inception結(jié)構(gòu),提升了模型的分類性能,top1、top5準(zhǔn)確率分別達到了91.2%、97.1%;ResNet-50模型中創(chuàng)新性地引入了殘差結(jié)構(gòu),很好地解決了深度網(wǎng)絡(luò)的退化問題,top1準(zhǔn)確率與GoogLeNet模型相當(dāng),top5準(zhǔn)確率達到了98.1%;SE-ResNet-50模型在ResNet-50模型的基礎(chǔ)上加入了“壓縮”和“激勵”2種結(jié)構(gòu),其top1、top5準(zhǔn)確率與ResNet-50模型的準(zhǔn)確率持平;BoxCars模型未將車輛視角信息納入考慮范圍,top1、top5準(zhǔn)確率分別為84.8%、 95.4%;位置感知多任務(wù)深度學(xué)習(xí)框架(location-aware multi-task deep learning framework,Location-Aware)模型采用先定位后分類的策略,在車型識別任務(wù)上達到了較高的識別率,其top1、top5準(zhǔn)確率分別達到了94.3%、98.9%,由此可見車輛的位置信息對于精細分類任務(wù)有著很好的輔助作用;基于殘差網(wǎng)絡(luò)特征重用(feature reuse residual network,FR-ResNet)的深度卷積神經(jīng)網(wǎng)絡(luò)模型采用了多尺度輸入、特征重用及特征圖權(quán)重學(xué)習(xí)3種策略,減輕了冗余信息的干擾,將車型識別top1、top5準(zhǔn)確率提高至95.3%、99.1%,該方法專注于網(wǎng)絡(luò)特征的有效利用,而忽略了車輛圖像中存在的位置與視角信息;本文VAR-NET模型既用到了位置信息,又用到了視角信息,top1準(zhǔn)確率達到了最高,為95.4%,top5準(zhǔn)確率與上述方法最優(yōu)準(zhǔn)確率相當(dāng),可能達到了CompCars數(shù)據(jù)集的瓶頸。隨著分類網(wǎng)絡(luò)的進一步發(fā)展,可以將VAR-NET模型中的分類子網(wǎng)絡(luò)靈活地替換為更加先進的網(wǎng)絡(luò),進一步提升VAR-NET模型的識別準(zhǔn)確率。
VAR-NET模型在CompCars數(shù)據(jù)集上識別的混淆矩陣如圖3所示。由圖3可知,所得混淆矩陣基本呈一條對角線,說明大部分的分類結(jié)果是正確的,但是其中仍然存在一些噪點,即錯誤分類的情況。
VAR-NET模型、ResNet-50模型、SE-ResNet-50 3個模型在CompCars數(shù)據(jù)集上的受試者工作特征(receiver operating characteristic,ROC)曲線如圖4所示。
圖3 VAR-NET模型在CompCars數(shù)據(jù)集上識別的混淆矩陣
圖4 3個模型在CompCars數(shù)據(jù)集上識別的ROC曲線
從圖4可以看出,VAR-NET模型的分類效果更加靠近左上角,表明VAR-NET模型相比于其他2個模型能夠更加有效地實現(xiàn)車輛精細分類。車型的精細識別在現(xiàn)實場景中的應(yīng)用十分廣泛,不同場景下對車型識別的性能要求側(cè)重不同,比如在對違法車輛的偵察任務(wù)中要求模型具有較高召回率,避免遺漏犯罪車輛,而針對交通流量的統(tǒng)計和管理任務(wù),要求其具有較高的精確率。3個模型在CompCars數(shù)據(jù)集上識別的精確率和召回率見表2所列。由表2可知, VAR-NET模型的精確率和召回率都是最好的。
表2 3個模型在CompCars數(shù)據(jù)集上的精確率和召回率%
為進一步驗證本文VAR-NET模型的可遷移性,在Stanford Cars數(shù)據(jù)集上進行了對比實驗。Stanford Cars數(shù)據(jù)集中包含16 185張196種車型的車輛多視角圖像,采用其中的8 144張圖像作為訓(xùn)練集,其余的圖像作為測試集。由于Stanford Cars數(shù)據(jù)集中只包含車輛的類別標(biāo)簽和包圍盒標(biāo)簽,不包含車輛的視角標(biāo)簽,因此在使用CompCars數(shù)據(jù)集訓(xùn)練VAR-NET模型的基礎(chǔ)上,固定視角預(yù)測網(wǎng)絡(luò)的特征權(quán)重,僅使用Stanford Cars數(shù)據(jù)集的類別標(biāo)簽針對分類網(wǎng)絡(luò)進行微調(diào),實驗結(jié)果表明,top1、top5識別準(zhǔn)確率分別為86.45%、 97.07%。4種模型在Stanford Cars數(shù)據(jù)集上的識別準(zhǔn)確率對比見表3所列。從表3可以看出,雖然沒有使用視角信息和包圍盒信息針對視角預(yù)測網(wǎng)絡(luò)進行微調(diào),本文VAR-NET模型依然取得了最好的分類精度。
表3 4種模型在Stanford Cars上的準(zhǔn)確率 %
本文研究了復(fù)雜背景下多視角車輛的精細分類問題,提出了視角相關(guān)的卷積神經(jīng)網(wǎng)絡(luò)模型(VAR-NET模型)。VAR-NET模型強調(diào)了視角相關(guān)信息對車輛精細識別的重要性,利用YOLO網(wǎng)絡(luò)獲取車輛圖像的視角特征,通過將視角特征與分類特征進行加性融合,來增強有利于精細分類的特征。實驗結(jié)果表明,VAR-NET模型在多視角車輛型號的精細識別任務(wù)上性能優(yōu)異。