張海燕,張富凱,袁 冠,李瑩瑩
1.河南理工大學 計算機科學與技術學院,河南 焦作454000
2.中國礦業大學 計算機科學與技術學院,江蘇 徐州221116
行人重識別(person re-identification,ReID)是利用計算機視覺技術判斷圖像或者視頻序列中是否存在特定行人的技術,主要解決跨攝像機跨場景下行人的識別與搜索,屬于圖像檢索的子問題[1]。行人重識別可廣泛應用于智能視頻監控、公共安全、智能安保等領域。然而在實際場景中,同一行人在不同姿態下的外觀特征差異很大,如正面、側面、背包、騎行等;同時不同的行人在相同的姿態下的外觀差異卻很小,如相似顏色的著裝、體型等,如圖1所示。因此,很難僅依靠單一姿態下的行人圖像確定需要追蹤的目標行人。

圖1 不同姿態下的行人外觀圖像Fig.1 Person appearance images in different poses
為了解決行人姿態變化多樣、特征信息缺失等問題,利用圖像生成的思想,將單一姿態的行人圖像合成多個不同姿態的行人圖像,基于數據增強,將生成的行人圖像用于行人重識別,通過融合不同姿態的行人特征實現姿態歸一化,從而準確地預測行人的運動軌跡。
Goodfellow等[2]最早提出一個通過對抗過程估計生成模型的框架(generative adversarial network,GAN),并在后續的圖像生成應用中取得了出色的表現。Ma等[3]提出一種基于姿勢的行人生成網絡(pose guided person generation network,PG2),可以根據給定的行人圖像和目標姿勢合成任意姿勢的行人圖像,實驗表明,PG2生成的行人圖像紋理清晰、姿態多樣。Zhao等[4]結合變分推理和生成對抗網絡的優勢提出一種新的圖像生成模型VariGANs,可以精確地生成人物衣服圖像,實驗表明,VariGANs生成的圖像與原始圖像的外觀一致且細節清晰。
基于以上研究,本文提出一種基于多姿態圖像生成的行人重識別算法(multi-pose image generation for person re-identification,MPIG),如圖2所示。MPIG主要由三部分組成:(1)行人圖像多姿態生成對抗網絡(multi-pose generative adversarial network for person image,MP-GAN);(2)多姿態行人特征提取與融合;(3)基于距離度量和排序的行人重識別。具體地,給定一張行人圖像和待查詢的行人圖像數據庫,首先MP-GAN將每一張單姿態的行人圖像生成8個不同姿態的行人圖像,然后融合1張原始圖像和8張生成的行人圖像的深度特征,最后利用歐式距離計算行人圖像與待查詢數據庫中兩兩圖像特征之間的相似度,按照相似程度排序,實現行人重識別。

