方彥策,張宏江,謝雨成,劉培順
(1.中國海洋大學 信息科學與工程學部,山東 青島 266100;2.中國運載火箭技術(shù)研究院 研究發(fā)展部,北京 100091)
車輛重識別技術(shù)能給我們的生活帶來便利,提供安全保障,例如智慧安防、智慧交通方面:公安涉車偵查、套牌車比對、無牌車管理、違法抓拍、道路擁堵路況檢測、交通異常行為分析、停車收費管理等。
近年來,隨著機器學習技術(shù)的提升,用機器學習算法實現(xiàn)車輛重識別逐漸成為研究熱點。2015年,文獻[2]通過提取車輛前臉的HOG特征,采用線性判別的分析技術(shù)提取車輛梯度方向直方圖特征進行車輛識別,但無法處理遮擋問題。文獻[3]采用主成分分析PCA算法,通過特征提取,實現(xiàn)對車輛的識別,PCA是非監(jiān)督的機器學習算法,車輛重識別率較低。文獻[4]提出對車輛圖像提取的VAR特征圖像,統(tǒng)計圖像的LBP直方圖特征,利用SVM進行分類。文獻[5]針對SVM模型識別性能不足且訓練時間過長的問題,提出了一種基于Haar類特征和改進的級聯(lián)分類器的圖像分割方法,但該方法未考慮數(shù)據(jù)不平衡導致的分類精度下降的問題。文獻[6]基于Alexnet網(wǎng)絡構(gòu)建了9層的深度卷積神經(jīng)網(wǎng)絡用于識別車輛。該方法與機器學習的車輛識別方法相比,具有更高的準確率。文獻[8]等采用自適應算法優(yōu)化BP神經(jīng)網(wǎng)絡。對車輛識別方面具有較高識別準確率和魯棒性。文獻[9-10]利用卷積神經(jīng)網(wǎng)絡提取的特征實現(xiàn)對車型的識別,顯著提高了車輛識別的準確率。文獻[11]提出使用PCANet網(wǎng)絡對車型進行識別,該網(wǎng)絡模型具有較強的抗畸變能力。目前這些車輛重識別的算法大部分是基于車輛的整體特征進行識別,對于某些外觀幾乎一樣的套牌車識別率效果比較差,例如圖1所示的套牌車。從圖中可以可以看出套牌車最明顯的差別位置在車窗,同一車型的車輛在使用一段時間之后,因為使用人的習慣不同,前車窗最容易產(chǎn)生明顯的差別,因此本文主要根據(jù)前車窗的特征進行車輛重識別,與人臉識別類似,本文稱之為車臉識別。

