羅 琪,焦明海
東北大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,沈陽(yáng) 110000
行人重識(shí)別的任務(wù)主要是給定一個(gè)目標(biāo)人物的圖像,在已有的圖像集中選出與目標(biāo)人物身份一致的圖像。行人重識(shí)別方法包括表征學(xué)習(xí)和度量學(xué)習(xí),表征學(xué)習(xí)沒(méi)有直接在訓(xùn)練網(wǎng)絡(luò)的時(shí)候考慮圖片間的相似度,而把行人重識(shí)別任務(wù)當(dāng)作分類(lèi)問(wèn)題或者驗(yàn)證問(wèn)題來(lái)看待。而表征學(xué)習(xí)在訓(xùn)練時(shí)會(huì)考慮到同一行人的不同圖片間的相似度大于不同行人的不同圖片間的相似度,從而學(xué)習(xí)出兩張圖片的相似度[1-2]。近年來(lái),隨著監(jiān)控系統(tǒng)的普及,行人重識(shí)別技術(shù)也取得了很大的進(jìn)展。為了實(shí)現(xiàn)全天候監(jiān)控,使用可見(jiàn)光攝像頭和紅外攝像頭分別采集白天的可見(jiàn)光圖像和夜晚的紅外圖像。由于不同模態(tài)相機(jī)的波長(zhǎng)范圍不同,造成了較大的模態(tài)差異以及類(lèi)內(nèi)差異,導(dǎo)致兩種模態(tài)之間存在顯著的視覺(jué)差異,因此如何減小類(lèi)內(nèi)差異與模態(tài)差異,成為多模態(tài)行人重識(shí)別領(lǐng)域的重點(diǎn)和難點(diǎn)。此外,人物圖像通常是在不同的環(huán)境下拍攝的,有距離和角度的不同,使得訓(xùn)練圖像和測(cè)試圖像的人物大小以及所占圖像比例不同,進(jìn)而影響重識(shí)別的準(zhǔn)確率,因此本文提出了一種新的數(shù)據(jù)處理的方法,訓(xùn)練數(shù)據(jù)集得以增強(qiáng),使得模型更具有魯棒性[3-4]。
現(xiàn)有的多模態(tài)行人重識(shí)別研究中,提出了許多方法用于解決模態(tài)差異及類(lèi)內(nèi)差異。Wu等[5]提出一種域選擇的子網(wǎng)絡(luò),可以自動(dòng)選擇樣本所對(duì)應(yīng)的模態(tài),該方法將RGB圖像和紅外圖像作為兩個(gè)不同域的輸入,使用深度零填充后放入上述網(wǎng)絡(luò)中,使得所有輸入都可以用單流結(jié)構(gòu)來(lái)表示[5]。Dai 等[6]提出了一種新型的跨模態(tài)生成對(duì)抗網(wǎng)絡(luò)(cross-modality generative adversarial network,cmGAN),利用深度卷積神經(jīng)網(wǎng)絡(luò)作為生成器,生成公共子空間下RGB 和IR 圖像的表示,并利用模態(tài)分類(lèi)器作為鑒別器,對(duì)不同的模態(tài)進(jìn)行鑒別。此外,Wang等[7-8]通過(guò)模態(tài)之間互相轉(zhuǎn)換的方法,使用生成對(duì)抗網(wǎng)絡(luò)生成與輸入圖片相反的模態(tài),使得多模態(tài)問(wèn)題轉(zhuǎn)換為單模態(tài)問(wèn)題。Liu 等[9]提出的方法中將兩個(gè)模態(tài)的圖片分別輸入到兩個(gè)獨(dú)立的骨干網(wǎng)絡(luò)中,然后利用一些共享層將這些特定于模態(tài)的信息嵌入到一個(gè)公共空間中[10]。但上述方法對(duì)于網(wǎng)絡(luò)訓(xùn)練增加了額外的成本,相比之下,Ye等[11]提出一種模態(tài)感知協(xié)作的中層可共享的雙端網(wǎng)絡(luò),將Resnet50的第一層卷積層作為各自模態(tài)的淺層特征提取器,后四層卷積層作為共享網(wǎng)絡(luò),輸入融合兩個(gè)模態(tài)的淺層特征后繼續(xù)進(jìn)行特征提取,并使用三元組損失訓(xùn)練網(wǎng)絡(luò),該方法大大降低了訓(xùn)練難度,但上述方法魯棒性不高,對(duì)于一些姿態(tài)不對(duì)齊的圖片無(wú)法較好的識(shí)別。
為了彌補(bǔ)目前網(wǎng)絡(luò)識(shí)別效率低的問(wèn)題,本文在基于模態(tài)感知協(xié)作雙端共享網(wǎng)絡(luò)[11-13]的基礎(chǔ)上,將共享特征提取器上的卷積層嵌入非局部注意力塊(non-local attention blocks)[14],使得特征提取器可以提取到更多有效的特征,然后將兩個(gè)特定模態(tài)的特征拼接后輸入到共享網(wǎng)絡(luò)進(jìn)行特征提取,在進(jìn)行距離度量時(shí)采用聚類(lèi)損失函數(shù)[15]來(lái)代替三元組損失函數(shù),使得網(wǎng)絡(luò)在大規(guī)模數(shù)據(jù)集中的識(shí)別準(zhǔn)確率更高。由于行人重識(shí)別的主要任務(wù)是識(shí)別行人的身份,并不需要關(guān)注圖像是何種模態(tài),故本文舍棄了模態(tài)識(shí)別器以及模態(tài)識(shí)別損失,使得訓(xùn)練復(fù)雜度降低,減少了額外的成本。同時(shí)為了增加模型的魯棒性,提出一種預(yù)處理方法,使訓(xùn)練數(shù)據(jù)更接近真實(shí)數(shù)據(jù)。
在實(shí)際場(chǎng)景中,不同的攝像頭由于拍攝的角度和距離不同,導(dǎo)致得到的圖片與真實(shí)的行人大小比例不符,且圖片上半部分背景圖像占比較大,成為數(shù)據(jù)集中的難樣本,如圖1(a)所示,數(shù)據(jù)集中沒(méi)有足夠的該類(lèi)圖片對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,會(huì)使網(wǎng)絡(luò)更多的專(zhuān)注于正常比例的數(shù)據(jù),進(jìn)而降低了重識(shí)別的準(zhǔn)確率。本文針對(duì)上述問(wèn)題對(duì)數(shù)據(jù)進(jìn)行處理,使得訓(xùn)練圖像更貼近實(shí)際情況,使樣本更具有差異性,增加網(wǎng)絡(luò)訓(xùn)練難度,使模型具有魯棒性。
圖1 圖像處理前后對(duì)比Fig.1 Comparison before and after image processing
本文選擇每個(gè)行人身份所對(duì)應(yīng)數(shù)據(jù)集的1/4作為預(yù)處理的數(shù)據(jù)集,首先將數(shù)據(jù)集中的圖像大小統(tǒng)一調(diào)整為144×288,然后將訓(xùn)練數(shù)據(jù)的大小調(diào)整為108×216,即長(zhǎng)和寬縮小1/4,再將圖像左右兩側(cè)各填充18像素,下方填充72像素,使得圖像大小統(tǒng)一為144×288。最后將調(diào)整后的圖像與原數(shù)據(jù)一起作為訓(xùn)練數(shù)據(jù)。處理后的圖像如圖1(b)所示。
經(jīng)過(guò)該處理步驟后的圖像很好的模擬了真實(shí)監(jiān)控圖像中行人位置不對(duì)齊及大小比例不一致的問(wèn)題,使用預(yù)處理后的數(shù)據(jù)集增加了網(wǎng)絡(luò)訓(xùn)練的難度,使網(wǎng)絡(luò)更能適應(yīng)真實(shí)場(chǎng)景。使用該方法對(duì)數(shù)據(jù)集SYSU-MM01 和RegDB進(jìn)行重新構(gòu)建,使用文獻(xiàn)[11]提出的模態(tài)感知協(xié)作雙端共享網(wǎng)絡(luò)在構(gòu)建的新數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)表明,在SYSU-MM01的rank-1識(shí)別率下降了7.46個(gè)百分點(diǎn)(all serach 模式)和7.53 個(gè)百分點(diǎn)(indoor serach 模式),在RegDB 的rank-1 識(shí)別率下降了5.79 個(gè)百分點(diǎn)(visible to thermal 模式)和5.82 個(gè)百分點(diǎn)(thermal to visible模式)。
當(dāng)前深度神經(jīng)網(wǎng)絡(luò)中的特征提取器都是基于卷積網(wǎng)絡(luò)來(lái)提取特征,普通的卷積操作屬于局部操作,無(wú)法捕獲長(zhǎng)范圍的依賴(lài),非局部注意力塊可以將更大范圍內(nèi)有關(guān)聯(lián)的樣本點(diǎn)進(jìn)行融合,有效地捕獲長(zhǎng)范圍的依賴(lài),其結(jié)構(gòu)如圖2 所示。本文將Resnet50 網(wǎng)絡(luò)的后四層卷積層使用非局部注意力塊代替,同時(shí)去除了模態(tài)分類(lèi)器,讓網(wǎng)絡(luò)更多的關(guān)注于圖像的內(nèi)容而非模態(tài),降低了訓(xùn)練復(fù)雜度。
圖2 非局部注意力塊網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of non-local attention blocks
如圖3所示,本文采用改進(jìn)的Resnet50作為骨干網(wǎng)絡(luò),網(wǎng)絡(luò)的前半部分有兩個(gè)輸入,分別輸入可見(jiàn)光圖像和紅外圖像,經(jīng)過(guò)各自的卷積網(wǎng)絡(luò)提取淺層特征后,將得到的兩個(gè)特征進(jìn)行拼接,輸入共享網(wǎng)絡(luò)進(jìn)行深度特征提取,進(jìn)行歸一化操作后,使用聚類(lèi)損失對(duì)特征進(jìn)行距離度量;使用兩個(gè)特定模態(tài)分類(lèi)器輔助共享分類(lèi)器的學(xué)習(xí),同時(shí)為了便于分類(lèi)器之間的知識(shí)轉(zhuǎn)移,使用集成學(xué)習(xí)損失Le和一致性損失Lc來(lái)訓(xùn)練分類(lèi)器。
圖3 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Network structure
卷積操作在空間上只能處理一個(gè)局部區(qū)域,想要捕獲長(zhǎng)范圍依賴(lài)關(guān)系只能依靠重復(fù)操作,逐步傳遞信號(hào)。非局部操作是以輸入特征圖中所有位置特征的加權(quán)和來(lái)計(jì)算某一位置的響應(yīng),以此來(lái)捕獲深度神經(jīng)網(wǎng)絡(luò)的長(zhǎng)范圍依賴(lài)關(guān)系。在共享網(wǎng)絡(luò)中對(duì)多模態(tài)圖片進(jìn)行特征提取,需要關(guān)注兩種模態(tài)的圖片中有關(guān)聯(lián)的部分,即多模態(tài)圖像的共有特征,使用非局部操作可以更高效地提取兩種圖像的共有特征。在訓(xùn)練過(guò)程中,每個(gè)模態(tài)輸入相同數(shù)量的圖片。首先選擇P個(gè)人物身份,每個(gè)身份分別選擇K個(gè)可見(jiàn)光圖像和K個(gè)紅外圖像,不同模態(tài)的圖像分別輸入到相對(duì)應(yīng)的網(wǎng)絡(luò)通道內(nèi)。整個(gè)訓(xùn)練過(guò)程的batch size大小為2P×K。
1.3.1 聚類(lèi)損失
目前的行人重識(shí)別任務(wù)中多使用三元組損失來(lái)進(jìn)行度量學(xué)習(xí),然而三元組損失僅考慮三個(gè)樣本的距離和標(biāo)簽,沒(méi)有充分利用更多的樣本,同時(shí)為了使訓(xùn)練更有效,必須進(jìn)行難樣本挖掘,這個(gè)過(guò)程是耗時(shí)的,并且隨著數(shù)據(jù)集變得更大,選擇出的三元組數(shù)量會(huì)更多,使得訓(xùn)練復(fù)雜度提高。隨著訓(xùn)練的進(jìn)行,網(wǎng)絡(luò)更多的關(guān)注那些難樣本,而忽略大部分的普通樣本。因此,本文使用聚類(lèi)損失來(lái)替換三元組損失,該聚類(lèi)損失基于均值來(lái)計(jì)算距離,使得損失函數(shù)不僅最小化難樣本之間的距離,還間接地最小化所有類(lèi)內(nèi)圖像之間基于均值的距離,從而提高訓(xùn)練效率。其原理如圖4所示。
圖4 多模態(tài)聚類(lèi)示意圖Fig.4 Schematic diagram of multimodal clustering
設(shè)f v(x) 、f t(x) 分別表示輸入x經(jīng)過(guò)網(wǎng)絡(luò)中L2 Norm 層后得到的可見(jiàn)光圖像特征和紅外光圖像特征,對(duì)于同一個(gè)批次中K個(gè)相同模態(tài)的樣本,某一身份i的平均特征可表示為:
其中ω(t)是一個(gè)逐步上升的S性函數(shù),隨著訓(xùn)練次數(shù)的增加而從0增加到1。
SYSU-MM01數(shù)據(jù)集[5]是一個(gè)大規(guī)模的跨模態(tài)Re-ID人物數(shù)據(jù)集,由中山大學(xué)校園內(nèi)的4個(gè)普通RGB攝像機(jī)和2個(gè)近紅外攝像機(jī)所采集。SYSU-MM01包含491個(gè)身份,每個(gè)身份出現(xiàn)在兩個(gè)以上不同的相機(jī)中。數(shù)據(jù)集共有287 628 張RGB 圖像和15 792 張紅外圖像。該數(shù)據(jù)集有固定的訓(xùn)練集和測(cè)試集,訓(xùn)練集共有32 451張圖像,其中RGB圖像19 659張,紅外圖像12 792張。SYSUMM01 數(shù)據(jù)集同時(shí)包含室內(nèi)和室外環(huán)境下拍攝的圖片,因此使用該數(shù)據(jù)集進(jìn)行測(cè)試時(shí)可分為all serach和indoor search兩種模式。
RegDB[16]是由雙攝像機(jī)系統(tǒng)采集的小型數(shù)據(jù)集,包括1臺(tái)可見(jiàn)攝像機(jī)和1臺(tái)熱敏攝像機(jī)。這個(gè)數(shù)據(jù)集總共包含412個(gè)身份,其中每個(gè)身份有10個(gè)可見(jiàn)光圖像和10個(gè)紅外圖像。本文實(shí)驗(yàn)中分別將可見(jiàn)光圖像和紅外圖像作為query,同時(shí)將另一模態(tài)的圖片作為gallary 進(jìn)行實(shí)驗(yàn)。
本文采用累計(jì)匹配特征(CMC)和平均精度(mAP)作為評(píng)價(jià)指標(biāo)。CMC測(cè)量對(duì)應(yīng)標(biāo)簽的人物圖像在top-k檢索結(jié)果中出現(xiàn)的匹配概率,mAP 用于度量給定查詢(xún)圖像在圖像集中出現(xiàn)多個(gè)匹配圖像時(shí)的檢索性能。
2.2.1 參數(shù)設(shè)置
本文實(shí)驗(yàn)的環(huán)境為:Intel Core i7-8700 CPU(3.2 GHz),顯卡NVIDIA RTX 2080Ti,顯存11 GB、內(nèi)存16 GB,64位Ubuntu 16.04系統(tǒng),Python 3.6、Pytorch 1.0.1。
本文將輸入圖片大小設(shè)置為288×144,進(jìn)行數(shù)據(jù)增強(qiáng)時(shí)對(duì)原圖片進(jìn)行零填充10 個(gè)像素,再隨機(jī)裁剪為288×144大小的圖片,最后隨機(jī)水平翻轉(zhuǎn)。增強(qiáng)后的數(shù)據(jù)集大小與2.1節(jié)中原數(shù)據(jù)集大小一致。在每次訓(xùn)練中隨機(jī)選取P=8 個(gè)身份標(biāo)簽,然后在數(shù)據(jù)集中隨機(jī)選取對(duì)應(yīng)身份的K=4 個(gè)可見(jiàn)光圖像及K=4 個(gè)紅外圖像,即每個(gè)批次訓(xùn)練包含32 張可見(jiàn)光圖像和32 張紅外圖像,總的訓(xùn)練批次大小為64。訓(xùn)練迭代次數(shù)為60,學(xué)習(xí)率在前10次迭代中由0.01遞增到0.1,在第10到第30次迭代中保持為0.1,30 次以后為0.01。其余參數(shù)設(shè)置與文獻(xiàn)[11]保持一致。
2.2.2 實(shí)驗(yàn)結(jié)果
本文的特征提取網(wǎng)絡(luò)以Resnet50 為Baseline,為驗(yàn)證非局部注意力塊(non-local)對(duì)于特征提取的有效性,使用SYSU-MM01 數(shù)據(jù)集,在相同Baseline 下進(jìn)行了有無(wú)非局部注意力塊的對(duì)比實(shí)驗(yàn)。由表1可知,非局部注意力塊的加入使得網(wǎng)絡(luò)在兩種模式下的rank-1 準(zhǔn)確率分別提升了0.17 個(gè)百分點(diǎn)和0.46 個(gè)百分點(diǎn),mAP 分別提升了1.02個(gè)百分點(diǎn)和0.23個(gè)百分點(diǎn),表明非局部注意力塊的加入使得網(wǎng)絡(luò)提取到更豐富的特征。
表1 非局部注意力塊驗(yàn)證實(shí)驗(yàn)(SYSU-MM01)Table 1 Non-local attention block verification experimen(tSYSU-MM01)%
上述實(shí)驗(yàn)使用三元組損失函數(shù)訓(xùn)練網(wǎng)絡(luò),將三元組損失函數(shù)替換為聚類(lèi)損失函數(shù)并分別在兩個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2及表3所示,rank-1和mAP均有所提升,從而證明了聚類(lèi)損失函數(shù)對(duì)于特征度量具有更顯著的效果。
表2 聚類(lèi)損失函數(shù)驗(yàn)證實(shí)驗(yàn)(SYSU-MM01)Table 2 Cluster loss functions verification experiment(SYSU-MM01) %
表3 聚類(lèi)損失函數(shù)驗(yàn)證實(shí)驗(yàn)(RegDB)Table 3 Cluster loss functions verification experimen(tRegDB)%
2.2.3 算法比較
為驗(yàn)證本算法對(duì)于多模態(tài)行人重識(shí)別的優(yōu)越性,本文將所提算法與近幾年該領(lǐng)域的主流算法在SYSUMM01 和RegDB 兩個(gè)數(shù)據(jù)集上進(jìn)行了比較,其結(jié)果如表4 和表5 所示。本文算法的各項(xiàng)指標(biāo)與對(duì)比模型(Zero-Padding[5]、cmGAN[6]、BDTR[17]、MSR[18]、DFE[19]、MACE[11])都有所提高。相比MACE 算法,在SYSUMM01數(shù)據(jù)集的all serach模式下,rank-1和mAP 分別提高了2.1 個(gè)百分點(diǎn)和3.26 個(gè)百分點(diǎn),indoor search模式下兩者分別提高2.53 個(gè)百分點(diǎn)和1.68 個(gè)百分點(diǎn);RegDB 數(shù) 據(jù) 集 的visible to thermal 模 式 下,rank-1 和mAP 分別提高了1.05 個(gè)百分點(diǎn)和2.28 個(gè)百分點(diǎn),thermal to visible 模式下兩者分別提高1.15 個(gè)百分點(diǎn)和1.86個(gè)百分點(diǎn)。
表4 SYSU-MM01上與主流算法評(píng)價(jià)指標(biāo)比較Table 4 Comparison with mainstream algorithm evaluation indicators on SYSU-MM01 %
表5 RegDB上與主流算法評(píng)價(jià)指標(biāo)比較Table 4 Comparison with mainstream algorithm evaluation indicators on SYSU-MM01 %
通過(guò)以上實(shí)驗(yàn),證明了非局部注意力塊的加入對(duì)于特征提取有更好的效果,聚類(lèi)損失函數(shù)相比于三元組損失函數(shù)更有利于行人重識(shí)別網(wǎng)絡(luò)的訓(xùn)練,從而驗(yàn)證了本文所提算法的有效性。
本文提出一種改進(jìn)的基于雙端可共享網(wǎng)絡(luò)的多模態(tài)行人重識(shí)別算法。該算法使用嵌入非局部注意力塊的Resnet50作為特征提取網(wǎng)絡(luò),有效提高了網(wǎng)絡(luò)的特征提取能力。同時(shí)該算法使用聚類(lèi)損失函數(shù)代替三元組損失函數(shù)進(jìn)行度量學(xué)習(xí),提高網(wǎng)絡(luò)的重識(shí)別能力。多模態(tài)的行人重識(shí)別相比于單模態(tài)的行人重識(shí)別,其準(zhǔn)確率較低,未來(lái)應(yīng)在解決跨模態(tài)問(wèn)題的同時(shí)尋求更高的準(zhǔn)確率。