曾濤,薛峰,楊添
(合肥工業大學計算機與信息學院,合肥 230601)
隨著智能安防和視頻監控領域的需求與日俱增,行人重識別(Re-Identification,ReID)受到了越來越多研究人員的關注[1-2]。行人重識別可以看成一個圖片檢索任務,利用計算機視覺技術判斷給定的圖片或視頻序列中是否存在特定行人,即給定一張待識別的行人圖片,在其它攝像頭拍攝到的視頻中檢索出與待識別行人具有相同身份的行人圖片。在現實場景中,視角變化、行人姿態變化、物體遮擋、圖像低分辨率等不利因素[3]導致行人重識別算法難以提取充分、有效的行人特征,造成行人重識別精度較低。因此,如何提取判別性強的行人特征是行人重識別研究的重點。
在深度學習技術普及之前,與大部分圖像分類識別一樣,行人重識別主要通過手工設計圖像特征來實現,計算過程繁瑣,識別效果較差,難以滿足復雜環境變化下行人重識別任務的要求。近年來,基于深度學習的行人識別技術取得了較大的進展和突破,其識別準確率較基于人工特征的方法有了大幅提高,成為行人重識別領域的主流方法[4]。按照行人特征表達方式的不同,可以將基于深度學習的行人重識別方法概括為基于全局特征、基于局部特征和基于注意力機制3 種方法。
基于全局特征的行人重識別將整張行人圖像表示成一個不包含任何空間信息的特征向量,并對圖像進行相似性度量。文獻[5]提出一個身份判別性編碼方法,將行人重識別問題看成分類問題,即將同一個行人的圖片看成同一類的圖片,在訓練過程中利用行人的ID 標簽計算分類損失。文獻[6]使用三元組損失來訓練深度模型,通過拉近同一類樣本之間的距離,拉開不同類樣本之間的距離,從而獲得判別性強的行人特征。文獻[7]提出一個融合分類損失和驗證損失的孿生網絡,在模型訓練過程中學習行人特征表示和相似度度量。然而,基于全局特征的方法忽略了圖像局部細節信息,在物體遮擋、行人圖片未對齊、視角變化等復雜場景下,辨別能力較差。
基于局部特征的行人重識別則先將整張圖像表示成若干局部特征的集合,再進行度量學習,這類方法可通過圖像切片、分割、人體骨架關鍵點檢測等方式實現。文獻[8]提出一種基于分塊卷積基線方法提取局部特征,使用分塊修正池化方法對齊分塊信息,并針對每個分塊信息分別采用分類損失進行訓練。文獻[9]提出一種水平金字塔匹配方法,通過在水平方向提取多個尺度的局部特征并分別進行訓練,從而增強行人局部特征的魯棒性和判別能力。文獻[10]提出一種以人體區域劃分的多階段特征提取和融合方法,從而對齊不同圖像中人體區域特征。但這類方法通常僅考慮粗粒度的局部特征,缺乏對行人全局特征的統籌考慮,因此難以獲得辨別力強的行人特征。
基于注意力機制的行人重識別方法是近年來行人重識別領域出現的新方法。文獻[11]提出一個端到端的比較性注意力網絡,以長短時記憶網絡為基礎設計了注意力機制,并加入時空信息模擬人類的感知過程來比較行人之間的顯著性區域,判斷兩幅照片是否屬于同一個行人。文獻[12]通過將注意力機制融入孿生網絡中,發現具有相同身份的行人圖像中的一致性注意力區域,在跨視角的匹配中有較強的魯棒性。文獻[13]提出一個輕量級的注意力網絡,能夠聯合學習行人圖片中的硬區域注意力和軟像素注意力,優化未對準圖像中的行人識別。文獻[14]提出一種批丟棄塊網絡,通過在一個批次中隨機丟棄所有輸入特征圖的相同區域,加強局部區域的注意力特征學習,從而獲得更加魯棒和判別性高的行人特征。文獻[15]提出一個類激活圖增強模型,通過在主干模型后面連接一系列有序分支進行擴展,并通過引入一個重疊激活懲罰的新損失函數,使當前分支更多地關注那些被先前分支較少激活的圖像區域,從而獲得多種辨別力的細粒度行人特征。然而,目前這些基于注意力機制的方法主要考慮行人局部區域的注意力特征,缺乏對行人圖片不同區域細粒度注意力特征的關注,特征粒度不夠精細,特征表達的辨別能力有待進一步增強。
本文提出一種通道與空間雙重注意力網絡(Channel and Spatial Dual-Attention Network,CSDA-Net),通過改進設計一種混合池通道注意力模塊(Hybrid Pooling Channel Attention Module,HPCAM),在通道維度上獲得更加具有判別性的特征,并在HPCAM模塊之后設計一種新型像素級細粒度的全像素空間注意力模塊(Full Pixel Spatial Attention Module,FPSAM),從而在空間維度上增強行人特征的判別能力。
受文獻[16]中bagTricks 模型的啟發,本文設計了一種通道和空間雙重注意力網絡CSDA-Net,其結構如圖1 所示??梢钥吹?,CSDA-Net 網絡在骨干網絡的第1 個、第2 個、第3 個殘差塊后引入HPCAM 模塊,在骨干網絡的第4 個殘差塊后引入FPSAM 模塊。相比于批歸一化(Batch Normalization,BN)模塊,實例批歸一化(Instance Batch Normalization,IBN)模塊[17]對一個批次里的每一個樣本均進行正則化處理,而不是對整個批次樣本進行正則化處理。研究表明IBN 泛化能力較強[18],更加適合處理在復雜環境下拍攝的行人圖片。因此,CSDA-Net 骨干網絡采用ResNet50-IBN 網絡。

