符進武,范自柱,石林瑞,郭心悅,黃祎婧
(華東交通大學 理學院,南昌 330013)
行人重識別是跨設備的圖像檢索技術,指在給定監控的行人圖像中,檢索該行人在其他攝像頭中出現的全部圖像。該技術廣泛應用于智能視頻監控、安保、刑偵等領域,是當前計算機視覺的研究熱點[1]。受拍攝場景復雜性(如低分辨率、遮擋、視角和姿勢變化、光照不同等)的影響,行人重識別任務面臨諸多挑戰。
基于深度學習的方法在行人重識別領域中占據了主導地位,相比傳統手工提取方法[2-3]具有更優的性能。文獻[4]提出以ResNet-50 為主干網絡、以行人的ID 作為訓練標簽的IDE網絡。文獻[5]將行人的性別、頭發、衣著等屬性信息作為額外的標注,并結合ID 損失和屬性損失以增強網絡的泛化能力。在深度度量學習方面,文獻[6]將三元組損失引入到行人重識別中,通過結合度量學習和表征學習對網絡進行訓練,以改進行人重識別效果。文獻[7]使用生成對抗網絡(Generative Adversarial Network,GAN)模擬訓練數據的分布來生成新圖像,并將其與原數據集圖像共同進行訓練,以提升網絡的魯棒性、行人重識別跨域和泛化能力,從而解決數據集規模偏小的問題。在行人圖像相似度度量方面,文獻[8]利用k倒排編碼方法對結果進行重排序,有效地提高行人重識別的準確率。
早期,研究人員僅關注行人圖像的全局特征,卻忽略了圖像局部細節信息。局部特征具有更豐富的細節信息和更強的辨別性,結合全局和局部特征表示行人圖像逐漸成為主流方向[9],并取得了較優的效果。目前,基于局部特征的行人重識別方法主要包括基于人體姿態和骨架關鍵點等先驗知識的方法、基于注意力機制的方法、僅簡單地將圖像劃分成若干條帶進行學習的方法。文獻[10]通過骨架關鍵點提取網絡來提取人體關鍵點,進而獲取人體結構的感興趣區域。文獻[11]采用姿態估計模型估計人體關鍵點,同時通過仿射變換使得兩張圖像中的行人對齊。但這種方法需要額外引入姿態估計模型,并且不同源域數據集之間的偏差會影響姿態估計模型的魯棒性。文獻[12]通過構建自上而下的注意力機制網絡增強空間像素特征的顯著性。文獻[13]結合通道和空間信息,避免注意力機制過度集中于前景。由于注意力機制本身的局限性,因此其提取的區域缺乏語義解釋且不包括具有辨別力的特征。文獻[14]提出基于部分的卷積基線(Part-based Convolutional Baseline,PCB),通過將圖像均勻水平劃分成條帶來學習局部特征,同時設計一種部分精煉池化(Refined Part Pooling,RPP)策略使得分塊內部具有一致性。PCB 僅使用了局部特征,并沒有結合全局特征學習,此外,通過引入RPP 使得網絡無法進行端到端訓練。文獻[15]提出多分支結構的多粒度網絡(Multi-Granularity Network,MGN),每個分支可以學習全局特征和不同粒度的局部特征,因此融合這些特征能夠較全面地表示行人圖像。雖然MGN 結合了全局和局部特征,但結構上仍然將兩者分開進行單獨學習,因此割裂了全局和局部特征的關聯性。此外,MGN 選擇在主干網絡中間進行分支,僅共享網絡前面的權重參數,從而增加了整個網絡的參數量且降低了計算效率。
高層特征包含豐富的語義信息,有助于模型對其進行辨別。目前大部分方法僅關注高層特征的使用,但是當不同類別的圖像具有較高的語義相似度時(常見于行人重識別數據集),僅依靠高層特征的辨別能力無法進一步提升模型性能。低層特征包含更多的細節信息,用于度量細粒度相似性。由于低層特征具有過多的干擾信息而無法直接使用,一般將高層特征和低層特征相融合,但是直接融合帶入的干擾信息可能會削弱高層語義信息的辨別力。
本文提出一種多尺度多粒度融合的行人重識別方法,利用不同特征的優勢互補,彌補單一類別特征的不足。通過將提取的低層特征作為行人圖像相似性度量的補充,在網絡的高層中學習多尺度和多粒度的特征表示,并結合平均池化和最大池化的特性提取具有強辨別力的特征。
本文提出的多尺度多粒度融合(MMF-Net)網絡結構如圖1 所示。MMF-Net 的主干網絡可以選擇當前的經典網絡,如ResNet、GoogLeNet 和VGG。由于ResNet-50 在行人重識別任務中表現出較好的效果,因此本文選擇ResNet-50 作為主干網絡,并移除了后面的平均池化層和全連接層。此外,為豐富特征的粒度,取消了第5 層中的下采樣操作。因此,主干網絡的下采樣率為1/16。

