劉 潤,汪淑娟
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
近年來,行人重識別(Person Re-identification,Re-ID)因在視頻監控、身份驗證、人機交互等計算機視覺應用中的重要作用而受到研究者們的廣泛關注。行人重識別的主要目標是確定一個給定的人是否出現在一個攝像機網絡上,從技術上講需要對目標行人的全局外貌特征建立一個穩健的模型。由于背景、照明條件、身體姿勢以及拍攝對象方向的變化都會導致照片中的行人外觀出現顯著變化,因此行人重識別任務具有一定的挑戰性。行人重識別模型構建的主要目標是生成任意輸入圖像的豐富特征表示,從而進行行人的匹配。
深度卷積神經網絡對外觀變化和空間位置變化具有魯棒性,在提取行人圖片的全局特征時不會被這類變化過多影響。由于全局特征提取容易忽略識別特定人物表示時的詳細和潛在相關信息,為了加強細節特征的學習,引入注意力機制和平均分塊方法[1-3]。具體來說,注意力機制降低了網絡提取特征時背景噪聲的影響,并專注于行人的相關特征。而基于部分的模型將特征圖劃分為空間水平部分,從而允許網絡專注于細粒度和局部特征。盡管注意力機制和基于部分的網絡模型在重識別任務中均提升了性能,但這些方法并沒有挖掘更豐富和多樣化的行人特征。深度學習模型顯示出一種有偏倚的學習行為,檢索的是有助于減少所見類的訓練損失的部分屬性概念,而不是學習全面的細節和概念[4-6]。深層網絡傾向于關注表面的統計規律,而不是更一般的抽象概念,即網絡需要具有提取更豐富和多樣化特征表示的能力。
針對以上問題,本文提出了基于多分支的魯棒性特征挖掘網絡,包括全局分支、局部分支以及輸入擦除分支。輸入的圖片在擦除分支中會被刪除部分特征,然后將部分刪除的特征圖輸入到后續的網絡中,來讓網絡挖掘更多樣化的特征作為輸出。與此同時,將注意力模塊加入到局部分支與全局分支中,以此讓網絡學習更魯棒的特征。
所提出的方法模型包括3 個分支,分別是全局分支、局部分支、輸入擦除分支。在各分支中加入注意力模塊,總體框架如圖1 所示。

圖1 整體框架
全局分支對應于一個標準的CNN 骨干網絡,如ResNet50。本文的主干網絡由B個卷積塊組成,當圖片經過第i個卷積塊Bi時,輸出的特征表示為Yi。將一個全局最大池化(步長設為1)加到最后一個卷積塊后獲得一個輸出向量fg,該向量為一個人的整體特征表示。
相關研究表明,CNN 傾向于關注圖像中最具鑒別性的部分。在行人再識別的背景下,網絡可能不會挖掘某些身體部位或衣服紋理等弱顯著性特征。針對此問題,在骨干網絡中增加新的分支,從圖像中挖掘更多樣化的特征。具體來說,將擦除模塊添加到初始主干來獲得擦除分支。在任意一個卷積塊Bi之后都可以添加擦除操作來獲得新的特征圖并作為后面卷積塊的輸入,擦除操作如圖2 所示。

圖2 擦除操作



雖然擦除分支幫助網絡挖掘更多樣化的特征,但這些新的分支著重獲取行人的整體特征。為了幫助網絡挖掘更精細的特性,本文增加了一個局部分支。該分支位于卷積塊B3之后,由卷積塊B4l組成,與B4具有相同的層結構。訓練時不同分支之間不會共享權值,這樣可以讓網絡挖掘不同的具有鑒別性的魯棒特征。如圖3 所示,局部分支輸出特征映射時,將特征映射按通道平均劃分為4 個水平特征,這4 個水平特征經過全局平均池化層獲得4 個局部特征向量,最后通過將4 個局部向量拼接起來獲取行人的局部特征向量fl。

圖3 局部特征分支
注意力模塊通常用于各種深度學習應用任務,如語義分割、目標檢測等,在行人重識別的模型中可以顯著提高模型檢索更多相關特征的能力。為了強調注意模塊在本方法中的有效性,設計了一個由空間注意模塊(Spartial Attention Module,SAM)和通道注意模塊(CAM,Channel Attention Moudle)組成的簡單注意模塊。特征映射Yi先由SAM 處理,然后由CAM 處理,得到的特征記為Att(Yi)=CAM[SAM(Yi)]。SAM 在空間域內捕獲和聚集行人最相關的鑒別性特征,其運算流程如圖4 所示[11]。

圖4 SAM 運算流程




圖5 CAM 運算流程
對空間注意力模塊輸出的特征SAM(Yi)應用卷積層獲得大小為的特征圖,然后通過第二個卷積層獲得H×W×C的特征圖,對此特征圖應用Softmax 激活并逐元素乘以SAM(Yi)得到最終結果為CAM[SAM(Yi)]。
經過上述操作,每一個分支最終獲得對應輸出的特征向量fBr。對每個特征向量應用相同的損失,包括帶有標簽平滑的ID 損失LBrID和軟三元組損失總損失為:

定義ID 損失為:

