華 鋼,曹青峰,朱艾春,2,張 賽,唐士宇,崔 冉
1(中國礦業大學信息與控制工程學院,江蘇徐州221008)
2(南京工業大學計算機科學與技術學院,南京211816)
人體行為識別作為人體行為預測和跟蹤的基礎,同時也是計算機視覺領域的重要研究內容,在智能視頻監控、人機交互、公共安全、生產安全等各領域具有廣泛的應用前景.雖然這些年在計算機視覺領域人體行為識別研究取得了飛速發展,但限于行為表現、環境和時間等各種差異性,人體行為識別仍是一項具有挑戰性的任務.Johansson 研究[1,2]表明,人體運動軌跡可以通過骨架關節點序列來表示,骨架數據集通過一定數量的關節點可以簡潔的表示出肢體姿態結構,提供關于人體行為的高效特征信息.微軟Kinect 人體關節點估計算法可提供準確的關節點位置信息,從而使基于骨架數據行為識別成為可能.一般來說,基于骨架數據的行為識別方法可分為兩大類:傳統方法(即基于人工設計特征方法)和深度學習方法.基于人工設計特征的方法是行為識別領域的經典傳統方法,該方法包括數據預處理、特征提取和特征篩選等過程且必須手動完成,既要積累專業領域的知識又要消耗大量時間去嘗試,而且對工作人員來說也是有一定的門檻的,成本高且只能提取有限數量特征,很多信息丟失檢測結果不理想.基于深度學習的3D 骨架人體行為識別優于傳統的人體行為識別方法[3-5].基于深度學習的骨架數據行為識別方法相比于深度學習RGB 視頻圖像[6-9]人體行為識別方法,能夠有的避免光照、遮擋和背景顏色等物理條件影響,3D 骨架數據通過一組關節點的三維坐標來表示身體姿態結構,具有數據簡潔、計算量小、魯棒性強且具有硬件條件要求低等優點,使得檢測結果更加準確穩定.
近年來基于深度學習的3D 骨架行為識別成為行為識別領域的研究熱點,并取得了顯著成就.目前最具有代表性的深度學習骨架行為識別算法主要有以下幾種:1)基于循環神經網絡(LSTM)[10-13];2)基于卷積神經網絡(CNN)[14-17];3)基于LSTM 和CNN 多種融合網絡[18];4)基于圖卷積神經網絡(GCN)[19].
LSTM(Long Short Term Memory Networks)是一種能夠有效解決數據長時依賴問題的特殊循環神經網絡.3D 骨架數據可看作行為的時間序列信息,利用LSTM 網絡挖掘各肢體行為時域中的上下文依賴關系,提取顯著的運動特征解決人體骨架的行為識別問題.但骨架數據既包括時間序列信息同時也包括空間結構信息,過度關注時域中上下文依賴關系卻忽略了骨架的空間結構信息,導致信息提取不充分識別結果有待進一步提高.文獻[14]提取節點之間的距離和方向,節點與節點連線之間的距離,角度等五種特征信息通過多種方式編碼變換為圖片送入卷積神經網絡.與文獻[14]不同,在文獻[15]中選取身體四個基本參考點,針對不同的參考點計算骨架節點相對位置形成四個特征矩陣,將其歸一化然后再用卷積神經網絡進行特征信息學習最后進行行為識別與檢測.文獻[16]通過RL 算法選取關鍵幀和所選索引的二元掩碼,分別將其并行輸入CNN 網絡和全鏈接網絡進行特征信息提取最后進行特征融合和檢測.文獻[17]CNN 和LSTM 的融合考慮到數據編碼成圖片丟失部分信息,采用CNN 網絡與LSTM 網絡并行融合.由于CNN 和LSTM 具有互補性,相比之前單獨的CNN 網絡模型和LSTM 網絡模型效果更好.人體骨架行為識別包含著重要的人體動力學知識,文獻[18]把圖卷積神經網絡拓展到時空域提出時空卷積模型,并把輸入數據按不同維度分成不同的通道,設計圖卷積核使得檢測性能大大提高.圖卷積網絡[18]充分考慮了人體骨架的空間結構和時間連續性特點,特征提取有待進一步優化且網絡結構過于復雜,運算量大等缺點.文獻[19]利用不同關節之間的相關性,設計一種雙流式的框架能獲得所有關節的全局響應融合骨架運動特征.
基于以上分析,本文利用NTU_RGB+D 原始骨架數據作為網絡模型的輸入,針對LSTM 網絡過度關注時域中上下文依賴關系忽略骨架的空間結構信息的問題對于時間信息和空間信息特征提取不充分影響識別準確率,本文結合圖卷積網絡對于人體空間結構的關注和卷積核的設置方法設置卷積神經網絡卷積核,有效模擬LSTM 網絡時域連貫性信息提取同時也充分提取空間特征信息.從人體動力學角度講,一個行為具有時空特征信息的共現性同等重要且不可分割,本文提出一種多流卷積網絡框架提取時空共現信息特征并進行特征融合,然后Softmax 函數對融合后的運動特征進行分類識別.在NTU_RGB+D 骨架數據集的實驗結果表明,本文方法骨架行為識別[20-31]準確率得到顯著提升.
人體骨架分為左、右手;左、右腳;左、右臂;左、右腿和軀干等部分.身體各部分明顯存在某種依賴關系或相關性,骨架數據可看作相鄰關節點存在某種依賴關系的序列.如圖1 所示為原始骨架建模,圖2 所示為不同方式的骨架動作建模.

