论文学习笔记:Learning to Estimate 3D Human Pose and Shape From a Single Color Image
- 解决的问题:从单个彩色图像估计人体的姿势和形状
- 一般方法:通过迭代优化
- 存在的问题:卷积网络缺少训练数据、3D预测时分辨率低 - 本篇论文的工作:提出一个基于卷积网络的高效的直接预测方法来解决上述问题
- 论文方法的核心:在端到端框架中结合SMPL模型解决问题
Introduction:
- 目标:
- 计算机视觉:从图像中估计人体全身的姿势和形状
- 本文作者:通过提出一种高效且有效的直接预测方法,证明卷积网络确实能在此问题上提供一个好的解决方案,甚至优于迭代优化方法。 - 方法的关键:在端到端框架中结合SMPL模型(Figure1)
- 优点:参数少;有利于直接网络预测;训练是生成3D网格,并对其表面进行了优化;
Figure1:框架的示意图
a)输入一个彩色图像,使用2D姿势数据进行训练,预测出2D热图及轮廓;
b)两个网络使用参数模型的实例进行训练,用PosePrior、ShapePrior分别估计来自关键点的参数θ 及 来自轮廓的形状参数β;
c)将全身3D网格投影到图像,并优化投影与2D注释(keypoints and masks)的一致性,对框架进行端到端的训练。
Contributions:
- 提出了一种用于从单色图像进行三维人体姿态和形状估计的端到端框架;
- 在端到端的框架中引入SMPL模型——预测SMPL模型的参数、生成3D人体网格、投影3D网格
Related work
作者的工作:估计人体整个表面几何形状
主要分为以下几个方面:
- 估计人体形状(human shape estimation)
- 同时估计人体姿势与形状(Joint 3D human pose and shape estimation)
- 单个彩色图像的3D人体姿势和形状(3D human pose and shape from a single color image)
Human Body Shape Models
Statistical body shape models(SCAPE or SMPL):
它们的低维参数空间,非常适合直接网络预测,可以保证输出预测空间较小,却不会降低输出的质量。
本文作者采用了最新的SMPL模型:(the essential notation)
M(β, θ; Φ):a function ;
β: the shape parameters,
Φ: fixed parameters of the model.
direct output of this function: a body mesh P
Technical Approach##
- 传统方法:基于神经网络,获取大量具有3D形状标注的彩色图像,并用这些输入输出对训练网络。——通常不可用
- 主要目标:构建一个有效的框架
(根据前期的研究成果,确定可从二维姿态估计中可靠地估计3D姿态,形状可以从轮廓测量中进行推断。)
问题可分解为:
A . 从彩色图像估计keypoints和masks;
B . 从2D evidence中预测姿势和形状
(这样就不需要用具有3D形状标注的信息的图像来训练框架)第一步:估计2D关键点和轮廓。
训练一个卷积网络human2D,它产生两个输出:
a . 关键点的输出采用热图的形式,使用MSE损失进行监督;
b. 轮廓输出有两个通道(人体及背景),用像素二进制交叉熵损失(pixelwise binary cross entropy loss)进行监督。第二步:从2D关键点和轮廓估计全身3D姿势和形状。
训练2个网络组件:
a)PosePrior:使用2D关键点位置作为输入,检测置信度,并估计姿态系数θ;它使用两个线性单元,输入是2D关键点位置和每个热图的最大响应,输出是72个SMPL姿势参数θ。
b)ShapePrior:使用轮廓作为输入,并估计形状系数β。它使用一个简单架构,有五个3×3的卷积层,每个层后都跟着maxpooling,最后一个双线性单元有10个输出,对应于SMPL形状参数β。
Figure 2,我们可以通过生成具有不同3D姿势和形状的SMPL模型的实例来生成大量训练数据:
(目的是学习从轮廓和关键点到模型参数的映射。)
图中,一个源利用MoCap数据来对姿势参数进行采样,另一个源利用人体扫描来对体形状参数进行采样。
对于输入,我们只需要将3D合成人体模型实例投影到图像平面,并计算轮廓和2D关键点位置以生成用于训练的输入-输出对。
- Differentability Renderer
在并发工作中,使用解码器类型的网络来学习从SMPL参数到轮廓的映射。
但是,当确定 这种映射是已知的,并且涉及3D网格到图像的投影,可以以微分的方式进行实现,而不需要训练网络。
更具体地说,我们采用近似可微分的渲染器OpenDR,它将网格和3D关节投影到图像空间,并实现反向传播。
投影操作产生:a)轮廓,其表示为64×64二进制图像; b)2D关节的投影。
可以使用L2损失监督。
这种监督的目的有两个:
a.可用于网络的端到端细化,仅使用具有2D keypoints、masks的图像进行训练。
b.在一个只有2D注释的新设置(e.g.新的数据集)之前,它可以适当地调整一个通用的姿势或形状。
Empirical evaluation
首先,提出了用于定量和定性评估的基准。
其次,提供了该方法的基本实现细节。
最后,在选定数据集上显示定量和定性结果。
评估基准:
UP-3D数据集(收集2D人类姿势基准的彩色图像)
SURREAL数据集(提供具有3D shape ground truth的合成图像示例)
Table 1:这是UP-3D和CMU在同一架构、迭代相同次数、不同监督形式的对比结果。
(数字表示平均变形误差/mm)
- 此外,使用Human3.6M数据集对3D姿势精度作进一步评估。
(Human3.6M:大型室内数据集)
Figure 3: 表示在UP-3D示例方法中,成功预测了3D姿态和形状。
- 评估结果:
对于UP-3D:本文提出的方法在很大程度上优于之前Lassner等人提出两种直接预测方法;
Table 2中是UP-3D的详细结果。数字表示每个顶点误差的平均值mm,除了“Ruduced”列中有91个错误,我们的方法优于表中的其他方法。
上图是UP-3D的示例,我们的方法(蓝)明显优于Lassner等人的直接预测方法(粉)。
对于SURREAL:本文使用CMU数据训练PosePrior,与基于迭代优化方法 和 基于直接预测的方法进行比较,发现这些数据比UP-3D更通用。
Table 3中是SURREAL的Human3.6M部分的结果。数字表示每个顶点误差的平均值(mm)。“GT形状”表示形状系数是已知的。
对于Human3.6M:
Table 4:这是Human3.6M的详细结果。数字是重建误差(mm)。
Boosting SMPLify
希望通过与迭代优化方法互补,使我们的方法具有更大的适用性。
首先,使用预测的姿势(而不是典型的均值姿势)作为初始化。此外,避免分层四步优化,只需最后一步即可限制整个过程。最后,我们在优化中增加了一个数据项:以避免偏离我们预测的anchor pose。
Table 5:通过在图像上投影3D形状估计来呈现不同SMPLify版本的分割准确度。
使用我们的直接预测可以改善 vanilla SMPLify,同时还可以实现3倍的加速。
Figure 5:当我们的直接预测用作迭代优化的初始化和anchor?时,每张图的右侧小图显示了改进的SMPLify拟合的LSP示例。
本文提出的方法在相关测试中获得了最先进的结果,优于之前提出的方法。
并且,此方法的运行时间比最先进的迭代优化方法快三个数量级,对于其他直接预测方法,运行时间可能很短,但是端到端框架表现出了明显更好的性能。
论文学习笔记:Learning to Estimate 3D Human Pose and Shape From a Single Color Image相关推荐
- Learning to Reconstruct 3D Human Pose and Shape via Model-fitting in the Loop
这篇文章把optimization and regression做了一个结合, 让他们相互支持和提高 公式(1), 回归SMPL模型的参数 公式(2), 即simipify 里面的优化过程 公式(3) ...
- keep it SMPL: Automatic estimation of 3d human pose and shape from a single image
公式(2), 即SMPL 3D模型上面投影后的joint和2d image上 detected joint points之间的差异 公式(3), 惩罚elbows and knees 向外弯, 即θ\ ...
- 【论文学习笔记-2】高分辨率3D深度重建
[论文学习笔记-2] 高分辨率3D深度重建 背景介绍 模型 目标 Related Works 背景介绍 应用场景广泛:桥,电缆etc 高分辨率图像的特点:像素多,potential disparity ...
- 论文学习笔记: Learning Multi-Scale Photo Exposure Correction(含pytorch代码复现)
论文学习笔记: Learning Multi-Scale Photo Exposure Correction--含pytorch代码复现 本章工作: 论文摘要 训练数据集 网络设计原理 补充知识:拉普 ...
- HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimatio
CVPR 2021 [paper] [code] 摘要 (1)基于模型的三维姿态和形状估计方法通过估计人体的几个参数来重建完整的三维网格.然而,抽象参数的学习是一个高度非线性的过程,且图像与模型存在偏 ...
- 论文复现:<Beyond Static Features for Temporally Consistent 3D Human Pose and Shape from a Video>
一,国际惯例,写在前面 个人学习之作,不做商用,能力有限,有错误或者任何问题随时联系我.欢迎指正,共同进步. 二,基础步骤+遇到的问题 不做科普,需要基础的算法开发能力. 01.阅读论文,看看大概是干 ...
- 【论文阅读笔记】Simple and Lightweight Human Pose Estimation
论文地址:https://arxiv.org/abs/1911.10346 代码地址:https://github.com/zhang943/lpn-pytorch 论文总结 本文网络名叫LPN. ...
- 3D human pose 重要论文分类(持续更新)
3D human pose 重要论文整理(持续更新) 内容较多,提供目录便于查找 目录 3D human pose 重要论文整理(持续更新) 传统方法 深度学习方法 3D Pose 从单幅图像直接出3 ...
- Towards 3D Human Pose Estimation in the Wild: a Weakly-supervised Approach论文翻译
论文地址:https://arxiv.org/abs/1704.02447 code:https://github.com/xingyizhou/pytorch-pose-hg-3d Towards ...
最新文章
- 服务器oracle11g卸载,卸载Oracle11g步骤详解
- springboot知识
- LA4636积木艺术
- 笔记--待解决,整理
- ubuntu更换下载源
- 深入理解Spark 2.1 Core (九):迭代计算和Shuffle的原理与源码分析
- 如何在mapinfo中查看link ID
- SpringSecurity权限框架实战
- C++之explicit关键字使用总结
- 用香港服务器建收费网站,使用香港站群服务器搭建网站的好处有哪些?
- linux对于zombie的处理
- 怎么得到scrollTop
- 对一道基础string题及其变式题的思考与解析
- javascript小技巧 JavaScript[对象.属性]集锦 [zz]
- 02_创建 CA 根证书和秘钥
- pe如何自动加载外置工具_[分享] PE自动检测安装驱动 外置组件[01-17更新]
- ffmpeg 推流命令记载
- java 小型超市管理系统_基于jsp的小型超市管理系统-JavaEE实现小型超市管理系统 - java项目源码...
- 学习 Java全栈工程师6.0 初学者笔记1 2021-08-09
- MaC 修改MySQL密码
热门文章
- Study Flex《强引用与弱引用》
- qcqa是什么职位_QA和QC各是什么意思?
- 罚金与罚款的区别 ?
- 【GTX 10x0 Ti】此nvidia驱动程序与此windows版本不兼容
- Python(matplotlib)海洋温度垂直剖面图(附完整代码)
- java绘图基础 : 用java代码画一个房子
- 新闻稿件发布的优势,新闻稿的优点
- 用ping命令知道别人电脑的系统信息
- 图像质量评估(3) -- 噪声
- web前端期末大作业 在线电影网页设计与制作 HTML+CSS+JavaScript仿叮当电影网页制作