Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition 论文阅读
Semantically-Informed Neural Architectures for Efficient Processing of Human Motion via Skeleton Data 论文阅读笔记
Semantically guided neural networks are employed in skeleton-based human action recognition tasks.
文章目录
-
- Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition 论文阅读笔记
- 摘要
- 1.引言
- 2.相关工作
- 3.语义引导的神经网络
-
- 3. 1动力学表示
- 3.2关节级模块
- 3.3帧级模块
-
4 实验研究
-
- 4.1 数据集分析
-
4.2 实施过程
-
4.3 消融分析
-
- 4.3.1 基于语义表示的有效性
-
4.3.2 多层模型的有效性
-
4.3.3 有力的基础性能
-
4.3.4 SMP的可视化效果
-
4.3.5 SGN的复杂度分析
- 4.4与最新技术的比较
-
5 结论
-
摘要
基于骨架的人体动作识别因其易于获取人体骨架数据而引起了人们极大的兴趣。近年来,有一种趋势是在不考虑计算效率的情况下,使用非常深入的前馈神经网络来建模关节的三维坐标。本文提出了一种简单有效的语义引导神经网络(SGN)用于基于骨架的动作识别。我们明确地将关节的高级语义(关节类型和帧索引)引入到网络中,以增强特征表示能力。 此外,我们还通过两个模块,即用于建模同一帧中关节相关性的关节级模块和用于将同一帧中的关节作为一个整体来建模帧间依赖关系的帧级模块,分层地利用关节之间的关系。提出了一个强有力的基线,以促进该领域的研究。SGN在NTU60、NTU120和SYSU数据集上实现了最先进的性能,其模型尺寸比以前的大多数作品小了一个数量级。 源代码在 代码地址。
1.引言
人类行为识别在各个领域都有广泛的应用场景

图1: NTU60(CS设置)上对比分析了多种算法在准确率和参数规模方面的性能比较。本研究提出的方法在模型尺寸较小的数量级上达到了最优效果。
对于基于骨骼的动作识别技术而言,在建模骨架序列的空间与时间演变方面深度学习方法得到了广泛应用[11,47]。研究者们已发展出了多种网络架构;其中较为突出的是循环神经网络(RNN)[7,63,36,41,57,40]、卷积神经网络(CNN)[18,58,30,51]以及图卷积网络(GCN)[54,40,44]等模型。在早期阶段,RNN/LSTM因其优异性能而受到广泛关注;然而近年来研究表明前馈卷积神经网络(即非递归架构)在语音、语言[34、10、53、48]以及骨架动作建模方面展现出显著优势;这是因为它们能够捕捉到更为复杂的时序关系和语义信息。大多数基于骨骼的动作识别方法倾向于将关节坐标组织为二维网格形式;并将其尺寸调整至适合CNN输入的标准大小(例如224×224像素)如ResNet50模型[12]所示)。这种行列对应关系反映了不同关节类型的帧索引信息;在此类方法中长期依赖性和语义信息有望被深层模型的大感受野捕获;尽管如此这种设计可能会导致系统复杂度急剧上升。从直觉上讲;语义信息对于动作识别任务至关重要;因为关节类型及其运动模式构成了动作的核心特征。具体而言;关节的空间位置与时间运动轨迹共同描述了人体骨骼的形态与功能结构;例如头部上的手关节与脚关节将产生完全不同的动作信号:前者可能代表举手动作;后者则可能代表踢腿动作。此外时间信息同样对动作识别具有重要意义;以坐立转换为例:虽然两者均为身体姿态变化但其出现顺序差异可能会影响系统判别能力然而目前大多数研究忽略了这一关键因素未能充分挖掘其潜在价值

