«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (5): 306-313  DOI: 10.19678/j.issn.1000-3428.0061304
0

引用本文  

孙琪翔, 何宁, 张聪聪, 等. 基于轻量级图卷积的人体骨架动作识别方法[J]. 计算机工程, 2022, 48(5), 306-313. DOI: 10.19678/j.issn.1000-3428.0061304.
SUN Qixiang, HE Ning, ZHANG Congcong, et al. Human Skeleton Action Recognition Method Based on Lightweight Graph Convolution[J]. Computer Engineering, 2022, 48(5), 306-313. DOI: 10.19678/j.issn.1000-3428.0061304.

基金项目

国家自然科学基金(61872042,61572077);北京市教委科技计划重点项目(KZ201911417048);北京市教委科技计划面上项目(KM202111417009);北京联合大学人才强校优选计划(BPHR2020AZ01,BPHR2020EZ01);北京联合大学科研项目(ZK50202001);北京联合大学研究生科研创新项目(YZ2020K001)

通信作者

何宁(通信作者),教授、博士

作者简介

孙琪翔(1994—),男,硕士研究生,主研方向为数字图像处理、计算机视觉;
张聪聪,硕士研究生;
刘圣杰,硕士研究生

文章历史

收稿日期:2021-03-29
修回日期:2021-05-16
基于轻量级图卷积的人体骨架动作识别方法
孙琪翔1 , 何宁2 , 张聪聪1 , 刘圣杰1     
1. 北京联合大学 北京市信息服务工程重点实验室, 北京 100101;
2. 北京联合大学 智慧城市学院, 北京 100101
摘要:视频中的人体动作识别在计算机视觉领域得到广泛关注,基于人体骨架的动作识别方法可以明确地表现人体动作,因此已逐渐成为该领域的重要研究方向之一。针对多数主流人体动作识别方法网络参数量大、计算复杂度高等问题,设计一种融合多流数据的轻量级图卷积网络,并将其应用于人体骨架动作识别任务。在数据预处理阶段,利用多流数据融合方法对4种特征数据流进行融合,通过一次训练就可得到最优结果,从而降低网络参数量。设计基于图卷积网络的非局部网络模块,以捕获图像的全局信息从而提高动作识别准确率。在此基础上,设计空间Ghost图卷积模块和时间Ghost图卷积模块,从网络结构上进一步降低网络参数量。在动作识别数据集NTU60 RGB+D和NTU120 RGB+D上进行实验,结果表明,与近年主流动作识别方法ST-GCN、2s AS-GCN、2s AGCN等相比,基于该轻量级图卷积网络的人体骨架动作识别方法在保持较低网络参数量的情况下能够取得较高的识别准确率。
关键词人体骨架动作识别    数据融合    图卷积    非局部网络模块    Ghost网络    
Human Skeleton Action Recognition Method Based on Lightweight Graph Convolution
SUN Qixiang1 , HE Ning2 , ZHANG Congcong1 , LIU Shengjie1     
1. Beijing Key Laboratory of Information Service Engineering, Beijing Union University, Beijing 100101, China;
2. Smart City College, Beijing Union University, Beijing 100101, China
Abstract: Human action recognition in video has garnered extensive attention in the field of computer vision. The action recognition method based on human skeleton can clearly represent human motion; therefore, it has gradually become one of the most important research directions in the abovementioned field. To solve the issue of numerous network parameters and high computational complexity in most mainstream human action recognition methods, a lightweight graph convolution network integrating multistream data is designed and applied to human skeleton action recognition. In the data preprocessing stage, the multistream data fusion method is used to fuse four characteristic data streams. Optimal results can be obtained via one round of training; as such, the number of network parameters required is reduced. A non-local network module based on graph convolution network is designed to capture the global information of an image to improve the accuracy of action recognition. Subsequently, a space Ghost graph convolution module and a time Ghost graph convolution module are designed to further reduce the number of network parameters from the network structure. Experiments are performed on action recognition datasets NTU60 RGB+D and NTU120 RGB+D. Results show that compared with recent mainstream action recognition methods ST-GCN, 2s AS-GCN, and 2s AGCN, the human skeleton action recognition method based on the lightweight graph convolution network can achieve higher recognition accuracy while maintaining a lower number of network parameters.
Key words: human skeleton action recognition    data fusion    graph convolution    non-local network module    Ghost network    

开放科学(资源服务)标志码(OSID):

0 概述

人体动作识别是计算机视觉领域的重要研究方向之一。基于RGB的人体动作识别方法往往对计算量有较高要求,且鲁棒性较差,易受环境因素影响,在实际应用中准确率和实时性不佳。基于骨架的动作识别可以明确地表现人体动作,仅依据骨架便可识别出大量动作[1]。与传统的RGB数据相比,骨架序列不包含颜色信息,对视角变换、光照、遮挡等因素具有鲁棒性,因此,骨架序列引起研究人员的关注[2]并广泛应用于智能医疗、视频理解、人机交互等领域[3]

