RTMW:实时多人2D和3D 全人体姿态估计

在这里插入图片描述
单位:上海AI实验室
代码:mmpose/tree/main/projects/rtmpose

系列文章目录

RTMO: 面向高性能单阶段的实时多人姿态估计


在这里插入图片描述

在这里插入图片描述

目录

  • 系列文章目录
  • 摘要
  • 一、背景
  • 二、相关工作
    • 2.1 自上而下的方法。
    • 2.2 坐标分类。
    • 2.3 3D Pose
  • 3 实验方法
    • 3.1.1 任务限制
    • 3.1.3训练技术


摘要

全身姿势估计是一项具有挑战性的任务,它需要同时预测身体、手、脸和脚的关键点。全身姿态估计旨在预测人体的细粒度姿态信息,包括面部、躯干、手和脚,这在以人为中心的感知和生成的研究以及各种应用中发挥着重要作用。
在这项工作中,我们提出了RTMW(实时多人全身姿态估计模型),一系列高性能的二维/三维全身姿态估计模型。我们将RTMPose模型架构与FPN和HEM(层次编码模块)相结合,以更好地捕获从不同尺度的不同身体部位的姿态信息。该模型使用丰富的开源人类关键点数据集进行训练,并使用手动对齐的注释,并通过两阶段蒸馏策略进一步增强。 RTMW在多个全身姿态估计基准上表现出了良好的性能,同时保持了高推理效率和部署友好性。


一、背景

全身姿态估计是推进以人为中心的人工智能系统能力的重要组成部分。它可用于人机交互、虚拟角色动画和电影产业。尝试在AIGC(AI生成的内容)应用程序中,全身姿态估计的结果也被用来控制角色的生成。

随着全身姿态估计支持的下游任务和工业应用的出现,设计一个高精度、低延迟、易于部署的模型是非常有价值的。在早期的人体姿态估计研究中,由于任务的复杂性和计算能力和数据的限制,研究人员将人体分成不同的部分进行独立的姿态估计研究。在前辈们的不懈努力下,在这些单独的、部分特定的二维姿态估计任务中取得了显著的成果。

之前的工作,如OpenPose [3],可以通过结合这些单独部分的结果来获得全身姿态估计结果。然而,这种简单的组合方法面临着很高的计算成本和显著的性能限制。虽然像MediaPipe [22]这样的轻量级工具提供了高实时性能和易于部署,但它们的准确性并不完全令人满意。我们的MMPose [5]团队去年发布了RTMPose [10]模型,它在准确性和实时性能之间取得了极好的平衡。随后,在此基础上,DWPose [40]通过集成一个两阶段蒸馏技术和集成一个新的数据集UBody [17],进一步提高了RTMPose在全身姿态估计任务中的性能。

RTMPose [10]的结构设计最初只考虑了身体姿势。然而,在全身姿态估计任务中,特征分辨率对面部、手和脚姿态估计的准确性至关重要。因此,我们引入了PAFPN(部分聚合特征金字塔网络)和HEM(高效多尺度特征融合)两种技术来提高特征分辨率。实验结果证实,这两个模块显著提高了细粒度体部位的定位精度。

与此同时,开源的全体姿态估计数据集的稀缺极大地限制了开源模型。为了充分利用聚焦于不同身体部位的数据集,我们手动对齐了14个开源数据集的关键点定义(3个全身关键点,6个身体关键点,4个面部关键点,1个手部关键点),这些数据集共同用于训练RTMW。在三维全身姿势估计领域,学术界主要采用了两种主要的方法:提升[26,29,42]方法和回归[28,32]方法。对基于SimCC [16]技术的方法的学术研究明显缺乏。我们的研究努力通过将RTMW架构应用到三维全身姿态估计任务中,冒险进入了未知的领域。我们的实验结果表明,SimCC [16]方法有自己的特性,并且在这一领域具有值得称赞的性能。

二、相关工作

2.1 自上而下的方法。

