2022CVPR(PoseC3D):Revisiting Skeleton-based Action Recognition

Revisiting Skeleton-based Action Recognition

  • 摘要
  • 1、引言
  • 2、相关工作
  • 3、框架
    • 3.1. 姿势提取的良好实践
    • 3.2.从2D姿势到3D热图体积
    • 3.3.基于骨架的动作识别的3D-CNN
  • 4、实验
    • 4.2.姿势提取
    • 4.3. 3D热图体积的预处理
    • 4.4.与GCN的比较
    • 4.5. RGBPose-SlowFast
    • 4.6.与最先进的比较
  • 5、结论

摘要

许多基于骨架的动作识别方法采用图卷积网络(GCN)在人体骨骼之上提取特征。尽管在以前的工作中显示了积极的结果,但基于 GCN 的方法受到鲁棒性、互操作性和可扩展性的限制。

本文提出了一种新的基于骨架的动作识别方法PoseC3D,它依赖于3D热图堆栈而不是图序列作为人体骨骼的基本表示。与基于 GCN 的方法相比,PoseC3D 在学习时空特征方面更有效,对姿态估计噪声具有更强的鲁棒性,并且在跨数据集设置中更好地泛化。此外,PoseC3D可以处理多人场景,而不需要额外的计算成本,其特征在早期融合阶段可以很容易地与其他模式集成,这为进一步提高性能提供了很大的设计空间。

在四个具有挑战性的数据集上,PoseC3D 在仅在骨架上单独使用并与 RGB 模态结合使用时始终获得卓越的性能。

1、引言

基于GCN的方法在以下方面受到限制:

1)鲁棒性:虽然 GCN 直接处理人体关节的坐标,但其识别能力受到坐标分布偏移的显著影响,这在应用不同的姿态估计器来获取坐标时经常发生。因此,坐标中的小扰动通常会导致完全不同的预测。

2)互操作性:以前的工作表明,来自不同模态的表示,例如 RGB、光流和骨架是互补的。因此,这种模态的有效组合通常会导致动作识别的性能提升。然而,骨架表示的图形形式使得很难与其他模式融合,尤其是在早期或低级阶段,从而限制了组合的有效性。

3)可扩展性 : 由于GCN将每个人体关节视为一个节点,GCN的复杂度与人数成线性关系,限制了其对涉及多个人的任务的适用性,如群体活动识别。

本文提出了一个新的框架PoseC3D,PoseC3D 专注于考虑姿态估计器性能的二维骨架,如图 1 所示,它将重新表述为骨架关节而不是图的 2D 热图。不同时间步长的 2D 热图将沿时间维度堆叠以形成 3D 热图体积。PoseC3D然后在3D热图体积的顶部采用3D卷积神经网络来识别动作。

在这里插入图片描述

所提出的PoseC3D很好地解决了基于gcn的方法的局限性。使用 3D 热图体积减轻了对姿态估计技术的敏感性:我们发现 PoseC3D 在不同场景和以不同方式获得的人体骨骼之间具有很好的泛化能力。此外,PoseC3D 依赖于基本表示的热图,允许人们利用卷积网络架构的进步,并使与多流卷积网络中的其他模态集成更容易。这开辟了一个巨大的设计空间,以进一步提高识别性能。最后,3D热图体积的复杂性对感兴趣的人数量是不变的。因此,PoseC3D可以在不增加计算开销的情况下处理不同数量的人。

数据集:
FineGYM , NTURGB-D , Kinetics-400 和 Volleyball

2、相关工作

本文通过沿时间维度堆叠热图以形成 3D 热图体积,在此过程中不会丢失信息。此外,由于其良好的时空特征学习能力,本文使用 3D-CNN 而不是 2D-CNN。

3、框架