早期基于骨架的人体动作识别方法将人体的关节点视为一组独立的特征,并且通过手工设计来模拟时空关节相关性[4],如YANG等[5]提出基于关节位置差异的新型特征EigenJoints,其包含静态姿态、运动、偏移量等信息,进一步使用朴素贝叶斯最近邻分类器(Naïve-Bayes-Nearest-Neighbor,NBNN)进行动作识别。但是,这类方法很少探索身体关节点之间的关系,同时由于复杂度过高且准确率有限而逐渐被深度学习方法所替代。

目前,基于骨架进行动作识别的主流方法可以分为三类,即基于卷积神经网络[6]的方法、基于循环神经网络[7]的方法以及基于图卷积网络(Graph Convolutional Network,GCN)[8]的方法。LIU等[9]将关节点映射到3D坐标空间,分别对空间和时间信息进行编码,接着利用3D卷积神经网络分别从时空信息流中提取深层特征,从而得到最终的动作识别结果。该方法的优势是可以在不同的时间区间提取到多尺度的特征,但其参数量过于庞大。DU等[10]提出端到端的级联循环神经网络,其根据人体物理结构将人体骨架分为5个部分,并分别输入到5个子网络中,接着逐层进行信息融合,并在最后一层完成动作分类。该方法可以有效地学习时序特征,但其缺点是网络参数量过高,较难优化。结合人体关键点的空间特性,空间图卷积网络可以更好地学习人体动作特征,同时,结合人体关键点位置的时间序列,能对动作的上下文信息进行学习。

为了提高动作识别的准确率,本文在WANG等[11]所提出的非局部神经网络的基础上,设计基于图卷积网络的非局部网络模块,该模块可以获取全局特征信息从而提高网络识别准确率。此外,本文利用多流数据融合算法,对4种特征数据流进行融合,只需一次训练就可以得到最优结果,从而降低网络参数量。在此基础上,结合Ghost网络[12]思想设计空间Ghost图卷积模块和时间Ghost图卷积模块,在网络结构层面进一步降低网络参数量。

1 相关工作

通过人体姿态估计算法或高精度的深度摄像头可以获取人体关节点特征,而由关键点连接的人体骨架能够形成图结构。YAN等[13]提出将图卷积网络扩展到时空模型上的时空图卷积网络(Spatial Temporal Graph Convolutional Networks,ST-GCN),其基础是时空图结构,可以从输入的关键点中建立一个时空图,该方式保留了骨架关键点的空间信息,并使得关键点的运动轨迹以时序边的形式得到展现,提高了网络的特征表现能力和鲁棒性。SHI等[14]在ST-GCN的基础上,提出2s-AGCN(Two-stream Adaptive Graph Convolutional Networks),其有自学习的邻接矩阵策略,提高了网络对空间特性的抽取能力。LI等[15]提出动作结构图卷积网络(Actional-Structural Graph Convolutional Networks,AS-GCN),该网络创新性地从原始坐标信息中提取Action-Link和Structural-Link进行加权以作为GCN的输入,提升了网络的准确率。SI等[16]提出将图卷积与LSTM融合的新型网络(Attention Enhanced Graph Convolutional LSTM Network,AGC-LSTM),该网络使用注意力机制增强关键点的特征,同时利用LSTM提高学习高层次时空语义特征的能力。SHI等[17]提出使用有向无环图构建人体骨架结构的新型模型(Directed Graph Neural Networks,DGNN),该模型为了更好地适应动作识别任务,构建可以根据训练过程自适应改变图的拓扑结构,同时利用骨架序列的运动信息和空间信息进一步提高双流框架的性能。YANG等[18]提出CGCN(Centrality Graph Convolutional Networks),其利用被忽视的图拓扑信息区分关节点、骨骼和身体部分。相较基于循环神经网络和卷积神经网络的方法,上述基于图卷积网络的方法对非欧氏数据(Non-Euclidean data)具有有效性[19]

SHI等[20]提出一种新型解耦时空注意网络(Decoupled Spatial-Temporal Attention Network,DSTA-Net),其可以根据注意力网络发现骨骼数据的关联性,无需利用结构相关的卷积神经网络、循环神经网络或图卷积神经网络,体现了注意力机制的优越性。

当前众多学者致力于轻量级网络研究[21],目的是在减少网络参数量的同时保持较好的特征提取能力。网络轻量化方法主要分为3类,即网络参数轻量化、网络裁剪以及直接设计轻量化网络。网络参数轻量化指降低表征网络的参数量,VANHOUCKE等[22]提出一种利用8位整数定点消除冗余参数的方法,GONG等[23]提出针对密集权重矩阵进行量化编码来实现压缩的方法。此外,Binary Connect[24]、Binarized Neural Networks[25]和Xnor-net[26]方法虽然对网络压缩的程度较高,但是也会对网络的准确率造成较大损失。网络剪裁通常应用于压缩网络模型,HANSON等[27]提出基于偏置参数衰减的网络裁剪方式。和常规网络相比,轻量级网络结构所需的网络参数量和浮点运算量(Floating-point Operations Per second,FLOPs)更小。因此,轻量级的网络结构更适合在嵌入式设备和移动终端上应用。IANDOLA等[28]在卷积神经网络结构层面,利用瓶颈结构设计具有更少参数量的卷积神经网络,根据该思路,其设计了一种精度与AlexNet相当的轻量级网络结构,该网络参数量的大小只有AlexNet的1/50。HOWARD等[29]利用深度可分离卷积建立轻量级深度神经网络,结合2个超参数乘法器和分辨率乘法器设计MobileNets网络结构,其网络参数量大小只有标准卷积方法的1/9。张洋等[30]提出改进的EfficientDet网络并结合注意力机制,在保证网络参数量的前提下提高了网络准确率。

