宋曉茹,楊佳,高嵩,陳超波,宋爽
(西安工業大學電子信息工程學院,西安 710021)
隨著大規模高清攝像頭的普及以及高速通信網絡的發展,行人重識別技術被廣泛應用于智能尋人系統、智能安防、自動駕駛等領域。行人重識別,即對特定的監控行人圖像,檢索跨攝像頭跨場景的該行人圖像。目前行人重識別技術已經有了很多研究成果,但由于遮擋和視角姿態等問題的影響仍然面臨著巨大的挑戰,因此提取具有魯棒性的行人特征成為了解決行人重識別的關鍵性問題[1]。
傳統的行人重識別需要手動提取顏色(RGB、HSV)或紋理(LBP、SIFT)[2]等特征后,使用度量方法對特征進行相似性度量,使特征間的類內距離盡可能小,類間距離盡可能大。然而,由于手動提取特征復雜且提取特征能力有限,隨著深度學習的發展以及卷積神經網絡在ImageNet圖像識別大賽上取得的巨大成功,基于深度學習的行人重識別逐漸成為研究熱點[3]。
基于深度學習的行人重識別根據損失函數的不同分為基于表征學習的行人重識別和基于度量學習的行人重識別[4]。基于表征學習的行人重識別可被當做分類或驗證問題[5]。Zheng等[6]提出了一個孿生網絡,該網絡結合了兩種模型的優勢,同時計算分類損失和驗證損失并利用其互補性質提高了模型的學習判別能力。Lin 等[7]提出了一種行人重識別網絡,在學習 Re-ID 嵌入的同時,能夠預測行人屬性,這種多任務方法聚合了分類損失和屬性損失,提高了網絡的泛化能力。隨著研究的深入,研究者們通常增加網絡對局部特征的學習,Fu等[8]通過對行人圖片水平分割的方法提取局部特征,還有一些研究通過預訓練的人體骨架信息,但需要引入額外的圖片切塊或姿態點定位。
基于度量學習的行人重識別旨在學習兩張圖像的相似性,通過最小化度量損失函數,使行人正樣本對特征間的距離更近,負樣本對特征間的距離更遠[9]。三元組損失[10]強制使得關于同一個目標圖像與其正樣本的距離小于與其負樣本的距離,從而在縮小圖像類內差的同時增大其類間差。常用的度量損失還有邊緣挖掘損失[11]、四元組損失[12]等。
這些方法雖然已經取得了極高的準確率,但往往存在以下問題:①卷積神經網絡通常取網絡的最高層特征作為識別依據,但高層特征的分辨率低;②現有的行人重識別模型忽略了圖像的關鍵性細節特征。為此,針對現有模型提取的行人特征通常無法充分的表達行人信息,提出了基于注意力機制與多尺度特征融合的行人重識別方法。其中注意力機制旨在使網絡抽取出更加關鍵的信息,同時不會對模型的計算和存儲帶來更大開銷,多尺度特征融合能利用多層特征間的互補特性改善模型,防止在訓練過程中的特征丟失,使得模型得到深層次的特征表達,提高學習效率和準確率。
設計基于注意力機制與多尺度特征融合的行人重識別模型如圖1所示,主要由骨干網絡、注意力機制模塊和多尺度特征融合模塊組成。行人圖像經過骨干網絡提取特征后,對不同尺度的卷積層嵌入注意力機制得到關鍵特征,再通過尺度變換將特征尺寸歸一化后進行特征融合,采用聯合交叉熵損失、難樣本采樣三元組損失和中心損失的多損失函數策略對模型進行訓練。
1.1.1 骨干網絡
骨干網絡使用改進的R-ResNet50網絡,ReLU激活函數雖然求解梯度信息時收斂速度十分迅速,但是在神經元的輸入值為負數時,通過ReLU函數計算的輸出將全為0,經過這些神經元的梯度信息將都為0,這些神經元處于了一種“死亡”狀態,這樣會導致神經元權值也將無法得到更新,影響網絡的表達能力。RReLU函數相較于ReLU函數,在神經元的輸入為負值時,不會過濾掉所有負值,而是對負值賦予一個非零斜率,盡可能地保留負半軸的有效信息,RReLU的數學表達式為
(1)
式(1)中:在訓練階段,x為神經元的輸入;參數a服從均勻分布。
使用RReLU函數替換ResNet50殘差塊結構中的ReLU激活函數,改進后的殘差塊結構如圖2所示,使用改進后的殘差塊結構按照ResNet50的網絡結構搭建方式,提出了R-ResNet50網絡模型。
1.1.2 注意力機制模塊
視覺注意力在人類大腦中用來處理大腦的視覺反饋信號,人體的視覺感官在不同時間內都會接受大量的外界信息,但是大腦中并不是所有的神經元都處于激活狀態,所以在處理一些任務信息時大腦會有選擇性的關注一些重點信息,而忽略不重要的信息,注意力機制的啟發來源于認知科學中對視覺感知的研究,基本思想是讓系統自主學會注意力。
由于在行人重識別任務中攝像頭角度不同且行人圖片背景復雜,將Fu等[13]提出的雙注意力機制(dual attention network for scene segmentation,DANet)嵌入在行人重識別結構中,使得網絡能夠像大腦一樣忽略無關的背景信息而關注行人的關鍵性信息。DANet是CBAM(convolutional block attention module)和Non-local的融合變形,由空間注意力機制和通道注意力機制并行組成,對特征圖使用自相關矩陣相乘的形式分別得到空間注意力和通道注意力,最后將空間注意力和通道注意力的輸出結果進行相加融合,得到聚合特征圖后用于下一步操作,雙注意力機制DANet避免了CBAM中手工設計池化、多層感知機等一些復雜操作。
1.1.3 多尺度特征融合模塊
卷積神經網絡在進行特征提取時采取模塊逐層抽取的方式,每個模塊輸出尺寸不同,通常行人重識別都是取網絡最高層的輸出特征作為識別依據,卷積神經網絡中的高層特征語義信息表征能力強,但缺乏空間細節特征;低層特征幾何信息豐富,但語義信息表征能力弱。通過多尺度特征融合的方式將不同網絡層的特征進行融合,提高網絡的特征表達能力。
在對輸入圖像進行特征提取時,Conv3_X的輸出尺寸為32×16×512,Conv4_X為16×8×1 024,Conv5_X為8×4×2 048。為了將特征尺度統一,首先使用雙線性插值,分別將Conv4_X放大為32×16×1 024,Conv5_X放大為 32×16×2 048,然后用1×1 卷積將Conv3_X、Conv4_X升維為32×16×2 048,最后將3個相同尺度的特征拼接為f={Conv3_X,Conv4_X,Conv5_X},特征f既能將3個特征層的優劣勢互補,還能防止網絡在訓練過程中的特征丟失。
為了提高網絡識別率,使用聯合交叉熵損失、難樣本采樣三元組損失和中心損失的多損失函數策略進行訓練。交叉熵損失函數為
(2)
式(2)中:k為批量大小;n′為類別數,xi為第yi類中第i個樣本的特征向量;W為權值;b為偏置量。
三元組損失函數在訓練時從每批次訓練樣本中選出一張目標樣本、一張正樣本和一張負樣本, 以樣本之間的距離作為約束條件,縮小樣本間的類內距離增大類間距離。但在網絡訓練時,通常都是簡單易區分的樣本對,網絡學習的特征不足以描述圖像信息,所以使用改進的難樣本采樣三元組損失函數,其表達式為