圖2 基于多姿態圖像生成的行人重識別算法框架圖Fig.2 Architecture of multi-pose image generation for person ReID
本文的主要貢獻如下:
(1)從姿態的角度出發,基于圖像生成算法和深度特征提取網絡,提出一種姿態歸一化的行人重識別解決方案。
(2)提出一種行人圖像多姿態生成對抗網絡MPGAN,通過融合原始圖像和生成圖像的深度特征,實現行人姿態歸一化,提高行人重識別的準確率。
(3)分別在Market-1501和DukeMTMC-ReID數據集上驗證了基于多姿態圖像生成的行人重識別方法的有效性。
學術研究中用于行人重識別模型訓練以及評估的主 流 公 開 數 據 集 主 要 有:Market1501[5]、PKU-Reid[6]、CUHK03[7]、DukeMTMC-ReID[8-9]和MSMT17[10]等,這些數據集的提出使得行人重識別的研究取得了重大突破。基于深度學習行人重識別的實現方法,主要包括基于表征學習的方法[11-12]、基于度量學習的方法[13]、基于局部特征的方法[14]、基于遷移學習的方法[15-16]和基于生成對抗網絡的方法[17]等。
在行人姿態的研究中,利用生成對抗網絡合成圖像獲取更多的特征信息已經成為研究熱點。生成對抗網絡一度生成的圖像太過隨機,無法控制,但隨著深入地研究后發現,可以通過引入約束條件指導數據的生成過程,這些條件變量可以基于多種信息,包括用于圖像修復的部分數據,來自不同模態的數據,以及完整的圖像等。已有文獻表明,給定原始圖像和目標姿態,利用生成對抗網絡可以合成具有不同姿態的目標圖像,例如,PG2合成任意姿勢的行人圖像、CPO(cross projection optimization)預測不同視角的車輛圖像。
本文主要關注基于生成對抗網絡的行人重識別研究。Zhang等[18]提出一種新型姿態增強的交叉視圖行人重識別方法,解決訓練數據集不足,行人動作和姿態缺失等問題。Ren等[19]利用生成對抗網絡轉換源域和目標域之間的圖像風格,通過建立源域和目標域之間的聯系來挖掘目標域的固有局部結構,從而實現域自適應的行人重識別。Zhang等[20]研究了成對圖像之間的共現統計模式,提出交叉生成對抗網絡以無監督的方式學習交叉圖像表示的聯合分布,實驗表明,聯合不變特征可以提高行人匹配的準確率。Chen等[21]提出了一種基于自我監督學習的簡單有效的數據擴充策略,解決生成對抗網絡訓練成本高的問題,通過數據增強提升行人重識別的綜合表現。
基于多姿態圖像生成的行人重識別算法可以描述為:首先,對于每一個輸入的單姿態行人圖像Ii,姿態表示為p=0,將其映射成為具有M個姿態的特征表示,公式如下:

其中,G(·)表示利用生成對抗網絡將輸入的單姿態行人圖像Ii轉換成多姿態圖像,為生成的圖像,M為生成的姿態數量,f(·)為特征提取函數。對于原始行人圖像Ii,其特征表示為an=f{Ii},n=1表示單姿態。將原始輸入的行人特征an與生成的多姿態行人特征am進行融合,形成全局多姿態特征向量,可表示為:

訓練時,使用對比損失函數處理配對行人圖像的關系,公式如下:

模型訓練完成后,計算輸入行人圖像Ii與監控視頻中的序列圖像中每一張行人圖像特征之間的歐式距離,并按照相似程度排序,從而找到目標行人。
行人圖像多姿態生成對抗網絡(MP-GAN)旨在根據單姿態輸入圖像和目標姿態骨架圖生成多個隱藏姿態的相同行人圖像。具體地,給定一張行人圖像Ii和目標姿態骨架圖Ipj,MP-GAN通過卷積與反卷積操作合成新的行人圖像I?j,其中,I?j與Ii為同一行人不同姿態的兩張圖像,且I?j具有姿態Ipj。如圖3所示,MP-GAN主要由目標姿態、生成器網絡和判別器網絡三部分組成。

圖3 行人圖像多姿態生成對抗網絡的模型結構Fig.3 Structure of multi-pose generative adversarial network for person images
2.2.1 姿勢估計
多姿態圖像生成的過程依賴于輸入的行人圖像和一個重要因素:由姿態骨架圖表示的目標姿態。目標姿態骨架圖由預訓練的2D人體姿態檢測和識別模型獲得[22]。具體地,輸入行人圖像Ii,姿態識別模型檢測該行人特定的關鍵點(如頭部、肩膀、手肘、手腕、膝蓋、腳踝等)以及相應的關聯區域,通過連接人體關鍵點產生一個姿態骨架圖像Ipj。同時,骨架圖像采用分層結構,由不同的顏色進行區分。理論上,任何行人的任意姿態骨架圖都可以作為另一個行人圖像生成的基礎條件。為了實現姿態標準化,首先預測Market-1501數據集中所有訓練圖像的姿態,然后使用k-means聚類算法將行人姿態分成8個類別,形成8個標準的行人姿態骨架圖,如圖4所示。

圖4 在Market-1501數據集上獲得8個標準姿態骨架圖Fig.4 Eight canonical pose skeletons obtained from Market-1501 dataset
2.2.2 生成器網絡
采用條件生成器網絡,結合行人圖像的深度特征和姿態骨架特征生成新的不同姿態的行人圖像。條件生成器網絡定義為:

其中,X為行人圖像的深度特征,P是目標姿態圖像特征,L為行人ID標簽,Z為隨機噪聲,I代表生成的行人圖像。如圖3所示,輸入原始行人圖像Ii和目標姿態骨架圖Ipj,生成器網絡逐步采樣Ii深層次的語義信息,同時融合?X和?P等特征,然后執行上采樣操作生成目標行人圖像具有與Ipj相同的姿態。因此,生成器網絡目標函數的優化過程可表示為:

可以看到,生成器網絡的輸入是x,p,l和z的融合信息,其中隨機噪聲z~Ν(0,1)服從正態分布。網絡為有監督學習,基于行人ID標簽,可確保生成的圖像與輸入的圖像為同一行人。
條件生成器網絡采用編碼器-解碼器結構設計,網絡結構如表1所示。編碼器由深度殘差網絡[23]構成,包括9個殘差塊,每個殘差塊分別使用7×7、3×3和3×3大小的卷積核,每個卷積層后面緊接批量標準化層(batch normalization layer,BN)和ReLU激活函數。編碼器獲得行人的ID特征并與姿態骨架圖特征融合,形成256維的特征向量并輸入到解碼器中。解碼器采用3個反卷積層對輸入的特征執行上采樣操作,分別結合ReLU與Tanh激活函數合成目標行人圖像。

表1 多姿態生成對抗網絡結構Table 1 Network structure of MP-GAN
2.2.3 判別器網絡
輸入生成器網絡合成的行人圖像I?j和該行人真實的圖像Ij,判別器網絡執行下采樣操作分別獲取兩個行人圖像的深度特征,通過特征匹配,輸出生成圖像I?j為真實行人的概率。判別器網絡目標函數的優化過程可定義如下:
圖像生成的目標是獲得最佳的生成器網絡,因此,生成對抗網絡的優化過程是逐步地最小化目標函數LG和LD,直到網絡收斂。
如表1所示,判別器網絡是一個下采樣的過程,由7個卷積層和1個全連接層組成。其中,卷積層2~6后面緊接BN層對輸出特征進行歸一化處理,卷積層1~6采用LeakyReLU激活函數。
如圖2所示,行人重識別由3個網絡模型構成:行人圖像多姿態生成對抗網絡MP-GAN(圖中紅色部分)、特征提取網絡A(圖中綠色部分)、特征提取網絡B(圖中藍色部分)。其中,特征提取網絡A基于訓練集中的原始行人圖像,提取當前單姿態下行人的深度特征;特征提取網絡B基于MP-GAN生成的多個姿態圖像進行訓練,提取該行人的姿態歸一化特征;融合特征提取網絡A和B獲得的所有特征,可形成用于行人重識別的全局ReID特征。
2.3.1 特征提取
特征提取網絡A和特征提取網絡B具有相同的網絡結構,均采用密集卷積網絡DenseNet(dense convolutional network)[24]提取行人圖像特征,兩者的區別在于參與訓練的數據集不同,分別是原始單姿態行人圖像和MP-GAN合成的多姿態行人圖像。
DenseNet的網絡結構主要由密集塊和轉換層組成,如圖5所示。在每一個密集塊內部采用密集連接,即網絡每一層的輸入都是前面所有層輸出的并集,而該層所學習的特征圖也會被直接傳給其后面所有層作為輸入;通過密集連接,可緩解梯度消失問題,加強特征傳播,鼓勵特征復用,大幅度減少參數量。在相鄰的兩個密集塊之間通過轉換層進行連接,并且降低特征圖大小;轉換層包括1×1的卷積層和2×2的池化層,可以起到壓縮模型的作用。

圖5 密集卷積網絡的結構示意圖Fig.5 Schematic diagram of structure of dense convolutional network
特征融合過程如圖6所示,多個姿態的行人圖像各自獨立地經過DenseNet網絡,每一個姿態的圖像都得到一個特征圖,然后在View-pooling層進行聚合,最后進入CNN網絡獲得ReID特征。其中,特征提取網絡的所有分支,共享相同的DenseNet參數;在View-pooling層中,執行逐元素取最大值操作,將多個特征圖pooling成為一個全局特征。