在这里插入图片描述
对于视频中的每一帧,首先使用两阶段姿态估计器(检测+姿态估计)进行二维人体姿态提取。然后沿时间维度堆叠关节或四肢的热图,并将预处理应用于生成的 3D 热图体积。最后,使用 3D-CNN 对 3D 热图体积进行分类。

3.1. 姿势提取的良好实践

作为基于骨架的动作识别、姿态或人体骨骼提取的关键预处理步骤,在很大程度上决定了最终的识别精度。如图1所示。2D姿势估计器大致可以分为自顶向下和自底向上方法。前者首先使用人体检测器识别单个实例,然后为每个个体提取姿势,后者通过将一组已识别的关键语义分组到骨架中来获得姿势。本文选择自顶向下方法

我们还通过实例化具有不同主干的位姿提取器来研究位姿估计器质量对动作识别的影响,发现自顶向下框架下位姿估计器质量不那么重要。最后,由于自顶向下姿态提取器不分青红皂白地估计图像中所有实例的多个边界框,如果我们可以通过我们对感兴趣的人的先验过滤框,例如知道我们感兴趣的真实边界框,则可以显着提高姿态质量。

3.2.从2D姿势到3D热图体积

从视频的帧中提取2D姿势后,将它们输入到PoseC3D中,我们将它们重新表述为3D热图体积。形式上,我们将2D姿势表示为大小为K x H xW的热图,其中K是关节数,H和W是帧的高度和宽度。我们可以直接使用自顶向下姿态估计器生成的热图作为目标热图,在给定相应边界框的情况下,对热图进行零填充以匹配原始帧。如果我们只有骨架关节的坐标三元组(xk,yk,ck),H 通过组合以每个关节为中心的 K 个高斯图::
在这里插入图片描述
其中 σ 控制高斯图的方差,(xk, yk) 和 ck 分别是第 k 个关节的位置和置信度分数。我们还可以通过堆叠计算为的高斯图来为肢体创建热图:
在这里插入图片描述
第k个肢体位于两个关节ak和bk之间。函数D计算从点(i;j)到段[(xak,yak),(xbk,ybk)]的距离。

可以很容易地将其扩展到多人情况,在这种情况下,我们可以直接累积所有人的第k个高斯位图,而无需放大热图。最后,通过沿时间维度叠加所有热图(J或L),获得三维热图体积,因此其大小为K x T x H x W。

**应用两种技术来减少 3D 热图体积的冗余 : **

1)以受试者为中心的裁剪。由于数据集的大小和位置在数据集中可能会有很大差异,因此关注动作主题是在相对较小的 H × W 预算下保留尽可能多的信息的关键。

2)均匀采样。由于PoseC3D建立在3D卷积层的基础上,通过对帧的子集进行采样,可以沿时间维度减小3D热图体积。然而,研究人员倾向于在3D-CNN的短时间窗口内对帧进行采样,例如64帧时间窗口中的采样帧,如SlowFast。虽然这种采样策略可能会错过视频的一些全局动态,但我们建议使用均匀采样策略来进行 3DCNN。特别是,我们通过将视频分成 n 个长度相等的片段并从每个片段中随机选择一个帧来从视频中采样 n 帧。我们发现这种采样策略特别有利于基于骨架的动作识别。

3.3.基于骨架的动作识别的3D-CNN

对于基于骨架的动作识别,GCN 长期以来一直是主流主干。相比之下,在基于 RGB 的动作识别中常用的 3D-CNN 在这个方向上的探索较少。为了证明 3D-CNN 在捕获骨架序列时空动态方面的能力,我们设计了两个基于 3D-CNN 的网络,即 Pose-SlowOnly 和 RGBPose-SlowFast

Pose-SlowOnly :专注于人体骨骼的模态,其架构受到SlowFast慢路径的启发,因为它在基于rgb的动作识别中具有良好的性能。

RGBPose-SlowFast :来早期融合人体骨骼和 RGB 帧,这是通过在基于骨架的动作识别中使用 3D-CNN 来实现的。

4、实验

4.2.姿势提取

