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