朱亞梅,施一萍,江悅瑩,鄧 源,劉 瑾
上海工程技術大學 電子電氣工程學院,上海 201620
行人重識別旨在通過給定的圖像在不同的攝像機中搜索同一個人。由于其在視頻監控、基于內容的圖像檢索等實際應用中的重要性,近年來受到了廣泛的關注?,F如今,行人重識別仍然面臨許多挑戰,如人的姿勢,光照和背景混亂等。此外,不同人群的衣著外觀相似,行人檢測不完善,進一步增加了其在實際應用中的難度。
傳統的行人重識別方法主要依賴手工設計的特征和測量學習。Li等人[1]提出在行人重識別的距離度量學習中為了克服樣本量小的問題,學習一個滿足零類內散射和正的類間散射的有判別力的零空間,在訓練數據的判別零空間匹配行人。Liao等人[2]提出了一種有效的特征表示方法——局部最大概率(LOMO)和一種度量學習方法——交叉視圖二次判別分析法(XQDA)。傳統行人重識別方法存在一些缺點,比如特征表示不足,相似性匹配精度低以及行人識別過程慢等。目前,基于深度學習[3]的行人重識別方法是一個熱點研究課題。典型的基于深度學習的行人重識別方法關注兩點:學習強有力的特征表示來描述行人以及學習一個有效的度量學習方法,使同一個行人的距離更近,不同人的距離更遠。Sun等人[4]設計了一個PCB網絡通過硬劃分提取局部特征,然后又提出用于后續精修的池化部分RPP(refined part pooling),學習更具有區分性的部件信息。Li等人[5]通過多尺度上下文感知網絡(MSCAN)和空間轉換網絡(STN)學習行人的全特征和局部特征。Cheng等人[6]對三元組損失進行改進,考慮了行人的正負樣本對之間的絕對距離。Xiao等人[7]提出了一種挖掘困難樣本的方法,利用最有相似性的負樣本和最不相似的正樣本來訓練網絡。
基于深度學習的方法在準確率和速度上相較于傳統方法都有提升,但仍存在一些問題?,F有的行人重識別模型通常學習輸入行人圖像的全局特征表示,或者學習一個基于部位的預定義的剛性部位特征表示或者學習兩者的特征融合[8]。盡管這些模型在現有的行人重識別數據集上已經得到了顯著的結果,但是仍然存在兩個問題。第一,對于特征學習,目前流行的深度學習模型通常使用單尺度卷積和最大池化層來生成深度網絡。隨著層數的增加,這些模型很容易丟失一些小規模的視覺線索,比如太陽鏡和鞋子。然而這些細粒度屬性對于區分類間差異較小的行人對是非常有用的,因此這些模型并不是行人特征學習的最佳選擇。第二,由于姿態變化以及行人檢測的不完善,行人圖像樣本可能會存在未對齊的情況。有時候會包含背景信息或者缺少某些部位,比如腿。在這些情況下,對于基于部位的特征表示,預定義的剛性分割網絡可能無法得到兩個行人圖像之間的正確部位對應關系。因此,對于基于部位的特征學習,剛性的預定義網格分割遠遠不夠魯棒。
在本文中,提出了聯合學習行人的全局特征和語義部位特征并進行融合。針對第一個問題,本文提出多空洞空間卷積金字塔(multiple atrous spatial pyramid,MASP)模塊,來對主干網絡提取的淺層特征進行采樣,對于MASP的每個卷積層,采用具有不同感受野的空洞卷積來獲得多個特征圖,通過這種方式,增強了局部視覺線索的細粒度區分,然后通過級聯融合結構連接不同卷積核的特征圖作為本層的輸出。最后,將MASP輸出的特征圖與主干網絡輸出的高級特征連接得到融合多尺度信息的行人全局特征。針對第二個問題,不同于剛性部位分割,本文通過語義分割得到行人部位概率圖,然后與行人特征圖加權融合,得到行人語義部位特征。
一般來說,全身特征和身體部位特征是相輔相成的,全身特征更關注全局信息,而身體部位特征更關注局部區域信息。為了更好地利用這兩種特征,本文將全局特征和局部特征連接起來,形成最終的行人表示。在測試階段,對兩個特征進行L2歸一化,然后采用歐式距離度量相似度來進行行人重識別。
本文提出的方法的重點是學習強有力的特征表示來描述行人,該方法的總體框架如圖1所示,主要由全局特征提取鏈路、語義特征提取鏈路組成。

