基于自适应多尺度图卷积网络的骨架动作识别

2023-10-17 05:50刘宽奚小冰周明东
计算机工程 2023年10期
关键词:关节点骨架尺度

刘宽,奚小冰,周明东

(1.上海交通大学 机械与动力工程学院 上海市复杂薄板结构数字化制造重点实验室,上海 200240;2.上海交通大学医学院附属瑞金医院,上海 200240)

0 概述

人体动作识别广泛应用于人机交互、运动辅助、行为检测等领域。现有研究对表示人体动作的各类数据模态进行了探索,如RGB 图像、深度图像、光流、人体骨架等。在这些数据模态中,人体骨架数据只包含骨架关节点的二维或三维空间坐标,高度抽象的动作表达对动态环境和复杂背景具有更强的鲁棒性[1]。同时,由于运动传感器、3D 深度相机和人体姿态估计算法的不断发展,基于骨架数据的动作识别方法吸引了愈来愈多的学者进行研究[2-6]。

早期的人体骨架动作识别方法多采用手工设计特征方法捕捉骨架关节点之间的相对位置关系[7-9],该方法主要依赖关节点之间的相对平移和旋转提取骨架序列的时空特征,设计复杂的特征提取器限制模型性能[10]。近年来,由于深度学习算法的不断发展,基于深度学习的动作识别方法受到广泛关注。基于深度学习方法的人体骨架动作识别方法主要分为3 类:基于循环神经网络的骨架数据动作识别方法[11-17]、基于卷积神经网络(Convolutional Neural Network,CNN)的骨架数据动作识别方法[18-22]以及基于图神经网络(Graph Convolution Network,GCN)的骨架数据动作识别方法[23-34]。基于循环神经网络的骨架数据动作识别方法将骨架序列逐帧编码为向量后输入到循环神经网络单元或长短期记忆网络单元中,学习序列间的时空特征以进行动作识别。基于卷积神经网络的骨架数据动作识别方法首先将骨架数据预处理转化为伪图像,然后采用卷积神经网络对伪图像进行多尺度的特征提取和分类。但是,上述两类动作识别方法将骨架数据转化为向量或伪图像的建模方式忽略了人体骨架的自然拓扑结构,识别效果有限。基于图神经网络的骨架数据动作识别方法的图神经网络将人体骨架的拓扑结构定义为邻接矩阵,使用图结构对骨架序列进行建模以提取人体的时空运动特征。YAN等[23]将图卷积网络(STGCN)应用于基于人体骨架数据的动作识别任务中,将自然人体骨架的拓扑结构和时空域中的时间运动依赖性定义为稀疏连接的时空无向图,模型分别使用空间图卷积算子和时间图卷积算子学习骨架序列的空间运动特征和时间运动特征。SHI等[24-25]改进图卷积网络,提出自适应注意力模块学习骨架的拓扑结构图,并将骨架关节点和骨架长度一同作为模型的输入,提升了图卷积网络在动作识别任务中的分类性能。SHI等[26]基于自然人体中关节和骨架之间的运动依赖关系,将骨架数据表示为有向无环图并设计了一种有向图神经网络,提取骨架序列运动的特征信息。LIU等[27]提出一种时间和空间分离的多尺度图卷积算子和时间和空间统一的时空图卷积算子,通过多尺度聚合方法实现有效的动作特征提取。DING等[28]提出语义引导图卷积网络,使用拓扑结构图提取模块、动作图推理模块和注意图迭代模块聚合特征信息并捕获动作的潜在依赖关系。孙琪翔等[29]设计基于图卷积网络的非局部网络模块,有效获取全局特征信息,从而提高网络识别准确率。CHEN等[30]提出通道拓扑细化图卷积模块(CTR-GC)以学习骨架拓扑结构并聚合不同通道的骨架关节点特征,实现基于骨架的动作识别。王小娟等[31]基于空间注意力机制和通道注意力机制,对骨架数据的动作特征进行多粒度卷积和动态融合。ZHANG等[32]提出SATD-GCN网络,基于空间自注意力模块和时间扩展图卷积模块,有效减轻了数据冗余问题并增强模型鲁棒性。TU等[33]采用骨架关节点与骨架长度融合的关系驱动图卷积网络作为特征提取器并采用姿势预测模块实现半监督学习。BIAN等[34]提出人物关系图卷积模块,以自监督的方式学习群体活动识别的骨架动作特征。