圖1 套牌車
“車臉識別”與“人臉識別”類似,不是靠車牌識別車輛,而是識別車輛的前部特征來區(qū)分不同車輛。在車臉識別算法研究中,本文用到了注意力機制。注意力機制通過模仿人類對于信息的注意力分配的不均衡,聚焦有用信息,來獲得性能提升。近年來,將通道注意力,位置注意力等引入深度神經(jīng)網(wǎng)絡,在提升卷積網(wǎng)絡的圖像分類、目標檢測、語義分割等領(lǐng)域均取得了很大的進展。
大部分注意力機制例如SENet[12],CBAM[13],GCNet[14]等都通過疊加卷積,池化和激活函數(shù)等獲得通道或位置特征。SENet獲得的是1維的通道注意力,首先通過壓縮操作使用一個平均池化來嵌入全局信息,再通過激勵操作使用一個具有兩個全連接層的結(jié)構(gòu)來獲得通道之間的關(guān)系。CBAM通過兩個模塊串行的方式獲得了同時具有通道和位置特征的矩陣,以串行的方式來獲取同時具有通道和位置注意力的圖像。是一個2維的注意力機制。GCNet使用了和SE塊相似的結(jié)構(gòu),將Non-local塊和SE塊結(jié)合的方式使GCNet得到了比兩者網(wǎng)絡都更好的效果。SimAM[15]提出了3維注意力的概念,但實現(xiàn)的方法與其他注意力模塊完全不同,引入神經(jīng)科學的概念,用一種無參的方式獲得3維注意力,但效果與SENet類似。可以看出大部分注意力算法都關(guān)注于一維的通道注意力和二維的位置注意力,而處理的圖像是三維的,因此這些注意力機制往往不能將注意力集中在所有需要關(guān)注的區(qū)域,造成部分關(guān)鍵信息遺失。
本文介紹一種新的三維注意力機制,通過結(jié)合一維的通道注意力和二維的位置注意力機制,得到三維的圖像注意力權(quán)重矩陣,計算后得到經(jīng)注意力分配的新圖像。相比SENet,在ResNet18[16]和ResNet34上參數(shù)量幾乎沒有增長,在ResNet50和ResNet101上增長了2%左右。在Cifar100[17]數(shù)據(jù)集上,以ResNet50作為主網(wǎng)絡加入注意力后,相比SENet有1.12%的提升。在ImageNet[18]數(shù)據(jù)集上,比SENet有接近4.5%的提升。
為了實現(xiàn)車臉識別,本文在ResNet網(wǎng)絡基礎上添加三維注意力,并對ResNet網(wǎng)絡的大量結(jié)構(gòu)進行重新設計,形成TDANet作為主干網(wǎng)絡。
在主干網(wǎng)絡結(jié)構(gòu)中,通過實驗對比分析發(fā)現(xiàn)網(wǎng)絡中的block對于結(jié)果的影響是最重要的,因此將ResNet的(3,4,6,3)的block數(shù)量比例改為了Swin-Transformer[19]所使用的(3,3,9,3)的比例,對于更大的模型,使用了(1,1,9,1)的block比例。
為了提高網(wǎng)絡的性能,借鑒了ResNeXt[20]中分組卷積的方式,使用了深度卷積的方式,即分組數(shù)等同于輸入通道數(shù)的卷積方式,即將原本的大卷積拆成多個小卷積的并行計算,再將結(jié)果結(jié)合。
在Transformer[21]所使用的網(wǎng)絡中,總共使用了一個激活層,而在ResNet中則可以看到大量的激活層,參考Transformer結(jié)構(gòu)我們將TDANet中的部分激活層去除。
我們在主干網(wǎng)絡中使用了反轉(zhuǎn)模塊的方式,與原本的從多通道——少通道——多通道的方式不同,我們采用了少通道——多通道——少通道的方式來減少計算量,同時盡可能地避免了從多通道到少通道的轉(zhuǎn)換帶來的信息損失。
網(wǎng)絡結(jié)構(gòu)如圖2所示,車臉圖像輸入到TDANet網(wǎng)絡中,得到尺寸為C×H×W的特征圖X,其中C表示通道數(shù)量,H表示高度,W表示寬度。特征圖X輸入到主干網(wǎng)絡中的三維注意力模塊,然后將得到的注意力特征和原特征圖X融合在一起,得到新的注意力分配后的特征圖。網(wǎng)絡的最后一層是分類層,由1 000個神經(jīng)元的全連接層組成,和ResNet相同,將前面經(jīng)過多次卷積后高度抽象化的特征進行整合,歸一化,對每一種類別都輸出一個概率,代表圖片屬于該類別的可能性。

圖2 網(wǎng)絡總體結(jié)構(gòu)
1.2.1 通道注意力
圖像的每一個通道都具有不同樣的特征。因此,通道注意力是關(guān)注什么樣的特征是有意義的。通道注意力是一個一維的注意力,它對不同通道區(qū)別對待,對所有位置同等對待。如圖2所示。

圖3 通道注意力
通道注意力的計算包括3個步驟:
1)對于輸入特征圖X,本文首先使用均值池化從每個通道的H×W圖像中提取特征,相比于最大值池化,均值池化在計算量接近的情況下,能表示更多信息,同時實驗證明均值池化注意力比使用最大值池化效果好。均值池化的公式為:
(1)

