劉紫燕,朱明成,袁 磊,馬珊珊,陳霖周廷
(1.貴州大學大數據與信息工程學院,貴陽 550025;2.貴州理工學院航空航天工程學院,貴陽 550003)
(*通信作者電子郵箱Leizy@sina.com)
行人重識別是利用計算機技術判斷圖像或視頻中是否存在特定行人的技術,作為計算機視覺領域中圖像檢索的子任務,它的目的是解決跨非重疊攝像機之間的行人匹配問題,被廣泛應用于智能安防、智能尋人系統、相冊聚類和家庭機器人等領域。由于不同相機存在差異,同時行人特征多樣復雜,易受穿著、尺度、遮擋、姿態、視角和光照等影響,因此行人重識別成為了一個具有挑戰性和研究價值的熱門課題。
傳統方法主要集中在基于圖像的行人重識別上[1],只包含空間特征,缺少時序信息,在復雜條件下的精度不高;視頻序列則包含豐富的行人時序特征,因此對視頻行人重識別的研究具有重要意義[2-3]。隨著基于視頻的大規模數據集的出現[4],研究者設計了多種深度神經網絡來學習視頻的魯棒表示[5-6]。
在基于視頻的行人重識別研究中,經典方法是將視頻序列投影到低維特征空間,然后通過計算樣本之間的距離來執行身份匹配排序。目前使用卷積神經網絡(Convolutional Neural Network,CNN)提取行人特征已經遠遠優于手工特征方案[7-9]。文獻[10]中采用三維梯度方向直方圖(3D Histogram of Oriented Gradients,HOG3D)和步態能量圖像(Gait Engery Image,GEI)結合CNN 來學習行人子空間下的特征,當對具有遮擋、復雜背景和姿態變化等多種情況的數據集進行特征學習時,運動特征的效果較差;文獻[11]中設計了遞歸深度神經網絡(Deeply-Recursive Convolutional Network,DRCN)模型學習視頻行人特征,該方法只關注短期時間特征;文獻[12]中提出了一種順序漸進融合模型將人工特征(如局部二值特征(Local Binary Pattern,LBP)和顏色)嵌入到長短時記憶(Long Short-Term Memory,LSTM)網絡,雖然融合多種特征,但是對全局特征提取不足,無法有效獲取長時間時序特征;文獻[13]中提出了兩個CNN 流來同時捕獲時間和空間信息,由于此模型對圖像采取同等關注度而無法處理序列中的遮擋或空間不對齊問題;文獻[14]中提出注意力機制結合多粒度特征表示法來對特定空間位置進行聚集獲得更好的表示形式,但它們注重局部特征而忽略了全局特征;文獻[15]中利用相似性聚合方法對視頻片段進行剪輯從而提取出代表性的位置信息,但該方法注重空間特征而忽略了時間特征;文獻[16]中對時間特征進行了有效的提取和表示,但著重提取高級特征而忽略了跟中低層特征的融合;文獻[17]中提出了一個兼顧全局和局部特征的網絡來提取時間特征,但該網絡注重高級特征忽略了對中低級特征的提取;文獻[18]中采用生成對抗網絡對被遮擋行人進行數據增強,存在引入低質量圖像的問題;文獻[19]中使用自然語義研究中的全局關注機制進行視頻行人重識別研究,然而存在使用特征較為單一而無法適應復雜環境的問題。
鑒于現有方法沒有深入挖掘視頻序列的全局特征和時序信息,本文提出一種基于非局部關注(Non-local Attention)和多重特征融合的網絡。主要工作如下:1)在ResNet-50殘差網絡中嵌入多層非局部關注塊提取全局時空特征;2)在主干網絡的中間層和全連接層提取中低級特征和局部特征,在特征池化階段進行多重特征融合獲取魯棒性強的特征表示。本文提出的網絡能有效提取視頻連續幀之間的時空信息,充分利用全局特征、局部特征和中低級特征的信息,可以有效緩解單一特征帶來的適應性差的問題。
圖1 是本文提出的非局部關注和多重特征融合網絡結構示意圖,主體網絡為嵌入非局部關注塊的ResNet-50 殘差網絡,用以提取全局特征;在主體網絡的第二殘差層(Res2)和全連接層(Fully Connected layer,FC)引出兩個特征提取分支,分別提取低中級特征和局部特征;經過多重特征融合將中低級特征和局部特征輸入到全局特征中融合得到行人顯著特征,通過特征池化后,對整個行人特征進行相似性度量和排序;最后對待測行人進行身份預測,計算出視頻行人重識別的精度。