上述图卷积网络大多使用预定义的固定拓扑图表达人体不同部位之间的连接关系,但是人体在执行不同动作时,各个部位之间具有不同的关系,比如“脱鞋”动作需要手和脚相互配合才能完成,而上述使用预定义拓扑图的图卷积网络很难捕捉两者之间的关系,因为预定义的拓扑图中手与脚并不存在直接的连接关系。此外,固定的拓扑图无法根据动作调节人体各部位之间连接关系的强弱,例如“脱帽”动作手和头之间应该具有更强的关系,而“踢球”动作则应弱化两者之间的连接关系。上述方法在研究骨架数据的时间维度建模时多采用固定尺寸的单支路时间图卷积算子,但由于各类动作的持续时间、重复次数不同,例如“鼓掌”是重复动作,每次“鼓掌”只持续很短的时间,而“脱鞋”是持续时间很长的单次动作,因此固定尺寸的单支路时间图卷积算子难以捕捉具有不同时空粒度的动作特征。

为了解决上述问题,本文提出基于自适应多尺度图卷积网络的人体骨架动作识别方法,自适应多尺度图卷积网络包括自适应空间图卷积层和多尺度时间图卷积层。自适应空间图卷积层基于自注意力机制,以数据驱动的方式动态构建骨架的拓扑结构,根据动作输入网络自行调节人体各部位的连接关系。多尺度时间图卷积层对单支路时间图卷积核进行多支路扩展,从而捕获动作的多粒度时空特征,使得模型具有多尺度的时空感受野。将骨架关节点、骨架长度、骨架关节点运动、骨架长度运动四路信息作为模型输入,并在NTU RGB+D 60 动作识别数据集和NTU RGB+D 120 动作识别数据集上开展实验验证所提方法的有效性。

1 图卷积网络

1.1 人体骨架序列

人体骨架序列由每帧中每个人体骨架关节点的二维或三维坐标表示。在具有N个关节点和T帧的骨架序列上构造无向时空图G=(V,E),其中V={vti|t=1,2,…,N}表示骨架序列中的所有骨架关节点,vti代表第t帧的第i个骨架点。根据骨架结构的自然具有的连接特性,建立同一帧内各个骨架点之间的连接关系。骨架边集E由连接同一帧内人体各个骨架点的骨架边集ES={vtivtj|(i,j) ∈H}和连接前后两帧之间相同骨骼点的骨架边集EF={vtiv(t+1)i}的两个子集组成,H表示人体骨架点集。

1.2 空间图卷积

图卷积网络是针对具有图结构数据设计的基于神经网络的特征提取算法,被广泛应用于有图性质的推荐系统、社交网络、交通预测等任务中[35-37]。图卷积网络通过式(1)计算:

空间图卷积算子对骨架序列的第τ帧进行图卷积操作,如图1 黑色框线所示,该帧包含有N个骨架点的骨架点集Vτ和连接该帧内各个骨架点的骨架边集ES(τ)={vtivtj|τ=t,(i,j) ∈H},空间图卷积算子表达式为:

图1 空间图卷积算子和时间图卷积算子Fig.1 Spatial graph convolution operator and temporal graph convolution operator

其中:fin表示维度为Cin×T×N的输入骨架序列;fout表示维度Cout×T×N的输出骨架序列;⊗为卷积操作;WS表示维度为Cin×Cout×1×1 的空间图卷积核;A是维度N×N的邻接矩阵,表达式如式(3)所示:

式(2)中的Λ为防止图卷积网络在反向传播时出现梯度消失或梯度爆炸问题的度矩阵,表达式为:

1.3 时间图卷积

时间图卷积算子对骨架序列的第ι个骨架点进行图卷积操作,如图1 浅色框线所示,包含T帧中所有该骨架点组成的点集Vι和前后连接该骨架点的骨架边集EF={vtiv(t+1)i|i=ι}。时间图卷积算子和空间图卷积算子类似,时间图卷积算子表达式为:

其中:WF表示维度为Cin×Cout×T×1 的时间图卷积核,是时间图卷积核的训练参数。

2 自适应多尺度图卷积网络

2.1 自适应空间图卷积层A-GCN

