原文:Revisiting Skeleton-Based Action Recognition
代码:GitHub - kennymckormick/pyskl: A toolbox for skeleton-based action recognition.
标题:重新审视基于骨架的动作识别
目录
摘要
人体骨架作为人体动作的紧凑表示,近年来受到越来越多的关注。许多基于骨骼的动作识别方法都采用 GCN 来提取人体骨骼的特征。尽管这些尝试取得了积极的成果,但基于 GCN 的方法在鲁棒性、互操作性和可扩展性方面仍有局限。在这项工作中,我们提出了基于骨骼的动作识别新方法 PoseConv3D。PoseConv3D 依靠三维热图体积而不是图形序列作为人体骨骼的基础表示。与基于 GCN 的方法相比,PoseConv3D 在学习时空特征方面更有效,对姿势估计噪声的鲁棒性更高,在跨数据集设置中的泛化效果更好。此外,PoseConv3D 还能处理多人场景,而无需额外的计算成本。分层特征可以在早期融合阶段与其他模态轻松集成,为提高性能提供了巨大的设计空间。PoseConv3D 在六项基于骨架的标准动作识别基准测试中的五项上都达到了最先进水平。与其他模态融合后,它在所有八种多模态动作识别基准上都达到了一流水平。
介绍
动作识别是视频理解的一项核心任务。现有研究探索了多种特征表示模式,如 RGB 帧 [6、54、59]、光流 [47]、声波 [62] 和人体骨骼 [60、64]。在这些模式中,基于骨骼的动作识别因其动作聚焦性和紧凑性近年来受到越来越多的关注。在实践中,视频中的人体骨骼主要表示为一系列联合坐标列表,其中的坐标由姿势估计器提取。由于只包含姿势信息,骨架序列只能捕捉动作信息,同时不受背景变化和光照变化等环境干扰的影响。