(3)
式(3)中:a為目標圖像;p為正樣本;n為負樣本;A為相同ID的圖像集;B為不同ID的圖像集;dap(η)為正樣本對距離;dan(η)為負樣本對距離,N為每批次訓練樣本數,α表示距離間隔。
由于三元組損失的輸入是在數據集中隨機采集的圖片,所以很難保證類內距離小于類間距離,中心損失能夠減少樣本之間的類內距離使得模型學習到的特征具有更強的識別能力,中心損失公式為
(4)
式(4)中:cyi為第yi個類別的特征中心;xi為樣本i的特征向量。
將交叉熵損失函數、難樣本采樣三元組損失和中心損失函數聯合起來作為行人重識別網絡訓練所使用的損失函數,可表示為
L=Lsoftmax+Lth_loss+Lcenter_loss
(5)
通過在公開數據集Market1501[14]和DukeMTMC-ReID[15]對設計的行人重識別模型進行仿真實驗驗證,驗證模型的有效性。
Market1501數據集在清華大學中采集,由6個攝像頭拍攝的1 501個行人的32 668張圖像組成, 訓練集有751人,12936張圖像,測試集有750人,19 732張圖像。
DukeMTMC-ReID數據集在杜克大學中采集,由8個高分辨率攝像機拍攝的1 404個行人的36 411張圖像組成,訓練集有16 522張,測試集有17 661張,查詢集2 228張。訓練集和測試集都有702個行人,平均每個人有23.5張圖片作為訓練數據。
實驗操作系統為Windows10,CPU參數為Intel(R)Core(TM)i9-9900 CPU @3.60 GHz,64 GB內存,使用顯卡NVIDIA RTX 2080Ti進行運算加速,Python編寫程序,依賴開源框架Pytorch,網絡權值更新采用Adam優化算法,初始學習率為0.000 1,dropout率為0.5,批量數為32,epoch為60。模型訓練參數設置如表1所示。
在技術可行性方面,醫院只要裝有普通的電腦即可不需要什么復雜的設備和機器。在經濟上,社區門診服務系統肯定比大型的開發成本和維護費用較小,系統性價比很高。從使用目的來分析,社區門診服務系統是針對小醫院應用開發,功能簡潔,操作方便,非常符合小型醫院的使用要求。因此社區門診服務系統應該是可行的。