圖1 CSDA-Net 結構Fig.1 Structure of CSDA-Net
通道注意力機制可以在引入少量參數的情況下,在通道維度上抑制無用信息的干擾及增強顯著性特征的表達,從而提高行人重識別的準確度和精度。為了在通道維度上獲得更加具有判別性的行人特征,本文在傳統通道注意力網絡機構上進行改進,設計了混合池通道注意力模塊HPCAM,其結構如圖2 所示。本文的HPCAM模塊在通道域注意力(Squeeze and Excitation SE)模塊[19]的全局均值池化(Global Average Pooling,GAP)單分支結構設計的基礎上,加入全局最大池化(Global Max Pooling,GMP)分支結構,即通過全局均值池化操作混合全局最大池化操作,進一步挖掘通道維度上的顯著性特征,從而提取到更加具有判別性的特征。

圖2 HPCAM 模塊Fig.2 HPCAM module
如圖2 所示,HPCAM 模塊的輸入是一個三維向量XCA∈RC×H×W,其中W、H、C分別表示特征圖的寬度、高度和通道個數。HPCAM 模塊旨在學習得到一個在通道維度上的權重偏好向量Ac∈RC×1×1,用于捕獲特征在通道維度上的顯著性信息。HPCAM 模塊的輸出計算過程如式(1)所示:

由式(1)可以看出,當權重偏好向量Ac為0時,式(1)變成恒等映射,能有效避免隨著深度網絡層數的加深而出現梯度消失和網絡退化的情況,有助于深度模型的訓練學習,挖掘出在通道維度上的行人顯著性特征。其中權重偏好向量Ac是通過GAP 分支和GMP 分支共同學習得到,其表達式如式(2)所示:

在GAP 分支中,Aca的計算式如式(3)所示:

其中:σ(·)表示Sigmoid 函數;δ(·)表示ReLU 激活函數;Wa1表示GAP 分支中第1 個全連接層中權重向量,其特征維度為(C/r)×1×1,其中r表示降維比例因子,本文中r取16;Wa2表示第2 個全連接層中權重向量,其特征維度為C×1×1;GAP(·)表示全局均值池化操作。
在GMP 分支中,Acm的計算式如式(4)所示:

其中:Wm1表示GMP 分支中第1 個全連接層的權重向量;Wm2表示第2 個全連接層的權重向量;GMP(·)表示全局最大池化操作。
為進一步在空間維度上增強行人特征的判別能力,本文在HPCAM 模塊之后加入了全像素空間注意力模塊FPSAM,其結構組成如圖3 所示。FPSAM模塊學習到的是一個和輸入特征圖維度一致的全像素細粒度的注意力權重向量,能夠在HPCAM 模塊獲得粗粒度的注意力特征基礎上,進一步獲得更加具有判別性的行人特征,提高行人重識別的準確率和精度。

圖3 FPSAM 模塊Fig.3 FPSAM module
FPSAM 模塊的輸入是一個三維向量XPA∈RC×H×W,其中W、H、C分別表示特征圖的寬度、高度和通道個數。FPSAM 模塊旨在學習得到一個和輸入維度相同的權重向量As∈RC×H×W。FPSAM模塊的輸出為輸入向量XPA和權重偏好向量As的乘積,其計算式如式(5)所示:

其中:權重向量As是基于通道注意力權重向量Apc∈RC×1×1和空間注意力權重向量Aps∈R1×H×W計算所得,向量Apc和向量Aps的學習過程如圖3 所示,其中,通道注意力權重向量Apc的學習過程如圖3 中左虛線框所示。Apc的計算式如式(6)所示:

其中:Wpa1表示第1 個全連接層中的權重向量;Wpa2表示第2 個全連接層中的權重向量。
空間注意力權重向量Aps的學習過程如圖3 中右虛線框所示。具體而言,首先在通道維度上求均值,然后通過一個卷積核為3×3、步長為2 的卷積層,最后通過一個雙線性插值層還原得到特征圖Aps?;谙蛄緼pc和向量Aps即可得到像素注意力權重向量As。具體而言,向量Apc和向量Aps首先進行逐元素相乘,然后再經過一個卷積核為1×1、步長為1 的卷積層,最后經過Sigmoid 激活函數進行歸一化處理。向量As的計算式如式(7)所示:

其中:Conv(·)表示卷積操作。因為Apc和Aps是通過2 個不同的分支獨立學習得到的,兩者直接相乘得到的權重向量存在信息冗余,所以加入1×1 的卷積層后可以修正權重向量,得到更加具有判別性的特征。
為了使模型能更加有效地提取出辨別性強的行人特征,本文采用交叉熵損失函數、三元組損失函數和中心損失函數進行聯合訓練。交叉熵損失結合三元組損失和中心損失進行聯合訓練可以獲取更加有效的行人特征,這也是行人重識別研究領域常用的方式。
1.4.1 交叉熵損失函數
設進行分類識別的特征為f,交叉熵損失函數的計算式如式(8)所示:

其中:N為訓練集中類別總數;Wi表示全連接層中第i個類別的權重向量;y是輸入圖像的真實標簽,當y≠i時,qi=0,當y=i時,qi=1。為防止模型對訓練集中行人圖片過擬合,提高模型的泛化能力,本文采用了帶標簽平滑的交叉熵損失函數qi,其表達式為:

其中:ε是標簽平滑參數,其通過抑制真實標簽在計算損失時的權重,從而抑制模型在數據集上過擬合,提高模型泛化能力。在本文中,ε設置為0.1。
1.4.2 三元組損失函數
本文采用的難樣本三元組損失函數是三元組損失函數的一個改進版本。難樣本三元組損失函數可以表示為式(10)所示:

其中:P表示一個批次數據中行人ID 個數;K表示每個行人挑選出圖片的個數表示批次中一張ID為i的行人圖片(anchor)的特征表示與其ID 相同的正樣本特征表示ID不同的負樣本特征;α為預設的超參閾值,用來調整正負樣本對之間的距離,本文中,α設置為0.6;[·]+表示max(·,0)函數。
1.4.3 中心損失函數
中心損失函數通過為每個類別學習得到一個特征中心點,并在訓練過程中不斷拉近深度特征和其對應的特征中心之間的距離,從而使類內特征更加緊湊,學習得到更加魯棒的判別性特征。中心損失函數的表達式如式(11)所示:

其中:fi表示第i個樣本經過深度網絡后提取得到的特征;yi表示第i個樣本的標簽;cyi表示第yi個類別對應的高維特征中心;B表示批次大小。
1.4.4 本文損失函數
綜上所述,本文使用3 種損失函數進行聯合訓練,最終的損失函數表達式如式(12)所示:

其中:β表示中心損失對應的權重系數,在本文中,β默認設置為0.000 5。
為證明本文網絡的有效性,本文在行人重識別領域公開的3 個大型數據集Market1501[20]、DukeMTMC-ReID[21]和CUHK03[22]上進行了實驗,數據集的屬性信息如表1 所示。