为了同时实现较低的网络参数量以及较高的网络准确率,本文主要进行如下研究:

1)针对预先定义图拓扑结构所导致的准确率降低的问题,提出一种基于图卷积网络结构的非局部网络模块,直接关注所有关节点并判断其是否存在连接,从而提高网络的准确率。

2)为了减少网络训练的次数,提出多流数据融合算法,将关节点信息流、骨长信息流、关节点运动信息流、骨长运动信息流进行融合,使得网络通过一次训练即可得到最优结果,从而降低网络参数量。

3)结合Ghost卷积的思想,分别设计空间图卷积网络和时间图卷积网络,从主干网络的层面降低网络参数量。

4)设计新的时空图卷积基础模块和时空图卷积网络,并在NTU60 RGB+D[31]和NTU120 RGB+D[32]数据集上进行验证。

2 融合多流数据的Ghost图卷积网络

在ST-GCN的基础上,本文利用GhostNet网络中的Ghost卷积结构来降低网络参数量,其中,用Ghost卷积替换空间图卷积,命名为GSCN(Ghost Spatial Convolutional Network)模块,连接一个BN(Batch Normalization)层和一个ReLU层,以加快训练;用Ghost卷积替换时间卷积,命名为GTCN(Ghost Temporal Convolutional Network)模块,连接一个BN层和一个ReLU层,以加快训练。如图 1所示,一个基础Ghost图模块(Ghost Graph Convolution Networks,GGCN)由一个GSCN、一个dropout层和一个GTCN组成,其中,dropout参数设置为0.5,同时,为了稳定训练,网络中增加了残差连接。

Download:
图 1 非局部网络模块和单个GGCN网络模块 Fig. 1 Non-local network module and single GGCN network module
2.1 非局部网络模块

对于传统的图卷积,人体的物理结构是设计图拓扑结构的基础,但是这样的设计对于动作识别并非有效,例如,在由NTU-RGB+D数据集提供的拓扑图中,头和手之间没有联系,但是在“wiping face(擦脸)”和“touching head(摸头)”等动作中,头和手之间的关系就是很重要的信息,因此,连接关系不应局限在相邻节点中。随着信息在不同网络层间的传递,不同网络层的语义信息将不同,因此,图网络结构也应该随着信息的传递而更新。

针对上述问题,结合WANG等[11]提出的非局部神经网络,本文提出一种非局部网络模块,该模块可直接关注所有的关节点,继而判断所有关节点间是否存在连接。在训练过程中,以端到端方式对不同层和样本分别学习图结构。与原始非局部神经网络不同,本文所提非局部网络模块包括3个部分,如图 1所示:第1部分$ {A}_{i} $是物理结构图,和ST-GCN[13]中的物理结构图保持一致;第2部分$ {B}_{i} $是可以共享的图结构,对于不同样本而言这个部分是相同的,其可以表示关节点之间连接的一般模式;第3部分$ {C}_{i} $可为不同样本学习独一无二的图结构,其为个性化的图结构,针对任意一个样本捕捉到独特的特征图。具体地,针对第3部分$ {C}_{i} $,本文采用归一化嵌入式高斯函数计算2个关键点之间的相似性,如式(1)所示:

$ f({v}_{i}, {v}_{j})=\frac{{\mathrm{e}}^{\theta \left({v}_{i}{)}^{T}\phi \right({v}_{j})}}{\sum \limits_{j=1}^{N}{\mathrm{e}}^{\theta \left({v}_{i}{)}^{T}\phi \right({v}_{j})}} $ (1)

其中:$ N $代表关节点的数目;$ T $表示帧数;$ \theta $$ \phi $用来进行维度变换。通过点积计算可以得到所有关键点之间的相关性,进而得到非局部邻接矩阵。

图 1所示,使用1$ \times $1卷积表示嵌入函数,每个输入特征图的个性化图的计算如式(2)所示:

$ {C}_{j}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({f}_{\mathrm{i}\mathrm{n}}^{T}{W}_{\theta j}^{T}{W}_{\varphi j}{f}_{\mathrm{i}\mathrm{n}}\right) $ (2)

其中:softmax操作将结果归一化在0~1之间;$ W $是1$ \times $1卷积的参数,初始值为0,与共享图相同,它也需要采用残差连接。综上,图卷积的定义公式如下:

$ {f}_{\mathrm{o}\mathrm{u}\mathrm{t}}=\sum \limits_{i}^{{K}_{v}}{W}_{i}{f}_{\mathrm{i}\mathrm{n}}({A}_{i}+{B}_{i}+{C}_{i}) $ (3)
2.2 图卷积网络