本文基于自注意力机制[24-25,38]提出自适应空间图卷积层(A-GCN),根据骨架序列输入样本对骨架拓扑结构进行数据驱动的自适应优化,将骨架的拓扑结构作为参数与空间图卷积内核一起作为参数进行学习,流程如图2 所示。

图2 自适应空间图卷积层的流程Fig.2 Procedure of adaptive spatial graph convolution network

首先,按每τ帧长度将输入骨架序列fin划分为T/τ个不重叠的维度为N×τ×Cin的时空窗口,自适应空间图卷积层分别在每个时空窗口内计算τ帧内所有骨架关节点之间的连接关系。

维度为Cin×Cin/r×1×1 的空间图卷积核WQ、WK、WV将窗口划分后的输入fin分别投射为Q、K、V3 个特征矩阵,提取骨架动作特征的同时将骨架序列的通道维度降维为Cin/r以提升计算效率。

在骨架序列的每个时空窗口内分别将Q、KT矩阵相乘,得到维度为T/τ×N×τ×N×τ的自适应骨架拓扑结构邻接矩阵AATTN,将自适应骨架拓扑矩阵AATTN与归一化后的预定义骨架拓扑邻接矩阵相加后使用Tanh 激活函数将矩阵元素归一化到(-1,1)之间,得到最终的骨架拓扑结构矩阵Bk,矩阵元素Bk[i,j]代表第i个骨架点和第j个骨架点之间连接关系的强弱,Ak定义如图3 所示。每个骨架样本在不同时空窗口内其拓扑结构都是唯一的、由输入样本生成的自适应拓扑结构矩阵,数据驱动的骨架拓扑动态调整人体各部位的连接关系。AATTN、Bk、Tanh 函数的表达式分别如下所示:

图3 k 阶邻接矩阵Fig.3 k-hop adjacency matrix

基于多头注意力机制[38],对骨架序列输入重复r次上述操作。多头注意力网络能够感知并提取骨架不同邻域范围的空间信息,加强了人体各关节点之间的联系。

骨架拓扑结构矩阵Bk与特征矩阵V相乘并经过维度为Cin/r×Cout×1×1 的空间图卷积核W,将骨架序列的通道维度升维为Cout,最后合并r层骨架动作特征并加入残差连接[39],窗口还原后得到自适应空间图卷积层输出fout。

2.2 多尺度时间图卷积层MS-TCN

自适应空间图卷积层的各个时空窗口之间相对闭合,信息无法进行有效交互,因此需要对骨架序列的时间维度进行特征建模。本文采用多尺度时间图卷积层(MS-TCN)将单支路时间图卷积核进行多支路扩展[27],以捕获人体动作特征不同粒度的时空模式。多尺度时间图卷积层的算法流程如图4 所示。

图4 多尺度时间图卷积层的算法流程Fig.4 Algorithm procedure of multi-scale temporal graph convolution network

多尺度时间图卷积层采用瓶颈设计对骨架数据的时间维度进行建模,在6 条支路分别使用维度为Cin×Cin/6×1×1 的时间图卷积核将骨架序列的通道维度降维为Cin/6 以提升计算效率。其中4 条支路分别使用膨胀率为1、2、3、4 的维度为Cin×Cout×3×1 的时间图卷积核,分别以3 帧、6 帧、9 帧、12 帧的采样率对骨架序列进行多种时间粒度的特征提取。为进一步扩张模型的时空感受野,加入维度为Cin×Cin/6×1×1 时间图卷积支路和最大池化支路。最后在通道维度上对6 条支路的输出进行拼接将骨架序列的通道维度升维为Cout,并在输入和输出之间加入残差连接[39]得到多尺度时间图卷积层的最终输出。

2.3 时空图卷积网络总体架构

时空图卷积网络模型的整体架构如图5 所示。

图5 时空图卷积网络模型的整体架构Fig.5 Overall architecture of spatiotemporal graph convolutional network model

模型输入数据维度为T×N×3 的骨架序列,线性投影层将骨架序列的通道维度升维为C并将帧数T减半,使用6 层串联连接的自适应空间图卷积层(A-GCN)和多尺度时间图卷积层(MS-TCN)提取骨架时空特征,在第2 层尾部和第4 层尾部对骨架特征的时间维度进行下采样,通道数C翻倍的同时帧数T减半。