图2展示了我们构建的端到端语义引导神经网络(SGN)框架。该网络由关节级模块与框架级模块构成,在DR过程中整合了关节的位置与速度信息以学习其动力学表示。两个模块分别编码了关节类型与框架索引的不同语义信息。为了建模关节级别的依赖关系,在该模块中我们采用了三层GCN结构;同时为了解决帧间依赖关系问题,则应用了两层CNN结构。
为了解决现有方法的上述局限性,我们提出了一种语义引导的神经网络(SGN),它明确地利用语义和动力学来实现高效的基于骨架的动作识别。 图2显示了总体框架。我们通过依次探索骨架序列的关节级和帧级依赖关系来构建层次网络。 为了更好的联合水平相关性建模, 除了动力学之外,我们还将关节类型(例如,“头部”和“臀部”)的语义结合 到GCN层,这使得内容自适应图的构建和每个帧内关节之间的有效消息传递成为可能。为了更好地进行帧级相关建模,我们将时间帧索引的语义合并到网络中。特别是,我们对同一帧内关节的所有特征执行空间最大化池化(SMP)操作,以获得帧级特征表示。 结合嵌入的帧索引信息,采用两层时间卷积神经网络学习特征表示进行分类。此外,我们开发了一个性能和效率都很高的强大基线。由于对语义信息的有效探索、分层建模和强大的基线,我们提出的SGN以更少的参数实现了最先进的性能。
我们将我们的三个主要贡献总结如下:
- 我们开发出了一种明确探索关节语义(帧索引和关节类型)的方法, 这显著提升了基于骨架的动作识别性能。早期研究往往忽视了语义的重要性, 并过度依赖复杂深度网络来进行动作识别。
- 我们提出了一种基于语义信息设计的神经网络架构, 充分挖掘了关节级和帧级的空间与时间相关性。
- 我们构建了一个高效轻量级模型, 其性能超越了现有大多数方法。我们相信这一创新将有助于推动基于骨架的动作识别技术的发展。
借助上述核心技术突破,在本研究中我们构建了一个性能卓越、基于骨架的高效率动作识别系统。通过大量消融实验分析可以看出, 本方法展现出显著的有效性。在三个大型骨架导向的动作识别基准数据集中进行测试后发现, 该方法不仅展现出优异的整体性能水平, 在模型规模方面也优于许多现有的算法(如图1所示)。值得注意的是, 在模型规模方面本方法相比其他多数算法缩小了一到两个数量级)。
2.相关工作
36
6、22
40
3.语义引导的神经网络
对于骨架序列来说,在理解每个骨骼的位置关系时起着关键作用的是其语义特征。
3. 1动力学表示
对于给定的关节\mathbf{X}_t^k,在3维坐标系中定义了其运动学特性及速率v_{t,k} = p_{t,k} - p_{t-1,k}。我们将位置p_{t,k}和速度v_{t,k}进行嵌入处理,并将其映射到同一高维空间\mathbb{R}^{C_1}中表示为\widetilde{p}_{t,k}和\widetilde{v}_{t,k}。随后通过加法将它们融合在一起得到z_{t,k} = \widetilde{p}_{t,k} + \widetilde{v}_{t,k} \in \mathbb{R}^{C_1}(1),其中C_1表示关节的空间维度。以位置为例,在嵌入过程中我们采用了两个连续的全连接层来进行编码:\widetilde{p}_{t,k} = \sigma(W_2(\sigma(W_1 p_{t,k} + b_1)) + b_2)(2),其中W_1\in\mathbb{R}^{C_1\times 3}、W_2\in\mathbb{R}^{C_1\times C_1}为权重矩阵,b_1、b_2为偏置向量,并采用ReLU激活函数[33]进行非线性变换。”
3.2关节级模块
我们设计了一个关节级模块来利用同一帧中关节的相关性。我们采用图卷积网络(GCN)来探索结构骨架数据的相关性。以前的一些基于GCN的方法将关节作为节点,并基于先验知识预先定义图形连接(边)[54]或学习内容自适应图形[37]。我们还学习内容自适应图,但不同的是,我们将关节类型的语义合并到GCN层,以实现更有效的学习。
我们通过从两个方面充分利用语义来增强GCN层的能力。首先,我们使用关节类型的语义和动力学来学习帧内节点(不同关节)之间的图连接。关节类型信息有助于学习合适的邻接矩阵(即关节之间的连接权重关系)。以两个源关节(脚和手)和一个目标关节头为例,从直觉上看,即使脚和手的动力学相同,脚到头的连接权重值也应该与手到头的连接权重值不同。其次,作为关节信息的一部分,关节类型的语义参与GCN层的消息传递过程。
我们用one-hot向量j_k \in\mathbb R^d表示第k个关节的类型(也称为k型),其中第k维度为1,其他维度均为零。与…的位置相似 。我们得到第k个关节类型的嵌入为 \widetilde {j_k }\in\mathbb R^d。
给定骨架框架的J节点,我们构建了J节点图。我们用关节的动力学和语义来表示框架t处关节类型k的关节表示 类型为z_t = [z_{t,k},\widetilde {j_k}]\in \mathbb R^{2C_1}。然后,框架t的所有关节都用Z_t = (z_{t,1};...;z_{t,J})\in\mathbb R^{J\times 2C_1}表示 。
与[49,48,37]类似,在同一帧t中,从第i个关节到第j个关节的边缘权重由嵌入空间中的相似性/亲和力建模,如下所示: S_t (i,j) = \theta(z_{t,i})^T\Phi(z_{t,j})(3)
其中θ和φ分别代表两个变换函数;每个函数均由单个全连接层(FC)来实现;具体地,
\theta(x) = W_{3}x + b_{3} \in \mathbb{R}^{C_{2}}
和
\Phi(x) = W_{4}x + b_{4} \in \mathbb{R}^{C_{2}}
3.3帧级模块
我们开发了一个基于帧级别的模块以利用帧之间的相关性。为了在网络中明确各帧之间的顺序关系, 我们引入了与帧索引相关的语义信息, 从而提升对每个框架的理解能力。通过one-hot向量f_t\in\mathbb R^{d_f}的形式对每个框架进行编码, 这种编码方式类比于Equation (2)中的位置编码机制, 并在此基础上提出了一种改进后的嵌入表示\tilde{f}_t \in \mathbb{R}^{C_3}。在当前框架t的所有关节k的位置上, 我们将与该位置相关的关节信息与学习到的空间特征相结合, 从而在时间维度上各点特征经过此操作后会更加丰富。为了整合所有关节的信息特征, 我们在空间维度上应用最大值池化操作以聚合各点特征, 因此在整个序列中提取出的时间步信息将被进一步强化并最终形成一个C_4维的空间序列级表征向量
4.实验
4.1数据集
36
4.2 实施细节
Network Setting : 生成动态表示(DR)的过程中, 将FC层的神经元数量设定为64个(即C1=64)。需要注意的是, FC层的权重并非位置和速度之间的共享权重。为了实现关节类型的编码, 两个FC层均设置为64个神经元数量 。为了编码帧索引, 两个FC层分别设置为64和256个神经元数量 。C3=256 。对于(3)中的变换函数, 每个FC层均设置为256个神经元数量 , 即C2=256 。对于关节级模块, 将三个GCN层分别配置为128、256和256个神经元数量 (即C3=256) 。对于帧级别模块, 我们将第一层CNN的神经元数量设定为256, 其沿时间维度内核尺寸设为3; 第二层CNN则设定了512个神经元数量 , 内核尺寸设为1 (即C4=512)。在每一个GCN或CNN层之后, 均会采用批归一化[16]并配合ReLU非线性激活函数 。
Training : 所有实验均在Pytorch平台执行, 使用一块P100 GPU卡进行运算。我们采用了Adam优化器[20], 初始学习率为0.001。学习率会在第60阶段、第90阶段以及第110阶段分别衰减至原来的十分之一。训练将在第120个时代终止结束。我们设置了权重衰减系数为0.0001. NTU60/NTU120/SYSU数据集的批量大小分别为64/64/16.所有实验均采用了标签平滑[13], 平滑因子设定为0.1.分类损失函数采用交叉熵损失来进行网络训练 。
4.3消融实验
4.3.1 利用语义的有效性
骨架序列的语义信息对于动作识别具有重要结构意义。为了验证基于语义的有效性, 我们参考图2所示的框架, 构建了一个包含八个神经网络模型的体系架构, 并在NTU60数据集上进行了系列实验验证, 表1展示了对比实验结果。其中, JT表示关节类型的语义, FI表示帧索引的语义, G代表图(邻接矩阵)的学习机制, P表示使信息能够传递的关键操作, T-Conv则表示时间卷积层, 即帧级模块的第一个卷积神经网络(CNN)层。在这一基础上, jointlevel(JL)模块与帧级(FR)模块分别采用了三层与两层GCN与CNN结合的学习机制。通过表1中的前四行数据信息, 我们评估了四个不同的设计模型: jointlevel(JL)模块与frame(FR)模块均采用了三层GCN与两层CNN相结合的学习机制; w与w/o分别标识"有"与"无"两种情况下的实验结果对比情况; 利用节理类型的有效性进行测试研究是本研究的核心内容之一; 在这一过程中, 我们以其中一个模型为例进行详细说明后, 其他三个模型可以通过类似的方式进行分析。

