一.概述
PoseC3D 是一种基于 3D-CNN 的骨骼行为识别框架,同时具备良好的识别精度与效率,在包含 FineGYM, NTURGB+D, Kinetics-skeleton 等多个骨骼行为数据集上达到了 SOTA(即指在公开的数据集上,目前检测到的效果最好、识别率最高、正确率最高,算法模型超过以前的所有方法,达到最优;)。不同于传统的基于人体 3 维骨架的 GCN 方法,PoseC3D 仅使用 2 维人体骨架热图堆叠作为输入,就能达到更好的识别效果。
骨骼作为一个描述动作的紧凑模态,受到的关注与日俱增。大部分骨骼动作识别的工作采用 GCN 来提取骨骼的特征。尽管被广泛使用,但 GCN 方法依然在鲁棒性、兼容性和可扩展性上存在一定缺陷。为解决这些缺陷,提出了 PoseC3D 这一新框架。在这套新框架中,利用关键点热图的三维堆叠而非图序列来表示一个人体骨架序列。相比基于 GCN 的方法,PoseC3D 能更高效地提取人体骨架序列中的时空特征,对骨架序列中的噪声更鲁棒,且泛化性更好。与此同时,在处理多人场景时,PoseC3D 并不需额外增加计算量。由于模型基于 3D-CNN,PoseC3D 所提取的人体骨骼特征可以更自由地与其他模态(如 RGB)的特征进行融合,从而得到更好的识别效果。在四个数据集上,PoseC3D 一致取得了比 GCN 方法更精确的识别效果(包含只基于骨架的设定以及骨架 + RGB 的设定)。
二.对比分析
图一:gcn识别流程
(1)鲁棒性: 输入的扰动容易对 GCN 造成较大影响,使其难以处理关键点缺失或训练测试时使用骨骼数据存在分布差异(例如出自不同姿态提取器)等情形。
(2)兼容性: GCN 使用图序列表示骨架序列,这一表示很难与其他基于 3D-CNN 的模态(RGB, Flow 等)进行特征融合。
(3)可扩展性:GCN 所需计算量随视频中人数线性增长,很难被用于群体动作识别等应用。
2.posec3d:一种基于 3D-CNN 的骨骼动作识别方法
(1)识别流程如下:
班级: | 控研231 |
学号: | 2023540105 |
姓名: | 唐斋超 |
教师: | 沙芸 |
一.概述
PoseC3D 是一种基于 3D-CNN 的骨骼行为识别框架,同时具备良好的识别精度与效率,在包含 FineGYM, NTURGB+D, Kinetics-skeleton 等多个骨骼行为数据集上达到了 SOTA(即指在公开的数据集上,目前检测到的效果最好、识别率最高、正确率最高,算法模型超过以前的所有方法,达到最优;)。不同于传统的基于人体 3 维骨架的 GCN 方法,PoseC3D 仅使用 2 维人体骨架热图堆叠作为输入,就能达到更好的识别效果。
骨骼作为一个描述动作的紧凑模态,受到的关注与日俱增。大部分骨骼动作识别的工作采用 GCN 来提取骨骼的特征。尽管被广泛使用,但 GCN 方法依然在鲁棒性、兼容性和可扩展性上存在一定缺陷。为解决这些缺陷,提出了 PoseC3D 这一新框架。在这套新框架中,利用关键点热图的三维堆叠而非图序列来表示一个人体骨架序列。相比基于 GCN 的方法,PoseC3D 能更高效地提取人体骨架序列中的时空特征,对骨架序列中的噪声更鲁棒,且泛化性更好。与此同时,在处理多人场景时,PoseC3D 并不需额外增加计算量。由于模型基于 3D-CNN,PoseC3D 所提取的人体骨骼特征可以更自由地与其他模态(如 RGB)的特征进行融合,从而得到更好的识别效果。在四个数据集上,PoseC3D 一致取得了比 GCN 方法更精确的识别效果(包含只基于骨架的设定以及骨架 + RGB 的设定)。
二.对比分析
图一:gcn识别流程
(1)鲁棒性: 输入的扰动容易对 GCN 造成较大影响,使其难以处理关键点缺失或训练测试时使用骨骼数据存在分布差异(例如出自不同姿态提取器)等情形。
(2)兼容性: GCN 使用图序列表示骨架序列,这一表示很难与其他基于 3D-CNN 的模态(RGB, Flow 等)进行特征融合。
(3)可扩展性:GCN 所需计算量随视频中人数线性增长,很难被用于群体动作识别等应用。
2.posec3d:一种基于 3D-CNN 的骨骼动作识别方法
(1)识别流程如下:
图二:posec3d识别流程
(2)人体姿态提取
人体姿态提取是骨骼动作识别中非常重要的一个环节,但在此前研究中并未受到足够关注。在这个工作中,对姿态提取过程中的几个重要因素进行了研究。首先,考虑到二维人体姿态具备更高的质量,我们选择了以二维人体姿态而非三维作为输入。在实验中,我们对不同来源的二维 / 三维人体姿态进行了公平的比较.发现即使基于轻量主干网络(MobileNetV2)所预测的二维姿态,用于动作识别时,效果也好于任何来源的三维人体姿态。
图三:不同网络对数据集的预测效果
在实验中,考虑到其在 COCO 关键点识别任务上的良好性能,使用了以 HRNet 为主干网络的 Top-Down 姿态估计模型作为姿态提取器。模型直接输出为关键点热图。在实践中,直接存储关键点热图会消耗大量磁盘空间。为提升效率,将每个 2D 关键点存储为坐标 (x, y, score),其中 score 为预测的置信度。在 FineGYM 上进行了实验,以估计这种热图?→?坐标的压缩会带来多大信息损失。发现在使用高质量特征提取器的情况下,使用坐标作为输入,动作识别的精度仅有少量下降 (0.4%)。因此在后续工作中,以坐标的格式来存储提取出的 2D 姿态。
(3)生成紧凑的热图堆叠
基于提取好的 2D 姿态,需要堆叠
张形状为
W?的二维关键点热图以生成形状为?
?的 3D 热图堆叠作为输入。若事先将 2D 姿态存储成坐标形式,则需要先借助生成以?(
)?为中心,
为最大值的高斯分布,将其重新转换为热图形式。这一过程对于单人或多人场景均适用。
在实践中,使用了两种方法来尽可能减少 3D 热图堆叠中的冗余,使其更紧凑。首先根据视频中人的位置,寻找一个最紧密的框以包含所有帧中的所有人。在此之后,根据找到的框对每帧的热图进行裁剪,并将裁剪后的热图重新缩放至特定大小。借助这一方式,在空间上降低了冗余,在一个相对小的?
大小下包含了更多的信息。
同时利用均匀采样以减少 3D 热图堆叠在时间维度上的冗余。由于整个视频长度过长,难以处理,通常选取一个仅包含部分帧的子集构成一个片段,作为 3D-CNN 的输入。基于 RGB 模态的方法,通常只在一个较短的时间窗内采帧构成 3D-CNN 的输入(如 SlowFast 在一个长仅为 64 帧的时间窗内采帧)。由于这种采帧方式难以捕捉整个动作,因此在骨骼行为识别中,采用了均匀采样的方式:需要采N帧时,先将整个视频均分为长度相同的N段,并在每段中随机选取一帧。在实验中,发现这样的采帧方式对骨骼行为识别尤其适用。
图五:传统采样与均匀采样对比
在本工作中,基于骨骼模态和骨骼 + RGB 模态,分别设计了两种 3D-CNN: Pose-SlowOnly 与 RGBPose-SlowFast。Pose-SlowOnly 仅以骨骼模态作为输入,下表中?Pose?Pathway 展示了它具体的结构。在实验中,Pose-SlowOnly 在多个数据集上的精度超越了当前基于 GCN 的 SOTA。由于使用了 3D-CNN 作为模型架构,Pose-SlowOnly 可与其他模态在前期就能进行特征的融合。基于这一点,我们设计了 RGBPose-SlowFast,它包含两个分支,分别处理 RGB 和骨骼两个模态。RGB 分支具有低帧率以及更大的网络宽度,骨骼分支具有高帧率和更小的网络宽度。两分支间存在双向连接,以促进模态间的特征融合。将两分支的预测结果融合,作为最终的预测。在训练时,用两个单独的损失函数分别训练两个分支,以避免过拟合。
图六:RGBPose-SlowFast网络结构
(1)识别精度
在与 GCN 的识别精度比较中,使用?48×56×56?作为 3D-CNN 的输入大小。在这一轻量配置下,PoseC3D 具有比 GCN 更少的参数及更低的 FLOPs。在这种条件下,3D-CNN 依然取得了优秀的识别精度:使用单 clip 测试时,PoseC3D 的精度与 GCN 相近或超出;使用 10 clip 测试时,PoseC3D 的识别精度一致高于 GCN。值得注意的是,只有 PoseC3D 可以受益于多 clip 测试,因其采样一个子集而非全部帧以构成输入。与此同时,PoseC3D 在所有数据集上采用了相同的模型结构,而 GCN 在不同数据集上的模型结构不同。
图七:gcn与3d-cnn在数据集识别效果中的比较
(2)泛化性
为了研究 PoseC3D 与 GCN 的泛化性,设计了一种训练-测试方式:训练 / 测试时分别使用不同方式提取的人体姿态。例如,可以在训练时使用 HRNet 模型提取出的人体骨骼,而在测试时使用 MobileNet 模型提取出的人体骨骼。在这种设定下,3D-CNN 的表现一致好于 GCN。除此之外,当以不同条件(如训练数据使用 GT 框提取,测试数据使用 Tracking 框提取)提取的人体姿态分别用于训练、测试时,3D-CNN 的精度下降也远小于 GCN。借此,某种程度上验证了 3D-CNN 的模型泛化性能优于 GCN。
图八:gcn与3d-cnn训练与测试效果比较
(3)可扩展性
GCN 所需计算量随人数增加线性增长,因此用于群体行为识别等任务时并不高效。借助 Volleyball 数据集上的实验对这一点进行了说明: Volleyball 数据集中,每帧最多包含 13 人。在这个数据集上,GCN 能取得 89.2% 的识别准确率,其模型的参数量和 FLOPs 分别为 2.8M 与 7.2G。而 3D-CNN 在参数量和 FLOPs 仅为 0.52M 与 1.6G 的情况下,取得了 91.3% 的识别准确率。
图九:群体识别比较
(4)?兼容性
由于包含了前期的特征融合,RGBPose-SlowFast 的识别准确率显著高于仅融合不同模态预测结果的基线。同时,在模态重要性不同的情况下,RGBPose-SlowFast 均能带来提升。例如在 FineGYM 与 NTU-60 上,分别是骨骼模态和 RGB 模态占据主导地位,在两种情况下,RGBPose-SlowFast 较基线均有明显提升。
图十:数据集效果比较
(5)与 SOTA 的比较
将关键点分支(关键点热图)与骨架分支(骨架热图)相结合,PoseC3D 在 FineGYM,NTU,Kinetics 等 3 个数据集上取得了当前最高的精度。若同时以 RGB 模态与骨架模态作为输入,PoseC3D 亦能达到当前最高的精度。