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 的相关文章

  • 在 python 中使用高精度时间戳

    嘿 我正在使用 python 处理日期时间 我想知道解析这个时间戳的最佳方法是什么 时间戳是ISO标准 这里是一个例子 2010 06 19T08 17 14 078685237Z 现在到目前为止我已经使用过 time datetime d
  • 计算轮班工作时间并检测

    我有个问题 我的英语很差 我需要用PHP做一个加班计算 已经有一个代码可以实现这一点 但当工作时间超过2天时 计算就会出错 工作开始 2018 09 09 13 43 工作结束 2018 09 11 07 13 结果 07 18 04 00
  • 如何在 python 中使用 urllib2 加快获取页面的速度?

    我有一个脚本可以获取多个网页并解析信息 一个例子可以在 我在上面运行了 cProfile 正如我所假设的 urlopen 占用了很多时间 有没有办法更快地获取页面 或者一次获取多个页面的方法 我会做最简单的事情 因为我是 python 和网
  • 将 time.Time 转换为字符串

    我正在尝试将数据库中的一些值添加到 string在围棋中 其中一些是时间戳 我收到错误 无法在数组元素中使用 U Created date 类型 time Time 作为类型字符串 我可以转换吗time Time to string typ
  • 使用 NSDateFormatter 从字符串中获取日期,无论 12 小时到 24 小时设置如何

    今天我的问题是关于日期格式和字符串 我的应用程序从互联网下载一些表示日期的字符串 日期格式始终是这样的 2010 05 24 at 20 45 我需要将此字符串转换为 NSDate 对象才能执行一些日期操作 我尝试了这段代码 NSStrin
  • 拟合具有扭曲时基的正弦波

    我想知道在 Matlab 中拟合具有扭曲时基的正弦波的最佳方法 时间失真由 n 阶多项式 n 10 给出 其形式为t distort P t 例如 考虑失真t distort 8 12t 6t 2 t 3 这只是幂级数展开 t 2 3 这将
  • 如何在 C++ 中使用 LoadLibrary(..) 调用 kernel32.dll 函数 GetTickCount()

    我正在寻找一个在 Windows 机器上获取以毫秒为单位的时间的函数 本质上 我想调用这个 WinAPI 函数 GetTickCount 但我陷入了 使 用 LoadLibrary n 调用 GetTickCount 函数 部分 我搜索了每
  • 使用Python查明时区当前是否处于夏令时[重复]

    这个问题在这里已经有答案了 我们有一个在 GMT 时间运行的服务器 我需要编写一个 Python 脚本来确定当前 此时此刻 加利福尼亚州洛杉矶是否为夏令时 DST 我怎样才能做到这一点 我查看了 pytz 和 time 但我无法弄清楚 我意
  • CLOCKS_PER_SEC 与 std::clock() 的结果不匹配

    我正在使用以下短程序来测试std clock include
  • 按时间范围聚合

    我有一个数据集 其中包含日期 yyyy mm dd 和时间 h m s 以及温度 float 作为单独的列 我想通过平均函数聚合每天的温度值 问题是 我不知道如何查询时间属性来表示例如聚合 h m 0 5 s and h m 5 10 s
  • 在C中将毫秒转换为秒

    简单的C问题 如何正确 简洁地将毫秒转换为秒 有两个限制 我在这个微小的 C 编译器子集中没有浮点支持 我需要将秒四舍五入到最接近的秒 1 499ms 向下舍入 500 999ms 向上舍入 不需要关心负值 int mseconds 160
  • PHP 使用今天的日期生成一个随机数

    我正在尝试为内容块 在网页上 分配一个随机生成的数字 该数字基于今天的日期 无论是什么 和固定数字 由于某种原因 输出的数字种类存在巨大差异 例如 当我在本地测试我的代码时 生成的数字对我来说足够好 正数 但在实际的实时服务器上时 它们通常
  • PHP 如何查找自日期时间以来经过的时间? [复制]

    这个问题在这里已经有答案了 如何查找自日期时间戳记以来经过的时间2010 04 28 17 25 43 最终输出文本应该是这样的xx Minutes Ago xx Days Ago 大多数答案似乎都集中在将日期从字符串转换为时间 您似乎主要
  • Clock_t、time_t 和 struct tm 之间有什么区别?

    Clock t time t 和 struct tm 之间有什么区别 结构体看起来像这样 struct tm int tm sec int tm min int tm hour int tm mday int tm mon int tm y
  • 乔达时间:将 UTC 转换为本地时间

    我想将 Joda Time UTC DateTime 对象转换为本地时间 这是一种看似有效的费力方法 但一定有更好的方法 这是没有周围声明的代码 在 Scala 中 val dtUTC new DateTime 2010 10 28T04
  • 是否可以获取当前的 html5 视频时间帧(毫秒)?

    我正在尝试构建一个实时视频字幕编辑器 并要求 JS DOM 返回当前视频时间帧 以毫秒为单位 根据 DOM video currentTime 仅返回以秒为单位的值 有没有办法以毫秒为单位获取值 ontimeupdateevent 给出当前
  • Java中如何获取时间分隔符?

    有没有办法在Java中获取时间分隔符 它是某个地方的常量还是吸气剂 也许有相当于 File separator 的东西 我的时间字符串由返回DateFormat getTimeInstance DateFormat SHORT locale
  • Toast.LENGTH_LONG 和 Toast.LENGTH_SHORT 的值是多少?

    我正在我的应用程序中打印 Toast 消息以显示通知 但我想知道 Toast LENGTH LONG 和 Toast LENGTH SHORT 我还可以使用哪些其他值 谁能告诉我这两个变量的值是多少 还有另一个问题可以回答您正在寻找的内容
  • setTimeout - 将变量作为时间传递

    我有一个 setTimeout 我希望能够使用变量作为计时器 var that this var time this spawnTime setTimeout function time that SpawnCounter time 这似乎
  • R 根据事件更新值

    我最近发布了这个问题 该问题已经与我在笔记本电脑上本地使用的 Mysql 数据库相关 由于我在 Mysql 中没有找到问题的解决方案 其他人似乎也没有找到解决方案 所以我想再次发布它 但现在与 R 相关 我使用带有 RMysql 包的数据库

随机推荐