原始骨架序列通过6 层A-GCN+MS-TCN 模块建立维度为T/8×N×8C的多层次骨架动作特征表示,采用Softmax 函数对经过平均池化层和分类头的骨架特征进行动作预测,最终模型输出维度为S×1的向量,该向量即代表模型最终得出S类动作的概率分布。

3 实验结果与分析

3.1 数据集

本文使用NTU RGB+D 60 数据集和NTU RGB+D 120 数据集。

NTU RGB+D 60 数据集[11]是使用3 台动作捕捉相机拍摄的动作识别任务的数据集,包含由40 名10~35 岁志愿者完成的共60 类动作以及56 880 个数据样本。每个骨架样本数据的维度为T×N×3,其中T表示该骨架序列的总帧数,N表示每帧中的总骨架关节点数,3 表示每个骨架关节点都有(x,y,z)3 个坐标值。NTU RGB+D 60 数据集使用人物划分(Cross-Subject,CS)和视角划 分(Cross-View,CV)两种模式划分训练集和测试集,其中CS 划分模式按照志愿者划分训练集和测试集,训练集包含40 320 个样本,测试 集包含16 560 个样本;CV 划分模式按照相机划分训练集和测试集,将相机2 和相机3 采集的37 920 个样本作为训练集,相机1 采集的19 960 个样本作为测试集。

NTU RGB+D 120 数据集[40]是对NTU RGB+D 60数据集的扩展数据集,另外增加包含60 类新动作的57 367 个数据样本,数据集共包含120 类动作以及113 945 个数据样本。NTU RGB+D 120 数据集使用CS 和设置划分(Cross-Setup,CT)两种模式划分训练集和测试集,其中CS 划分模式按照志愿者划分训练集和测试集,训练集包含63 026 个样本,测试集包含50 919 个样本;CT 划分模式按照相机设置方案划分训练集和测试集,训练集包含54 468 个样本,测试集包含49 477 个样本。

3.2 数据预处理

为将数据样本的各维度坐标归一化到同一区间,并消除特征间的相关性以便于模型学习,使用如下步骤对原始骨架序列进行预处理[27]:

1)将骨架序列的第1帧坐标值线性投影到[-1,1]的区间内,其余帧采取相同线性变换与第1 帧进行对齐;

2)对骨架序列进行三维坐标旋转,使骨架的左右肩线平行于x轴,脊柱平行于z轴;通过重新放映骨架动作,将所有的骨架序列帧数统一填充为288帧。预处理前后的骨架序列样本对比如图6 所示。

图6 原始骨架序列和预处理后骨架序列对比Fig.6 Comparison between original skeleton sample and preprocessed skeleton sample

3.3 网络设置与实验数据预处理

使用Python 语言PyTorch 深度学习框架建立网络,NTU RGB+D 数据集预处理方式如第3.2 节所述,整体网络模型如第2.3 节所述。通过大量实验最终确定使用6 层A-GCN+MS-TCN 搭建自适应多尺度时空图卷积网络模型,每层的通道数C分别定义为96、96、192、192、384、384;注意力头数量r定义为4;时空窗口长度τ定义为1。训练批数据大小为32,优化算法使用带动量的随机梯度下降算法,动量设置为0.9。初始学习率为0.05,模型共训练100轮,在训练到35 轮和70 轮时学习率乘1/10。损失函数使用交叉熵函数,权重衰减参数设置为0.000 4。为防止模型出现过拟合,在每个模块的残差连接部分加入drop path层,drop path 层随机丢弃概率设置为0.2。使用标签平滑方法加速训练同时防止网络过拟合,标签平滑参数设置为0.1。

为验证本文所提的自适应空间图卷积层和多尺度时间图卷积层的有效性,在NTU RGB+D 60 数据集CV 划分模式下进行消融实验,网络仅输入骨架关节点坐标,不使用数据增强。实验结果如表1 所示,采用自适应的空间图卷积层A-GCN 和固定尺寸的单支路时间图卷积层TCN,相比于ST-GCN 基线模型,模型的识别准确率提升了5.1 个百分点;同时采用自适应的空间图卷积层A-GCN 和多尺度时间图卷积层MS-TCN 时模型识别准确率进一步提升至95.6%。

