人体动作识别,又称人体行为识别,历经多年的发展,为人与机器或人与人间的远距离自动交互提供了可能,成为了一项具有重要发展背景的深度学习任务,在医学、交通、教育、娱乐、安防监控、元宇宙等领域有着广阔的应用前景。早在深度学习未发展成熟之前,很多相关研究已经采取了手动标注的三维动作识别[1-2]。传统方法都是将空间信息转换为手工设置的特征值[3],再利用传统分类方法如支持向量机(Support Vector Machine, SVM) [4]等对特征进行分类,但这些方法存在局限性,主要表现在特征向量一旦确定就无法改变,不会随着训练过程的进行而适应输入的变化,抗干扰能力较弱[5]。随着深度学习的不断发展,基于深度神经网络的人体动作识别算法逐步替代传统手工特征算法成为研究主流[6-7]。
目前基于深度学习的相关算法分为两大技术流派,一个是基于RGB视频数据的动作识别技术[8-9],另一个是基于人体骨架关节点信息的动作识别技术。相比于RGB视频数据信息,人体骨架信息不受背景、光照等噪声的干扰,且骨架数据维度较小、计算效率高,能够提供良好的人体行为表征,因此受到越来越多的关注。
早期的深度学习算法是将人体的骨架关节点信息视为一组独立的特征,并将其处理为一种特征序列或者伪图,然后输入到卷积神经网络(Convolutional Neural Networks, CNN) [10-12]或者循环神经网络(Recurrent Neural Networks, RNN) [13-15]中处理特征信息进行动作分类。然而人体是天然的拓扑结构,基于CNN或RNN的算法忽略了在运动过程中人体关节点之间内在的时空相关性,而关节之间的相关性由人体的拓扑结构表征,是基于人体骨架信息的动作识别不可忽视的重要信息[16]。图卷积网络(Graph Convolutional Networks, GCN) 对于处理人体关节点的拓扑结构的特征信息有着巨大的优势,Yan等[17]提出了ST-GCN,最先将GCN结合时域卷积网络(Temporal Convolutional Networks, TCN) 提取关节点的时空特征,并应用到人体动作识别中。在此基础上,Shi等[18]提出了2s-AGCN,该双流网络添加了关节点之间的骨架信息作为特征信息,增加了网络获取的信息量,可以自适应学习针对不同样本不同的拓扑结构,大大提高了动作的识别率。Zhang等[19]提出了轻量级的网络SGN,首次提出了关节点的语义表示,提升了动作识别精度,但其特征融合方式并不适用于复杂的多层网络。
后来的研究大都是以提高GCN计算效率以及特征提取的能力为目标[20-21]。Li等[22]提出了轻量级网络PR-GCN,在不影响精度的前提下,大大减少了网络的参数量,同时显著提高了计算效率。Yang等[23]提出了PGCN-TCA,使用了混合时间和通道注意的方法来提取不同帧和通道的不同重要性。Ding等[24]提出的Sem-GCN包含了3种类型的图:结构图、动作图和注意图,增大了图卷积核的感受野,同时也捕捉到关节间的潜在相关性。这些改进后的GCN计算方法[22-24]增加了网络的灵活性和鲁棒性,以适应不同的类型的动作样本。然而,这些算法忽略了各节点时间空间上语义信息的重要性,在融合更加丰富的时空特征信息,自适应地学习更加有效的拓扑结构来应对复杂的动作方面还有很大的提升空间。
因此,本文改进了SGN原有的语义信息融合方式,将关节点类型、帧间索引的语义信息与数据集原有的关节点信息进行特征融合,集成一个语义信息编码模块,再通过残差连接传递到深层的网络。这样的方式更适用于大型的多层网络,语义的引导也为网络提供了更加丰富的关节点特征信息。其次,针对现有GCN算法固定的邻接矩阵的局限性,本文提出了一种拓扑结构推理网络,结合CNN特征学习能力,能够自适应地根据不同样本的上下文特征信息而学习到不同的拓扑结构。本文将语义信息编码模块与拓扑结构推理网络应用到双流自适应图卷积网络2s-AGCN中,增加了相关运动流分支,提出了一种语义引导下的自适应拓扑推理图卷积网络,精度得到了显著的提升。本文的语义信息编码模块和拓扑结构推理网络适用于大多数GCN算法。实验结果证明,本文提出的网络在基于骨架信息的人体动作识别大型数据集NTU RGB+D、NTU RGB+D 120上均达到了目前先进水平。
1 本文方法 1.1 整体结构本文提出的语义引导下自适应拓扑推理图卷积网络总体结构如图1所示。首先,由人体关节点间相对空间位置信息计算得到人体骨架的空间位置信息,再分别计算关节点和骨架邻帧位置向量差得到关节点和骨架的运动信息。这4类信息经过语义信息编码模块,融合关节点类型和帧间索引的高级语义信息,然后将编码及融合后得到的关节点信息、关节点运动信息、骨架信息、骨架运动信息作为多流自适应图卷积网络的各个分支对应的输入,并可通过残差连接传递到更深层的网络。多流自适应图卷积网络的每个分支都由9个自适应图卷积块组成,每个自适应图卷积块又由含拓扑结构推理网络的自适应图卷积层、Batch Normalization层、Relu激活函数、Dropout操作、TCN组成。在进行GCN计算时,通过自适应图卷积块提取空间和时间上的有效特征信息。4个分支独立计算,对各自计算后的Softmax分数加权求和,作为最终的Softmax分数,选用交叉熵损失函数作为网络最终的损失函数进行梯度反向传播,从而实现基于骨架关节点信息的人体动作识别。
![]() |
图 1 本文网络整体结构 Figure 1 The overview of proposed network |
Zhang等[19]提出了SGN,首次使用人体关节点的高级语义表示(关节点类型与帧间索引),增强了特征表示能力,证明了语义信息的引导相较于单一的关节点位置信息在动作识别上效果更加显著。然而SGN原有的语义信息融合方式适用于单层的轻量级网络,却不适用于复杂的多层网络,因为随着网络层数的增加,SGN原有的“关节点类型融合—GCN计算—帧间索引融合”先后分块的特征融合方式不能使网络获得更加丰富的信息,反而在深层的网络中语义信息会成为噪声影响识别精度。
本文提出的语义信息编码模块是对SGN原有的特征融合方式进行了改进,将语义信息的融合集成在一个模块内,使其更加适合复杂的多层网络。模块的实现如下:首先,原始的关节点位置信息会经过一次编码;然后,通过不同的特征融合方式对不同的语义信息进行融合;最后将融合语义信息后的关节点特征信息作为网络输入进行GCN的计算。
1.2.1 关节点位置信息编码在NTU RGB+D等数据集中,骨架关节点的位置信息表现为骨架关节点的空间三维坐标,即
$ \widetilde{{{\boldsymbol{J}}}_{t,k}}=\sigma \left({{\boldsymbol{W}}}_{2}\right(\sigma ({{\boldsymbol{W}}}_{1}{{\boldsymbol{J}}}_{t,k}+{{\boldsymbol{b}}}_{1}) ) +{{\boldsymbol{b}}}_{2}) \in {\mathbf{R}}^{{C}_{1}} $ | (1) |
式中:
将关节点独热编码向量
$ {{\boldsymbol{z}}}_{t,k}=[\widetilde{{{\boldsymbol{J}}}_{t,k}},\widetilde{{{\boldsymbol{j}}}_{k}}]\in {\mathbf{R}}^{2{C}_{1}} $ | (2) |
在第t帧中的人体结构所有关节点就可以表示为
使用独热编码
$ {{\boldsymbol{x}}}_{t,k}={{\boldsymbol{z}}}_{t,k}+\widetilde{{{\boldsymbol{f}}}_{t}}\in {\mathbf{R}}^{{C}_{\mathrm{i}\mathrm{n}}} $ | (3) |
式中:
对于多层的网络,本方法使用含卷积块的残差连接[25]将关节点特征信息
将经过语义信息编码模块的关节点特征信息作为输入,进行GCN的计算。本文的自适应拓扑推理图卷积网络是在2s-AGCN[18]基础上应用拓扑结构推理网络进一步改进得到的。
1.3.1 拓扑结构推理网络由于CNN具有高效的特征学习能力,在自适应学习人体关节点的拓扑信息提升GCN网络的识别精度上有很大的潜力。然而大多数GCN算法都忽视了这一点,只在GCN的计算方式上或者网络结构上进行改进,使用预定义的邻接矩阵来静态地表示人体拓扑结构,忽略了运动过程中人体不相邻的关节点之间也存在潜在的相关性。
因此本文提出了一种拓扑结构推理网络动态地根据不同的样本学习不同的拓扑结构,如图2所示。
![]() |
图 2 拓扑结构推理网络 Figure 2 Skeleton topology inference network |
拓扑结构推理网络由2个部分组成,第1部分是由左右2个对称的分支组成。首先关节点的特征信息
拓扑结构推理网络的第2部分充分利用CNN特征学习能力,获取关节点特征维度全局的上下文特征信息。将
本文的拓扑结构推理网络以全局的方式动态地学习人体骨架关节点的拓扑结构。本方法属于自适应图学习的方法,在梯度随机优化过程中不断调整邻接矩阵,学习的过程完全由数据驱动而不需要任何先验知识,可以通过不同类别的动作样本学习不同的图结构。相比于基于先验知识的静态的邻接矩阵,拓扑结构推理网络学习到的邻接矩阵可以反映任意骨架关节点之间的相关性和相关性强弱。本文的拓扑结构推理网络可以应用到一般的基于GCN的算法中,从而提升动作识别的准确率。
1.3.2 改进的自适应图卷积层本文基于2s-AGCN,改进了原有的自适应图卷积层,如图3所示。
![]() |
图 3 自适应图卷积层 Figure 3 Adaptive graph convolution layer |
使用本文提出的拓扑结构推理网络自适应学习得到拓扑结构
$ {{\boldsymbol{X}}}_{\mathrm{o}\mathrm{u}\mathrm{t}}={\sum} _{k}^{{K}_{\mathrm{v}}}{{\boldsymbol{W}}}_{k}{{\boldsymbol{X}}}_{\mathrm{i}\mathrm{n}}({{\boldsymbol{A}}}_{k}+{{\boldsymbol{M}}}_{k}+{{\boldsymbol{C}}}_{k}^{*}) $ | (4) |
式中:
GCN的邻接矩阵由
$ {{\boldsymbol{A}}}_{k}={{\boldsymbol{D}}}_{k}^{-\frac{1}{2}}{\bar{{\boldsymbol{A}}}}_{k}{{\boldsymbol{D}}}_{k}^{-\frac{1}{2}}\in {\mathbf{R}}^{N\times N} $ | (5) |
式中:
Shi等[26]证明应用运动信息作为输入的多流网络效果比单流和双流网络更好,因为不同流之间可以形成互补关系。基于该结论,本文除了2s-AGCN原有的人体关节点与骨架信息,还应用了二者的运动信息分别输入到各自网络分支中,共同组成多流图卷积网络。运动信息定义如下。
语义引导下多流自适应拓扑推理图卷积网络整体结构如图1所示,由4个分支组成。网络每个分支的末端有1个全连接层和1个Softmax分类器。对4个分支的Softmax分数进行加权求和,Softmax分类器选用交叉熵函数作为网络动作识别的损失函数。
2 实验 2.1 数据集NTU RGB+D:NTU系列数据集是基于骨架信息的人体动作识别任务使用最为广泛的数据集。NTU RGB+D包含了60类动作的56880个动作片段,这些片段提供了人体运动过程中25个关节点每个关节点的位置信息
NTU RGB+D 120:该数据集是NTU RGB+D的拓展版本,包含了120个动作类别,有更多的视频片段。该数据集有2个基准:(1) Cross-subject(X-Sub)与NTU RGB+D一样的设置,数据集中用于训练和验证的骨架信息来自不同的测试者;(2) Cross-setup(X-Setup)包含54471个片段用于训练,59477个片段用于验证。
2.2 实验过程本文的实验均在Ubuntu 20.04操作系统中部署,使用Python语言、Pytorch深度学习框架编写和训练网络。硬件上,使用NVIDIA GeForce RTX 3060显卡进行GPU加速训练。使用随机梯度下降法(Stochastic Gradient Descent, SGD)作为训练优化器。批处理大小Batch size设置为64。网络一共训练65轮次,学习率初始值设置为0.1,在第35、55个轮次分别衰减为原来的0.1倍。
2.3 实验结果分析 2.3.1 消融实验在本节中,在NTU RGB+D数据集的X-View基准上对本文提出的模型进行消融实验,以动作识别的准确率作为评价指标,使用语义引导下多流自适应拓扑推理图网络中的关节点信息单一分支(单流)验证网络各个部分对人体动作识别的有效性。
语义信息编码模块:如1.2节所述,本文在进行GCN计算的数据前处理时,会在一个语义信息编码模块中融合人体骨架关节点的语义信息,即关节点类型
![]() |
表 1 添加不同类型语义信息的对比结果 Table 1 Comparison results of different types of semantics |
通过实验结果可以得知,未融合语义信息而仅用单一的关节点位置信息作为输入网络的动作识别准确率仅有93.9%。融合了帧间索引后的输入信息能使识别准确率提升0.3%,这是因为帧间索引作为关节点的时间语义信息,可以引导网络区分关节点动作发生的先后过程,进而区分相同节点的不同动作,如“起立”与“坐下”。相较于帧间索引,关节点类型的空间语义信息能为网络识别准确率带来0.5%的提升,这是因为在进行基于骨架关节点的动作识别时,GCN会更加关注不同节点空间上的信息,该语义信息会引导网络区分识别不同类型的关节,从而区分不同的动作。
实验还将SGN原有的融合方式应用在本网络中,动作识别准确率只有93.7%,比不含语义信息编码模块的网络效果更差,这是因为SGN网络先进行GCN计算再进行特征融合的处理方式不能使网络获得更加丰富的信息,反而在深层的网络中语义信息会成为噪声影响识别精度。而本文的语义信息编码模块里改进的融合方式成功地将语义信息用于复杂的多层网络,能让网络获取更加丰富的特征信息,从而使网络能够通过节点类型和帧间索引区分细微差别的不同类动作,使动作识别准确率提高了0.8%。在基于骨架关节点的动作识别任务中,本文的语义信息编码模块作为新型的数据处理的方式可以应用于任何基于GCN算法的大型网络,提高识别精度。
自适应图卷积层:消融实验通过使用语义引导下多流自适应拓扑推理图网络中的关节点信息单一分支(单流)验证GCN计算时式(4) 中邻接矩阵各组成部分的有效性,结果如表2所示。可以看出,如果仅使用固定的邻接矩阵
![]() |
表 2 自适应图卷积层不同部分的对比结果 Table 2 Comparison results of different parts of adaptive graph convolutional layer |
本文提出的拓扑结构推理网络同样适用于大多数基于GCN算法的网络,在增加较少参数量的同时能为网络的动作识别精度带来显著的提升。
2.3.2 与其他算法对比在数据集NTU RGB+D和NTU RGB+D 120上,本文提出的语义引导下的多流自适应拓扑推理图卷积网络与其他人体动作识别算法,包括基于CNN、RNN和GCN算法的对比结果如表3、表4所示。
![]() |
表 3 NTU RGB+D数据集对比结果 Table 3 Comparison results on NTU RGB+D |
![]() |
表 4 NTU RGB+D 120数据集对比结果 Table 4 Comparison results on NTU RGB+D 120 |
可以看出在人体动作识别的任务上,由于GCN在处理拓扑信息上有天然的优势,基于GCN的算法性能表现是优于基于CNN和RNN的。本文改进了2s-AGCN,嵌入了语义信息编码模块与拓扑结构推理网络,集成了多流网络,比单一关节点分支(单流)网络的动作识别准确率提升了1.1%。2s-AGCN网络就是双流的网络,本文将语义信息编码模块与拓扑结构推理网络应用到双流网络上与2s-AGCN进行对比,在NTU RGB+D数据集的Cross-subject基准上准确率提升了0.7%,在Cross-view基准上准确率提升了0.4%,证明了本文提出的语义信息编码模块和拓扑结构推理网络可以有效提升GCN识别精度。本文应用了运动流,集成了语义引导下多流自适应拓扑推理图卷积网络,在NTU RGB+D与NTU RGB+D 120数据集上的最终实验结果均达到了目前动作识别算法的先进水平。
3 结语本文改进了SGN原有的语义信息(关节点类型和帧间索引)融合方式,集成到一个语义信息编码模块,使语义信息能够成功应用于大型的多层网络,在语义引导下为网络提供了更加丰富的特征信息,从而提高算法的动作识别准确率。此外,在进行GCN的计算时,本文提出了一个拓扑结构推理网络,结合CNN高效的特征学习能力,能够自适应地根据不同样本的上下文特征信息学习到不同的拓扑结构,这种方式学习到的邻接矩阵摆脱了人体固定拓扑结构的局限。本文将语义信息编码模块和拓扑结构推理网络嵌入2s-AGCN网络中,并增加了相关运动流分支,提出一种语义引导下多流自适应拓扑推理图卷积网络。通过对比实验证明,本文的算法达到了目前动作识别算法的先进水平。另外,本文的语义信息编码模块和拓扑结构推理网络可以用于一般的基于GCN的大型多层网络,有效提高网络的识别精度,为基于骨架关节点信息的人体动作识别算法提供新的思路。本文只关注拓扑结构上的自适应学习来提升网络识别精度,未来将尝试使用更加高效的注意力机制对通道或者其他维度上的特征进行动态权重调整,进一步提升网络的性能。
[1] |
EVANGELIDIS G, SINGH G, HORAUD R. Skeletal quads: human action recognition using joint quadruples[C]//2014 22nd International Conference on Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2014: 4513-4518.
|
[2] |
周小平, 郭开仲. 基于计算机视觉的腾空飞脚错误动作识别模型[J].
广东工业大学学报, 2012, 29(4): 14-17.
ZHOU X P, GUO K Z. The model for the recognition of flying kick error action based on computer vision[J]. Journal of Guangdong University of Technology, 2012, 29(4): 14-17. DOI: 10.3969/j.issn.1007-7162.2012.04.003. |
[3] |
WANG H, SCHMID C. Action recognition with improved trajectories[C]//Proceedings of the IEEE International Conference on Computer Vision. New York: IEEE, 2013: 3551-3558.
|
[4] |
CORTES C, VAPNIK V. Support-vector networks[J].
Machine Learning, 1995, 20(3): 273-297.
|
[5] |
SADEGH A M, SADAT S F, SALZMANN M, et al. Encouraging lstms to anticipate actions very early[C]//Proceedings of the IEEE International Conference on Computer Vision. New York: IEEE, 2017: 280-289.
|
[6] |
JAIN A, SINGH A, KOPPULA H S, et al. Recurrent neural networks for driver activity anticipation via sensory-fusion architecture[C]//2016 IEEE International Conference on Robotics and Automation (ICRA) . New York: IEEE, 2016: 3118-3125.
|
[7] |
WANG H, WANG L. Beyond joints: learning representations from primitive geometries for skeleton-based action recognition and detection[J].
IEEE Transactions on Image Processing, 2018, 27(9): 4382-4394.
DOI: 10.1109/TIP.2018.2837386. |
[8] |
YANG C, XU Y, SHI J, et al. Temporal pyramid network for action recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2020: 591-600.
|
[9] |
WANG L, TONG Z, JI B, et al. TDN: temporal difference networks for efficient action recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Los Alamitos, CA: IEEE Computer Society, 2021: 1895-1904.
|
[10] |
LI C, ZHONG Q, XIE D, et al. Skeleton-based action recognition with convolutional neural networks[C]//2017 IEEE International Conference on Multimedia & Expo Workshops (ICMEW) . New York: IEEE, 2017: 597-600.
|
[11] |
WENG J, LIU M, JIANG X, et al. Deformable pose traversal convolution for 3D action and gesture recognition[C]//Proceedings of the European Conference on Computer Vision (ECCV) . Cham, Switzerland: Springer, 2018: 136-152.
|
[12] |
KE Q, BENNAMOUN M, AN S, et al. Learning clip representations for skeleton-based 3d action recognition[J].
IEEE Transactions on Image Processing, 2018, 27(6): 2842-2855.
DOI: 10.1109/TIP.2018.2812099. |
[13] |
LIU J, WANG G, DUAN L Y, et al. Skeleton-based human action recognition with global context-aware attention LSTM networks[J].
IEEE Transactions on Image Processing, 2017, 27(4): 1586-1599.
|
[14] |
SI C, JING Y, WANG W, et al. Skeleton-based action recognition with spatial reasoning and temporal stack learning[C]//Proceedings of the European Conference on Computer Vision (ECCV) . Cham, Switzerland: Springer, 2018: 103-118.
|
[15] |
LI S, LI W, COOK C, et al. Independently recurrent neural network (indrnn) : building a longer and deeper rnn[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2018: 5457-5466.
|
[16] |
CHEN T, ZHOU D, WANG J, et al. Learning multi-granular spatio-temporal graph network for skeleton-based action recognition[C]//Proceedings of the 29th ACM International Conference on Multimedia. New York: Association for Computing Machinery, 2021: 4334-4342.
|
[17] |
YAN S, XIONG Y, LIN D. Spatial temporal graph convolutional networks for skeleton-based action recognition[C]//Proceedings of the AAAI Conference on Artificial Intelligence. Menlo Park: AAAI, 2018, 32(1) .
|
[18] |
SHI L, ZHANG Y, CHENG J, et al. Two-stream adaptive graph convolutional networks for skeleton-based action recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2019: 12026-12035.
|
[19] |
ZHANG P, LAN C, ZENG W, et al. Semantics-guided neural networks for efficient skeleton-based human action recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2020: 1112-1121.
|
[20] |
SONG Y F, ZHANG Z, SHAN C, et al. Richly activated graph convolutional network for robust skeleton-based action recognition[J].
IEEE Transactions on Circuits and Systems for Video Technology, 2020, 31(5): 1915-1925.
|
[21] |
ZENG A, SUN X, YANG L, et al. Learning skeletal graph neural networks for hard 3D pose estimation[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. New York: IEEE, 2021: 11436-11445.
|
[22] |
LI S, YI J, FARHA Y A, et al. Pose refinement graph convolutional network for skeleton-based action recognition[J].
IEEE Robotics and Automation Letters, 2021, 6(2): 1028-1035.
DOI: 10.1109/LRA.2021.3056361. |
[23] |
YANG H, GU Y, ZHU J, et al. PGCN-TCA: pseudo graph convolutional network with temporal and channel-wise attention for skeleton-based action recognition[J].
IEEE Access, 2020, 8: 10040-10047.
DOI: 10.1109/ACCESS.2020.2964115. |
[24] |
DING X, YANG K, CHEN W. A semantics-guided graph convolutional network for skeleton-based action recognition[C]//Proceedings of the 2020 the 4th International Conference on Innovation in Artificial Intelligence. New York: Association for Computing Machinery, 2020: 130-136.
|
[25] |
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society, 2016: 770-778.
|
[26] |
SHI L, ZHANG Y, CHENG J, et al. Skeleton-based action recognition with multi-stream adaptive graph convolutional networks[J].
IEEE Transactions on Image Processing, 2020, 29: 9532-9545.
DOI: 10.1109/TIP.2020.3028207. |