表1: NTU60数据集上关节级模块(JL)与帧级模块(FL)在利用语义准确性(%)方面的对比分析。其中JT代表关节类型,FI代表框架索引。
JL(仅无JT与P无JT)与FL表示当关节类型的语义不参与图卷积运算时的情况:即G w/o JT不再构建图结构(G w/o JT),P w/o JT也不再传递信息(P w/o JT)。
我们重点观察到了以下三点关键结论:
- 在学习骨骼序列图时,通过加入关节类型的语义,“JL(G w JT&P w /o JT)&FL”在CS和CV设置下分别比未加入关节类型语义的版本(即“JL(G w /o JT&P w /o JT)&FL”)提升了0.6%和0.9%的效果。具体而言,在模型缺乏关节类型信息时,无法区分具有相同坐标但语义不同的关节点。
- 联合类型信息有助于GCN层的消息传递过程。“JL(G w/o JT&P w JT)&FL”在CS和CV设置下的性能分别比未包含该信息的版本高出1.7%和1.3%。“原因在于GCN本身无法识别关节的顺序或类型特征。”即使消息传递过程中两个具有相同三维坐标的关节点来自手肘和脚踝到目标节点的信息不同,“引入关节类型信息将有助于提升GCN的性能。”
- 将关节类型的语义同时用于图学习与消息传递的行为(即采用“JL(G w JT&P w JT)&FL”版本),并不会带来额外的优势。“对于Equ中的消息传递方程Yt=GtZtW。(4) 反向传播至Gt的梯度也会受到包含关节类型信息的Zt项影响。”实际上,在相似性/亲和性学习中排除了关于关节类型的信息后,“Gt依然能够隐含地获取到这些信息。”
通过框架索引的有效性分析:
我们在表1中考察了两个模型(分别位于第5和6行),以探究在时间卷积内核大小设为1的情况下降级后对帧索引对帧级模块(FL)的影响。“JL&FL(w/o T-Conv)w FI”表示采用了基于帧索引语义的模型。这两种模型均整合了关节类型语义。
此外,在表1中考察了另外两个模型(分别位于第7和8行),以探究使用时间卷积核大小为3时对帧索引影响的研究。“JL&FL(w T-Conv)w FI”表示采用了基于帧索引语义的模型。这两种模型均整合了关节类型语义。
在此基础上得出两个主要结论:
- 当禁用时间卷积时(即过滤器内核大小为1而不是3),“JL&FL(w /o T-Conv)w FI”在CS和CV设置下分别比“JL&FL(w /o T-Conv)w /o FI”好1.0%和0.9%。帧索引信息“告诉”网络骨架序列的帧顺序,这有利于动作识别。
- 帧索引有助于时间卷积。对于CS和CV设置,“JL&FL(w T-Conv)w FI”分别优于“JL&FL(w T-Conv)w /o FI”0.3%和0.4%。帧索引的语义带来的好处小于那些没有时间循环的模型(过滤器内核大小为1)。主要原因是时间卷积层使得网络能够通过较大的内核大小在一定程度上了解骨架序列的帧顺序。然而,显式地“告诉”网络帧索引的语义进一步提高了性能,成本可以忽略不计。我们采用“JL&FL(w T-Conv)w FI”方案作为最终方案,也称为“SGN”。
就关节类型信息而言,在GCN层中明确表示相邻矩阵有助于提升模型性能;通过引入时间戳数据来充分地利用时间关系的信息。
4.3.2分层模型的有效性
我们构建了关节级别的模块以及帧级别的模块来分析各关节间的相关性,并采用层次化的方法进行建模。为了验证该方法的有效性,我们将所提出的SGN与现有两种主流模型进行对比实验,并将实验结果展示于表2中。
"SGN w G-GCN"这一表示方法体现了非分层架构的特点,在该方案中我们舍弃了空间最大池化模块(SMP),转而将GCN层设计为结合关节类型、帧索引信息以及运动特性(位置与速度)。值得注意的是,在我们的架构设计中,并未为每一帧单独构建独立图结构,而是构建了一个能够整合所有帧内关节信息的全局自适应网络结构,并通过信息交互过程完成各关节间的消息传递。“SGN w /o SMP”这一表示方法表明,在我们的方案“SGN”中已经排除掉了空间最大池化模块(SMP),
我们观察到以下两点:

