王 歡,肖秦琨
(西安工業大學 電子信息工程學院,西安710021)
步態識別一直以來是科研界研究關注的熱點,其中也涌現出一大批優秀的算法。現有的步態識別可以分為基于非模型和基于模型的步態識別算法。
在基于非模型的步態識別算法中,文獻[1]提出分割步態輪廓,統計并分析步態輪廓的形狀進行步態識別;文獻[2]引出步態能量圖(gait energy image,GEI)概念,經過加權平均處理一個步態周期的能量圖;文獻[3]提出一種改進對數方法對步態能量圖提取相位一致的特征,補償了噪聲并進行判別分析,正確識別率得到提升,但缺點是需要很高的頻率,所以步態特征有所損失;文獻[4]利用多種融合方法將靜態與動態兩種特征進行融合,識別結果有提升但等錯率還是比較大。從以上不難看出,步態輪廓圖的分割過程會產生誤差且會引入視角、衣著和攜帶物等協變量,分類結果并不理想。步態能量圖同樣也存在缺陷,它在輪廓序列的周期疊加后會丟失時序信息。
基于模型的步態識別算法可以避免行人行走過程中物體遮擋的問題,而且對于視角的變化敏感度低。文獻[5]從人體輪廓提取骨架關鍵點,然后以關鍵點之間的距離和角度作為特征通過支持向量機進行步態識別;由于手工提取的骨架繁瑣且精確度低,文獻[6]提出一種針對Kinect 骨骼數據應用貝葉斯分類器分析步態障礙和識別帕金森病的方法,分類結果不理想;文獻[7]利用Openpose 提取骨架關鍵點,再將其放入PTSN 網絡進行步態特征的學習,完成了跨視角識別。
綜上所述,本文首先利用微軟Kinect2.0 傳感器直接獲得骨架信息表征人體骨架步態特征;其次利用多層特征融合機制改進GoogleNet 神經網絡提取步態空間特征;同時,在LSTM 的基礎上提出動態門記憶學習網絡; 最后討論算法的最佳訓練參數,并與其它方法進行性能對比。
人的步態數據的變化遵循時空規律,因此本文提出的人體骨架步態識別深度學習網絡模型包含視覺空間特征提取器深度卷積神經網絡(deep con volutional neural network,DCNN)與可進行順序時間特征識別任務的動態門記憶學習(dynamic gated memory learning,DGML)網絡。本算法能夠對人體步態動態時空信號進行準確建模,進而實現快速動態模式識別。
在深度學習中,通過增加神經網絡深度和寬度的方式以提高網絡識別的準確性和識別速度,但與此同時會使網絡復雜,從而帶來梯度爆炸和過擬合等問題。針對此問題,GoogleNet[8]網絡于2014年提出Inception 模塊,如圖1 所示,巧妙解決了網絡的深度和寬度的局限性。

圖1 Inception 模塊示意圖Fig.1 Schematic diagram of Inception module
Inception 模塊的設計思路是擬化最優稀疏結構,使用4 種不同大小的卷積核對輸入特征圖進行特征提取。第1 個模塊是1×1 卷積核,利用小感受野提取輸入圖相關性最高的特征;第2,3 個模塊是1×1 卷積核分別與3×3 卷積核和5×5 卷積核串聯,這樣的設置減少了通道數和近一成的參數運算量,提取了一個較大感受野的特征; 第4 個模塊是3×3池化層與卷積核串聯,4 個模塊都在聚合操作下合并。在感受野保持不變的情況下,GoogleNet 利用對應尺寸下的小卷積核代替大卷積核,網絡的深度和運算量都得到提升。
步態視頻的特征需要結合全局的運動軌跡和局部的步態變化描述,故本文對GoogleNet 卷積神經網絡進行改進,從而達到從視頻片段中提取空間特征的目標。基于改進GoogleNet 空間特征提取網絡如圖2 所示。