在这里插入图片描述
a)首先比较了使用 2D 和 3D 骨架进行动作识别的识别性能。

2D关键点(即使是低质量的关键点)在动作识别中始终优于3D关键点(传感器收集或估计)。

b)为了比较自底向上和自顶向下方法的位姿估计质量,我们用相同的架构HRNet-w32 (HR-TD & HR-BU)实例化了这两种方法。此外,我们还使用MobileNet-v2主干实例化自顶向下的方法(Mobile-TD)进行比较

考虑到更好的性能和更快的推理速度(当帧中没有很多人时,Top-Down 运行得更快),我们在这项工作中使用 Top-Down 进行姿势提取。

c)感兴趣的人 vs.所有人。并非所有人都与要识别的动作有关。

比较了使用 3 种人边界框进行姿势提取:检测、跟踪和 GT(随着运动员的先验增加)。在表 3c 中,我们看到感兴趣的人的先验非常重要:即使是弱先验(每个视频 1 个 GT 框)也可以大幅提高性能。

**d)坐标 vs.热图。存储 3D 热图体积可能需要非常大量的磁盘空间。**为了提高效率,我们可以将 2D 姿势存储为坐标 (x, y, 分数),并根据我们在第 3.2 节中介绍的方法将它们恢复为 3D 热图体积。

对于低质量的 (LQ) 姿态估计器,Mean-Top1 下降了 2%。对于高质量的 (HQ) 姿态估计器,退化更温和(只有 0.4% MeanTop1 下降)。因此,我们选择存储坐标而不是3D热图体积。

4.3. 3D热图体积的预处理

主题为中心的裁剪是数据预处理中一个有用的步骤,它将 Top1 准确率提高了 1.0%,从 92.2% 提高到 93.2%。
在这里插入图片描述
对于均匀采样从整个剪辑中统一采样 32 帧。通过均匀采样,1-clip 测试甚至可以比使用 10-clip 测试的固定步幅采样获得更好的结果。
均匀采样始终优于具有固定时间跨度的采样。
均匀采样在基于 RGB 的识别方面也优于固定步幅采样

4.4.与GCN的比较

在这里插入图片描述
表4:PoseC3D 在参数数量和 FLOP 方面都比 GCN 对应物更轻,尽管PoseC3D是轻量级的,但在不同的数据集上仍然实现了具有竞争力的性能。

表5:为了测试两种模型的鲁棒性,我们可以丢弃输入中一定比例的关键点,看看这种扰动如何影响最终的准确性。通过随机删除每一帧中的1个肢体关键点来测试这两个模型,概率为p。

看到 3D-CNN 对输入扰动非常稳健:每帧删除 1 个肢体关键点仅导致 Mean-Top1 中的适度下降(小于 1%),而 GCN 的下降为 14.3%。用嘈杂的输入训练 GCN,类似于 dropout 操作。然而,即使在这种情况下,对于casep = 1,GCN的MeanTop1精度也下降了1.4%。
3D-CNN显著优于GCN。

图5:不同方法提取的姿势注释。3DCNN 在 cross-PoseAnno 设置中显示出强大的泛化能力

可扩展性:GCN的计算随视频中人数的增加呈线性扩展,这使得群体活动识别的效率较低。尽管参数和 FLOP 的数量要少得多,但 3D-CNN 在排球验证上达到了 91.3% 的 Top-1 准确率,比基于 GCN 的方法高 2.1%。

4.5. RGBPose-SlowFast

PoseC3D 的 3D-CNN 架构通过一些早期融合策略将姿势与其他模态融合更加灵活。
在这里插入图片描述
结果表明,对于RGB和Pose,双向特征融合优于单向特征融合。在早期阶段通过双向特征融合,与 1-clip 测试的早期+晚期融合可以优于 10-clip 测试的后期融合。RGB模态比Pose更重要,但我们在表7中观察到早期+晚期融合对两者的性能改进。