圖1 多尺度多粒度融合網絡結構Fig.1 Structure of multi-scale and multi-granularity fusion network
1)語義監督模塊
本文對ResNet-50 第4 層特征進行采樣,引入語義監督模塊(Semantic Supervision Module,SSM)后,特征圖先經過池化層聚合成1 024 維特征向量,然后使用全連接層整合到512 維,作為該分支的特征表達。SSM 提取的特征通過softmax 損失和triplet 損失進行約束。
網絡不同層的特征包含的信息差別較大,如何選擇引入SSM 的位置對模型性能有著重要的影響。本文選擇引入SSM 的位置,主要考慮以下3 個方面:(1)網絡低層感受野較小,主要關注圖像的空間細節,能夠利用更多的細粒度特征信息,但也會帶入雜亂背景和歧義語義的干擾信息;(2)網絡高層感受野較大,更多關注語義特征,提取具有鑒別力的特征,卻缺少了細節信息;(3)基于低層特征和高層特征的特性分析,本文選擇在主干網絡的次高層(即主干網絡的第4 層)引入SSM。次高層特征不僅具有較優的語義信息和細節信息,同時避免產生過多的干擾信息。針對模塊的數量問題,過多或過早的約束可能導致模型出現過擬合現象,因此不能盲目增加SSM 的數量。此外,SSM 提取的特征不能與高層特征相融合,而是作為獨立的特征表示,在測試時將其與高層特征拼接作為行人圖像的最終表示,實現低層和高層特征的優勢互補。
2)深度挖掘模塊
在主干網絡中有4 個分支,第1 個分支不進行降維、劃分條帶等其他操作,稱為原始分支。其他3 個分支分別使用1×1、3×3、5×5 卷積核進一步提取特征,同時將維度降至512 維。為減少參數量且增加非線性,在使用3×3、5×5 卷積核前先采用1×1 卷積核進行降維操作。本文設置卷積的步長為1和填充為0,經卷積后形成了特征金字塔。MMF-Net 網絡中4 個分支的參數設置如表1 所示。

表1 MMF-Net 網絡中4 個分支的參數設置Table 1 Parameter settings of the four branch in MMF-Net network
特征金字塔首先將池化后的特征圖均勻地劃分成若干水平條帶,以提取局部特征用于學習分類;然后將特征圖拉平成一個n×512維(n是劃分水平條帶的數目)特征向量,將其傳入全連接層并整合到512 維,作為該分支最后的特征表示;最后通過拼接的方式融合4 個分支的特征,以得到一個包含更多鑒別信息的特征。
在該模塊中,利用不同感受野的卷積層進一步提取特征,從而形成不同尺度和不同感受野的特征圖。相對感受野越大的特征圖,每個部分對應的原始圖像區域則更大,因此將特征圖劃分為更多條帶,不會因分區細小而丟失過多的語義信息。粒度越小(即條帶越多)的分支能學習到更加精細的特征。此外,本文并沒有割裂全局和局部特征學習,而是將特征圖拉平后作為全局特征進行度量學習,通過局部特征學習使得全局特征更精細化。將兩者相融合的設計加強了全局和局部之間的聯系,使得全局特征能包含更多的細節信息,因此在測試階段能夠減少局部特征的使用。最后,每個分支學習了不同粒度和不同尺度的特征信息,通過融合各分支得到一個辨別能力更強的特征。
在測試階段中,本文將SSM 提取的低層特征和上述的融合特征(高層特征)串聯,作為行人圖像最后的特征表示。
3)混合池化
混合池化的結構如圖2 所示。

圖2 混合池化結構Fig.2 Structure of mixed pooling
網絡高層的特征圖尺寸較小,且包含的高級語義信息能夠有效地識別模型,因此在網絡最后的池化層一般使用平均池化來聚合特征圖的全局信息,以保證信息的完整性。最大池化能夠保留特征圖中響應強烈的信息。因此本文結合兩者的特性,使用平均池化和最大池化在保留特征圖鑒別信息完整性的同時凸顯其中最具有鑒別性的信息。本文將這種池化方式稱為混合池化。將特征圖F分別輸入到平均池化層和最大池化層,最后將池化后的特征進行融合?;旌铣鼗嬎闳缡剑?)所示:

為了使模型能獲得較好的表征學習能力,本文結合多分類任務和深度度量學習對模型所提取的特征進行約束。
針對模型的分類問題,通過一個全連接層作為分類器預測每一類的得分,再采用softmax 損失函數進行優化。給定進行分類識別的特征為f,softmax損失函數如式(2)所示:

其中:Wi為全連接層對應i類別的權重向量;N為訓練集的類別總數;y為輸入圖像的真實標簽。由于測試集和訓練集的行人ID 是不同的,為了防止模型過度擬合訓練集中的行人ID,提高模型的泛化能力,本文采用softmax 損失函數的另一種形式Label smoothing[16],qi的表示如式(3)所示:

其中:ε為一個在[0,1]之間的小常量,用于降低模型在訓練集上的置信度,本文設置ε為0.1。
在模型的深度度量學習過程中,本文基于triplet損失函數進行改進[6]。triplet 損失函數如式(4)所示:

在MMF-Net 網絡中,為了使softmax 損失函數和triplet 損失函數相互作用,結合這兩種損失對每個部分提取的特征進行約束。深度挖掘模塊中3 個分支需考慮到分塊局部特征的不對齊問題,本文僅使用softmax 損失對局部特征進行約束。然而,拉平特征圖得到的特征向量保留了全局信息,可用triplet 損失對其進行約束。
本節對MMF-Net 在4 個主流行人重識別數據集(Market-1501[17]、DukeMTMC-ReID[18]、CUHK03[19]、MSMT17[20])上進行實驗分析。本文在4 個數據集上將MMF-Net 與當前最新的方法進行性能對比。此外,通過一系列(以Market-1501 數據集為例)消融實驗,評估MMF-Net 各模塊的有效性。
Market-1501 數據集是通過6 個攝像頭拍攝完成的圖像,使用可變形部件模型(DPM)檢測器[21]檢測行人邊界框。Market-1501 數據集總共包含1 501 個行人的36 036 張圖像,分為訓練集和測試集。其中訓練集由750 個行人的12 936 張圖像組成。測試集有751 個行人,包含19 732 張圖庫圖像和3 368 張查詢圖像。其中,圖庫中存在6 617 張干擾圖像,包括誤檢和標注不合格的圖像。
DukeMTMC-ReID 數據集 是DukeMTMC 數據集的行人重識別子集,是目前最大的行人重識別數據集之一,包含8 個攝像頭拍攝的36 411 張圖像,有1 404 個有效的行人身份和408 個干擾身份(只出現在一個攝像頭中)。圖像采用人工標注的方法裁剪出行人邊界框。702 個行人的16 522 張圖像用于訓練,其余702 個行人的17 661 張圖庫圖像和2 228 張查詢圖像用于測試。
CUHK03 數據集采集了包含1 467 個行人的14 097 張圖像,其中每個行人拍攝于2 個攝像機(1 對攝像機)。數據集提供兩種類型行人邊界框,分別由手工標注和DPM 檢測。關于數據集的使用協議,本文使用新的訓練/測試協議[8]。訓練集包含767 個行人身份,測試集(查詢圖像和圖庫圖像)包含700 個行人身份。
MSMT17 數據集是目前公開的規模最大和更接近真實場景的行人重識別數據集。數據集使用15 個攝像頭在不同天氣條件下采集不同時段(上午、中午、下午)的行人圖像。行人邊界框使用Faster RCNN[22]檢測裁剪。數據集總共有4 101 個行人 的126 441 張圖像,采用1∶3 的比例劃分為訓練集和測試集。最后訓練集包含1 401 個行人的32 621 張圖像,測試集包含2 700 個行人的11 659 張查詢圖像和82 161 張圖庫圖像。復雜的場景和龐大的數目使得MSMT17 成為最具挑戰性的行人重識別數據集。此外,由于該數據集發布時間尚短,因此在該數據集上驗證的方法較少。
在實驗中,本文使用累積匹配特性(CMC)曲線中的Rank-1 精度和平均精度均值(mAP)作為評估模型性能的指標。Rank-1 為搜索結果中第一張圖像是正確結果的概率。mAP 為所有查詢圖像在精度召回曲線下方的面積(AP)的平均值,能更加全面地評估ReID 算法的性能。此外,為了簡化評估過程,本文所有的實驗均采用單查詢模式(即一個ID 僅使用某攝像頭中的一張圖像作為查詢圖像),并且沒有使用重新排序算法[8]。
本文使用ImageNet 中預訓練的ResNet-50 的權重參數來初始化MMF-Net 主干網絡。將輸入圖像大小調整為256×128 像素。在訓練階段,通過水平翻轉、隨機擦除和歸一化增強數據,而在測試階段僅使用歸一化對數據進行處理。為滿足三元組損失的訓練要求,從訓練集中隨機挑選P個身份,每個身份由K張圖像組成一個訓練批次,因此訓練批次大小為P×K。本文設置P=8,K=4,批次大小為32。對于三元組損失的閾值參數,本文設置m=0.3。在訓練過程中采用自適應優化器(Adam)優化模型參數,并使用權重衰減因子為0.000 5 的L2 正則化?;緦W習率設置為3.5×10-4。在訓練過程中學習率在前10 個周期內從3.5×10-6線性增加到3.5×10-4,并在第60 個周期和第130 個周期分別下降到3.5×10-5和3.5×10-6。模型訓練總共持續240 個周期。本文將測試階段串接第4 個階段提取的特征f_s4 和后面融合的特征f_c 作為查詢圖像的特征表示。其中,f_s4 較小的比重設置為α,本文設置α=0.8 。本文在Pytorch框架上搭建模型,并使用一個NVIDIA TITAN Xp GPU 進行加速訓練。在Market-1501 數據集上完整地訓練一個模型大概需要6 h。在4 個數據集上的所有實驗都保持與上述相同的實驗設置
本文選擇 MMF-Net 方法與主流方法SVDNet[23]、Part-aligned[24]、PCB+RPP[14]、MLFN[25]、HA-CNN[26]等進行對比。
在Market-1501 數據集上不同方法的評價指標對比如表2 所示。本文方法MMF-Net 的Rank-1 為95.7%,mAP 為89.1%。MMF-Net 的Rank-1 指標與MGN 和Pyramid 相同,MMF-Net 的mAP 相較于性能最接近的方法DSAP 提高了1.5 個百分點,比MGN提高了2.2 個百分點。

