李俊峰,樓 瓊,錢亞冠,孫安臨
(浙江科技學院 理學院,杭州 310023)
行人重識別是在多個不同攝像機視角下檢索同一目標人物的過程[1],廣泛應用于視頻監(jiān)控、安全防范和智能城市,因而在計算機視覺中受到越來越多的關(guān)注[2-4]。然而,在夜晚或者黑暗的環(huán)境下,可見光攝像機無法捕獲有效的外觀信息,行人重識別受到限制,對此大多數(shù)監(jiān)控攝像機可以自動從可見光(red-green-blue,RGB)模式切換到紅外(infrared,IR)模式。這有助于攝像機在夜間工作,為研究真實場景中的跨模態(tài)匹配問題提供了方便。
可見光-紅外跨模態(tài)行人重識別要匹配行人在不相交攝像機下的RGB圖像和IR圖像,除了面對由不同的姿勢、光照、視角和遮擋引起的識別困難之外,還要減少RGB和IR圖像之間較大的跨模態(tài)差異。陳丹等[5]將跨模態(tài)行人重識別中現(xiàn)有的方法分為三類,即基于特征學習的方法、基于度量學習的方法、基于模態(tài)轉(zhuǎn)換的方法?,F(xiàn)有的大多數(shù)跨模態(tài)行人重識別方法主要還是通過特征學習和度量學習來減少RGB和IR圖像之間的跨模態(tài)差異。Wu等[6]首次定義了可見光-紅外跨模態(tài)行人重識別問題,并收集了一個大型跨模態(tài)數(shù)據(jù)集SYSU-MM01,還提出了一種深度零填充方法,為跨模態(tài)行人重識別的研究打開了大門。Ye等[7]指出跨模態(tài)行人重識別同時受到跨模態(tài)和模態(tài)內(nèi)變化的影響,并對此提出了特征學習和度量學習的兩步框架。然而,這樣的兩階段訓練過程需要大量的人工干預,并不實用;于是Ye等[8]又提出了一種端到端的雙流網(wǎng)絡(luò)來同時處理跨模態(tài)和模態(tài)內(nèi)變化,避免了大量的人工干預。但是上述方法存在兩個問題:一是僅從特征級別增加約束,直接將不同模態(tài)的圖像共享到同一特征空間中進行特征提取,這就忽略了模態(tài)差異的獨特性,難以彌補兩種模態(tài)之間較大的跨模態(tài)差異;二是直接對RGB和IR圖像進行全局集合級對齊,容易導致某些實例失調(diào)。針對第一個問題,有研究通過模態(tài)轉(zhuǎn)換來縮小模態(tài)間的差距,如馮敏等[9]使用循環(huán)生成對抗網(wǎng)絡(luò)和度量學習來分別減少模態(tài)差異和外觀差異;Wang等[10]聯(lián)合圖像級和特征級網(wǎng)絡(luò)將RGB和IR圖像互相轉(zhuǎn)換,以減少模態(tài)差異和外觀差異;Wang等[11]還提出了基于像素級和特征級約束的對齊生成對抗網(wǎng)絡(luò)(alignment generative adversarial network,AlignGAN),該模型不僅能夠減少跨模態(tài)和模態(tài)內(nèi)差異,還能保持身份一致性。針對第二個問題也有新方法提出,即通過同時執(zhí)行全局集合級和細粒度實例級對齊來解決,如Wang等[12]將RGB和IR圖像分解為模態(tài)特定特征和模態(tài)不變特征,通過分離模態(tài)特定特征進行集合級對齊,交換模態(tài)特定特征生成配對圖像進行實例級對齊。
綜上所述,現(xiàn)有的跨模態(tài)行人重識別方法大都是單純依靠集合級對齊的特征對齊方法,這種方法很難彌補較大的跨模態(tài)差異,而且容易忽略實例級對齊。因此,我們提出了聯(lián)合像素對齊和特征對齊的新方法,本方法包括像素對齊和特征對齊2個模塊,可以同時解決上述兩個問題。
針對可見光-紅外跨模態(tài)行人重識別提出的模型框架如圖1所示。我們提出的方法包括像素對齊和特征對齊2個模塊。在像素對齊模塊中,利用AlignGAN[11]將RGB圖像生成假的IR圖像,這樣做不僅縮小了數(shù)據(jù)間的跨模態(tài)差距,而且還增廣了數(shù)據(jù)集。在特征對齊模塊中,首先利用編碼器和解碼器分解交換模態(tài)特定特征來生成跨模態(tài)配對圖像,然后使用與模態(tài)不變編碼器共享權(quán)重的編碼器進行集合級對齊,并通過最小化配對圖像之間的距離來進一步進行實例級對齊[12]。此外,我們還將嵌入非局部塊[13]的ResNet-50網(wǎng)絡(luò)作為卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的骨干,用于捕獲長距離依賴關(guān)系,這有效建立了圖像中不同像素點之間的聯(lián)系,提升了網(wǎng)絡(luò)性能。
圖1 跨模態(tài)行人重識別模型框架
在這一模塊中,我們的目的是將SYSU-MM01數(shù)據(jù)集中的所有RGB圖像通過AlignGAN轉(zhuǎn)換生成假IR圖像X′ir,并將其與SYSU-MM01數(shù)據(jù)集組成的新數(shù)據(jù)集作為整個框架的輸入圖像,從數(shù)據(jù)集源頭縮小跨模態(tài)差距。AlignGAN由像素生成器、特征生成器和聯(lián)合判別器3個部分組成。像素生成器將真實的RGB圖像Xrgb轉(zhuǎn)換成假的IR圖像X′ir,以此來縮小跨模態(tài)差距,生成的假IR圖像X′ir在擁有IR風格的同時原有的RGB身份信息還能保持不變。特征生成器將真實的紅外圖像Xir和假的紅外圖像X′ir編碼到共享空間中,以此來減少由不同姿勢、視角、照明等引起的模態(tài)內(nèi)變化。聯(lián)合判別器可以鑒別輸入圖像的真?zhèn)?同時保持身份的一致性。
1.1.1 像素生成器
為了減少RGB和IR圖像之間較大的跨模態(tài)差異,引入了一個像素生成器Gp,其生成的假紅外圖像X′ir可用于彌合RGB和IR圖像之間的差距。像素生成器和判別器之間的生成對抗作用[14]可以使X′ir更加真實,其產(chǎn)生的對抗損失
(1)
式(1)中:X為圖像;M為圖像特征;(X,M)為圖像特征對;(X′ir,Mir)為假紅外圖像和真紅外特征的圖像特征對。
(2)
其次,引入了一個分類損失,促使X′ir與對應的Xrgb身份保持一致。分類損失
(3)
式(3)中:p(·)為輸入真實身份的預測概率。假紅外圖像X′ir的真實身份的預測概率與相應的原始RGB圖像Xrgb相同。
最后,引入了一個像素級三重態(tài)函數(shù)。普通三重態(tài)損失及像素級三重態(tài)損失的定義分別為
Ltri(X1,X2,X3)=E{[m-Dxa,xp+Dxa,xn]+}
s.t.xa∈X1,xp∈X2,xn∈X3;
(4)
(5)
式(4)中:[x]+=max(0,x);m為一個邊際系數(shù),通常設(shè)置為1.0;Dx1,x2為x1和x2之間的余弦距離;xa和xp為屬于同一身份的正對;xa和xn為屬于不同身份的負對。
綜上所述,像素對齊模塊的總損失
(6)
1.1.2 特征生成器
為了減少由不同姿勢、照明、視角、遮擋等引起的模態(tài)內(nèi)變化,引入一個特征生成器Gf。特征生成器和判別器的對抗損失
(7)
式(7)中:(Xir,M′ir)為真紅外圖像和假紅外特征的圖像特征對。
特征生成器通過最小化基于身份的分類損失[16]和三重態(tài)損失[17]來達到學習更加真實的身份特征的目的。分類損失和三重態(tài)損失分別為
(8)
(9)
式(8)~(9)中:(Xir∪X′ir)表示特征生成器以Xir和X′ir作為輸入。
因此,特征對齊模塊的總損失
(10)
1.1.3 聯(lián)合判別器
為了學習身份一致性特征,引入一個聯(lián)合判別器Dj。聯(lián)合判別器以圖像特征對(X,M)作為輸入,以0或1作為輸出,其中0表示假,1表示真。目標函數(shù)
(11)
傳統(tǒng)特征對齊方法通過縮小RGB和IR圖像集合之間的距離進行集合級對齊,這種做法忽略了模態(tài)差異的獨特性,可能會導致某些實例難以匹配。而本文的特征對齊方法是首先將模態(tài)特定特征和模態(tài)不變特征進行分離,在模態(tài)不變的特征空間中進行集合級對齊,然后通過交換模態(tài)特定特征生成跨模態(tài)配對圖像,進行實例級對齊。具體的特征對齊方法如圖2所示。
圖2 特征對齊方法
1.2.1 跨模態(tài)配對圖像生成
(12)
(13)
(14)
為了生成更加真實的配對圖像,需完成以下3步:首先,構(gòu)建一個重建損失,使分離的特征重建為原始圖像,
(15)
其次,引入一個循環(huán)一致?lián)p失,以保證生成的圖像可以保持原有的模態(tài)不變特征,并能被翻譯回原始版本。循環(huán)一致?lián)p失
(16)
式(16)中:Xir2rgb2ir和Xrgb2ir2rgb為循環(huán)重建的圖像。
最后,由于重建損失和循環(huán)一致?lián)p失的引入會導致圖像模糊,因此應用了對抗性損失,使圖像更加真實。運用判別項Disrgb和Disir來區(qū)分RGB和IR模態(tài)上的真實圖像和生成圖像,而運用編碼器和解碼器使真實圖像和生成圖像無法區(qū)分,以此來達到使生成的圖像更加真實的目的。生成對抗網(wǎng)絡(luò)(generative adversarial network,GAN)損失
Lgan=E[lgdisrgb(Xrgb)+lg(1-disrgb(Xir2rgb))]+E[lgdisir(Xir)+lg(1-disir(Xrgb2ir))]。
(17)
1.2.2 集合級與實例級對齊
在跨模態(tài)配對圖像生成模塊中,模態(tài)不變編碼器被訓練以消除模態(tài)特定特征。而集合級編碼器Esl的權(quán)重與模態(tài)不變編碼器Ei共享,因此它可以將消除過模態(tài)特定特征的RGB和IR圖像映射到共享的特征空間中,以減少集合級之間的模態(tài)差異。
實例級編碼器Eil將配對前圖像兩兩對齊,解決實例失調(diào)的問題。實例級編碼器Eil將集合級對齊特征M映射到一個新的特征空間T中;然后,通過最小化它們的KL散度(Kullback-Leibler divergence,KLD),對跨模態(tài)配對圖像進行對齊。實例級特征對齊損失
(18)
式(18)中:p1=C(t1)和p2=C(t2)分別為x1和x2在所有恒等式上的預測概率;t1和t2分別為特征空間T中x1和x2的特征;C為用完全連接層實現(xiàn)的分類器。
Lcls=Ev∈V(-lgp(v));
(19)
Ltriplet=Ev∈V[m-Dva,vp+Dva,vn]+。
(20)
式(19)~(20)中:v為特征向量,v=Eil(Esl(X));V為圖像的特征向量集;p(·)為分類器C預測的輸入特征向量正確的預測概率;va和vp為屬于同一人的正對特征向量,va和vn為屬于不同人的負對特征向量;m為邊緣參數(shù);[x]+=max(0,x)。
總損失
L=λcycLcyc+λganLgan+λalignLalign+λreid(Lcls+Ltriplet)。
(21)
式(21)中:λcyc=10;λgan=1;λreid=1;λalign由網(wǎng)格搜索決定。
捕捉長距離依賴關(guān)系即圖像中非相鄰像素點之間的關(guān)系,有利于對視覺場景的全局理解。傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)一般通過重復堆疊卷積層來獲取長距離依賴關(guān)系,隨著層數(shù)的加深,感受野也逐漸加大,最終捕獲全局感受野。然而,這種方式存在以下弊端:一是計算效率低,層的加深意味著參數(shù)量的增加;二是優(yōu)化過程困難,需要花更多精力在優(yōu)化過程中;三是建模困難,尤其是對于那些需要在不同距離位置傳遞信息的多級依賴項。
為了解決上述問題,非局部網(wǎng)絡(luò)通過自注意力機制[18]聚集來自其他位置的信息,進而構(gòu)建長距離依賴關(guān)系。首先,計算查詢位置和所有位置之間的成對關(guān)系形成關(guān)注圖;然后,基于關(guān)注圖定義的權(quán)重,通過加權(quán)和來聚集所有位置的特征;最后,聚集的特征最終被添加到每個查詢位置的特征上以形成輸出。使用非局部運算有如下優(yōu)點:非局部運算可以通過計算任意兩個位置之間的相互作用,直接得到長距離相關(guān)性;由于非局部操作輸入輸出大小保持不變,因此很容易與其他操作進行結(jié)合。
一般非局部運算[19]定義為
(22)
將非局部操作集成為非局部模塊,這樣做可以方便集成到許多網(wǎng)絡(luò)結(jié)構(gòu)中。非局部塊定義為
(1)蕭先生,那時我沒有哭么?我為什么沒有哭的聲音呢?蕭先生,你也知道我那時的眼淚,向心之深處流罷?唉,我為什么如此苦痛呢?因為你提醒我真的人生來了。你傷掉你底青春,可知你始終還有青春的。我想,我呢?我卻簡直沒有青春,簡直沒有青春,這是怎么說法的?蕭先生!
zi=wzyi+xi。
(23)
式(23)中:“+xi”表示殘差連接[20]。嵌入式高斯版本的非局部塊[13]如圖3所示,其中X為輸入的圖像,它的大小為H×W×1 024,H為圖像的長,W為圖像的寬,1 024為圖像的通道數(shù);θ、φ、g的輸入均為H×W×512的圖像,通道數(shù)為512;Z為式(23)中描述的非局部塊,它的大小同為H×W×1 024,這樣便于非局部塊嵌入到其他網(wǎng)絡(luò)中。
圖3 嵌入式高斯版本的非局部塊
深度神經(jīng)網(wǎng)絡(luò)的核心問題在于捕捉長距離依賴關(guān)系。非局部塊不僅可以高效地捕捉長距離依賴關(guān)系,而且可以靈活地與深度神經(jīng)網(wǎng)絡(luò)結(jié)合,它的出現(xiàn)有助于解決深度神經(jīng)網(wǎng)絡(luò)的核心問題。將非局部塊嵌入深度神經(jīng)網(wǎng)絡(luò)中,可以更有效地捕捉長距離依賴關(guān)系,同時將非局部信息和局部信息結(jié)合起來,可以更好地捕捉圖像的全局理解。鑒于以上原因,我們將嵌入非局部塊的ResNet-50作為整體框架的骨干網(wǎng)絡(luò),從而更直接且高效地獲得對跨模態(tài)行人重識別圖像的全局理解。
SYSU-MM01[6]是一個大型的跨模態(tài)行人重識別數(shù)據(jù)集,它包括來自4個可見光攝像機和2個紅外攝像機所拍攝的491個不同行人的圖像。訓練集包括395人的19 659張RGB圖像和12 792張IR圖像,另外96人的圖像用于測試。測試模式有全搜索模式和室內(nèi)搜索模式兩種。對于全搜索模式,使用所有攝像機拍攝的圖像;對于室內(nèi)搜索模式,僅使用來自1、2、3、6攝像機的室內(nèi)圖像。兩種模式下都分別采用單鏡頭和多鏡頭設(shè)置,其中單鏡頭設(shè)置是隨機選擇一個人的1張圖像來形成訓練集,而多鏡頭設(shè)置是隨機選擇一個人的10張圖像來形成訓練集。這兩種模式都使用IR圖像作為測試集,RGB圖像作為訓練集。
基于像素對齊模塊生成的訓練數(shù)據(jù)集見表1,訓練所使用的數(shù)據(jù)集由兩部分組成,包括通過AlignGAN將SYSU-MM01數(shù)據(jù)集中的1、2、4、5這四個可見光攝像機拍攝的RGB圖像轉(zhuǎn)換而成的IR圖像(表1中字體加粗部分),以及SYSU-MM01數(shù)據(jù)集中的所有圖像(表1中其他部分),其中1′、2′、4′、5′攝像機可理解為與1、2、4、5攝像機相對應的虛擬攝像機。為了公平比較,測試在大型公開數(shù)據(jù)集SYSU-MM01上進行。
表1 基于像素對齊模塊生成的訓練數(shù)據(jù)集
評價指標采用累計匹配特性(cumulative match characteristics,CMC)和均值平均精度(mean average precision,mAP)。CMC曲線,一般又稱為排名(rank)曲線,它根據(jù)返回結(jié)果列表計算正確識別概率,但是它只適用于2個攝像頭之間的識別;而mAP適用于跨多個攝像頭之間的識別任務,因此mAP的應用也越來越廣泛。SYSU-MM01的結(jié)果用官方代碼進行評估,該代碼基于10次重復隨機分割的訓練和測試的平均值。
在特征學習模塊中,采用嵌入非局部塊的ResNet-50作為CNN骨干,將網(wǎng)絡(luò)的前兩層作為集合級編碼器,其余層作為實例級編碼器。嵌入非局部塊的方式是在ResNet-50中一個階段的最后一個殘差塊之前添加的。在非局部塊添加個數(shù)試驗中我們做兩種嘗試,一種是添加5個非局部塊到第3和第4階段,其中2個非局部塊在第3階段,3個非局部塊在第4階段,方式為每隔一個殘差塊嵌入一個非局部塊;另一種是添加10個非局部塊到第3和第4階段,其中5個非局部塊在第3階段,5個非局部塊在第4階段,方式為每個殘差塊都添加。試驗證明兩種方式區(qū)別不大,為了減少計算量和參數(shù)量,我們選擇了第一種嵌入方法。
本模型基于pytorch深度學習框架來實現(xiàn)。GAN的輸入圖像大小設(shè)置為[128,64],re-ID的輸入圖像大小設(shè)置為[256,128]。應用隨機水平翻轉(zhuǎn)進行數(shù)據(jù)增強。整個訓練過程設(shè)置為650個迭代,GAN的PK采樣參數(shù)設(shè)置為p=3和k=3,re-ID的PK采樣參數(shù)設(shè)置為p=16和k=4。優(yōu)化采用超參數(shù)為GAN的β=[0.5,0.999],權(quán)重衰減率為0.000 1,re-ID的β=[0.9,0.999],權(quán)重衰減率為0.000 5的Adam優(yōu)化器??缒B(tài)配對圖像的生成模塊中,學習率設(shè)置為0.000 1,特征對齊模塊中,學習率設(shè)置為0.000 45。
為了證明本方法的有效性,將其與大多數(shù)相關(guān)方法進行了比較,在SYSU-MM01數(shù)據(jù)集上的模型效果對比試驗結(jié)果見表2,由表可知我們的方法明顯優(yōu)于現(xiàn)有大多數(shù)方法。在SYSU-MM01數(shù)據(jù)集上,本文方法的Rank-1為41.8%,mAP為39.4%,與Wang等[12]提出的模型相比,分別提高3.7%和2.5%。這證明了我們的方法對于跨模態(tài)行人重識別任務的有效性。
表2 在SYSU-MM01數(shù)據(jù)集上的模型效果對比試驗結(jié)果
為了進一步分析本方法的有效性,我們進行了消融試驗,結(jié)果見表3。試驗結(jié)果表明在跨模態(tài)行人重識別的研究中,不論是通過AlignGAN對數(shù)據(jù)進行預處理,還是在ResNet-50中嵌入非局部塊,都能取得很好的效果,而且二者結(jié)合效果更佳,這說明了本方法的有效性。
表3 在SYSU-MM01數(shù)據(jù)集上的模型消融試驗結(jié)果
為了更好地展示像素對齊和跨模態(tài)配對圖像生成的效果,對其進行了可視化。圖4為像素對齊和跨模態(tài)配對圖像的生成效果圖,從圖中可以看到,通過像素對齊生成的假紅外圖像X′ir在具有紅外風格的同時還保持了對應的真實RGB圖像的模態(tài)不變特征(如視圖、姿勢等);當給出來自一個人的跨模態(tài)未配對圖像時,不論它是真實的RGB和IR圖像,還是生成的假紅外圖像X′ir,我們的方法都可以穩(wěn)定地生成相應跨模態(tài)配對圖像。此外,除了在簡單場景中的測試,我們還進行了復雜場景中的試驗,都得到了相對較好的效果。例如,在跨模態(tài)配對圖像生成試驗中,當紅外圖像Xir和假紅外圖像X′ir分別生成可見光圖像Xir2rgb和Xir′2rgb時,行人B和行人D就處在復雜的場景中(行人B面前有椅子,即遮擋;行人D身后有臺階,即背景復雜),當可見光圖像Xrgb生成紅外圖像Xrgb2ir時,行人B和行人C就處在復雜的場景中(行人B身邊有汽車,即背景復雜;行人C的身后有椅子和樹木,即背景復雜)。
圖4 像素對齊和跨模態(tài)配對圖像的生成效果圖
但是客觀而論,生成的圖像還不夠清晰,有些部位很模糊,例如行人B在背景中有汽車的情況下生成的Xrgb2ir圖像,腿部是非常模糊的,這可能是褲子與汽車輪胎顏色相近導致的識別不清和邊界模糊。這也說明了在跨模態(tài)行人重識別領(lǐng)域的研究中,除了需要解決不同模態(tài)間較大的跨模態(tài)差異,傳統(tǒng)行人重識別所面臨的遮擋、視角變化、復雜背景等問題還亟待解決。
可見光-紅外跨模態(tài)行人重識別因具有很強的現(xiàn)實意義,近年來得到了廣泛的關(guān)注和研究,然而,如何減少不同模態(tài)間巨大的跨模態(tài)差異較為困難。本研究針對這個難題提出了一種聯(lián)合像素對齊和特征對齊的方法,本方法不僅能有效減少跨模態(tài)差異,還可以同時執(zhí)行集合級對齊和實例級對齊。除此之外,嵌入非局部塊的ResNet-50網(wǎng)絡(luò)在跨模態(tài)行人重識別的研究中,也取得了一定的突破。在SYSU-MM01數(shù)據(jù)集上得到了Rank-1為41.8%,mAP為39.4%的結(jié)果,實現(xiàn)了Rank-1上提升3.7%和mAP上提升2.5%的目標,試驗結(jié)果證明了本方法的有效性。