式中:N表示樣本個數,為身份i的預測概率,qi為身份i的平滑標簽。qi的作用是防止模型過擬合,其定義為:

式中:y為行人的硬標簽,ε為精度參數(本文設置為0.1)。在預測ID 概率的線性層之前,對特征向量fBr應用BNNeck 策略,即將經過網絡提取的特征向量fBr用來做三元組損失,然后該特征向量再經過BN(Batch Normalization)層之后送入線性層做交叉熵損失[13-14]。

式中:P表示每批行人ID 的數量,K表示每個ID的樣本數量,表示樣本i的第k張圖片,表示對應分支的行人預測特征表示對應行人身份圖片的正樣本特征向量表示對應行人圖片的負樣本特征向量。
使用深度學習框架Pytorch 和64 位的Ubuntu18.04 操作系統進行算法訓練,圖像尺度大小統一調整為256×128 像素,采用ADM 優化器來實現網絡參數的更新。實驗中batch size 設置為32,每個batch size 包含8 個行人,每個行人包含4 個樣本。在訓練過程中,訓練網絡需要120 個epochs。在0 ~10 epoch 中,使用預熱學習策略調整學習率;從第11 個epoch 開始,學習率保持不變,持續到第40 個epoch;在第41 個epoch,學習率衰減10%,然后保持不變并持續到第70 個epoch;在第71 個epoch,學習率再次衰減10%,并保持不變直到第120 個epoch。
為驗證本文算法的有效性,使用4 個具有挑戰性的數據集對本文算法性能進行測試,分別為兩個普通行人數據集Market-1501[7]和DukeMTMCreID[8]以及兩個遮擋數據集Occluded-DukeMTMC[9]和Occluded-ReID[10]。Market-1501 包含1 501 個行人的32 668 張圖像,這些圖像由6 個非重疊相機拍攝得到。在該數據集中,訓練集包含751 個行人的12 936 張圖像,測試集包含750 個行人的19 732張圖像。DukeMTMC-reID 包含1 404 個行人的36 411張圖像,這些圖像由8個非重疊攝像頭拍攝得到。在該數據集中,訓練集包含702 名行人的16 522 張圖像,測試集包含剩下702 名行人的19 889 張圖像。Occluded-dukemtmc 源自DukeMTMC-reID,專為遮擋行人重識別而構建,每張圖像都包含遮擋物,由8 個非重疊相機拍攝得到。在該數據集中,訓練集包含702 個行人的15 618 張圖像,測試集包含另外519 名行人的19 871 張圖像。Occluded-ReID 中包含200 位被遮擋行人的2 000 幅圖像,每個行人身份有5 張完整圖像和5 張嚴重被遮擋的圖像,這些圖像由移動攝像機拍攝得到。
在實驗中使用Market-1501 作為訓練集,Occluded-ReID 作為測試集。采用累積匹配特征(Cumulative Matching Characteristic,CMC) 中 的Rank-1 和平均精度(mean Average Precision,mAP)作為評價識別性能的指標。累積匹配特性曲線中的Rank-n是指在搜索結果中n張圖片的正確率,例如Rank-1 是第一位檢索正確的概率,Rank-5 則是前5 張圖像中檢索正確的概率。
將本文所提方法與只有全局分支的方法在兩個完整行人數據集和兩個遮擋行人數據集上進行測試,結果如表1 所示。

表1 不同方法在不同數據集上的性能
從表1 中可以看出,本文所提方法在4 個數據集上的Rank-1 和mAP 與只有全局分支的方法相比均有明顯的提升。通過設計擦除模塊使得網絡可以提取更魯棒的特征,并且利用多分支彌補了信息的缺失。
使用Baseline,P,OS,ATT 定義全局分支、局部分支、擦除分支以及注意力模塊,“Baseline+P”表示加入局部分支的雙分支網絡,“Baseline+P+OS”表示在“Baseline+P”的基礎上加入擦除分支,“Baseline+P+OS+ATT”表示在“Baseline+P+OS”的基礎上加入注意力模塊。為了驗證所提方法的有效性,在遮擋數據集Occluded-dukemtmc 上對其進行了消融實驗,實驗結果如表2 所示。
由表2 可知,骨干網絡加入局部分支后的性能要優于只有全局分支的性能。全局分支可以學習到顯著特征,而局部分支可以學習到細粒度特征,在此基礎上加入擦除模塊后獲得擦除分支來進一步約束網絡挖掘魯棒性的弱顯著性特征,實現更好的特征映射。加入注意力模塊后,網絡學習到的特征更加魯棒,對全局分支、局部分支以及擦除分支起到了加強的作用,進一步提升了識別性能。

表2 消融實驗結果
基于多分支的魯棒性特征挖掘網絡由相互補充的分支組成,分別是提取行人一般特征的全局分支、對細粒度特征進行挖掘的局部分支以及進一步挖掘更豐富與多樣化的鑒別性特征的擦除分支。具體來說,在主干分支中加入擦除操作獲得擦除分支,這些分支將部分擦除的特征映射作為輸入來挖掘被主干分支忽略的鑒別性特征。通過在4 個數據集上的實驗,證明了所提方法在行人重識別任務上的有效性,值得借鑒。