4.6.与最先进的比较

在这里插入图片描述
以前的方法侧重于基于GCN的3D骨架输入的识别,但我们证明了具有3D-CNN的高质量2D骨架可以产生更好的性能。在Kinetics上,当使用低质量的2D骨架时,我们的方法与之前的最新技术相当。当两者都使用高质量的方法时,我们的方法大大优于以前的方法。

5、结论

本文提出了PoseC3D:一种基于3D-CNN的骨骼动作识别方法,它以3D热图体积为输入。PoseC3D 解决了基于 GCN 的方法在鲁棒性、互操作性和可扩展性方面的局限性。使用轻量级 3D-ConvNets 和紧凑的 3D 热图体积作为输入,PoseC3D 在准确性和效率方面都优于基于 GCN 的方法。基于PoseC3D,我们在各种基准上实现了基于骨架和基于RGB+骨架的动作识别的最新技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/193214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯】带分数

带分数 题目要求用一个ab/c的形式得到一个值&#xff0c;而且只能在1~9里面不重复的组合。 可以对1~9进行全排列&#xff0c;然后不断划分区间。 #include<iostream> #include<vector> using namespace std; int st[15]; int num[15]; int res; int n;int calc(i…

如何成为一名高效的前端开发者(10X开发者)

如今&#xff0c;每个人都想成为我们所说的“10倍开发者”。然而&#xff0c;这个术语经常被误解和高估。 本质上&#xff0c;一个高效或者10倍开发者&#xff0c;在我看来&#xff0c;是指那些能够充分利用所有可用工具的人&#xff0c;通过让这些工具处理冗余和重复的任务&am…

C语言-联合和枚举

------------------------------------ --------------- ------ 最慢的步伐不是跬步&#xff0c;而是徘徊&#xff1b; 最快的脚步不是冲刺&#xff0c;而是坚持。 今天来到我们的联合和枚举类型的讲解&#xff1a; 目录 联合体类型 联合体类型的声明 联合体类型的特点 …

LeetCode(50)有效的括号【栈】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 有效的括号 1.题目 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合…

深度学习记录--初识向量化

什么是向量化&#xff1f; 之前计算logistic回归损失函数时&#xff0c;在代码实现时&#xff0c;讨论了for循环&#xff1a;过多的for循环会拖慢计算的速度(尤其当数据量很大时) 因此&#xff0c;为了加快计算&#xff0c;向量化是一种手段 运用python的numpy库&#xff0c…

跨境独立站和传统外贸的差异

跨境独立站和传统外贸主要在以下几个方面存在区别&#xff1a; 交易形式&#xff1a;传统外贸主要涉及线下交易&#xff0c;买卖双方需要经过面谈、磋商、签订合同等环节。而跨境独立站则主要通过线上平台进行交易&#xff0c;买卖双方可以通过平台发布产品、协商价格、完成支…

C++ Easyx 三子棋

目录 思路 框架​编辑 读取操作 数据操作 绘制画面 游戏的数据结构 用二维数组来模拟棋盘格 赢的情况 平局情况 Code 代码细节部分 &#xff08;1&#xff09;初始化棋盘格 &#xff08;2&#xff09; 初始化棋子类型​编辑 事件处理部分 落子 框架内代码的完善 数据处…

半监督节点分类上的HyperGCN

1.Title HyperGCN: Hypergraph Convolutional Networks for Semi-Supervised Classification&#xff08;Naganand Yadati、Prateek Yadav、Madhav Nimishakavi、Anand Louis、Partha Talukdar&#xff09;【ACM Transactions on Knowledge Discovery from Data 2022】 2.Conc…

【并发编程】CopyOnWriteArrayList详解与原理

&#x1f4eb;作者简介&#xff1a;小明Java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…

SmartSoftHelp8,IIS Nginx,windows linux 高并发服务器优化配置工具