Figure 1: PoseConv3D 将二维姿势作为输入。一般来说,二维姿势比三维姿势的质量更好。我们在(a)中展示了使用 HRNet 对 NTU-60 和 FineGYM 视频估算的二维姿势。显然,它们的质量比传感器收集的三维姿势(b)或使用最先进的估算器估算的三维姿势(c)要好得多。
在所有基于骨骼的动作识别方法[15, 57, 58]中,图卷积网络(GCN)[64]是最流行的方法之一。具体来说,GCN 将每个时间步的每个人体关节视为一个节点。空间和时间维度上的相邻节点用边连接。然后将图卷积层应用于所构建的图,以发现跨空间和时间的动作模式。由于基于骨骼的动作识别在标准基准测试中表现良好,GCN 已成为处理骨骼序列的标准方法。
虽然取得了令人鼓舞的成果,但基于 GCN 的方法在以下方面存在局限性:(1)鲁棒性: 虽然 GCN 可直接处理人类关节的坐标,但其识别能力会受到坐标分布偏移的严重影响,而在使用不同的姿势估计器获取坐标时,坐标分布偏移往往会发生。坐标的微小扰动往往会导致完全不同的预测结果[66]。(2) 互操作性: 以往的研究表明,来自不同模态(如 RGB、光流和骨骼)的表征是互补的。因此,将这些模式有效结合起来,往往能提高动作识别的性能。然而,GCN 是在骨架的不规则图形上运行的,因此很难与通常在规则网格上表示的其他模态融合,尤其是在早期阶段。(3) 可扩展性: 此外,由于 GCN 将人体的每个关节都视为一个节点,因此 GCN 的复杂性与人数成线性关系,从而限制了其在涉及多人的场景(如群体活动识别)中的适用性。
在本文中,我们提出了一种新型框架 PoseConv3D,可作为基于 GCN 的方法的竞争性替代方案。具体而言,PoseConv3D 将图 1 所示的现代姿势估计器获得的二维姿势作为输入。二维姿势由骨架关节热图堆栈表示,而不是在人体骨架图上操作坐标。不同时间步的热图将沿时间维度堆叠,形成三维热图卷。然后,PoseConv3D 在三维热图卷的基础上采用三维卷积神经网络来识别动作。表 1 总结了 PoseConv3D 与基于 GCN 的方法之间的主要区别。
PoseConv3D 可以解决上述基于 GCN 方法的局限性。首先,使用三维热图体积对上游姿态估计更稳健:我们根据经验发现,PoseConv3D 对不同方法获得的输入骨骼具有良好的泛化能力。此外,PoseConv3D 依赖于基础表示的热图,它享受着卷积网络架构的最新进展,更容易与其他模态集成到多流卷积网络中。这一特点为进一步提高识别性能开辟了广阔的设计空间。最后,PoseConv3D 可以在不增加计算开销的情况下处理不同数量的人员,因为三维热图卷的复杂性与人员数量无关。为了验证 PoseConv3D 的效率和有效性,我们在多个数据集上进行了综合研究,包括 FineGYM [43]、NTURGB-D [34]、UCF101 [51]、HMDB51 [26]、Kinetics400 [6] 和 Volleyball [22],与基于 GCN 的方法相比,PoseConv3D 实现了最先进的性能。
2. 相关工作
2.1 基于 RGB 的动作识别 3D-CNN
3D-CNN 是 2D-CNN 在视频时空特征学习方面的自然扩展。它早已被用于动作识别 [23, 54]。由于参数较多,3D-CNN 需要大量视频才能学习到良好的表示。自 I3D [6] 以来,3D-CNN 已成为动作识别的主流方法。从那时起,动作识别界提出了许多先进的 3D-CNN 架构 [17, 18, 55, 56],这些架构在精度和效率上都优于 I3D。在这项工作中,我们首先提出使用三维热图体积作为输入的三维-CNN,并获得了基于骨骼的动作识别的最新技术
2.2 基于骨骼的动作识别 GCN
图卷积网络被广泛应用于基于骨骼的动作识别[3,7,19,49,50,64]。它将人体骨骼序列建模为时空图。ST-GCN [64] 是一种著名的基于 GCN 方法的基线,它结合了空间图卷积和交错时间卷积来进行时空建模。在此基线上,邻接加权被用于多尺度建模 [30, 36],而自注意机制则提高了建模能力 [28, 45]。尽管 GCN 在基于骨骼的动作识别方面取得了巨大成功,但它在鲁棒性 [66] 和可扩展性方面也有局限。此外,对于基于 GCN 的方法来说,融合骨骼和其他模态的特征可能需要精心设计 [13]。
2.3 基于骨架的动作识别 CNN
另一个研究方向是采用卷积神经网络进行基于骨骼的动作识别。基于 2D-CNN 的方法首先根据人工设计的变换将骨架序列建模为伪图像。其中一种方法是将热图沿时间维度聚合成带有颜色编码的二维输入[10]或学习模块[1, 63]。虽然经过精心设计,但在聚合过程中仍会出现信息丢失,从而导致识别性能下降。其他工作[2,24,25,29,37]直接将骨架序列中的坐标转换为带变换的伪图像,通常生成形状为 K ×T(其中 K 为关节数,T 为时间长度)的二维输入。这种输入无法利用卷积网络的定位特性,这使得这些方法在流行的基准测试中不如 GCN 那样具有竞争力[2]。
之前只有少数作品采用 3D-CNN 进行基于骨骼的动作识别。为了构建三维输入,它们要么堆叠距离矩阵的伪图像 [21, 32],要么直接将三维骨架加总成一个立方体 [33]。这些方法也存在严重的信息丢失问题,性能远不如最先进的方法。我们的工作是沿时间维度堆叠热图,形成三维热图卷,并在此过程中保留所有信息。此外,由于 3D-CNN 在时空特征学习方面的良好能力,我们使用了 3D-CNN 而不是 2D-CNN。
3. 框架
我们提出的 PoseConv3D 是一种基于 3D-CNN 的骨架动作识别方法,它可以替代基于 GCN 的方法,在各种设置下,其准确性都优于 GCN,而且鲁棒性、互操作性和可扩展性都有所提高。图 2 是 PoseConv3D 的概览,下文将详细介绍 PoseConv3D。
我们首先回顾了骨架提取,它是基于骨架的动作识别的基础,但在以往的文献中常常被忽视。我们指出了在选择骨架提取器时应该考虑的几个方面,并鼓励在 PoseConv3D 中使用二维骨架。随后,我们介绍了 PoseConv3D 中使用的二维骨骼序列表示法-三维热图卷,接着介绍PoseConv3D 的结构设计,包括侧重于人体骨骼模式的变体以及结合人体骨骼和 RGB 帧模式的变体,以展示 PoseConv3D 的互操作性。
Figure 2:我们的框架 :对于视频中的每一帧,我们首先使用两阶段姿势估计器(检测+姿势估计)进行二维人体姿势提取。然后,我们沿时间维度堆叠关节或肢体的热图,并对生成的三维热图卷进行预处理。最后,我们使用 3D-CNN 对 3D 热图卷进行分类。
3.1 提取姿势的良好做法
作为基于骨骼的动作识别的关键预处理步骤,人体骨骼或姿势提取在很大程度上影响着最终识别的准确性。然而,在以往的文献中,它的重要性往往被忽视,在使用传感器[34, 42]或现有姿势估计器[4,64]估计姿势时,并未考虑其潜在影响。在此,我们对姿态提取的主要方面进行了综述,以找到一种良好的做法。
如图 1 所示,一般来说,二维姿势的质量要优于三维姿势。我们采用二维自上而下姿态估计器 [39, 53, 61] 进行姿态提取。与二维自下而上估计法[5, 8, 38]相比,自上而下估计法在 COCO 关键点[31]等标准基准上性能更优。在大多数情况下,我们将人体检测器预测的建议输入自顶向下姿态估计器,这足以为动作识别生成高质量的二维姿态。当几十个候选者中只有少数几个人感兴趣时,基于骨架的动作识别要想取得良好的性能,一些先验条件是必不可少的,例如,在视频的第一帧就知道感兴趣的人的位置。在估计热图的存储方面,以往的文献通常将其存储为坐标三元组(x, y, c),其中 c 表示热图的最大得分,(x, y) 是 c 对应的坐标。详细的消融研究见附录第 4.1 节。
3.2 从二维姿势到三维热图卷
从视频帧中提取出二维姿势后,为了将其输入 PoseConv3D,我们将其重构为三维热图卷。在形式上,我们将二维姿势表示为大小为 K × H × W 的热图,其中 K 是关节数,H 和 W 是帧的高度和宽度。我们可以直接使用 “自上而下 ”姿势估计器生成的热图作为目标热图,该热图应进行零填充,以匹配给定相应边界框的原始帧。
“自上而下 ”姿势估计器:先找到照片中所有人 → 框出每个人的边界框,对每个边界框内的人 → 生成关节热图→ 输出结果:得到一个小尺寸的热图。
零填充对齐:直接用小热图训练模型会出错,因为不同帧中人的位置可能偏移。定位原始边界框:记录人物在原照片中的坐标位置(比如左上角坐标(50,100),框大小200x300像素),制作等大画布:创建一个和原照片尺寸相同的空白画布贴回热图+补黑边:把小热图精准贴到画布的(50,100)位置,热图之外的区域填零(黑色),就像把剪下的贴纸粘回原处,周围用黑卡纸补全。
如果只有骨骼关节的坐标三元组(,
,
),我们可以以每个关节为中心合成 K 个高斯图,从而得到关节热图 J:
:第 k 个关节在位置 (i,j) 处的热图强度。σ :高斯分布的标准差,控制热图的扩散范围,值越大,热图覆盖区域越广。
:表示该关节存在的概率(范围通常为 [0,1])。
高斯分布建模:以关节坐标 (
,
) 为中心,生成一个二维高斯分布热图。
在理想情况下(无噪声),热图在 (
,
) 处强度最大(
=1)。
离中心越远,强度按指数衰减,衰减速率由 σ 控制。
置信度加权:通过
对热图强度加权。若关节检测置信度低(如被遮挡),热图整体强度降低,减少对模型的干扰。
假设某关节坐标为 (10,20),置信度
=0.9,σ=2:
在位置 (10,20),热图强度为 0.9×
=0.9。
在位置 (12,20),热图强度为 0.9×
= 0.9 x
≈ 0.55 。
σ 控制高斯图的方差,(,
) 和
分别是第 k 个关节点的位置和置信度得分。
我们还可以创建肢体热图 L:
第 个肢体位于两个关节
和
之间。函数 D 计算点 (i, j) 到线段的距
值得注意的是,尽管上述过程假定每个帧中只有一个人,但我们可以很容易地将其扩展到多人情况,即直接累加所有人的 k-th 高斯图,而无需放大热图。最后,将所有热图(J 或 L)沿时间维度堆叠,就得到了一个三维热图卷,其大小为 K × T × H × W。
:第 k 条肢体在位置 (i,j) 处的热图强度。
seg[
,
] :连接第
和
号关节的线段(例如,左肘到左腕)。
D((i,j),seg[
,
]):点 (i,j) 到线段 seg[
,
]的最短欧氏距离。
min(
,
):肢体两端关节的置信度最小值(确保肢体存在的可靠性)。
肢体建模:肢体的热图不再以单点为中心,而是覆盖连接两关节的线段区域。
距离函数:通过计算点到线段的距离 D,生成沿肢体延伸方向的热图。
在肢体线段上(D=0),热图强度最大。
远离肢体时,强度按指数衰减。
置信度约束:若任一端关节置信度低(如
=0.3,
=0.8),肢体热图整体强度由 0.3加权,抑制不可靠肢体的影响。
距离计算示例
假设线段端点
=(10,20),
=(15,25),计算点 (12,22) 到线段的最短距离:
投影点在线段上的坐标为 (12,22)(实际需通过向量投影计算)。
若投影点在线段内,则 D=0,热图强度最大。
若投影点在线段外,则 D 为点到最近端点的距离。
在实践中,我们进一步应用了两种技术来减少三维热图卷的冗余度:
(1) 以主体为中心进行裁剪。将热图做得和帧一样大的效率很低,尤其是当感兴趣的人物只在一小块区域内活动时。在这种情况下,我们首先要找到一个最小的边界框,将各帧的所有二维姿势都包含在内。然后,我们根据找到的边界框裁剪所有帧,并将它们调整到目标尺寸。这样,在保留所有二维姿势及其运动的同时,三维热图的体积可以在空间上缩小。
(2) 统一采样。通过对帧的子集进行采样,还可以在时间维度上缩小三维热图体积。与以往基于 RGB 的动作识别工作不同,研究人员通常在较短的时间窗口内对帧进行采样,如 SlowFast [18]中在 64 帧的时间窗口内对帧进行采样,而我们则建议在 3D-CNN 中使用均匀采样策略 [59]。具体来说,要从视频中抽取 n 个帧,我们将视频分为 n 个等长的片段,然后从每个片段中随机抽取一个帧。均匀采样策略能更好地保持视频的全局动态。我们的实证研究表明,均匀采样策略对基于骨骼的动作识别大有裨益。有关生成三维热图卷的更多说明,请参阅附录第 2 节。