图卷积网络方法主要分为基于频谱的方法(spectral-based)和基于空间的方法(spatial-based)。基于频谱的图卷积网络中的图卷积操作可以看成将原始的处于空间域的图信号变换到频域之后,对频域属性进行滤波,然后再恢复到原来的图信号所在的空域中,从而完成特征提取[33],该操作的缺点是灵活性低、普适性差、运行效率不高;基于空间的图卷积让图中的节点在空间域中相连并达成层级结构,进而进行卷积,因此,其能降低复杂度,增强泛化能力,提高运行效率。空间域图卷积方法是动作识别领域的主流方法。

将骨架数据表示为$ N $个节点,$ T $帧的时空图为$ G=\left(V, E\right) $。人体动作的骨架坐标可以表示为$ X\in {\mathbb{R}}^{N\times T\times d} $,其中,$ d $是关节点的维度。基于图卷积的模型包含空间图卷积和时间图卷积2个部分。

对于空间图卷积,将节点的邻域定义为邻接矩阵$ \boldsymbol{A}\in {\left\{\mathrm{0, 1}\right\}}^{N\times N} $。为了更好地说明空间图卷积,将邻接矩阵划分为向心点、本征点和离心点3个部分。对于单帧,$ F\in {\mathbb{R}}^{N\times C} $代表输入特征,$ {F}^{'}\in {\mathbb{R}}^{N\times {C}^{'}} $代表输出特征,其中,$ C $$ {C}^{'} $分别代表输入和输出特征的维度。图卷积计算如式(4)所示:

$ {F}^{'}=\sum \limits_{p\in P}{\stackrel{-}{\boldsymbol{A}}}_{p}F{W}_{p} $ (4)

其中:$ P $={本征点,向心点,离心点}代表空间分区;$ {\stackrel{-}{\boldsymbol{A}}}_{p} $是归一化的邻接矩阵,定义如式(5)所示。

$ {\stackrel{-}{\boldsymbol{A}}}_{p}={\varLambda }_{p}^{-\frac{1}{2}}{\boldsymbol{A}}_{p}{\varLambda }_{p}^{-\frac{1}{2}}\in {\mathbb{R}}^{N\times N} $ (5)

其中:$ {\varLambda }_{p}^{ii}=\sum \limits_{j}\left({\boldsymbol{A}}_{p}^{ij}\right)+\alpha $,为了避免空行,$ \alpha $设置为0.001。每个分区的1$ \times $1卷积的权重为$ {W}_{p}\in {\mathbb{R}}^{1\times 1\times C\times {C}^{'}} $

根据文献[34],时间卷积是通过连接连续帧的节点并在时间维度上进行1维卷积来实现。卷积核的大小由$ {k}_{t} $表示,通常设置为9。

基于上述图卷积的模型有2个缺点:

1)需要大量的算力。例如,ST-GCN[13]识别一个动作样例需要16.2GFLOPs,其中,空间图卷积消耗4.0GFLOPs,时间图卷积消耗12.2GFLOPs。一些ST-GCN的相关算法甚至需要消耗100GFLOPs[17]

2)不论是时间图结构还是空间图结构,都是预先定义好的,尽管一些研究工作[14]采用了可学习的邻接矩阵,但是其仍受常规图卷积架构的限制。

2.3 Ghost模块

受限于内存和算力,在嵌入式设备上部署神经网络比较困难。例如,给定输入数据$ X\in {\mathbb{R}}^{c\times h\times w} $,其中,$ c $代表输入数据的通道数,$ h $$ w $分别是输入数据的高和宽。用于产生$ n $个特征映射的任意卷积层的操作如式(6)所示:

$ Y=X\mathrm{*}f+b $ (6)

其中:$ \mathrm{*} $代表卷积操作;$ b $代表偏置项;$ Y\in {\mathbb{R}}^{{h}^{'}\times {w}^{'}\times n} $代表输出的有$ n $个通道的特征图,$ {h}^{'} $$ {w}^{'} $代表输出数据的高和宽;$ f\in {\mathbb{R}}^{c\times k\times k\times n} $代表这个层的卷积滤波器,$ k\times k $代表卷积滤波器$ f $的卷积核大小。如图 2所示,此时FLOPs可以由$ n\cdot {h}^{'}\cdot {w}^{'}\cdot c\cdot k\cdot k $计算,由于滤波器和通道数通常非常大(如256、512等),因此FLOPs通常高达数十万。

Download:
图 2 常规卷积操作 Fig. 2 Conventional convolution operation

HAN等[12]提出的Ghost模块可以有效解决上述问题。一个训练好的深度神经网络通常包含很多冗余的特征图,在这些特征图中,有些是彼此近似的,因此,用大量的网络参数和FLOPs逐个生成冗余特征图没有必要。假设有$ m $个固有特征图$ {Y}^{'}\in {\mathbb{R}}^{{h}^{'}\times {w}^{'}\times m} $由初始卷积生成,如式(7)所示:

$ {Y}^{'}=X\mathrm{*}{f}^{'} $ (7)

其中:卷积滤波器为$ {f}^{'}\in {\mathbb{R}}^{c\times k\times k\times m} $$ m\le n $。其他超参数(卷积核、步长、空间大小等)与原始卷积保持一致。为了得到所需要的$ n $个特征图,可以利用一系列线性操作在固有特征图$ {Y}^{'} $上生成$ s $个Ghost特征,如式(8)所示:

$ {y}_{ij}={\varPhi }_{i, j}\left({y}_{i}^{'}\right), \mathrm{ }\forall i=\mathrm{1, 2}, \cdots , m, j=\mathrm{1, 2}, \cdots , s $ (8)

其中:$ {y}_{i}^{'} $代表卷积图$ {Y}^{'} $中的第$ i $个固有卷积图;$ {\varPhi }_{i, j} $代表利用第$ j $个线性运算生成的第$ j $个Ghost特征图$ {y}_{ij} $,这就意味着$ {y}_{i}^{'} $可以有一个或多个Ghost特征图,最后一个线性运算$ {\varPhi }_{i, s} $是保持固有特征的恒等映射,利用式(8)可以得到$ n=m\cdot s $个特征图$ Y=[{y}_{11}, {y}_{12}, \cdots , {y}_{ms}] $作为Ghost模型的输出数据,如图 3所示。

Download:
图 3 Ghost卷积操作 Fig. 3 Ghost convolution operation

Ghost模块包含一个恒等映射和$ m\cdot (s-1)=(n/s)\cdot (s-1) $个线性运算,理想情况下普通卷积与Ghost模块的参数量比如式(9)所示,即用Ghost模块代替普通卷积操作可以使参数量缩小$ s $倍。

$ {r}_{c}=\frac{n\cdot c\cdot k\cdot k}{\frac{n}{s}\cdot c\cdot k\cdot k+(s-1)\cdot \frac{n}{s}\cdot d\cdot d}\approx \frac{s\cdot c}{s+c-1}\approx s $ (9)
2.4 多流数据融合

基于图卷积的方法通常利用训练多流数据集的方式提高精度。特征流数据是指针对同一对象来描述这些数据的不同视角。利用多流数据之间的互补性可以学到更好的特征表示。本文提出一种将多流数据融合到图卷积中的方法,该方法对关节点信息流、骨长信息流、关节点运动信息流、骨长运动信息流进行融合。进行多流数据融合,一方面使得构建的邻接矩阵具有全局特性,另一方面能够减少运算次数,降低运算成本,实现网络轻量化。针对图卷积网络参数量过大的问题,本文设计轻量化Ghost图卷积网络,其包含空间Ghost图卷积和时间Ghost图卷积。

对于一个给定的骨架序列,其关节点的定义如式(10)所示:

$ s=\left\{{V}_{i, t}\left|i=\mathrm{1, 2}, \cdots , N;t=\mathrm{1, 2}, \cdots , T\right.\right\} $ (10)

其中:$ T $为序列中的总帧数;$ N $为总关节点数;$ {V}_{i, t} $表示$ t $时刻的关节点$ i $。为了完成多流数据融合,需要对骨架序列$ s $进行多样化预处理。本文分别给出骨长信息流、关节点运动信息流和骨长运动信息流的定义。

1)骨长信息流。通常定义靠近人体重心的点为源关节点,坐标为$ {V}_{i, t}=({x}_{i, t}, {y}_{i, t}, {z}_{i, t}) $,远离人体重心的点为目标关节点,坐标为$ {V}_{j, t}=({x}_{j, t}, {y}_{j, t}, {z}_{j, t}) $。通过源关节点与目标关节点的差值计算骨长信息流,即骨长信息流的定义如式(11)所示:

$ {B}_{i, j, t}={V}_{j, t}-{V}_{i, t}=({x}_{j, t}-{x}_{i, t}, {y}_{j, t}-{y}_{i, t}, {z}_{j, t}-{z}_{i, t}) $ (11)

2)关节点运动信息流通过计算相邻2个帧中相同关节点之间的差值得到。定义在$ t $帧上的关节点$ i $,其坐标为$ {V}_{i, t}=({x}_{i, t}, {y}_{i, t}, {z}_{i, t}) $,在$ t+1 $帧上的关节点$ i $则定义为$ {V}_{i, t+1}=({x}_{i, t+1}, {y}_{i, t+1}, {z}_{i, t+1}) $。在关节点$ {V}_{i, t} $与关节点$ {V}_{i, t+1} $之间的运动信息流如式(12)所示:

$ \begin{aligned} J{M}_{i, t, t+1}=&{V}_{i, t}-{V}_{i, t+1}=\\ &({x}_{i, t}-{x}_{i, t+1}, {y}_{i, t}-{y}_{i, t+1}, {z}_{i, t}-{z}_{i, t+1})\end{aligned} $ (12)

3)骨长运动信息流通过计算相邻2个帧中相同骨骼之间的差值得到。根据式(10),可以定义在$ t $帧上的骨长信息流为$ {B}_{i, j, t} $,在$ t+1 $帧上的骨长信息流为$ {B}_{i, j, t+1} $。因此,骨长信息流如式(13)所示:

$ B{M}_{i, t, t+1}={B}_{i, j, t}-{B}_{i, j, t+1} $ (13)

图 4所示,根据关节点信息流、骨长信息流、关节点运动信息流、骨长运动信息流的定义,多流数据融合的计算如式(14)所示:

$ \begin{aligned}F=&\{{V}_{i, t}+{B}_{i, j, t}+J{M}_{i, t, t+1}+B{M}_{i, t, t+1}\\ &\left|i=\mathrm{1, 2}, \cdots , N;t=\mathrm{1, 2}, \cdots , T\right.\}\end{aligned} $ (14)
Download:
图 4 多流数据融合 Fig. 4 Multi-stream data fusion
2.5 网络架构

图 5所示,非局部Ghost图卷积网络(Non-Local Ghost Graph Convolutional Network,NL-GGCN)是由9个基础模块堆叠而成,每个块的输出通道数分别为64、64、64、128、128、128、256、256和256。在网络的开始阶段增加数据BN层,用来归一化输入数据,在网络的最后增加一个全局平均池化层(Global Average Pooling,GAP),将所有不同的骨架样本池化到相同的尺寸大小,最后通过softmax分类获得预测结果。

Download:
图 5 非局部Ghost图卷积网络结构 Fig. 5 Non-local Ghost graph convolutional network structure
2.6 本文算法流程

本文算法流程如算法1所示。

算法1  轻量级人体骨架动作识别算法

输入  维度为$ (T\times J\times {C}_{1}) $的原始骨架序列

输出  最终分类结果

1.For $ \mathrm{t} $ = 10 to 13 do

2.根据式($ \mathrm{t} $)生成新的骨架序列

3.end For

4.根据式(14)将生成的新骨架序列融合成维度为$ (1\times \mathrm{T}\times \mathrm{J}\times 4{\mathrm{C}}_{1}) $的多流数据骨架序列

5.返回新的骨架序列

6.For $ \mathrm{n}=1 $ to $ \mathrm{N} $ do

7.根据式(3)构建非局部图卷积模块

8.end For

9.根据图 1构建单个Ghost时空图卷积模块

10.根据图 5构建Ghost图卷积网络结构

11.构建全连接层

12.返回最终分类结果

3 实验结果与分析

本文实验环境设置为:64位Ubuntu 18.04操作系统,Intel® Xeon® CPU E5-2678v3@2.50 GHz,内存12 GB,显卡RTX2080Ti、Cuda10.0.130、Cudnn7.5、PyTorch1.4和Python3.6软件平台。

3.1 数据集和评价指标

本文实验的人体骨架数据集包括NTU60 RGB+D数据集和NTU120 RGB+D数据集,骨架样例如图 6所示,通过可视化代码表现上述数据集中人体骨架在不同动作下的状态。

Download:
图 6 NTU RGB+D数据集中6种动作的可视化效果 Fig. 6 Visualization of six actions in NTU RGB+D dataset

NTU60 RGB+D数据集由南洋理工大学提出,由3个Microsoft Kinectv2相机同时捕获完成,包括56 880个动作片段,60个动作分类,17种相机摆放位置组合,有40名演员参与到数据集的采集工作,具体的采样点分布如图 7所示,该数据采集的样本关节点数目为25。

Download:
图 7 NTU60 RGB+D数据集关节点标签 Fig. 7 Joint point labels of NTU60 RGB+D dataset

本文采用该数据集中的2种评判标准:

1)跨表演者(Cross-Sub),表示训练集和验证集中的动作来自不同的演员,其中,身份标示为1~38的演员所演示的动作用于训练,身份标示为39~40的演员所演示的动作用于测试,训练集样本数为40 320,测试集样本数为16 560。

2)跨视角(Cross-View),表示标号为2和3的摄像机拍摄的动作用作训练,标号为1的摄像机所拍摄的动作用作测试,训练集样本数为37 920,测试集样本数为18 960。

NTU120 RGB+D数据集是对NTU60 RGB+D数据集的扩充,相机摆放位置组合为32个,动作分类增加到120类,演员人数增加到106人,动作片段数增加到114 480,样本关节点数保持25个不变。

3.2 实验设置

本文中的所有实验都是在PyTorch深度学习框架下进行[35]。实验优化策略采用Nesterov momentum(0.9)的随机梯度下降(Stochastic Gradient Descent,SGD)。批大小(Batch size)为64,模型迭代次数(Epoch)设置为50,初始学习率为0.1,当迭代次数分别为30和40时,学习率除以10。

3.3 消融实验

为了验证本文算法的有效性,在NTU60 RGB+D和NTU120 RGB+D这2个数据集上进行实验对比。

首先,验证本文多流数据融合方案的性能和有效性,设计6组数据流,测试不同数据流对实验结果的影响,结果如表 1所示,最优结果加粗表示,下同。其中:J代表关节点信息流;B代表骨长信息流;JM代表关节点运动信息流;BM代表骨长运动信息流。从表 1可以看出,骨长信息流对实验结果影响较大,实验数据验证了本文所提多流数据融合方案的有效性。

下载CSV 表 1 不同特征数据流对实验结果的影响 Table 1 Effects of different characteristic data streams on experimental results  

其次,为了验证本文所提网络的有效性,以融合的多流数据作为输入,在NTU60 RGB+D数据集上进行实验,以Cross-View作为评价标准,分别构建8组实验网络,测试该网络模块对整个实验结果的影响,结果如表 2所示,CV表示Cross-View。

下载CSV 表 2 不同网络架构的准确率对比 Table 2 Comparison of accuracy of different network architectures  

表 2中,Non-local代表增加了非局部网络模块,wo-Non-local(without Non-local)代表没有非局部网络模块,Convs代表常规空间图卷积,GhostConvs代表Ghost空间图卷积,Convt代表时间图卷积,GhostConvt代表Ghost时间图卷积。从表 2可以看出,非局部网络模块对准确率有较大的提升效果,Ghost结构对准确率提升效果有限。

从网络参数量的角度,本文以融合的多流数据作为输入,在NTU60 RGB+D数据集上进行实验,以Cross-View作为评价标准,分别构建4组实验网络,测试不同网络结构对实验结果的影响,结果如表 3所示,其中,GFLOPs代表浮点运算量。从表 3可以看出,Ghost架构在有效降低网络参数量的同时保持了较高的准确率。

下载CSV 表 3 不同网络架构的网络参数量对比 Table 3 Comparison of network parameters of different network architectures

为了说明本文所提算法对网络实时性的影响,以融合的多流数据作为输入,在NTU60 RGB+D数据集上进行实验,以Cross-View作为评价标准,分别构建4组实验网络,测试不同网络结构对网络实时性的影响,结果如表 4所示,其中,Time代表检测单个动作样本所需时间。从表 4可以看出,随着Ghost架构的应用,网络检测单个动作样本所需时间降低,Ghost时间图卷积网络架构对网络实时性影响较大。

下载CSV 表 4 不同网络架构的网络实时性对比 Table 4 Comparison of network real-time performance of different network architectures
3.4 结果分析

在NTU60 RGB+D数据集上,本文将所提NL-GGCN与最先进的基于骨骼的动作识别方法在准确率和模型参数量上进行比较,实验结果如表 5所示,CS表示Cross-Sub。从表 5可以看出,本文NL-GGCN的模型参数量远小于其他方法,同时在准确率方面,以Cross-Sub作为评价标准,本文NL-GGCN性能优势明显。

下载CSV 表 5 NTU60 RGB+D数据集上的实验结果对比 Table 5 Comparison of experimental results on NTU60 RGB+D dataset
4 结束语

为解决目前动作识别方法计算复杂度过高的问题,本文提出一种轻量级的人体骨架动作识别方法。针对人体骨架的特征,设计一种非局部网络模块,以提升网络的动作识别准确率。在数据预处理阶段,进行多流数据融合,通过一次训练即可得到最优结果。在网络结构上,分别将Ghost网络结构应用在空间图卷积和时间图卷积上,进一步降低网络参数量。动作识别数据集NTU60 RGB+D和NTU120 RGB+D上的实验结果表明,该方法在实现较低网络参数量的情况下能达到较高的识别准确率。在未来,人体动作识别将向着高实时性和高准确率的方向发展,以期广泛应用于安防监控、陪护机器人等领域。后续将结合Transformer、heatmap stack、EfficientNet等新型网络架构,进一步提升本文动作识别方法的鲁棒性、准确率并降低网络参数。

参考文献
[1]
胡建芳, 王熊辉, 郑伟诗, 等. RGB-D行为识别研究进展及展望[J]. 自动化学报, 2019, 45(5): 829-840.
HU J F, WANG X H, ZHENG W S, et al. RGB-D action recognition: recent advances and future perspectives[J]. Acta Automatica Sinica, 2019, 45(5): 829-840. (in Chinese)
[2]
赫磊, 邵展鹏, 张剑华, 等. 基于深度学习的行为识别算法综述[J]. 计算机科学, 2020, 47(S1): 139-147.
HE L, SHAO Z P, ZHANG J H, et al. Review of deep learning-based action recognition algorithms[J]. Computer Science, 2020, 47(S1): 139-147. (in Chinese)
[3]
张聪聪, 何宁, 孙琪翔, 等. 基于注意力机制的3D DenseNet人体动作识别方法[J]. 计算机工程, 2021, 47(11): 313-320.
ZHANG C C, HE N, SUN Q X, et al. Human motion recognition method based on attention mechanism of 3D DenseNet[J]. Computer Engineering, 2021, 47(11): 313-320. (in Chinese)
[4]
ZHANG Z M, MA X, SONG R, et al. Deep learning based human action recognition: a survey[C]//Proceedings of Chinese Automation Congress. Jinan, China: [s. n. ], 2017: 3780-3785.
[5]
YANG X D, TIAN Y L. EigenJoints-based action recognition using naïve-Bayes-nearest-neighbor[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops. Washington D.C., USA: IEEE Press, 2012: 14-19.
[6]
LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324. DOI:10.1109/5.726791
[7]
RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[J]. Nature, 1986, 323(6088): 533-536. DOI:10.1038/323533a0
[8]
KIPF T, FETAYA E, WANG K C, et al. Neural relational inference for interacting systems[EB/OL]. [2021-02-05]. https://arxiv.org/abs/1802.04687.
[9]
LIU H, TU J H, LIU M Y. Two-stream 3D convolutional neural network for skeleton-based action recognition[EB/OL]. [2021-02-05]. https://arxiv.org/abs/1705.08106.
[10]
DU Y, WANG W, WANG L. Hierarchical recurrent neural network for skeleton based action recognition[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2015: 1110-1118.
[11]
WANG X L, GIRSHICK R, GUPTA A, et al. Non-local neural networks[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 7794-7803.
[12]
HAN K, WANG Y H, TIAN Q, et al. GhostNet: more features from cheap operations[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2020: 1577-1586.
[13]
YAN S J, XIONG Y J, LIN D H. Spatial temporal graph convolutional networks for skeleton-based action recognition[EB/OL]. [2021-02-05]. https://arxiv.org/abs/1801.07455.
[14]
SHI L, ZHANG Y F, CHENG J, et al. Two-stream adaptive graph convolutional networks for skeleton-based action recognition[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 12018-12027.
[15]
LI M S, CHEN S H, CHEN X, et al. Actional-structural graph convolutional networks for skeleton-based action recognition[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 3590-3598.
[16]
SI C Y, CHEN W T, WANG W, et al. An attention enhanced graph convolutional LSTM network for skeleton-based action recognition[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 1227-1236.
[17]
SHI L, ZHANG Y F, CHENG J, et al. Skeleton-based action recognition with directed graph neural networks[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 7904-7913.
[18]
YAN S J, XIONG Y J, LIN D H. Spatial temporal graph convolutional networks for skeleton-based action recognition[EB/OL]. [2021-02-05]. https://arxiv.org/abs/1801.07455.
[19]
孔玮, 刘云, 李辉, 等. 基于图卷积网络的行为识别方法综述[J]. 控制与决策, 2021, 36(7): 1537-1546.
KONG W, LIU Y, LI H, et al. A survey of action recognition methods based on graph convolutional network[J]. Control and Decision, 2021, 36(7): 1537-1546. (in Chinese)
[20]
SHI L, ZHANG Y F, CHENG J, et al. Decoupled spatial-temporal attention network for skeleton-based action-gesture recognition[EB/OL]. [2021-02-05]. https://openaccess.thecvf.com/content/ACCV2020/papers/Shi_Decoupled_Spatial-Temporal_Attention_Network_for_Skeleton-Based_Action-Gesture_Recognition_ACCV_2020_paper.pdf.
[21]
ZOPH B, VASUDEVAN V, SHLENS J, et al. Learning transferable architectures for scalable image recognition[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 8697-8710.
[22]
VANHOUCKE V, SENIOR A, MAO M Z. Improving the speed of neural networks on CPUs[EB/OL]. [2021-02-05]. https://research.google.com/pubs/archive/37631.pdf.
[23]
GONG Y C, LIU L, YANG M, et al. Compressing deep convolutional networks using vector quantization[EB/OL]. [2021-02-05]. https://arxiv.org/pdf/1412.6115.pdf.
[24]
COURBARIAUX M, BENGIO Y, DAVID J P. BinaryConnect: training deep neural networks with binary weights during propagations[EB/OL]. [2021-02-05]. https://arxiv.org/abs/1511.00363.
[25]
COURBARIAUX M, HUBARA I, SOUDRY D, et al. Binarized neural networks: training deep neural networks with weights and activations constrained to +1 or -1[EB/OL]. [2021-02-05]. https://arxiv.org/pdf/1602.02830.pdf.
[26]
RASTEGARI M, ORDONEZ V, REDMON J, et al. XNOR-Net: ImageNet classification using binary convolutional neural networks[EB/OL]. [2021-02-05]. https://arxiv.org/pdf/1603.05279.pdf.
[27]
HANSON S J, PRATT L Y. Comparing biases for minimal network construction with back-propagation[EB/OL]. [2021-02-05]. https://proceedings.neurips.cc/paper/1988/file/1c9ac0159c94d8d0cbedc973445af2da-Paper.pdf.
[28]
IANDOLA F N, HAN S, MOSKEWICZ M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and < 0.5 MB model size[EB/OL]. [2021-02-05]. https://arxiv.org/abs/1602.07360.
[29]
HOWARD A G, ZHU M L, CHEN B, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL]. [2021-02-05]. https://arxiv.org/abs/1704.04861.
[30]
张洋, 姚登峰, 江铭虎, 等. 基于EfficientDet网络的细粒度吸烟行为识别[J]. 计算机工程, 2022, 48(3): 302-309, 314.
ZHANG Y, YAO D F, JIANG M H, et al. Fine-grained smoking behavior recognition based on EfficientDet network[J]. Computer Engineering, 2022, 48(3): 302-309, 314. (in Chinese)
[31]
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 on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 1010-1019.
[32]
LIU J, SHAHROUDY A, PEREZ M, et al. NTU RGB D 120: a large-scale benchmark for 3D human activity understanding[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(10): 2684-2701. DOI:10.1109/TPAMI.2019.2916873
[33]
SHUMAN D I, NARANG S K, FROSSARD P, et al. The emerging field of signal processing on graphs: extending high-dimensional data analysis to networks and other irregular domains[J]. IEEE Signal Processing Magazine, 2013, 30(3): 83-98. DOI:10.1109/MSP.2012.2235192
[34]
LI B, LI X, ZHANG Z F, et al. Spatio-temporal graph routing for skeleton-based action recognition[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33: 8561-8568. DOI:10.1609/aaai.v33i01.33018561
[35]
PASZKE A, GROSS S, CHINTALA S, et al. Automatic differentiation in PyTorch[EB/OL]. [2021-02-05]. https://openreview.net/pdf?id=BJJsrmfCZ.