圖6 多姿態行人特征融合Fig.6 Fusion of multi-pose person features
2.3.2 推理過程
給定一個查詢行人圖像Ii和如圖4所示的8個標準姿態骨架圖首先將其送入圖像生成網絡MP-GAN,合成多姿態行人圖像其次,特征提取網絡A獲取Ii的特征向量;特征提取網絡B獲得合成的8個姿態的行人圖像的特征向量;然后融合兩個特征向量fi=fIi+f{I?i,Pk}8k=1,作為該查詢行人圖像Ii最終的ReID特征。同理,對于不同監控攝像頭獲得的序列圖像中的每一個行人圖像(如圖2右半部分所示),使用相同的方法獲得每張圖像的特征向 量,作為序列圖像的ReID特征。最后,使用歐式距離計算中兩兩行人圖像ReID特征之間的相似度,其中距離公式如下:

按照相似程度排序,準確地檢索目標行人,最終實現基于多姿態圖像生成的行人重識別。
首先評估行人圖像多姿態生成對抗網絡(MP-GAN)的性能,進一步探索MP-GAN在行人重識別方法中的表現和作用。實驗基于Tensorflow(MP-GAN部分)和PyTorch(MPIG部分)網絡框架實現,并在配置有NVIDIA Titan X GPU的PC機上運行。
為驗證提出算法的有效性,使用2個公開的行人重識別數據集進行實驗:Market-1501數據集[5]和DukeMTMCReID數據集[8-9],如圖7所示。

圖7 行人重識別數據集示例Fig.7 Dataset examples for person ReID
(1)Market-1501數據集有1 501個行人,訓練集有751人,包含12 936張圖像,平均每個人有17.2張訓練數據;測試集有750人,包含19 732張圖像,平均每個人有26.3張測試數據。
(2)DukeMTMC數據集有702個行人,包含16 522張訓練圖像,2 228張查詢圖像(來自另外的702人),以及17 661張圖像檢索庫。
訓練多姿態圖像生成模型MV-GAN時,將輸入圖像的大小調整為256×128,利用Adam算法[25]優化網絡參數。整個網絡訓練40個epoch,batch_size設置為64,學習率learning_rate為0.000 2,dropout參數設為0.5。
訓練行人重識別模型MPIG時,使用隨機梯度下降算法SGD[26]更新網絡參數。整個網絡訓練60個epoch,batch_size設置為16,學習率learning_rate初始為0.05,且每迭代20個epoch后學習率以0.1倍遞減。圖8顯示了MPIG在兩個數據集上訓練過程的Loss曲線。

圖8 MPIG在兩個數據集上訓練的Loss曲線Fig.8 Training loss of MPIG on two datasets
通過生成多個姿態的行人圖像并融合其特征是提升行人重識別的重要途徑。因此,在評估行人重識別的綜合性能之前,首先評價行人圖像生成算法的表現。
方法1基于生成對抗網絡(MP-GAN)。該方法為本文提出的行人圖像多姿態生成對抗網絡,輸入行人圖像和目標姿態骨架圖,通過生成器網絡合成新的行人圖像,判別器網絡辨別生成圖像的真實性,詳細過程參見第2.2節。
方法2基于變分自動編碼器(variational autoencoder,VAE)。該方法在方法1的基礎上去掉判別器網絡,使用與方法1相同的輸入和生成器網絡,用于驗證對抗學習準則對圖像生成效果的影響。
圖9在兩個數據集上分別顯示了基于目標姿態骨架圖合成不同姿態行人圖像的效果。圖中左側第一列為輸入的單姿態原始行人圖像,中間一列為使用本文提出的MP-GAN合成行人圖像的表現,右側第一列為使用VAE方法合成行人圖像的效果。從圖中可以得出如下結論:

圖9 不同方法生成的多姿態行人圖像示例Fig.9 Examples of multi-pose person images generated by different methods
(1)MP-GAN方法和VAE方法都可以正確地生成不同姿態的行人圖像,表明基于目標姿態骨架圖合成行人圖像的方法是有效的。
(2)VAE方法由于缺少對抗學習過程,其生成的行人圖像輪廓模糊,含有大量噪聲信息。
(3)MP-GAN方法使用對抗學習指導圖像優化過程,充分獲取輸入圖像的深度特征,可以生成紋理清晰、趨近真實的行人圖像。
(4)在相同的輸入條件下,使用對抗學習準則可以更好地恢復圖像細節信息。
分別在Market-1501數據集和DukeMTMC-ReID數據集上,將提出的MPIG方法與state-of-the-art行人重識別方法進行比較,使用排序第一準確率(Rank@1)和平均精度均值(mean average precision,mAP)作為評價指標。
3.4.1 在Market-1501數據集上的重識別結果
表2左側顯示了在Market-1501數據集上MPIG方法與其他行人重識別方法的對比情況。從表中可以看到,MPIG基于密集卷積網絡DenseNet-121獲得了93.63%的Rank@1精度和82.54%的mAP值,在參與對比的方法中獲得了最好的表現。

表2 不同行人重識別方法的結果對比Table 2 Comparison of results of different person ReID methods 單位:%
首先,對于未使用圖像生成的行人重識別方法,如SPGAN、Verif-Identif、DCF、SVDNet、PAN、APR和GLAD,分別獲得了75.80%、79.51%、80.31%、82.30%、82.81%、84.29%和89.90%的Rank@1精度。這些方法基于單個姿態的行人圖像,通過改進特征提取方法、結合遷移學習、使用局部特征對齊等方式提高行人重識別的準確度。這些方法在行人重識別中的表現不斷提升,但仍然與提出的MPIG存在一定的差距,其中表現最好的GLAD,其Rank@1和mAP精度分別比MPIG低3.73和8.64個百分點。
其次,基于圖像生成的行人重識別方法有LSRO、PT、Multi-Pseudo、PN-GAN和FD-GAN。這些方法將單一姿態的行人轉換成多個姿態的行人圖像,通過數據增強的方式獲得更豐富的行人特征,從而提高行人重識別的準確度。但是,由于生成圖像的質量存在一定的差異,其對行人重識別的提升是有限的,如FD-GAN的Rank@1和mAP精度 分別 比MPIG低3.13和4.84個百分點。
最后,提出的基準方法基于密集卷積網絡DenseNet-121實現,未結合圖像生成,在Market-1501數據集上獲得了90.31%的Rank@1精度和73.08%的mAP值,與提出的MPIG方法仍存在顯著的差距,進一步表明了基于多姿態圖像生成的行人重識別方法是有效的。
圖10展示了MPIG方法在Market-1501數據集上進行行人重識別的檢索結果。圖10(a)為未使用圖像生成的行人重識別方法,圖10(b)為本文提出的基于多姿態圖像生成的行人重識別方法。圖10(a)和圖10(b)中每一行的最左側為輸入的查詢行人圖像,右側列出了重識別結果中排序前10的行人圖像。在重識別結果的圖像上面顯示了排序編號,其中綠色編號為正確的重識別結果、紅色編號為錯誤的重識別結果。對比圖10(a)和圖10(b)的結果,可以看到,使用MPIG方法的行人重識別的準確率有顯著提高,進一步表明了MPIG方法的有效性。但是,MPIG方法仍然存在一些錯誤的重識別結果,這些結果通常是由于同一姿態中非常相似的候選行人或行人庫中已無同一行人圖像引起的。

圖10 在Market-1501數據集上的行人重識別效果示例Fig.10 Examples of person ReID on Market-1501 dataset
表3顯示了生成圖像對行人重識別的影響。在Market-1501數據集上可以看到,與只有原始圖像的基準方法(DenseNet-121-A)相比,只使用生成的行人圖像訓練模型時(DenseNet-121-B),其行人重識別的性能會大幅下降,這是由于生成的行人圖像與真實的圖像之間有較大的差異,如輪廓模糊、色彩差異等。將生成的圖像與原始圖像合并,共同用于訓練行人重識別模型時,行人重識別的效果會有明顯提升,這充分表明了生成不同姿態的行人圖像對重識別性能的積極作用。

