周瀟涵,王修暉
中國計量大學(xué) 信息工程學(xué)院,浙江省電磁波信息技術(shù)與計量檢測重點實驗室,杭州310018
步態(tài)是指人在行走過程中有規(guī)律的姿態(tài)變化,是一種行為生物特征。已有大量的醫(yī)學(xué)和物理證據(jù)表明每個人的步態(tài)都具有差異性。相較于其他生物特征,如面部和虹膜,步態(tài)更適合長距離和非合作的情形。但是步態(tài)也由于自身的局限性,對多種因素敏感,包括視角、衣服和攜帶物等。由于不同視角而引入外觀差異,其被稱為跨視角問題,是步態(tài)識別中的難點之一。
為了解決跨視角問題,研究者們嘗試過不同的步態(tài)模板。步態(tài)能量圖(gait engery image,GEI)[1]是沿時間維度的輪廓圖加和求平均的時空步態(tài)特征,可以減少輪廓噪聲,但會相應(yīng)減少動態(tài)信息。與此相反,步態(tài)輪廓圖是許多幀人在行走時輪廓隨時間變化的圖片,輪廓圖很好地保存了步態(tài)的動態(tài)信息,但是受硬件條件限制,會受到采樣時的噪聲影響。在單一視角問題上,計算基于GEI 圖片的L2 距離經(jīng)常能得到較優(yōu)結(jié)果,然而在跨視角或多視角問題上,序列輪廓圖更有助于防止類內(nèi)差距大于類間差距。
目前,步態(tài)識別領(lǐng)域的方法可分為基于模型和外觀兩個類別?;谀P偷姆椒ㄓ校涸噲D重建人體的3D 模型[2],這通常依賴于多個高分辨率相機,成像距離也受約束,大大限制其潛在用途;其次是傳統(tǒng)的視角轉(zhuǎn)換模型,將步態(tài)模板從一個視角轉(zhuǎn)換至另一視角,如利用轉(zhuǎn)換一致性度量[3]和基于質(zhì)量度量[4]的視角轉(zhuǎn)換模型,然而計算量大,轉(zhuǎn)化過程中無法避免噪聲的傳播,因此很難達到極好的識別效果?;谕庥^的方法可以進一步區(qū)分成兩類:判別法和生成法。屬于判別法的模型有:Shiraga等[5]提出GEINet,使用GEI作為輸入,Softmax用于分類;Wu等[6]提出DeepCNN,直接學(xué)習(xí)一對GEI 或者輪廓序列之間的相似度;Feng等[7]提出一個結(jié)合非局部分塊特征的跨視角網(wǎng)絡(luò),基于GEI圖片使用非局部注意力模塊增強局部信息;Wolf等[8]提出利用3D卷積捕捉步態(tài)序列中的時空信息,將步態(tài)輪廓序列作為網(wǎng)絡(luò)輸入;Tong 等[9]提出一個新型用于提取步態(tài)時空特征的深度學(xué)習(xí)網(wǎng)絡(luò)STDNN(spatial-temporal deep neural network);Chao 等[10]提出GaitSet,將輪廓序列看成一個集合,并增加多層全球通路(multilayer global pipeline,MGP)形成兩路網(wǎng)絡(luò),得到不同的時空特征,使用三元組損失進行分類。生成式的方法通常將步態(tài)模型從不同的場景轉(zhuǎn)換到相同的場景,包括:He等[11]提出多任務(wù)生成對抗式網(wǎng)絡(luò)來學(xué)習(xí)具體角度下的特征表示;Yu等[12]提出步態(tài)生成對抗式網(wǎng)絡(luò)GaitGAN來模擬不同角度對步態(tài)特征的影響;Zhang等[13]提出GaitNet,基于自編碼-解碼器網(wǎng)絡(luò)分離出姿態(tài)和外形的特征,并用LSTM(long short-term memory)網(wǎng)絡(luò)產(chǎn)生姿態(tài)特征的時序動態(tài)信息。
上述方法的提出,雖然對步態(tài)識別的發(fā)展產(chǎn)生了較大的推進,但是大部分研究主要關(guān)注提取步態(tài)的全局時空特征,缺少針對步態(tài)輪廓圖中細粒度信息運用方法的研究。本文利用步態(tài)輪廓圖可以更好地保存人體步態(tài)的時空特征信息的優(yōu)勢,使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)進行步態(tài)特征建模,并針對步態(tài)全局特征和局部特征表現(xiàn)的不同,提出非對稱的雙路網(wǎng)絡(luò)結(jié)構(gòu)。其中用于提取步態(tài)全局時空特征的網(wǎng)絡(luò)稱為全局通路,而用于檢測識別顯著性局部特征的網(wǎng)絡(luò)稱為局部通路。此外,在局部通路中插入顯著性特征檢測器模塊,以保證對步態(tài)中細粒度信息的有效提取和識別。最后,本文方法在CASIA-B 和OU-ISIR-LP 兩個公開步態(tài)數(shù)據(jù)集上進行了對比實驗。
本文提出的非對稱雙路網(wǎng)絡(luò)的整體架構(gòu)如圖1 所示,采用隨機抽樣的方式輸入幀數(shù)固定的步態(tài)輪廓圖,網(wǎng)絡(luò)整體框架總體上分為共享網(wǎng)絡(luò)和非對稱雙路網(wǎng)絡(luò)兩大部分。其中,共享網(wǎng)絡(luò)設(shè)置為7層,參數(shù)共享,具體參數(shù)如表1所列,用于提取一般步態(tài)特征。最后一層卷積層的通道數(shù)設(shè)置為k×classes,k為超參數(shù),表示有效局部信息的個數(shù),classes 為行人類別,從而使得提取的局部特征更具有邏輯上的針對性。卷積層后增加了歸一化操作,使得步態(tài)特征更穩(wěn)定。
圖1 雙路網(wǎng)絡(luò)的整體框架Fig.1 Whole framework of two-path network
表1 共享CNN網(wǎng)絡(luò)Table 1 Shared CNN
經(jīng)共享網(wǎng)絡(luò)提取出含有語義的步態(tài)特征,接著特征將進入非對稱雙路網(wǎng)絡(luò)。非對稱雙路網(wǎng)絡(luò)由全局通路(global path)和局部通路(local path)兩部分組成,網(wǎng)絡(luò)之間不共享參數(shù)。全局通路中使用了金字塔水平池化(horizontal pyramid pooling,HPP)[14],生成步態(tài)全局特征,配合三元組損失函數(shù)計算不同類別間特征的距離,確保類間差距更大;局部通路中設(shè)計顯著性特征檢測器,關(guān)注步態(tài)特征中的細粒度信息,生成步態(tài)局部特征,并結(jié)合交叉熵損失函數(shù)基于局部特征直接做分類,交叉熵損失會使得類內(nèi)差距更小。最后,局部通路將輔助全局通路產(chǎn)生更具有判別力的全局特征。訓(xùn)練階段將兩支網(wǎng)絡(luò)計算的損失值融合在一起,測試時僅使用全局通路輸出的全局特征。
步態(tài)特征識別與一般分類識別不同點在于,步態(tài)特征既包含人物行走時的姿態(tài)變換特征,稱為全局時空特征(以下簡稱全局特征),又包含不同人體某些部位的特定形狀,稱為顯著性局部特征(以下簡稱局部特征)。一般地,基于輪廓圖的步態(tài)識別往往僅專注于全局特征的提取方法,僅有少數(shù)研究者開始重視步態(tài)的細粒度信息。因此,在局部特征的提取上受細粒度識別的啟發(fā),可以通過設(shè)計模塊專注于一類物體的具有較大差別的細粒度信息,獲得具有判別力的特征。依據(jù)這一思路,本文設(shè)計出含有全局通路和局部通路的兩路網(wǎng)絡(luò),具體結(jié)構(gòu)如圖2。
圖2 雙路網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Two-path network structure
全局通路中,HPP廣泛應(yīng)用于步態(tài)行人重識別(ReID),原理如圖3,可以有效獲得多尺度下的全局信息;局部通路網(wǎng)絡(luò)用于檢測出步態(tài)特征中關(guān)鍵部位。步態(tài)細節(jié)識別與細粒度識別一大明顯區(qū)別在于,細粒度識別中顯著性區(qū)域建模的方法,大多要增加額外的標注,此種方式被稱為強監(jiān)督學(xué)習(xí)方式[15],而步態(tài)識別僅有標簽,故屬于弱監(jiān)督學(xué)習(xí),此時顯著性區(qū)域檢測器的構(gòu)造更重要。已有研究[16]在細粒度識別領(lǐng)域提出用于建模局部顯著特征的方法。本文在其基礎(chǔ)上,針對步態(tài)輪廓的特點構(gòu)造了適用于步態(tài)圖片的顯著性區(qū)域檢測器,局部通路最后使用全連接層作為分類器,并增加BN層以減小過擬合,最終的分類將完全基于檢測器識別出的局部顯著性特征。在反向傳播時,由損失傳回的梯度繼而改變共享網(wǎng)絡(luò)的參數(shù),會提高整個網(wǎng)絡(luò)提取特征的能力,使得全局特征更具有判別力。訓(xùn)練時,網(wǎng)絡(luò)的損失為兩類損失的加權(quán)平均值。
圖3 水平金字塔池化Fig.3 Horizontal pyramid pooling
顯著性特征檢測器的內(nèi)部,由兩個并行的獨立結(jié)構(gòu)組成,第一層為一個3×3 卷積層,第二層為Mlpconv[17]層,最后一層分別設(shè)置全球平均池化和全球最大池化,輸入特征即可產(chǎn)生像素為1 的局部顯著信息。傳統(tǒng)意義上的卷積層結(jié)構(gòu)為卷積加池化,即可使用具有局部感受野的神經(jīng)元(如3×3卷積核)提取特征并由池化降維,同時獲得各通道上的顯著信息。但這種方法感受野大,提取的圖案模式粗糙,容易忽略掉步態(tài)特征圖中具有分辨力的細節(jié)。Mlpconv在傳統(tǒng)卷積后增加1×1卷積核和ReLU激活函數(shù),從跨通道池化的角度來看,這樣等效于在一個正常的卷積層上實施級聯(lián)跨通道加權(quán)池化,使得模型能夠?qū)W習(xí)到通道之間的關(guān)系,對局部信息進行更好的建模,Mlpconv層公式如下:
其中,(i,j)表示特征圖像素的索引,xi,j代表以位置(i,j)為中心的輸入塊,k用來索引特征圖的顏色通道,n表示多層感知器中的層數(shù)。由于本文步態(tài)識別使用的是連續(xù)的多幀圖片,步態(tài)的局部顯著性信息理應(yīng)也處在連續(xù)多幀的動態(tài)變化中,跨通道學(xué)習(xí)因此理論上更適用于步態(tài)場景,1×1 卷積核感受野更小,也更易于捕捉步態(tài)中動態(tài)變化的細節(jié)信息?;诓綉B(tài)輪廓圖是灰度圖,具有樣式簡單等特點,本文建構(gòu)的Mlpconv與原始結(jié)構(gòu)不完全相同,如圖4所示,由Mlpconv提取的局部特征經(jīng)過不同的池化,相疊加后送入分類器分類,這樣的好處一是減少了網(wǎng)絡(luò)參數(shù),二是有效強化了局部特征。
圖4 顯著性特征檢測器Fig.4 Salient local feature detector
本文采用兩種損失函數(shù),一個是三元組損失函數(shù),另一個是交叉熵損失函數(shù)。三元組損失函數(shù)使用Hermans等[18]提出的公式。隨機抽取P個人,K個不同場景下的樣本組成一個batch的內(nèi)容,每個樣本取固定幀數(shù)f幀。對于batch內(nèi)的每個樣本a,選擇關(guān)于它的所有正樣本和負樣本組成三元組,共有PK(PK-K)(K-1)個組合,具體公式為:
使用三元組損失函數(shù)用于保證類間差異大于類內(nèi)差異。
交叉熵損失函數(shù)基于Softmax 函數(shù)和對數(shù)函數(shù),Softmax 可將卷積網(wǎng)絡(luò)輸出的向量特征映射成取值在(0,1)之內(nèi)的概率分布,會約束PK個樣本的局部顯著性特征對應(yīng)到正確的類別,有助于減小類內(nèi)差距,具體公式為:
使用不同的損失函數(shù),用于針對不同的任務(wù):三元組損失可以將屬于不同類別的相似樣本的距離拉大,更適合全局特征的形成;交叉熵會將特征向量直接映射成類別的概率值,理論上對特征向量的大小有限制,故更適合約束局部特征的形成。最終,訓(xùn)練時網(wǎng)絡(luò)使用兩類損失的權(quán)重疊加,總損失的計算如下式所示:
其中,λ1和λ2為超參數(shù)。
為了驗證本文方法的有效性,在CASIA-B[19]和OU-ISIR-LP[20]兩個數(shù)據(jù)集上進行了測試。
CASIA-B是目前步態(tài)識別最常用的數(shù)據(jù)集之一,共有124位行人的步態(tài)影像,分成3個場景,每個場景下的行人有11 個視角,視角為(0°,18°,36°,…,180°),在每個視角下,為每人拍攝10個步態(tài)序列,其中包括正常步行(NM)6個,攜帶背包(BG)2個,身穿外套(CL)2個,即每位行人含有11×(6+2+2)=110個序列。
OU-ISIR-LP 是目前人數(shù)最多的數(shù)據(jù)集之一,該數(shù)據(jù)集拍攝的對象年齡跨度廣泛,性別比例均衡。數(shù)據(jù)集提供同一場景下跨視角的人物行走序列,共設(shè)立4個觀測角度(55°,65°,75°,85°),每個對象的行走序列劃分為Gallery 和Probe。所有圖片均為輪廓圖,且統(tǒng)一歸一化處理成128×88大小。
實驗時,兩個數(shù)據(jù)集的序列輪廓圖在輸入網(wǎng)絡(luò)前經(jīng)過對齊,并歸一化成尺寸為64×44大小的圖片,批量尺寸設(shè)置為128,訓(xùn)練環(huán)節(jié)輸入幀數(shù)預(yù)置為30 幀,測試環(huán)節(jié)使用所有幀進行測試。優(yōu)化器選擇Adam[21],兩損失所占比重設(shè)置為λ1=0.85,λ2=0.15,學(xué)習(xí)率設(shè)置為0.001,初始化權(quán)重采用Xavier 初始化方式,偏置初始化為0。在CASIA-B 數(shù)據(jù)集上,共享網(wǎng)絡(luò)最后一個卷積層的k設(shè)置為4,HPP的切塊數(shù)設(shè)置為3,三元組損失函數(shù)的邊距大小設(shè)置為0.2,訓(xùn)練迭代100 000次左右;OU-ISIR-LP數(shù)據(jù)集的訓(xùn)練迭代次數(shù)為80 000 次,其他參數(shù)設(shè)置類似。計算第一次命中率(Rank1)評判模型效果,實驗環(huán)境為一塊NVIDIA GeForce GTX TITAN X顯卡,代碼基于Pytorch深度學(xué)習(xí)框架編寫。
沿用Wu 等[6]提出的實驗設(shè)置,CASIA-B 數(shù)據(jù)將前74人設(shè)置為訓(xùn)練集,剩余50人設(shè)置為測試集,在測試時NM#1-4用作Gallery集,后兩個序列用作Probe集;而針對跨場景下的模型測試,BG#1-2和CL#1-2皆用作Probe集。
表2 為各方法在CASIA-B 所有視角下的Rank1 識別率對比,對比方法有ViDP[22]、VTM-SVR[23]、C3A[24]、3DCNN[6]、CNN-集成[6]和GaitNet[13],其中前3 項為步態(tài)識別經(jīng)典方法。經(jīng)過實驗對比可以看出,深度學(xué)習(xí)方法在識別領(lǐng)域的明顯優(yōu)勢。本文方法隸屬于深度學(xué)習(xí),由數(shù)據(jù)反映其在0°~36°和144°~180°范圍內(nèi)的識別效果顯著高于其他深度模型。表3、表4 為BG 和CL 場景下Rank1識別率對比,發(fā)現(xiàn)上述數(shù)據(jù)規(guī)律在不同場景下仍然適用。這說明本文網(wǎng)絡(luò)提取出的步態(tài)全局特征更具有判別性,可反映出不同場景下步態(tài)的關(guān)鍵要素,即針對不同環(huán)境更具魯棒性。對比僅含Global Path與完整Two-Path 的實驗數(shù)據(jù),可以初步得出結(jié)論:局部通路網(wǎng)絡(luò)確實有助于整個模型生成更有判別力的步態(tài)全局特征。
表2 若干方法在CASIA-B數(shù)據(jù)集NM上全視角的Rank1識別率Table 2 Rank1 full-view accuracies of different methods under NM on CASIA-B dataset %
表3 若干方法在CASIA-B數(shù)據(jù)集BG上全視角的Rank1識別率Table 3 Rank1 full-view accuracies of different methods under BG on CASIA-B dataset %
表4 若干方法在CASIA-B數(shù)據(jù)集CL上全視角的Rank1識別率Table 4 Rank1 full-view accuracies of different methods under CL on CASIA-B dataset %
為了進一步展示模型在跨視角上的突出性能,繼續(xù)進行了不同視角差下的對比實驗。在OU-ISIR-LP 上,實驗將數(shù)據(jù)集中1 912 個角度齊全的子集分為2 份,其中956個ID用于訓(xùn)練,另外956個ID用作測試。表5為不同方法在OU-ISIR-LP 數(shù)據(jù)集上的Rank1 識別率對比,對比實驗中傳統(tǒng)方法有WQVTM[4],深度學(xué)習(xí)方法有GEINet[5]、CNN-CGI[6]以及Non-Local[7],數(shù)據(jù)引自文獻[7]。和上述方法對比,Two-Path 的識別效果更優(yōu),且隨著視角變化識別率變化小。原因可能有二:一是輸入數(shù)據(jù)的形式不同,對比方法多以GEI 作為數(shù)據(jù)輸入,本文方法使用的輪廓圖數(shù)據(jù)量更大,可能帶來識別率提升;二是模型結(jié)構(gòu)較上述方法更優(yōu)。因此,為了消除第一個原因可能造成的影響,驗證模型的有效性仍然需要其他實驗。
表5 不同方法在OU-ISIR-LP上跨視角的Rank1識別率Table 5 Rank1 cross-view accuracies of different methods based on OU-ISIR-LP %
在CASIA-B上進行跨角度實驗,實驗設(shè)置為100人訓(xùn)練,余下24 人測試,場景固定為NM。表6、表7、表8分別展示了NM 場景下,視角差為18°、36°、54°時跨視角的Rank1 識別率結(jié)果對比。對比方法有3DCNN[6]、STDNN[9],數(shù)據(jù)輸入皆為輪廓圖,實驗數(shù)據(jù)引自文獻[9]。通過實驗數(shù)據(jù)可得,Rank1識別率不隨視角差的顯著增加而降低,變化穩(wěn)定。這說明本文方法使用全局和局部兩條通路可以提取出更有效的步態(tài)特征,并且模型具有泛化性,對跨視角的魯棒性更好。
表6 基于CASIA-B不同方法在視角差18°時的Rank1識別率Table 6 Rank1 accuracies of different methods at angular difference of 18° based on CASIA-B %
表7 基于CASIA-B不同方法在視角差36°時的Rank1識別率Table 7 Rank1 accuracies of different methods at angular difference of 36° based on CASIA-B %
表8 基于CASIA-B不同方法在視角差54°時的Rank1識別率Table 8 Rank1 accuracies of different methods at angular difference of 54° based on CASIA-B %
本文為了更有效地提取步態(tài)特征,研究了步態(tài)中細粒度信息的有效利用方式,提出了非對稱的雙路結(jié)構(gòu),并設(shè)計了一個新型模塊顯著性檢測器用于局部顯著性特征的提取與識別。經(jīng)過實驗得到驗證:通過設(shè)置合適的損失函數(shù),增加神經(jīng)網(wǎng)絡(luò)對步態(tài)輪廓圖細粒度信息的識別,有利于整個網(wǎng)絡(luò)提取出更具有判別力的全局特征。這在一定程度上探索了步態(tài)識別目前在深度學(xué)習(xí)領(lǐng)域,除設(shè)計直接提取全局特征的模塊外其他思路的可能性。另一方面,本文方法也是一次細粒度識別領(lǐng)域的研究思路向步態(tài)識別遷移的實驗,通過實驗數(shù)據(jù)可以得到較為客觀的結(jié)論:步態(tài)識別可以與細粒度識別方法相結(jié)合。但文中只做了初步的嘗試,今后還需后續(xù)更多深入的研究,以期未來將細粒度識別技術(shù)與步態(tài)識別深度結(jié)合。
本文使用多張輪廓圖作為步態(tài)識別網(wǎng)絡(luò)的輸入,模型參數(shù)的體量和訓(xùn)練耗時仍需要進一步優(yōu)化。此外,在不同場景下,模型在NM、BG、CL 上的識別率差別依然較大,說明模型的魯棒性仍然未達到理想狀態(tài),模型精度仍有待提升,今后要繼續(xù)致力于步態(tài)識別模型在復(fù)雜場景下的應(yīng)用研究。