圖1 基于非局部關注和多重特征融合網絡示意圖Fig.1 Schematic diagram of network based on non-local attention and multi-feature fusion
計算機視覺中非局部關注是一種全局注意力機制,被用來捕獲長距離依賴信息,即建立視頻幀之間的聯系,不孤立學習單個圖像的特征[19]。非局部關注在計算某個位置的響應時考慮到所有時空位置特征的加權,因此本文提出的網絡模型采用嵌入的非局部關注塊對連續視頻幀進行特征提取。
根據非局部關注的定義,在深度神經網絡中的非局部關注操作可用下式表示:

其中:x表示輸入序列(特征),y表示輸出特征;f(xi,xj)表示對于某一特定位置i對所有可能關聯的位置j之間的關系函數,反映了位置i和j之間聯系;g(j)表示在位置i處輸入的特征值;c(x)表示歸一化參數。根據式(1)可知,非局部關注是一種全局注意力機制,是當前特征輸出與任意時空的綜合關系的輸出。由于輸入值xi和xj之間的關系會影響最終輸出,因此非局部關注要對位置相關性進行學習。
為了將非局部關注塊嵌入到ResNet-50主體網絡中,將非局部關注的操作表示為:

其中:Wz表示的是權重矩陣,zi表示非局部關注經過殘差連接的輸出,+xi表示的是殘差連接。
圖2 顯示的是一個非局部關注塊,其中特征圖以張量形式表示,1 024 表示通道數,?表示矩陣乘法,⊕表示元素求和,激活函數采用softmax 函數。由于原始非局部關注塊計算量很大,使用稀疏化計算技術將圖中Wg、Wθ、Wφ的通道數相對輸入通道數減為一半(1024 →512),最后將Wz放大至輸入通道數以保證輸入輸出的尺寸一致。
給定的從一系列大小為C×H×W的T個特征圖獲得的輸入特征張量X∈QC×T×H×W,按照非局部關注的要求在所有空間位置和幀之間的特征中交換信息。假設從輸入X采樣得xi∈QC,那么經過非局部關注的相應輸出yi的公式如下:

其中:i、j∈[1,T×H×W]表示特征圖上全部位置和所有視頻幀。如圖2,首先通過使用線性變換函數(1× 1× 1的卷積)將輸入X投影到低維的嵌入空間QClow;然后通過使用嵌入式高斯實例化,計算所有xj位置的加權平均值來得出每個位置xi的響應;最終輸出Z=WzY+X,其輸出為原始特征張量X加上通過卷積Wz(1× 1× 1 的卷積)將Y映射到原始特征空間QC。

圖2 非局部關注塊Fig.2 Non-local attention block
經過上述設置將非局部關注塊嵌入到ResNet-50 的任意層中,根據輸入視頻幀的長度來提取相應長度的幀間時序信息。非局部關注塊可以靈活嵌入到網絡中,同時能在長序列視頻下提取長時間的特征信息,比LSTM 等應用循環或遞歸神經網絡的模型更能對視頻幀信息做到全局關注。
非局部關注對長時間的幀間信息進行特征提取,能有效避免個別圖像中出現遮擋、光照、角度偏移等問題。對于視頻來說,連續變化的圖片會將同一行人的不同狀態下的特征保留在幀間信息即時序信息中,非局部關注可以有效提取全局時序信息,這恰好解決了行人重識別存在的遮擋、光照、視角等問題。
上述非局部關注塊提取的是全局特征,由于單一的行人特征無法較好提升行人重識別的精度,因此本文提出一種多重特征融合網絡對多個特征進行融合以獲取顯著的行人特征。本文在行人重識別網絡中設置兩個特征提取分支,分別提取低中級特征和局部特征。完整的多重特征融合網絡如圖3所示。
低中級特征提取層位于Res2 下的非局部關注層(Nonlocal Layer)之后經時間池化層進入特征融合階段;局部特征提取層位于全連接層后,通過將特征切分成三部分經卷積層、合并層(Concatenate Layer)和時間池化層后進行特征融合。兩個特征提取分支與非局部關注主體網絡提取出的多重特征通過加法拼接和特征池化完成特征融合。
需要注意的是,在局部特征提取層上采用切片法將視頻幀中的行人均分為上中下三部分,經過卷積層和全連接層進行局部特征映射;最后通過合并層將三部分特征進行組合。池化層采用最大池化盡可能減少紋理信息受卷積層參數誤差的影響;激活函數采用ReLU 函數避免梯度消失和梯度爆炸問題。
對于長度l一定的視頻序列Vin,經過局部特征層可得,然后經平均時間池化層得到flocal(vin)=;在低中級特征提取時同樣經過平均時間池化層為;經過整個主體網絡,則得到;最后將三者進行特征拼接,本文采用加法拼接進行融合,得到最終特征表示ffinal(vin)=flocal(vin)+flm(vin)+fnonlocal(vin)。
利用多重特征融合,對全局特征、局部特征、高級特征和中低級特征進行融合。由于不同的攝像機在不同的時間拍攝的行人視頻具有復雜多變的特性,靠單一特征進行重識別容易出現識別性能參差不齊的情況,通過多重特征融合可以提升適應性和重識別精度。