表1 NTU RGB+D 60 数据集下的消融实验结果Table 1 Ablation experiment results under the NTU RGB+D 60 data set %

图7 为预定义的骨架拓扑图和自适应的骨架拓扑图实例对比,矩阵中元素的灰度表示两骨架关节点之间连接关系的强弱。图7(a)是预定义的骨架拓扑图,图7(b)是A-GCN+MS-TCN 模型在NTU RGB+D 60 数据集的CV 划分模式下学习到的骨架拓扑图实例。自适应的空间图卷积算子能够根据输入动作自适应调整骨架关节点之间联系的强弱,显著增强模型的表达能力,有效提升模型的分类性能。

图7 预定义骨架拓扑图和自适应骨架拓扑图对比Fig.7 Comparison between predefined skeleton topology graph and adaptive skeleton topology graph

为提高算法模型的动作识别准确率,将骨架关节点、骨架长度、以及骨架关节点运动和骨架长度运动共4 路信息输入模型,在NTU RGB+D 60 数据集CV划分模式下进行消融实验,结果如表2 所示,由表2 可知,当仅使用骨架关节点作为模型输入时,模型的top-1 准确率为95.6%,将骨架长度和骨架关节点两路信息一同输入模型后准确率提高至96.5%,将骨架关节点、长度、关节点运动和长度运动完整4 路信息输入时模型准确率进一步提升至96.8%,与仅输入骨架关节点相比,网络的识别准确率提高了1.2个百分点。

表2 多流融合的NTU RGB+D 60 数据集下的消融实验结果Table 2 Ablation experiment results of multi stream fusion on the NTU RGB+D 60 data set %

将本文所提的A-GCN+MS-TCN 完整模型与在NTU RGB+D 60 数据集和NTU RGB+D 120 数据集上识别效果较好的其他模型进行对比,如表3、表4所示,表中加粗数字表示该组数据最大值。由表3可知,A-GCN+MS-TCN 模型在NTU RGB+D 60 数据集的CS、CV 划分模式下分别取得90.5%和96.8%的动作识别准确率,相比于ST-GCN 基线模型,在CS、CV 划分模式下的识别准确率分别提升了9.0、8.5 个百分点。由 表4可知,A-GCN+MS-TCN模型在NTU RGB+D 120 数据集的CS、CT 划分模式下分别取得86.0%和88.7%的动作识别准确率。

表3 不同模型在NTU RGB+D 60 数据集下的结果对比Table 3 Results comparison of different models under the NTU RGB+D 60 data set %

表4 不同模型在NTU RGB+D 120数据集下的结果对比Table 4 Results comparison of different models under the NTU RGB+D 120 data set %

以上结果表明,自适应多尺度图卷积网络能够根据输入动作动态调节骨架关节点间的连接关系提取骨架动作的多粒度的时空特征,具有良好的泛化性能和表达能力,提升了图卷积网络的识别性能。

4 结束语

本文提出基于自适应多尺度图卷积网络的人体骨架动作识别方法。针对预定义骨架拓扑图连接关系固定导致模型泛化能力不足的问题,提出自适应空间图卷积层对骨架拓扑结构进行自适应调整,使用数据驱动的骨架拓扑图提升模型的泛化能力。针对单支路图卷积核提取特征导致模型表达能力不足的问题,提出多尺度时间图卷积层对时间图卷积算子进行多支路扩展,采用动态融合的骨架序列的时空特征提升模型的表达能力。在NTU RGB+D 60 和NTU RGB+D 120 动作识别数据集上验证本文模型的有效性,实验结果表明本文模型相比现有图卷积网络动作识别模型显著提升了分类准确率,具有良好的泛化性和鲁棒性。但本文模型仅针对人体骨架进行动作识别,由于忽略了环境、场景等辅助信息,导致模型对某些特定动作的识别能力较差,因此下一步将对多模态数据融合的动作识别模型进行研究,以提升模型的动作识别准确率。

猜你喜欢
关节点骨架尺度
浅谈管状骨架喷涂方法
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
财产的五大尺度和五重应对
骨架密度对炭/炭多孔骨架压力浸渗铜的影响
搞好新形势下军营美术活动需把握的关节点
RGBD人体行为识别中的自适应特征选择方法
宇宙的尺度
9
内支撑骨架封抽技术在突出煤层瓦斯抽采中的应用