方彥策,張宏江,謝雨成,劉培順
(1.中國(guó)海洋大學(xué) 信息科學(xué)與工程學(xué)部,山東 青島 266100;2.中國(guó)運(yùn)載火箭技術(shù)研究院 研究發(fā)展部,北京 100091)
車輛重識(shí)別技術(shù)能給我們的生活帶來便利,提供安全保障,例如智慧安防、智慧交通方面:公安涉車偵查、套牌車比對(duì)、無牌車管理、違法抓拍、道路擁堵路況檢測(cè)、交通異常行為分析、停車收費(fèi)管理等。
近年來,隨著機(jī)器學(xué)習(xí)技術(shù)的提升,用機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)車輛重識(shí)別逐漸成為研究熱點(diǎn)。2015年,文獻(xiàn)[2]通過提取車輛前臉的HOG特征,采用線性判別的分析技術(shù)提取車輛梯度方向直方圖特征進(jìn)行車輛識(shí)別,但無法處理遮擋問題。文獻(xiàn)[3]采用主成分分析PCA算法,通過特征提取,實(shí)現(xiàn)對(duì)車輛的識(shí)別,PCA是非監(jiān)督的機(jī)器學(xué)習(xí)算法,車輛重識(shí)別率較低。文獻(xiàn)[4]提出對(duì)車輛圖像提取的VAR特征圖像,統(tǒng)計(jì)圖像的LBP直方圖特征,利用SVM進(jìn)行分類。文獻(xiàn)[5]針對(duì)SVM模型識(shí)別性能不足且訓(xùn)練時(shí)間過長(zhǎng)的問題,提出了一種基于Haar類特征和改進(jìn)的級(jí)聯(lián)分類器的圖像分割方法,但該方法未考慮數(shù)據(jù)不平衡導(dǎo)致的分類精度下降的問題。文獻(xiàn)[6]基于Alexnet網(wǎng)絡(luò)構(gòu)建了9層的深度卷積神經(jīng)網(wǎng)絡(luò)用于識(shí)別車輛。該方法與機(jī)器學(xué)習(xí)的車輛識(shí)別方法相比,具有更高的準(zhǔn)確率。文獻(xiàn)[8]等采用自適應(yīng)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)。對(duì)車輛識(shí)別方面具有較高識(shí)別準(zhǔn)確率和魯棒性。文獻(xiàn)[9-10]利用卷積神經(jīng)網(wǎng)絡(luò)提取的特征實(shí)現(xiàn)對(duì)車型的識(shí)別,顯著提高了車輛識(shí)別的準(zhǔn)確率。文獻(xiàn)[11]提出使用PCANet網(wǎng)絡(luò)對(duì)車型進(jìn)行識(shí)別,該網(wǎng)絡(luò)模型具有較強(qiáng)的抗畸變能力。目前這些車輛重識(shí)別的算法大部分是基于車輛的整體特征進(jìn)行識(shí)別,對(duì)于某些外觀幾乎一樣的套牌車識(shí)別率效果比較差,例如圖1所示的套牌車。從圖中可以可以看出套牌車最明顯的差別位置在車窗,同一車型的車輛在使用一段時(shí)間之后,因?yàn)槭褂萌说牧?xí)慣不同,前車窗最容易產(chǎn)生明顯的差別,因此本文主要根據(jù)前車窗的特征進(jìn)行車輛重識(shí)別,與人臉識(shí)別類似,本文稱之為車臉識(shí)別。
圖1 套牌車
“車臉識(shí)別”與“人臉識(shí)別”類似,不是靠車牌識(shí)別車輛,而是識(shí)別車輛的前部特征來區(qū)分不同車輛。在車臉識(shí)別算法研究中,本文用到了注意力機(jī)制。注意力機(jī)制通過模仿人類對(duì)于信息的注意力分配的不均衡,聚焦有用信息,來獲得性能提升。近年來,將通道注意力,位置注意力等引入深度神經(jīng)網(wǎng)絡(luò),在提升卷積網(wǎng)絡(luò)的圖像分類、目標(biāo)檢測(cè)、語(yǔ)義分割等領(lǐng)域均取得了很大的進(jìn)展。
大部分注意力機(jī)制例如SENet[12],CBAM[13],GCNet[14]等都通過疊加卷積,池化和激活函數(shù)等獲得通道或位置特征。SENet獲得的是1維的通道注意力,首先通過壓縮操作使用一個(gè)平均池化來嵌入全局信息,再通過激勵(lì)操作使用一個(gè)具有兩個(gè)全連接層的結(jié)構(gòu)來獲得通道之間的關(guān)系。CBAM通過兩個(gè)模塊串行的方式獲得了同時(shí)具有通道和位置特征的矩陣,以串行的方式來獲取同時(shí)具有通道和位置注意力的圖像。是一個(gè)2維的注意力機(jī)制。GCNet使用了和SE塊相似的結(jié)構(gòu),將Non-local塊和SE塊結(jié)合的方式使GCNet得到了比兩者網(wǎng)絡(luò)都更好的效果。SimAM[15]提出了3維注意力的概念,但實(shí)現(xiàn)的方法與其他注意力模塊完全不同,引入神經(jīng)科學(xué)的概念,用一種無參的方式獲得3維注意力,但效果與SENet類似。可以看出大部分注意力算法都關(guān)注于一維的通道注意力和二維的位置注意力,而處理的圖像是三維的,因此這些注意力機(jī)制往往不能將注意力集中在所有需要關(guān)注的區(qū)域,造成部分關(guān)鍵信息遺失。
本文介紹一種新的三維注意力機(jī)制,通過結(jié)合一維的通道注意力和二維的位置注意力機(jī)制,得到三維的圖像注意力權(quán)重矩陣,計(jì)算后得到經(jīng)注意力分配的新圖像。相比SENet,在ResNet18[16]和ResNet34上參數(shù)量幾乎沒有增長(zhǎng),在ResNet50和ResNet101上增長(zhǎng)了2%左右。在Cifar100[17]數(shù)據(jù)集上,以ResNet50作為主網(wǎng)絡(luò)加入注意力后,相比SENet有1.12%的提升。在ImageNet[18]數(shù)據(jù)集上,比SENet有接近4.5%的提升。
為了實(shí)現(xiàn)車臉識(shí)別,本文在ResNet網(wǎng)絡(luò)基礎(chǔ)上添加三維注意力,并對(duì)ResNet網(wǎng)絡(luò)的大量結(jié)構(gòu)進(jìn)行重新設(shè)計(jì),形成TDANet作為主干網(wǎng)絡(luò)。
在主干網(wǎng)絡(luò)結(jié)構(gòu)中,通過實(shí)驗(yàn)對(duì)比分析發(fā)現(xiàn)網(wǎng)絡(luò)中的block對(duì)于結(jié)果的影響是最重要的,因此將ResNet的(3,4,6,3)的block數(shù)量比例改為了Swin-Transformer[19]所使用的(3,3,9,3)的比例,對(duì)于更大的模型,使用了(1,1,9,1)的block比例。
為了提高網(wǎng)絡(luò)的性能,借鑒了ResNeXt[20]中分組卷積的方式,使用了深度卷積的方式,即分組數(shù)等同于輸入通道數(shù)的卷積方式,即將原本的大卷積拆成多個(gè)小卷積的并行計(jì)算,再將結(jié)果結(jié)合。
在Transformer[21]所使用的網(wǎng)絡(luò)中,總共使用了一個(gè)激活層,而在ResNet中則可以看到大量的激活層,參考Transformer結(jié)構(gòu)我們將TDANet中的部分激活層去除。
我們?cè)谥鞲删W(wǎng)絡(luò)中使用了反轉(zhuǎn)模塊的方式,與原本的從多通道——少通道——多通道的方式不同,我們采用了少通道——多通道——少通道的方式來減少計(jì)算量,同時(shí)盡可能地避免了從多通道到少通道的轉(zhuǎn)換帶來的信息損失。
網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,車臉圖像輸入到TDANet網(wǎng)絡(luò)中,得到尺寸為C×H×W的特征圖X,其中C表示通道數(shù)量,H表示高度,W表示寬度。特征圖X輸入到主干網(wǎng)絡(luò)中的三維注意力模塊,然后將得到的注意力特征和原特征圖X融合在一起,得到新的注意力分配后的特征圖。網(wǎng)絡(luò)的最后一層是分類層,由1 000個(gè)神經(jīng)元的全連接層組成,和ResNet相同,將前面經(jīng)過多次卷積后高度抽象化的特征進(jìn)行整合,歸一化,對(duì)每一種類別都輸出一個(gè)概率,代表圖片屬于該類別的可能性。
圖2 網(wǎng)絡(luò)總體結(jié)構(gòu)
1.2.1 通道注意力
圖像的每一個(gè)通道都具有不同樣的特征。因此,通道注意力是關(guān)注什么樣的特征是有意義的。通道注意力是一個(gè)一維的注意力,它對(duì)不同通道區(qū)別對(duì)待,對(duì)所有位置同等對(duì)待。如圖2所示。
圖3 通道注意力
通道注意力的計(jì)算包括3個(gè)步驟:
1)對(duì)于輸入特征圖X,本文首先使用均值池化從每個(gè)通道的H×W圖像中提取特征,相比于最大值池化,均值池化在計(jì)算量接近的情況下,能表示更多信息,同時(shí)實(shí)驗(yàn)證明均值池化注意力比使用最大值池化效果好。均值池化的公式為:
(1)
2)上述操作之后可以得到尺寸為C×1×1的特征向量,它們具有所有通道的全局感受野。因?yàn)樵谧⒁饬δK上,全連接層相比卷積層進(jìn)行了很多額外且效果不明顯的計(jì)算,全連接層的降維也給通道注意力的預(yù)測(cè)帶來了一定的副作用。借鑒了ECANet的結(jié)構(gòu),本文用卷積層代替了全連接層。這里本文設(shè)計(jì)了兩個(gè)連續(xù)的輸入和輸出通道相差16倍的卷積層,增強(qiáng)網(wǎng)絡(luò)的非線性,實(shí)踐證明這種方式可以更合理地描述圖像的特征。其計(jì)算公式為:
(2)
(3)
1.2.2 位置注意力
在通道注意力模塊之后,我們?cè)僖肟臻g注意力模塊來關(guān)注哪里的特征是有意義的。和通道注意力不同,位置注意力機(jī)制通過一層卷積將所有通道的信息提取成一個(gè)通道,得到一個(gè)1×H×W的特征圖,代表圖像中每個(gè)像素所擁有的注意力權(quán)重。在ReLU層的激活函數(shù)操作之后,可以得到代表每個(gè)通道內(nèi)的圖像中每個(gè)像素的權(quán)重的矩陣。位置注意力的公式:
(4)
X∈RC代表輸入的圖像,σ代表了激活函數(shù)ReLU,代表了卷積核大小為7的卷積操作。
圖4 位置注意力
1.2.3 三維注意力模型
CBAM發(fā)現(xiàn)在獲得的特征圖相加的情況下,通道注意力和位置注意力并行的結(jié)合方式不如串行的結(jié)合方式,并且由實(shí)驗(yàn)發(fā)現(xiàn)先通道后位置的方式擁有更好的效果[13]。在DANet中采用位置注意力和通道注意力兩種注意力得到兩種特征圖,然后分別和原圖相乘后利用相加的方式進(jìn)行結(jié)合[22]這樣的結(jié)合方式均只是考慮了簡(jiǎn)單的加法,位置和通道的聯(lián)系并不緊密。在多注意力結(jié)合的領(lǐng)域,幾乎所有的多注意力結(jié)合方式都使用了最原始的加法來對(duì)特征進(jìn)行融合。對(duì)于C×H×W的特征圖,每一個(gè)點(diǎn)的像素,在通道注意力和位置注意力中,并沒有獨(dú)立的權(quán)重,而是由有通道權(quán)重而無位置權(quán)重的特征圖X1,和有位置權(quán)重而無位置權(quán)重的特征圖X2相加而得,這樣相當(dāng)于假設(shè)通道權(quán)重和位置權(quán)重對(duì)每個(gè)點(diǎn)具有相同的影響。如果點(diǎn)a,b在位置的中的權(quán)重分別接近于0,a,而a,b所在通道的權(quán)重接近于2a,a,在相加的情況下,這兩個(gè)點(diǎn)所得到的權(quán)重是相似的,而事實(shí)上點(diǎn)a所受到的關(guān)注應(yīng)該遠(yuǎn)小于b。實(shí)驗(yàn)中我們發(fā)現(xiàn)通道權(quán)重和位置權(quán)重對(duì)于每個(gè)點(diǎn)的影響是獨(dú)立的并且很難做到相同。
圖5 三維注意力
因此我們提出了一種全新的,更加符合圖像本質(zhì)的融合方式,這種結(jié)合方式的公式如下:
由通道注意力得到的尺寸為C×1×1的張量代表了每個(gè)通道的權(quán)重,由位置注意力得到的尺寸為1×H×W的張量代表了位置中每個(gè)像素的權(quán)重,將兩個(gè)張量相乘可以得到C×H×W的張量,每個(gè)點(diǎn)所具有的權(quán)重等于該點(diǎn)所在通道的權(quán)重和該點(diǎn)在位置中的權(quán)重之積。在此種結(jié)合方式中,注意力能夠更加集中,權(quán)重高的像素點(diǎn)意味著它在通道和位置上都受到重視。這種結(jié)合方式更符合點(diǎn)的實(shí)際權(quán)重。
圖6 W值分布統(tǒng)計(jì)
1.2.4 損失函數(shù)
本文設(shè)計(jì)的模型的損失函數(shù)采用了Arcface loss[23]損失函數(shù),它由Softmax loss改進(jìn)而來。
(6)
Softmax loss函數(shù)中,xi∈Rd代表了第i個(gè)樣本的深度特征,屬于第yi類。Wj∈Rd代表了權(quán)重W的第j列,bj∈RN代表偏置項(xiàng)。
(7)
(8)
ArcFace loss在基于中心和特征歸一化的基礎(chǔ)上,將所有樣本看作一個(gè)個(gè)分布在超球面上的點(diǎn),在角度空間上進(jìn)行分割,它的角度間隔,也就是在超球面曲面上的最小距離。
在Arcface loss損失函數(shù)中,在xi和Wj之間的θ上加上角度間隔m,以加法的方式懲罰深度特征與其相應(yīng)權(quán)重之間的角度。
(9)
通過減少樣本和中心之間的角度,Arcface loss可以提高類內(nèi)的緊密性,內(nèi)部的損失函數(shù)可以有效壓縮類內(nèi)的變化,但也會(huì)帶來類間角度較小的缺點(diǎn)。
(10)
通過增加不同中心之間的角度,可以增加類間差異性。
為了驗(yàn)證三維注意力模塊的有效性,選用了汽車之家數(shù)據(jù)集,PKU VehicleID數(shù)據(jù)集,CIFAR-100數(shù)據(jù)集和ImageNet數(shù)據(jù)集,分別進(jìn)行了對(duì)比實(shí)驗(yàn)。我們的算法使用PyTorch實(shí)現(xiàn),實(shí)驗(yàn)結(jié)果表明,三維注意力模塊在以上數(shù)據(jù)集都達(dá)到了最先進(jìn)的性能。在接下來的章節(jié)中,將具體介紹數(shù)據(jù)集和實(shí)驗(yàn)細(xì)節(jié),并對(duì)結(jié)果進(jìn)行分析。
車臉識(shí)別數(shù)據(jù)集對(duì)于每輛車均只采用前車窗的部分進(jìn)行識(shí)別。測(cè)試的方法借鑒于人臉識(shí)別,目的是對(duì)于給定任意兩張車窗圖片,都能夠判斷是否屬于同一輛車。
圖7 汽車之家數(shù)據(jù)集
數(shù)據(jù)來源于汽車之家的公開數(shù)據(jù),如上圖所示。訓(xùn)練集共有1 757輛車,測(cè)試集共有522輛車。每輛車的車窗都有三張照片,分為左前,正前,右前3個(gè)視角。測(cè)試的共有6 000對(duì),其中5 000對(duì)為不同車輛的車窗圖片,1 000對(duì)為相同車輛的車窗圖片。
使用了ResNet-50作為主干網(wǎng)絡(luò),初始學(xué)習(xí)率為0.1,在第80,160,240個(gè)epoch的時(shí)候?qū)W習(xí)率分別變成0.01,0.001,0.000 1。batchsize為64,momentum為0.9,weight decay為0.000 5,總共訓(xùn)練200個(gè)epoch。進(jìn)行對(duì)比實(shí)驗(yàn)得到的準(zhǔn)確率結(jié)果如下:
表1 前車窗數(shù)據(jù)集測(cè)試對(duì)比分析
從實(shí)驗(yàn)數(shù)據(jù)來看,相比SENet等注意力機(jī)制,三維注意力機(jī)制擁有相對(duì)來說更好的效果。相比SENet,CBAM有約3%的提升,相比ECANet和GCNet有約2%的提升。
北大VehicleID數(shù)據(jù)集由北京大學(xué)視頻技術(shù)國(guó)家工程實(shí)驗(yàn)室(NELVT)在國(guó)家基礎(chǔ)研究計(jì)劃和國(guó)家自然科學(xué)基金委員會(huì)的資助下構(gòu)建。
“VehicleID”數(shù)據(jù)集包含分布在中國(guó)一個(gè)小城市的多個(gè)現(xiàn)實(shí)世界監(jiān)控?cái)z像頭在白天捕獲的數(shù)據(jù)。整個(gè)數(shù)據(jù)集中有26 267輛汽車(共221 763張圖像)。每個(gè)圖像都附有與其在現(xiàn)實(shí)世界中的身份相對(duì)應(yīng)的id標(biāo)簽。
圖8 PKU VehicleID數(shù)據(jù)集
對(duì)于PKU VehicleID數(shù)據(jù)集,采用了訓(xùn)練100個(gè)epoch, batchsize為64,學(xué)習(xí)率初始值為1e-5,使用adam優(yōu)化器,weight decay為0.000 4的設(shè)置。
在公開的VehicleID車輛重識(shí)別數(shù)據(jù)集上,表2給出了驗(yàn)證的詳細(xì)結(jié)果。本文設(shè)計(jì)的三維注意力模塊取得了很好的效果,在Small,Medium,Large三種上均獲得了最佳效果。
表2 PKU VehicleID數(shù)據(jù)集測(cè)試對(duì)比分析
CIFAR-100 數(shù)據(jù)集由100個(gè)類別的60 000張32×32彩色圖像組成,每類有600張圖像,其中有500張訓(xùn)練圖像和100張測(cè)試圖像。
對(duì)于CIFAR-100測(cè)試,用ResNet作為主干網(wǎng)絡(luò),驗(yàn)證了ResNet-18,ResNet-34,ResNet-50,ResNet-101四種網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò)時(shí),三維注意力相比于不添加注意力和添加其他注意力機(jī)制都有效果提升。
訓(xùn)練200個(gè)epoch,開始的學(xué)習(xí)率為0.1,在第60,120,160個(gè)epoch的時(shí)候分別變成0.02,0.004,0.000 8。其中Baseline和添加了SE模塊的效果使用了其提供的數(shù)據(jù),添加了CBAM,ECA和GC注意力的代碼均來自其官方論文所提供的代碼。
表3給出了以上這些注意力模塊大多數(shù)采用了與我們相同的主干網(wǎng)絡(luò)ResNet??梢钥闯觯疚奶岢龅娜S注意力模塊在ResNet-50相對(duì)于其他注意力模塊有比較明顯的效果,相比不添加注意力的ResNet-50有2.31%的提升,相比其他的注意力有約1%的提升。值得注意的是,即使是在采用了更加深層的主干網(wǎng)絡(luò)的時(shí)候,三維注意力與基準(zhǔn)相比,提升仍然是顯著的,這表明了我們的三維注意力模塊的有效性。結(jié)論表明,三維注意力方法也有較好的魯棒性。
表3 CIFAR-100數(shù)據(jù)集測(cè)試對(duì)比分析
ImageNet是一個(gè)用于大規(guī)模圖像分類的基準(zhǔn)數(shù)據(jù)集,包含來自1 000個(gè)類的128萬(wàn)張訓(xùn)練圖像和5萬(wàn)張驗(yàn)證圖像。我們基于帶有注意力機(jī)制的ResNet50,對(duì)三維注意力模塊進(jìn)行了測(cè)試。在ILSVRC2012_train數(shù)據(jù)集上進(jìn)行訓(xùn)練,在ILSVRC2012_val上測(cè)試準(zhǔn)確率。ImageNet上的所有訓(xùn)練都使用了8×Tesla V100。
為了加快測(cè)試的速度,使用了漸進(jìn)式圖像大小調(diào)整來進(jìn)行分類——在訓(xùn)練開始時(shí)使用小圖像,然后隨著訓(xùn)練的進(jìn)行逐漸增加大小。圖像的寬度從160像素開始訓(xùn)練15個(gè)epoch,到320像素訓(xùn)練12個(gè)epoch,到圖像本身的寬度訓(xùn)練1個(gè)epoch。同時(shí)使用了LARS(Layer-wise Adaptive Rate Scaling)[24]的優(yōu)化方法,通過學(xué)習(xí)率的動(dòng)態(tài)調(diào)整,加快模型收斂速度。Batchsize采用 512,在第13,25個(gè)epoch時(shí),分別變成224,128。最終我們得到的結(jié)果如表4所示。
表4 ImageNet數(shù)據(jù)集測(cè)試對(duì)比分析
如表4所示,在以ResNet-50為主干網(wǎng)絡(luò)時(shí),添加了三維注意力模型有6.01%的提升,相比于其他注意力模型有接近5%的提升。
在參數(shù)量和計(jì)算量沒有太大差距的情況下,三維注意力同時(shí)達(dá)到了輕量化和高效的目標(biāo)。
我們用Grad-CAM[25]對(duì)SENet和三維注意力機(jī)制進(jìn)行可視化,并進(jìn)行對(duì)比。
圖9 三維注意力的可視化
圖中第一列表示未經(jīng)注意力模塊的圖像,第二列表示經(jīng)SE模塊得到的圖像,第三列表示經(jīng)本文提出的三維注意力模塊得到的圖像。
在SENet中,得到的通道注意力處理的圖像,并不能非常精確地聚焦圖像中的重點(diǎn)信息,而將許多注意力放到了不需要關(guān)注的地方。
本文提出的三維注意力在聚焦重點(diǎn)信息上更加具有優(yōu)勢(shì),由于三維注意力所關(guān)注的像素同時(shí)需要滿足在通道和位置上都值得受到注意,所以相比其他注意力更加集中。
同時(shí),在注意力機(jī)制上,卷積層比全連接層有更好的表現(xiàn),所以和SENet的全連接層相比,使用卷積層來獲得通道特征的三維注意力能夠獲得更加貼合物體本身的注意力分布。如圖中所示,本文提出的三維注意力所得到的焦點(diǎn)區(qū)域相比SENet更加符合人類的注意力特征。
參考已有位置注意力和通道注意力機(jī)制,我們提出了一種新的三維注意力模塊,能夠更全面的反應(yīng)三維圖像中的關(guān)鍵信息,在做到輕量化的同時(shí)能有效地提高車輛識(shí)別的精確度。把該注意力機(jī)制應(yīng)用到ResNet-50上,大量的實(shí)驗(yàn)表明在各類數(shù)據(jù)集上本文提出三維注意力模塊在圖像分類的視覺任務(wù)上都有很好的效果。