圖2 基于改進GoogleNet 空間特征提取網絡Fig.2 Based on improved GoogleNet spatial feature extraction network
該網絡保持原有GoogleNet 網絡結構不變,在Inception(4a),Inception(4d)和Inception(5b)網絡模塊后分別增加新的支路。支路增加1 個1×1 卷積層,其意義在于利用1×1 卷積層將不同尺度的特征調整為同一尺度特征用于特征融合,利用不同特征感受野的不同特點,將淺層特征和深層特征相融合,從而提高最終特征的完整性和有效性。采用1×1卷積層集和池化(SP)層代替原有的全局平均池化層,1×1 卷積層用于特征尺度調整,并將其結果輸入到SP 層,對池化后的特征進行加法操作,將整個步態周期的特征組合到一起,再利用最大池化層得到最終輸出特征。其中SP 層包含3 個平行的池化層,分別為最大池化層、平均池化層和中值池化層。
遞歸神經網絡[9](recurrent neural network,RNN)是一種結構簡單且能分析處理時間序列數據的強大學習算法。相比于多層感知器,該算法能處理序列隱藏狀態關鍵數據,并更新序列數據的先前和現存信息。長期短期記憶序列(long short term memory,LSTM)[10]和門控循環單元(gated recurrent unit,GRU)[11]是遞歸神經網絡的流行結構,其解決了遞歸神經網絡梯度爆炸的問題,且在處理時間序列數據的問題上表現出良好的性能,例如語音識別、機器翻譯、 音頻分析以及基于骨架的動作識別等方面,故利用遞歸神經網絡處理骨架步態數據是可行的。
從網絡結構來看,GRU 和LSTM 具有相似性能,但至今仍未證明前者可替代LSTM,故LSTM 仍具有研究價值。LSTM 細胞結構如圖3 所示,其巧妙之處在于通過增加輸入門限、遺忘門限和輸出門限以調整自循環的權重,從而解決梯度消失和梯度膨脹的問題。

圖3 LSTM 細胞示意圖Fig.3 Schematic diagram of LSTM cells
每個LSTM 單元的計算公式如下:


式中:ft表示遺忘限;it表示輸入門限表示前一時刻cell 狀態;Ct表示cell 狀態;ot表示輸出門限;ht表示當前輸入單元;ht-1表示前一時刻單元的輸出。
在訓練期間,門具有自主處理內部結構狀態的能力,但會學習一些冗余信息,而長時間的學習會導致門僅處理相似信息。針對此問題,在基于LSTM的結構上,增加新的可訓練的鏈接[12]以設計出動態門記憶學習網絡(dynamic gated memory learning,DGML)。該網絡采用可訓練的鏈條將輸入門、輸出門和忘記門兩兩相連,以產生自循環狀態。細胞被每個門自循環連接和3 個門互循環連接所包圍。DGML 結構如圖4 所示,其核心在于門信息共享。在圖像識別模式中,3 個門可以通過彼此協作以緩解學習壓力,轉移并減小系統誤差。

圖4 DGML 結構圖Fig.4 DGML structure diagram
(1)DGML 正向通道學習
在DGML 正向通道學習中,假設一個神經網絡包含輸入層I,循環隱藏層H(其包含模塊A,一個模塊A 包含多個細胞c)和輸出層K,且所有的層都是全連接的。其中,當單元j=w,φ,l 時,vj表示輸入;φj表示網絡的激活函數;χj為一個單元的激活函數;fc表示輸入門的擠壓信息;gc表示一個內部細胞c 擠壓信息。定義和在t=0 時為0。
輸入門:

忘記門:

細胞輸入:

細胞狀態:

輸出門:

細胞輸出:

(2)DGML 反向通道學習

細胞輸出:

輸出門:

細胞狀態:

細胞輸入:

忘記門:

輸入門:

為了測試算法的魯棒性,利用新型體感外設Kinect2.0 采集身高體型不同的10 位測試者各自骨架步態信息。在鏡頭方向與行走方向呈90°的視角下,測試者1 到測試者10 獨自在Kinect2.0 攝影范圍內正常行走20 次,每次30~40 s,得到200 個運動視頻序列,然后將每段視頻平均分成10 段,以形成10 類姓名標簽的2000 個骨架步態短視頻序列數據集。
本文在這一部分列出相關實驗參數[13],優化和分析所提模型并討論實驗結果,以證明系統的可靠性。最后將實驗結果和幾種最先進的競爭網絡進行比較。
數據集分為90%訓練集和10%測試集,該算法將網絡模型根據骨架步態特征的目標參數進行優化。網絡設置的最佳超參數值如表1 所示。

表1 超參數Tab.1 Hyperparameters
為了清晰地看到網絡在訓練期間精確度和損失度的變化,實驗記錄了訓練集和驗證集每500 步迭代的結果,如圖5 所示。可以看出,隨著迭代次數的增加,精確度也在增加,損失函數急速下降。

