魏紫薇,屈丹,柳聰
(1.鄭州大學 軟件學院,鄭州 450001;2.戰略支援部隊信息工程大學 信息系統工程學院,鄭州 450001)
行人重識別也稱行人再識別,是指在沒有交叉視域的多個攝像頭監控系統中,給定一個攝像機拍攝的行人圖像,利用深度學習、人工智能等技術從其他攝像機中重新識別出該行人。行人重識別作為智能圖像處理的關鍵技術之一,在智能安防、智能追蹤、智能管理等應用場景中得到廣泛關注與應用[1-2]。
行人重識別系統通常由圖像預處理、圖像特征提取、網絡損失優化、行人排序4 個部分組成:圖像預處理對輸入圖片大小、分辨率等進行處理;圖像特征提取旨在提取顯著性更強的行人特征,是系統中的關鍵步驟;網絡損失優化是在損失函數最小化原則下通過某種優化算法來尋找最優參數;行人排序是對行人圖像之間的相似度依次進行排序并得到排序結果。
在諸多行人特征提取方法中,全局特征提取[3]較早被應用到行人重識別網絡中,其缺點是不易捕捉圖片之間的細微區別。在這之后,很多研究人員提出全局特征與局部特征相結合的方法[4-6],使得行人重識別性能得到大幅提升。盡管行人重識別技術取得了很大的進展,但是受遮擋、姿態變化、光線變化、圖像分辨率等因素影響,其識別精度仍難以滿足現實需求[7-8]。為解決該問題,很多研究人員提出基于注意力機制的行人重識別網絡[9-11],該類網絡利用注意力機制、深度模型來關注行人圖像的顯著特征,從而降低各種環境變化和背景干擾所帶來的負面影響[12-14]。
文獻[15]提出包含非局部注意力模塊(Non-Local Attention Module,A)、廣義平均池化(Generalized-Mean Pooling,G)、加權三元組損失(Weighted Regularization Triplet,W)的AGW 網絡,該網絡在提取某處特征時利用其周圍點的信息,獲得了更大的感受野以及更廣泛的信息分布。然而,AGW 網絡是對當前卷積模塊進行注意學習從而訓練模型,在訓練過程中,當前注意塊沒有前面的監督信息來進行指導。文獻[16]提出連接注意力模塊,其通過當前注意塊來從前面注意塊中收集信息,并將其傳遞給下一個注意塊,使得注意塊之間的信息可以相互配合,從而提高注意力模塊的學習能力,最終大幅提升網絡的特征學習效果。
針對真實環境下行人重識別網絡識別精度低的問題,本文提出一種基于連接注意力機制的行人重識別特征提取方法,旨在提取顯著性更強的行人圖像特征以實現行人識別。使用自動增強技術[17]對圖像進行預處理,獲取關于平移、旋轉、剪切等多種圖像處理功能的融合策略,以實現有效的數據增強,進而提升模型的魯棒性。采用基于連接注意力機制的行人重識別網絡模型對行人圖像進行特征提取,獲得顯著性更強的行人特征進行相似度度量。此外,利用三元組損失和圓損失進行損失優化,以獲得更高的行人重識別精度。在Market1501[18]、DukeMTMC-reID[19]、MSMT17[20]這3 個主流的行人重識別數據集上進行實驗,以驗證本文基于連接注意力的行人重識別網絡的識別性能。
如圖1 所示,本文行人重識別特征提取網絡分為4 個步驟:

圖1 行人重識別特征提取網絡結構Fig.1 Person re-identification feature extraction network structure
1)對輸入的行人圖片進行預處理。
2)將預處理后的圖片輸入以ResNet50 作為主干網絡、卷積塊2~卷積塊5 分別結合連接注意力模塊的整體網絡結構中進行特征提取。
3)對提取的行人特征進行損失優化并完成相似度度量。
4)進行行人排序,得到行人重識別系統的識別結果。
在基于深度學習的網絡模型訓練過程中,網絡模型由最初的淺層網絡發展到目前更深、更寬的網絡,因此,對數據量的需求也大幅提高,從而避免模型的過擬合問題。在真實環境中,由于數據標注成本等因素影響,導致訓練數據欠缺,需要對數據集進行數據擴增。傳統的數據增強方法包括尺寸變換、顏色增強等,隨著深度學習中更深網絡層的出現,簡單的數據增強方法已經無法滿足各類場景的應用需求。在行人重識別場景中,光照、角度、分辨率等因素的影響使得深度網絡的學習更為困難。
自動增強是一種自動搜索合適數據進行標注數據拓展的算法,其包含2 個部分:
1)搜索空間:確定圖像變換增強的選擇范圍。
2)搜索算法:確定圖像增強選擇范圍內的優選結果。
搜索空間中的一個圖像增強策略包含5 個子策略,在訓練時為每個小批量中的每張圖像選擇1 個子策略,因此,數據擴展為原始數據的2 倍。在搜索空間中,共有16 種圖像運算方法,包括剪切(沿X軸或Y軸)、平移(沿X軸或Y軸)、旋轉、最大化圖像對比度、反色、均衡、像素點反轉、像素點反轉疊加、色調分離、對比度、飽和度、亮度、銳度以及隨機擦除。每個子策略包含2 種圖像運算方法,圖像運算包含該方法的應用概率和應用幅度,即以一定的概率選擇使用該方法并在圖像上采用一定的幅度使用該方法。圖像運算方法選擇具有隨機性,導致圖像增強后的圖片存在多種結果,因此,確定多種結果中更為合適的一個結果尤為重要。為此,本文采用基于控制器RNN 的搜索算法來采樣數據增強策略,該策略具有關于圖像變換方式、變換概率和變換幅度的信息。在實驗過程中,利用文獻[17]中基于ImageNet的增強策略來訓練網絡模型。綜上,本文采用基于自動增強的方法對訓練數據進行增強,增加數據量以避免模型過擬合,最終利用更深的網絡來提取更細粒度的圖片特征。
1.2.1 連接注意力模塊
連接注意力模塊是在通道注意力(Channel Attention,CA)[21]的基礎上通過相鄰注意塊的信息互連而形成的。通道注意力模塊結構如圖2 所示,其通過學習通道注意力系數對卷積塊進行加權,以獲得最終的卷積輸出。

圖2 通道注意力模塊結構Fig.2 Channel attention module structure
對由卷積塊產生的特征圖X?RC×W×H進行全局平均池化(Global Average Pooling,GAP)和特征轉換,如式(1)所示:

其中:C×W×H表示特征圖大小,即通道數、圖像寬度和圖像高度;ωt是轉換參數;XGAP?RC為全局池化后的特征;T為特征轉換,該轉換通過雙層前向全連接網絡來實現,2 個全連接層的非線性激活函數分別為ReLU 和Sigmoid;AT?RC是轉換后的通道注意力系數輸出。注意力引導輸出Xout?RC×W×H,如式(2)所示:

其中:⊙表示通道點乘運算,即每個通道注意力系數對每個通道內的像素點進行點乘。最終通道注意力模塊輸出可表示為:

連接注意力模塊結構如圖3 所示,其將前序通道注意塊的通道注意力系數AT與當前注意塊的全局池化結果進行融合,這種融合能夠確保當前卷積塊的通道注意力系數,是由其全局池化結果和前序卷積塊通道注意力信息的聯合學習而得到。

圖3 連接注意力模塊結構Fig.3 Connected attention module structure
在不同階段由卷積塊所產生的特征圖通道數不同,與之相關聯的注意力圖通道數也不同,為了解決通道匹配問題,本文將先前注意塊的輸出AT采用注意力連接模塊進行通道數匹配,該注意力連接模塊包括全連接層和歸一化層(Layer Normalization,LN),歸一化后都采用ReLU 非線性函數。為減少參數量,2 個全連接層在進行通道匹配時,通道數由其中,C和C′分別代表先前和當前通道數量,r為通道衰減參數,其對模型性能的影響將在后續實驗中詳細分析(可參見表3)。最終,注意力模塊的輸出如式(4)所示:

從上文分析可以看出,通道注意力通過自主學習的方式得到每個特征通道的重要性程度,賦予重要的特征通道更大的權重,賦予作用較小的特征通道更小的權重,但其只考慮當前注意塊通道的重要性程度,忽略了前序注意塊的信息,存在特征顯著性不強的問題。連接注意力模塊在其基礎上將之前注意塊信息融入到當前注意塊中,使得注意塊之間的信息相互配合,從而提高了注意力模塊的學習能力和網絡的特征學習效果。
1.2.2 特征提取網絡
本文以ResNet50作為主干網絡,分別在卷積塊2~卷積塊5 中,在殘差塊引入連接注意力機制,讓其在卷積塊之間進行信息融合,最終構成特征提取網絡,結構如圖4 所示。

圖4 特征提取網絡結構Fig.4 Feature extraction network structure
本文特征提取網絡由5 個卷積塊構成,其中,卷積塊1 包括一個7×7 卷積和最大池化層,其余卷積塊均由殘差塊和瓶頸塊組成,不同之處在于瓶頸塊疊加的個數不同。以卷積塊2 為例,其結構如圖5 所示,殘差塊包含1×1 卷積、3×3 卷積以及連接注意力模塊,連接注意力模塊在1×1 卷積層之后,瓶頸塊包含1×1 卷積、3×3 卷積以及通道注意力模塊。為了避免網絡層數過多帶來的梯度消失問題,殘差塊采用1×1 卷積進行殘差連接,連接注意力模塊和通道注意力模塊對特征通道賦予不同的權重,以獲得顯著性更強的行人特征,從而得到識別精度更高的特征提取網絡。