圖1 本文提出的網絡結構圖Fig.1 Network structure diagram proposed in this paper
全局特征提取鏈路首先通過主干網絡提取淺層特征,通過MASP模塊,使用空洞率分別為1、2、3、4的3×3的空洞卷積對特征圖進行采樣,然后通過級聯融合結構連接不同卷積核的特征圖作為本層的輸出。最后將輸出的特征圖與主干網絡輸出的高級特征連接得到行人的全局特征fg。
語義特征提取鏈路通過語義分割網絡,得到行人部位標簽圖,將其縮放并變換得到通道部位圖,然后通過主干網絡提取中層特征,與通道部位圖按照通道相乘得到語義部位特征,最終的語義特征fp為語義各部位特征的最大值融合而得。
在行人重識別過程中,不僅需要提取行人的高級特征,還需要提取行人的小尺度上下文信息,如帽子、太陽鏡等。采用深度神經網絡提取行人特征。隨著網絡深度的增加,雖然可以獲得行人的高級特征,但隨著網絡不斷使用池化操作對特征進行下采樣,這些小特征會丟失。針對這一問題,本文提出了一種有效的解決方案,利用不同空洞率的卷積對淺層特征圖進行采樣,并將其連接到高級特征圖上,從而可以獲得包含多個比例的圖像上下文信息的特征表示,解決了池化操作導致的小規模信息丟失問題。
空洞卷積[9]操作可以根據空洞率擴大普通卷積核的大小??斩淳矸e核大小與原卷積核大小的關系如式(1)所示:

其中,Filter2為空洞后的卷積核的大小,d為空洞率,Filter1為原卷積核的大小。由式(1)可以看出,利用原卷積的相同大小,使用不同的空洞率,可得到不同大小的空洞卷積。
圖2是卷積核尺寸為3×3,空洞率為1、2、3的空洞卷積示意圖。采用空洞率為1、2、3,卷積核大小為3×3的卷積,而不采用卷積核大小為3×3、5×5、7×7的卷積,是因為后者會產生更多的冗余信息,增加計算量。

圖2 空洞卷積示意圖Fig.2 Schematic diagram of void convolution
受文獻[5]的啟發,本文設計了MASP網絡結構,即通過一個多尺度的信息融合模塊來提取行人的上下文信息。如圖3所示,主干網絡Resnet50提取淺層特征U2。然后使用空洞率分別為1、2、3、4的3×3空洞卷積,對特征圖進行采樣,通過級聯融合結構進行連接,得到該層的輸出,然后采用1×1卷積調整特征圖的大小。最后將MASP模塊輸出的特征圖U5與主干網絡提取的高級特征U4連接,得到融合多尺度上下文信息的全局特征。

圖3 MASP網絡結構Fig.3 MASP network architecture
行人語義分割是一個細粒度的語義分割任務,也稱為行人解析,是指對行人圖像上的像素點按照人體的語義部位進行分類。語義分割能夠精確定位身體各部位的任意輪廓,即使是在嚴重位姿變化的情況下,因此語義部位信息非常適合用于輔助行人再識別問題。
給定輸入圖像,使用現有的語義分割方法SCHP[10]計算語義解析圖。通過語義分割網絡,將行人分為5個語義區域,分別為頭發、臉、上半身、下半身和腳。圖4展示了部分行人圖片以及行人圖片通過SCHP得到的語義分割圖,第一行為行人圖片,第二行是對應的語義分割結果,不同部位用不同的顏色表示。

