APP下载

基于双流独立循环神经网络的人体动作识别

2020-07-23葛鹏花智敏于华郝岩

现代电子技术 2020年4期
关键词:特征融合特征提取

葛鹏花 智敏 于华 郝岩

摘  要: 针对RGB视频中遮挡物以及其他外界因素对人体动作识别产生影响,以及识别精确度有待提升的问题,提出基于双流独立循环神经网络人体动作识别算法。在提取特征方面,时间网络采用分层IndRNN对时序中3D骨架坐标信息进行特征提取;空间网络采用深层的IndRNN对每个时刻骨架的空间位置关系进行特征提取,其中骨架的空间结构采用了图遍历的方法。对于空间网络和时间网络的特征融合采用加权求和的方式,最后用softmax对动作进行分类。在3D骨架动作数据集(NTU RGB+D)以及交互数据集(SBU Interaction Dataset)上验证了模型的有效性。

关键词: 人体动作识别; 双流网络; 独立循环神经网络; 特征提取; 特征融合; 模型验证

中图分类号: 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  引  言

人体动作识别不仅在机器人服务上有很大的应用前景,而且对医疗、公共安全、人群异常事件分析等方面也发挥着举足轻重的作用。但是受到背景杂乱、光照条件、影像采集设备各异、人体动作库类别不足等因素的影响,人体动作识别仍然面临着很大的挑战。近年来人体数据库在动作类别、不同视觉角度等方面的扩充,以及深度传感器在人体上的应用,为研究动作识别提供了新的机会,越来越多的深度学习方法被应用到人体行为识别上。

根据调查基于深度学习的人体动作识别研究取得了一系列的成果[1],其中基于RGB视频主要利用CNN,3DCNN[2?4]提取人体的空间结构特征和连续帧中的运动信息或者CNN与RNN相结合提取空间与时间关系的特征[5?7]。基于骨架和深度图主要是利用RNN及其变体提取关节点之间时间维度特征进行动作分类,另外还有部分文献中采用CNN将骨架关节信息编码为图像信息[8?10]。循环神经网络(RNN)[11]能够对之前的输入和状态进行存储,对获取时间动态的信息发挥着很大的优势。文献[12]提出了分层循环神经网络,将人体分为五个部分,分别输入五个子网训练它们,最后将提取的特征输入到一个单层感知机中决定最终的动作类别。而文献[13]在LSTM的基础上将其记忆单元分为基于部件的子单元网络——P?LSTM网络,它能够独立地记忆每个身体部件的上下文信息。文献[14]提出双流循环神经网络,分别对时间通道和空间通道获取的特征信息结合起来更好地保证了关节的空间信息。文献[15]提出了一个可以捕获相邻关节时空信息的ST?LSTM网络,并将关节转换为树状结构作为框架的输入。文献[16]将全连接层作为前馈融合层,可以自动结合所有关节之间的运动信息。Zhang S等人首先计算8个几何特征,如关节、线和平面之间的距离、方向和角度[17]。然后,将各种特征输入到多层LSTM网络中。

卷积神经网络对静态图片特征提取有着无与伦比的优势,近年来也逐渐被使用到视频特征处理方面[18]。然而由于循环神经网络的特殊性,大多数研究者将其应用于语音识别、机器翻译、图像描述等方面,而对于视频人體动作识别的相关研究相对比较少,且现有的循环神经网络方法精确度有待提高。本文采用Li S等人提出的独立循环神经网络(IndRNN)模型构建双流独立循环神经网络[19],能够有效地结合时间特征以及空间特征对人体动作进行识别,有效地提高了人体动作的识别精度。

1  循环神经网络

1.1  传统的循环神经网络

循环神经网络(RNN)的结构与前馈神经网络相比就是在神经元之间形成了一个定向循环,其中上一时刻隐藏状态和此时的输入同时作为神经元的输入,所以网络能够对前一时刻的信息进行记忆。

状态更新可以表示为:

[ht=δ(uht-1+wxt+b)]         (1)

式中:[ht]为隐藏层状态;u和w分别为循环权重和输入权重;b为偏置。

理论上循环神经网络能够处理任意长度的序列,但是在训练过程中由于权重的重复相乘会产生梯度消失和爆炸的问题以及很难进行长期的学习,如下:

[ht=δ(u(uht-2+wxt-1+b)+wxt+b)    =δ(u2ht-2+u(wxt-1+b)+wxt+b)] (2)