2)上述操作之后可以得到尺寸為C×1×1的特征向量,它們具有所有通道的全局感受野。因為在注意力模塊上,全連接層相比卷積層進行了很多額外且效果不明顯的計算,全連接層的降維也給通道注意力的預測帶來了一定的副作用。借鑒了ECANet的結(jié)構(gòu),本文用卷積層代替了全連接層。這里本文設計了兩個連續(xù)的輸入和輸出通道相差16倍的卷積層,增強網(wǎng)絡的非線性,實踐證明這種方式可以更合理地描述圖像的特征。其計算公式為:
(2)


(3)

1.2.2 位置注意力
在通道注意力模塊之后,我們再引入空間注意力模塊來關(guān)注哪里的特征是有意義的。和通道注意力不同,位置注意力機制通過一層卷積將所有通道的信息提取成一個通道,得到一個1×H×W的特征圖,代表圖像中每個像素所擁有的注意力權(quán)重。在ReLU層的激活函數(shù)操作之后,可以得到代表每個通道內(nèi)的圖像中每個像素的權(quán)重的矩陣。位置注意力的公式:
(4)
X∈RC代表輸入的圖像,σ代表了激活函數(shù)ReLU,代表了卷積核大小為7的卷積操作。

圖4 位置注意力
1.2.3 三維注意力模型
CBAM發(fā)現(xiàn)在獲得的特征圖相加的情況下,通道注意力和位置注意力并行的結(jié)合方式不如串行的結(jié)合方式,并且由實驗發(fā)現(xiàn)先通道后位置的方式擁有更好的效果[13]。在DANet中采用位置注意力和通道注意力兩種注意力得到兩種特征圖,然后分別和原圖相乘后利用相加的方式進行結(jié)合[22]這樣的結(jié)合方式均只是考慮了簡單的加法,位置和通道的聯(lián)系并不緊密。在多注意力結(jié)合的領(lǐng)域,幾乎所有的多注意力結(jié)合方式都使用了最原始的加法來對特征進行融合。對于C×H×W的特征圖,每一個點的像素,在通道注意力和位置注意力中,并沒有獨立的權(quán)重,而是由有通道權(quán)重而無位置權(quán)重的特征圖X1,和有位置權(quán)重而無位置權(quán)重的特征圖X2相加而得,這樣相當于假設通道權(quán)重和位置權(quán)重對每個點具有相同的影響。如果點a,b在位置的中的權(quán)重分別接近于0,a,而a,b所在通道的權(quán)重接近于2a,a,在相加的情況下,這兩個點所得到的權(quán)重是相似的,而事實上點a所受到的關(guān)注應該遠小于b。實驗中我們發(fā)現(xiàn)通道權(quán)重和位置權(quán)重對于每個點的影響是獨立的并且很難做到相同。

圖5 三維注意力
因此我們提出了一種全新的,更加符合圖像本質(zhì)的融合方式,這種結(jié)合方式的公式如下:
由通道注意力得到的尺寸為C×1×1的張量代表了每個通道的權(quán)重,由位置注意力得到的尺寸為1×H×W的張量代表了位置中每個像素的權(quán)重,將兩個張量相乘可以得到C×H×W的張量,每個點所具有的權(quán)重等于該點所在通道的權(quán)重和該點在位置中的權(quán)重之積。在此種結(jié)合方式中,注意力能夠更加集中,權(quán)重高的像素點意味著它在通道和位置上都受到重視。這種結(jié)合方式更符合點的實際權(quán)重。


圖6 W值分布統(tǒng)計
1.2.4 損失函數(shù)
本文設計的模型的損失函數(shù)采用了Arcface loss[23]損失函數(shù),它由Softmax loss改進而來。
(6)
Softmax loss函數(shù)中,xi∈Rd代表了第i個樣本的深度特征,屬于第yi類。Wj∈Rd代表了權(quán)重W的第j列,bj∈RN代表偏置項。
(7)