表2 在Market-1501 數據集上不同方法的評價指標對比Table 2 Evaluation indexs comparison among different methods on Market-1501 dataset %
在DukeMTMC-ReID 數據集上不同方法的評價指標對比如表3 所示。本文方法MMF-Net 的Rank-1精度和mAP 分別為89.7%的和79.9%。MMF-Net 方法的Rank-1 相比MHN 提高了0.6 個百分點,MMFNet 方法的mAP 相比Pyramid 提高了0.9 個百分點。由于Pyramid 主要依靠更大的主干網絡(ResNet-101)和使用了更多的特征(21 個特征,本文方法只用了5 個),因此其與MMF-Net 方法的性能更接近。在同樣以ResNet-50 為主干網絡的條件下,本文方法相比性能最優的FPR 方法在Rank-1 精度和mAP 上分別提高了1.1 和1.5 個百分點。

表3 在DukeMTMC-ReID 數據集上不同方法的評價指標對比Table 3 Evaluation indexs comparison among different methods on DukeMTMC-ReID dataset %
在CUHK03 數據集上不同方法的評價指標對比如表4 所示。因為數據集有手工標記和檢測器檢測兩種標注類型,所以將數據集分成兩種情況進行驗證。在手工標記情況下,本文方法MMF-Net 的Rank-1 精度和mAP 分別達到了78.9%和76.6%,其中相比P2-Net 的Rank-1 精度提高了0.6 個百分點,mAP提升了3.0 個百分點。在檢測情況下,MMF-Net 具有76.4%的Rank-1 精度和74.1%的mAP,相比FPR的Rank-1 精度和mAP 分別提升了0.3 和1.8 個百分點。所有方法在手工標記的情況下能取得更好的結果,這說明行人邊界框標注的準確性對識別結果產生一定的影響,即更精準的行人邊界框標注能提升行人重識別的準確度。

表4 在CUHK03 數據集上不同方法的評價指標對比Table 4 Evaluation indexs comparison among different methods on CUHK03 dataset %
在MSMT17 數據集上不同方法的評價指標對比如表5 所示。由于該數據集發布時間尚短,因此在該數據集上驗證的方法不多。實驗結果表明,本文方法MMF-Net 在該數據集上的Rank-1 和mAP 優于其他方法,Rank-1 精度和mAP 分別達到了80.6%和59.3%,相 比OSNet[34]的Rank-1 和mAP 分別提升了1.9和6.4個百分點。