圖5 卷積塊2 的結構Fig.5 Structure of convolution block 2
本文實驗使用的損失函數為三元組損失函數[22]和圓損失函數[23],兩者能夠學習高判別力的行人特征。三元組損失旨在一定距離上將正負樣本分開,即最小化正樣本對之間的距離,同時最大化負樣本對之間的距離,其目標函數如式(5)所示:

其中:xa為固定樣本;xp為正樣本,即xp與xa具有相同的行人ID;xn是負樣本,即xn與xa具有不同的行人ID ;F為特征提取函數,即利用連接注意力優化的殘差網絡進行特征提取后再進行池化(如圖1 所示);表示正負樣本對特征之間的歐氏距離;α為手動設置的距離閾值,用于限制正負樣本對之間的距離,實驗過程中其值取0.3;[·]+表示max(·,0)函數。對于每一個訓練批次,挑選出P個行人,每個行人隨機挑選K張圖片,即一個批次包含P×K張圖片,對于每一張圖片,挑選出一個與其最不相似的正樣本(即與固定樣本特征距離最大的樣本)和一個最相似的負樣本(即與固定樣本特征距離最小的樣本),最終計算三元組損失。
圓損失旨在學習類別區分性信息,即最大化類內相似度同時最小化類間相似度。假設與x相關的類內相似度分數有K個,類間相似度分數有L個,則圓損失的目標函數如式(6)所示:

其中:sn和sp分別為關于樣本空間x的類間相似度和類內相似度,采用余弦相似度來計算類內和類間相似度分數;Δn和Δp分別為類間和類內間隔,實驗過程中分別取值0.25 和0.75;αn和αp為非負整數權重因子;γ為尺度因子,實驗過程中取值1。
為了最大化地發揮損失函數的作用,本文實驗過程中采用總損失Ltotal,如式(7)所示:

其中:m和n分別為損失函數的權重因子,其對實驗結果的影響見表5,實驗過程中m和n均取值1。
為了驗證本文所提方法的有效性,分別在Market1501[18]、DukeMTMC-reID[19]、MSMT17[20]這3 個公開數據集上進行測試。Market1501 于2015 年在清華大學內采集,圖像來自6 個不同的攝像頭,其中1 個攝像頭為低分辨率,訓練集包括751 個人的12 936 張圖片,測試集包括750 個人的19 732 張圖片。DukeMTMC-reID 于2017 年在杜克大學內采集,圖像來自8 個不同的攝像頭,訓練集包括702 個人的16 522 張圖片,測試集包括702 個人的19 889 張圖片。MSMT17 在北京大學內采集,圖像來自15 個不同的攝像頭,訓練集包括1 041 個人的30 248 張圖片,測試集包括3 060 個人的93 820 張圖片,其中,11 659 張圖片被隨機選出作為查詢圖片,剩下的82 161 張圖片作為圖庫。
本文采用目前行人重識別領域最常用的2 種評價指標,即首位準確率(Rank-1)和平均精確均值(mean Average Precision,mAP)。Rank-1 反映了待選行人圖像中匹配值排在首位的圖像是待查詢行人的概率,mAP 綜合考慮精確率和召回率,能夠反映圖像庫中所有正確的圖片排在檢索列表最前面的程度。
實驗采用ResNet50 作為主干網絡,并利用ImageNet 預訓練參數進行初始化。為了保留圖像的分辨率,ResNet50 最后一個瓶頸層的步長設置為1,每個瓶頸層后均疊加一個注意力塊。在訓練期間,采用自動增強的數據增強策略,輸入圖片大小為384×128 像素,批次大小是64,其包含16 個行人類別,每個類別包含4 個行人圖像。采用隨機梯度下降優化器進行網絡優化,動量因子為0.9,權重衰減為0.000 5。初始學習率設置為0.01,采用預熱學習策略,在訓練40 個回合后下降10 倍。模型共訓練80 個回合,為了更好地初始化分類器的參數,在前10 個回合只訓練分類器參數,即用來計算損失的特征參數,同時凍結網絡參數,經過10 個回合迭代后釋放網絡參數,后70 個回合訓練整個網絡模型。
本文采用Rank-1 和mAP 這2 種性能指標來衡量所提方法的性能,Rank-1 和mAP 的值越高,說明模型性能越好,行人重識別精度越高。
2.3.1 本文方法與現有方法的性能比較
在Market1501、DukeMTMC-reID、MSMT17 這3 個公開行人重識別數據集上進行測試,將本文方法與PCB[3]、MGN[4]、Pyramid[5]、OSNet[7]、MHN[9]、SONA[10]、AGW[15]、FastReID[24]等基于深度學習的經典行人重識別方法進行比較,結果如表1 所示。