自顶向下的算法使用现成的探测器来提供边界盒,并将人体裁剪到一个统一的尺度,以进行姿态估计。自上而下范式的算法[2,18,31,37,39]已经主导了公共基准测试。两阶段推理范式允许人类检测器和姿态估计器使用相对较小的输入分辨率,允许它们在非极端场景下(即当图像中的人数不超过6人时),在速度和精度上优于自底而上的算法。此外,以前的大多数工作都集中在在公共数据集上实现最先进的性能。相比之下,我们的工作旨在设计具有更好的速度-精度权衡的模型,以满足工业应用的需求。

2.2 坐标分类。

以前的姿态估计方法通常将关键点定位视为坐标回归(如[14,25,33])或热图回归(如[8,37,39,41])。SimCC [16]引入了一种新的方案,将关键点预测分别从水平坐标和垂直坐标的亚像素箱中进行分类,这带来了几个优点。

首先,SimCC摆脱了对高分辨率热图的依赖,因此允许一个非常紧凑的架构,既不需要高分辨率的中间表示[31],也不需要昂贵的升级层[37]。其次,SimCC将最终的特征图扁平化以进行分类,而不是涉及全局池化[33],从而避免了空间信息的丢失。第三,通过在亚像素尺度上的坐标分类,可以有效地缓解量化误差,而不需要额外的细化后处理[41]。

这些特性使得SimCC在构建轻量级姿态估计模型方面具有吸引力。RTMO [21]将坐标分类方法引入到单阶段姿态估计中,取得了显著的性能提高,也证实了SimCC方法在姿态估计任务中的巨大潜力。在这项工作中,我们进一步利用坐标分类方案,优化模型架构和训练策略。

2.3 3D Pose

三维姿态估计是一个活跃的研究领域,具有广泛的工业应用。当代方法的景观主要由两种主要方法所主导:利用二维关键点的提升方法[26,29,42]和基于图像分析的回归方法。提升方法将二维坐标输入神经网络,直接预测其空间坐标,其计算速度快。然而,这种效率是以牺牲场景信息为代价的,因为这些算法缺乏图像输入,导致它们依赖于对训练数据的注释来确定其预测结果的范围。

相反,基于图像的回归方法[28,32]在结合丰富的视觉数据的同时,面临着推理速度缓慢和任务复杂性增加的挑战。这些因素导致了难以训练模型和实现高精度。我们提出的方法RTMW3D与传统方法不同,它采用了基于Simcc技术[16]的分类策略,通过后处理来细化最终的空间坐标。我们的实验结果强调了这种创新方法的有效性。

3 实验方法

虽然我们之前提出的RTMPose并没有针对全身关键点估计任务的特殊设计,但经过实验,我们发现它的性能可以与目前最先进的方法ZoomNas [38]相媲美。然而,在实验过程中,我们发现RTMPose在全身姿态估计任务中存在一定的性能瓶颈。随着参数规模的增加,模型的性能并不随着参数数量的增加而提高。另一方面,与其他研究团队的研究,如DWPose团队,虽然他们添加了新的数据集在训练RTMPose和采用更有效的两阶段蒸馏训练技术,有效地提高了RTMPose的准确性,他们仍然不能避免问题的固有性能瓶颈RTMPose参数数量的增加。

3.1.1 任务限制

我们首先分析了全身姿态估计任务中一些未解决的问题。RTMW旨在解决这些挑战。
第一个问题是局部区域的解决限制。 在图像中,人体的某些部分,如脸、手和脚,只占人体和图像的很小的比例。对于一个模型,这些区域的输入分辨率将直接影响模型对这些部分中的关键点的预测精度。
第二个问题是,从人体不同部位学习关键点的难度是不同的。例如,面部上的关键点可以看作是附着在面部上的一些关键点,一个刚体,由于面部的变形很小,模型会发现更容易学习预测这些面部关键点。相反,由于手指和手腕的旋转和运动,手的关键点具有更高的自由度,使它们更难以预测。
第三个问题在于损失函数。常用的损失函数,如KL散度和回归误差,都是逐点计算的。因此,它们往往是由具有更多关键点和更大的空间比例的身体部位所主导的,如躯干和面部,而不太关注小而复杂的部位,如手和脚。这通常导致了不平衡收敛,这意味着模型对较低的平均误差较低,但在复杂的身体部位表现出较差的准确性。最后一点是,开源的全身姿态估计数据集很少,这极大地限制了我们对该模型能力的研究。针对上述限制,我们为RTMPose设计了一套目标优化解决方案,并提出了我们的RTMW模型。

