吳冬梅,趙夢琦,宋婉瑩,王 靜
(西安科技大學 通信與信息工程學院,陜西 西安 710600)
步態是一種復雜的行為生物特征,適用于遠距離的人體識別[1]。在21世紀初,就有相關研究人員根據遠距離步態,設計并開發了大規模的身份識別系統,系統可靠性高且穩定[2]。2017年,中國科學院自動化研究所介紹了一種新興的生物特征識別技術——步態識別,只需要觀察人的走路姿態,攝像頭就可以準確識別出所屬人物身份。
當前步態識別方法分為基于外觀和基于模型兩種方法。基于外觀的方法即以步態輪廓圖[1]或步態能量圖[3]為輸入,但二者都會受到衣著、攜帶物等因素的干擾,對最終的正確率產生影響。基于模型的方法分為基于人體結構建模[4]和采用姿態估計算法提取人體骨架[5],它們對攜帶物、視角等因素有較強的魯棒性,但基于人體結構建模計算復雜,建立模型的準確性會有所誤差;基于姿態估計算法,雖在同一視角下增強了對于衣著、攜帶物等因素的魯棒性,但對于角度、衣著以及攜帶物等多重因素的影響,跨視角步態識別的準確率還需進一步提高。
綜上所述,步態輪廓圖受視角、衣著和攜帶物等因素的影響較大;步態能量圖在壓縮的過程中丟失時序信息;人體結構建模增加了計算復雜度,檢測到的準確性存在一定的偏差。因此為了解決上述問題,本文采取姿態估計算法提取人體骨架,針對當前現有方法容易忽略掉骨架數據中時間與空間的聯系,且對骨架的建模受到的關注較少的問題,本文提出對圖卷積網絡進行改進——加入了殘差連接和注意力機制,通過充分挖掘骨架中的時間與空間特征,實現人體的步態識別。最終結果表明,該網絡提高了衣著、攜帶物等因素的魯棒性,并進一步提高了步態識別率。
本文的改進圖卷積網絡的步態識別算法整體框架如圖1所示,將步態數據集中的視頻經過預處理提取視頻幀,再利用姿態估計算法獲得骨架序列,并將提取到的數據送入改進的圖卷積網絡中學習,最后根據所建模型對人體行走姿態進行身份識別。

圖1 步態識別框架
其中對于姿態估計算法,本文在對比當前流行的Alphapose[6]、Openpose[7]、HRNet[8]這3種算法的檢測精度之后,比較結果見表1。為了減小后續步態識別中特征提取的失誤,本文采用了精度較高的HRNet姿態估計算法,所獲取的各個關節點如圖2所示。

表1 姿態估計算法精度比較

圖2 HRNet算法獲取的人體關節點
每幀中所有人體關節的二維坐標組成了步態骨架序列,由于人體骨架是一個拓撲結構,所以骨架序列中的關節點是使用時空圖在時間和空間上建模的,圖卷積網絡基本單元和網絡模型如圖3和圖4所示,該網絡由3層基本單元組成,其中第一個圖卷積單元的輸出通道數為64,第二個輸出通道數為128;最后一個輸出通道數為256。最后由全連接層輸出固定大小的特征向量。

圖3 圖卷積基本單元

圖4 圖卷積網絡結構
在N幀步態骨架序列上,其中對于時空圖的定義請參考文獻[9]。根據文獻[9]可得到骨架序列中每個幀的空間卷積計算公式
(1)

對于時間特征的提取,由于在相鄰兩個連續幀上的頂點對應的關節點是固定的,所以圖卷積與經典的二維卷積操作相同。因此,對空間特征圖進行普通的二維卷積即可提取時間特征,如圖3所示。
但該網絡不足的是,在步態識別中,雖然圖卷積網絡可以從骨架序列中提取空間和時間特征,但時間卷積是在空間域中對聚合后的圖所執行的,并沒有將兩種特征所融合,從而削弱了在復雜因素下步態特征的豐富性,導致步態識別率下降。除此之外,網絡結構層數較少,在復雜因素下很難學習到表征步態的特征。通常增加網絡的深度可以學習到更加復雜的特征,但通過堆疊卷積層數加深網絡又會產生過度平滑以及梯度消失的問題,據此文獻[10]提出殘差連接可以解決加深網絡所帶來的退化問題,同時也可以有效解決人體步態時空融合的問題。
所以針對上節的問題,本文提出在圖卷積網絡中加入殘差連接。基于殘差連接的圖卷積網絡的輸入是圖節點的聯合坐標向量,經過多層有殘差連接的圖卷積生成時空特征融合的特征,然后進行步態身份識別。同時為了使模型能夠找出在每個步態序列中特征較強的區域,本文還引入一個關節點注意網絡,目的是為了在不受到其它關節信息的干擾下,加強關鍵的關節點信息,保證信息的豐富性以及完整性。
在傳統的卷積神經網絡中,越復雜的特征越能表征數據的特征,通過加深網絡深度能夠提高特征的抽象化程度,使網絡取得更好的效果。然而網絡過深還引起梯度消失等問題,對此傳統的卷積網絡引入了殘差連接,既實現了網絡的加深,還有效解決了上述問題。其中,殘差連接的基本公式為
H(x)=C(x)+x
(2)
其中,x為輸入數據,H(x) 為輸出,C(x) 為二者的差值。
圖卷積網絡由多層時間卷積層和空間卷積層構成,每層都經過卷積后來提取圖的高級特征,仿照傳統卷積網絡引入殘差連接的方法,本文在每層的空間卷積層和時間卷積層加入殘差連接。圖卷積網絡結構的殘差模塊如圖5所示。