圖4 行人語義分割圖示例Fig.4 Person semantic segmentation graph example
然后,通過ResNet50網絡來提取行人的全局特征。本文選擇網絡中間層提取的行人特征與行人語義解析圖加權融合。之所以選擇使用中間層,是因為隨著網絡的加深,神經網絡會編碼更多的抽象信息以及編碼更高的語義級別特征,比如,深層特征圖和輸入圖像的部位位置關系不是很清晰,因此將語義解析圖和神經網絡中間層特征圖結合,是一個很好的選擇,因為中間層沒有很多的抽象信息,并且同時對豐富的信息進行了編碼。
為了將中間層輸出的特征圖U3與行人語義部位概率圖融合,先將中間層特征U3進行雙線性插值變換得到U3',然后將語義部位概率圖M縮放到與U3'同一空間尺度,得到M',再根據分類轉為5個通道部位圖,得到{Mi∈Rw×h}i=1,2,3,4,5。

然后通過兩步得到行人的語義部位特征,先是將通道部位圖Mi和行人特征圖U3'的每個通道之間應用逐元素乘積,再分別進行平均池化,得到行人語義部位特征Fi=pooling(U3'×Mi),i=1,2,…,5,F∈R1×1×c×5,然后將各語義部位特征進行最大值融合得到行人部位特征fp=(Fi)。
為了增強模型學習特征的判別能力,本文結合度量損失和分類損失共同指導網絡參數的學習。
在行人重識別的分類任務中,經常用到交叉熵損失函數[11]。交叉熵損失函數的公式如下所示:


其中,ρ表示錯誤率,ρ可以提高模型的泛化能力。根據文獻[11]本文中將其設為0.1。N表示行人類別總數。當訓練數據相對較小時,標簽平滑函數能夠比較有效地提升行人重識別模型的性能。使用標簽平滑后,交叉熵損失函數表示為:

其中,bi的值為
在深度度量學習中,經常使用三元組損失函數。三元組損失函數使同一類別行人樣本的距離更近,不同類別行人樣本之間的距離更遠,從而實現在特征空間中對同一類行人樣本進行聚類。但是,三元組損失只度量樣本間的相對距離,由于其不能提供全局最優約束,所以類間的距離可能小于類內的距離。因此本文中采用邊界樣本挖掘損失(margin sample mining loss,MSML)[7]。邊界樣本挖掘損失不僅考慮正負樣本對間的絕對距離,而且引入了難樣本采樣的思想。訓練時,在一個batch選擇最不相似的正樣本對和最相似的負樣本對。

在公式(5)中,(x)+=max(x,0)。表示a和b的歐式距離,α是用來區分正樣本與負樣本的邊界值,a和b是最不相似的正樣本對,r和q是最相似的負樣本對。如果a和r是同一個類別中的行人,則考慮正負樣本對之間的相對距離,如果a和r不是同一個類別中的行人,則考慮正負樣本對的絕對距離。
本文中的行人重識別模型使用度量損失函數和分類損失函數聯合訓練。語義部位特征鏈路輸出的特征向量fp使用交叉熵損失,全局特征U6使用邊界樣本挖掘損失,同時對fg使用交叉熵損失。最終的損失函數表示為:

在測試階段,將兩個鏈路中的特征fp與fg進行級聯得到行人最終的特征表示,用于行人間的特征比對。
2.1.1 數據集
為了驗證本文方法的有效性,所采用的實驗數據主要來自目前行人重識別常用的數據集:Market1501[13]和DukeMTMC-reID[14]。Market-1501數據集包含6個攝像頭拍攝得到的32 668張行人圖像,是由DPM檢測得到的固定尺寸的圖像框。數據集包含1 501個行人,訓練集有751個,測試集有750個。DukeMTMC-reID數據集包含8個高分辨率攝像機拍攝得到的1 812個行人總共36 411張行人圖像,其中有1 404個行人出現在兩個以上的攝像機中,408個行人僅出現在一個攝像機中,這408個行人身份用作干擾項。數據集分為兩部分,其中702個行人的16 522張圖像用來訓練,其他的2 228張圖像用于查詢,測試集包含17 661張圖像。
2.1.2 評價指標
本文采用兩個評價指標來與現有的方法進行對比,第一個指標為Rank-n,是指給定查詢集中的一張圖片,計算這張圖片與圖庫集中所有圖片的相似度,從高到低排序,計算在前n個樣本中有同一個行人的概率。另一個評價指標為mAP,同樣首先計算相似度,然后計算AP值即準確率召回率曲線下方的面積并求均值得到mAP,mAP綜合考慮了查全率和查準率,對性能的評價更全面。
本文中的模型使用PyTorch來實現。在開始訓練之前將數據集中圖片大小調整為256×128,通過隨機擦除進行數據增強,隨即擦除概率為0.5。實驗中使用的2個數據集,預先使用SCHP[10]模型進行行人語義解析,該方法是在LIP[15]數據集上訓練的。模型訓練共迭代100次,每個訓練批次由8個不同身份的行人,每個行人隨機選取4張圖片組成,即訓練批次大小設置為32。每個批次使用隨機梯度下降來更新參數,動量設置為0.9。初始學習率設置為0.03,在經過60個批次后學習率降為0.003。圖4顯示了Market-1501和DukeMTMC-reID的語義分割示例結果,SCHP對這兩個數據集都有很好的泛化。
本節將所提出的模型與現有的先進方法進行比較。在Market-1501和DukeMTMC-reID數據集中分別測試了Rank-1和mAP性能指標,從表1可以看出,本文提出的模型在2個數據集中都取得不錯的效果。BagTricks[11]提出了一個強有力的基線模型,即通過分別對backbone使用6個訓練技巧,來提升基線模型的識別能力,證明一些訓練技巧可以有效提升網絡性能,本文與BagTricks相比,重識別效果提升不是很明顯,但是研究的側重點不同,本文通過改進網絡模型來提升重識別準確率,根據BagTricks的研究結果,如果要進一步提升識別準確率,采用適當的訓練技巧,將會有顯著提升。PCB[4]對行人的局部特征進行了有效的學習,但是缺少對全局特征的學習,因此在Market-1501數據集上,本文方法的Rank-1提高了2.4個百分點,mAP提高了8.9個百分點;在DukeMTMC-reID數據集上Rank-1提高了5.2個百分點,mAP提高了9.1個百分點。SP-ReID[16]利用行人解析模型來提取行人的語義部位特征,并將行人的全局特征、前景特征和語義部位特征融合得到行人最終的特征表達,但是缺少對因網絡加深而丟失的小規模視覺線索的特征提取,因此本文方法的Rank-1在Market-1501數據集上提高了3.2個百分點,在DukeMTMC-reID數據集上提高了3.6個百分點,mAP在Market-1501數據集上提高了6.6個百分點,在DukeMTMC-reID數據集上提高了6.4個百分點。實驗結果表明,本文的方法優于當前主流的方法。

表1 不同方法在兩個數據集上的性能比較Table 1 Performance comparison of different methods on two datasets 單位:%
考慮到采用不同空洞率的卷積以及空洞卷積的數量對行人識別效果的影響,分別設置對比實驗來驗證本文選取的方法的有效性。首先設置4組空洞率分別相同的卷積與本文方法進行對比,空洞率分別設為1、2、3、4。在兩個數據集上的實驗結果如圖5所示。由圖可知,采用空洞率分別為1、2、3、4的卷積組合的mAP和Rank-1值均高于采用空洞率相同的卷積組合,由此證明本文采取的卷積組合性能優于采用相同卷積的組合。

圖5 空洞率尺寸組合對性能的影響Fig.5 Effect of dilation ratio size combination on performance
其次,分別設置空洞卷積個數為1、2、3的卷積組合與本文方法進行比較,在兩個數據集上的實驗結果如圖6所示。由圖可知,隨著卷積數量的增加,Rank-1識別率和mAP值也在逐步增加。當卷積數量增加到5時,雖然Rank-1和mAP略有提升,但提升不是很大,考慮到模型復雜度,最終選取空洞卷積數量為4來提取行人的多尺度信息。

