葛鵬花 智敏 于華 郝巖
摘? 要: 針對RGB視頻中遮擋物以及其他外界因素對人體動作識別產生影響,以及識別精確度有待提升的問題,提出基于雙流獨立循環(huán)神經網(wǎng)絡人體動作識別算法。在提取特征方面,時間網(wǎng)絡采用分層IndRNN對時序中3D骨架坐標信息進行特征提取;空間網(wǎng)絡采用深層的IndRNN對每個時刻骨架的空間位置關系進行特征提取,其中骨架的空間結構采用了圖遍歷的方法。對于空間網(wǎng)絡和時間網(wǎng)絡的特征融合采用加權求和的方式,最后用softmax對動作進行分類。在3D骨架動作數(shù)據(jù)集(NTU RGB+D)以及交互數(shù)據(jù)集(SBU Interaction Dataset)上驗證了模型的有效性。
關鍵詞: 人體動作識別; 雙流網(wǎng)絡; 獨立循環(huán)神經網(wǎng)絡; 特征提取; 特征融合; 模型驗證
中圖分類號: TN915?34; TP391.4? ? ? ? ? ? ? ? 文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)04?0137?05
Human action recognition based on two?stream independently recurrent neural network
GE Penghua, ZHI Min, YU Hua, HAO Yan
(College of Computer Science and Technology, Inner Mongolia Normal University, Hohhot 010020, China)
Abstract: An algorithm of human action recognition based on two?stream independently recurrent neural network(IndRNN) is proposed to avoid the influence of obstructions and other external factors in RGB video on human action recognition and improve its recognition accuracy. In terms of extracting features, the hierarchical IndRNN is used in temporal network to extract the coordinate information of 3D skeleton in time series, and the deep IndRNN is used in spatial network to perform the feature extraction of the spatial position relation of the skeleton at each moment, in which the spatial structure of the skeleton is extracted by means of the graph traversal method. The feature fusion of spatial network and temporal network is carried out with the weighted sum, and the action is classified with the Softmax. The validity of the model is verified on the 3D skeletal motion dataset (NTU RGB + D) and interaction datasets (SBU Interaction Dataset).
Keywords: human action recognition; IndRNN; two?stream network; feature extraction; feature fusion; model validation
0? 引? 言
人體動作識別不僅在機器人服務上有很大的應用前景,而且對醫(yī)療、公共安全、人群異常事件分析等方面也發(fā)揮著舉足輕重的作用。但是受到背景雜亂、光照條件、影像采集設備各異、人體動作庫類別不足等因素的影響,人體動作識別仍然面臨著很大的挑戰(zhàn)。近年來人體數(shù)據(jù)庫在動作類別、不同視覺角度等方面的擴充,以及深度傳感器在人體上的應用,為研究動作識別提供了新的機會,越來越多的深度學習方法被應用到人體行為識別上。
根據(jù)調查基于深度學習的人體動作識別研究取得了一系列的成果[1],其中基于RGB視頻主要利用CNN,3DCNN[2?4]提取人體的空間結構特征和連續(xù)幀中的運動信息或者CNN與RNN相結合提取空間與時間關系的特征[5?7]?;诠羌芎蜕疃葓D主要是利用RNN及其變體提取關節(jié)點之間時間維度特征進行動作分類,另外還有部分文獻中采用CNN將骨架關節(jié)信息編碼為圖像信息[8?10]。循環(huán)神經網(wǎng)絡(RNN)[11]能夠對之前的輸入和狀態(tài)進行存儲,對獲取時間動態(tài)的信息發(fā)揮著很大的優(yōu)勢。文獻[12]提出了分層循環(huán)神經網(wǎng)絡,將人體分為五個部分,分別輸入五個子網(wǎng)訓練它們,最后將提取的特征輸入到一個單層感知機中決定最終的動作類別。而文獻[13]在LSTM的基礎上將其記憶單元分為基于部件的子單元網(wǎng)絡——P?LSTM網(wǎng)絡,它能夠獨立地記憶每個身體部件的上下文信息。文獻[14]提出雙流循環(huán)神經網(wǎng)絡,分別對時間通道和空間通道獲取的特征信息結合起來更好地保證了關節(jié)的空間信息。文獻[15]提出了一個可以捕獲相鄰關節(jié)時空信息的ST?LSTM網(wǎng)絡,并將關節(jié)轉換為樹狀結構作為框架的輸入。文獻[16]將全連接層作為前饋融合層,可以自動結合所有關節(jié)之間的運動信息。Zhang S等人首先計算8個幾何特征,如關節(jié)、線和平面之間的距離、方向和角度[17]。然后,將各種特征輸入到多層LSTM網(wǎng)絡中。
卷積神經網(wǎng)絡對靜態(tài)圖片特征提取有著無與倫比的優(yōu)勢,近年來也逐漸被使用到視頻特征處理方面[18]。然而由于循環(huán)神經網(wǎng)絡的特殊性,大多數(shù)研究者將其應用于語音識別、機器翻譯、圖像描述等方面,而對于視頻人體動作識別的相關研究相對比較少,且現(xiàn)有的循環(huán)神經網(wǎng)絡方法精確度有待提高。本文采用Li S等人提出的獨立循環(huán)神經網(wǎng)絡(IndRNN)模型構建雙流獨立循環(huán)神經網(wǎng)絡[19],能夠有效地結合時間特征以及空間特征對人體動作進行識別,有效地提高了人體動作的識別精度。
1? 循環(huán)神經網(wǎng)絡
1.1? 傳統(tǒng)的循環(huán)神經網(wǎng)絡
循環(huán)神經網(wǎng)絡(RNN)的結構與前饋神經網(wǎng)絡相比就是在神經元之間形成了一個定向循環(huán),其中上一時刻隱藏狀態(tài)和此時的輸入同時作為神經元的輸入,所以網(wǎng)絡能夠對前一時刻的信息進行記憶。
狀態(tài)更新可以表示為:
[ht=δ(uht-1+wxt+b)]? ? ? ? ?(1)
式中:[ht]為隱藏層狀態(tài);u和w分別為循環(huán)權重和輸入權重;b為偏置。
理論上循環(huán)神經網(wǎng)絡能夠處理任意長度的序列,但是在訓練過程中由于權重的重復相乘會產生梯度消失和爆炸的問題以及很難進行長期的學習,如下:
[ht=δ(u(uht-2+wxt-1+b)+wxt+b)? ? =δ(u2ht-2+u(wxt-1+b)+wxt+b)] (2)
1.2? 長短時記憶神經網(wǎng)絡
為了解決長序列依賴的問題,LSTM中引入了單獨的記憶單元,記憶可從上個時刻傳遞到下個時刻,但是有些事情做過后就不能再記著,所以在記憶單元中加入了門控機制。
門的主要結構是使用sigmoid神經網(wǎng)絡,sigmoid通過輸出一個大于0小于1之間的數(shù)值,來控制當前輸入有多少信息量。
LSTM在一定程度上緩解了梯度消失和梯度爆炸的問題,但是LSTM使用sigmoid函數(shù)和雙曲正切函數(shù)會使梯度隨圖層衰減,對于構建一個深層的網(wǎng)絡就變得很困難。
1.3? 獨立循環(huán)神經網(wǎng)絡
獨立循環(huán)神經網(wǎng)絡與傳統(tǒng)的循環(huán)神經網(wǎng)絡不同之處就是在同一層的神經元之間沒有連接,神經元只接收此時的輸入以及前一時刻它自己的隱藏狀態(tài),所以能夠實現(xiàn)并行運算,加快訓練速度。傳統(tǒng)循環(huán)神經網(wǎng)絡與獨立循環(huán)神經網(wǎng)絡隱藏層之間的連接對比圖如圖1所示。
IndRNN的狀態(tài)更新可以表示為:
[ht=ReLu(wxt+u⊙ht-1+b)] (3)
不同神經元之間的相關性可以通過堆疊兩層或多層進行利用。在這種情況下,下一層中的每個神經元處理前一層中所有神經元的輸出。對于第n個神經元,可以得到隱藏狀態(tài)如下:
[hn,t=ReLu(wnxt+unhn,t-1+bn)] (4)
式中,wn和un分別是第n行的輸入權重和循環(huán)權重。IndRNN基本的循環(huán)結構如圖2所示,可以通過堆疊基本的結構構建更深更長的網(wǎng)絡。
獨立循環(huán)神經網(wǎng)絡采用ReLu激活函數(shù)有效地解決了LSTM的不足,不僅可以有效地防止梯度爆炸和消失,還可以構建更深更長的網(wǎng)絡,同時還能讓網(wǎng)絡長期學習。
2? 雙流獨立循環(huán)神經網(wǎng)絡結構
人體的不同行為能夠通過骨架的主要關節(jié)點運動來表現(xiàn),關節(jié)點隨時間運動的時序特征通過循環(huán)神經網(wǎng)絡的隱藏層獲得,而骨骼的空間結構信息則需要以圖遍歷的形式輸入到空間網(wǎng)絡中。所以本文采取雙流獨立循環(huán)神經網(wǎng)絡,其中在輸入骨骼數(shù)據(jù)之前先對其進行標準化處理,為了防止過擬合每一層之間都加入了dropout層。通過堆疊多層使網(wǎng)絡能夠有效的學習,對比實驗發(fā)現(xiàn)IndRNN在六層的時候效率最高,所以在時間和空間網(wǎng)絡都采用六層網(wǎng)絡。在特征融合方面采用加權求和的方式,得到最終的分類結果,整體框架如圖3所示。
2.1? 時間獨立循環(huán)神經網(wǎng)絡
人的身體被劃分為五個部分:兩個胳膊、軀干、兩條腿,身體運動是靠這五個部分中的一個部分或者幾個部分相互配合產生。本文將時間網(wǎng)絡結構劃分為五個子網(wǎng)絡,分別學習這五個部分的特征,每個子網(wǎng)通過堆疊多層構建深層網(wǎng)絡,數(shù)據(jù)X=(X1,X2,…,X5)分別作為各個子網(wǎng)的輸入,用向量[Xit]表示t時刻第i層子網(wǎng)的輸入,t時刻隱藏狀態(tài)為:
[hti=ReLu(wixti+ui⊙ht-1i+bi)]? ?(5)
不同關節(jié)點[Xtij]的相關性通過堆疊多層IndRNN循環(huán)結構(見圖2)可以得到,子網(wǎng)絡最終的隱藏狀態(tài)可以表示為:
[htij=ReLu(wijxt+uijht-1ij+bij)]? (6)
將子網(wǎng)絡的特征進行融合后輸入到下一層IndRNN得到整個身體的運動特征,最后輸入到具有softmax激活函數(shù)的全連接層映射為動作類,結果可表示為:
[y=softmax(ht)] (7)
式中:[y]表示預測標簽值;[ht]表示為整個身體的運動特征。訓練過程中使用交叉熵方法使得輸出標簽[y]與真實標簽yi差距達到最小,如下:
[loss=-yilog(y)]? ? ? ? ? ? ? (8)
時間分層IndRNN結構如圖4所示。
2.2? 空間獨立循環(huán)神經網(wǎng)絡
將人體骨架視作圖結構,根據(jù)骨骼中相鄰關節(jié)點的關系采用圖遍歷的方法將骨架信息轉化為序列,然后作為空間網(wǎng)絡的輸入,遍歷順序以人體脊柱關節(jié)為起始點,先遍歷左胳膊,然后遍歷右胳膊、軀干左腿、右腿,最后返回到脊柱中心的起點位置,采用遍歷的方法能夠更好地模擬關節(jié)間的空間依賴性??臻g網(wǎng)絡的結構采用堆疊的形式,狀態(tài)更新原理與時間網(wǎng)絡的子網(wǎng)絡相同。以NTU RGB+D數(shù)據(jù)庫中的人體骨架為例[13],遍歷順序為:21?9?10?11?12?25?24?25?12?11?10?9?21?5?6?7?8?23?22?23?8?7?6?5?3?4?3?21?2?1?17?18?19?20?19?18?17?1?13?14?15?16?15?14?13?1?2?21,如圖5所示。
2.3? 特征融合
時間網(wǎng)絡和空間網(wǎng)絡分別提取骨骼特征對動作映射為n個類。然后利用加權求和的方式,得到最終的分類結果,特征融合公式為:
[Y=w1xT+w2xPw1+w2=1] (9)
式中:xT,xP分別表示時間和空間特征;w1,w2分別為時間特征和空間特征的權重。根據(jù)式(9)能夠計算出融合時間特征以及空間特征的加權和,最終映射為動作類別。
3? 實? 驗
3.1? 數(shù)據(jù)集
NTU RGB+D是當前最大的基于Kinect的人體動作識別數(shù)據(jù)集,它包括RGB視頻、深度圖序列、3D骨架數(shù)據(jù)以及紅外視頻等一共56 880個動作樣本。3D骨架數(shù)據(jù)每個幀包含25個主要身體關節(jié)的坐標信息。數(shù)據(jù)集中包含了60個不同的行為類,分別為40個日常生活類(包括喝水、搖頭、擦臉等)、9個疾病類(包括頭疼、背疼、嘔吐等)、11個交互類(包括擁抱、握手等)。這個數(shù)據(jù)集有兩個標準的評估標準。 第一個是跨受試者評估協(xié)議,其中一半受試者用來訓練,另一半用于測試。第二個是交叉視角,其中兩個視角2和3用于訓練,視角1用來測試。
SBU Interaction Dataset數(shù)據(jù)集中包含8類交互動作,共有282個序列,每個骨架由15個關節(jié)表示,每幀由2個骨架組成。將數(shù)據(jù)集分為5個交叉集,然后選4個交叉集進行訓練,1個作為驗證,然后對每種交叉驗證的準確率求平均值作為最后的準確率。
3.2? 實驗細節(jié)
在實驗中,本文采用pytorch深度學習框架,并利用NVIDIA推出的Cuda 9.0版本對IndRNN基本的網(wǎng)絡結構進行加速。由于IndRNN每一層中神經元相互獨立,在程序運行過程中能夠充分利用GPU的并行運算能力。數(shù)據(jù)集中的每個序列包含一個或者兩個骨架,首先將兩個骨架序列作為輸入,如果只有一個骨架時將另外一個骨架用零向量填充。本文采用的分層網(wǎng)絡每個部分分別設置為5層,最后1層融合整個身體信息。在NTU RGB+D數(shù)據(jù)集上身體部分神經元個數(shù)采用128個,整個身體的神經元個數(shù)為512個。對于SBU數(shù)據(jù)集,因為數(shù)據(jù)集的樣本較少,通過減少神經元個數(shù)設置為64和256。而空間網(wǎng)絡同樣設置為6層,神經元個數(shù)在NTU RGB+D數(shù)據(jù)集和SBU數(shù)據(jù)集上分別設置為512個和256個。
3.3? 實驗結果分析
實驗在常用的兩個數(shù)據(jù)集SBU數(shù)據(jù)集以及NTU RGB+D數(shù)據(jù)集上對不同的方法進行了對比,由于NTU RGB+D數(shù)據(jù)集較大有不同的人、不同的視角做相同的動作,所以對NTU RGB+D動作類進行了混淆度的分析。首先在SBU數(shù)據(jù)集上進行了實驗,選取了精確度較高的雙流循環(huán)神經網(wǎng)絡與本文的方法進行對比。從表1中可以看出,本文的模型在5層的時候精確度略低于Wang H S等人的方法,但是在6層的時候,能夠看到本文的方法與其他相比提高了2~3個百分點。
在NTU RGB+D數(shù)據(jù)集中,根據(jù)文獻[13]提出的評估標準,對不同的方法分別在跨目標和跨視角兩個方面進行對比。從表2中可以看出,本文的模型使用6層網(wǎng)絡結構在跨視角和跨目標都比其他人的模型識別率高,由此可以看出本文的模型優(yōu)于其他人的方法。
在此畫出了模型在NTU RGB+D數(shù)據(jù)集中動作識別的部分混淆矩陣,如圖6所示。從混淆矩陣中可以看出,本文模型在一些動作比如穿鞋和脫鞋、搓手和拍手、掉和扔東西等動作相差不大的類別更容易判斷錯誤。這是由于數(shù)據(jù)集不同類別的人以及不同視角產生的誤判,以及數(shù)據(jù)集數(shù)據(jù)較大具有一定的的挑戰(zhàn)性。
4? 結? 論
本文在基本的獨立循環(huán)神經網(wǎng)絡基礎上針對3D骨架信息的人體動作識別提出了雙流獨立循環(huán)神經網(wǎng)絡模型,分別對人體骨架信息時間和空間特征進行提取,彌補了人體隨時間運動的空間結構信息。本文模型通過在SBU數(shù)據(jù)集和NTU RGB+D數(shù)據(jù)集上進行了實驗,與前人的方法相比精確度得到了提高。在之后的研究中將試圖加入注意力模型或者在模型中加入推理模塊結合人體以及與人體動作相關的物體對象進一步提高動作分類結果。
注:本文通訊作者為智敏。
參考文獻
[1] ZHANG Z, MA X, SONG R, et al. Deep learning based human action recognition: a survey [C]// 2017 Chinese Automation Congress.? Jinan: IEEE, 2017: 3780?3785.
[2] CHERON G, LAPTEV I, SCHMID C. P?CNN: pose?based CNN features for action recognition [C]// 2015 IEEE International Conference on Computer Vision. Santiago: IEEE, 2015: 3218?3226.
[3] JI S, XU W, YANG M, et al. 3D convolutional neural networks for human action recognition [J]. IEEE transactions on pattern analysis and machine intelligence, 2013, 35(1): 221?231.
[4] LIU H, TU J, LIU M. Two?stream 3D convolutional neural network for skeleton?based action recognition [J]. Computer science, 2017(1): 47?52.
[5] VAROL G, LAPTEV I, SCHMID C. Long?term temporal convolutions for action recognition [J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 40(6): 1510?1517.
[6] DONAHUE J, ANNE HENDRICKS L, GUADARRAMA S, et al. Long?term recurrent convolutional networks for visual recognition and description [C]// Proceedings of Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 2625?2634.
[7] ZHAO R, ALI H, SMAGT P. Two?stream RNN/CNN for action recognition in 3D videos [C]// 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems. Vancouver: IEEE, 2017: 4260?4267.
[8] LIU H, TU J, LIU M. Two?stream 3D convolutional neural network for skeleton?based action recognition [J]. Computer science, 2017(1): 47?52.
[9] YANG Zhengyuan, LI Yuncheng, YANG Jianchao, et al. Action recognition with spatio?temporal visual attention on skeleton image sequences [J]. IEEE transactions on circuits and systems for video technology, 2018(6): 1.
[10] LI C, WANG P, WANG S, et al. Skeleton?based action recognition using LSTM and CNN [C]// 2017 IEEE International Conference on Multimedia & Expo Workshops. Hong Kong, China: IEEE, 2017: 585?590.
[11] PINEDA F J. Generalization of back?propagation to recurrent neural networks [J]. Physical review letters, 1987, 59(19): 2229.
[12] DU Y, WANG W, WANG L. Hierarchical recurrent neural network for skeleton based action recognition [C]// Proceedings of IEEE Conference: Computer Vision and Pattern Recognition. Seattle: IEEE, 2015: 1110?1118.
[13] SHAHROUDY A, LIU J, NG T T, et al. NTU RGB+D: A large scale dataset for 3D human activity analysis [C]// Proceedings of IEEE Conference: Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 1010?1019.
[14] WANG H S, WANG L. Modeling temporal dynamics and spatial configurations of actions using two?stream recurrent neural networks [J]. Computer science, 2017(17): 147?150.
[15] LIU J, SHAHROUDY A, XU D, et al. Spatio?temporal LSTM with trust gates for 3D human action recognition [M]// BASTIAN Leibe, JIRI Matas, NICU Sebe, et al. Computer Vision?ECCV 2016. Amsterdam: Springer, 2016: 816?833.
[16] ZHU W, LAN C, XING J, et al. Co?occurrence feature learning for skeleton based action recognition using regularized deep LSTM networks [J]. AAAI, 2016, 2(5): 6.
[17] ZHANG S, LIU X, XIAO J. On geometric features for skeleton?based action recognition using multilayer lstm networks [C]// 2017 IEEE Winter Conference on Applications of Computer Vision. Santa Rosa: IEEE, 2017: 148?157.
[18] 曹晉其,蔣興浩,孫錟鋒.基于訓練圖CNN特征的視頻人體動作識別算法[J].計算機工程,2017,43(11):234?238.
[19] LI S, LI W, COOK C, et al. Independently recurrent neural network (IndRNN): building a longer and deeper RNN [C]// Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 14?20.