表1 數據集屬性信息Table 1 Attribute information of dataset
本文使用Pytorch 深度學習框架,并采用2 塊GeForce GTX 1080ti 顯卡進行GPU加速。在訓練迭代過程中,每次隨機挑選16個行人,每個行人挑選4張圖片來構成一個批次,且圖片大小統一調整為384×192像素。在訓練過程中,學習率采用預熱策略,即在前10個epoch學習率由3.5×10-5線性增加到3.5×10-4,然后在第50個、第140 個和第240 個epoch 時學習率進行系數為0.1 的指數衰減,訓練總次數為400 個epoch。訓練過程中采用Adam 優化器算法對模型參數進行優化,并使用權重衰減因子為5×10-4的L2正則化。測試時,使用BN 層之后的特征作為行人檢索特征,并采用余弦距離度量方式計算特征之間的距離。
本文使用累積匹配特性曲線(Cumulative Match Characteristic Curve,CMC)中的Rank-1 準確率和平均精度均值(mean Average Precision,mAP)作為評估模型性能的指標。
為證明本文網絡性能,本文與近幾年行人重識別領域中一些具有代表性的網絡進行比較,如基于全局特征的IDE[5]、TriNet[6]、SVDNet[23]、bagTricks[16],基于局部特征的PCB[8]、PCB+RPP[8]、HPM[9]、MGN[24],以及基于注意力機制的HA-CNN[13]、CASN[11]、CAMA[15]、BDB[14]。為簡化實驗和直觀地分析網絡本身的有效性,本文所有實驗均采用單幀查詢模式,且未使用re-ranking[25]技術。實驗結果如表2 和表3 所示,其中“—”表示原文獻中未列出該實驗結果。

表2 不同網絡在Market1501 和DukeMTMC-ReID 數據集下的結果對比Table 2 Comparison of results of different networks under Market1501 and DukeMTMC-ReID datasets %

表3 不同網絡在CUHK03 數據集下的結果對比Table 3 Comparison of results of different networks under CUHK03 dataset %
由表2 可知,本文CSDA-Net網絡在Market1501 數據集上的Rank-1 和mAP 分別為96.0%和90.4%,兩者同時達到了對比網絡中的最高精度。相比于同樣基于注意力機制的CAMA[15]和BDB[14],本文CSDA-Net 網絡在Rank-1 上分別提升了1.3 和0.7 個百分點,在mAP上分別提升了5.9 和3.7 個百分點。CAMA 和BDB 網絡由于僅考慮的是局部區域粗粒度的注意力特征,缺乏對行人像素級細粒度注意力特征的統籌考慮,因此獲取的行人判別性特征不夠準確。相比于使用全局 特征的bagTricks[16]和使用局部特征的MGN[24]網絡,本文的CSDA-Net 在Rank-1 上分別提升了1.5和0.3 個百分點,在mAP 上分別提升了4.5 和3.5 個百分點。未使用注意力機制的bagTricks 和MGN 網絡提取得到的是一個全局的特征,缺乏對判別性特征的關注,故而較難獲得辨別力強的行人特征。上述實驗結果驗證了本文CSDA-Net 網絡的有效性。
由表2 可知,本文CSDA-Net 網絡在DukeMTMCReID數據集上的Rank-1和mAP分別為91.3%和82.1%,兩者同時達到了對比網絡中的最高精度。相比于同樣基于注意力機制的CAMA[15]和BDB[14]網絡,本文CSDANet 網絡在Rank-1 上分別提升了5.5 和2.3 個百分點,在mAP 上分別提升了9.2 和6.1 個百分點。相比于使用全局特征的bagTricks[16]網絡,本文CSDA-Net 網絡在Rank-1 和mAP 分別提高了4.9 和5.7 個百分點。相比于使用局部特征的MGN[24]網絡,本文CSDA-Net 網絡在Rank-1 方面提高了2.6 個百分點,在mAP 上提高了3.7 個百分點。在DukeMTMC-ReID 數據集上的實驗結果同樣證明了本文CSDA-Net 網絡的有效性。
不同網絡在CUHK03 數據集上的對比結果如表3 所示,可以看到,本文CSDA-Net 網絡的性能顯著優于其他網絡。因為該數據集中行人邊界框由手工標記方式和檢測器檢測兩種方式獲得,所以分成兩種情況進行驗證。在使用手工標注方式獲得的行人邊界框下,本文CSDA-Net 網絡達到了81.1%的Rank-1 精度和82.9%的mAP,兩者同時達到了對比網絡中最好的性能。相比于同樣基于注意力機制的CAMA[15]和BDB[14]網絡,本文CSDA-Net網絡在Rank-1上分別提升了12.8 和6.2 個百分點,在mAP 上分別提升了14.6 和1.7 個百分點。在使用檢測器檢測的方式下,本文CSDA-Net 網絡達到了78.3%的Rank-1和80.0%的mAP,性能同樣優于其他的網絡,相比于同樣基于注意力機制的CAMA[15]和BDB[14]網絡,本文CSDA-Net 網絡在Rank-1 上分別提升了11.7 和4.8 個百分點,在mAP 上分別提升了15.8 和3.6 個百分點。在CUHK03 數據集上的實驗結果進一步驗證了本文CSDA-Net 網絡的有效性。
由表2、表3 可以看出,本文CSDA-Net 網絡在DukeMTMC-ReID 和CUHK03 數據集上性能提升幅度明顯高于在Market1501 數據集上的性能提升幅度,這是由于Market1501 數據集中的行人圖片較為規整,且較少出現物體遮擋、視圖變化、行人未對齊等不利情況,而DukeMTMC-ReID 和CUHK03 數據集具有較大挑戰性,更符合真實場景下行人圖片的特點,即圖片來自于多個互不重疊的攝像頭,普遍存在行人姿態變化、物體遮擋、行人未對齊等不利情況。實驗結果論證了本文CSDA-Net 網絡能夠有效應對上述不利情況,具有更好的魯棒性,更適合真實場景下的行人重識別任務。
為展現本文網絡中2 個主要創新改進模塊(HPCAM 模塊和FPSAM 模塊)對算法性能提升的貢獻,本文以Market1501 數據集為例,設計了一系列消融實驗。本文以未加入注意力模塊作為基線(Baseline)模型,實驗結果如表4 所示。