圖5 加入殘差連接
其中,F、G分別為空間卷積層和時間卷積層的殘差單元,T層中每個模塊的空間卷積層和時間卷積層進行如下計算:
空間卷積層
(3)
時間卷積層
(4)
其中,在第T層,x1T-1表示輸入,wT表示學習參數集,σ為激活函數,時間卷積層中的輸入x2T-1是空間卷積層的輸出。
在以往基于外觀的方法中,文獻[11]提出人體不同部位在行走過程中具有明顯不同的視覺外觀和運動模式,因而提出了一種基于部位的模型GaitPart。在基于骨骼信息的動作識別研究中,同樣也是根據身體部位的組成加入注意力機制,去發現不同身體部位在整個動作序列中的重要性[12],然而基于模型的步態識別,通過加入身體部位的注意力并不適合,因為該實驗中每人的動作都是行走,實驗最感興趣的部分集中于人體的下肢,即在整個實驗中,腿部的動作在整個行走過程中的重要性已一目了然,關鍵在于在腿部的動作中尋找每個人行走時腿部更細微的特征信息。如果只將注意力機制放在人體的兩條腿上,則會忽略掉部分特征信息。所以本文提出在整個骨架序列中加入關節點注意力機制,使注意力更加集中在膝關節、踝關節以及臀部上,也會得到更加豐富的特征信息。
具體計算過程如下,在t幀時,給定一組k=17個關節點,Xt=(xt,1,…,xt,k)T, 其中xt,k∈i2, 則輸出特征
Mj=α{gj2{gj1{Avgpool(xt)}}}
(5)
其中,輸入數據xt表示每個步態序列中的關節點信息,gj1、gj2表示對輸入數據的卷積操作,α表示激活函數。在關節中,激活越大,該關節對于確定作用類型越重要,因此激活值還稱為注意權重,最后通過該權重的大小為每個關節分配不同的重要性。
加入關節點注意模型后網絡結構如圖6所示。

圖6 加入關節點注意力
本文改進后的圖卷積網絡模型由7層圖卷積單元構成,具體網絡結構如圖7所示,每一層的圖卷積單元如圖8所示,其中粗箭頭部分為加入的殘差連接,第三個模塊是加入的關節點注意模型。

圖7 改進的圖卷積網絡模型

圖8 改進的圖卷積單元
在該網絡中,共有7個使用了殘差連接的圖卷積單元,每個圖卷積單元的輸出通道數如圖7所示。經過7個圖卷積單元后,輸出的特征圖被送到全連接層,得到一個固定大小的特征向量。
本文選用數據集為中科院自動化所提供的CASIA-B步態數據集,該數據集有15 004個視頻,由124名受試者組成,每位受試者均從11個視角中捕獲,視角范圍為0°到180°,每次間隔18°。每個視角下有10個序列,包括6個正常行走(NM)、2個帶包行走(BG)和2個穿著外套或夾克(CL)。總之,每個身份ID下包含11個×(6+2+2)=110個序列。圖9為正常條件下行走的11個視角的序列。

圖9 11個視角的行走序列
本文遵循文獻[1]中流行的協議,前74個人(編號為001到074)為訓練集,其余人(編號為075到124)為測試集。在測試集中,前4個正常行走的步態序列(NM01-NM04)作為注冊集,其余的兩個正常行走序列(NM05,NM06)、兩個攜帶物品(BG01,BG02)以及兩個穿著大衣(CL01,CL02)的步態序列作為驗證集。
本文所有的實驗均基于pytorch框架,編程環境是Pycharm。實驗共訓練400個epoch,前300個epoch訓練的初始學習率定為0.01,學習率衰減為0.1,權重衰減系數為0.000 01,batchsize為32;后100個epoch的學習率設定為0.000 01,學習率衰減系數、權重衰減系數與batchsize均不變。
3.3.1 無視角變化的步態識別結果
在不考慮視角變化的情況下,進行單視圖步態識別的實驗結果見表2~表4。

表2 NM-NM的識別率
3個表不同的是,表2的驗證集為NM狀態,表3是BG狀態,表4是CL狀態。以表2為例,表中首列是注冊集中NM01-04的11個角度,首行是驗證集NM05-06的11個角度,最后一列Avg是每個角度的平均識別率,每個表共有132個識別率,其中每個表的對角線上是沒有視角變化的11個識別率。

表3 NM-BG的識別率