圖3 多重特征融合網絡示意圖Fig.3 Schematic diagram of multi-feature fusion network
本文的網絡架構主要由數據預處理、非局部關注網絡、多重特征融合網絡、特征池化和行人身份排序五個部分組成。
1)數據預處理:通過隨機抽樣方法[12]選擇視頻幀的子集,然后通過非局部關注網絡和特征池化進行特征提取得到特征向量。將給定輸入視頻Vin劃分為相等長度的K個塊{Ci}i=[1,K],訓練時在每個塊中隨機抽取一個圖像;測試時使用每塊的第一個圖像作為測試。所有訓練視頻序列由采樣幀的有序集合表示{Ii}i=[1,K]。
2)非局部關注網絡:本文設計的主體網絡中共嵌入了5層非局部關注塊,具體嵌入形式如圖4 所示,其中非局部關注塊有大小兩個尺寸,設計大小根據輸入的視頻長度進行變化。本文設計的網絡按16 幀和8 幀大小切分視頻,通過對于長短連續視頻幀的特征提取,獲取短時間和長時間兩種維度的特征信息,保證時序特征的多樣性。這種做法通過將大尺寸分成兩個小尺寸可以明顯減少計算量,而保留兩個大尺寸是為了提取較為完整的全局特征。
3)多重特征融合網絡:本文采用的特征融合網絡使用合并(Concat)融合策略,屬于早融合(Early Fusion)策略,即對不同特征進行拼接形成最終的行人顯著特征。由于全局特征屬于主要特征,低中級特征和局部特征屬于旁支特征,因此為體現其所占比重,在特征維數上對三種特征進行設計,全局特征維數占最終特征的1/2,中低級特征和局部特征各占1/4。
4)特征池化:融合特征沿時空維度應用3D 平均池化,將每個視頻幀的融合特征聚合到一個代表性的矢量中,然后進行批處理歸一化(Batch Normalization,BN)以及共同優化的交叉熵損失和難例挖掘三元組損失來訓練網絡。相關研究[20]表明,在BN層之前進行三元組損失優化,在BN層之后采用交叉熵損失優化會產生最佳的行人重識別性能。沒有歸一化的嵌入空間更適用于三元組損失這樣的距離度量學習;歸一化的特征空間使模型在交叉熵損失下分類[21]效果好。
5)行人身份排序:該部分主要對基于查詢集和圖庫集的身份(Identity,ID)間距離的相似性分數進行排序,本文采用計算馬氏距離來對行人進行排序。通過計算累積匹配特征曲線和平均精度均值來獲得重識別精度。

圖4 非局部塊嵌入形式圖Fig.4 Non-local block embedding form diagram
交叉熵損失函數(Cross-entropy Loss)作為行人重識別領域的常用損失函數,是一種利于分類網絡進行標簽置信度排序的函數,其中概率分布采用softmax 激活函數來計算。該損失函數的一般公式為:

其中:i表示身份ID 標簽序號,p(xi)表示真實概率,q(xi)表示預測概率。
難例挖掘三元組損失函數是通過對樣本空間中的正樣本對進行聚合、負樣本對進行推離來進行優化的,一般公式為:

每輸入一個批次的視頻幀時,隨機挑選P個ID 的行人,每個行人中隨機挑選K張不同視頻幀,則每個批次有P×K張。對于該批次中每個視頻幀,挑選一個最難的正樣本p和最難的負樣本q與a構成一個三元組,α是閾值。難例挖掘損失函數通過計算a和同一批次中其他視頻幀的歐氏距離,選出與a距離最遠的正樣本p和距離最近的負樣本q來計算三元組損失。
最終的損失函數是對以上兩項損失函數進行組合,其表達式為:

本文的實驗平臺采用Ubuntu16.04 操作系統,NVIDIA TITAN V100 顯卡的硬件環境,使用預訓練的ResNet-50 分別在三個視頻行人重識別數據集上進行實驗。設定視頻序列長度L為8,并按此長度分割整段序列,長度不夠的視頻段舍去。每幀大小按照數據集的不同分為128× 64和256 × 128兩種。實驗以ImageNet 圖像數據集預訓練ResNet-50,使用交叉熵損失和難例挖掘三元組損失函數,采用Adam 優化器。初始學習率為1× 10-4,每隔50 個epoch 衰減0.1,總批次為300 個epoch。
PRID2011數據集[22]包含934個身份共1 134段視頻序列,由兩個攝像機采集數據,平均長度為5 到675 幀之間,其中200 個身份同時出現在兩個攝像機內。該數據集在視角、光照和背景上有明顯差異。
MARS 數據集[4]包含1 261 個身份,總計17 503 個軌跡和3 248 個干擾軌跡,由6 個攝像頭采集數據。625 個身份用于培訓,636 個身份進行測試,每個身份平均有13 個視頻軌跡,平均幀數為59幀。
DukeMTMC-VideoReID 數據集[5]是DukeMTMC 數據集的子集,總計1 812 個身份,702 個用于訓練,702 個用于測試,408 個作為干擾,共有2 196 個視頻用于訓練,2 636 個視頻用于測試,每個視頻包含每12幀采樣的人物圖像。
本文在PRID 2011、MARS 和DukeMTMC-VideoReID 三大公共視頻數據集中進行訓練與測試,主要參數如表1所示。

表1 三大視頻行人重識別數據集Tab.1 Three video person re-identification datasets
視頻行人重識別主要使用累積匹配特征(Cumulative Match Characteristic,CMC)曲線和平均精度均值(mean Average Precision,mAP)作為評價指標,兩者值越大表明精度越高。
CMC 曲線是表示top-k的擊中概率的曲線,指在候選庫(Gallery)中檢索待測試行人,前k個檢索結果中包含正確匹配結果的概率。Rank-k表示在前k個候選匹配目標中存在待測試行人的概率。通常CMC 曲線由Rank-1、Rank-5、Rank-10、Rank-20 來表示,其中Rank-1 表示真實的識別能力。CMC的表達式可以如下表示:

其中:給定候選集M中有N個行人,k表示前k個候選目標,pi表示查找集中行人在候選集中匹配正確的位置序號(即pi≤k表示能在前k個目標中匹配正確)。
mAP 是計算所有查詢中平均精度的平均值,對于每個查詢,其平均精度(Average Precision,AP)是從其精度調用曲線計算得出的。mAP 可以反映模型的評測精度的穩定性。AP和mAP的表達式為:

其中:i表示查詢圖像的序號,p(i)表示第i序號圖像在全體圖像中比例,r(i)表示i號圖像與待識別圖像匹配特性(正確為1,不正確為0);m表示與待識別圖像匹配的個數;C表示待識別圖像的個數。
本文實驗首先對提出的非局部關注塊和多重特征融合網絡在視頻行人重識別的數據集上使用效果進行測試,其中,NLA(Non-Local Attention)表示非局部關注塊,MLF(Multi-Layer Feature)表示多重特征融合。
根據圖5 和圖6 顯示的本文方法在數據集MARS 和DukeMTMC-VideoReID 上幀級ID 損失趨勢圖可以明顯看出,加入非局部關注塊和多重特征融合可以降低損失值并且損失降低速率加快,在兩個數據集上都比原始網絡快30 至40 個epoch;此外可以發現加入非局部關注塊在降低損失值方面更加明顯。
表2 給出了在兩個數據集上使用基本網絡和加上非局部關注塊、多重特征融合的改進網絡輸出的Rank-k和mAP 的值。在MARS 數據集上:當加入非局部關注塊時,Rank-1、mAP分別提升3.6個百分點和3.8個百分點;當加入多重特征融合時,Rank-1、mAP分別提升2.5個百分點和1.4個百分點;當加入兩種功能時,Rank-1、mAP 分別提升6.2 個百分點和7.2 個百分點。這說明非局部關注塊對精度的提升作用優于多重特征融合,同時當兩種功能都采用時精度提升明顯。在DukeMTMC-VideoReID 數據集上,當分別加入非局部關注塊和多重特征融合時,Rank-1、mAP 分別提升4.3 個百分點、5.3個百分點和3.5 個百分點、4.4 個百分點,這表明所提方法具有普適性,在不同視頻數據集上精度都有明顯提升。
因此在視頻行人重識別上,本文所提網絡可以明顯加快重識別時收斂速度,更快捷地獲取行人顯著特征;同時,非局部關注塊對精度提升由于多重特征融合,說明非局部關注對視頻行人重識別有明顯的提升精度價值。

