王福銀,韓華,黃麗,陳益平
(上海工程技術大學電子電氣工程學院,上海 201620)
隨著科學技術的進步,視頻行人重識別在人們生活中越來越重要,旨在從非重疊視覺域多攝像頭下檢索特定的行人,同時在與監(jiān)控相關的應用中起到較大輔助作用。近年來,隨著大型視頻基準的出現和計算資源的增長,視頻行人重識別受到研究人員的極大關注[1]。與基于圖像的行人重識別數據相比,視頻數據包含了豐富的空間信息和時間線索,有利于緩解基于外觀特征的局限性。在視頻行人重識別的技術研究方面,主要有基于圖像集的方法和基于時間序列的方法[2]?;趫D像集的方法將視頻視為一組無序圖像,獨立地提取每幀的特征,使用特定的時間池化策略來聚合幀級別的特征,但這種方法缺乏對視頻時間關系的建模[3-4]。
在視頻片段特征提取方面,常用的方法是利用強大的深度網絡和大規(guī)模標記基準使視頻行人重識別獲得較高的性能和效率,如通過循環(huán)層和時間注意層。盡管視頻行人重識別取得了明顯進步,但大多數現有方法仍未充分利用視頻中豐富的時空線索[5-7]。具體而言,由于視頻的行人幀非常相似,并且現有方法在每幀上執(zhí)行相同的操作,因此這些方法通常會使視頻幀產生高度冗余的特征,而多余的特征通常出現在相同的局部突出部分上,導致很難區(qū)分外觀相似的行人,并且增加損失函數的計算量[8-10]。在無監(jiān)督自適應研究方面,利用生成式對抗網絡(Generative Adversarial Networks,GAN)將源域圖像的風格轉換為目標域的風格,保持標簽不變,然后對生成的標簽圖像進行訓練,雖然源域與目標域的數據進行交換產生許多可靠的數據,但高度依靠生成圖像的質量[11]。而最近在無監(jiān)督領域提出無監(jiān)督的自底向上聚類(Bottom-Up Clustering,BUC)方法不使用人工標記的數據集,取得了較好的識別效果,然而在聚類合并時BUC 無法解決在樣本相似度較高的情況下偽標簽所帶來的無法優(yōu)化模型的問題[12]。
本文提出一種時間特征互補的無監(jiān)督視頻行人重識別方法。通過設計時間特征擦除網絡模塊,根據視頻幀與幀之間的時間關系與每幀的空間信息進行圖像特征的擦除提取,利用加入多樣性約束和離散度參數的層次聚類算法提高生成的偽標簽質量,并運用PK 抽樣困難樣本三元組方法對模型進行更新訓練,以降低不同身份相似樣本聚集的概率。
本文無監(jiān)督視頻行人重識別方法的整體框架流程如圖1 所示。首先將無標簽的視頻序列輸入網絡,利用時間特征擦除方法提取視頻特征,然后利用約束性無監(jiān)督層次聚類,對提取的樣本特征進行從底向上的離散度分層聚類,生成高質量的偽標簽,最后通過PK 抽樣法產生新數據,困難樣本三元組對其重新訓練,微調模型,更新聚類信息。
圖1 本文方法整體框架流程Fig.1 Procedure of overall framework of this method
視頻幀與幀之間包含著豐富的時間和空間信息,充分利用這些信息可以實現更可靠的特征表示。但是,大多數現有方法在每幀上執(zhí)行相同的操作,導致不同幀的特征高度冗余,僅突出在局部,并且多余的特征很大程度上使損失函數計算量增加。為此,本文設計如圖2所示的時間特征擦除模塊(TFE),目的是從視頻的連續(xù)幀中挖掘互補特征部分,以形成目標行人的整體特征。如圖2(a)所示,特征擦除模塊對每個幀迭代執(zhí)行兩個操作:1)使用擦除操作(Erasing Operation,EO)對抗性擦除先前幀發(fā)現的部分;2)利用特定的學習器發(fā)現新的顯著部分以提取互補特征。輸入的視頻段是經CNN Backbone網絡后的一組幀級特征圖其中:視頻段包含N個連續(xù)幀;n是視頻幀的索引;H、W和D分別表示特征圖的高度、寬度和通道號。首先TFE使用學習者L1發(fā)現第一幀最顯著的區(qū)域,然后對整體幀的全局平均池化(Global Average Pooling,GAP)層求平均,提取I1的最顯著特征,表示為:
圖2 時間特征擦除模塊Fig.2 Temporal feature erasing module
在幀I2中利用EO 刪除特征圖F2的f1挖掘判別部分,將刪除的特征圖饋送到學習者L2中。由于學習者L1所參與的部分已被刪除,因此學習者L2自然被驅動發(fā)現新的顯著部分,以識別目標行人最新判別特征。遞歸地,對于幀In的特征圖Fn(n>1),時間特征擦除模塊首先應用EO 擦除先前幀發(fā)現的所有部分,以形成擦除的特征圖,然后使用特定的學習者LN挖掘新的特征部分并獲得特征向量fn,表示為:
顯著性擦除操作和學習者對輸入視頻段的N個連續(xù)幀重復執(zhí)行,最后聚合每次得到的擦除特征,得到整個目標行人的特征。
擦除操作主要包括以下3 個部分:
1)擦除操作相關層。式(2)的實現如圖2(b)所示,對于要擦除幀In的特征圖Fn,需要設計擦除操作的相關層以獲得前一幀特征向量fk(k<n)與Fn之間的相關圖。首先計算出Fn的每個空間位置(i,j)的特征向量記作。然后相關層通過點運算符相似性計算fk與Fn的所有局部描述符之間的語義相關性,以得到相應的相關圖Rnk∈?H×W,表示為:
2)擦除操作二值化層。該層將相關圖生成二進制掩碼以標識要擦除的區(qū)域。目前最好的方法是在相關圖上進行閾值處理,但這通常會產生不連續(xù)的區(qū)域,由于卷積特征單元在空間上是連續(xù)的,因此當不連續(xù)地擦除特征單元時,被擦除單元的信息仍有少部分可以被傳送到下一層[13]。因此,本文設計一個塊二值化層來生成擦除特征圖連續(xù)區(qū)域的二進制掩碼。如圖2(b)所示,本文使用滑塊搜索標記相關圖中最突出的連續(xù)區(qū)域。在大小為H×W的相關圖上使用大小為he×we的滑動塊,當分別移動水平步幅sw和垂直步幅sh時,塊位置總數計算的公式如式(4)所示:
經過式(4)的計算可以為每個相關圖獲得Npos個候選塊。此外,定義一個塊的相關值為該塊各項的相關值之和,選擇具有最高相關值的候選塊作為要擦除的塊,即:相關圖Rnk的二進制掩碼Bnk∈?H×W是通過將所選塊中的單位值設為0,其他單位值設為1而生成的。然后將掩碼合并融合為掩碼Bn用于特征映射Fn,計算表達式為:
其中:⊙是逐元素乘積運算。
3)時間特征擦除操作。本文采用門控機制來擦除特征圖Fn,特別地,將softmax 層應用到融合相關圖中,以獲得門圖Gn∈?H×W,表示為:
基于Bn和Gn擦除特征圖Fn,生成擦除后的特征圖同時為了一致性,本文也對F1進行填充為1的二進制掩碼擦除操作,這樣可以使梯度傳播到EO參數w中,并且時間特征擦除也可以進行反向傳播訓練。
為了生成高質量的偽標簽,監(jiān)督目標數據集模型訓練,本文采用一種從底向上的層次聚類方法。該方法通過加入約束性條件計算類內與類間的距離,之后將相距最近的兩類合并,建立一個新類,重復此操作直到滿足停止條件,以提高聚類的準確性。
1)類內之間的距離計算。類內之間的距離反映的是類與類之間的離散程度,定義一個類為C,類內平均樣本離散度表示為:
其中:n表示為類別C的樣本個數;D(·)表示歐氏距離。在類內計算類與類之間的距離時,距離數值較小的兩個類被優(yōu)先合并在一起,該計算方法起到防止類與類之間聚類離散度過高,同時提高層次聚類的作用。
2)類與類之間的距離計算。類與類之間的距離越小,表示兩個類之間的離散度越小,則被聚合在一起的概率越大。針對類間的差異性,類間離散度表示為:
其中:Ca與Cb分別表示兩種類別;na和nb為兩個類別的個數;為類Ca的樣本;為類Cb的樣本。
3)類內間離散度聚類計算。該聚類表達式為:
其中:dab表示類Ca和Cb之間的距離;α1為計算類與類之間距離時的離散度參數因子;da和db分別為Ca類中類與類之間的距離和Cb類中類與類之間的距離。在聚類過程中,相同身份的特征在特征空間中的距離較近,類別被聚合在一起的概率較大。
隨著層次聚類的迭代,數據中的類別數不斷變少,類內的樣本數量變多。雖然對于每個類別的樣本數量不清楚,但可以假設樣本數量平均分布在每個類別中,因此達到每個類別的樣本數量差別不會太多,這稱為多樣性。而本文引入多樣性參數起到降低極度相似樣本被合并在一起的概率,表示為:
其中:|a|為類Ca的樣本數量;|b|為類Cb的樣本數量。
當一些類與類之間的距離差別不明顯時,引入多樣性參數因子,使其起到先合并樣本數量少的類,其次合并樣本數量多的類的作用,因此最終的類內間距離表達式為:
其中:α2為多樣性約束參數因子。
本文使用PK 抽樣困難樣本三元組挖掘正樣本錨和負樣本錨之間的關系,拉近正樣本與正樣本之間的距離,增加負樣本與負樣本之間的距離。在訓練過程中,本文從一個批次中隨機抽取P個行人身份,然后從每個行人身份中抽取K個視頻片段。因此,每個批次中包含P×K個片段,損失函數定義為:
如算法1 所示,本文模型在ResNet50 網絡上迭代訓練。對于每個迭代,在分層聚類開始時,本文將N個樣本視為N個不同的身份,并初始化所有偽標簽。設置超參數mp來控制合并速度,設置s為分層聚類的總合并步驟,m=n×mp表示每個步驟中合并的聚類數。根據式(11)生成c×c距離矩陣D,c表示當前簇數。在每個步驟中合并m對最近的簇類,直到第s步,并根據聚類結果生成偽標簽。然后,使用PK 抽樣生成一個新的數據集作為時間特征擦除網絡的輸入。通過新數據集進行微調訓練,評估模型性能。本文將分層聚類、PK 抽樣、微調訓練和模型評估進行不斷迭代,直到性能不再改善。
算法1模型更新算法
本文方法是在兩個數據集上進行實驗和評估,其數據集的具體設置如表1 所示。
表1 視頻數據集信息Table 1 Statistics of video datasets
本文使用累積匹配特性(Cumulative Match Characteristic,CMC)作為Rank-k 的概率曲線,表示為檢索精度值的前k個數值正確匹配概率。CCMC的表達式為:
其中:在匹配候選集中有N個行人;k為前k個候選目標;pi為要查找的目標行人在匹配候選集中的位置序號。
平均精度(Average Precision,AP)是對單個類別的精度計算,平均精度均值(mean Average Precision,mAP)是預測目標位置以及類別的性能度量標準,為所有類別精度的平均值,表達式分別為:
其中:i為圖像要查詢的序號;p(i)為圖像序號在視頻序列圖像中的比例;r(i)表示每幀視頻序列的圖像是否與要搜索的目標圖像匹配,如果匹配則取值為1,不匹配則取值為0;g表示目標視頻序列中需要進行匹配的序列數;Q為數據集中視頻序列數。
在本文實驗中,實驗平臺采用Ubuntu16.04 操作系統(tǒng),NVIDIA RTX3090 顯卡的硬件環(huán)境。實驗網絡采用在ImageNet 上預訓練好的ResNet50 模型作為網絡骨干,并加入時間特征擦除模塊對視頻序列進行特征提?。?4-15]。使用PyTorch 框架實現,在訓練時,從每個視頻序列中隨機采樣4 幀作為輸入,并將每幀的大小調整為256×128,同時僅采用隨機翻轉進行數據擴充。最初學習速率為0.000 3,每經過15 個周期衰減因子為0.1,Adam優(yōu)化器的最小批量大小為32,用于150個epoch的訓練。在合并聚類期間合并參數mp為0.05,式(11)中α1為0.06,α2為0.002。
本文在MARS 數據集上進行一系列研究來驗證時間特征擦除模塊的有效性,ResNet50 上用時間平均池作為基線[16]。在ResNet50 有4 個連續(xù)的階段組成[17]:即階段1~階段4,每個階段分別包含3、4、6、3個殘差塊。本文將前3 個階段作為主干網絡,TFE 可以插入主干網絡的任何階段。而對于時間特征擦除模塊的實驗驗證,本文對所有模型只采用自底向上的層次聚類和三元組損失進行訓練,不加入離散度和多樣性約束參數及PK抽樣法。
1)首先用TFE(base.+TFE)替換基線層來評估TFE 模塊的效果。如表2 所示,與基線相比,采用TFE 模塊使mAP、Rank-1 分別提高了2.9、1.4 個百分點,這是由于TFE 的學習者協(xié)同擦除功能挖掘特征互補部分,從而生成目標行人的整體特征,使模型對具有相似特征的不同行人獲得更強的識別能力。為了進一步驗證TFE 中的擦除操作提取特征的有效性,本文設計了一種變體,即TFE-wo-EO,采用增加大量的有序學習者,而不進行擦除操作。TFE-wo-EO相對于基線僅取得了很小的改進效果,表明在不進行擦除操作的情況下,不同的學習者捕獲的視覺特征幾乎相同,可以得出擦除操作的強大功能,迫使不同的學習者專注于不同的圖像部分,以發(fā)現不可或缺的視覺特征,而不在于學習者數量的增加。
表2 MARS 上不同設置的性能比較Table 2 Performance comparison of different settings on MARS
2)在TFE 模塊中學習者的數量不斷增加或減少都對本文所提模型產生影響,如表3 所示。TFE 包含N個有序學習者,其中N=1 為基線,它們?yōu)镹個連續(xù)幀挖掘互補特征。隨著增加更多的學習者去挖掘互補特征,模型的性能會提高,但是當N達到4時性能會大幅下降。在這種情況下,大多數判別部分已在輸入段的最后一幀中刪除,第4 學習者必須激活非區(qū)別區(qū)域,這會破環(huán)背景區(qū)域。考慮到模型的復雜度,本文將N設置為2。
表3 MARS 中學習者數量對TFE 參數的影響Table 3 Impact of number of learners on TFE parameters in MARS
3)擦除塊的大小改變也會影響模型的性能,如表4 所示。本文TFE 模塊處理尺寸為16×18 的幀級特征圖,由于行人圖像的空間結構不同,本文將擦除后的寬度固定為特征圖的寬度,以擦除特征圖的整個行。可以看出,當擦除塊高度he為3 時模型的性能最佳,而當擦除塊的高度較大或較小時,性能都會變差。因此,擦除塊太小不能有效激勵當前學習者發(fā)現特征互補部分;擦除塊太大會迫使當前學習者激活如背景等非區(qū)別區(qū)域。
表4 MARS 中擦除塊高度對TFE 參數的影響Table 4 Impact of erasing block height on TFE parameter in MARS
4)對于復雜度方面的比較,本文除了對在MARS數據集上所提出的網絡進行成分分析外,還對輸入的視頻片段的浮點運算數量(GFLOPs)及模型的參數數量(Params)進行了分析對比。FLOPs 表示訓練模型時GPU 的計算量(1GFPLOs=109FLOPs),用來衡量模型的復雜度(時間長短)。參數數量為網絡模型中需要訓練的參數總數(顯存大?。?。模型中浮點運算和參數數量采用python 的第三方庫thop 中的profile()方法進行計算。
從表2 可以得出,在基線上對數據集進行測試時需要14.144 的GFLOPs,而在TFE(base.+TFE)上進行測試時需要14.149 的GFLOPs,與原始模型(基準)相比僅相對增加了0.005GFLOPs。而增加的成本主要是由TFE 的相關圖所造成的,不過這種問題可以通過矩陣乘法進行解決,因此,在運算時占用GPU 的時間很少。在參數數量方面,TFE 相對基線參數數量增加了6.4×106,占用顯存的增加主要是由TFE 的一系列有序學習者所造成的。重要的是僅通過使用一系列學習器來擴展基線所帶來模型準確率上的提高,表明TFE 的改進不僅僅是因為增加了參數設置。
如表5 所示,分別為加入類內間離散度參數和多樣性約束參數以及兩者結合對模型結果所帶來的影響。在模型中僅考慮類間離散度時(基準),MARS 和DukeMTMC-VideoReID 上的Rank-1 分別為66.9%和75.9%,mAP 分別為44.3%和68.7%。加入類內離散度后,Rank-1 在MARS 和DukeMTMC-VideoReID 上分別提升了0.9 和0.6 個百分點,起到了防止高離散度類被聚合的作用,保證了類別平衡。加入多樣性約束后Rank-1分別達到了69.3%和80.5%,mAP 分別達到了46.4%和72.5%。表明在模型中加入類內間離散度參數和多樣性約束參數能夠提高層次聚類的準確性以及提升圖像匹配的準確率。
表5 在MARS 和DukeMTMC-VideoReID 上不同設置的性能比較Table 5 Performance comparison of different settings on MARS and DukeMTMC-VideoReID %
本文對整個迭代過程進行對比分析。如圖3 所示,在兩個數據集上進行聚類迭代實驗,Rank-1 和mAP 的性能百分數隨著迭代次數的增加不斷增加,但迭代次數達到一定程度時,兩個性能指標趨于穩(wěn)定,同時數據集的類別數目越來越少,最后得出數據集的偽標簽。
圖3 在MARS 和DukeMTMC-VideoReID 上Rank-1 和mAP 隨聚類迭代次數的變化Fig.3 Change of Rank-1 and mAP with the number of clustering iterations on MARS and DukeMTMC-VideoReID
本文對類內間平衡參數α1和多樣性約束參數α2進行了實驗分析。如圖4 所示,在式(11)中保持α2值不變,改變α1的值,計算性能指標的數值。當α1=0.06 時,圖4 上縱軸上的指標取得最大值,而隨著實驗不斷進行,橫軸上的取值過大或過小,縱軸上的值都會下降。在圖5 中,類內間平衡參數α1設置為0.06,對α2取不同的值。從圖5 可以看出,當α2=0.002 時效果最好。在MARS 數據集上Rank-1 精度提升到了69.3%,mAP 提升到了46.4%;在DukeMTMC-VideoReID 上隨著參數的數值改變,Rank-1 的精度提升到了80.5%,mAP 提升到了72.5%。在實驗中α2的值無論小于或大于0.002,性能指標的取值都會下降,因此α2的取值為0.002。
圖4 Rank-1 和mAP隨α1的不同取值在MARS 和DukeMTMC-VideoReID 上的變化Fig.4 Change of Rank-1 and mAP with different values of α1 on MARS and DukeMTMC-VideoReID
圖5 Rank-1 和mAP隨α2的不同取值在MARS 和DukeMTMC-VideoReID 上的變化Fig.5 Change of Rank-1 and mAP with different values of α2 on MARS and DukeMTMC-VideoReID
如表6 所示,本文方法在MARS 數據集和DukeMTMC-VideoReID 數據集上實驗得出的結果與利用目前最新方法得出的結果進行比較,可以看出,本文方法具有較大的優(yōu)越性。
表6 不同方法性能比較Table 6 Performance comparison of different methods %
在表6 中,第2 列顯示“單樣本”的標簽為訓練模型時一部分數據采用身份偽標簽,不是真正的完全無監(jiān)督,而在其列中顯示“無”的標簽,為完全無監(jiān)督。對MARS 數據集上的實驗結果與利用傳統(tǒng)方法RACM 和DAL 得出的實驗結果進行比較,可以看出,本文方法Rank-1 分別提高26.1%和20%,mAP 分別提高21.9%和23.4%;與完全無監(jiān)督BUC 進行比較,Rank-1 和mAP 分別提高14.2%、15%;與單樣本的深度學習方法EUG 相比,本文方法也具有很大的競爭力。在數據集DukeMTMC-VideoReID 上的實驗結果與利用BUC 方法得出的實驗結果進行比較,本文方法Rank-1 和mAP分別提高5.7%、5.8%,與利用EUG 方法得出的結果進行比較,Rank-1 和mAP 分別提高7.8%、9.3%。
本文通過研究視頻行人重識別的每幀特征提取和標簽,提出一種時間特征互補的無監(jiān)督視頻行人重識別方法。使用時間特征擦除網絡模塊提取具有強力的判別性特征,解決特征的冗余問題,減少后續(xù)類別分類的計算量,在層次聚類進行合并時加入離散度參數因子和多樣性參數因子,生成高質量的偽標簽,解決手工標簽帶來的巨大代價問題,并通過PK 抽樣困難樣本三元組損失優(yōu)化模型,減少不同身份的相似樣本被合并的概率。實驗結果表明,與RACM 和DAL 等方法相比,本文方法性能指標得到較大提升。下一步將改進時間特征提取建模方法,消除噪聲幀的影響,以獲得更強的特征表示,并繼續(xù)研究無監(jiān)督算法在數據標簽上的應用。