表4 NM-CL的識別率
在視角相同的條件下,分別對表2到表4對角線上的11個識別率進行求和并求均值,結果分別為95.28%、82.15%和71.9%,即為驗證集NM、BG、CL下的平均識別率。將該實驗結果與其它基于骨架(如LSTM與CNN相結合、Posegait、PTSN)的一些經典先進的方法進行比較,實驗設置均根據文獻[1]中協議所定。比較結果見表5。

表5 無視角變化時識別率比較
結果表明,在NM狀態下,雖然識別率不是最高的,但是在BG、CL狀態下,該平均識別率比其中最高的Posegait算法,分別高了10.89%和17.72%,足以表明該算法對于外套以及背包等遮擋物有一定的魯棒性。
3.3.2 交叉視野下的步態識別結果
為了驗證該算法對視角的魯棒性,在第二個實驗中,注冊集包含了NM01-04所有的視角(0°~180°),驗證集包含了NM05-06、BG01-02、CL01-02所有的視角,在該數據集的設定下,本節進行了交叉視野下的步態識別實驗,實驗結果見表6。

表6 交叉視野下的識別率
由表6可知,在驗證集中NM、BG、CL狀態下,11個視角交叉測試的平均識別率分別為84.5%、72.1%和63.3%。將該結果與當前基于外觀和基于模型的一些經典先進方法(DeepCNN、SPAE、Posegait、GaitGANv2)進行比較,比較結果見表7。

表7 交叉視角下的識別率對比
表7結果對比表明,本文提出的方法在BG和CL狀態下的平均識別率分別達到了72.1%和63.3%,其中在BG狀態下與當前先進結果不相上下,CL狀態下超過了17.85%的先進結果。該方法和Posegait方法都采用人體姿態估計對步態建模,但本文方法不僅考慮到了人體行走時的時間和空間特征,還加強了對關節動作局部特征的學習能力。但是當驗證集為NM狀態時,我們的實驗結果雖優于Posegait和GaitGANv2,但是低于基于外觀方法的DeepCNN和SPAE算法。分析原因可能是從2D視頻中提取的關鍵點所攜帶的信息相較于步態能量圖來說較少,且在有的視角下由于自遮擋或是視頻分辨率的影響使關鍵點沒有被全部完整檢測出來,而導致步態信息的丟失。實驗結果表明,該算法可有效應對攜帶物和衣著情況等復雜因素的變化,并且該方法在跨視角的場景中也具有較好的泛化能力,但后續仍需繼續提高姿態關鍵點的提取精度以提高步態識別率。
3.3.3 消融實驗
為了評估加入殘差連接和關節點注意機制的有效性,本文在交叉視野下做了消融實驗,分別去除殘差連接和注意力機制,實驗結果見表8。

表8 不同網絡結構識別率對比
由表8中結果對比可知,本文提出的各部分方法對步態識別的結構都有一定的提升。在對GCN加了殘差連接之后,NM、BG和CL狀態下的識別率比原GCN提高了1.3%、2.4%和1.7%。可以看出通過加入殘差連接加深網絡的深度可有效提高步態識別的識別率,說明該方法有效;給原網絡加入注意力機制后,NM、BG、CL條件下的識別率比GCN分別提高了1.9%、3.7%和2.7%,而且在加入殘差連接的網絡上又提高了0.6%、1.3%和0.7%。這說明該注意力機制通過增大關節點特征的權重,提升了步態特征的表現能力,從而提高了準確率。綜上實驗可得,本文算法在步態識別中有較強的識別效果,同時在復雜因素下魯棒性較強。
3.3.4 仿真實驗
為了驗證該算法在實際中的應用,在第3個實驗中,從驗證集(NM05-06、BG01-02、CL01-02)中隨機選取一段行人視頻,對視頻中的行人進行身份識別,識別效果如圖10所示。

圖10 識別效果
圖10(a)和圖10(b)是改進圖卷積網絡前,對身份ID為124分別在BG和CL狀態下18°視角下識別錯誤的結果;圖10(c)和圖10(d)是在改進網絡后,對身份ID為124分別在BG和CL狀態下18°視角下識別正確的結果。圖中左下角的數字為模型所識別到的身份ID,左上角是身份識別的檢測速率。對比仿真圖可以看出,圖卷積網絡改進之后,在BG和CL狀態下實際視頻檢測識別的結果均正確。
針對步態識別中衣著、攜帶物、視角等因素的影響,本文提出了一種改進圖卷積網絡的步態識別算法。首先以步態骨架數據作為輸入,然后使用殘差連接加深圖卷積網絡的深度,提高步態特征的表征能力,為了增強行走時局部關節點的特征,還在圖卷積網絡中加入了關節點注意模型。實驗結果表明,改進后的圖卷積網絡在步態識別中識別率都有所提高,驗證了本文方法具有較好的識別效果。但由于該網絡在實際輸入的行人視頻中識別行人身份時,fps較低,今后將繼續改進算法并嘗試解決這一問題,提升步態識別身份的識別檢測效果。