張晶晶,雷景生
(浙江科技學(xué)院 信息與電子工程學(xué)院,浙江 杭州 310023)
細(xì)粒度車輛識(shí)別旨在識(shí)別車輛的品牌、型號(hào)、年份等具體信息,能輔助驗(yàn)證跟蹤車輛信息的準(zhǔn)確性,因此被廣泛應(yīng)用于智能交通領(lǐng)域的車輛重識(shí)別、跟蹤等場(chǎng)景中。
細(xì)粒度車輛識(shí)別的圖像往往取自街道攝像頭,背景雜亂且受到光照、視點(diǎn)的干擾,目前研發(fā)了多種細(xì)粒度車輛識(shí)別方法。Hu等[1]采用車輛定位分類框架,并使用類標(biāo)簽進(jìn)行多任務(wù)學(xué)習(xí)。Sochor等[2]將三維車輛邊框及其方向作為額外數(shù)據(jù)輸入網(wǎng)絡(luò)。這些方法依賴于密集的局部標(biāo)記,限制了應(yīng)用的可擴(kuò)展性和實(shí)用性。文獻(xiàn)[3]探討了類內(nèi)方差對(duì)解決大的類內(nèi)方差的影響。在文獻(xiàn)[4]中,提出了一種更通用的池化框架來(lái)捕獲高階信息。Yang等[5]將FV-SIF特征與深度卷積特征融合表示車輛特征。Wang等[6]學(xué)習(xí)了捕獲類特定鑒別塊的卷積濾波器庫(kù)。Sun等[7]采用多注意多類損失約束輸入圖像的多個(gè)注意區(qū)域特征。文獻(xiàn)[8]提出局部的檢測(cè)與定位,可以進(jìn)行端到端的訓(xùn)練。Liu等[9]介紹了增強(qiáng)學(xué)習(xí)框架來(lái)發(fā)現(xiàn)最優(yōu)的局部區(qū)分性區(qū)域。Li等[10]生成了用于識(shí)別的分支融合網(wǎng)絡(luò)。Liu等[11]生成推薦區(qū)域?qū)崿F(xiàn)車型分類。Song等[12]通過(guò)篩選的圖像塊組合生成中層特征。這些方法訓(xùn)練效率低,且生成的局部檢測(cè)器適應(yīng)能力較弱。
本文提出了局部特征融合網(wǎng)絡(luò)(part fusion network,PF-Net)對(duì)細(xì)粒度車輛的車型分類,僅利用圖像級(jí)標(biāo)簽,能以端到端的方式訓(xùn)練。
本文的方法基于車輛局部檢測(cè),通過(guò)對(duì)象定位、局部分配和特征融合得到圖像的整體表示。提出的網(wǎng)絡(luò)框架如圖1所示。
圖1 局部特征融合網(wǎng)絡(luò)的整體框架
由于不同子類別下的細(xì)粒度車輛之間的差異往往存在于較小的區(qū)域,因此有些背景區(qū)域?qū)Ψ诸惖淖饔貌淮蟆?/p>
為了減少不相關(guān)的圖像內(nèi)容的干擾,算法對(duì)提取的特征增加了對(duì)象注意機(jī)制模塊來(lái)更好地定位對(duì)象。在實(shí)施對(duì)象定位前,為了加快網(wǎng)絡(luò)的計(jì)算速度,我們選擇去除全連接層結(jié)構(gòu)的ResNet50網(wǎng)絡(luò)從圖像中提取卷積特征。ResNet50包含了5個(gè)組合的卷積模塊。給定一個(gè)輸入圖像I,它通過(guò)ResNet50的卷積層、批處理標(biāo)準(zhǔn)化、ReLU和池化層向前傳播,如圖1(a)所示, 得到卷積網(wǎng)絡(luò)提取的特征圖后,注意機(jī)制將其轉(zhuǎn)換為對(duì)象注意圖,對(duì)象注意機(jī)制的具體結(jié)構(gòu)如圖2所示。
圖2 對(duì)象定位模塊中的注意力機(jī)制
假設(shè)卷積層所提取特征的維數(shù)為c×h×w,可以用F∈c×h×w表示,其中c,w,h分別為特征的通道數(shù)、寬度和高度。對(duì)于ResNet50,輸出的維數(shù)是2048×7×7?;谖墨I(xiàn)[13]中同時(shí)對(duì)空間和通道進(jìn)行卷積來(lái)提取融合特征的思想,我們的注意力模型也強(qiáng)調(diào)對(duì)這兩個(gè)維度施加關(guān)注:通道和空間維度。首先我們將該特征壓縮成一個(gè)大小為hw×c的二維矩陣,記作:X∈hw×c,接著對(duì)特征通道作平均,也就是矩陣的第一維,得到一個(gè)c維的向量,記作:ac∈c×1。因此,通道維度的注意,可用以下公式表示
Xc=N(X)(acacT)
(1)
Xs=XcTN(Ms)N(MsT)
(2)
其中,N(Ms)表示標(biāo)準(zhǔn)化后的空間注意圖。大小為hw×hw的矩陣N(Ms)N(MsT)表示像素間的空間關(guān)系,矩陣中的元素N(Ms)N(MsT)i,j代表像素i與像素j的空間關(guān)系。對(duì)提取的特征F依次經(jīng)過(guò)通道注意和空間注意后得到特征矩陣Xs∈c×hw。最后,我們將特征矩陣Xs擴(kuò)充為特征注意圖F′∈c×h×w。經(jīng)過(guò)注意力機(jī)制并未改變?cè)继卣鞯拇笮 ?/p>
目前有些方法僅用單一的卷積神經(jīng)網(wǎng)絡(luò)就能實(shí)現(xiàn)細(xì)粒度分類,這些方法依賴于對(duì)象的局部檢測(cè)。他們不是通過(guò)選擇性搜索框或滑動(dòng)窗口從原始圖像中獲取局部圖像,而是通過(guò)從提取的特征中檢測(cè)局部信息。一個(gè)典型的方法是通道聚類,將相似的通道分配到同一組中,能有效表達(dá)局部信息。在本文中,類似得,我們也是從已提取的特征中挖掘局部信息,從通道聚類中得到了靈感。
假設(shè)我們要檢測(cè)K個(gè)局部區(qū)域,這意味著提取K組局部特征。如圖1所示,K設(shè)置為4,是本次實(shí)驗(yàn)中最合適的取值。
將經(jīng)過(guò)注意力機(jī)制的注意圖F′作為輸入,我們應(yīng)用4種尺度分別為1,3,5,7的深度可分離卷積核提取4組與F′相同大小的局部特征,他們的維度都是2048×7×7。得到的4組局部特征可用Fpi∈c×h×w,i=1,2,3,4表示。
我們利用深度可分離卷積對(duì)單通道操作的特點(diǎn),通過(guò)4種不同尺度的卷積核捕獲不同大小的局部感受野,得到4組局部特征,如圖1(b)所示。使用深度可分離卷積代替普通卷積的原因是,對(duì)于一個(gè)要提取的特定區(qū)域,檢測(cè)器可以選擇性地增強(qiáng)一些表達(dá)信息與這個(gè)特定區(qū)相關(guān)的響應(yīng)圖,或抑制一些表達(dá)無(wú)關(guān)的響應(yīng)圖。這也是一個(gè)深度可分離卷積負(fù)責(zé)一個(gè)通道的優(yōu)勢(shì)所在。與通道聚類相比,我們的檢測(cè)器可以具體針對(duì)單個(gè)通道的每一個(gè)像素來(lái)提取不同局部的關(guān)鍵信息。此外,多尺度的卷積核可以獲得車輛上尺度不一的局部區(qū)域,如前照燈、車窗、輪胎等。
網(wǎng)絡(luò)學(xué)習(xí)特征通道分配的能力,依賴于我們?cè)O(shè)計(jì)的互通道損失(判別性損失和多樣性損失)的約束,使得提取的各組局部特征都盡可能多地響應(yīng)不同的局部區(qū)域,且更具特定局部的判別力,能夠提供更完整的細(xì)節(jié)信息。
在此,我們?cè)O(shè)計(jì)了判別性損失(discriminality loss)和多樣性損失(diversity loss)函數(shù)來(lái)分配局部特征。我們直接對(duì)特征通道施加約束,使檢測(cè)到盡可能多的具有某類車型代表性的局部區(qū)域。多樣性損失通過(guò)約束通道,使得它們?cè)诳臻g維度上相互排斥,從而表達(dá)更多車輛的局部信息。判別性損失函數(shù)限制了屬于一類車型的特征,使其更具某種車型的代表性。
多樣性損失的設(shè)計(jì)靈感來(lái)自于文獻(xiàn)[14],我們?cè)谒械耐ǖ郎喜捎妙愃频姆椒?。通過(guò)將細(xì)節(jié)信息分散到不同組的特征通道上來(lái)減少冗余信息,有助于發(fā)現(xiàn)更多不同的有區(qū)別的局部區(qū)域,這對(duì)車輛識(shí)別很有用。首先我們將4組局部特征Fpi堆疊成一個(gè)大小為Kc×w×h的組合特征。對(duì)于ResNet50,這個(gè)堆疊的組合特征的大小是4×2048×7×7。隨后將所有這些堆疊的通道分成重新劃分為g組特征,每組特征有Kc/g個(gè)通道,F(xiàn)gi∈Kc/g×h×w。此操作可解釋為跨通道去相關(guān),以便從圖像的不同判別性區(qū)域捕獲細(xì)節(jié)。特征組的數(shù)量有多種可能,可以嘗試其它的劃分方法,這可能會(huì)導(dǎo)致完全不同的效果。我們首先對(duì)每組特征采用Softmax標(biāo)準(zhǔn)化,然后引入跨通道最大池化計(jì)算空間維度上的總和來(lái)測(cè)量每個(gè)特征組包含的信息量。多樣性損失可用以下函數(shù)定義
(3)
式中:g為劃分的通道組數(shù)量,本文將其設(shè)置為64。h(·)定義為
(4)
其中,δ表示每組特征的通道數(shù)量,CCMP為跨通道最大池化操作。
為了計(jì)算判別性損失,即希望檢測(cè)到的全局特征和局部特征分別具有某類車型的代表性信息,并被識(shí)別為與真實(shí)值標(biāo)簽屬于同一類。將提取的全局特征F′和4組局部特征Fpi,i=1,2,3,4經(jīng)全局平均池化后,得到全局描述dg∈c×1和4個(gè)局部描述c×1,i=1,2,3,4。然后采用Softmax分類轉(zhuǎn)化為表示分類概率的向量qg和根據(jù)以下式子可以計(jì)算出判別性損失函數(shù)
(5)
式中:K為局部特征數(shù)量。
在互通道損失的約束下提取局部特征后,我們要進(jìn)一步生成總體的圖像表示。但是對(duì)象的不同局部區(qū)域?qū)Ψ诸惥哂胁煌呢暙I(xiàn),通常車輛品牌標(biāo)志比它的車窗隱含更豐富的判別性信息。這些問(wèn)題表明,直接融合不同層次的描述進(jìn)行最終識(shí)別是有缺陷的。因此,我們提出了一種特征融合機(jī)制,根據(jù)不同描述的權(quán)重融合得到整體的特征表示。
為了計(jì)算融合權(quán)重,我們將每個(gè)描述輸入共享的多層感知機(jī)(multilayer perceptron,MLP),它可以生成K+1的輸出值,每個(gè)輸出值wi對(duì)應(yīng)一個(gè)相應(yīng)的描述權(quán)重,其中w1表示全局描述權(quán)重,w2,w3…,wK+1代表K個(gè)局部描述權(quán)重,在分類損失函數(shù)(classification loss)的引導(dǎo)下實(shí)現(xiàn)多層感知機(jī)中的參數(shù)更新。
將這些不同的描述符作為具有一個(gè)隱藏層的共享的多層感知機(jī)的輸入。為了減少參數(shù)開(kāi)銷,將隱藏層神經(jīng)元個(gè)數(shù)設(shè)置為c/r×1×1,其中r是縮減率。輸出全局和局部特征描述的權(quán)重計(jì)算公式如下
w1=σ(MLP(dg))=σ(W1(W0(dg)))
(6)
(7)
其中,σ表示sigmoid函數(shù),MLP(·)表示多層感知機(jī),W0∈c/r×c,W1∈1×c/r是輸入的每個(gè)描述的共享參數(shù),ReLu激活函數(shù)層在隱藏層之后。
給定到這種簡(jiǎn)單的連通性結(jié)構(gòu),輸出權(quán)值被用作將不同級(jí)別的描述融合為一個(gè)整體的圖像表示d。此操作可表示如下
(8)
式中:Concat(·)為連接運(yùn)算,w1,w2,…,wK+1為共享多層感知機(jī)輸出的相應(yīng)描述的權(quán)值。
將連接后的描述d視為圖像的整體表示,用于輸入到Softmax層進(jìn)行最終分類。我們使用交叉熵[15]來(lái)處理分類損失。整個(gè)網(wǎng)絡(luò)的訓(xùn)練由總損失函數(shù)控制,總損失函數(shù)定義如下
L=Lcls+μ(Ldis-λLdiv)
(9)
式中:Lcls為分類損失,λ,μ是超參數(shù)。
我們?cè)趦蓚€(gè)公開(kāi)的Stanford Cars數(shù)據(jù)集[16]和CompCars數(shù)據(jù)集[17]上評(píng)估了我們的方法。
Stanford Cars數(shù)據(jù)集包含196類細(xì)粒度車型的16 185張圖像,數(shù)據(jù)被分為8144個(gè)訓(xùn)練圖像和8041個(gè)測(cè)試圖像。所有的圖像被分成近似相等的訓(xùn)練集和測(cè)試集。除了類標(biāo)簽之外,每個(gè)圖像都有一個(gè)單獨(dú)的邊界框作為附加的真實(shí)值標(biāo)注。在我們的方法中未用到這類標(biāo)注。
CompCars數(shù)據(jù)集包括來(lái)自網(wǎng)絡(luò)場(chǎng)景和監(jiān)視場(chǎng)景的圖像。網(wǎng)絡(luò)場(chǎng)景下的圖像取自網(wǎng)站、搜索引擎和汽車論壇,所以背景復(fù)雜且視點(diǎn)不同。監(jiān)控圖像來(lái)自于監(jiān)控?cái)z像頭,所以都是從正面拍攝的。我們只使用來(lái)自網(wǎng)絡(luò)的數(shù)據(jù),這類似于Stanford Cars數(shù)據(jù)集中的圖像,有更多車輛類別且拍攝視點(diǎn)不同。數(shù)據(jù)集包含具有431個(gè)車型的30 955張圖像,16 016張作為訓(xùn)練集,14 939張作為測(cè)試集。
在實(shí)驗(yàn)中,我們的局部特征融合網(wǎng)絡(luò)主干采用ResNet50,將其初始化為ImageNet上預(yù)訓(xùn)練好的參數(shù),用來(lái)提取全局特征。在訓(xùn)練和測(cè)試前對(duì)所有圖像進(jìn)行裁剪和歸一化預(yù)處理,圖像調(diào)整大小后裁剪為224×224(訓(xùn)練圖像用隨機(jī)裁剪,測(cè)試圖像用中心裁剪)。在提取局部特征過(guò)程中,我們對(duì)參數(shù)K從 {2,3,4,5,6} 中取不同的值做結(jié)果研究,因?yàn)椴煌腒取值代表需要檢測(cè)的局部區(qū)域的數(shù)量,對(duì)最終的分類結(jié)果有很大影響。表1、圖3記錄了兩個(gè)數(shù)據(jù)集上分類準(zhǔn)確率隨K值變化的情況。在我們的實(shí)驗(yàn)中數(shù)據(jù)集Stanford Cars 分類準(zhǔn)確率在K為4時(shí)達(dá)到最高。對(duì)于CompCars數(shù)據(jù)集,最好的結(jié)果也是在K設(shè)置為4時(shí)。值得注意的是,這個(gè)最合適的K值是會(huì)隨著不同的數(shù)據(jù)集和實(shí)驗(yàn)條件改變的,在實(shí)踐中需要嘗試多次才能得到最適合的K值。圖4展示了我們的模型在 Stanford Cars數(shù)據(jù)集的兩張圖像中檢測(cè)到的局部區(qū)域的響應(yīng),可以看到大部分的局部響應(yīng)都集中在車輛頭部這個(gè)包含大量鑒別信息的區(qū)域中。此外,總損失函數(shù)中的兩個(gè)超參數(shù)設(shè)置為μ=1.5,λ=10。在權(quán)重生成模塊中,共享多層感知機(jī)的縮減率r設(shè)置為16。在訓(xùn)練過(guò)程中,采用隨機(jī)梯度下降(SGD)作為訓(xùn)練算法,批量歸一化作為正則化器。整個(gè)訓(xùn)練過(guò)程的學(xué)習(xí)率初始設(shè)定為0.01,在第50,80,120,180批次依次乘以0.2。這個(gè)模型共迭代200次。
圖4 深度可分離卷積層在K設(shè)置為4時(shí)檢測(cè)到的局部特征的響應(yīng)
表1 數(shù)據(jù)集在K不同取值時(shí)的分類準(zhǔn)確率/%
圖3 數(shù)據(jù)集分類準(zhǔn)確率在K不同取值時(shí)的變化
我們使用了ResNet50作為基礎(chǔ)網(wǎng)絡(luò),在公開(kāi)的Stanford Cars數(shù)據(jù)集上對(duì)提出的網(wǎng)絡(luò)進(jìn)行了消融實(shí)驗(yàn)。
對(duì)于完整的網(wǎng)絡(luò),第一個(gè)實(shí)驗(yàn)首先去除目標(biāo)對(duì)象的注意力機(jī)制。第二個(gè)實(shí)驗(yàn)主要去除局部檢測(cè),更具體得說(shuō),直接將全局特征用于最終分類,也就是去除了局部檢測(cè)和后續(xù)特征的融合。第三個(gè)實(shí)驗(yàn)僅僅去除了權(quán)重生成模塊而直接連接全局和局部特征作為分類層的輸入。如表2所示,與原始的ResNet50達(dá)到89.7%的準(zhǔn)確率相比,第一個(gè)實(shí)驗(yàn)的模型PF-Net1僅去除了對(duì)象注意機(jī)制能達(dá)到92.7%的準(zhǔn)確率。第二個(gè)實(shí)驗(yàn)?zāi)P蚉F-Net2去除了局部檢測(cè)和后續(xù)的特征融合結(jié)構(gòu)達(dá)到了91.0%的分類準(zhǔn)確率。第三個(gè)實(shí)驗(yàn)?zāi)P?PF-Net3去除了權(quán)重生成結(jié)構(gòu),也就是直接連接全局和局部特征來(lái)表達(dá)整體圖像的描述,達(dá)到93.0%的準(zhǔn)確率。
為了準(zhǔn)確評(píng)估對(duì)象注意模塊、局部檢測(cè)和特征融合模塊的效果,分別將每個(gè)模塊去除,與完整網(wǎng)絡(luò)進(jìn)行比較。從表2中我們可以明顯看出每個(gè)模塊對(duì)網(wǎng)絡(luò)分類的提升效果,即對(duì)象注意模塊、局部檢測(cè)和特征融合都是識(shí)別細(xì)粒度車輛圖像的關(guān)鍵步驟。另外,完整的PF-Net網(wǎng)絡(luò)在Stanford Cars數(shù)據(jù)集上實(shí)現(xiàn)了93.5%的分類準(zhǔn)確率。
表2 不同條件下Stanford Cars數(shù)據(jù)集上的分類準(zhǔn)確率
2.4.1 在Stanford Cars數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)
我們?cè)赟tanford Cars數(shù)據(jù)集上比較了我們的方法與一些先前工作的分類準(zhǔn)確率。對(duì)比結(jié)果見(jiàn)表3。由于大多數(shù)比較先進(jìn)的方法使用ResNet50作為主干網(wǎng)絡(luò),我們僅在此網(wǎng)絡(luò)上進(jìn)行實(shí)驗(yàn)來(lái)展示我們的結(jié)果。另外,在訓(xùn)練和測(cè)試中,比較作品和我們提出的方法都僅用到了真實(shí)的類標(biāo)簽,沒(méi)有任何額外的標(biāo)注。
表3 基于ResNet50的分類網(wǎng)絡(luò)在Stanford Cars數(shù)據(jù)集上的分類準(zhǔn)確率對(duì)比
2.4.2 在CompCars數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)
在CompCars數(shù)據(jù)集上的比較結(jié)果見(jiàn)表4。由于其它方法使用的基礎(chǔ)網(wǎng)絡(luò)不一致,為了保持可比性,我們分別應(yīng)用了通用的基礎(chǔ)網(wǎng)絡(luò)作為對(duì)比:AlexNet, VGG16, ResNet50, GoogleNet。根據(jù)表4展示的結(jié)果,使用不同的基礎(chǔ)網(wǎng)絡(luò),分類的準(zhǔn)確率依次增加,ResNet50作為基礎(chǔ)網(wǎng)絡(luò)時(shí)的分類性能最佳,達(dá)到94.1%的分類準(zhǔn)確率。在文獻(xiàn)[3]中,他們的方法對(duì)車型分類的準(zhǔn)確率最低,為79.9%。文獻(xiàn)[10]方法在對(duì)比方法中的準(zhǔn)確率最高,為91.3%。然而,我們提出的模型比那些運(yùn)用相同的基礎(chǔ)網(wǎng)絡(luò)的模型表現(xiàn)更好。
表4 在CompCars數(shù)據(jù)集上的分類準(zhǔn)確率對(duì)比
本文提出了一種用于細(xì)粒度車輛識(shí)別的局部特征融合網(wǎng)絡(luò)(PF-Net)。借鑒通道聚類的思想,運(yùn)用深度可分離卷積在損失函數(shù)的引導(dǎo)下實(shí)現(xiàn)類似對(duì)特征通道的單獨(dú)操作,使相似的多個(gè)通道共同表達(dá)一個(gè)局部區(qū)域信息,實(shí)現(xiàn)特征的有效分配,符合細(xì)粒度圖像類內(nèi)差異小的識(shí)別特點(diǎn)。
但是如何將我們的模型應(yīng)用到實(shí)際的交通場(chǎng)景中,例如通過(guò)交通攝像頭快速識(shí)別出違章車輛的型號(hào)信息,是一個(gè)值得研究和處理的課題,也是建設(shè)一個(gè)智慧城市的迫切需要。