表3 生成多姿態圖像對行人重識別的影響Table 3 Effect of generating multi-pose images on person ReID 單位:%
表4顯示了在Market-1501數據集上使用不同姿態數量的行人圖像進行重識別時模型的性能表現。其中,“1個姿態”為不使用圖像生成的方法;“4個姿態”表示輸入一張行人圖像,MP-GAN生成4個不同姿態(如行人的前面、后面、左側和右側)的行人圖像,然后結合1張原始圖像和4張生成的圖像進行模型訓練;“8個姿態”為本文使用的方法。

表4 在Market-1501數據集上基于姿態數量的消融研究Table 4 Ablation study of number of poses on Market-1501 dataset 單位:%
在表4中,以DenseNet-121-A(mAP為73.08%)為基準,當只使用生成的行人圖像訓練模型時(DenseNet-121-B),無論是4個姿態的行人圖像(mAP為38.51%),還是8個姿態的行人圖像(mAP為42.34%),模型重識別的表現均有明顯下降,同時具有8個姿態的模型性能較好;當原始圖像與生成的行人圖像相結合時,行人重識別的mAP分別從73.08%提升到79.22%和82.54%,這表明使用多姿態圖像增強的方法是有效的,同時更多姿態的行人圖像可以帶來更好的重識別結果。
3.4.2 在DukeMTMC-ReID數據集上的重識別結果
表2右側顯示了在DukeMTMC-ReID數據集上MPIG方法與其他行人重識別方法的對比情況。從表中可以看到,MPIG方法分別獲得了85.32%的Rank@1精度和72.58%的mAP值,同樣在參與對比的方法中獲得了最好的表現。
圖11展示了MPIG方法在DukeMTMC-ReID數據集上進行行人重識別的檢索結果。對比圖11(a)和圖11(b)的結果發現,基于多姿態圖像生成的行人重識別具有較好的表現。

圖11 在DukeMTMC-ReID數據集上的行人重識別效果示例Fig.11 Examples of person ReID on DukeMTMC-ReID dataset
表3在DukeMTMC-ReID數據集上進一步證實了融合多姿態生成圖像用于行人重識別的方法是有效的、可靠的。
3.4.3 算法的復雜度分析
本文主要使用MP-GAN和DenseNet-121兩個網絡模型,分別進行行人圖像生成和行人特征提取。表5顯示了以上模型的計算復雜度和參數復雜度。從表中看到,MP-GAN的網絡深度為38,即模型所具有的卷積層數,其計算復雜度為0.78×1010,參數復雜度為2.3×107;DenseNet-121具有121個卷積層,計算復雜度為0.6×1010,參數復雜度為0.8×107。與采用殘差結構的MP-GAN相比,雖然DenseNet-121的卷積層數更多,但是參數效率更高,這是由于DenseNet-121中的每一個密集塊和轉換層的前面都加入了1×1的卷積操作,通過減少輸入特征圖的數量,既能降維減少模型的計算量,又能融合各個通道的特征。

表5 模型的算法復雜度Table 5 Algorithm complexity of models
本文提出了一種基于多姿態圖像生成的行人重識別算法,MPIG。該算法首先利用生成對抗網絡將輸入的行人圖像生成其不同姿態的新圖像;然后分別提取生成的行人圖像和原始輸入圖像的深度特征并融合,通過歸一化消除姿態對行人重識別的影響;最后利用歐式距離計算輸入行人圖像與待查詢圖像兩兩深度特征之間的相似度,按照相似程度排序,實現準確的行人重識別。其中,多姿態行人圖像生成是本文的難點,生成圖像的質量直接影響行人重識別的表現,本文引入目標姿態骨架圖作為生成對抗網絡的輸入條件,有效地實現了不同姿態行人圖像的生成。在Market-1501數據集和DukeMTMC-ReID數據集上的實驗驗證了圖像生成和行人重識別算法的有效性。在后續的工作中,將研究行人圖像三維點云重建,通過獲取多維度的行人特征進一步提升行人重識別的表現。