1.2  长短时记忆神经网络

为了解决长序列依赖的问题,LSTM中引入了单独的记忆单元,记忆可从上个时刻传递到下个时刻,但是有些事情做过后就不能再记着,所以在记忆单元中加入了门控机制。

门的主要结构是使用sigmoid神经网络,sigmoid通过输出一个大于0小于1之间的数值,来控制当前输入有多少信息量。

LSTM在一定程度上缓解了梯度消失和梯度爆炸的问题,但是LSTM使用sigmoid函数和双曲正切函数会使梯度随图层衰减,对于构建一个深层的网络就变得很困难。

1.3  独立循环神经网络

独立循环神经网络与传统的循环神经网络不同之处就是在同一层的神经元之间没有连接,神经元只接收此时的输入以及前一时刻它自己的隐藏状态,所以能够实现并行运算,加快训练速度。传统循环神经网络与独立循环神经网络隐藏层之间的连接对比图如图1所示。

IndRNN的状态更新可以表示为:

[ht=ReLu(wxt+u⊙ht-1+b)] (3)

不同神经元之间的相关性可以通过堆叠两层或多层进行利用。在这种情况下,下一层中的每个神经元处理前一层中所有神经元的输出。对于第n个神经元,可以得到隐藏状态如下:

[hn,t=ReLu(wnxt+unhn,t-1+bn)] (4)

式中,wn和un分别是第n行的输入权重和循环权重。IndRNN基本的循环结构如图2所示,可以通过堆叠基本的结构构建更深更长的网络。

独立循环神经网络采用ReLu激活函数有效地解决了LSTM的不足,不仅可以有效地防止梯度爆炸和消失,还可以构建更深更长的网络,同时还能让网络长期学习。

2  双流独立循环神经网络结构

人体的不同行为能够通过骨架的主要关节点运动来表现,关节点随时间运动的时序特征通过循环神经网络的隐藏层获得,而骨骼的空间结构信息则需要以图遍历的形式输入到空间网络中。所以本文采取双流独立循环神经网络,其中在输入骨骼数据之前先对其进行标准化处理,为了防止过拟合每一层之间都加入了dropout层。通过堆叠多层使网络能够有效的学习,对比实验发现IndRNN在六层的时候效率最高,所以在时间和空间网络都采用六层网络。在特征融合方面采用加权求和的方式,得到最终的分类结果,整体框架如图3所示。

2.1  时间独立循环神经网络

人的身体被划分为五个部分:两个胳膊、躯干、两条腿,身体运动是靠这五个部分中的一个部分或者几个部分相互配合产生。本文将时间网络结构划分为五个子网络,分别学习这五个部分的特征,每个子网通过堆叠多层构建深层网络,数据X=(X1,X2,…,X5)分别作为各个子网的输入,用向量[Xit]表示t时刻第i层子网的输入,t时刻隐藏状态为:

[hti=ReLu(wixti+ui⊙ht-1i+bi)]   (5)

不同关节点[Xtij]的相关性通过堆叠多层IndRNN循环结构(见图2)可以得到,子网络最终的隐藏状态可以表示为:

[htij=ReLu(wijxt+uijht-1ij+bij)]  (6)

将子网络的特征进行融合后输入到下一层IndRNN得到整个身体的运动特征,最后输入到具有softmax激活函数的全连接层映射为动作类,结果可表示为:

[y=softmax(ht)] (7)

式中:[y]表示预测标签值;[ht]表示为整个身体的运动特征。训练过程中使用交叉熵方法使得输出标签[y]与真实标签yi差距达到最小,如下:

[loss=-yilog(y)]              (8)

时间分层IndRNN结构如图4所示。

2.2  空间独立循环神经网络

