吳冬梅,趙夢琦,宋婉瑩,王 靜
(西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安 710600)
步態(tài)是一種復(fù)雜的行為生物特征,適用于遠(yuǎn)距離的人體識別[1]。在21世紀(jì)初,就有相關(guān)研究人員根據(jù)遠(yuǎn)距離步態(tài),設(shè)計并開發(fā)了大規(guī)模的身份識別系統(tǒng),系統(tǒng)可靠性高且穩(wěn)定[2]。2017年,中國科學(xué)院自動化研究所介紹了一種新興的生物特征識別技術(shù)——步態(tài)識別,只需要觀察人的走路姿態(tài),攝像頭就可以準(zhǔn)確識別出所屬人物身份。
當(dāng)前步態(tài)識別方法分為基于外觀和基于模型兩種方法?;谕庥^的方法即以步態(tài)輪廓圖[1]或步態(tài)能量圖[3]為輸入,但二者都會受到衣著、攜帶物等因素的干擾,對最終的正確率產(chǎn)生影響。基于模型的方法分為基于人體結(jié)構(gòu)建模[4]和采用姿態(tài)估計算法提取人體骨架[5],它們對攜帶物、視角等因素有較強(qiáng)的魯棒性,但基于人體結(jié)構(gòu)建模計算復(fù)雜,建立模型的準(zhǔn)確性會有所誤差;基于姿態(tài)估計算法,雖在同一視角下增強(qiáng)了對于衣著、攜帶物等因素的魯棒性,但對于角度、衣著以及攜帶物等多重因素的影響,跨視角步態(tài)識別的準(zhǔn)確率還需進(jìn)一步提高。
綜上所述,步態(tài)輪廓圖受視角、衣著和攜帶物等因素的影響較大;步態(tài)能量圖在壓縮的過程中丟失時序信息;人體結(jié)構(gòu)建模增加了計算復(fù)雜度,檢測到的準(zhǔn)確性存在一定的偏差。因此為了解決上述問題,本文采取姿態(tài)估計算法提取人體骨架,針對當(dāng)前現(xiàn)有方法容易忽略掉骨架數(shù)據(jù)中時間與空間的聯(lián)系,且對骨架的建模受到的關(guān)注較少的問題,本文提出對圖卷積網(wǎng)絡(luò)進(jìn)行改進(jìn)——加入了殘差連接和注意力機(jī)制,通過充分挖掘骨架中的時間與空間特征,實現(xiàn)人體的步態(tài)識別。最終結(jié)果表明,該網(wǎng)絡(luò)提高了衣著、攜帶物等因素的魯棒性,并進(jìn)一步提高了步態(tài)識別率。
本文的改進(jìn)圖卷積網(wǎng)絡(luò)的步態(tài)識別算法整體框架如圖1所示,將步態(tài)數(shù)據(jù)集中的視頻經(jīng)過預(yù)處理提取視頻幀,再利用姿態(tài)估計算法獲得骨架序列,并將提取到的數(shù)據(jù)送入改進(jìn)的圖卷積網(wǎng)絡(luò)中學(xué)習(xí),最后根據(jù)所建模型對人體行走姿態(tài)進(jìn)行身份識別。
圖1 步態(tài)識別框架
其中對于姿態(tài)估計算法,本文在對比當(dāng)前流行的Alphapose[6]、Openpose[7]、HRNet[8]這3種算法的檢測精度之后,比較結(jié)果見表1。為了減小后續(xù)步態(tài)識別中特征提取的失誤,本文采用了精度較高的HRNet姿態(tài)估計算法,所獲取的各個關(guān)節(jié)點如圖2所示。
表1 姿態(tài)估計算法精度比較
圖2 HRNet算法獲取的人體關(guān)節(jié)點
每幀中所有人體關(guān)節(jié)的二維坐標(biāo)組成了步態(tài)骨架序列,由于人體骨架是一個拓?fù)浣Y(jié)構(gòu),所以骨架序列中的關(guān)節(jié)點是使用時空圖在時間和空間上建模的,圖卷積網(wǎng)絡(luò)基本單元和網(wǎng)絡(luò)模型如圖3和圖4所示,該網(wǎng)絡(luò)由3層基本單元組成,其中第一個圖卷積單元的輸出通道數(shù)為64,第二個輸出通道數(shù)為128;最后一個輸出通道數(shù)為256。最后由全連接層輸出固定大小的特征向量。
圖3 圖卷積基本單元
圖4 圖卷積網(wǎng)絡(luò)結(jié)構(gòu)
在N幀步態(tài)骨架序列上,其中對于時空圖的定義請參考文獻(xiàn)[9]。根據(jù)文獻(xiàn)[9]可得到骨架序列中每個幀的空間卷積計算公式
(1)
對于時間特征的提取,由于在相鄰兩個連續(xù)幀上的頂點對應(yīng)的關(guān)節(jié)點是固定的,所以圖卷積與經(jīng)典的二維卷積操作相同。因此,對空間特征圖進(jìn)行普通的二維卷積即可提取時間特征,如圖3所示。
但該網(wǎng)絡(luò)不足的是,在步態(tài)識別中,雖然圖卷積網(wǎng)絡(luò)可以從骨架序列中提取空間和時間特征,但時間卷積是在空間域中對聚合后的圖所執(zhí)行的,并沒有將兩種特征所融合,從而削弱了在復(fù)雜因素下步態(tài)特征的豐富性,導(dǎo)致步態(tài)識別率下降。除此之外,網(wǎng)絡(luò)結(jié)構(gòu)層數(shù)較少,在復(fù)雜因素下很難學(xué)習(xí)到表征步態(tài)的特征。通常增加網(wǎng)絡(luò)的深度可以學(xué)習(xí)到更加復(fù)雜的特征,但通過堆疊卷積層數(shù)加深網(wǎng)絡(luò)又會產(chǎn)生過度平滑以及梯度消失的問題,據(jù)此文獻(xiàn)[10]提出殘差連接可以解決加深網(wǎng)絡(luò)所帶來的退化問題,同時也可以有效解決人體步態(tài)時空融合的問題。
所以針對上節(jié)的問題,本文提出在圖卷積網(wǎng)絡(luò)中加入殘差連接。基于殘差連接的圖卷積網(wǎng)絡(luò)的輸入是圖節(jié)點的聯(lián)合坐標(biāo)向量,經(jīng)過多層有殘差連接的圖卷積生成時空特征融合的特征,然后進(jìn)行步態(tài)身份識別。同時為了使模型能夠找出在每個步態(tài)序列中特征較強(qiáng)的區(qū)域,本文還引入一個關(guān)節(jié)點注意網(wǎng)絡(luò),目的是為了在不受到其它關(guān)節(jié)信息的干擾下,加強(qiáng)關(guān)鍵的關(guān)節(jié)點信息,保證信息的豐富性以及完整性。
在傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)中,越復(fù)雜的特征越能表征數(shù)據(jù)的特征,通過加深網(wǎng)絡(luò)深度能夠提高特征的抽象化程度,使網(wǎng)絡(luò)取得更好的效果。然而網(wǎng)絡(luò)過深還引起梯度消失等問題,對此傳統(tǒng)的卷積網(wǎng)絡(luò)引入了殘差連接,既實現(xiàn)了網(wǎng)絡(luò)的加深,還有效解決了上述問題。其中,殘差連接的基本公式為
H(x)=C(x)+x
(2)
其中,x為輸入數(shù)據(jù),H(x) 為輸出,C(x) 為二者的差值。
圖卷積網(wǎng)絡(luò)由多層時間卷積層和空間卷積層構(gòu)成,每層都經(jīng)過卷積后來提取圖的高級特征,仿照傳統(tǒng)卷積網(wǎng)絡(luò)引入殘差連接的方法,本文在每層的空間卷積層和時間卷積層加入殘差連接。圖卷積網(wǎng)絡(luò)結(jié)構(gòu)的殘差模塊如圖5所示。
圖5 加入殘差連接
其中,F(xiàn)、G分別為空間卷積層和時間卷積層的殘差單元,T層中每個模塊的空間卷積層和時間卷積層進(jìn)行如下計算:
空間卷積層
(3)
時間卷積層
(4)
其中,在第T層,x1T-1表示輸入,wT表示學(xué)習(xí)參數(shù)集,σ為激活函數(shù),時間卷積層中的輸入x2T-1是空間卷積層的輸出。
在以往基于外觀的方法中,文獻(xiàn)[11]提出人體不同部位在行走過程中具有明顯不同的視覺外觀和運動模式,因而提出了一種基于部位的模型GaitPart。在基于骨骼信息的動作識別研究中,同樣也是根據(jù)身體部位的組成加入注意力機(jī)制,去發(fā)現(xiàn)不同身體部位在整個動作序列中的重要性[12],然而基于模型的步態(tài)識別,通過加入身體部位的注意力并不適合,因為該實驗中每人的動作都是行走,實驗最感興趣的部分集中于人體的下肢,即在整個實驗中,腿部的動作在整個行走過程中的重要性已一目了然,關(guān)鍵在于在腿部的動作中尋找每個人行走時腿部更細(xì)微的特征信息。如果只將注意力機(jī)制放在人體的兩條腿上,則會忽略掉部分特征信息。所以本文提出在整個骨架序列中加入關(guān)節(jié)點注意力機(jī)制,使注意力更加集中在膝關(guān)節(jié)、踝關(guān)節(jié)以及臀部上,也會得到更加豐富的特征信息。
具體計算過程如下,在t幀時,給定一組k=17個關(guān)節(jié)點,Xt=(xt,1,…,xt,k)T, 其中xt,k∈i2, 則輸出特征
Mj=α{gj2{gj1{Avgpool(xt)}}}
(5)
其中,輸入數(shù)據(jù)xt表示每個步態(tài)序列中的關(guān)節(jié)點信息,gj1、gj2表示對輸入數(shù)據(jù)的卷積操作,α表示激活函數(shù)。在關(guān)節(jié)中,激活越大,該關(guān)節(jié)對于確定作用類型越重要,因此激活值還稱為注意權(quán)重,最后通過該權(quán)重的大小為每個關(guān)節(jié)分配不同的重要性。
加入關(guān)節(jié)點注意模型后網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 加入關(guān)節(jié)點注意力
本文改進(jìn)后的圖卷積網(wǎng)絡(luò)模型由7層圖卷積單元構(gòu)成,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示,每一層的圖卷積單元如圖8所示,其中粗箭頭部分為加入的殘差連接,第三個模塊是加入的關(guān)節(jié)點注意模型。
圖7 改進(jìn)的圖卷積網(wǎng)絡(luò)模型
圖8 改進(jìn)的圖卷積單元
在該網(wǎng)絡(luò)中,共有7個使用了殘差連接的圖卷積單元,每個圖卷積單元的輸出通道數(shù)如圖7所示。經(jīng)過7個圖卷積單元后,輸出的特征圖被送到全連接層,得到一個固定大小的特征向量。
本文選用數(shù)據(jù)集為中科院自動化所提供的CASIA-B步態(tài)數(shù)據(jù)集,該數(shù)據(jù)集有15 004個視頻,由124名受試者組成,每位受試者均從11個視角中捕獲,視角范圍為0°到180°,每次間隔18°。每個視角下有10個序列,包括6個正常行走(NM)、2個帶包行走(BG)和2個穿著外套或夾克(CL)??傊?,每個身份ID下包含11個×(6+2+2)=110個序列。圖9為正常條件下行走的11個視角的序列。
圖9 11個視角的行走序列
本文遵循文獻(xiàn)[1]中流行的協(xié)議,前74個人(編號為001到074)為訓(xùn)練集,其余人(編號為075到124)為測試集。在測試集中,前4個正常行走的步態(tài)序列(NM01-NM04)作為注冊集,其余的兩個正常行走序列(NM05,NM06)、兩個攜帶物品(BG01,BG02)以及兩個穿著大衣(CL01,CL02)的步態(tài)序列作為驗證集。
本文所有的實驗均基于pytorch框架,編程環(huán)境是Pycharm。實驗共訓(xùn)練400個epoch,前300個epoch訓(xùn)練的初始學(xué)習(xí)率定為0.01,學(xué)習(xí)率衰減為0.1,權(quán)重衰減系數(shù)為0.000 01,batchsize為32;后100個epoch的學(xué)習(xí)率設(shè)定為0.000 01,學(xué)習(xí)率衰減系數(shù)、權(quán)重衰減系數(shù)與batchsize均不變。
3.3.1 無視角變化的步態(tài)識別結(jié)果
在不考慮視角變化的情況下,進(jìn)行單視圖步態(tài)識別的實驗結(jié)果見表2~表4。
表2 NM-NM的識別率
3個表不同的是,表2的驗證集為NM狀態(tài),表3是BG狀態(tài),表4是CL狀態(tài)。以表2為例,表中首列是注冊集中NM01-04的11個角度,首行是驗證集NM05-06的11個角度,最后一列Avg是每個角度的平均識別率,每個表共有132個識別率,其中每個表的對角線上是沒有視角變化的11個識別率。
表3 NM-BG的識別率
表4 NM-CL的識別率
在視角相同的條件下,分別對表2到表4對角線上的11個識別率進(jìn)行求和并求均值,結(jié)果分別為95.28%、82.15%和71.9%,即為驗證集NM、BG、CL下的平均識別率。將該實驗結(jié)果與其它基于骨架(如LSTM與CNN相結(jié)合、Posegait、PTSN)的一些經(jīng)典先進(jìn)的方法進(jìn)行比較,實驗設(shè)置均根據(jù)文獻(xiàn)[1]中協(xié)議所定。比較結(jié)果見表5。
表5 無視角變化時識別率比較
結(jié)果表明,在NM狀態(tài)下,雖然識別率不是最高的,但是在BG、CL狀態(tài)下,該平均識別率比其中最高的Posegait算法,分別高了10.89%和17.72%,足以表明該算法對于外套以及背包等遮擋物有一定的魯棒性。
3.3.2 交叉視野下的步態(tài)識別結(jié)果
為了驗證該算法對視角的魯棒性,在第二個實驗中,注冊集包含了NM01-04所有的視角(0°~180°),驗證集包含了NM05-06、BG01-02、CL01-02所有的視角,在該數(shù)據(jù)集的設(shè)定下,本節(jié)進(jìn)行了交叉視野下的步態(tài)識別實驗,實驗結(jié)果見表6。
表6 交叉視野下的識別率
由表6可知,在驗證集中NM、BG、CL狀態(tài)下,11個視角交叉測試的平均識別率分別為84.5%、72.1%和63.3%。將該結(jié)果與當(dāng)前基于外觀和基于模型的一些經(jīng)典先進(jìn)方法(DeepCNN、SPAE、Posegait、GaitGANv2)進(jìn)行比較,比較結(jié)果見表7。
表7 交叉視角下的識別率對比
表7結(jié)果對比表明,本文提出的方法在BG和CL狀態(tài)下的平均識別率分別達(dá)到了72.1%和63.3%,其中在BG狀態(tài)下與當(dāng)前先進(jìn)結(jié)果不相上下,CL狀態(tài)下超過了17.85%的先進(jìn)結(jié)果。該方法和Posegait方法都采用人體姿態(tài)估計對步態(tài)建模,但本文方法不僅考慮到了人體行走時的時間和空間特征,還加強(qiáng)了對關(guān)節(jié)動作局部特征的學(xué)習(xí)能力。但是當(dāng)驗證集為NM狀態(tài)時,我們的實驗結(jié)果雖優(yōu)于Posegait和GaitGANv2,但是低于基于外觀方法的DeepCNN和SPAE算法。分析原因可能是從2D視頻中提取的關(guān)鍵點所攜帶的信息相較于步態(tài)能量圖來說較少,且在有的視角下由于自遮擋或是視頻分辨率的影響使關(guān)鍵點沒有被全部完整檢測出來,而導(dǎo)致步態(tài)信息的丟失。實驗結(jié)果表明,該算法可有效應(yīng)對攜帶物和衣著情況等復(fù)雜因素的變化,并且該方法在跨視角的場景中也具有較好的泛化能力,但后續(xù)仍需繼續(xù)提高姿態(tài)關(guān)鍵點的提取精度以提高步態(tài)識別率。
3.3.3 消融實驗
為了評估加入殘差連接和關(guān)節(jié)點注意機(jī)制的有效性,本文在交叉視野下做了消融實驗,分別去除殘差連接和注意力機(jī)制,實驗結(jié)果見表8。
表8 不同網(wǎng)絡(luò)結(jié)構(gòu)識別率對比
由表8中結(jié)果對比可知,本文提出的各部分方法對步態(tài)識別的結(jié)構(gòu)都有一定的提升。在對GCN加了殘差連接之后,NM、BG和CL狀態(tài)下的識別率比原GCN提高了1.3%、2.4%和1.7%??梢钥闯鐾ㄟ^加入殘差連接加深網(wǎng)絡(luò)的深度可有效提高步態(tài)識別的識別率,說明該方法有效;給原網(wǎng)絡(luò)加入注意力機(jī)制后,NM、BG、CL條件下的識別率比GCN分別提高了1.9%、3.7%和2.7%,而且在加入殘差連接的網(wǎng)絡(luò)上又提高了0.6%、1.3%和0.7%。這說明該注意力機(jī)制通過增大關(guān)節(jié)點特征的權(quán)重,提升了步態(tài)特征的表現(xiàn)能力,從而提高了準(zhǔn)確率。綜上實驗可得,本文算法在步態(tài)識別中有較強(qiáng)的識別效果,同時在復(fù)雜因素下魯棒性較強(qiáng)。
3.3.4 仿真實驗
為了驗證該算法在實際中的應(yīng)用,在第3個實驗中,從驗證集(NM05-06、BG01-02、CL01-02)中隨機(jī)選取一段行人視頻,對視頻中的行人進(jìn)行身份識別,識別效果如圖10所示。
圖10 識別效果
圖10(a)和圖10(b)是改進(jìn)圖卷積網(wǎng)絡(luò)前,對身份ID為124分別在BG和CL狀態(tài)下18°視角下識別錯誤的結(jié)果;圖10(c)和圖10(d)是在改進(jìn)網(wǎng)絡(luò)后,對身份ID為124分別在BG和CL狀態(tài)下18°視角下識別正確的結(jié)果。圖中左下角的數(shù)字為模型所識別到的身份ID,左上角是身份識別的檢測速率。對比仿真圖可以看出,圖卷積網(wǎng)絡(luò)改進(jìn)之后,在BG和CL狀態(tài)下實際視頻檢測識別的結(jié)果均正確。
針對步態(tài)識別中衣著、攜帶物、視角等因素的影響,本文提出了一種改進(jìn)圖卷積網(wǎng)絡(luò)的步態(tài)識別算法。首先以步態(tài)骨架數(shù)據(jù)作為輸入,然后使用殘差連接加深圖卷積網(wǎng)絡(luò)的深度,提高步態(tài)特征的表征能力,為了增強(qiáng)行走時局部關(guān)節(jié)點的特征,還在圖卷積網(wǎng)絡(luò)中加入了關(guān)節(jié)點注意模型。實驗結(jié)果表明,改進(jìn)后的圖卷積網(wǎng)絡(luò)在步態(tài)識別中識別率都有所提高,驗證了本文方法具有較好的識別效果。但由于該網(wǎng)絡(luò)在實際輸入的行人視頻中識別行人身份時,fps較低,今后將繼續(xù)改進(jìn)算法并嘗試解決這一問題,提升步態(tài)識別身份的識別檢測效果。