Windows IIS 性能优化配置 Windows Nginx 性能优化配置模板 Linux Nginx 性能优化配置模板 Nginx 常用命令 webconfig 优化配置详细说明 下载地址&#xff1a; https://pan.baidu.com/s/1zBgeYsqWnSlNgiKPR2lUYg?pwd8888

深入理解网络非阻塞 I/O:NIO

&#x1f52d; 嗨&#xff0c;您好 &#x1f44b; 我是 vnjohn&#xff0c;在互联网企业担任 Java 开发&#xff0c;CSDN 优质创作者 &#x1f4d6; 推荐专栏&#xff1a;Spring、MySQL、Nacos、Java&#xff0c;后续其他专栏会持续优化更新迭代 &#x1f332;文章所在专栏&…

监测tcp连接状态

using System; using System.Collections.Generic; using System.Linq; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks;namespace 检测tcp连接状态 {public class TCPClient{private TcpClient client;private bool con…

npm上传发布自定义组件超详细流程

前言 vue3&#xff0c;vite&#xff0c;基于element Plus 的el-table二次封装表格并且上传到npm上&#xff0c;让别人可以通过npm安装你的插件。 一、创建一个新的vue 项目 npm create vuelatest 自己取一个名字&#xff0c;然后一直回车 完成以后进入项目npm i,有用到eleme…

API无代码开发让尘锋SCRM与营销系统集成,提高电商平台客服效率

API无代码开发的力量 随着电商平台业务的日益增长&#xff0c;客服系统的效率和响应速度成为了企业关注的焦点。API无代码开发的出现&#xff0c;为企业提供了一个高效的解决方案。API(Application Programming Interface&#xff0c;应用编程接口)允许不同的软件系统之间进行有…

C++ IO库

IO类 IO对象不能拷贝和赋值 iostream 表示形式的变化&#xff1a; 将100转换成二进制序列 然后格式化输出 x,y共用一块内存 输出的时候用不同的方式解析同一块内存 操作 格式化&#xff1a;内部表示转换为相应字节序列 缓存&#xff1a;要输出的内容放到缓存 编码转换&…

Xilinx Zynq-7000系列FPGA多路视频处理:图像缩放+视频拼接显示,提供工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像处理方案FPGA图像缩放方案FPGA视频拼接叠加融合方案推荐 3、设计思路详解HLS 图像缩放介绍Video Mixer介绍 4、vivado工程介绍PL 端 FPGA 逻辑设计PS 端 SDK 软件设计 5、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他…

【投稿优惠|稳定出版】2023年信息科学和大数据应用国际会议 (ICISBDA 2023)

2023年信息科学和大数据应用国际会议 (ICISBDA 2023&#xff09; 2023 International Conference on Information Science and Big Data Applications &#xff08;ICISBDA 2023&#xff09; 一、会议简介 &#x1f389;&#x1f389;&#x1f389;&#x1f389;&#x1f389;&…

Tensorflow的日志log记录

if OUTPUT_GRAPH:tf.summary.FileWriter("logs/", sess.graph)自动创建文件夹log

分享一个大学生免费的资源网站(含考研资源,竞赛四六级)

今天不小心从其他地方链接到的网站&#xff0c;里面包含考考研资料&#xff0c;四六级相关的资料&#xff0c;重点都是免费的&#xff0c;部分资料可能需要登录或者关注公众号才可见&#xff0c;&#xff0c;网站链接了CSDN 能跳转到CSND, 网站地址 :忠哥资源共享http://jian…

Pandas时序数据分析实践—基础(1)

目录 1. Pandas基本结构2. Pandas数据类型2.1. 类型概述2.1.1. 整数类型&#xff08;int&#xff09;&#xff1a;2.1.2. 浮点数类型&#xff08;float&#xff09;&#xff1a;2.1.3. 布尔类型&#xff08;bool&#xff09;&#xff1a;2.1.4. 字符串类型&#xff08;object&a…