表4 不同模塊組合在Market1501 數據集下的實驗結果Table 4 Experimental results of different module combinations on Market1501 dataset %
由表4 實驗結果可以看出,單獨融入HPCAM 模塊或FPSAM 模塊均對模型效果有所提升,將HPCAM 模塊和FPSAM 模塊同時融入Baseline 模型(即本文方法),Rank-1 和mAP 得到了進一步提升。上述實驗表明,HPCAM 和FPSAM 兩個注意力模塊在“粒度”上具有互補作用,通過深度網絡聯合學習粗粒度和細粒度注意力特征,可以獲得更具魯棒性的行人特征,從而提高行人重識別的準確率和精度。
為進一步驗證本文網絡的先進性,本文隨機檢索了Market1501 查詢集中的3 個行人,檢索結果排名前10 的圖片如圖4 所示。其中,Query 是待查詢圖像,1~10 是按照相識度從大到小排列的10 張檢索結果正確的圖像,分別表示為Rank-1~Rank-10。

圖4 本文網絡在Market1501 數據集下排名前10 的行人檢索結果展示Fig.4 Display of the top 10 pedestrian search results of network in this paper under the Market1501 dataset
從圖4 第1 個檢索示例中可以看出,當攝像機視角變化(Rank-1,Rank-4,Rank-8)和行人姿態變化(Rank-1,Rank-2,Rank-3)時,均可以被檢索出來。從圖4 第2 個檢索示例中可以看出,即使是與待檢索圖像不對齊的行人圖像(Rank-1,Rank-8)也可以被檢索出來。從圖4 第3 個檢索示例中可以看出,即使是被自行車遮擋的行人圖像(Rank-7)也可以被正確地檢索出來。在圖像低分辨率情況下,如第1 個檢索示例中的Rank-8 和第3 個檢索示例中的Rank-6 所示,也能被檢索出來。上述實驗結果驗證了本文網絡的有效性和魯棒性,可以有效應對真實場景下的行人重識別問題。
針對在復雜環境下行人判別性特征難以獲取的問題,本文提出一種面向行人重識別的通道與空間雙重注意力網絡CSDA-Net。通過在深度模型中分階段融入HPCAM 模塊和FPSAM 模塊,獲得不同粒度的注意力特征,并通過深度網絡互補訓練學習,有效挖掘行人判別性特征,提高行人重識別的準確率和精度。在CUHK03、DukeMTMC-ReID 和Market1501 公開數據集上的實驗結果表明,本文網絡能有效提高行人重識別性能。下一步將從實際應用的角度出發,在跨模態的情況下把不同模態的特征數據統一映射到一個共享的特征表征空間中,并同時約束該共享特征空間中的類內一致性和類間辨別性,使用深度模型訓練得到與模態無關的行人判別性特征,提高行人重識別模型的泛化能力,從而提取具有魯棒性和判別性的行人特征。