(8)
ArcFace loss在基于中心和特征歸一化的基礎上,將所有樣本看作一個個分布在超球面上的點,在角度空間上進行分割,它的角度間隔,也就是在超球面曲面上的最小距離。
在Arcface loss損失函數(shù)中,在xi和Wj之間的θ上加上角度間隔m,以加法的方式懲罰深度特征與其相應權(quán)重之間的角度。
(9)
通過減少樣本和中心之間的角度,Arcface loss可以提高類內(nèi)的緊密性,內(nèi)部的損失函數(shù)可以有效壓縮類內(nèi)的變化,但也會帶來類間角度較小的缺點。
(10)
通過增加不同中心之間的角度,可以增加類間差異性。
為了驗證三維注意力模塊的有效性,選用了汽車之家數(shù)據(jù)集,PKU VehicleID數(shù)據(jù)集,CIFAR-100數(shù)據(jù)集和ImageNet數(shù)據(jù)集,分別進行了對比實驗。我們的算法使用PyTorch實現(xiàn),實驗結(jié)果表明,三維注意力模塊在以上數(shù)據(jù)集都達到了最先進的性能。在接下來的章節(jié)中,將具體介紹數(shù)據(jù)集和實驗細節(jié),并對結(jié)果進行分析。
車臉識別數(shù)據(jù)集對于每輛車均只采用前車窗的部分進行識別。測試的方法借鑒于人臉識別,目的是對于給定任意兩張車窗圖片,都能夠判斷是否屬于同一輛車。

圖7 汽車之家數(shù)據(jù)集
數(shù)據(jù)來源于汽車之家的公開數(shù)據(jù),如上圖所示。訓練集共有1 757輛車,測試集共有522輛車。每輛車的車窗都有三張照片,分為左前,正前,右前3個視角。測試的共有6 000對,其中5 000對為不同車輛的車窗圖片,1 000對為相同車輛的車窗圖片。
使用了ResNet-50作為主干網(wǎng)絡,初始學習率為0.1,在第80,160,240個epoch的時候?qū)W習率分別變成0.01,0.001,0.000 1。batchsize為64,momentum為0.9,weight decay為0.000 5,總共訓練200個epoch。進行對比實驗得到的準確率結(jié)果如下:

表1 前車窗數(shù)據(jù)集測試對比分析
從實驗數(shù)據(jù)來看,相比SENet等注意力機制,三維注意力機制擁有相對來說更好的效果。相比SENet,CBAM有約3%的提升,相比ECANet和GCNet有約2%的提升。
北大VehicleID數(shù)據(jù)集由北京大學視頻技術(shù)國家工程實驗室(NELVT)在國家基礎研究計劃和國家自然科學基金委員會的資助下構(gòu)建。
“VehicleID”數(shù)據(jù)集包含分布在中國一個小城市的多個現(xiàn)實世界監(jiān)控攝像頭在白天捕獲的數(shù)據(jù)。整個數(shù)據(jù)集中有26 267輛汽車(共221 763張圖像)。每個圖像都附有與其在現(xiàn)實世界中的身份相對應的id標簽。

圖8 PKU VehicleID數(shù)據(jù)集
對于PKU VehicleID數(shù)據(jù)集,采用了訓練100個epoch, batchsize為64,學習率初始值為1e-5,使用adam優(yōu)化器,weight decay為0.000 4的設置。
在公開的VehicleID車輛重識別數(shù)據(jù)集上,表2給出了驗證的詳細結(jié)果。本文設計的三維注意力模塊取得了很好的效果,在Small,Medium,Large三種上均獲得了最佳效果。