表2:我们的分层模型在NTU60数据集的准确率(%)方面的有效性。
基于GCN模型构建同一帧内节点间的关联性较之于对比全部帧间节点的相关性而言更具优势,在CS与CV设置下,“无SMP版本”的性能分别高出1.0%与0.6%。“基于全局内容自适应图”的构建过程更具挑战性。在CS与CV设置下,“SGN”方法分别优于“SGN无SMP版本”的性能水平——前者的表现优异程度分别为后者提供了约0.7%与约0.6%的优势。通过MaxPooing(即SMP)机制整合了每帧中所有骨骼关节的信息来源,在这一过程中得以提取出每帧具有代表性的鉴别特征(其激活值显著较高)。值得注意的是,在此过程中引入空间MaxPooing层不仅能够浓缩各时空维度上的计算负荷分布情况,并且有效降低了后续处理环节中的计算开销。
4.3.3强大的基线
40、39、37、58
40、39、37、58
40、57、54、8
早期的研究通常依赖于深度网络来建模低维骨架序列【40, 39, 37, 58
表3详细记录了我们所采用的技术在构建基础线方面的效果具体而言,在本研究中发现了以下三个关键观察结果第一部分数据增强显著提升了基于视图的数据集(CV)性能通过在训练过程中引入未直接观测到的数据增强技术,在模型中模拟更多样化的视角第二部分多流网络架构结合位置信息与速度信息表现出色[40]然而在这种架构下会导致模型参数数量翻倍的问题依然存在为了优化模型效率在引入多流信息的过程中仅增加了约1%即约0.01 million parameters额外参数即可显著提升性能第三部分对比实验表明MaxPool在性能上远超AveragePool版本进一步分析发现其优势源于MaxPool机制能够集中关注具有独特特征的数据区域