3.1.3训练技术

由于缺乏开源的全身姿态估计数据集,我们手动对齐了14个开源数据集,其中包括全身、躯干、手和面部的姿态估计关键点。我们使用这14个数据集进行联合训练。同时,为了使模型的性能最大化,我们采用了DWPose在模型训练过程中使用的两阶段蒸馏技术来进一步提高模型的性能。


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

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

相关文章

香橙派5Plus启动报错bug: spinlock bad magic on cpu#6, systemd-udevd/443

一、问题 如图: 接上调试串口,每次启动都会报错。不过使用过程中没有发现有什么影响。 百度查阅,有一位博主提到,但是没有细说解决方案: spinlock变量没有初始化_spinlock bad magic on-CSDN博客https://blog.csdn.n…

FPGA自学之路:到底有多崎岖?

FPGA,即现场可编程门阵列,被誉为硬件世界的“瑞士军刀”,其灵活性和可编程性让无数开发者为之倾倒。但谈及FPGA的学习难度,不少人望而却步。那么,FPGA自学之路到底有多崎岖呢? 几座大山那么高?…

【KLEE】源码阅读笔记----KLEE执行流程

本文架构 1. 动机2.KLEE简介3.KLEE的代码工程结构4. 从KLEE主函数入手main函数step1: 初始化step2:加载.bc文件进行符号执行 读取测试用例输出日志信息 1. 动机 最近准备对KLEE进行修改使其符合我的需要,因此免不了需要对源码进行修改。读懂源码是对在其…

CS 144 check7: putting it all together

Exercises 经验:两边的TCP连接建立得尽快,如果服务器端启动了,客户端没有紧接着启动就连不上。 这是什么神奇的bug呢? 和我之前给域控刷SOC的版本一样。如果域控启动了,在我本地的电脑没有马上和域控的SOC通上信&…

Suno Api V4模型无水印开发「综合实战开发自己的音乐网站」 —— 「Suno Api系列」第14篇

历史文章 Suno AI API接入 - 将AI音乐接入到自己的产品中,支持120并发任务 Suno Api V4模型无水印开发「灵感模式」 —— 「Suno Api系列」第1篇 Suno Api V4模型无水印开发「自定义模式」 —— 「Suno Api系列」第2篇 Suno Api V4模型无水印开发「AI生成歌词」…

【物联网技术与应用】实验15:电位器传感器实验

实验15 电位器传感器实验 【实验介绍】 电位器可以帮助控制Arduino板上的LED闪烁的时间间隔。 【实验组件】 ● Arduino Uno主板* 1 ● 电位器模块* 1 ● USB电缆*1 ● 面包板* 1 ● 9V方型电池* 1 ● 跳线若干 【实验原理】 模拟电位器是模拟电子元件,模…

【YOLO】(基础篇一)YOLO介绍

YOLO YOLO(You Only Look Once)是一种用于实时物体检测的算法,由Joseph Redmon等人提出。它能够同时进行物体分类和定位,并且因其速度和效率而广受赞誉。 工作原理 假设我们要对这张猫的图片完成目标检测,需要框选出…

Linux-----进程处理(文件IO资源使用)