圖5 組合網絡模型Fig.5 Combined network model
復雜背景下的步態識別所產生的混淆矩陣(confusion matrix),如圖6 所示。矩陣中位于主對角線上的元素表示骨架步態數據集按照身份特征被正確分類的比例及個數,其它位置為骨架步態數據集被誤識為其它個體的比例和個數。從圖6 骨架步態識別結果可以看出,1 個標簽為“xue”的骨架序列被誤認為標簽“gao”;1 個標簽為“xue”的骨架序列被誤認為標簽“yu”;1 個標簽為“yan”的骨架序列被誤認為標簽“yang”;其它標簽為全部被正確識別的骨架序列。

圖6 DCNN+DGML 融合架構的混淆矩陣Fig.6 Confusion matrix of DCNN+DGML fusion architecture
學習率是最重要的超參數,能直接影響模型收斂速度和找到最佳下坡路徑的能力。故學習率設置太小或太大都不適合。參數設置太小會使系統更新得很慢,需要很長的訓練時間;參數設置太大,會直接引起損失函數震蕩,甚至不能收斂,模型的分類能力也會變得很差。通過調整學習率對網絡模型進行優化,分類準確率的結果展示如表2所示。

表2 學習率對模型分類準確率的影響Tab.2 Effect of learning rate on model classification accuracy
從表2 可以看出當學習率設置為0.0001 時,精確度最高為96%。
為了觀察DGML 的層數對分類精確度的影響,保持DCNN 的參數不變,設置DGML 的層數在1,2,3 范圍內變化,每層單元數為2000,以建立此網絡模型。層數對網絡模型的影響曲線如圖7所示,DGML 不同層的分類精度統計結果如表3所示。

圖7 DGML 層數和精度之間的曲線關系Fig.7 Curve relationship between the number of DGML layers and accuracy

表3 不同DGML 層數的分類準確率Tab.3 Classification accuracy of different DGML layers
從圖7 可以看到DGML 的層數對于網絡收斂速度和迭代的影響。訓練在迭代300 步之前,層數k=1 的迭代速度快,但是隨著迭代步數的增加,層數k=3 的收斂速度趕上層數k=1 的網絡,原因在于層數越多訓練的參數多,但層數k=1 的網絡一直平穩上升,最后達到最高精確度。
從表3 可以看出,實驗效果最佳的是1 層的DGML,精確度達到93%。隨著DGML 層數目的增加,分類精確度并沒有隨之增加,反而DGML 層數為1 的實驗效果優于層數為2,3 的分類結果。這表明并不是層數越深,效果越好。因此本文選擇一層的DGML。
為了驗證DGML 的性能,基于同一數據集將本文提出模型和biLSTM,GRU 進行比較。模型迭代曲線結果如圖8 所示。

圖8 DGML,biLSTM 和GRU 系統的迭代曲線Fig.8 Iterative graph of DGML,biLSTM and GRU models
從圖8 發現,DGML 模型相較于biLSTM 和GRU 系統表現出良好的收斂性能,精度-迭代速度和損失-迭代速度最快且精確度最高。雖然增加了門連接機制,但是并沒有產生額外的計算成本。通過門之間的合作機制可以提取更完整且數量更多的步態特征。隨著訓練時間的加長,分類分數也在提高。從另一方面來說,在小數據集上GRU 的收斂速度較biLSTM 稍快。
為了驗證改進后的GoogleNet 對于步態各層空間特征的融合效果,本文將具有特征融合機制的GoogleNet 和GoogleNet,AlexNet,ResNet 在相同的數據集進行實驗比較,并進行重復實驗以避免誤差。各個模型的分類結果如表4 所示。
從表4 可以看出,在此研究中,改進GoogleNet網絡在數據集上的平均精確度最高,比原始的GoogleNet 的分類精度高約3.5%,ResNet 網絡雖然比GoogleNet 結構好,但在數據集上過擬合,識別效果并不好。

表4 各種模型對骨架步態分類的準確性(均值)Tab.4 Accuracy of various models for skeletal gait classification(mean value)
本文提出的DCNN+DGML 模型在自建步態數據庫上表現突出。證明了此模型是可以通過訓練來捕獲時空狀態相關性的視覺識別模型。與其它算法相比,該算法不用手動提取骨架步態特征,避免了選擇最佳特征的復雜性,對于骨架步態識別達到了顯著的成果。此融合模型在空間和時間上都很深,可以處理輸入數據中的時空相關性強的信息。