圖5 MARS數據集上幀級ID損失Fig.5 Frame-level ID loss on MARS dataset

圖6 DukeMTMC-VideoReID數據集上幀級ID損失Fig.6 Frame-level ID loss on DukeMTMC-VideoReID dataset

表2 含不同模塊的基本網絡在MARS和DukeMTMC-VideoReID數據集上的實驗結果 單位:%Tab.2 Results of the baseline network with different modules on MARS and DukeMTMC-VideoReID datasets unit:%
本文模型與其他模型進行精度比較的分析如下,其中不同數據集的主流模型是不同的,因為不同模型的側重和提出時間不同。
從表3 可以看出:本文模型比傳統的AMOC(Accumulative Motion Context)[2]模 型 在Rank-1、mAP 上分別提升約20.4 個百分點和28.5 個百分點,比TriNet[6]高8.9 個百分點和13.7 個百分點,說明僅采用運動特征和三元損失的效果較差;比應用3D 卷積的3D-Conv+NLA(3D Convolutional Networks and Non-Local Attention)[7]和M3D(Multi-scale 3D Convolution)[8]模型高4.4 個百分點、4.4 個百分點和4.3 個百分點、7.3個百分點,說明3D卷積對時空特征的挖掘沒有非局部關注深入,另外前者的非局部關注只是嵌入到3D卷積殘差塊中作為補充,對全局特征的挖掘較淺;比應用擴張卷積和時間自關注的GLTR(Global-Local Temporal Representations)[17]高0.3 個百分點和2.9 個百分點。相對于數據增強的VRSTC[18]模型,本文模型的Rank-1 結果略高0.2 個百分點,mAP 低了0.9 個百分點,說明本文模型在首張命中率表現更好。

表3 MARS數據集上不同模型的Rank-1和mAP比較單位:%Tab.3 Comparison of Rank-1 and mAP by different models on MARS dataset unit:%
從表4 可以看出,本文模型在DukeMTMC-VideoReID 數據集上的表現良好,在Rank-1、mAP 上比只采用平均池化ResNet-50 的EUG(Exploit the Unknown Gradually)[4]模 型 高22.5個百分點和30.2個百分點;比采用學習片段相似度聚合(Learned Clip Similarity Aggregation,LCSA)[15]模型高6個百分點和4.9 個百分點;比GLTR 模型低1 個百分點和0.3 個百分點,這是因為該模型采用了對小目標特征敏感的擴張卷積技術,通過擴大感受野能獲取較好的細節特征,另外該數據集復雜性比MARS低,GLTR模型在簡單環境下表現較好。

表4 DukeMTMC-VideoReID數據集上不同模型的Rank-1和mAP比較 單位:%Tab.4 Comparison of Rank-1 and mAP by different models on DukeMTMC-VideoReID dataset unit:%
表5 是在小數據集PRID2011 上不同模型的結果,由于在小數據集上各種模型的研究者并沒有進行mAP 的精度測試,因此只比較Rank-1 的結果。本文模型比傳統AMOC 模型高11.1 個百分點,比應用3D 卷積的M3D 和3D-Conv+NLA 的模型高0.4 個百分點和3.6 個百分點;現有的GLTR 模型比本文模型的結果僅高0.7 個百分點。由結果對比可知,在小數據集上本文的模型沒有過擬合問題。

表5 PRID2011數據集上不同模型的Rank-1比較 單位:%Tab.5 Comparison of Rank-1 by different models on PRID2011 dataset unit:%
綜上所述,本文提出的模型在各種尺寸和環境的數據集中都取得了較高的精度,采用非局部關注塊和多重特征融合的深度殘差網絡可以提取顯著的視頻幀之間的時序特征,提高視頻行人重識別的精度。
本文針對當前視頻行人重識別中無法有效地提取連續視頻幀之間的全局時空特征的問題,結合自然語義中的全局關注技術,設計非局部關注塊嵌入到ResNet-50 中,提取全局幀間特征;隨后提出一種多重特征融合網絡,提取顯著性強的行人特征。在三個視頻行人重識別數據集PRID 2011、MARS 和DukeMTMC-VideoReID 上的實驗結果表明,本文模型對視頻行人重識別精度有明顯提升。下一步工作是要探尋生成對抗網絡對視頻行人重識別精度提升的效果和跨模態視頻行人重識別。