許緩緩,李洪梅,李富余,孫學(xué)梅
(1.天津市自主智能技術(shù)與系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,天津 300387;2.天津工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300387;3.花旗金融信息服務(wù)(中國(guó))有限公司,上海 201203)
在生物特征識(shí)別領(lǐng)域,人的各種外在和內(nèi)在特征如人臉、虹膜、指紋、掌紋、靜脈、聲紋、步態(tài)等可用來(lái)識(shí)別人的身份。其中,步態(tài)是一種獨(dú)特的生物特征,可以遠(yuǎn)距離識(shí)別,非侵入且無(wú)需受試者的合作。因此,在身份鑒別、公共安全和醫(yī)療診斷等方面具有廣泛的應(yīng)用前景。但是,在現(xiàn)實(shí)場(chǎng)景下,步態(tài)識(shí)別的準(zhǔn)確率會(huì)受到外部因素的影響,例如拍攝角度、行人穿著以及攜帶包等因素。
為了解決這些問(wèn)題,當(dāng)前主流步態(tài)識(shí)別方法對(duì)輸入步態(tài)序列數(shù)據(jù)的處理主要有兩種方式:第1種方式是把步態(tài)序列數(shù)據(jù)按照靜態(tài)圖像幀方式的處理,通常將所有步態(tài)輪廓壓縮成一張圖像或用步態(tài)模板進(jìn)行預(yù)處理[1],然后進(jìn)行步態(tài)識(shí)別。這類方法雖然簡(jiǎn)單易行,但很容易丟失時(shí)間和細(xì)粒度的空間信息。第2種方式是按照連續(xù)視頻序列處理,即直接從原始步態(tài)輪廓序列數(shù)據(jù)中提取步態(tài)特征[2],如使用3D-CNN[5]。該方法可以較好學(xué)習(xí)特征,但是,比使用單個(gè)模板的深度神經(jīng)網(wǎng)絡(luò)更難訓(xùn)練。
文中將步態(tài)輪廓視為一組步態(tài)序列輪廓圖。作為周期性運(yùn)動(dòng),步態(tài)可以由一個(gè)周期表示。基于此,筆者提出一種基于時(shí)空卷積的步態(tài)識(shí)別方法。該方法框架由時(shí)空特征提取和高層語(yǔ)義度量?jī)蓚€(gè)模塊組成,如圖1所示。
圖1 基于時(shí)空卷積的步態(tài)識(shí)別算法框架
時(shí)空特征提取模塊的輸入是一組步態(tài)輪廓圖像,第1級(jí)卷積神經(jīng)網(wǎng)絡(luò)塊(CNN)用于獨(dú)立地從每個(gè)輪廓中提取幀級(jí)特征,然后送入時(shí)空特征提取模塊(Spatial-Temporal Module,STM),通過(guò)對(duì)相鄰幀進(jìn)行重復(fù)提取來(lái)彌補(bǔ)當(dāng)前幀丟失的信息,從而在步態(tài)輪廓序列圖里挖掘更豐富的時(shí)空信息,更多地關(guān)注特定條件下步態(tài)的差異性,如攜帶包和穿外套等情況。第2級(jí)和第3級(jí)卷積神經(jīng)網(wǎng)絡(luò)塊將幀級(jí)特征聚合成獨(dú)立序列級(jí)特征,從而得到視覺(jué)特征。這樣可以獲得更高級(jí)特征圖,它可以比基于步態(tài)模板更好地保留空間和時(shí)間信息。高層語(yǔ)義度量模塊用于幫助深度網(wǎng)絡(luò)同時(shí)提取局部和全局特征。對(duì)時(shí)空特征進(jìn)行全局池化后,使用全連接層完成特征嵌入空間學(xué)習(xí)。采用兩個(gè)三元組損失函數(shù)聯(lián)合訓(xùn)練,使模型最后得到的特征更有鑒別性??傊摲椒ǖ呢暙I(xiàn)如下:
(1)提出了一種基于時(shí)空卷積的步態(tài)識(shí)別方法。該方法可以實(shí)現(xiàn)細(xì)粒度信息學(xué)習(xí)與更好的保存時(shí)空信息。
(2) 在同一個(gè)步態(tài)識(shí)別框架下,將行人的步態(tài)信息和全局信息進(jìn)行融合。
(3) 在公開(kāi)數(shù)據(jù)集CASIA-B上進(jìn)行了評(píng)測(cè),在正常行走、攜帶包和穿外套的情況下,Rank-1準(zhǔn)確度都得到了提升。
步態(tài)識(shí)別最早是由文獻(xiàn)[7]提出的一種識(shí)別方式。傳統(tǒng)的步態(tài)識(shí)別方法包括早期的手工提取特征的方法[8]和構(gòu)造步態(tài)模板的方法[9],前者主要通過(guò)手工提取步態(tài)圖片中的特征進(jìn)行步態(tài)識(shí)別,因此步態(tài)識(shí)別率很低。后者構(gòu)造的步態(tài)模板有步態(tài)能量圖和步態(tài)熵圖等。這種構(gòu)造步態(tài)模板的方法很好地保留了步態(tài)輪廓圖中的空間信息,但卻丟失了時(shí)間信息,導(dǎo)致步態(tài)識(shí)別率降低。
由于傳統(tǒng)的步態(tài)識(shí)別方法不能很好地保留步態(tài)中的時(shí)空信息,所以很多研究者提出了新的步態(tài)識(shí)別方法,這些識(shí)別方法注重保留步態(tài)中的時(shí)空信息,很好地提高了步態(tài)識(shí)別率。文獻(xiàn)[10]提出一個(gè)多任務(wù)的生成對(duì)抗式網(wǎng)絡(luò),用于學(xué)習(xí)視角特征表示。為了能保留更多的時(shí)間信息,他們還提出了一種新的模板——多通道步態(tài)模板。文獻(xiàn)[3]提出了一個(gè)以自動(dòng)編碼為基礎(chǔ)的方法——GaitNet,該方法可以從RGB幀中分離出外觀特征和姿勢(shì)特征,然后利用長(zhǎng)短期記憶網(wǎng)絡(luò)將姿勢(shì)特征結(jié)合在一起形成一個(gè)視頻段的步態(tài)特征。文獻(xiàn)[4]提出了一種新的損失函數(shù),通過(guò)該損失可以同時(shí)最小化類內(nèi)差和最大化類間差。文獻(xiàn)[12]提出了一種基于深度學(xué)習(xí)的算法來(lái)精確識(shí)別受影響的幀,并預(yù)測(cè)缺失的幀來(lái)重建完整的步態(tài)循環(huán)?;谔崛r(shí)間信息的方式,可以將它們分類為基于長(zhǎng)短期記憶網(wǎng)絡(luò)的方法和基于3D CNN的方法。這些方法雖然可以獲得更全面的空間信息和收集更多的時(shí)間信息,但是忽略了特定條件下步態(tài)的差異性,如攜帶包和穿外套等情況。
時(shí)空特征提取模塊可獲取步態(tài)序列的時(shí)空特征表征。該模型的輸入是一組步態(tài)輪廓圖,經(jīng)過(guò)第一級(jí)CNN之后得到幀級(jí)特征圖,然后將幀級(jí)特征圖分別輸入時(shí)空特征提取模塊中進(jìn)行重提取,STM的輸入是當(dāng)前幀的特征圖和下一幀的特征圖。如果當(dāng)前幀的步態(tài)信息被攜帶物所遮擋,通過(guò)對(duì)下一幀的相同部位進(jìn)行提取來(lái)彌補(bǔ)當(dāng)前幀因遮擋丟失的信息,可以很好地解決攜帶包和穿外套問(wèn)題。然后將提取的幀級(jí)特征映射到序列級(jí)特征。整個(gè)過(guò)程提取每一幀圖像的空間特征的同時(shí)還提取整個(gè)序列的時(shí)間特征,很好地保留了步態(tài)的時(shí)空信息,比步態(tài)模板的方式提取的特征更全面。
具體地,STM的具體結(jié)構(gòu)如圖2所示。
圖2 時(shí)空特征提取模塊的內(nèi)部結(jié)構(gòu)
(1)
(2)
高層語(yǔ)義度量模塊是對(duì)提取的時(shí)空特征進(jìn)行度量學(xué)習(xí),獲得更具鑒別力的步態(tài)特征。為了使深度網(wǎng)絡(luò)同時(shí)提取局部和全局特征,將時(shí)空特征圖水平劃分,然后對(duì)每部分分別進(jìn)行最大池化和平均池化,兩者結(jié)果對(duì)應(yīng)相加。這是因?yàn)椴煌姆指顥l在不同的尺度中描述不同的感受野,并且不同的分割條在每個(gè)尺度中描述不同空間位置,所以將視覺(jué)特征進(jìn)行水平劃分。同時(shí),為了提高表觀特征的鑒別力,將使用兩個(gè)三元組損失融合的度量學(xué)習(xí)策略。接下來(lái)使用全連接層將特征映射到鑒別子空間,進(jìn)而可以提高鑒別子空間的表達(dá)能力。
圖3 視覺(jué)特征水平劃分結(jié)構(gòu)
其次,為了增強(qiáng)STM模塊在局部的細(xì)化能力,這里使用基于三元組損失函數(shù)的局部約束形成公式為
(3)
其中,N是批處理中的行人數(shù)量,K是步態(tài)輪廓序列,m是三元組函數(shù)正負(fù)樣本對(duì)距離的邊緣幅值。
最后,三元組損失進(jìn)行端到端深度度量學(xué)習(xí),作用是將同一個(gè)ID的樣本在特征空間中拉近,同時(shí)將不同ID的樣本在特征空間中推遠(yuǎn)。三元組損失優(yōu)化了嵌入空間,使得具有相同特征的數(shù)據(jù)點(diǎn)比具有不同特征的數(shù)據(jù)點(diǎn)更接近。
給定一個(gè)圖像三元組,即錨樣本a、正樣本p和負(fù)樣本n,三元組損失函數(shù)形成公式為
(4)
(5)
該部分的實(shí)驗(yàn)包含兩個(gè)部分。第1部分是該方法的相關(guān)實(shí)驗(yàn)設(shè)置。第2部分是比較該方法和其他先進(jìn)算法在公開(kāi)數(shù)據(jù)集CASIA-B[19]上的效果。
CASIA-B是一個(gè)大規(guī)模的,多視角的步態(tài)庫(kù),如圖4所示。共有124個(gè)人,每個(gè)人有11個(gè)視角(0°,18°,36°,…,180°),在3種行走條件下(普通條件,穿大衣,攜帶包裹條件)采集。即,每個(gè)人有3種行走條件,其中,普通條件下每人6段視頻序列,穿大衣條件下每人2段視頻序列,攜帶包裹條件下每人2段視頻序列。每個(gè)行走條件下有11個(gè)視角,所以,每個(gè)人有110段視頻序列。
按照相關(guān)文獻(xiàn),該數(shù)據(jù)集按訓(xùn)練集的數(shù)據(jù)規(guī)模來(lái)劃分為3種設(shè)置。第1種設(shè)置為前24個(gè)人作為訓(xùn)練集,后100人作為測(cè)試集的稱為小樣本訓(xùn)練(ST)。第2種設(shè)置為前62人作為訓(xùn)練集,后62人作為測(cè)試集的稱為中樣本訓(xùn)練(MT)。第3種設(shè)置為前74人作為訓(xùn)練集,后50人作為測(cè)試集的稱為大樣本訓(xùn)練(LT)。在3種設(shè)置下的測(cè)試集中,普通條件下的前4段視頻序列在訓(xùn)練集里,剩下的兩個(gè)序列和穿外套條件下的兩個(gè)序列及攜帶包裹條件下的兩個(gè)序列留在測(cè)試集里。
在所有的實(shí)驗(yàn)中,輸入的是一組大小為44ⅹ64的對(duì)齊輪廓圖。輪廓圖直接由數(shù)據(jù)集提供,并基于文獻(xiàn)[15]中的方法進(jìn)行對(duì)齊。選擇Adam作為優(yōu)化器[15]。HPP中尺度S的數(shù)量設(shè)置為5。三元組損失的邊緣幅值設(shè)定為0.2[2]。文中實(shí)驗(yàn)使用PyTorch框架實(shí)現(xiàn),并在一個(gè)TITAN XP GPU上進(jìn)行了訓(xùn)練。學(xué)習(xí)率設(shè)置為1e-4。批處理設(shè)置為128。在CASIA-B中,由于訓(xùn)練集數(shù)據(jù)規(guī)模不同,對(duì)于ST、MT和LT,分別進(jìn)行50 000次、60 000次和80 000次的迭代訓(xùn)練。
圖4 CASIA-B數(shù)據(jù)集中的部分輪廓圖樣例
在CASIA-B數(shù)據(jù)集上做了實(shí)驗(yàn),結(jié)果如表1,顯示了該方法的算法與當(dāng)前先進(jìn)算法之間的比較。除了文中使用的算法,其他結(jié)果數(shù)據(jù)是直接從相應(yīng)文章中引用的。所有結(jié)果均在11個(gè)視角中取平均值,并且不包括相同的視角。例如,視角18°探針的正確率是除18°以外的10個(gè)視角平均值。
表1 在CASIA-B數(shù)據(jù)集的ST設(shè)置下,平均Rank-1準(zhǔn)確度,不包括同視角情況
步態(tài)信息不僅包含與步行方向平行的步幅信息,還包括與行走方向垂直的步態(tài)信息。雖然在平行視角(90°)和垂直視角(0°&180°)容易丟失部分步態(tài)信息,但是,從表1中可以看出,文中方法仍然得到了很好的性能;與當(dāng)前最優(yōu)的GaitSet算法相比,準(zhǔn)確度在視角90°、0°和180°處分別平均提高了0.4%、3.8%和3.8%。
文中的方法在僅有24個(gè)目標(biāo)的訓(xùn)練集(ST)上,分別在3種行走條件下都有所提高,如表1所示。在正常,攜帶包和穿外套上,相比于當(dāng)前最優(yōu)值分別提高了0.5%、1.3%和0.5%。原因是由于文中的模型通過(guò)STM模塊可直接從輪廓圖中提取時(shí)間和空間信息,然后,通過(guò)度量學(xué)習(xí)獲得更有鑒別力的步態(tài)特征,從而得到很好的訓(xùn)練模型。另外,在3種行走條件下,11個(gè)視角整體平均Rank-1準(zhǔn)確度提高了0.8%。表觀變化在步態(tài)識(shí)別中是一個(gè)大的挑戰(zhàn),文中的方法在CASIA-B數(shù)據(jù)集中的攜帶包和穿外套序列下都得到了很好的性能。
表2 CASIA-B數(shù)據(jù)集在正常行走情況下的不同方法下的rank-1準(zhǔn)確度(ST)
同時(shí),不同規(guī)模大小的訓(xùn)練樣本,所訓(xùn)練的模型會(huì)得出不一樣的結(jié)果,文中的模型在跨視角(0°,54°,90°,126°)下性能依然比較好。表2顯示,訓(xùn)練樣本數(shù)為24人(ST),行走條件在NM下,Gallery為0°~180°時(shí),平均精確度比當(dāng)前最優(yōu)算法提高了10.7%,Gallery為36°~144°時(shí),平均精確度比當(dāng)前最優(yōu)算法提高了6.3%。
當(dāng)訓(xùn)練集規(guī)模增大,數(shù)據(jù)干擾越大的情況下,文中的模型在準(zhǔn)確度上也是最優(yōu)的。表3顯示,在訓(xùn)練樣本數(shù)為74人(LT),行走條件在NM、BG和CL以及跨視角(0°,54°,90°,126°)的情況下,優(yōu)于當(dāng)前算法的平均準(zhǔn)確率,最高達(dá)5.2%。
表3 CASIA-B數(shù)據(jù)集行走情況下的NM,BG,CL,在不同方法下的Rank-1準(zhǔn)確度(LT)
筆者提出了一種基于時(shí)空卷積的步態(tài)識(shí)別方法。該方法與將步態(tài)作為模板或序列的現(xiàn)有方法相比較能更有效地提取空間和時(shí)間信息,首先利用時(shí)空特征提取模塊對(duì)步態(tài)信息進(jìn)行重提取以彌補(bǔ)幀中因?yàn)檎趽醵鴣G失的信息;然后利用層級(jí)卷積網(wǎng)絡(luò)將幀級(jí)特征聚合為序列級(jí)特征;最后利用高層語(yǔ)義度量模塊將提取到的序列級(jí)特征進(jìn)行水平分割,使模型更多的關(guān)注局部特征,從而提取到更具辨別性的步態(tài)特征,可在特征鑒別力上有很大提升。表觀變化在步態(tài)識(shí)別中是一個(gè)大的挑戰(zhàn),并作為主要因素影響步態(tài)識(shí)別率,但在這里都得到了很好的性能提升。通過(guò)在目前流行的基準(zhǔn)步態(tài)數(shù)據(jù)集CASIA-B上的實(shí)驗(yàn)表明,與目前最先進(jìn)的算法相比,實(shí)現(xiàn)了高的識(shí)別精度,并在復(fù)雜環(huán)境中(攜帶物,穿外套)顯示出良好的靈活性。在接下來(lái)的工作中,會(huì)更加關(guān)注影響步態(tài)識(shí)別率下降的外部因素。同時(shí),把步態(tài)應(yīng)用到行人再識(shí)別和行為識(shí)別等方面,也是一個(gè)很有前景的方向。