表2 PKU VehicleID數(shù)據(jù)集測試對比分析
CIFAR-100 數(shù)據(jù)集由100個類別的60 000張32×32彩色圖像組成,每類有600張圖像,其中有500張訓練圖像和100張測試圖像。
對于CIFAR-100測試,用ResNet作為主干網(wǎng)絡,驗證了ResNet-18,ResNet-34,ResNet-50,ResNet-101四種網(wǎng)絡作為基礎網(wǎng)絡時,三維注意力相比于不添加注意力和添加其他注意力機制都有效果提升。
訓練200個epoch,開始的學習率為0.1,在第60,120,160個epoch的時候分別變成0.02,0.004,0.000 8。其中Baseline和添加了SE模塊的效果使用了其提供的數(shù)據(jù),添加了CBAM,ECA和GC注意力的代碼均來自其官方論文所提供的代碼。
表3給出了以上這些注意力模塊大多數(shù)采用了與我們相同的主干網(wǎng)絡ResNet。可以看出,本文提出的三維注意力模塊在ResNet-50相對于其他注意力模塊有比較明顯的效果,相比不添加注意力的ResNet-50有2.31%的提升,相比其他的注意力有約1%的提升。值得注意的是,即使是在采用了更加深層的主干網(wǎng)絡的時候,三維注意力與基準相比,提升仍然是顯著的,這表明了我們的三維注意力模塊的有效性。結(jié)論表明,三維注意力方法也有較好的魯棒性。

表3 CIFAR-100數(shù)據(jù)集測試對比分析
ImageNet是一個用于大規(guī)模圖像分類的基準數(shù)據(jù)集,包含來自1 000個類的128萬張訓練圖像和5萬張驗證圖像。我們基于帶有注意力機制的ResNet50,對三維注意力模塊進行了測試。在ILSVRC2012_train數(shù)據(jù)集上進行訓練,在ILSVRC2012_val上測試準確率。ImageNet上的所有訓練都使用了8×Tesla V100。
為了加快測試的速度,使用了漸進式圖像大小調(diào)整來進行分類——在訓練開始時使用小圖像,然后隨著訓練的進行逐漸增加大小。圖像的寬度從160像素開始訓練15個epoch,到320像素訓練12個epoch,到圖像本身的寬度訓練1個epoch。同時使用了LARS(Layer-wise Adaptive Rate Scaling)[24]的優(yōu)化方法,通過學習率的動態(tài)調(diào)整,加快模型收斂速度。Batchsize采用 512,在第13,25個epoch時,分別變成224,128。最終我們得到的結(jié)果如表4所示。

表4 ImageNet數(shù)據(jù)集測試對比分析
如表4所示,在以ResNet-50為主干網(wǎng)絡時,添加了三維注意力模型有6.01%的提升,相比于其他注意力模型有接近5%的提升。
在參數(shù)量和計算量沒有太大差距的情況下,三維注意力同時達到了輕量化和高效的目標。
我們用Grad-CAM[25]對SENet和三維注意力機制進行可視化,并進行對比。

圖9 三維注意力的可視化
圖中第一列表示未經(jīng)注意力模塊的圖像,第二列表示經(jīng)SE模塊得到的圖像,第三列表示經(jīng)本文提出的三維注意力模塊得到的圖像。
在SENet中,得到的通道注意力處理的圖像,并不能非常精確地聚焦圖像中的重點信息,而將許多注意力放到了不需要關(guān)注的地方。
本文提出的三維注意力在聚焦重點信息上更加具有優(yōu)勢,由于三維注意力所關(guān)注的像素同時需要滿足在通道和位置上都值得受到注意,所以相比其他注意力更加集中。
同時,在注意力機制上,卷積層比全連接層有更好的表現(xiàn),所以和SENet的全連接層相比,使用卷積層來獲得通道特征的三維注意力能夠獲得更加貼合物體本身的注意力分布。如圖中所示,本文提出的三維注意力所得到的焦點區(qū)域相比SENet更加符合人類的注意力特征。
參考已有位置注意力和通道注意力機制,我們提出了一種新的三維注意力模塊,能夠更全面的反應三維圖像中的關(guān)鍵信息,在做到輕量化的同時能有效地提高車輛識別的精確度。把該注意力機制應用到ResNet-50上,大量的實驗表明在各類數(shù)據(jù)集上本文提出三維注意力模塊在圖像分類的視覺任務上都有很好的效果。