表1 模型參數設置
為了衡量算法性能,將首位命中率Rank-1和平均精度均值mAP作為本文算法評估標準。
行人重識別算法的目標是在不同的攝像機下找到與待查詢目標最相似的行人,這可以看作是排序問題。Rank-1則表示在排序列表中第一張圖片與待查詢圖片屬于同一ID的準確率。
mAP由平均精度(average precision.AP)求和取平均得到,計算公式為
(6)
為了驗證所提出模型的有效性,以骨干網絡為基礎分別對不同模塊進行仿真實驗,分析各個模塊對實驗結果的影響。
2.4.1 注意力機制模塊的仿真實驗結果
為了驗證注意力機制模塊對行人重識別結果的影響,模型去除了多尺度特征模塊,在Conv3_X、Conv4_X、Conv5_X的輸出特征后添加注意力機制DANet進行仿真實驗。將骨干網絡與注意力機制相結合后,在Market1501數據集的訓練結果如圖3所示,其中訓練集的識別率為0.996,損失率為0.028;測試集的識別率為0.889,損失率為0.275,Rank-1為90.7%,mAP為75.1%,相比于單一的使用骨干網絡Rank-1、mAP分別提高了1.3%和0.8%。

圖3 注意力機制在Market1501數據集的訓練結果
在DukeMTMC-ReID的訓練結果如圖4所示,其中訓練集的識別率為0.994,損失率為0.031;測試集的識別率為0.841,損失率為0.445,Rank-1為84.3%,mAP為67.5%,相比于單純使用骨干網絡Rank-1、mAP分別提高了2.1%和2.4%。

圖4 注意力機制在DukeMTMC-ReID數據集的訓練結果
實驗結果表明,注意力機制能夠使得網絡結構更加關注于行人圖片中的關鍵信息,將更多的資源分配給這些信息,合理的對網絡資源進行分配,提高模型的識別率。
多尺度特征融合通過將模型中不同卷積塊的輸出特征相融合,使得模型最終輸出特征既包含了幾何細節信息表征能力強的低層特征,也包含了語義信息表征能力強的高層特征。為了驗證多尺度特征模塊對行人重識別結果的影響,模型去除了圖1中行人重識別網絡結構的注意力機制模塊,只保留了骨干網絡和多尺度特征模塊進行仿真實驗分析。在Market1501數據集的訓練結果如圖5所示,其中訓練集的識別率為0.996,損失率為0.027;測試集的識別率為0.892,損失率為0.230,Rank-1為91.1%,mAP為76.3%,相比于單一的使用骨干網絡Rank-1、mAP分別提高了1.7%和2.0%。

