陳 莉,王洪元,張云鵬,曹 亮,殷雨昌
(常州大學計算機與人工智能學院阿里云大數據學院,江蘇常州 213164)
行人重識別旨在檢索出不同環(huán)境中非重疊攝像機下的特定行人[1]。具體來說,給定一個目標行人的查詢圖片或視頻,行人重識別的目標是從非重疊視角域多攝像頭[2]網絡圖庫或視頻庫中識別這個行人。由于攝像機視角不同、光照影響、背景雜亂和部分遮擋等因素[3],導致行人外觀差異較大,影響行人特征表示,因此行人重識別的研究仍然是計算機視覺領域一個極具挑戰(zhàn)性的難點。
行人重識別分為基于圖像的行人重識別和基于視頻的行人重識別?;趫D像的行人重識別技術已經得到了廣泛研究。但在實際場景中,視頻才是監(jiān)控攝像機捕獲的第一手材料。視頻片段中不僅包含了和行人外觀有關的空間信息,還包含與行人運動有關的時間信息[4],這些時間信息往往更有助于區(qū)分相似的行人。因此,目前越來越多的研究者將研究重點從圖片行人重識別轉移到視頻行人重識別上。視頻行人重識別當前面臨的最大挑戰(zhàn)是如何有效利用視頻片段之間的時間線索信息。先前有部分研究者借助光流場,對參與訓練的視頻幀提取動態(tài)時間信息來學習時間特征。例如,Yu 等[5]借助光場探索流結構來提取時間特征,然而在特征提取過程中若出現(xiàn)某一段視頻片段的相鄰幀不對齊,則會產生光流估計誤差。因此借助光流信息學習時間特征的方法會產生光流估計偏差問題。還有一些研究者通過遞歸神經網絡(Recursive Neural Network,RNN)[6-7]聚合幀級時間特征來表示視頻片段的行人特征,從而學習時間特征。例如,McLaughlin 等[6]提出直接利用RNN 來聚合所有視頻幀之間的時間信息,但是在對所有幀進行同等處理的情況下,RNN 的方法無法學習到最有判別力的特征,且RNN 模型對于長片段視頻的訓練比較復雜,耗時長。雖然以上這些工作能獲得一定的識別性能,但在一些復雜的場景和環(huán)境下,其適應性和魯棒性仍有待提升。
本文采用三維卷積神經網絡嵌入殘差模塊(3DResNet50)[8]的框架,并在此次框架上增加全局時間特征池化層,以端到端的方式學習更有判別力的行人特征表示。該方法既能提高模型訓練速度,又能有效改善行人檢索的性能。在3 個視頻數據集上的大量實驗驗證了本文提出方法的有效性。
本文的主要貢獻如下:
1)提出了將均等采樣隨機擦除(Evenly Sampling-random Erasing,ESE)[9]相結合的方法,用于數據增強與正則化方法互補,結合采樣的長短時間線索,緩解視頻片段中的遮擋和噪聲;
2)提取特征后,采用3D-ResNet50[8]框架,在此基礎上增加全局時間特征池化層(Global Temporal Feature Pooling,GTFP),從幀特征中學習判別力的時間表示,探索時間線索。從短期和長期幀的時間線索上,有效地在視覺上區(qū)分相似的行人,提高視頻行人重識別的精度;
3)應用在PRID-2011[10]、DukeMTMC-VideoReID[11]和MARS[12]3 個視頻數據集的實驗結果表明,本文提出的聯(lián)合均等采樣隨機擦除和全局時間特征池化的方法可以顯著地提升視頻行人重識別的精度。
時間建模方法不僅僅應用于行人重識別領域,在其他領域也有應用,例如視頻分類[13]、時間動作檢測[14-15]。時間建模方法分為兩大類:一類是直接輸入一段視頻,利用三維卷積神經網絡(3D Convolutional Neural Network,3DCNN)[16]得到一個特征向量,3DCNN 通常采用三維卷積嵌入殘差模塊的網絡模型,即在殘差模塊架構中采用3D 卷積核(原為動作分類任務設計),將原始的最后分類層改為行人身份輸出,并在Kinetics 數據集[8]上預訓練權重;另一類是采用標準的殘差模塊作為圖像層次的特征提取器的二維卷積神經網絡(2D Convolutional Neural Network,2DCNN),網絡從一系列的圖片中提取特征,再利用時間池化、時間注意和遞歸神經網絡等時間建模方法,將圖片特征聚合成視頻特征。時間池化是最簡單粗暴的時間建模方法,直接對圖像層次的特征進行最大池化或平均池化操作,即選擇圖像層次特征[17]中最大值或者平均值作為整個片段的表示特征。時間注意是針對平均或最大池化方法沒有充分利用所有圖像層次特征的問題,在圖像層次特征上應用了一個注意力加權平均。簡單來說,給質量高的圖片高權重,質量低的圖片低權重,加權求和。RNN 具有反饋連接,允許網絡隨時間記住信息,在每個時間步長上RNN 接收新輸入,并基于當前輸入和來自先前時間步的信息產生輸出。Karpathy 等[13]設計一個卷積神經網絡來提取視頻幀級特征,并使用時間池化方法來聚合特征;Tran等[18]提出一種從視頻片段中提取時空特征的三維卷積神經網絡;Hara等[19]用三維卷積探索殘差網絡結構;Gao 等[20]提出一個時間邊界回歸網絡,定位長視頻中的動作。
時間池化被廣泛用于聚合所有時間幀上的特征;Zheng等[12]使用兩種池化方法來獲取視頻級特征,其中包括平均池化和最大池化;Li 等[21]利用部分線索和學習加權策略來融合從視頻幀中提取的特征;Suh 等[22]提出一種雙流結構來共同學習外觀特征和部分特征,并通過池化策略融合圖像級特征得到最終的視頻級特征。這些實驗表明時間池化具有很高的效率,但時間池化是獨立地提取幀特征,忽略了相鄰幀之間的時間順序性。
與現(xiàn)有的時間池化策略相比,本文提出的全局時間特征池化方法可以同時捕獲全局和局部時間線索,不僅能夠捕獲每幀圖片的特征,而且還充分利用了幀與幀之間的時間信息,因此能表現(xiàn)出更好的時間線索的建模能力。
本文提出方法的整體框架流程如圖1所示。
圖1 整體框架流程Fig.1 Flowchart of overall framework
學習一個3D卷積神經網絡模型,用網絡模型提取視頻特征,對探針視頻和圖庫視頻進行匹配。首先,給定任意一段行人的探針視頻,利用均等采樣方法將輸入視頻等時長劃分成視頻片段,從每個視頻片段抽取固定位置的圖片,并對抽取的圖片進行隨機擦除操作。然后,將抽取擦除后的圖片重新組合成視頻送入到網絡模型進行特征提取。特征提取時,在網絡最后輸出行人身份前,加入全局時間特征池化層,在已經提取的時空特征的基礎上,對時間特征做進一步細化,最終輸出視頻特征。
最近,有大量的研究工作將深度3DCNN 引入到視頻表示學習中。視頻表示學習通常采用2DCNN 和3DCNN,但在2DCNN中,二維卷積只能計算空間維度的特征,較之2DCNN,三維卷積更適合學習時空特征。盡管3DCNN 能夠很好地利用時序信息,但它仍然對空間錯位敏感,需要疊加一定數量的三維卷積核,導致參數開銷大,增加了卷積神經網絡優(yōu)化的難度。不同于Tran 等[18]提出的用于時空特征學習的3DCNN,本文采用的3D卷積殘差網絡模型3D-ResNet50[8]中的3DCNN是基于二維卷積膨脹的三維卷積網絡模型,從多個連續(xù)視頻幀中捕獲時間信息引入三維卷積,在時間維度上增加了ImageNet[23]的預訓練權重來初始化本文模型權重,并嵌入殘差模塊,之后訓練模型提取時空特征,能有效改善3DResNet50[8]的性能。
為了解決模型中視頻片段時間依賴較長的問題,本文采用了均等采樣法,給定一段輸入的視頻,將其劃分成T個相等時長的視頻片段,在訓練的時候,固定取每個片段的第M張圖片。之后組成具有一定時間信息的連續(xù)幀(即視頻片段)作為輸入,以最后分類層前一層的輸出作為行人的表示。
3DCNN 對于空間錯位比較敏感,針對目標行人被干擾或部分遮擋的情況,提高3DCNN 的一個泛化能力,訓練模型時,本文在均等采樣之后,使用了隨機擦除[9]方法,即對于一個批次中的一個視頻幀,隨機地從幀中選擇一個矩形區(qū)域,用隨機值對這個矩形塊擦除像素,生成了不同程度遮擋的訓練圖像來增強數據。均等采樣隨機擦除(ESE)的數據增強方法細節(jié)流程如圖2所示。
圖2 ESE流程Fig.2 Flowchart of ESE
本文采用網絡框架3D-ResNet50[8]是卷積神經網絡中3D卷積核嵌入殘差模塊,用來提取時空特征。由于3D-ResNet50中3DCNN 參數眾多,很難進行優(yōu)化,導致提取特征效果不好。為了解決這個問題,按照時間分離卷積思想,本文在2DCNN卷積濾波器中添加一個全局的時間維,將2Dk×k內核膨脹為3Dt×k×k內核。接著使用2D核初始化所有3D核(在ImageNet上預先訓練):在t×k×k內核中的每個T維上由預先訓練的k×k權重初始化,并按照1/t重新縮放。之后沿空間和時間維度應用3D平均池化,將每個圖像的輸出特征聚合到一個代表性的矢量中,然后進行批處理歸一化。全局時間特征池化(GTFP)結構如圖3所示。
圖3 GTFP結構Fig.3 Structure of GTFP
由于訓練過程中網絡參數的變化,本文將內部協(xié)變量偏移定義為在網絡激活分布中的變化[9]。為了改善訓練效果,減少內部協(xié)變量轉移,本文在非線性之前加上Batch Normalization 變換,消除協(xié)變量偏移,通過固定層輸入x的分布,提高訓練的速度和質量。
本文使用困難樣本挖掘的三元組損失[24]和標簽平滑正則化的交叉熵損失[25]。三元組損失的本質是拉近正樣本對之間的距離,推遠負樣本對之間的距離,最后使得相同ID 的行人圖片在特征空間里形成聚類,識別行人。訓練時,本文在一個批次中,隨機抽取P個行人身份,再從每個行人身份中抽取K個視頻段(每個視頻段包含T幀);這樣一個批次中共有P×K個片段。對于每個樣本a,在計算三元組損失時,選擇批次中最困難的正負樣本,如式(1)所示:
其中:P為行人身份,K為視頻片段,分別是從目標樣本、正樣本和負樣本中提取的特征;α是用于控制樣本內部距離的超參數。
本文在3D-ResNet50[8]的訓練階段,假設標簽可能存在錯誤,避免“過分”相信訓練樣本的標簽。使用標簽平滑正則化處理無標簽數據(如果訓練集的類別數是K,則該無標簽數據屬于任意類別的概率都是1/K),所以最終行人身份識別的損失函數如式(2):
其中:N為類別數,pi,a為預測概率,qi,a為真實概率,ε為平滑因子。
通過聯(lián)合三元組損失和標簽平滑正則化交叉熵損失,對網絡模型進行優(yōu)化,引導網絡探索更具判別力的特征,目標損失函數如式(3):
本文在3 個數據集上進行了大量實驗來驗證本文方法的有效性,數據集統(tǒng)計數據如表1所示。
表1 視頻數據集統(tǒng)計信息Tab.1 Statistics of video datasets
PRID-2011[10]數據集提供了2 個不同靜止監(jiān)控攝像機下的多個人的視頻片段,監(jiān)控人行航道和人行道。相機A下385人,攝像機B 下749 人,有200 人同時出現(xiàn)在A 和B 兩個視角。個視頻有5 到675 幀,平均100 幀。數據集是在不擁擠的戶外場景下采集的,有相對簡單和干凈的背景,較少的遮擋。
MARS[12]是至今最大的視頻行人重識別數據集。MARS數據集由1 261個不同身份的行人組成,每個人都至少出現(xiàn)在兩個相機鏡頭下。與iLIDS-VID 和PRID-2011 相比,MARS 的行人身份數量是iLIDS-VID 的4 倍,視頻片段總數是PRID-2011 的30 倍。MARS 的所有邊界框和軌跡都是自動生成的,這樣的數量和復雜程度使得MARS 較之以往的視頻數據集更加逼真,當然也更具挑戰(zhàn)性。
DukeMTMC[11]是一個針對多攝像機跟蹤的大型數據集。數據集是在具有嘈雜背景的室外場景中捕獲的,并且受到照明、姿勢和視角改變以及遮擋的影響。為進一步提升實驗效果,使用DukeMTMC 的子集作為DukeMTMC-VideoReID 數據集,專門用于基于視頻的重識別。由于數據集是手動注釋的,因此每個標識在攝像機下只有一個視頻片段。數據集包括702個用于訓練的身份,702個用于測試的身份,以及408個身份作為干擾者。共有2 196 個視頻用于訓練,2 636 個視頻片段用于測試。視頻包含每12幀采樣的人物圖像。
本文使用兩個行人重識別通用指標:rank-k和平均精度均值(mean value of Average Precision,mAP)來評估方法的性能:rank-k表示在排名前k個列表中正確匹配的概率,反映的是檢索精度;mAP反映的是召回率。
本文采用3D-ResNet50[8]作為特征提取的主干網絡,第1個全連接層的輸出為1 024 維,第2 個全連接層的輸出是N維,其中N代表訓練集中的類別數。對MARS、DukeMTMCVideoReID 和PRID-2011視頻數據集,本文設置N分別為625,751和89。
本文使用一種可以替代傳統(tǒng)隨機梯度下降過程的一階優(yōu)化算法:適應性矩估計[26]優(yōu)化器進行訓練,它能基于訓練數據迭代地更新神經網絡權重。訓練前,先將數據集劃分成T=15個相等時長的視頻片段,取每個片段的固定位置的圖片,隨后對所取圖片做隨機擦除處理,實驗中將擦除的概率設置不同值,同時將圖片大小調整256×128,之后將處理后圖片按時間順序重新組成視頻片段作為每個訓練周期的輸入。對3DResNet50 網絡訓練的過程中,每個批次包含32 個視頻片段,480 幅圖像。為了使得目標函數能夠得到收斂,優(yōu)化網絡模型,將適應性矩估計優(yōu)化器的學習率初始值設置為0.01,每20 個周期縮小至原來的1/10,直至學習率達到0.000 1。網絡模型采用標簽平滑正則化的交叉熵損失和三元組損失聯(lián)合進行優(yōu)化訓練。測試階段,每一張輸入圖片最終提取的特征為2 048維并且通過歐氏距離來衡量圖片之間的相似性。
整個實驗基于Ubuntu 16.04、Cuda10 和Cudnn7.6 的環(huán)境和Python 3.7、Pytorch 1.3.1 和torchvision 0.4.2 深度學習框架進行,實驗的硬件配置包括:4 塊GPU:GTX 2080Ti(顯存為11 GB)。
3.3.1 均等采樣隨機擦除、全局時間特征池化對性能的改進
本文在3 個視頻行人重識別的數據集上進行了3DResNet50 基線(Baseline)方法、僅帶有均等采樣隨機擦除的3D-ResNet50(ESE)和僅帶有全局時間特征池化的3DResNet50(GTFP)實驗,實驗結果分別如表2~4所示。
表2 基線方法和僅均等采樣隨機擦除、僅全局時間特征池化的方法在3個數據集上的性能比較 單位:%Tab.2 Performance comparison of methods of baseline,ESE,GTFP on PRID-2011,DukeMTMC-VideoReID and MARS datasets unit:%
基線方法是采用聯(lián)合三元組損失和標簽平滑正則化的交叉熵損失訓練3D-ResNet50。使用均等采樣隨機擦除方法和基線方法之間的效果是明顯的,主要表現(xiàn)在以下的方面:在基線的方法上,加入均等采樣隨機擦除之后,在PRID-2011 數據集上,rank-1從83.2%提高到了85.3%,mAP 從85.6%提高到了89.2%;在DukeMTMC-VideoReID 數據集上,rank-1 從86.5%提高到了90.2%,mAP 從82.1%提高到了84.3%;在MARS 數據集上,rank-1 從79.0%提高到了81.6%,mAP 從70.9%提高到了73.4%。使用全局時間特征池化方法和基線方法之間的差距是顯而易見的,主要表現(xiàn)在以下的方面:在基線的方法上,加入全局時間特征池化之后,在PRID-2011 數據集上,rank-1從83.2%提高到了91.0%,mAP 從85.6%提高到了94.0%;在DukeMTMC-VideoReID 數據集上,rank-1 從86.5%提高到了91.3%,mAP 從82.1%提高到了90.1%;在MARS 數據集上,rank-1 從79.0%提高到了84.3%,mAP 從70.9%提高到了77.9%。這表明從全局的角度對時間進行池化,能夠有效地細化時間特征,進一步提升行人識別的性能。
3.3.2 聯(lián)合均等采樣隨機擦除和全局時間特征池化方法對性能的改進
從表3中可以看出:在Baseline+GTFP的基礎上,使用均等采樣隨機擦除方法,精度有了明顯提升。在PRID-2011、DukeMTMC-VideoReID和MARS數據集上rank-1上分別提升了4.5個百分點、2.3個百分點和1.8個百分點,對應的mAP分別提升了3.0個百分點、2.7個百分點和2.6個百分點。實驗結果充分說明了本文方法能有效地改善行人重識別的性能。
表4 顯示了不同長度的視頻序列進行的性能比較的實驗結果。實驗中,只改變視頻序列的長度T,其他參數均保持不變。從表4 中可以看出,隨著序列長度T的增加,mAP 和rank的整體結果是變好的,當T=15 時,本文使用的均等采樣隨機擦除和全局時間特征池化方法的整體性能表現(xiàn)最佳。
表3 聯(lián)合均等采樣隨機擦除和全局時間特征池化的方法在PRID-2011、DukeMTMC-VideoReID和MARS數據集上的性能比較 單位:%Tab.3 Performance comparison of method of jointing evenly sampling-random erasing and global temporal feature pooling on PRID-2011,DukeMTMC-VideoReID and MARS datasets unit:%
表4 不同長度的視頻序列在MARS、DukeMTMC-VideoReID和PRID-2011數據集上的性能比較 單位:%Tab.4 Performance comparison of video sequences with different lengths on MARS,DukeMTMC-VideoReID and PRID-2011 datasets unit:%
3.3.3 和先進方法比較
除了以上對比實驗外,本文方法也和目前一些先進方法做了比較,包括MARS[12]、Temporal Attention Model+Spatial Recurrent Model(TAM+SRM)[27]、Sequential Decision Making(SDM)[28]、TriNet[24]、End-to-end CNN model with Temporal Average Pooling(ETAP-Net)[29]、SpatioTemporal Attention Network(STAN)[21]、Attribute-Driven Feature Disentangling and Temporal Aggregation(ADFD-TA)[30]、Spatial and Temporal Mutual Promotion(STMP)[31]、3D Convolutional Networks and Non-Local Attention (3DCNN+NLA)[8]和 K-reciprocal Harmonious Attention Network[32](KHAN)等方法,如表5所示。
表5 不同方法在MARS、DukeMTMC-VideoReID和PRID-2011數據集上的性能比較 單位:%Tab.5 Performance comparison of different methods on MARS,DukeMTMC-VideoReID and PRID-2011 datasets unit:%
表5 中,在PRID-2011 小型視頻數據集上,本文方法能夠在rank-1 達到95.5%,mAP 達到97.0%;在DukeMTMCVideoReID 較新的視頻數據集上,本文方法能夠在rank-1達到93.6%,mAP 達到92.8%。在MARS 這個更具挑戰(zhàn)性的視頻數據集上,本文方法也能夠在rank-1 達到86.1%,mAP 達到80.5%。由此可見,本文提出的聯(lián)合均等采樣隨機擦除和全局時間特征池化的方法在綜合性能上要優(yōu)于目前先進方法,在有效豐富行人特征信息的基礎上,進一步提升了視頻行人重識別的識別率。
本文對基于視頻行人重識別的時間建模方法做了改進,對行人的時間信息做了細化處理,顯著地提高了視頻行人重識別的精度;同時采用均等采樣隨機擦除的數據增強方法,豐富了視頻行人特征表示。本文在PRID-2011 小型的數據集上和DukeMTMC-VideoReID 大型視頻數據集上做了評估實驗,特別地,也在最具有代表性的MARS 大型視頻數據集做了一系列對比實驗。在3 個視頻數據集上實驗結果表明,本文提出的聯(lián)合均等采樣隨機擦除和全局時間特征池化的方法能有效地提取具有判別力的行人特征表示,在準確度和效率方面優(yōu)于許多已有的視頻行人重識別方法。因此,本文方法是可行且高效的。