将人体骨架视作图结构,根据骨骼中相邻关节点的关系采用图遍历的方法将骨架信息转化为序列,然后作为空间网络的输入,遍历顺序以人体脊柱关节为起始点,先遍历左胳膊,然后遍历右胳膊、躯干左腿、右腿,最后返回到脊柱中心的起点位置,采用遍历的方法能够更好地模拟关节间的空间依赖性。空间网络的结构采用堆叠的形式,状态更新原理与时间网络的子网络相同。以NTU RGB+D数据库中的人体骨架为例[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  特征融合

时间网络和空间网络分别提取骨骼特征对动作映射为n个类。然后利用加权求和的方式,得到最终的分类结果,特征融合公式为:

[Y=w1xT+w2xPw1+w2=1] (9)

式中:xT,xP分別表示时间和空间特征;w1,w2分别为时间特征和空间特征的权重。根据式(9)能够计算出融合时间特征以及空间特征的加权和,最终映射为动作类别。

3  实  验

3.1  数据集

NTU RGB+D是当前最大的基于Kinect的人体动作识别数据集,它包括RGB视频、深度图序列、3D骨架数据以及红外视频等一共56 880个动作样本。3D骨架数据每个帧包含25个主要身体关节的坐标信息。数据集中包含了60个不同的行为类,分别为40个日常生活类(包括喝水、摇头、擦脸等)、9个疾病类(包括头疼、背疼、呕吐等)、11个交互类(包括拥抱、握手等)。这个数据集有两个标准的评估标准。 第一个是跨受试者评估协议,其中一半受试者用来训练,另一半用于测试。第二个是交叉视角,其中两个视角2和3用于训练,视角1用来测试。

SBU Interaction Dataset数据集中包含8类交互动作,共有282个序列,每个骨架由15个关节表示,每帧由2个骨架组成。将数据集分为5个交叉集,然后选4个交叉集进行训练,1个作为验证,然后对每种交叉验证的准确率求平均值作为最后的准确率。

3.2  实验细节

在实验中,本文采用pytorch深度学习框架,并利用NVIDIA推出的Cuda 9.0版本对IndRNN基本的网络结构进行加速。由于IndRNN每一层中神经元相互独立,在程序运行过程中能够充分利用GPU的并行运算能力。数据集中的每个序列包含一个或者两个骨架,首先将两个骨架序列作为输入,如果只有一个骨架时将另外一个骨架用零向量填充。本文采用的分层网络每个部分分别设置为5层,最后1层融合整个身体信息。在NTU RGB+D数据集上身体部分神经元个数采用128个,整个身体的神经元个数为512个。对于SBU数据集,因为数据集的样本较少,通过减少神经元个数设置为64和256。而空间网络同样设置为6层,神经元个数在NTU RGB+D数据集和SBU数据集上分别设置为512个和256个。

3.3  实验结果分析

实验在常用的两个数据集SBU数据集以及NTU RGB+D数据集上对不同的方法进行了对比,由于NTU RGB+D数据集较大有不同的人、不同的视角做相同的动作,所以对NTU RGB+D动作类进行了混淆度的分析。首先在SBU数据集上进行了实验,选取了精确度较高的双流循环神经网络与本文的方法进行对比。从表1中可以看出,本文的模型在5层的时候精确度略低于Wang H S等人的方法,但是在6层的时候,能够看到本文的方法与其他相比提高了2~3个百分点。

在NTU RGB+D数据集中,根据文献[13]提出的评估标准,对不同的方法分别在跨目标和跨视角两个方面进行对比。从表2中可以看出,本文的模型使用6层网络结构在跨视角和跨目标都比其他人的模型识别率高,由此可以看出本文的模型优于其他人的方法。

在此画出了模型在NTU RGB+D数据集中动作识别的部分混淆矩阵,如图6所示。从混淆矩阵中可以看出,本文模型在一些动作比如穿鞋和脱鞋、搓手和拍手、掉和扔东西等动作相差不大的类别更容易判断错误。这是由于数据集不同类别的人以及不同视角产生的误判,以及数据集数据较大具有一定的的挑战性。

4  结  论

本文在基本的独立循环神经网络基础上针对3D骨架信息的人体动作识别提出了双流独立循环神经网络模型,分别对人体骨架信息时间和空间特征进行提取,弥补了人体随时间运动的空间结构信息。本文模型通过在SBU数据集和NTU RGB+D数据集上进行了实验,与前人的方法相比精确度得到了提高。在之后的研究中将试图加入注意力模型或者在模型中加入推理模块结合人体以及与人体动作相关的物体对象进一步提高动作分类结果。

注:本文通讯作者为智敏。

参考文献

[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.

猜你喜欢

特征融合特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于Daubechies(dbN)的飞行器音频特征提取
基于多特征融合的图像匹配算法
人体行为特征融合与行为识别的分析
基于移动端的树木叶片识别方法的研究
基于SIFT特征的港口内舰船检测方法
一种基于LBP 特征提取和稀疏表示的肝病识别算法
基于DSP的直线特征提取算法
基于MED和循环域解调的多故障特征提取
Walsh变换在滚动轴承早期故障特征提取中的应用