圖5 多尺度特征融合在Market1501數據集的訓練結果
在DukeMTMC-ReID數據集的訓練結果如圖6所示,其中訓練集的識別率為0.993,損失率為0.031;測試集的識別率為0.853,損失率為0.433,Rank-1為85.1%,mAP為68.3%,相比于單一的使用骨干網絡Rank-1、mAP分別提高了2.9%和3.2%,表明多尺度特征融合可以提高特征的表達能力。

圖6 多尺度特征融合在DukeMTMC-ReID數據集的訓練結果
2.4.3 結合注意力機制與多尺度特征融合的仿真實驗結果
將骨干網絡R-ResNet50、注意力機制模塊與多尺度特征融合模塊結合起來設計行人重識別模型,并在主流數據集上分別進行仿真實驗,網絡結構如圖1所示,在Market1501數據集的訓練結果如圖7所示,其中訓練集的識別率為0.997,損失率為0.020;測試集的識別率為0.911,損失率為0.165,Rank-1為92.7%,mAP為80.4%,相比于單一的使用骨干網絡Rank-1、mAP分別提高了3.3%和6.1%。

圖7 注意力機制+多尺度特征融合在Market1501數據集的訓練結果
在DukeMTMC-ReID數據集的訓練結果如圖8所示,其中,訓練集的識別率為0.994,損失率為0.027;測試集的識別率為0.883,損失率為0.350,Rank-1為86.4%,mAP為71.0%,相比于單一使用骨干網絡Rank-1、mAP分別提高了4.2%和5.9%。

圖8 注意力機制+多尺度特征融合在DukeMTMC-ReID數據集的訓練結果
相較于將注意力機制模塊和多尺度特征融合模塊單獨使用時,兩者結合起來識別率和損失率更快達到最高值并趨于穩定。表明所提出的基于注意力機制和多尺度特征融合的行人重識別網絡模型能夠增強模型的特征提取能力,提高行人重識別的識別率。
2.4.4 與主流方法的對比
為了驗證所提出的行人重識別方法的優越性,將本文所提出的方法在Market1501數據集、DukeMTMC-ReID數據集上分別與多種主流算法進行對比,結果如表2所示。在Market1501數據集中,本文算法相較于PCB方法Rank-1、mAP分別提高了0.3%和3.1%,相較于Part-aligned方法Rank-1、mAP分別提高了1.0%和0.8%。在DukeMTMC-ReID數據集中,本文算法相較于PCB方法Rank-1、mAP分別提高了4.5%和5.7%,相較Part-aligned方法Rank-1、mAP分別提高了2.0%和1.7%。實驗仿真結果證明了所提出的行人重識別模型在不同數據集的優越性,能夠提高行人重識別的準確率。

表2 與主流算法的對比
2.4.5 可視化結果
使用本文方法對待檢索圖像進行行人重識別,相似度排行前十的可視化結果如圖9、圖10所示。通過可視化結果可知,所提出的基于注意力機制與多尺度特征融合的行人重識別方法顯著提高了在公開數據集Market1501和DukeMTMC-ReID的識別效果。

黑色實線矩形表示檢索正確;紅色虛線矩形表示檢索錯誤;Query表示待檢索圖像;Top-10表示檢索出相似度排行前10的圖像

黑色實線矩形表示檢索正確;紅色虛線矩形表示檢索錯誤;Query表示待檢索圖像;Top-10表示檢索出相似度排行前10的圖像
提出了基于注意力機制與多尺度特征融合的行人重識別方法。首先對殘差網絡ResNet50中的殘差模塊進行改進,克服了ReLU激活函數神經元“死亡”的缺點。其次在模型結構中加入注意力機制模塊,使得行人重識別任務更關注一些行人的重點信息,減少不相關的信息對識別任務造成的干擾。最后,對骨干網絡中的不同尺度特征進行采樣融合,實現了網絡結構中的低層特征與高層特征的優缺點互補,并使用多損失函數策略對網絡模型進行訓練,增強模型的泛化性。通過對行人重識別公開數據集的仿真實驗表明,所提出的方法具有更高的準確率。