圖6 空洞卷積數量對性能的影響Fig.6 Effect of number of dilation convolution on performance
本節通過消融實驗來深入研究本文提出方法的有效性。其中基線模型是ResNet50,用LG表示,在此基礎之上進行改動。用LG-P表示使用行人全局特征和語義部位特征融合的方法,但是不采用MASP模塊,LG+MASP表示加入了MASP模塊的全局特征,但是沒有融合語義部位特征,LG-P+MASP表示本文的網絡結構。分別評估LG-P+MASP網絡、LG+MASP網絡、LG-P網絡和LG網絡在2個數據集上的識別性能,如圖7所示,對于每張查詢的行人圖像,按照相似度計算的結果,排列出前10張,其中正確的結果用綠色數字表示,錯誤的結果用紅色數字表示。從圖7可以看出,LG-P+MASP網絡的性能最優,LG-P網絡和LG+MASP網絡次之,LG-P+MASP網絡和LG-P網絡以及LG+MASP網絡性能都高于ResNet50網絡。

圖7 行人檢索結果排序圖Fig.7 Person retrieval results sequencing map
表2所示為LG、LG-P、LG+MASP網絡和本文提出的LG-P+MASP網絡的定量實驗結果,相較于LG,LG-P網絡在Market-1501數據集上,mAP提升了6.5個百分點,Rank-1提升了3.8個百分點,在DukeMTMC-reID數據集上,mAP提升了5.6個百分點,Rank-1提升了4.3個百分點,即在2個數據集上,LG-P網絡比ResNet50網絡對行人重識別的識別效果更好。實驗結果表明,行人重識別中,全局特征和語義部位特征的結合共同作用,可以使行人重識別效果提升。語義部位信息從一定程度上補充了全局特征的不足,語義特征是由語義部位特征得來的,相當于局部特征的融合,能夠與全局特征互補,使得最終的行人特征具有不同尺度的信息。

表2 本文提出的行人重識別方法在兩個數據集上的實驗結果Table 2 Experimental performance of person re-identification method proposed in this paper on two datasets 單位:%
相較于LG網絡,LG+MASP網絡在Market-1501數據集上Rank-1提升了5.7個百分點,mAP提升了8.7個百分點,在DukeMTMC-reID數據集上,Rank-1提升了5.5個百分點,mAP提升了9.5個百分點。相較于LG-P網絡,本文提出的LG-P+MASP網絡同樣能夠使重識別效果進一步提升。在Market-1501數據集上,Rank-1提升了6.4個百分點,mAP提升了12.2個百分點,在DukeMTMC-reID數據集上,Rank-1提升了4.3個百分點,mAP提升了9.8個百分點。因此可知,在特征提取時采取MASP模塊對淺層特征進行采樣,提取多尺度特征,并與高級特征連接的方式是有效的。本文提出的網絡結合了全局特征和語義部位特征,且通過MASP模塊獲得包含多個比例的圖像上下文信息的特征表示,相比于ResNet50網絡,本文提出的方法明顯使行人重識別性能有效提升。
由于行人重識別中存在行人姿勢多變,行人圖像樣本未對齊等問題,為了學習魯棒的特征表示來描述行人,本文提出了結合MASP和語義分割的雙鏈路行人重識別方法。通過MASP模塊對行人淺層特征通過并聯的空洞卷積進行采樣,然后與高級特征連接,得到融合多尺度信息的行人全局特征,同時使用語義分割網絡輸出概率圖與主干網絡的中層特征加權融合提取行人的語義部位特征,并最后在測試階段,將行人全局特征和語義部位特征連接,用于相似性度量。本文方法對特征進行了多細粒度表示,有效地提升了特征向量的復雜性和多樣性。在2個行人重識別數據集Market-1501、DukeMTMC-reID上對本文方法進行評估,實驗結果表明,本文方法能夠使行人重識別效果明顯增強。未來的工作是進一步優化網絡模型,在不增加網絡復雜度的情況下,提升行人重識別的準確率。