VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera

2023-05-16

采用了两个CNN
第一个是卷积神经网络(CNN),在残缺的单目捕捉条件下返回二维和三维关节位置;
这是基于标记的3D人体数据集以及补充的2D人体姿态数据集训练的,提升了捕捉性能;
第二部分结合回归的关节位置与运动学骨骼拟合方法,以产生一个暂时稳定,相机相对,完整的三维骨骼姿态。
核心:第一个CNN同时并且实时预测了2D以及3D关节点位置;在三维关节位置精度方面,新提出的全卷积位姿公式的结果与目前最先进的离线方法相同!!**基于全卷积,可以在物体周围没有紧密作物的情况下工作。**无论场景设置如何,CNN都能够预测各种活动的关节位置,为进一步细化位姿,生成时间上一致的全3d位姿参数提供了坚实的基础。

运动学骨骼拟合:利用CNN的2D和3D预测,加上序列的时间历史,可以获得时间上一致的全3D骨骼姿态,骨骼根(骨盆)定位在摄像机空间中。
运动骨架适宜性角度,优化函数:(1)结合预测的关节位置,以适应最小二乘意义上的运动学骨架。(2)确保时间上的平滑跟踪;通过在不同阶段应用滤波步骤,进一步提高了跟踪姿态的稳定性。
骨架的初始化(可选):设置了框架;对于更加精确地估计,基本骨架的相对身体比例可以适应的主题,通过平均CNN预测的几个帧在开始。由于单眼重建是不明确的比例参考,预测高度归一化三维关节位置。使用者只需要提供一次高度(从头到脚的距离),这样我们就可以在真实的度量空间中跟踪3D姿态。

算法描述

估计一个时间一致的3D骨骼运动从单眼RGB输入序列。
输入:假设是连续的RGB图像;
输出:被跟踪的人体完整3D骨架。这个输出在时间上是一致的,并且在全局3D空间中,可以很容易地在人物控制等应用程序中使用。
CNN位姿回归器共同估计二维关节位置以及根相关3D关节点位置,最终预测在相机坐标系下的位置,以及关节角度;

CNN 姿态回归

