陳禹, 劉慧, 梁東升, 張雷
(1.東軟漢楓醫(yī)療科技有限公司, 沈陽 110034; 2.北京建筑大學(xué)電氣與信息工程學(xué)院, 北京 100044)
行人重識別(re-identification, ReID)技術(shù)具有從跨設(shè)備采集的圖像中識別同一行人的能力[1-2]。該技術(shù)利用人工智能方法,能夠解決邊防檢查、人員追蹤等公共安全應(yīng)用問題,在視頻監(jiān)控、智能安防、應(yīng)急疏散、城市管理等多個領(lǐng)域被廣泛應(yīng)用。行人重識別算法根據(jù)應(yīng)用場景狀況的不同可分為兩個重點領(lǐng)域:一個是標準行人重識別,另一個則是遮擋行人重識別。前者是后者的基礎(chǔ),后者是通過研究因行人遮擋而導(dǎo)致的識別困難所進行的延伸。目前,多種行人重識別方法[3-4]已經(jīng)被提出。但是這些方法主要用于處理全貌圖像,對于更為實際和具有挑戰(zhàn)性的遮擋圖像鮮少研究。因為行人處在復(fù)雜的正常社會秩序環(huán)境中,可能會刻意遮擋,或利用復(fù)雜環(huán)境的掩體進行遮擋,或被其他行人遮擋,或者走出監(jiān)控設(shè)備的視野,特別是在劇場、醫(yī)院、景區(qū)、鬧市等人員密集場所。因此遮擋的行人重識別技術(shù)更為實際且更具挑戰(zhàn)性。首先,遮擋引起關(guān)鍵信息的缺失,大大增加錯誤匹配的概率。其次,通過對行人部位進行匹配雖然已被證明是有效的方法[3],但前提是需要先對行人進行嚴格對齊,因此,當遮擋嚴重時系統(tǒng)可能無法工作。
針對遮擋的行人重識別問題,近年來也得到了許多科研工作者的青睞,提出了許多新的方法[4-6]。這些方法主要針對特征學(xué)習(xí)和對齊問題,以求提高遮擋的行人重識別能力?,F(xiàn)有方法可以大致分為三類,分別為基于手工分割的方法、使用附加線索的方法和基于Transformer的方法。
基于手工分割的方法利用對齊補丁之間的相似關(guān)系解決遮擋問題。Sun等[3]于2018年、2019年分別提出了一種基于部件的卷積基準網(wǎng)絡(luò)(part-based convolutional baseline,PCB)以及一種基于區(qū)域的可視感知部分(visibility-aware part model,VPM)模型,PCB網(wǎng)絡(luò)均勻分割特征圖并直接學(xué)習(xí)局部特征,VPM通過自我監(jiān)督學(xué)習(xí)區(qū)域的可見性[7]。Jia等[8]使用相應(yīng)模式集合之間的Jaccard相似性系數(shù),將遮擋的行人重識別作為集合匹配問題來公式化。
利用外部線索來定位人體部位的方法如:圖像分割、姿態(tài)估計或人體解析等。Song等[9]提出了一種基于掩碼引導(dǎo)的對比度關(guān)注模型,可以單獨從身體中學(xué)習(xí)特征。Miao等[10]提出了一種姿態(tài)引導(dǎo)的特征對齊方法,基于人體語義關(guān)鍵點匹配待查詢圖像以及圖庫中圖像的局部特征,結(jié)合預(yù)定義的關(guān)鍵點置信度閾值來判斷是否被遮擋。Gao等[11]通過姿勢引導(dǎo)注意力學(xué)習(xí)區(qū)分性部分特征,提出一種姿勢引導(dǎo)可見部分匹配(pose-guided visible part matching,PVPM)模型。Wang等[12]基于高階關(guān)系和人體拓撲信息來學(xué)習(xí)穩(wěn)健特征,提出了高階行人重識別(high-order ReID,HOREID)模型。
最近,基于Transformer的方法開始引起人們的關(guān)注。Transformer具有強大的特征提取能力和學(xué)習(xí)解耦特征的能力。He等[13]研究的純Transformer框架TransReID,利用Transformer強大的特征提取能力,在行人重識別和車輛重識別方面都取得了良好的表現(xiàn)。Li等[14]利用Transformer學(xué)習(xí)解耦特征的能力,提出部件感知Transformer(part-aware Transformer),可以解耦出魯棒的人體部位特征,適用于遮擋行人身份重識別。
與上述方法不同,結(jié)合姿態(tài)信息和Transformer架構(gòu),提出一種姿態(tài)Transformer網(wǎng)絡(luò)(pose Transformer net,PT-Net)模型。該模型利用Transformer的學(xué)習(xí)解耦特征的能力,解耦相似姿態(tài)特征,提高姿態(tài)特征的區(qū)分度和清晰度,并有效地緩解了遮擋對特征學(xué)習(xí)的影響。通過融合全局外貌、局部部位和姿態(tài)信息等,生成更加魯棒和準確的特征表示,同時采用自注意力機制自適應(yīng)學(xué)習(xí)重要信息,抑制噪聲和無關(guān)信息的影響。首先通過將關(guān)鍵點信息與行人特征圖像相結(jié)合,在行人特征表示中保留更多的身體結(jié)構(gòu)信息,從而更好地抵御遮擋帶來的干擾。其次利用Transformer模型對基于姿態(tài)的行人特征表示進行編碼,實現(xiàn)特征對齊和特征融合,從而提升遮擋行人重識別的準確性和穩(wěn)定性。該方法在解決邊防檢查、人員追蹤等公共安全應(yīng)用問題領(lǐng)域具有重要的意義。
殘差神經(jīng)網(wǎng)絡(luò)(residual neural network, ResNet)由He等[15]于2015年提出。ResNet50網(wǎng)絡(luò)是一種具有深度殘差連接的卷積神經(jīng)網(wǎng)絡(luò),可以有效提取行人圖像的特征。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)通過堆疊多個隱藏層來提高模型擬合能力,同時也增加了網(wǎng)絡(luò)的復(fù)雜度。且當隱藏層數(shù)增多時,容易引起梯度消失(vanishing gradient problem,VGP)和梯度爆炸(exploding gradients problem,EGP)問題,導(dǎo)致模型的性能反而會下降。梯度消失和梯度爆炸是在訓(xùn)練過程中經(jīng)常遇到的問題。梯度爆炸可以通過梯度裁剪來解決,而梯度消失需要對模型本身進行改進。ResNet網(wǎng)絡(luò),將輸入特征與輸出特征之間建立一條直接連接的捷徑,使得模型能夠更好地優(yōu)化深層網(wǎng)絡(luò),有效地解決了梯度消失的問題。如圖1所示,ResNet采用殘差塊(residual block)的結(jié)構(gòu),直接將低層的特征傳遞到更深層次的特征中,從而避免了信息的丟失和梯度消失的問題。
圖1 殘差網(wǎng)絡(luò)模塊Fig.1 Residual network module
Transformer[16]模型是主要用于處理自然語言的模型。受自注意力機制的啟發(fā),許多科研人員開始將Transformer應(yīng)用于計算機視覺領(lǐng)域。文獻[17]提到DETR模型通過執(zhí)行交叉注意力,將目標查詢和特征圖進行匹配,將檢測問題轉(zhuǎn)化為一對一匹配問題,從而消除了手工制作組件的需要。Han等[18]和Khan等[19]研究了Transformer在計算機視覺領(lǐng)域的其他應(yīng)用。其他如圖像處理Transformer(image processing transformer,IPT)[20]利用Transformer的優(yōu)勢通過大規(guī)模預(yù)訓(xùn)練,在超分辨率、去噪等任務(wù)中實現(xiàn)了最先進的性能。最近提出的視覺Transformer (vision transformer,ViT)[21]模型直接將純Transformer應(yīng)用于圖像塊序列,如圖2所示,但是ViT需要大規(guī)模的數(shù)據(jù)集進行預(yù)訓(xùn)練。為了克服這個問題,Touvron等[22]提出數(shù)據(jù)高效圖像(data-efficient image Transformer,DeiT)框架,引入特殊的教師-學(xué)生策略,以加速ViT的訓(xùn)練,因而無需大規(guī)模的預(yù)訓(xùn)練數(shù)據(jù)。
圖2 Transformer框架Fig.2 Vision Transformer framework
1.2.1 圖像分塊嵌入
(1)
Z′l=MSA[LN(Zl-1)]+Zl-1,l=1,2,…,L
(2)
Zl=MLP[LN(Z′l)]+Z′l,l=1,2,…,L
(3)
(4)
采用Transformer編碼器層來學(xué)習(xí)特征表示。由于所有的Transformer層都具有全局感受野,因此基于卷積神經(jīng)網(wǎng)絡(luò)的方法存在有限的感受野的問題得到了解決。此外,沒有下采樣操作,因此詳細信息得以保留。
1.2.2 Transformer編碼器
圖3展示了Transformer編碼器[16]的結(jié)構(gòu),它由多個交替的多頭自注意力(multi-head self-attention,MSA)和多層感知器MLP組成。編碼器完成的計算過程可通過式(2)和式(3)描述。在每個塊之前應(yīng)用層歸一LN(layer norm),在每個塊之后使用殘差連接[25]來防止信息的丟失。多頭自注意力機制可以更好地捕捉序列中的依賴關(guān)系和全局信息,MLP塊可以對序列特征進行非線性變換和提取。同時,由于層歸一化和殘差連接的使用,Transformer編碼器能夠更好地避免梯度消失和信息瓶頸的問題。
L×為編碼器的層數(shù)
在ViT中,輸入圖像被劃分成多個圖像塊,每個圖像塊被展平成一個二維矩陣,作為Transformer編碼器的輸入。在每個Transformer塊中,輸入首先通過多頭自注意力層進行編碼,該層計算每個位置對于整個序列的重要性并加權(quán),以便更好地捕捉圖像中的關(guān)鍵特征。隨后,這些加權(quán)的位置向量被傳遞到多層感知器MLP中,以進行一些非線性變換和特征提取。在每個Transformer塊中,還使用殘差連接和層歸一化來提高模型的性能。這些操作使得ViT能夠更好地處理高分辨率圖像,并且能夠從中學(xué)習(xí)到更準確的特征表示。
將ID loss和triplet loss結(jié)合在一起訓(xùn)練網(wǎng)絡(luò)模型,由于這兩種損失的目標在嵌入空間中是不一致的,設(shè)計了一個名為BNNeck的結(jié)構(gòu),如圖4所示。BNNeck在特征之間(分類器full connetction層之前)添加了一個批量歸一化BN(batch norm)層。BN層之前的特征表示為ft。讓ft通過BN層得到歸一化特征fi。在訓(xùn)練階段,ft和fi分別用于計算三元組損失和ID損失。歸一化層平衡了fi的每個維度。特征在超球面表面附近呈高斯分布,這種分布使得ID損失更容易收斂。此外,BNNeck降低了ID損失對ft的約束。來自ID損失的較少約束使得三元組損失更容易同時收斂。而且,歸一化層保證了屬于同一行人的特征的緊湊分布。在推理階段,選擇fi來進行行人ReID任務(wù)。余弦距離度量可以比歐幾里德距離度量獲得更好的性能。
圖4 BNNeck網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Structure of BNNeck network
PT-Net網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,主要由特征提取和特征對齊兩個關(guān)鍵階段組成。在特征提取階段,利用ResNet50作為基礎(chǔ)模型提取全局特征,并結(jié)合姿態(tài)估計模型提取局部特征,以獲取更全面、更豐富的行人特征表示。在特征對齊階段,采用Transformer模型對局部特征和全局特征進行特征融合和對齊,進一步提升了模型對行人特征的精準表示。為了提升模型性能,在該研究中引入BNNeck模塊[23]。為了更好地訓(xùn)練模型,在不同階段加入多種損失函數(shù)進行監(jiān)督,以使模型不僅能夠準確地預(yù)測樣本標簽,而且能夠在特征空間上實現(xiàn)更好的聚類效果,即相同樣本距離更近,不同樣本距離更遠。這些損失函數(shù)包括交叉熵損失、三元組損失以及圓損失。通過這些監(jiān)督機制,可以進一步提高模型的性能,讓其在行人重識別任務(wù)中取得更加準確和魯棒的結(jié)果。
*標記的輸出表示特征融合后的結(jié)果
研究表明,基于部件的特征是有效的行人重識別特征[3]。在遮擋或部分遮擋的情況下,局部特征的精確對齊是必要的[7]。遵循上述思路,并受最近在行人重識別[3,23,26]和人體關(guān)鍵點預(yù)測方面的發(fā)展啟發(fā),利用ResNet50主干提取不同關(guān)鍵點的局部特征。盡管人體關(guān)鍵點預(yù)測已經(jīng)取得了較高的準確度,但在遮擋或部分圖像下,它仍然表現(xiàn)得不盡如人意。這些因素導(dǎo)致關(guān)鍵點位置及其置信度的不準確性。因此,提出一個改進方法,通過結(jié)合Transformer模塊,增強了局部特征的表達和整合能力。同時,還通過引入深度監(jiān)督機制來減輕梯度消失問題,從而提高了模型的穩(wěn)定性和魯棒性。通過大量的實驗證明,上述方法在行人重識別任務(wù)中取得了優(yōu)異的性能。
(5)
(6)
式中:K為關(guān)鍵點數(shù);vk∈Rc,其中c為通道數(shù);mkp為通過對原始關(guān)鍵點熱力圖進行softmax函數(shù)歸一化獲得的,以防止噪聲和離群值。
使用分類損失Lcls和三元組損失Ltri聯(lián)合構(gòu)成目標損失LS,如式(7)所示。
(7)
在特征提取階段,借助行人姿態(tài)估計技術(shù)獲得行人的關(guān)鍵點信息,這些關(guān)鍵點包括頭部、肩部、膝蓋等關(guān)鍵部位的位置信息。這些關(guān)鍵點信息可以輔助特征對齊,提高模型在行人重識別任務(wù)中的表現(xiàn)。同時,利用關(guān)鍵點信息還可以更好地捕捉行人的姿態(tài)信息和身體結(jié)構(gòu)信息。
在模型的編碼器階段,使用Transformer編碼器中的注意力機制來實現(xiàn)特征對齊,這使得每個位置的特征表示可以同時考慮輸入序列中的所有位置。通過對每個位置進行加權(quán)求和的方式,將注意力機制計算得到的各個位置的特征表示進行聚合,可以得到更加準確和全局的特征表示。這種特征對齊和聚合的方式,極大地增強了模型的表達能力和泛化能力,從而在行人重識別任務(wù)中取得更好的效果。
Transformer中的自注意力機制(self-attention)將輸入序列中的每個位置的特征表示視為一個向量,它們同時作為查詢(query)、鍵(key)和值(value)來計算注意力分布。這種注意力分布表示了每個位置與其他位置的相對重要性,并通過加權(quán)求和的方式將輸入序列中所有位置的表示進行聚合,得到更準確的表示。在多頭注意力機制中,模型使用多組不同的查詢、鍵和值向量來計算不同的注意力分布,每個注意力頭可以關(guān)注不同的特征子空間,從而進一步增強模型的表達能力。最終,將多個注意力頭的輸出拼接起來,得到更全面的表示。總的來說,這種注意力機制的實現(xiàn)方式可以捕捉輸入序列中的長程依賴關(guān)系,并且不受輸入序列長度的限制,從而實現(xiàn)了特征對齊,提高了模型的表達能力。
本實驗環(huán)境為:顯卡GeForce RTX3090,顯存大小24 GB。采用隨機擦除和自動增強策略將輸入圖像的尺寸調(diào)整為256×128。模型訓(xùn)練epoch為60,batchsize為64,隨機選擇4個行人進行采樣,每個行人取16張圖片作為訓(xùn)練數(shù)據(jù)。使用Adam優(yōu)化器,將初始學(xué)習(xí)率設(shè)置為3.5×10-4。
實驗與文獻[26]的研究相同,采用ResNet50[15]作為骨干網(wǎng)絡(luò)。在ResNet50中,丟掉全局平均池化GAP(global average pooling)層和全連接層,并將最后一次殘差模塊卷積運算的步幅設(shè)為1,得到16次下采樣的特征圖。對于分類器,按照文獻[23]的方法使用了一個批量歸一化層[27]和一個全連接層[28],接著是一個softmax函數(shù)。對于人體關(guān)鍵點模型,使用在COCO數(shù)據(jù)集上預(yù)訓(xùn)練的HR-Net[29]關(guān)鍵點模型。該模型預(yù)測17個關(guān)鍵點,將所有頭部區(qū)域的關(guān)鍵點融合起來,最終得到K=14個關(guān)鍵點,包括頭部、肩部、肘部、腕部、臀部、膝蓋和腳踝。
采用均值平均精度(mean average precision, mAP)和首位準確率(Rank-1)來評價算法的性能。mAP為平均精度(average precision, AP)的平均值,即各類別AP的平均值。mAP的計算步驟如下。
步驟1假設(shè)待檢索圖片為qj,前n個檢索結(jié)果中正確的正樣本個數(shù)為c′(n,qj),則精度的表達式為
(8)
步驟2假設(shè)檢索結(jié)果中共有M個正樣本,正樣本的集合為{i1,i2,…,iM},平均精度公式為
(9)
步驟3假設(shè)共有Nq張待檢索圖片,則均值平均精度的表達式為
(10)
圖6展示了mAP指標計算示例,假設(shè)共有2個待檢索的Probe圖片。
圖6 行人重識別mAP指標計算示例Fig.6 Example of mAP metric calculation for ReID
另一個評價指標Rank-n表示按照相似度排序后的前n個查詢結(jié)果中,存在與查詢目標屬于同一類別的概率。實驗選取Rank-1作為評價指標,即第一個查詢結(jié)果與查詢目標屬于同一個類別的概率。在圖7中,展示了Rank-n指標的計算示例,假設(shè)共有5個待檢索的Probe圖片。
圖7 行人重識別Rank-n指標計算示例Fig.7 Example of Rank-n metric calculation for ReID
Occluded-Duke數(shù)據(jù)集是從DukeMTMC-reID中選擇的,包含較多的遮擋行人圖像,訓(xùn)練集中有702個行人的15 618張圖像,測試集種有1 110個行人的17 661張和519個行人的22 10張圖像用于圖庫和查詢。
選擇添加Circle Loss的BOT算法為基線模型,PT-Net算法在基線模型的基礎(chǔ)上添加了姿態(tài)估計模塊和Transformer模塊。在Occluded-Duke數(shù)據(jù)集上的實驗結(jié)果如表1所示,與基線模型相比,PT-Net算法在mAP Rank-1指標上分別提高了1.3、1.5個百分點。該結(jié)果表明,增加姿態(tài)估計和Transformer模塊可以顯著提高模型的性能。其中,姿態(tài)估計模塊有助于更好地利用關(guān)鍵點信息進行特征對齊,而Transformer模塊則能更好地捕捉輸入序列中的長程依賴關(guān)系,從而提升模型的表達能力。
表1 Occluded-Duke數(shù)據(jù)集上的實驗結(jié)果Table 1 Experimental results on Occluded-Dukedataset
將PT-Net與3種不同的方法進行了比較,分別是傳統(tǒng)的整體行人重識別方法[3]、帶有關(guān)鍵點信息的整體行人重識別方法[29-30]以及被遮擋的行人重識別方法[10]。實驗結(jié)果如表2所示??梢钥闯?普通的整體行人重識別方法和帶有關(guān)鍵點信息的整體方法之間表現(xiàn)沒有明顯的差異。如基于部分的卷積網(wǎng)絡(luò)(part-based convonlutional baseline,PCB)[3]和特征蒸餾生成對抗網(wǎng)絡(luò)(feature distilling generative adversarial network,FD-GAN)[30]在Occluded-Duke數(shù)據(jù)集上的Rank-1分數(shù)均為40%,表明僅使用關(guān)鍵點信息并不能明顯提高遮擋的行人重識別任務(wù)的效果。相比之下,針對被遮擋的行人重識別方法,在遮擋數(shù)據(jù)集上都取得了明顯的改進。如姿態(tài)引導(dǎo)特征對齊(pose-guided feature alignment,PGFA)[10]在Occluded-Duke數(shù)據(jù)集上獲得51.4%的Rank-1分數(shù),HOReID[12]在該數(shù)據(jù)集上獲得55.1%的Rank-1分數(shù),這表明被遮擋行人重識別任務(wù)具有一定的難度,需要學(xué)習(xí)具有辨別性的特征和實現(xiàn)特征對齊。最后,提出的框架PT-Net在Occluded-Duke數(shù)據(jù)集上獲得了最佳性能,其Rank-1分數(shù)和mAP分數(shù)分別為58.9%和49.5%,證明了其有效性。
表2 對比試驗結(jié)果Table 2 Results of the comparative experiment
針對行人重識別遮擋問題,基于姿態(tài)估計和Transformer技術(shù),提出一種新的行人重識別方法PT-Net。本文方法對輸入圖像進行關(guān)鍵點檢測,并將關(guān)鍵點信息與行人特征圖像結(jié)合,產(chǎn)生基于姿態(tài)的行人特征表示,能夠更好地解決行人遮擋問題。在Occluded-Duke數(shù)據(jù)集上的實驗結(jié)果表明,與其他基于深度學(xué)習(xí)的行人重識別方法相比,該算法在mAP和Rank-1上分別提高了1.3、1.5個百分點,對于解決行人重識別中的遮擋問題具有一定的實際應(yīng)用價值。