胡 煜 陳小波,2 梁 軍 陳 玲 梁書榮
1(江蘇大學(xué)汽車工程研究院 江蘇鎮(zhèn)江 212013) 2(山東工商學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 山東煙臺 264005)
近年來,隨著機(jī)動車保有量的持續(xù)增加,使用計(jì)算機(jī)技術(shù)輔助人工進(jìn)行交通管理的需要已十分緊迫,作為一種能夠?qū)Τ鞘袃?nèi)車輛進(jìn)行定位、跟蹤、監(jiān)管的重要手段,車輛重識別受到學(xué)術(shù)界的廣泛關(guān)注.車輛重識別即給定目標(biāo)車輛在特定區(qū)域內(nèi)的一張圖像,找出目標(biāo)車輛被其他攝像頭拍攝的圖像.車輛重識別是一種特殊的圖像檢索問題,只能使用車輛的外觀信息和輔助信息(如車輛編號、拍攝時(shí)間和地點(diǎn)等信息),檢索圖像的視角、拍攝時(shí)間和天氣等因素都可以和給定的圖像不一致[1].由于不同攝像頭的位置、視角、光照、分辨率等因素,同一輛車的不同圖像可能看上去存在較大差異,而不同的車輛可能由于相同的視角和車輛型號產(chǎn)生相似的圖像,這些都對車輛重識別問題造成了挑戰(zhàn).
為了解決不同圖像中車輛視角不同的問題,一種直接的方法是在不同的車輛圖像中抽取與視角無關(guān)的特征,再利用這些特征度量車輛圖像的相似度.隨著深度神經(jīng)網(wǎng)絡(luò),尤其是卷積神經(jīng)網(wǎng)絡(luò)的快速發(fā)展,一些基于人工設(shè)計(jì)和提取的視角無關(guān)特征[2-5],如顏色、車型、尺寸等的方法已逐漸被基于深度學(xué)習(xí)的方法所取代.目前,基于深度學(xué)習(xí)的車輛重識別方法主要分為基于多特征融合的方法和基于度量學(xué)習(xí)的方法.
在多特征融合方法中,Liu等人[6]將深度學(xué)習(xí)得到的特征與車輛的顏色信息等多種特征進(jìn)行加權(quán)求和,得到車輛圖像之間的相似性得分,再以此為依據(jù)進(jìn)行車輛重識別排序;He等人[7]將車輛的一些組件作為約束引入了車輛的重識別過程,增強(qiáng)了深度神經(jīng)網(wǎng)絡(luò)對相似車型之間細(xì)微差異的辨別能力;Wang等人[8]利用堆疊式沙漏網(wǎng)絡(luò)(stacked hourglass network)對車身表面具有辨識性的20個(gè)特征點(diǎn)進(jìn)行預(yù)測,并根據(jù)這些關(guān)鍵點(diǎn)所屬的面對這些關(guān)鍵點(diǎn)的特征進(jìn)行累加,得到用于相似性判斷的特征向量.總的來說,基于特征融合的方法通過合理地選取車輛的關(guān)鍵點(diǎn)或關(guān)鍵部位與損失函數(shù),使網(wǎng)絡(luò)更加關(guān)注車輛的辨識性特征,具有較高的準(zhǔn)確率.但這些方法選取的車輛部件很多仍需人工指定,不具有較好的魯棒性.
在度量學(xué)習(xí)方法中,Liu等人[9]提出了深度相關(guān)性距離學(xué)習(xí),在進(jìn)行車輛重識別任務(wù)的同時(shí)對車輛型號進(jìn)行判別;Guo等人[10]進(jìn)一步提出一種由粗到精的特征嵌入方法,使網(wǎng)絡(luò)能夠?qū)W習(xí)到敏感的辨識性特征;Zhang等人[11]提取了車輛圖像的關(guān)鍵部位,將其輸入到注意力模塊中,提高神經(jīng)網(wǎng)絡(luò)尋找具有辨識性部分的能力,降低非辨識性區(qū)域?qū)χ刈R別的負(fù)面影響;Zhou等人[12]設(shè)計(jì)了一個(gè)根據(jù)單視角特征生成車輛各種視角特征向量的網(wǎng)絡(luò),從而實(shí)現(xiàn)對不同視角的車輛圖像進(jìn)行相同視角的特征向量的對比;Chu等人[13]將圖像對中2張圖像視角之間的關(guān)系分為相似視角或不同視角,并分別在不同的特征空間中對這2種關(guān)系進(jìn)行優(yōu)化.Meng等人[14]提出一種基于語義分割的方法,將車輛圖像劃分為不同組件并對各組件的特征進(jìn)行對齊(align)以消除視角變化的影響.這些基于度量學(xué)習(xí)的方法大多較為簡單,具有訓(xùn)練時(shí)間短且解釋性較強(qiáng)的優(yōu)點(diǎn).
針對車輛重識別中存在的一些問題,本文提出一種基于組件特征與多注意力融合的車輛重識別方法(parsing-based vehicle part multi-attention adaptive fusion network, PPAAF).首先,利用語義分割網(wǎng)絡(luò),將車輛圖像分割為背景區(qū)域和1個(gè)或多個(gè)車輛組件,包括車輛的正面、背面、頂面和側(cè)面,并利用修改后的深度殘差網(wǎng)絡(luò)分別從不同的車輛組件中提取不同的特征,比較不同車輛相同組件的特征以消除車輛圖像視角變化對外觀的影響.然后,提出一種基于多注意力的特征融合機(jī)制,同時(shí)考慮不同組件在圖像中所占的面積及組件特征包含的鑒別信息,實(shí)現(xiàn)組件特征的自適應(yīng)融合.最后,在多任務(wù)學(xué)習(xí)框架下,優(yōu)化車輛重識別與多個(gè)輔助任務(wù)的聯(lián)合損失函數(shù),對網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化,進(jìn)一步提升網(wǎng)絡(luò)性能.
本文提出的車輛重識別網(wǎng)絡(luò)由車輛組件語義分割模塊、骨干網(wǎng)絡(luò)、特征提取模塊組成,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示:
Fig. 1 Architecture of the proposed network圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖
首先對深度殘差網(wǎng)絡(luò)進(jìn)行修改作為本文方法的骨干網(wǎng)絡(luò).深度殘差網(wǎng)絡(luò)是計(jì)算機(jī)視覺中用于圖像分類的經(jīng)典網(wǎng)絡(luò)之一,對于給定的輸入圖像,網(wǎng)絡(luò)輸出該圖像所屬的類別.由于圖像中物體的分類任務(wù)對車輛重識別并無明顯幫助,移除了深度殘差網(wǎng)絡(luò)最末端的圖像分類器,即殘差網(wǎng)絡(luò)中最末端的全局平均池化層與全連接層,而將其應(yīng)用于提取圖像的特征.同時(shí),為了提高輸出特征圖的分辨率,本文移除了深度殘差網(wǎng)絡(luò)頂端的步長為2的3×3最大池化層,這使得骨干網(wǎng)絡(luò)最終輸出的特征圖寬和高均為原始?xì)埐罹W(wǎng)絡(luò)輸出特征圖的2倍,從而包含更豐富的信息.
通常情況下,可將車輛分為5個(gè)面,分別是正面、背面、頂面、左側(cè)面及右側(cè)面.考慮到車輛的對稱性及車輛的左右2個(gè)側(cè)面往往不能在一張車輛圖像中同時(shí)出現(xiàn),因此將車輛定義為4個(gè)組件:正面、背面、頂面和側(cè)面.利用Meng等人[14]提供的車輛組件語義分割模塊,對車輛圖像P進(jìn)行語義分割,輸出車輛的語義分割圖M,其尺寸與車輛圖像一致.具體而言,對一張高為H、寬為W的車輛圖像P上的一點(diǎn)Phw(1≤h≤H,1≤w≤W)有B(Phw)∈{0,1,2,3,4},其中,B(Phw)表示Phw所屬的類別,0表示該點(diǎn)為圖像背景(不屬于車輛),1,2,3,4分別表示該點(diǎn)屬于車輛的正面、背面、頂面或側(cè)面.本文所提出方法中,車輛組件的劃分實(shí)例如圖2所示:
Fig. 2 Examples of vehicle parts partition圖2 車輛組件劃分示例
(1)
(2)
(3)
(4)
在一張車輛圖像中,構(gòu)成車輛的4個(gè)組件在圖像中所占的面積一般是各不相同的.通常來說,某個(gè)組件的面積越大,該組件更可能包含更多鑒別信息,從而在車輛重識別時(shí)應(yīng)該更受關(guān)注.因此,首先定義車輛組件i的面積注意力Hi:
(5)
其中ai為圖像中車輛組件i∈{1,2,3,4}所占的面積,Area為圖像中車輛整體所占的面積,這里以組件所包含的像素個(gè)數(shù)作為面積度量,即
(6)
(7)
雖然車輛各個(gè)組件所占面積的大小在一定程度上能反映該組件在重識別任務(wù)中的重要程度,但組件對重識別任務(wù)的重要性并不能完全依賴于其在圖像中所占的面積大小.例如,大部分車輛的車頂缺少圖案和裝飾,除顏色外幾乎相同;而大部分車輛的正面,尤其是前擋風(fēng)玻璃處,則因?yàn)檐囍鞯膫€(gè)人喜好等因素,會有較為明顯的差異.對從俯視角度獲取的車輛圖像,車頂與車輛正面所占面積大小可能幾乎相同,而車輛正面更可能包含豐富的鑒別特征.因此,為反映車輛各組件的特征向量對其在車輛重識別任務(wù)中的重要程度,本文引入一個(gè)可學(xué)習(xí)的車輛組件注意力編碼向量E∈C(C為組件特征的通道數(shù))對各組件的特征向量進(jìn)行編碼.組件i的特征注意力Ui可以表示為
(8)
其中
(9)
注意力編碼向量的初始化為EO=(1/C,…,1/C),不包含特定的語義信息,但經(jīng)過學(xué)習(xí)后,該編碼向量呈現(xiàn)出相當(dāng)豐富的語義信息.圖3為一個(gè)通過網(wǎng)絡(luò)優(yōu)化后的編碼向量的可視化示例,圖4為該編碼向量各通道的數(shù)值分布.
Fig. 3 Weights of attention embedding vector圖3 注意力編碼向量的權(quán)重
Fig. 4 Distribution of weights in attention embedding vector圖4 注意力編碼向量的權(quán)重分布
最終的車輛組件注意力為面積注意力H和特征注意力U的加權(quán)之和:
A=λHH+λUU.
(10)
為了更好地確定2種注意力各自的權(quán)重,本文引入了一種門控機(jī)制Q,使2種注意力在融合時(shí)的權(quán)重λH與λU由網(wǎng)絡(luò)學(xué)習(xí)得到:
λH,λU=Q(LH(H)+bH,LU(U)+bU),
(11)
其中,LH與LU均為全連接層,bH與bU為可學(xué)習(xí)的偏差,Q為softmax函數(shù).
針對車輛重識別問題,本文應(yīng)用三元組損失函數(shù)對網(wǎng)絡(luò)進(jìn)行優(yōu)化;同時(shí),為提高重識別性能,還分別設(shè)計(jì)了使用車輛整體特征與組件特征的分類任務(wù),用于輔助車輛重識別網(wǎng)絡(luò)的訓(xùn)練.實(shí)驗(yàn)結(jié)果表明采用分類任務(wù)確實(shí)有助于提升網(wǎng)絡(luò)的性能.
針對車輛重識別問題,本文采用三元組損失函數(shù)[16].首先,對于車輛整體特征fG,應(yīng)用三元組損失函數(shù),即
(12)
其中,Dap=dis(fG,a,fG,p)表示車輛圖像a與相應(yīng)的正樣本p的整體特征fG,a與fG,p之間的歐氏距離;Dan=dis(fG,a,fG,n)表示車輛圖像a與相應(yīng)的負(fù)樣本n的整體特征fG,a與fG,n之間的歐氏距離;α表示正負(fù)樣本間的最小距離.
(13)
(14)
(15)
在此基礎(chǔ)上應(yīng)用三元組損失,即
(16)
(17)
針對輔助網(wǎng)絡(luò)訓(xùn)練的分類問題,分為基于車輛整體特征的分類與基于車輛組件特征的分類.對于車輛各組件特征的分類,首先由組件注意力模塊得到車輛各組件的權(quán)重A∈N,N=4,對車輛各組件特征進(jìn)行加權(quán)求和,得到
(18)
將加權(quán)后得到的特征fL與車輛整體特征fG分別輸入全連接分類器,激活函數(shù)采用softmax,預(yù)測車輛圖像所屬的類別,然后對車輛整體特征fG的預(yù)測應(yīng)用交叉熵?fù)p失LossCE,對特征fL的預(yù)測應(yīng)用focal損失[17]Lossfocal,其調(diào)節(jié)因子α=0.25,γ=2.
最終用于訓(xùn)練網(wǎng)絡(luò)的損失函數(shù)為以上各部分之和,即
Loss=LossCE+Lossfocal+Losstriplet.
(19)
本文方法基于Pytorch[18]實(shí)現(xiàn),對在ImageNet上進(jìn)行預(yù)訓(xùn)練的ResNet-50[15]進(jìn)行修改作為車輛重識別的骨干網(wǎng)絡(luò),利用Adam[19]優(yōu)化器對網(wǎng)絡(luò)進(jìn)行優(yōu)化,批大小(batch size)為72,設(shè)置權(quán)重衰減(weight decay)為4×10-5,網(wǎng)絡(luò)的最大學(xué)習(xí)率為4×10-4,并且進(jìn)行學(xué)習(xí)率預(yù)熱(warm-up)[15],在初始的10個(gè)訓(xùn)練輪次中學(xué)習(xí)率從4×10-5逐漸線性增大至最大.網(wǎng)絡(luò)共訓(xùn)練120輪,且在第40,70輪連續(xù)對學(xué)習(xí)率乘以0.1.對輸入的圖像,首先在圖像邊緣增加10個(gè)像素的空白,同時(shí)還對訓(xùn)練圖片使用隨機(jī)擦除(random erasing)[20]、水平翻轉(zhuǎn)(horizonal flipping)[21]等數(shù)據(jù)增強(qiáng)手段以豐富訓(xùn)練數(shù)據(jù).
在推理階段,本文所設(shè)計(jì)的網(wǎng)絡(luò)對所有輸入的圖像提取全局特征向量與各組件特征向量,分別根據(jù)車輛的全局特征向量與各組件特征向量計(jì)算出車輛圖像間的全局特征距離DG和組件特征距離DL,最終進(jìn)行車輛重識別計(jì)算的圖像間距離D=DG+λDL,其中λ為平衡參數(shù),λ=1.
本文所有代碼均基于Pytorch1.7.1,CUDA10.2,Python3.7,實(shí)驗(yàn)平臺的硬件配置為i7-6950x+3×GTX1080ti,內(nèi)存為64 GB,操作系統(tǒng)為Ubuntu 18.04 LTS.在該平臺上,訓(xùn)練本文所提出的網(wǎng)絡(luò)(120輪)需要大約13 h進(jìn)行推理時(shí),每批樣本耗時(shí)約618 ms,平均每樣本耗時(shí)85.8 ms.
為評估所提出網(wǎng)絡(luò)的性能,在Veri-776[22]數(shù)據(jù)集與VehicleID[9]數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).Veri-776數(shù)據(jù)集包括了由20個(gè)監(jiān)控?cái)z像頭拍攝到的776輛車的圖像,共計(jì)50 000張,并被劃分為包含來自576輛車的37 778張圖像作為訓(xùn)練集和來自200輛車的11 579張圖像作為測試集.在Veri-776數(shù)據(jù)集中,保證檢索圖像與正確的被檢索圖像必須是由不同攝像頭拍攝的,在進(jìn)行重識別性能評價(jià)時(shí),計(jì)算全類平均正確率(mean average precision,mAP)與累積匹配曲線(cumulative matching characteristics,CMC).VehicleID數(shù)據(jù)集使用來自13 134輛車的110 178張圖像與來自13 113輛車的111 585張圖像分別作為訓(xùn)練集與測試集.對于每輛不同的車,隨機(jī)選擇其中的1張圖像作為檢索圖像,其余作為被檢索圖像,且重復(fù)測試10次,取這10次測試中的平均性能指標(biāo)作為最終的性能評價(jià)指標(biāo),在測試重識別性能時(shí)僅計(jì)算CMC.下文及表中CMC@k表示CMC曲線在第k位的值.
為驗(yàn)證本文提出的PPAAF網(wǎng)絡(luò)的有效性,與近年來的部分優(yōu)秀重識別算法進(jìn)行了性能比較.比較的方法包括:1)OIFE[8].該方法提取了車輛的20種關(guān)鍵點(diǎn)的特征并隨后將特征對齊進(jìn)行比較,該方法還利用了時(shí)空信息.2)VAMI[12].該方法通過視角感知的注意力模型,獲取多個(gè)視角的注意力映射,并利用生成對抗機(jī)制,通過單視角的特征和注意力映射生成多視角特征.3)EALN[23].該方法通過在指定的嵌入空間內(nèi)生成難樣本而不是從訓(xùn)練集中選擇難樣本來提高重識別任務(wù)的性能.4)AAVER[24].該方法利用一個(gè)2分支網(wǎng)絡(luò)分別捕捉車輛的整體特征與車輛各關(guān)鍵點(diǎn)的局部特征,并結(jié)合車輛的朝向特征來進(jìn)行重識別任務(wù).5)RAM[25].該方法在抽取了車輛全局特征的基礎(chǔ)上,將車輛圖像水平均分為3部分,并分別在這3部分中抽取車輛的局部特征用于重識別任務(wù).6)VANet[13].該方法針對方向相同的車輛圖像對與方向不同的車輛圖像對,將視角關(guān)系不同的圖像對分別在不同的特征空間中進(jìn)行度量學(xué)習(xí).7)DFLNet[26].該方法利用生成對抗網(wǎng)絡(luò)的思想,分別抽取出與視角有關(guān)和與視角無關(guān)的圖像特征,并根據(jù)圖像對的視角關(guān)系選取對應(yīng)的特征進(jìn)行比較.8)PRN[7].該方法主要利用車輛的車窗、車燈與車牌的特征對車輛進(jìn)行區(qū)分.9)PVEN[14].該方法將車輛劃分為正面、背面、頂面和側(cè)面4部分,結(jié)合車輛的整體特征與4部分的特征進(jìn)行重識別計(jì)算.在VehicleID數(shù)據(jù)集與Veri-776數(shù)據(jù)集的比較結(jié)果分別如表1、表2所示:
Table 1 Performance Comparison of Different Methods on VehicleID Dataset
Table 2 Performance Comparison of Different Methods on Veri-776 Dataset
Fig. 5 Ranking results obtained by baseline and our method for some hard samples圖5 基準(zhǔn)與本文方法對一些難樣本的排序結(jié)果
Table 3 Effects of PAM and Multi-task Loss表3 PAM與多任務(wù)損失的影響
Table 4 Effects of SA, FA and Their Combinations表4 SA,F(xiàn)A及其融合的影響
針對利用車輛特征進(jìn)行的2項(xiàng)分類任務(wù),本文同樣進(jìn)行了實(shí)驗(yàn)以驗(yàn)證其有效性,Veri-776數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表5所示.結(jié)果表明,如果不進(jìn)行分類任務(wù)(無LossCE,無Lossfocal),網(wǎng)絡(luò)的性能受到大幅度削弱,相比基準(zhǔn),mAP降低了8.4%,CMC@1降低了約6.0%;不利用車輛的整體特征進(jìn)行分類任務(wù)(無LCE),使網(wǎng)絡(luò)的性能受到了較大的影響,相比基準(zhǔn),mAP降低了2.1%,CMC@1降低了約0.2%;不利用車輛的組件特征進(jìn)行分類任務(wù)(無Lfocal),也使得網(wǎng)絡(luò)的性能受到了一定程度的影響,相比本文方法,mAP降低了1.3%,CMC@1降低了約0.3%.
Table 5 Effects of Two Auxiliary Tasks表5 2種輔助任務(wù)的影響
在推理過程中,計(jì)算車輛重識別排序需要指定超參數(shù)λ.為研究λ的取值對重識別性能的影響,分別在不使用PAM和使用PAM的情況下,調(diào)整λ的取值,并記錄對應(yīng)的mAP與CMC@k的值.使用PAM前后λ的取值對網(wǎng)絡(luò)性能的影響如表6和表7所示:
Table 6 Effect of λ Without PAM on the Performance表6 不使用PAM時(shí)λ對性能的影響
Table 7 Effect of λ with PAM on the Performance表7 使用PAM時(shí)λ對性能的影響
結(jié)果表明,不使用PAM時(shí),當(dāng)λ=0.5,網(wǎng)絡(luò)的性能達(dá)到最優(yōu),此時(shí)mAP=0.795;使用PAM時(shí),當(dāng)λ=1.0,網(wǎng)絡(luò)的性能達(dá)到最優(yōu),此時(shí)mAP=0.805.使用PAM使網(wǎng)絡(luò)性能在mAP上提升了約0.01.
λ表示車輛組件特征距離在最終計(jì)算車輛重識別時(shí)對各車輛圖像對間總特征距離的貢獻(xiàn)程度,λ越大,則車輛的組件特征距離越有效.因此,本文所提出的PAM不僅提升了網(wǎng)絡(luò)的性能,還提升了網(wǎng)絡(luò)提取各組件特征的有效性.
本文利用修改后的深度殘差網(wǎng)絡(luò)與帶掩膜的全局平均池化分別抽取了車輛的整體特征與各組件的特征,并將多種注意力機(jī)制進(jìn)行融合,使得網(wǎng)絡(luò)可以精確地計(jì)算圖像對之間的總特征距離,從而給出更加準(zhǔn)確的車輛重識別結(jié)果.實(shí)驗(yàn)表明,融合了多種注意力機(jī)制的方法不但能夠在多個(gè)車輛重識別數(shù)據(jù)集上取得更優(yōu)的性能表現(xiàn),而且能夠提高所抽取的車輛組件特征的有效性.然而,本文研究仍未完全擺脫依賴于獨(dú)立檢測器的桎梏,所采用的車輛組件語義分割模塊獨(dú)立于整個(gè)網(wǎng)絡(luò),且車輛組件的語義分割結(jié)果對重識別模塊的性能表現(xiàn)存在一定影響.在后續(xù)的研究中將嘗試解決這些問題.
作者貢獻(xiàn)聲明:胡煜負(fù)責(zé)文獻(xiàn)調(diào)研、方法與實(shí)驗(yàn)設(shè)計(jì)、論文撰寫和全文修訂;陳小波負(fù)責(zé)提出指導(dǎo)意見、框架設(shè)計(jì)和全文修訂;梁軍負(fù)責(zé)提出指導(dǎo)意見和全文修訂;陳玲負(fù)責(zé)內(nèi)容設(shè)計(jì)和實(shí)驗(yàn)結(jié)果分析;梁書榮負(fù)責(zé)論文撰寫和全文修訂.