下面代码是通过父进程和子进程对同一个文件IO资源进行操作,父进程和子进程都对这个进程进行写入操作,我们都知道这两个进程实际上是并发的,所以需要一个同步机制来去操作同一个资源(后面再深入去说明同步的api,这里使用…

golang标准库SSH操作示例

文章目录 前言一、了解SSH二、重要知识点1.安装ssh库2.ssh库重要知识牢记 三、模拟连接远程服务器并执行命令四、SSH与os/exec标准库下执行命令的几种方式对比五、SSH库下三种执行命令方式演示5.1. session.CombinedOutput()示例5.2. session.Run()示例5.3. session.Start()、s…

替代传统FTP传输,镭速大数据传输系统实现安全高效数据流转!

信息技术的快速进步让大数据成为了企业决策的关键支撑,但同时也带来了巨大的挑战。企业在运营过程中产生的数据量急剧增加,这对数据传输的速度、安全性和效率提出了更高的要求。然而,传统的FTP传输方式在处理大规模数据时显得力不从心&#x…

MyBatis如何处理延迟加载?

大家好,我是锋哥。今天分享关于【MyBatis如何处理延迟加载?】面试题。希望对大家有帮助; MyBatis如何处理延迟加载? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 支持 延迟加载(Lazy Loading&am…

Matlab环形柱状图

数据准备: 名称 数值 Aa 21 Bb 23 Cc 35 Dd 47 保存为Excel文件后: % Load data from Excel file filename data.xlsx; % Ensure the file is in the current folder or provide full path dataTable readtable(filena…

论文研读:AnimateDiff—通过微调SD,用图片生成动画

1.概述 AnimateDiff 设计了3个模块来微调通用的文生图Stable Diffusion预训练模型, 以较低的消耗实现图片到动画生成。 论文名:AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning 三大模块: 视频域适应…

洛谷 P1014:Cantor 表

【题目来源】https://www.luogu.com.cn/problem/P1014https://www.acwing.com/problem/content/5510/【题目描述】 现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。 他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 …

【网络安全零基础入门】PHP环境搭建、安装Apache、安装与配置MySQL(非常详细)零基础入门到精通,收藏这一篇就够(01)_php安装配置教程

这是大白给粉丝朋友准备的网络安全零基础入门第八章PHP入门的知识章节里的环境搭建。 喜欢的朋友们,记得给大白点赞支持和收藏一下,关注我,学习黑客技术。 一、php简介 php定义:一种服务器端的 HTML脚本/编程语言,是…

RBTree(红黑树)

目录 红黑树的概念 红黑树的性质 红黑树节点的定义 红黑树的插入 1. 按照二叉搜索的树规则插入新节点 2. 检测新节点插入后,红黑树的性质是否造到破坏 红黑树的检测 红黑树的删除 红黑树和AVL树的比较 红黑树的概念 红黑树,是一种二叉搜索树&…

JS 三种添加元素的方式、区别( write、createElement、innerHTML )

文章目录 1. 区别结论2. write 不同场合的效果3. createElement 和 innerHTML 耗时对比 1. 区别结论 方式说明document.write不建议使用, 使用时要小心, 不同场合, 效果不同document.createElement添加少量元素时建议使用, 结构清晰易读innerHTML添加大量元素时建议使用 2. wr…

300多种复古手工裁剪拼贴艺术时尚字母、数字、符号海报封面Vlog视频MOV+PNG素材

300复古时尚大小写字母、数字、符号拼贴海报封面平面设计Vlog视频标题动画 Overlay - Cut-Out Letters Animations Pack - Animated Letters, Numbers, and Symbols 使用 Cut-Out Letters Animations Pack 提升您的内容!包含 300多个高品质动画资源,包括…

SpringCloudAlibaba技术栈-Dubbo

1、什么是Dubbo? 简单来说,dubbo就像是个看不见的手,负责专门从注册中心nacos调用注册到nacos上面的服务的,因为在微服务环境下不同的功能模块可能在不同的服务器上。dubbo调用服务就像是在调用本地的服务一样。 分布式调用与高并发处理 Du…

剪映学习01

1.剪映界面介绍 1.点击左上角的的登录账户可以登录剪映,它可以和抖音账号共用,所以我们剪辑完视频后可以直接从抖音发布。 左侧的导航栏有一些功能,我们点击模板,剪映它会显示当下比较火的模板,如果我们剪视频需要用到…