表1 不同行人重識別方法的性能比較Table 1 Performance comparison of different person re-identification methods %
從表1 可以看出:在Market1501 數據集上,本文方法的Rank-1 和mAP 值較其他對比方法均最優;在DukeMTMC-reID、MSMT17 數據集上,本文方法的Rank-1 和mAP 值同樣取得了最優結果,超出其他方法1.5 個百分點左右。此外,本文在測試階段對重排序(Rerank)[25]和查詢擴展(Query Expansion,QE)這2 個測試技巧進行實驗,從結果可以看出,在Market1501 和DukeMTMC-reID 這2 個數據集上,本文方法的Rank-1 和mAP 值較對比方法均有明顯提升。由此可以看出,在3 個公開行人重識別數據集上,本文方法在行人重識別精度方面極具競爭力,這主要得益于連接注意力模塊將上下文信息進行融合,提取顯著性更強的行人特征進行距離度量,最終獲得了較好的識別效果。
2.3.2 消融實驗
本文消融實驗均以Market1501 數據集為例進行測試。為了探索不同分支對實驗結果的影響,將自動增強方法和連接注意力模塊嵌入ResNet50 網絡中進行識別,其中,M1 表示數據預處理中的自動增強,M2 表示連接注意力機制。從表2 可以看出,2 個分支對實驗結果均有一定程度的提升,合并在一起對實驗結果的提升更為明顯,Rank-1 值提升1 個百分點左右,mAP 值提升3 個百分點左右,因此,增加數據集規模并提取顯著性更強的行人特征有助于提升識別精度。

表2 消融實驗結果Table 2 Ablation experimental results %
在連接注意力模塊中,為了匹配通道大小,引入了通道衰減r,為了探索r值對模型性能的影響,本文進行實驗測試。從表3 可以看出:當r值為2 時,實驗結果最好;r值為4 和直接采用一個全連接層(即對應表中第一行FC 層)的實驗結果相比r值為2 時稍差。

表3 不同通道衰減r 值下的實驗結果Table 3 Experimental results under different channel attenuation r values %
本文還測試了不同主干網絡對實驗結果的影響,ResNet18、ResNet34、ResNet50 分別代表主干網絡層數分別為18、34、50 的典型網絡,IBN(Instance Batch Normalization)網絡是將ResNet50 等典型網絡中的BN 層替換為IBN 層之后形成的網絡。從表4可以看出,當主干網絡為ResNet50 時,更深的網絡結構提取了更高層次的行人特征,識別效果更好。為了驗證本文所采用損失函數的有效性,對m和n的取值進行測試。從表5 可以看出,三元組損失和圓損失聯合使用時實驗效果更好,這主要得益于三元組損失使得正樣本對距離更近同時負樣本對距離更遠,而圓損失在優化距離的同時賦予類間樣本與類內樣本不同的權重因子,使得其優化方向更為準確。

表4 不同主干網絡下的實驗結果Table 4 Experimental results under different backbone networks %

表5 不同損失函數下的實驗結果Table 5 Experimental results under different loss functions %
2.3.3 行人重識別結果示例
為了更加清晰地呈現行人重識別系統的識別效果,在Market1501 數據集上對識別結果進行可視化,如圖6 所示,query 為待查詢圖片,在圖像庫中尋找與其為同一個人的圖片,顯示結果為前10 張相似度最高的行人圖片,其中,虛線框內為錯誤的識別結果,其余為正確的識別結果。從圖6 可以看出,錯誤的檢索圖片與待查詢圖片在外觀方面非常相似,在提取行人外觀特征時,網絡模型捕獲不到細微的差別,導致了錯誤的識別結果。因此,如何提取更加細粒度的行人特征,使得網絡模型關注到行人圖像的細小差別顯得尤為重要,這也是本文下一步的研究重點。

圖6 部分行人重識別結果Fig.6 Some person re-identification results
在現實環境中,行人重識別容易受光照、姿態等外在變化和不同背景的影響,導致數據量欠缺以及行人重識別系統識別率低的問題。為此,本文提出一種基于連接注意力的行人重識別特征提取方法。將自動增強策略引入圖像預處理過程中以提高模型的魯棒性,將連接注意力模塊嵌入ResNet50網絡進行特征提取,從而增強行人特征的顯著性,在此基礎上,進行相似度度量以得到識別精度較高的行人重識別模型。在3 個主流數據集上的實驗結果表明,該方法的行人重識別性能評價指標優于PCB、MGN 等方法。在本文方法的基礎上,利用預訓練模型和transformer 網絡來提取更加細粒度的特征以及提升跨域行人重識別模型的精度,將是下一步的研究方向。