全局的CNN姿态回归为了获得关节点位置。
对于2D的姿态估计,使用的是神经网络。从x、y体关节坐标的直接回归[Toshev和Szegedy 2014]到基于热图的体关节检测公式[Tompson et al. 2014]的变化是最近2D位姿估计发展背后的关键驱动因素。基于热图的公式通过预测图像平面上每个关节的置信热图Hj,t,自然地将图像证据与姿态估计联系起来。
现有的三维位姿估计方法缺乏这样的图像-预测关联,往往直接回归到根相对关节位置[Ionescu et al. 2014a],导致预测出的位姿的关节接合程度不能反映图像中人的关节接合程度。将姿态当作关节位置的矢量也会对具有完全连接公式的网络产生自然引力。在实际操作中采用bounding box,增加了时间消耗。
全卷积试图缓解这些问题,:被每一个关节的体积限制,依赖于输入,不具有拓展性(其他更大尺寸的图像)。
本文方法尝试突破这些限制,拓展2D热力图到3D,使用三个额外的增加的x,y,z代表每个关节,。为了使得最后的更加准确得到三维人体关节点位置,对于每个关节点分别进行热力图获取。使用这种全卷积公式的网络不受输入图像大小的限制,并且可以在没有严格裁剪的情况下工作。此外,这个网络没有额外开销,同时后续实时估计。5.2说明了该公式的改进。
误差项
为了强调我们只关注于x,y,z从各自的热力图中,关节位置图损失在关节二维位置附近加权更强。
网络细节:
我们使用该公式来适应He等人的ResNet50网络体系结构,改造50层,然后产生热力图以及位置图。训练后,批处理归一化[Ioffe和Szegedy 2015]层与之前卷积层的权值合并,以提高正向传递的速度。
中间的监督:
从特征res4d,res5a,随着迭代次数的增加,逐渐减小中间损失的权重。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera 的相关文章

  • 如何在 UML 中指定“一次一个”?

    我正在制作一个类图Classroom and a Course class 我怎样才能表明Classroom只能有一个Course一次在其中吗 我知道我可以使用多重性来指定教室可以只开设一门课程 但这并不能完全指定在不同时间可以有除该一门课
  • ical导出的格式化时间

    我在 jquery 中创建了一个导出到 ical 的日历 但是 我对日期时间有一些问题 ical 导出脚本需要以下格式的日期 时间 19970714T170000Z 有谁知道这是什么以及我应该如何准备我的字符串 Thanks 阅读 RFC
  • 如何使用 Active Support 核心扩展

    我安装了 Active Support 3 0 3 和 Rails 3 0 3 with Ruby 1 8 7 当我尝试使用时1 week ago I get NoMethodError undefined method week for
  • 如何在C中将UTC时间转换为本地时间?

    这是一个简单的问题 但解决方案似乎远非简单 我想知道如何从 UTC 转换为本地时间 我正在寻找一种标准的 C 解决方案 并且或多或少保证可以在任何位置的任何计算机上工作 我已仔细阅读以下链接 但在那里找不到解决方案 在C中将包含本地时间的字
  • 更精确的 distance_of_time_in_words

    distance of time in words很棒 但有时不够精细 我需要一个能够以文字报告准确时间距离的函数 例如 上午 7 50 到上午 10 10 的距离应该是 2 小时 20 分钟 而不是 大约 2 小时 或其他什么distan
  • 如何计算连续行的时间差

    原始数据如下所示 我想按访问者和时间对其进行排序 以计算行中的时间差 然后将其保存到新文件中 visitor v time payment items 1 Jack 1 2 2018 16 07 35 3 2 Jack 1 2 2018 1
  • Windows 服务器上的 PTP 同步(与 Linux 相比) - 可以保证什么精度

    我想知道大家是否知道准确度如何PTP http en wikipedia org wiki Precision Time Protocol在 Windows Server 2008 上可以保证同步 我知道这个线程 Windows 中进程的最
  • 如何测量Vulkan管道的执行时间

    Summary 我希望能够测量 GPU 上运行整个图形管道所花费的时间 以毫秒为单位 目标 能够在优化代码之前 之后保存基准 下一步将是 mipmap 纹理 以查看改进 这在 OpenGL 中非常简单 但我是 Vulkan 新手 需要一些帮
  • Unix 时间戳到 FAT 时间戳

    我正在尝试将时间结构转换为 FAT 时间戳 我的代码如下所示 unsigned long Fat tm struct pTime unsigned long FatTime 0 FatTime pTime seconds 2 gt gt 1
  • 如何降级旧版 Android 中的 java.time 代码?

    我有这个简洁的代码 它生成两个日期之间的天数列表 然后是当天的日期 以及它在列表中的位置 最重要的是 所有日期都采用相同的格式 这使得很容易比较它们 Create list of days String s 2018 08 28 Strin
  • 当夏令时开始/结束时,自纪元以来的毫秒数会发生什么?

    自纪元以来的毫秒数表示自 1970 年以来经过的毫秒数 在夏令时结束之前的那一刻 或者当我们将时钟从 2 00 设置回 1 00 时 自纪元以来的毫秒数也会回退 或者他们继续吗 另一个问题 如果我住在美国加利福尼亚州 采用太平洋 夏令 标准
  • 获取以 UTC 表示的当前时间的最简单 PowerShell 方法

    我已查看该帖子在 PowerShell 中创建具有特定 UTC 日期时间的 DateTime 对象 https stackoverflow com questions 10487011 creating a datetime object
  • HTML 时间输入类型 - 如何在单击任意位置而不仅仅是单击时钟图标时选择时间菜单视图

    I working on the time input type in HTML my problem is when I click on the small clock icon on the right side of the inp
  • C++:如何通过时间和本地时间获取实际时间?

    我正在寻找一种在 C 中以 HH MM SS 方式节省时间的方法 我在这里看到它们有很多解决方案 经过一番研究后我选择了time and localtime 然而 似乎localtime函数有点棘手 因为它says http rabbit
  • 同步通过 LAN 电缆连接的两台 Windows 7 计算机之间的时间

    我有许多笔记本电脑 它们运行我们的应用程序 同时通过以太网电缆成对连接 但未连接到任何外部网络或互联网 时间 我需要连接对来同步其系统时间 但由于每台计算机都需要能够与任何其他计算机同步 因此我无法将一台计算机定义为时间服务器 而另一台计算
  • 在 python 中计时时,我应该如何考虑 subprocess.Popen() 开销?

    编码社区的成员比我更聪明 我有一个 python 问题要问你们 我正在尝试优化一个 python 脚本 该脚本 除其他外 返回子进程执行和终止的挂钟时间 我想我已经接近这样的事情了 startTime time time process s
  • 找出某个日期时间自unix纪元以来的时间?

    我想找出 2009 年 10 月 1 日 9 00 BST 的 UNIX 时间 即自 Unix 纪元以来的秒数 我如何在 Linux 命令行上执行此操作 我知道你可以使用date UNIXTIME someformat 但是unix时间是我
  • 将纪元时间转换为日期 PHP

    我现在正在使用一个 API 它提供了一个 epochTime 我已尝试一切方法将此纪元转换为日期 但它似乎不起作用 包括 epoch time 1000然后使用date 函数来转换它 纪元时间看起来像这样 1353430853299 有办法
  • 使用 System.currentTimeMillis() 每秒运行一次代码

    我试图使用 System currentTimeMillis 每秒运行一行代码 代码 while true long var System currentTimeMillis 1000 double var2 var 2 if var2 1
  • PHP date_sun_info 错误时间

    我正在尝试使用 PHPdate sun info函数获取全天太阳某些位置的时间信息 目前我正在使用类似于中的代码文档 http php net manual en function date sun info php sun info da

随机推荐