3.3 基于骨骼的 3D-CNN 动作识别
对于基于骨骼的动作识别,GCN 一直是主流骨干网络。相比之下,3D-CNN 是一种有效的网络结构,常用于基于 RGB 的动作识别 [6, 18, 20],但在这方面的探索较少。为了证明 3D-CNN 在捕捉骨骼序列时空动态方面的能力,我们设计了两个 3D-CNN 系列,即用于姿态模态的 PoseConv3D 和用于 RGB+Pose 双模态的 RGBPose-Conv3D。
PoseConv3D:PoseConv3D 侧重于人体骨骼模式,以三维热图体积为输入,可与各种三维-CNN 骨架实例化。要使 3D-CNN 适应基于骨骼的动作识别,需要进行两处修改:
(1) 由于三维热图卷的空间分辨率不需要像 RGB 片段那样大(在我们的设置中小 4 倍),因此三维网络中删除了早期阶段的向下采样操作;
(2) 较浅(层数较少)和较细(通道较少)的网络足以模拟人体骨骼序列的时空动态,因为三维热图体积已经是动作识别的中级特征。基于这些原则,我们对三种流行的 3D-CNN 进行了调整: C3D [54]、SlowOnly [18] 和 X3D [17],适用于基于骨骼的动作识别(附录表 11 展示了三种骨架的架构及其变体)。在 NTURGB+D-XSub 基准(表 2)上对经过调整的 3D-CNN 的不同变体进行了评估。采用轻量级的 3D-CNN 可以显著降低计算复杂度,但代价是识别性能略有下降(所有 3D 主干网的识别率均低于 0.3%)。在实验中,考虑到 SlowOnly 的简单性(直接从 ResNet 生成)和良好的识别性能,我们使用 SlowOnly 作为默认骨干网。在各种基准测试中,PoseConv3D 在准确性和效率方面都优于具有代表性的 GCN / 2D-CNN 同行。更重要的是,PoseConv3D 与流行的基于 RGB 的动作识别网络之间的互操作性使人体骨骼更容易参与多模态融合。
RGBPose-Conv3D:为了展示 PoseConv3D 的互操作性,我们提出了 RGBPose-Conv3D 用于人体骨骼和 RGB 帧的早期融合。这是一个双流 3D-CNN,有两条路径分别处理 RGB 模式和姿势模式。RGBPose-Conv3D 的详细实例化见附录第 3.2 节,但 RGBPose-Conv3D 的架构总体上遵循几条原则:
(1) 由于两种模式的特性不同,这两种路径是不对称的: 与 RGB 通路相比,姿势通路的通道宽度较小、深度较小,输入的空间分辨率也较小。
(2) 受 SlowFast [18] 的启发,在两条通路之间添加了双向横向连接,以促进两种模式之间的早期特征融合。为避免过度拟合,RGBPose-Conv3D 在训练时对每条通路分别采用了两个单独的交叉熵损失。在实验中,我们发现通过横向连接实现的早期特征融合与仅通过后期融合实现的特征融合相比,具有一致的改进效果。
4. 实验
4.1 数据集准备
我们在实验中使用了六个数据集: FineGYM [43]、NTURGB+D [34、42]、Kinetics400 [6、64]、UCF101 [51]、HMDB51 [26] 和 Volleyball [22]。除非另有说明,我们使用自上而下的方法进行姿态提取:检测器是以 ResNet50 为骨干的 Faster-RCNN [40],姿态估计器是预先在 COCO-keypoint [31] 上训练过的 HRNet [53]。对于除 FineGYM 以外的所有数据集,二维姿态都是通过将 TopDown 姿态估计器直接应用于 RGB 输入而获得的。我们报告了 FineGYM 的平均 Top-1 准确率和其他数据集的 Top-1 准确率。我们在实验中采用了在 MMAction2 [11] 中实现的 3D ConvNets。
FineGYM:FineGYM 是一个细粒度动作识别数据集,包含 99 个细粒度体操动作类别的 29K 个视频。在姿势提取过程中,我们比较了三种不同的人物边界框: 1. 检测器预测的人物边界框(Detection);2. 运动员在第一帧的 GT 边界框,其余帧的跟踪框(Tracking)。3. 所有帧中运动员的 GT 边界框(GT)。在实验中,除非另有说明,我们使用第三种边界框提取的人体姿势。
NTURGB+D:NTURGB+D 是实验室收集的大规模人类动作识别数据集。它有两个版本,即 NTU-60 和 NTU-120(NTU60 的超集): NTU-60 包含 60 个人类动作的 57K 个视频,而 NTU-120 包含 120 个人类动作的 114K 个视频。数据集以三种方式分割: 跨主体(X-Sub)、跨视角(X-View,NTU-60)、跨设置(X-Set,NTU-120),其中动作主体、摄像机视角、摄像机设置在训练和验证中是不同的。传感器收集的三维骨骼可用于该数据集。除非另有说明,我们对 NTU-60 和 NTU-120 的 X-sub 分割进行了实验。
Kinetics400、UCF101 和 HMDB51。这三个数据集是从网上收集的一般动作识别数据集。Kinetics400 是一个大型视频数据集,包含来自 400 个动作类别的 30 万个视频。UCF101 和 HMDB51 的规模较小,分别包含 101 个类别的 13K 个视频和 51 个类别的 6.7K 个视频。我们使用 TopDown 管道提取的 2D 姿态注释进行了实验。
Volleyball:排球是一个群体活动识别数据集,包含 8 类群体活动的 4830 个视频。每帧包含约 12 人,只有中心帧有 GT 人物框注释。我们使用 [41] 中的跟踪框进行姿势提取。
4.2 PoseConv3D 的良好特性
为了详细说明三维卷积网络相对于图形网络的良好特性,我们将 PoseSlowOnly 与 MS-G3D [36](一种基于 GCN 的多维代表性方法)进行了比较。两个模型采用完全相同的输入(GCN 采用坐标三元组,PoseConv3D 采用由坐标三元组生成的热图)。
性能和效率:在 PoseConv3D 和 GCN 的性能比较中,我们对 PoseConv3D 采用了 48×56×56 的输入形状。表 3 显示,在这种配置下,PoseConv3D 在参数数量和 FLOPs 方面都比 GCN 轻。虽然重量轻,但 PoseConv3D 在不同数据集上都取得了具有竞争力的性能。1 个片段的测试结果优于最先进的 GCN,甚至可与之媲美,而所需的计算量却少得多。在 10 片测试中,PoseConv3D 的性能始终优于最先进的 GCN。只有 PoseConv3D 能利用多视角测试的优势,因为它能对整个热图卷进行子采样,形成每个输入。此外,PoseConv3D 在不同数据集上使用相同的架构和超参数,而 GCN 则需要在不同数据集上对架构和超参数进行大量调整[36]。
鲁棒性:为了测试两个模型的鲁棒性,我们可以在输入中放弃一部分关键点,看看这种扰动会如何影响最终精度。在表 4 中,我们可以看到 PoseConv3D 对输入扰动具有很高的鲁棒性:每帧丢弃一个肢体关键点会导致 Mean-Top1 的中度下降(小于 1%),而 GCN 则会导致 14.3%的下降。有人会说,我们可以用噪声输入来训练 GCN,类似于 dropout 操作 [52]。然而,即使在这种情况下,在 p = 1 的情况下,GCN 的 Mean-Top1 准确率仍然下降了 1.4%。实验结果表明,PoseConv3D 在姿势识别的鲁棒性方面明显优于 GCN。
通用性:为了比较 GCN 和 3D-CNN 的通用性,我们在 FineGYM 上设计了一个交叉模型检查。具体来说,我们使用两个模型,即 HRNet(Higher-Quality,简称 HQ)和 MobileNet(Lower-Quality,简称 LQ)进行姿态估计,并在其上分别训练两个 PoseConv3D。在测试过程中,我们将 LQ 输入输入用 HQ 训练的模型,反之亦然。从表 5a 中我们可以看出,与 GCN 相比,在使用 PoseConv3D 进行训练和测试时,如果使用较低质量的姿势,准确率的下降幅度较小。同样,我们也可以改变人物框的来源,在训练和测试中使用 GT 框(HQ)或跟踪结果(LQ)。结果如表 5b 所示。PoseConv3D 的性能下降幅度也比 GCN 小得多。
可扩展性:GCN 的计算量随着视频中人数的增加而线性递增,因此在群体活动识别方面效率较低。我们使用排球数据集 [22] 的实验来证明这一点。数据集中的每段视频包含 13 个人和 20 个帧。对于 GCN 来说,相应的输入形状将是 13×20×17×3,比一个人的输入大 13 倍。在这种配置下,GCN 的参数数和 FLOP 数分别为 2.8M 和 7.2G (13×)。对于 PoseConv3D,我们可以使用单个热图体积(形状为 17×12×56×56)来表示所有 13 人4 。Pose-SlowOnly 的基本通道宽度设置为 16,因此只需 0.52M 参数和 1.6 GFLOPs。尽管参数和 FLOPs 都少得多,PoseConv3D 在排球验证中仍取得了 91.3% 的 Top-1 准确率,比基于 GCN 的方法高出 2.1%。
4.3 使用 RGBPose-Conv3D 进行多模态融合
PoseConv3D 的 3D-CNN 架构使其能够更灵活地通过一些早期融合策略将姿势与其他模态融合。例如,在 RGBPose-Conv3D 中,RGB 通道和姿势通道之间的横向联系在早期阶段就被用于跨模态特征融合。在实践中,我们首先为 RGB 和姿势模式分别训练两个模型,并用它们来初始化 RGBPose-Conv3D。我们继续对网络进行多次微调,以训练横向联系。最终的预测是通过后期融合两条路径的预测得分来实现的。RGBPose-Conv3D 可以通过早期+晚期融合获得更好的融合效果。
我们首先在表 6 中比较了单向横向连接和双向横向连接。结果表明,在 RGB 和姿态方面,双向特征融合优于单向特征融合。在早期阶段进行双向特征融合,采用 1 个夹点测试的早期+晚期融合效果优于采用 10 个夹点测试的晚期融合效果。此外,RGBPose-Conv3D 还适用于两种模式重要性不同的情况。在 FineGYM 中,姿态模式更为重要,而在 NTU-60 中则相反。然而,从表 7 中我们可以看到,通过早期+后期融合,这两种模式的性能都有所提高。我们在附录第 2 节中演示了 RGBPose-Conv3D 的详细实例化。
4.4 与最先进技术的比较
基于骨骼的动作识别:在表 8 中,我们将 PoseConv3D 与之前基于骨骼的动作识别技术进行了比较。之前的作品(表 8 上部)在 NTURGB+D 中使用 Kinect 采集的 3D 骨架,在 Kinetics 中使用 OpenPose 提取的 2D 骨架(FineGYM 骨架数据的详细信息尚不清楚)。PoseConv3D 采用的是第 3.1 节中介绍的良好方法提取的 2D 骨架,其质量更好。我们将 PoseConv3D 与 SlowOnly 主干网实例化,将形状为 48×56×56 的三维热图体积作为输入,并报告了通过 10 个片段测试获得的准确率。为了进行公平比较,我们还使用二维人体骨骼(MS-G3D++)对最先进的 MS-G3D 进行了评估: MS-G3D++ 直接将提取的坐标三元组(x、y、c)作为输入,而 PoseConv3D 则将从坐标三元组生成的伪热图作为输入。在使用高质量二维人体骨骼的情况下,MS-G3D++ 和 PoseConv3D 的性能都远远优于之前的先进技术,这表明了基于骨骼的动作识别中姿势提取方法的重要性。当两者都将高质量的二维姿势作为输入时,PoseConv3D 在 6 个基准测试中的 5 个测试中都优于最先进的 MS-G3D,显示了其强大的时空特征学习能力。在 4 项 NTURGB+D 基准测试中,PoseConv3D 有 3 项取得了迄今为止最好的成绩。在 Kinetics 基准上,PoseConv3D 明显超过 MS-G3D++,显著优于之前的所有方法。
多模态融合:作为一种强大的表示方法,骨架本身也是其他模态(如 RGB 外观)的补充。通过多模态融合(RGBPose-Conv3D 或 LateFusion),我们在 8 个不同的视频识别基准中取得了最先进的结果。我们将提议的 RGBPose-Conv3D 应用于 FineGYM 和 4 个 NTURGB+D 基准,使用 R50 作为骨干;16、48 作为 RGB/PosePathway 的时间长度。表 9a 显示,我们的早期+晚期融合在各种基准测试中都取得了优异的性能。我们还尝试用 LateFusion 将 PoseConv3D 的预测结果直接与其他模态融合。表 9b 显示,与 Pose 模式的后期融合可以将识别精度提高到一个新水平。我们在三个动作识别基准上达到了新的水平: Kinetics400, UCF101 和 HMDB51。在具有挑战性的 Kinetics400 基准上,与 PoseConv3D 预测融合后,识别精度比最新水平提高了 0.6%[35],这有力地证明了 Pose 模式的互补性。
4.5 热图处理消融
以主体为中心进行裁剪:由于数据集中人物的体型和位置可能会有很大差异,因此要在相对较小的 H × W 预算内保留尽可能多的信息,关键是要聚焦于动作主体。为了验证这一点,我们在输入尺寸为 32×56×56 的 FineGYM 上进行了一对实验,实验中是否以主体为中心进行了裁剪。我们发现,以受试者为中心的裁剪有助于数据预处理,可将 MeanTop1 提高 1.0%,从 91.7% 提高到 92.7%。
均匀采样:从较小的时间窗口采样的输入可能无法捕捉到人类动作的全部动态。为了验证这一点,我们在 FineGYM 和 NTU-60 上进行了实验。固定步长采样是从一个固定的时间窗口采样,我们尝试以时间步长 2、3、4 对 32 个帧进行采样;均匀采样是从整个片段中均匀采样 32 个帧。在测试中,我们从每个片段中抽取帧时采用固定的随机种子,以确保测试结果的可重复性。从图 3 中我们可以看出,均匀采样始终优于采用固定时间步长的采样。在均匀采样的情况下,1 个片段的测试结果甚至比固定步长采样 10 个片段的测试结果更好。需要注意的是,NTU-60 和 FineGYM 中的视频长度变化很大。通过更详细的分析,我们发现均匀采样主要提高了数据集中较长视频的识别性能(图 4)。此外,在这两个数据集上,均匀采样在基于 RGB 的识别上也优于固定步长采样。
关节和肢体的伪热图:用于基于骨骼的动作识别的 GCN 方法通常会将多个流(关节、骨骼等)的结果集合在一起,以获得更好的识别性能[45]。这种做法对于 PoseConv3D 也是可行的。根据我们保存的坐标(x、y、c),我们可以生成关节和四肢的伪热图。一般来说,我们发现关节热图和肢体热图都是 3D-CNN 的良好输入。将关节-PoseConv3D 和肢体-PoseConv3D(即 PoseConv3D (J + L))的结果组合在一起,可以显著且持续地提高性能。
三维热图卷与二维热图聚合:三维热图卷是一种更 “无损 ”的二维姿势表示法,而二维伪图像则是将热图与着色或时间卷积聚合在一起。PoTion [10] 和 PA3D [63] 没有在基于骨骼的动作识别的流行基准上进行评估,也没有公开的实施方案。在初步研究中,我们发现 PoTion 的准确率(≤ 85%)远高于 GCN 或 PoseConv3D(均≥ 90%)。为了进行苹果与苹果之间的比较,我们还重新实现了 PoTion、PA3D(准确率高于报告),并在 UCF101、HMDB51 和 NTURGB+D 上对它们进行了评估。PoseConv3D 在使用三维热图卷的情况下取得了比使用二维热图聚合作为输入的二维 CNN 好得多的识别结果。在使用轻量级 X3D 时,PoseConv3D 的表现明显优于 2D-CNNs ,其 FLOP 值与 2D-CNNs 相当,而参数却少得多(表 10)。
5. 结论
在这项工作中,我们提出了 PoseConv3D:一种基于 3D-CNN 的骨架动作识别方法,它以三维热图体积为输入。PoseConv3D 解决了基于 GCN 的方法在鲁棒性、互操作性和可扩展性方面的局限性。使用轻量级 3D-ConvNets 和紧凑型三维热图卷作为输入,PoseConv3D 在准确性和效率方面都优于基于 GCN 的方法。基于 PoseConv3D,我们在多个基准测试中实现了基于骨骼和多模态的一流动作识别能力。
本文《Revisiting Skeleton-Based Action Recognition》针对基于骨骼的动作识别任务中传统图卷积网络(GCN)的局限性,提出了一种基于 3D热图体积 和 3D卷积神经网络(3D-CNN) 的新方法 PoseConv3D。
基于骨骼的动作识别通过分析人体关节的时空动态来理解动作。传统方法广泛采用GCN,但其存在三大关键问题:
鲁棒性不足:GCN直接处理关节坐标,对姿态估计噪声(如坐标偏移、关键点遗漏)敏感,导致预测不稳定。
模态互操作性差:GCN的图结构与RGB等规则网格模态不兼容,难以实现早期特征融合。
可扩展性受限:GCN的计算复杂度随视频中人数线性增长,无法高效处理多人场景(如群体活动)。
核心方法:PoseConv3D
输入表示:3D热图体积
关节热图:将每个关节的坐标 (x,y) 转换为高斯分布热图,强度由置信度 ck 加权(公式1)。
肢体热图:基于关节间线段的最短距离生成热图(公式2),增强肢体运动建模。
时间维度堆叠:将连续帧的热图沿时间轴堆叠为 K×T×H×W的3D体积(K为关节数,T为时间长度,H×W 为空间分辨率),保留完整的时空信息。
关键技术优化
基于主体的裁剪:聚焦动作区域,减少冗余背景,提升计算效率(准确率提升1%)。
均匀时序采样:将视频均分后随机采样,保留全局动态(优于固定窗口采样)。
模型设计
单模态(PoseConv3D):轻量化3D-CNN(如SlowOnly、X3D),适配骨骼数据的低分辨率特性。
多模态(RGBPose-Conv3D):
双流架构:分别处理RGB和骨骼模态,骨骼分支通道更少、分辨率更低。
双向侧向连接:在早期阶段跨模态传递特征,结合后期分数融合提升性能(如NTU-60准确率提升1.4%)。