表5 在MSMT17 數據集上不同方法的評價指標對比Table 5 Evaluation indexs comparison among different methods on MSMT17 dataset %
本文以Market-1501 數據集為例,在該數據集上設計一系列實驗來評估每個模塊的有效性。其中,使用softmax 損失和triplet 損失訓練的全局特征(即原始分支P1)作為基線(baseline)模型。
2.4.1 語義監督模塊分析
本文在基線和MMF-Net 上,通過設置不同SSM數量和位置,以評估該模塊的性能。SSM 一方面旨在提前引入語義監督,加強主干網絡的特征提取能力,另一方面該模塊提取的特征可以作為高層特征的補充,與高層特征一起作為行人圖像的最終特征表示。實驗結果如表6 所示,表中的s3、s4 表示在主干網絡的第3、4 層中引入SSM,p 表示深度挖掘模塊中的分支(Part-n),w/wo 表示with/without。在次高層(即主干網絡第4 層)中引入SSM 能夠有效提升基線和MMF-Net 的性能(1%~2%),而在第3 層引入SSM 反而降低了網絡性能,其原因可能是由于網絡層次過低會包含過多的干擾信息。此外,過多的模塊數量(Baseline+s3+s4,MMF-Net w/s3)并不能提升性能指標。實驗結果驗證了高層特征和低層特征互補的有效性。

表6 在Market-1501數據集上MMF-Net不同分支設置的評估結果Table 6 Evaluation results of different branch settings of MMF-Net on Market-1501 dataset %
2.4.2 深度挖掘模塊中分支數目分析
網絡多分支的設置可以增加模型表達的多樣性。每個分支可以進行不同的特征學習任務,合理地設置網絡分支能夠有效提升模型性能。本文在基線和SSM 模型的基礎上,逐步增加分支的數量,以評估分支數量對模型性能的影響。從表6 可以看出,隨著分支數目的增加,模型的性能逐步提升,當分支數目達到4 時,模型的性能最佳。此外,本文額外增加Part-5 分支,根據模塊的構建思路采用感受野更大的卷積核(7×7)進行特征提取。然而,這樣的設置反而降低了模型的性能,驗證了MMFNet 設置4 個分支的必要性和有效性。由于此時特征圖尺寸較小并且包含的信息足夠完整,因此使用大卷積核會造成信息損失,反而降低模型的表達能力。
2.4.3 池化層選擇
池化層主要用于特征的聚合和降維。主干網絡最后的池化層所聚合的特征信息一般直接或間接用于最后的特征表示。本文在MMF-Net 網絡上以不同的池化方式進行實驗,評估池化方式對模型性能的影響,實驗結果如表7 所示。

表7 在Market-1501 數據集上不同池化方法的評估指標對比Table 7 Evaluation indexs comparison among different pooling methods on Market-1501 dataset %
從表7 可以看出,平均池化和最大池化的精度基本相同,而結合兩種池化方式的混合池化能取得更好的效果。平均池化關注特征圖的全局性,考慮信息的完整性。最大池化關注特征圖中響應強烈的部分信息,旨在保留最具辨別性的信息。混合池化將兩種方式結合到一個模型中,能夠保留更有效的鑒別信息,強化了模型特征表達能力。
此外,本文還進行了部分可視化實驗。行人特征響應熱力圖對比如圖3 所示(彩色效果見《計算機工程》官網HTML 版)。從圖3 可以看出,MMF-Net特征圖的響應區域更活躍,并且關注具有鑒別信息的局部區域,例如衣服圖案和紋理。在不同數據集上本文方法的前5 個檢索結果如圖4 所示,圖中第1 行和第2 行分別是基線和本文方法的檢索結果,虛線框表示錯誤的檢索結果。當不同類別的行人圖像有較高的相似度時,本文所提的MMF-Net仍能夠有效地將其識別出,具有較優的魯棒性。

圖3 行人特征響應熱力圖對比Fig.3 Thermal map comparison of person features response

圖4 本文方法特征識別結果Fig.4 Feature recognization results of the proposed method
針對局部特征學習存在的局限性和低層特征利用率低的問題,本文提出多尺度多粒度融合的行人重識別方法。通過學習不同尺度和粒度的特征表示,并融合全局和局部特征學習,以加強全局和局部特征的關聯性。同時將低層特征作為行人圖像表示的一部分,實現低層和高層特征的優勢互補。此外,在改進的池化層上結合平均池化和最大池化的特性,獲取具有強鑒別力的特征。實驗結果表明,本文方法在Market-1501 數據集上的Rank-1 和mAP 分別為95.7%和89.1%,相比FPR、MGN 等方法能夠有效提升行人重識別性能。下一步將通過引入注意力機制,并將其與分塊局部特征相結合,以提取魯棒性更優的行人特征。