圖1 原始骨架建模Fig.1 Original skeleton modeling

圖2 骨架動作建模Fig.2 Skeleton action modeling
動作的共現性可從本質上體現身體結構之間的依賴關系,例如“洗頭”這個行為兩手臂之間存在很大的相關性,又比如“坐下”這各行為軀干和兩腿存在很大的相關性.圖1 建模方式割裂了身體各部分之間的連接,不能充分描述人體的行為.相比于原始骨架建模方式,圖2 骨架行為建模方式1:ID[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],其中[1,2,3,4,5,6,7,8,9,10,11,12,13]表示兩手臂之間的建模,[14,15,16,17,18,19,20,21]表示軀干與腿之間的建模,體現了身體各部位之間的相關性.為了更好的體現出四肢與軀干之間聯系以及研究不同骨架行為建模方式對于網絡準確率的影響,本文又提出骨架行為建模方式 2:ID[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,14,15,16,17,22,23,24,25],對于骨架行為建模方式1 基礎之上又稍微改動軀干與右腿之間的關系用[14,15,16,17,18,19,20,21]表示,軀干與左腿之間的關系用[14,15,16,17,22,23,24,25]表示,其他部分與骨架行為建模方式1 相同.行為的發生是由身體的各部分互相協調完成的,合理的選擇骨架動作建模方式可以更好的體現身體結構之間的依賴關系或相關性,進而提高識別準確率.
主要功能模塊如圖3 所示:數據預處理模塊、網絡訓練模塊和網絡測試模塊.網絡模塊如圖3 所示.數據預處理模塊:包括訓練和測試過程中的數據(把數據集格式轉化為網絡模型所需的數據格式).網絡訓練模塊:訓練數據集加載到網絡,經過多個周期的迭代不斷自主學習,參數不斷得到優化.生成最優網絡模型參數,提高識別準確率,降低損失值.網絡測試模塊:測試數據加載到網絡,利用訓練過程中生成的最優網絡參數對測試數據集進行測試,對網絡模型的性能進行檢測.

圖3 總體設計方案Fig.3 Overall design scheme

圖4 網絡整體結構Fig.4 Overall network structure
網絡整體結構如圖4所示,首先選擇合理的骨架點遍歷順序進行骨架行為建模,CNN 網絡模型對數據進行處理很好的解決了共現信息提取的問題且對于高層信息提取非常出色.提出一種端到端多流卷積網絡模型來提取骨架行為特征用于人體骨架行為識別.骨架數據中可能包括多個人,本網絡支持多人員行為識別.把原始數據、時間差分和空間差分數據輸入多流結構與參數相同的卷積神經子網絡,分層提取特征信息最后根據特征圖進行多人特征信息融合和分類識別.
骨架序列S 可以表示為五維矩陣N*C*T*V*M 形式,其中N:代表批量樣本數,C:通道數,把x,y,z 每一維度作為一個通道.T:樣本序列幀數,V:骨架中關節點個數,M:序列中人數.為減小拍攝視角和骨架提取等物理誤差等因素對識別結果的影響,針對于人體骨架序列的時空性和共現性等特點,本文采用時域差分和空域差分的方法描述骨架的時空特征,輸入CNN(convolution Neural Network)提取骨架的特征信息.時間坐標系下,V 表示骨架集合.一個骨架序列t 時刻的骨架點可以表示為集合Vt,t 時刻的第個i 骨架點表示為原始骨架集合如公式(1)所示:

時域差分集合表示為Mt,如公式(2)所示:

空域差分集合表示為St,如公式(3)所示:


圖5 網絡模型Fig.5 Network model
骨架數據集V、時間差分數據Mt和空間差分數據St分別輸入多流結構與參數相同的卷積神經子網絡,第一層卷積的卷積核設為1* 1,第二層卷積核設置為3* 1,對人體骨架點每個三維坐標序列進行特征學習.經過轉置變換后通道和關節互換,關節維度變成通道,第三、四層卷積對全部關節點進行特征學習和提取.前四層卷積神經網絡并行提取時空特征信息,然后把各子網絡特征信息進行合并(采用concat 拼接方法),第五、六層卷積神經網絡對合并后的信息進行全局時空特征提取.接著對多人特征信息融合(融合方式有concat/mean/max),經過兩個全連接最后進行softmax行為分類識別.網絡模型如圖5 所示,卷積層:1×1×32 表示卷積核大小1×1,輸出通道為32,/2 表示最大池化步幅為2.
實驗采用3D 標準骨架行為識別NTU_RGB+D 數據集,NTU_RGB+D 由40 位志愿者三個攝像機在實驗室環境下拍攝完成,包括60 種行為5.668 萬個樣本序列,此數據集有兩種評價方式 CS(cross Subject)和 CV(cross View).在 CS 其中20 名人員數據作為訓練集剩下的作為測試集,分別包括40320 和16560 個樣本.在CV 中攝像機2 和3 拍攝數據作為訓練集,攝像機1 拍攝數據作為測試機分別包括37920 和18960 個樣本.原始數據、時間差分和空間差分數據輸入多流卷積網絡模型,研究骨架動作建模方式以及不同的信息融合方式對識別準確率的影響,實驗結果如表1 所示.

表1 骨架建模方式以及信息融合方式對識別準確率的影響Table 1 Influence of framework modeling mode and information fusion mode on recognition accuracy
本文對NTU_RGB+D 數據集進行研究,骨架數據可看作相鄰關節點存在某種依賴關系的序列.行為的發生是由身體的各個部分互相協調完成,合理的骨架建模方式可有效體現身體各部分依賴關系.如表1 所示,實驗數據表明相同信息融合方式的情況下,實驗證明骨架動作建模識別相比于原始骨架建模方式識別準確率明顯提高.骨架動作建模方式2 略優于骨架動作建模方式1,優于原始骨架建模.信息融合作為網絡特征提取的重要部分,合理的信息融合方式可提高識別準確率.由表1 所示,相同骨架動作建模方式下,Max 信息融合方式明顯優于Concat 和Mean 信息融合方式.Max 信息融合方式能夠有效提取特征信息保持高級特征信息的完整性.
多流卷積神經網絡信息融合如表2 所示,網絡采用骨架動作建模和Max 信息融合方式.其中原始數據表示為V、時間差分數據表示為M、空間差分數據表示為S.

表2 不同數據的識別準確率Table 2 Recognition accuracy of different data
針對人體骨架序列的時空性和共現性等特點,本文采用時域差分和空域差分的方法描述骨架的時空特征,把原始數據、時間差分和空間差分數據輸入多流卷積神經網絡分層學習特征信息最后進行時空信息融合并進行檢測識別.如表2所示,V+S 相比于原始數據V 在CS 和CV 上準確率分別提高 2.0%和 1.0%,V+M 相比于原始數據 V 在 CS 和 CV 上準確率分別提高了4.8%和5.3%,且V+M 比V+S 準確率分別高2.8%和4.3%,表明時間差分數據相比于空間差分數據包含更多的行為特征信息.V+M+S 準確率相比于V+M在CS 和CV 準確率上分別提升0.6%和0.3%,表明空間差分特征與時間差分特征具有相關性,實驗在四種多流網絡模型下行為識別的準確率不斷提高充分證明了該方法的有效性.
網絡采用骨架動作建模和原始數據、時間差分和空間差分信息Max 融合方式,準確率和損失函數值隨著訓練次數變化曲線圖.如圖6 和圖7 所示,虛線代表訓練損失函數值變化和準確率變化曲線,實線代表測試損失函數值變化和準確率變化曲線.當訓練次數達到600 時,識別準確率和損失函數值基本保持不變,人體骨架行為識別達到收斂完成識別任務.

圖6 損失函數值變化曲線Fig.6 Loss function value

圖7 準確率變化曲線Fig.7 Accuracy curve
典型算法性能比較如表3 所示.

表3 經典網絡模型比較Table 3 Comparison of classical network models
如表3 所示為NTU_RGB+D 數據集下典型算法實驗結果,相比于HCN 網絡模型,本文網絡在CS 下準確率不相上下,在CV 下準確率提高1.4 個百分點.本文提出的多支流卷積神經網絡模型能夠有效提取時空共現信息,并進行骨架運動特征融合,對行為識別具有較高的準確率.
本文在原始模型基礎上,改變了骨架行為建模方式,增加了空間差分信息和時間差分信息,提出了一種基于多流CNN骨架識別的模型,本識別模型在NTU_RGB+D 數據集上的測試表明該模型的在CS 測試集中的準確率達到86.4%;在CV 測試集中的準確率達到92.5%.
同時也注意到本模型依然存在不足.比如原始數據、空間差分數據和時間差分數據進行融合存在信息冗余現象,且空間差分信息以增加計算量為代價,但對于行為識別準確率提高幅度不大.如何降低信息冗余和進一步挖掘空間差分數據的特征信息,將是我們今后研究的重點.相信隨著理論和技術的不斷發展成熟,不久的將來一定能得到突破性并在社會中得到廣泛應用.