表3:某些技术对NTU60数据集精度(%)和参数数量的影响。
4.3.4SMP的可视化
空间最大化池(SMP)具有与注意机制相似的功能。我们通过SMP使得所选关节能够被可视化为三个具体动作:图3中展示的手势包括握拳、屈膝和礼节敬意。响应矩阵的大小设定为256个元素,在每个维度上分别对应一个特定的手势节点。我们统计了SMP选择各个手势节点的概率值,并将其划分为两个类别:前五次被选中的手势节点以较大蓝色圆圈标记(占总概率值70%),而其他手势节点则以较小蓝色圆圈标记(占余下30%)。通过观察实验结果发现,在不同运动模式中各关键点的重要性存在显著差异:左脚踢腿的动作特别重要,在此姿态下左手特别重要,在单手握拳时左右手都表现得很重要。这些观察结果与人类自然行为模式是一致的。

图3:MaxPooling层的空间响应可视化用于显示三个动作(鼓掌、踢腿和敬礼)的具体表现。通过较大的蓝色圆圈标识了前五个关键点位置。
4.3.5 SGN的复杂性
58
58
在对比中探讨了单片自适应网络(SGN)的复杂性特性。如图1所示,在现有主流的动作识别方法中,V A-RNN【58

图1:NTU60(CS设置)上不同方法的精确度和参数数量比较
所提出的SGN模型在模型尺寸较小的数量级上实现了最佳性能
4.4与最新技术的比较
我们在表4、表5以及表6中对NTU60、NTU 120和SYSU数据集分别实施了SGN算法与当前最先进方法的对比分析。其中'SGN w /o Sem.'被用作基准模型,在无需依赖语义理解机制的情况下进行实验。
59
59
59
59

表4:NTU60与CS和CV设置在精确度方面的性能比较(%)

表5:NTU120与CSubject和C-Setup设置在精确度(%)方面的性能比较。
深入挖掘骨骼结构特征方面取得显著进展。现有研究表明主要采用卷积神经网络(CNN)与图神经网络(GCN)结合使用,并对另一种组合体即LSTM与GCN进行混合应用以获取更好的实验效果。经过对比分析,在CS设置下提出的稀疏图形神经网络(SGN)较之上述研究方法在精度上提升了5.5%至4.2%之间表现更为突出。相较于现有研究中的其他方法如[37]和[58]等,在保证参数规模基础上实现了性能上的显著提升如图1所示
基于表5与表6的数据

5 结论
在本研究中,我们开发了一种简洁高效的空间感知神经网络架构,并将其应用于基于人体姿态特征的高精度行为分类任务中。为此,我们构建了包含关节类型及时空位置信息的语义表征作为网络输入的关键组件。针对人体骨骼系统中各关节间的相互作用关系设计了一个局部连接层来捕捉其内在联系特性;同时采用空间融合机制将所有骨骼节点统一编码成全局感知特征并生成最终的行为表示向量。该方法通过多层非线性变换实现了对复杂动作模式的有效建模与识别目标实现过程中的关键难点在于如何有效地将局部与全局特征进行协调整合以提高模型的整体性能
