
# 人体形状与姿态的端到端恢复

Angjoo Kanazawa $^{1}$, Michael J. Black $^{2}$, David W. Jacobs $^{3}$, Jitendra Malik $^{1}$

$^{1}$加州大学伯克利分校

$^{2}$德国图宾根马克斯·普朗克智能系统研究所，$^{3}$马里兰大学帕克分校；{kanazawa,malik}@eecs.berkeley.edu，<mailto:black@tuebingen.mpg.de>，<mailto:djacobs@umiacs.umd.edu>

![Image](images/35058cc3468ca8826a0ddeec150abf669f99cc7da58adfbb7e1cc9f3426060e7.jpg)

<div style="text-align: center;">Figure 1: Human Mesh Recovery (HMR): End-to-end adversarial learning of human pose and shape. We describe a real time framework for recovering the 3D joint angles and shape of the body from a single RGB image. The first two rows show results from our model trained with some 2D-to-3D supervision, the bottom row shows results from a model that is trained in a fully weakly-supervised manner without using any paired 2D-to-3D supervision. We infer the full 3D body even in case of occlusions and truncations. Note that we capture head and limb orientations.</div>

## 摘要

我们提出了人体网格恢复（Human Mesh Recovery, HMR）框架，这是一个从单张RGB图像重建完整人体3D网格的端到端框架。与大多数当前计算2D或3D关节位置的方法不同，我们生成的是一种更丰富且更有用的网格表示形式，该表示由形状和3D关节角度参数化。主要目标是最小化关键点的重投影损失，这使得我们的模型能够利用仅包含2D真值标注的自然场景图像进行训练。然而，仅靠重投影损失约束性极弱。在这项工作中，我们通过引入一个对抗网络来解决这一问题，该对抗网络经过训练后可判断人体形状和姿态参数是真实的还是伪造的，其训练数据来自大型3D人体网格数据库。我们证明HMR可以在有或无成对的2D-3D监督数据的情况下进行训练。我们不依赖中间的2D关键点检测步骤，而是直接从图像像素中推断3D姿态和形状参数。给定包含人体的边界框后，我们的模型可实时运行。我们在各种自然场景图像上验证了该方法，其性能优于以往输出3D网格的基于优化的方法，并且在3D关节位置估计和部件分割等任务上也取得了具有竞争力的结果。

并且无需借助任何成对的2D到3D监督信息。我们并不依赖中间的2D关键点检测步骤，而是直接从图像像素中推断出3D姿态和形状参数。只要给定包含人体的边界框，我们的模型就能实时运行。我们在各种自然场景图像上验证了该方法，其性能优于以往那些输出3D网格的基于优化的方法，并且在3D关节位置估计和部件分割等任务上也取得了具有竞争力的结果。

### 1. 引言

我们提出了一种从单张RGB图像恢复完整人体3D网格的端到端框架。我们使用生成式人体模型SMPL [^24]，该模型通过3D关节角度和低维线性形状空间对网格进行参数化。如图1所示，估计3D网格为前景和部件分割等一系列应用打开了大门，而这些是简单的骨骼模型无法实现的。输出的网格可直接供动画师使用，还能对其进行修改、测量、操控和重定向。我们的输出结果也是全局性的——即使在存在遮挡或截断的情况下，我们也能推断出完整的3D人体。

---

![Image](images/362b9ace9f9406498aa667b0f6701859da804738c44d707ca199055f80e56951.jpg)

<div style="text-align: center;">Figure 2: Overview of the proposed framework. An image I is passed through a convolutional encoder. This is sent to an iterative 3D regression module that infers the latent 3D representation of the human that minimizes the joint reprojection error. The 3D parameters are also sent to the discriminator D, whose goal is to tell if these parameters come from a real human shape and pose.</div>

需要注意的是，关于从单张图像进行人体3D分析的研究已经有很多。不过大多数方法都侧重于恢复3D关节位置。我们认为仅有这些关节并不足以描述完整的人体。关节是稀疏的，而人体是由3D空间中的表面定义的。

此外，仅依靠关节位置无法约束每个关节的全部自由度。这意味着仅根据3D关节位置来估计人体的完整姿态并非易事。相比之下，我们输出了运动树中每个关节的相对3D旋转矩阵，从而捕捉到头部和肢体的3D方向信息。预测旋转还能确保肢体对称且长度合理。我们的模型会从3D人体模型数据集中隐式学习关节角度的限制范围。

此外，仅凭关节位置并不能约束每个关节的全部自由度。这意味着仅根据3D关节位置来估算身体的完整姿态并非易事。相比之下，我们输出了运动树中每个关节的相对3D旋转矩阵，从而捕捉到关于3D头部和肢体方向的信息。预测旋转还能确保肢体对称且长度合理。我们的模型会从3D人体模型数据集中隐式地学习关节角度的限制范围。

目前用于恢复3D人体网格的现有方法采用的是多阶段方案[^5] [^20]。首先，它们会估算2D关节位置，再据此推算出3D模型参数。这种分步式方法通常并非最优解，因此本文提出了一种端到端的解决方案，旨在学习从图像像素直接映射到模型参数的方法。

不过，以端到端方式训练此类模型面临诸多挑战。首先是缺乏针对自然场景下图像的大规模3D标注数据。现有包含精确3D标注的数据集均是在受控环境下采集的，基于这些数据集训练的模型无法很好地适配现实世界中丰富多样的图像。另一个挑战在于单视图2D到3D映射本身存在固有的歧义性。最典型的是深度歧义问题：多种3D人体结构可以对应相同的2D投影结果[^42]。其中许多结构在解剖学上并不合理，比如不可能的关节角度或过于纤细的体型。此外，若显式估算相机参数，还会引入人体尺寸与相机距离之间的额外尺度歧义。

在本文中，我们提出了一种全新的网格重建方法，可同时解决上述两类挑战。我们的核心发现是：存在大规模的自然场景图像2D关键点标注数据，以及包含各种姿势和体型的人体3D网格的独立大规模数据集。我们的主要贡献在于利用这些未配对的2D关键点标注和3D扫描数据，采用条件生成对抗网络框架。其思路是：给定一张图像后，网络需推断出3D网格参数和相机参数，使得投影后的3D关键点能与标注的2D关键点相匹配。为解决歧义性问题，这些参数会被送入判别器网络，该网络的任务是判断这些3D参数是否对应真实人类身体。如此一来，网络便会被引导输出位于人类流形上的参数，而判别器则起到弱监督的作用。网络会隐式地学习每个关节的角度限制，从而避免生成体型异常的人体。

预测人体模型参数的另一项挑战在于，回归旋转矩阵并非易事。大多数方法将旋转估计转化为

---

分类问题，即将角度划分为多个区间[^46]。然而，对重投影损失求角度概率的导数并非易事，且离散化会牺牲精度。因此，我们提出采用迭代反馈的方式直接回归这些数值。我们的框架如图2所示。

我们的方法与3D解释器网络[^33] [^50]在利用重投影损失方面类似，也与较新的对抗式逆图形网络[^47]在运用对抗先验方面一致。我们在多个方面超越了现有技术：

1. 我们直接从图像特征推断3D网格参数，而以往的方法是从2D关键点推断这些参数。这既避免了两阶段训练的需求，也无需丢弃大量图像信息。

2. 我们输出的不仅是骨骼，还有网格，后者更为复杂，也更适用于众多应用场景。同样，无需额外的推理步骤。

3. 我们的框架采用端到端方式训练。在3D关节误差和运行时间方面，我们的表现优于以往输出3D网格的方法[^5] [^20]。

4. 我们展示了使用和不使用配对2D-3D数据的结果。即便不使用任何配对的2D-3D监督信息，我们的方法也能生成合理的3D重建结果。这一点尤为令人兴奋，因为它为利用大量2D数据学习3D模型开辟了可能性。

由于目前没有用于评估从自然场景图像中重建人体3D网格的数据集，我们只能在标准3D关节位置估计任务上评估我们的方法。我们的方法在从2D关节估计SMPL参数方面优于以往的方法，其性能也与仅输出3D骨骼的方法不相上下。我们还在人体部位分割这一辅助任务上对该方法进行了评估。我们在具有挑战性的自然场景图像上对该方法进行了定性评估，并展示了不同误差百分位数下的结果。我们的模型和代码已发布于<https://akanazawa.github.io/hmr/>，供研究使用。

### 2. 相关工作

3D姿态估计：许多论文将人体姿态估计问题定义为从图像或视频序列（单视图或多视图）中定位身体的主要3D关节。我们认为这种对“姿态”的定义过于简单化，但它确实是该领域的主流范式。相关方法可分为两类：两阶段估计法和直接估计法。

两阶段方法首先利用2D姿态检测器[^30] [^49] [^54]或真实的2D关节坐标来预测2D关节位置，随后再根据这些2D关节坐标通过回归[^26] [^29]或模型拟合来预测3D关节位置；其中常见的方法是利用学习得到的3D骨骼字典[^2] [^34] [^47] [^37] [^53] [^54]。为了消除2D到3D估计中固有的歧义性，这些方法会运用各种先验知识[^42]。大多数方法会对肢体长度或比例做出某些假设[^4] [^21] [^32] [^34]。Akhter和Black[^2]提出了一种能够捕捉与姿态相关的关节角度限制的新型姿态先验。两阶段方法的优势在于对域偏移的鲁棒性更强，但它们过度依赖2D关节检测结果，可能会在估计3D姿态时丢失图像中的信息。

像HumanEva[^38]和Human3.6M[^16]这类带有真实动作捕捉数据的视频数据集，是将3D关节位置作为问题的定义依据。它们提供的训练数据使得3D关节估计问题可以被转化为标准的监督学习问题。从Toshev等人[^45]的研究开始，许多近期方法都在深度学习框架中直接从图像估计3D关节[^33] [^43] [^44] [^51] [^52]。主流方法都是全卷积网络，只有Xiao等人[^40]提出的较新方法是通过回归骨骼来获取结果，且在3D姿态基准测试中取得了优异表现。许多方法并不单独求解相机参数，而是估计相对于根节点的深度，并使用基于骨骼平均长度的预定义全局缩放系数[^33] [^51] [^52]。最近Rogez等人[^36]将人体检测与3D姿态预测相结合。这些直接估计方法的主要问题在于：带有准确3D标注的真值图像都是在受控的动作捕捉环境中采集的。仅用这些图像训练的模型在现实世界中的泛化能力较差。

弱监督的3D建模：近期的研究在端到端框架中解决了动作捕捉数据与自然图像之间的域差异问题。Rogez和Schmid [^35] 利用动作捕捉数据，为仅有2D姿态标注的图像人工添加3D标注。一些方法 [^27] [^28] [^51] 会同时基于自然图像数据集和动作捕捉数据集进行训练。还有其他方法 [^27] [^28] 则使用预训练的2D姿态网络，并将2D姿态预测作为辅助任务。当缺乏3D标注时，Zhou等人 [^51] 通过一种几何约束来获取弱监督信号，该约束要求骨骼的相对长度保持恒定。在本研究中，我们输出3D关节角度和3D形状，其中包含了肢体应对称这一约束条件。我们采用了一种更强大的弱监督形式——通过训练对抗性先验来实现。

输出结果不止包含3D关节的方法：有多种方法会将参数化人体模型拟合到手动提取的轮廓 [^8] 以及少量手动提供的对应点 [^12] [^14] 上。较新的研究试图实现这一过程的自动化。Bogo等人 [^5] 提出了SMPLify，这是一种基于优化的方法来恢复SMPL参数。

---

该方法利用从14个检测到的2D关节中提取的信息，并结合多种先验知识。但由于涉及优化步骤，该方法无法实时处理，每张图像的处理时间需要20到60秒。此外，该方法还对关节角度范围做了先验假设。Lassner等人 [^20] 利用SMPLify的输出结果来训练用于检测传统人体关节及表面点的91个关键点检测器。随后他们优化SMPL模型参数以使之与这些关键点匹配，这一过程与 [^5] 中的方法类似。他们还提出了一种随机森林回归方法，可直接回归出SMPL参数，虽然能缩短运行时间，但精度会有所牺牲。我们的方法性能优于这两种方法：我们直接从图像中推断SMPL参数，而非依赖检测到的2D关键点，且能实时运行。

VNect [^28] 会随着时间推移，将带骨骼的模型拟合到估计出的2D和3D关节位置上。尽管经过优化后它们能恢复每个关节的3D旋转角度，但我们能直接从图像中输出旋转角度以及表面顶点。同样，Zhou等人 [^52] 也能直接回归出固定运动树结构的关节旋转角度。我们不仅能输出形状信息，还能输出相机缩放参数，在3D姿态估计方面表现优于他们的方法。

还有其他一些预测SMPL相关输出的相关方法：Varol等人 [^48] 利用渲染出的SMPL人体合成数据集，来训练用于深度和身体部位分割的全卷积模型。DenseReg [^13] 同样能输出人体的密集对应映射图。这两者都是底层3D人体的2.5D投影。在本研究中，我们能恢复所有SMPL参数以及相机参数，进而得到所有这些输出结果。

Kulkarni等人[^19]利用基于概率编程框架的人体形状与姿态生成模型，从单张图像中估计人体姿态。他们仅处理了视觉上较为简单的图像，且并未评估3D姿态的精确度。最近，Tan等人[^41]采用两步法来推断SMPL参数：首先利用合成数据训练SMPL到轮廓的解码器，随后在解码器固定的前提下训练图像到SMPL的编码网络，其目标是重建图像的轮廓。尽管这是一个有趣的研究方向，但对轮廓的依赖限制了该方法仅能应用于正面图像。我们则在各种视角下的图像上对模型进行训练和测试。与他们不同，我们并未预测相机参数；此外，训练过程需要无遮挡的全身轮廓图像，而他们仅在139张真实图像上进行测试，也未依据3D姿态指标进行评估。

### 3. 模型

我们提出一种方法，能够直接从以人为中心的单张RGB图像I中以前馈方式重建完整的人体3D网格。训练期间，我们假设所有图像都标注有真实的2D关节点；我们也考虑了部分图像同时具有3D标注的情况。此外，我们假设存在一组形状与姿态各异的人体3D网格数据集。由于这些网格未必有对应的图像，我们将这类数据称为非配对数据[^55]。

图2展示了所提出的网络架构概览，该架构可端到端训练。图像的卷积特征会被送入迭代式3D回归模块，该模块的目标是推断出3D人体及相机参数，使得其3D关节点能投影到标注的2D关节点上。推断出的参数还会被送入对抗性判别网络，该网络的任务是判断这些3D参数是否来自非配对数据中的真实网格。这能促使网络输出位于人体流形上的3D人体，从而为没有真实3D标注的自然场景图像提供弱监督。得益于3D网格模型丰富的表征能力，这种数据驱动的先验能够捕捉关节角度限制、人体测量约束（如身高、体重、骨骼比例），并涵盖了那些仅预测3D关节位置的模型所使用的几何先验[^34] [^40] [^51]。当存在真实的3D信息时，我们可以将其用作中间损失项。总的来说，我们的整体目标是

 $$ L=\lambda(L_{\mathrm{r e p r o j}}+\mathbb{1}L_{3\mathrm{D}})+L_{\mathrm{a d v}} $$

其中$\lambda$用于控制各目标的相对重要性，1为指示函数，若某图像有真实的3D信息则取1，否则取0。我们分别展示了加入和未加入3D损失时的结果，下文将逐一讨论各个组成部分。

#### 3.1. 3D人体表征

我们使用Skinned Multi-Person Linear（SMPL）模型对人体3D网格进行编码[^24]。SMPL是一种生成模型，它将人体分解为形状——即个体在身高、体重和身体比例上的差异——以及姿态——即3D表面随关节活动而产生的形变。形状$\beta \in \mathbb{R}^{10}$由PCA形状空间的前10个系数参数化。姿态$\theta \in \mathbb{R}^{3K}$则通过$K = 23$个关节的相对3D旋转（采用轴角表示法）来建模。SMPL是一个可微函数，输出具有$N = 6980$个顶点和$M(\theta, \beta) \in \mathbb{R}^{3 \times N}$个面的三角化网格；该网格是通过基于$\beta$和$\theta$对模板身体顶点进行形变处理，再根据关节旋转$\theta$通过正向运动学驱动骨骼，最后利用线性混合蒙皮技术对表面进行变形而得到的。用于计算重投影误差的3D关键点$X(\theta, \beta) \in \mathbb{R}^{3 \times P}$是通过对最终网格顶点进行线性回归得到的。

我们采用弱透视相机模型，求解全局旋转$R \in \mathbb{R}^{3 \times 3}$（采用轴角表示法）、平移$t \in \mathbb{R}^2$以及缩放$s \in \mathbb{R}$。因此，用于表示人体3D重建的参数集可表示为一个85维向量$\Theta = \{\theta, \beta, R, t, s\}$。给定$\Theta$后，$X(\theta, \beta)$的投影为

 $$ \hat{\mathbf{x}}=s\Pi(R X(\pmb{\theta},\beta))+t, $$

---

其中$\Pi$表示正交投影。

#### 3.2. 带反馈的迭代式3D回归

3D回归模块的目标是根据图像编码$\Theta$输出$\phi$，从而使关节重投影误差

 $$ \begin{array}{r}{L_{\mathrm{r e p r o j}}=\Sigma_{i}||v_{i}(\mathbf{x}_{i}-\hat{\mathbf{x}}_{i})||_{1},}\end{array} $$

达到最小化。此处$\mathbf{x}_i \in \mathbb{R}^{2 \times K}$表示第i个真实2D关节坐标，$v_i \in \{0,1\}^K$则表示K个关节中每个关节的可见性（可见为1，否则为0）。

然而，一次性直接回归出$\Theta$是一项极具挑战性的任务，尤其是因为$\Theta$包含旋转参数。在本研究中，我们借鉴了以往的工作成果[^7] [^9] [^31]，采用迭代误差反馈（IEF）循环来逐步回归$\Theta$，即对当前估计值进行渐进式的反复调整。具体而言，3D回归模块以图像特征$\phi$和当前参数$\Theta_t$作为输入，输出残差$\Delta\Theta_t$。通过将此残差加到当前估计值$\Theta_{t+1} = \Theta_t + \Delta\Theta_t$上来完成参数更新。初始估计值$\Theta_0$被设定为均值$\tilde{\Theta}$。在[^7]和[^31]的研究中，会将估计结果渲染到图像空间中，再与图像输入拼接在一起；而在本研究中，我们将所有操作保留在潜空间内，仅将特征$\left[\phi, \Theta\right]$拼接后作为回归器的输入。我们发现这种方法效果良好，尤其适用于参数的可微渲染较为复杂的情况。

当配有真实的3D数据时，可采用额外的直接3D监督机制。最常见的3D标注形式是3D关节坐标。如果拥有原始的3D动作捕捉标记数据，就可以通过MoSh方法$[\beta, \theta]$ [^23]来获取关于SMPL参数[^48]的监督信息。以下是3D损失函数的定义。我们展示了使用和不使用任何直接监督机制$L_{3D}$时的实验结果。

 $$ L_{3\mathrm{D}}=L_{3\mathrm{D j o i n t s}}+L_{3\mathrm{D s m p l}} $$

 $$ L_{\mathrm{j o i n t s}}=||(\mathbf{X_{i}}-\hat{\mathbf{X_{i}}})||_{2}^{2} $$

 $$ L_{\mathrm{s m p l}}=||[\boldsymbol{\beta}_{i},\boldsymbol{\theta}_{i}]-[\hat{\boldsymbol{\beta}}_{i},\hat{\boldsymbol{\theta}}_{i}]||_{2}^{2}. $$

[^7]和[^31]均采用“有界”的校正目标来指导每次迭代中的回归输出。不过，这种方法假设真实值估计始终已知，但在我们的实验设置中并非如此——许多图像并没有真实的3D标注数据。正如这类方法所指出的，若用最终目标函数来约束每次迭代，会导致回归器过度拟合而陷入局部最小值。因此，我们仅在最终估计结果$L_{reproj}$上应用$L_{3D}$和$\Theta_T$，而在每次迭代中对估计结果$\Theta_t$施加对抗性损失，从而迫使网络采取位于3D人体流形上的修正步骤。

#### 3.3. 分解式对抗先验

重投影损失会促使网络生成能够解释2D关节位置的3D人体模型，但解剖学上不合理的3D人体或存在严重自相交现象的模型仍可能使重投影损失最小化。为了对这种情况进行约束，我们使用判别器网络D，该网络被训练用于判断SMPL参数对应的是否为真实人体。我们将其称为对抗性先验（如[^47]中所述），因为判别器充当了引导3D推断的数据驱动型先验。

采用像SMPL这样丰富且明确的三维表示还有一个额外好处：我们能精确知晓潜在空间的含义。具体而言，SMPL具有可分解的形式，我们可以利用这一点让对抗器更高效利用数据且训练更稳定。更具体地说，我们借鉴SMPL的形状与姿态分解方式，分别针对形状和姿态训练判别器。由于姿态是基于运动学树的，我们进一步拆分姿态判别器，为每个关节旋转单独训练一个判别器，这相当于学习每个关节的角度限制。为了捕捉整个运动学树的关节分布，我们还训练了一个接收所有旋转参数的判别器。由于每个判别器的输入维度很低（$\beta$为10维，每个关节为9维，所有关节合计9K维），它们都可以是小型网络，因此训练稳定性较高。所有姿态判别器共享旋转矩阵的共同特征空间，只有最终的分类器才是单独学习的。

与以往对关节限制做出先验假设的方法不同（[^5]、[^52]），我们并未预先定义运动学骨架模型的自由度。相反，这是通过这种分解式对抗先验以数据驱动的方式学习得到的。若不采用这种分解方式，网络就无法学会对姿态和形状进行恰当约束，从而产生视觉上不美观的结果。当没有配对的3D监督数据时，对抗性先验的重要性尤为突出。正如4.3节所示，缺少对抗性先验时，网络会生成完全不受约束的人体模型。

虽然模式崩溃是GAN中常见的问题（[^10]），但我们并未受到此问题困扰，因为网络不仅要欺骗判别器，还要最小化重投影误差。图像中包含了所有模式，网络被迫匹配所有这些模式。这种分解方式或许还能进一步避免模式崩溃，因为它允许网络泛化到未见过的身体形状和姿态组合。

我们训练了所有的判别器$K + 2$。每个判别器$D_i$输出的数值介于[^0]和[^1]之间，该数值表示$\Theta$来自真实数据的概率。实践中，由于最小二乘公式具有稳定性，我们采用它[^25]。设E为包含图像编码器和3D模块的编码器，那么针对编码器的对抗损失函数为

 $$ \min L_{\mathrm{a d v}}(E)=\sum_{i}\mathbb{E}_{\Theta\sim p_{E}}[(D_{i}(E(I))-1)^{2}], $$

---

而每个判别器的目标函数为

 $$ \begin{array}{r}{\operatorname*{m i n}L(D_{i})=\mathbb{E}_{\Theta\sim p_{\mathrm{d a t a}}}[(D_{i}(\Theta)-1)^{2}]+\mathbb{E}_{\Theta\sim p_{E}}[D_{i}(E(I))^{2}].}\end{array} $$

我们会联合优化E和所有的D。

#### 3.4. 实现细节

数据集：我们使用的带有2D关键点标注的自然场景图像数据集包括LSP、LSP扩展版[^17]、MPII[^3]以及MS COCO[^22]。我们会过滤掉尺寸过小或可见关键点少于6个的图像，最终得到的训练集规模分别为1000张、1万张、2万张和8万张图像。这些数据集均采用标准的训练/测试划分方式，所有测试结果均使用真实边界框得出。

对于3D数据集，我们使用Human3.6M[^16]和MPI-INF-3DHP[^28]。我们将MPI-INF-3DHP中属于受试者8的训练序列留作验证集以调整超参数，最终实验则使用完整的训练集。这两个数据集均在受控环境下采集，提供了15万张带有3D关节标注的训练图像。对于Human3.6M数据集，我们还利用MoSh算法[^23]从原始的3D动作捕捉标记中，为训练图像获取真实的SMPL参数。

所有图像都会被缩放至$224 \times 224$并保持宽高比，使得紧密边界框的对角线长度约为150像素（详见[^17]）。图像还会被随机缩放、平移和翻转。小批量大小设为64。当采用成对的3D监督时，每个小批量会保持平衡，即包含一半2D样本和一半3D样本。除非另有说明，所有实验均使用带有成对3D损失的所有数据集。

SMPL中定义的$K = 23$关节与这些数据集常用的关节定义并不完全一致。我们遵循[^5]和[^20]的方法，使用回归器从重建的网格中获取Human3.6M的14个关节。此外，我们还将MS COCO数据集中的5个面部关键点纳入考虑[^22]。通过指定对应的顶点ID，可以轻松将新关键点整合到网格表示中$^{1}$。最终，重投影误差是基于$P = 19$个关键点计算的。

架构：我们使用 ResNet-50 网络 [^15] 来编码图像，该网络在 ImageNet 分类任务 [^39] 上进行了预训练。ResNet 的输出经过平均池化，得到特征 $\phi \in \mathbb{R}^{2048}$。3D 回归模块由两个全连接层组成，每个全连接层有 1024 个神经元，中间含有一个 dropout 层，最后是一个具有 85 维神经元的输出层。我们在所有实验中使用 $T = 3$ 次迭代。形状的判别器为两个全连接层，分别有 10、5 和 1 个神经元。对于姿态，$\theta$ 首先通过 Rodrigues 公式转换为 K 个 $3 \times 3$ 旋转矩阵。每个旋转矩阵被送入一个公共嵌入网络，该网络包含两个全连接层，每个层有 32 个隐藏神经元。然后输出被送入 $K = 23$ 个不同的判别器，输出 1-D 值。整体姿态分布的判别器通过另外两个全连接层（每个层有 1024 个神经元）连接所有 $K \times 32$ 表示，最终输出 1D 值。除最后一层外，所有层均使用 ReLU 激活。编码器和判别器网络的学习率分别设置为 $1 \times 10^{-5}$ 和 $1 \times 10^{-4}$。我们使用 Adam 求解器 [^18]，训练 55 个 epoch。在单个 Titan 1080ti GPU 上训练大约需要 5 天。$\lambda$ 和其他超参数通过 MPI-INF-3DHP 数据集上的验证数据进行设置。实现使用 Tensorflow [^1]。

### 4. 实验结果

虽然我们恢复出的不仅仅是3D骨骼数据，但由于当前数据集不存在对应的真实3D网格标注，因此很难对结果进行评估。所以我们基于标准的3D关节估计任务进行定量评估，同时也会评估人体部位分割这一辅助任务。在图1中，我们展示了在MS COCO数据集[^22]上的具有挑战性的图像定性结果，这些图像存在遮挡、杂乱背景、截断以及复杂姿态等问题。可以看到我们的模型能够准确恢复头部和肢体的朝向。在图3中，我们展示了在Human3.6M、MPI-INF-3DHP、LSP和MS COCO测试集上不同误差百分位下的结果。即便在误差处于第95百分位时，我们的方法仍能生成合理的重建结果。更多结果请参见项目网站$^{2}$。在所有图表中，分别用浅蓝色和浅粉色表示在有无配对2D到3D监督下训练的模型的结果。

#### 4.1. 3D关节位置估计

我们在Human3.6M这一实验室环境下采集的标准3D姿态基准数据集上评估3D关节误差。我们还将它与更新的MPI-INF-3DHP数据集[^27]进行对比，后者涵盖的姿态和人物外观种类比Human3.6M更丰富。尽管该数据集的多样性更高，但它仍远不及自然场景图像的复杂度和丰富度。

我们采用了多种用于评估3D关节误差的指标。最常见的评估指标是平均关节位置误差（MPJPE）以及重建误差，后者是通过Procrustes分析将预测结果与真实值进行刚性对齐后的MPJPE[^11]。重建误差消除了全局对齐偏差，能够反映3D骨骼重建的质量。

Human3.6M：我们按照两种常用协议进行评估。第一种记为P1，在5名受试者（S1、S5、S6、S7、S8）上训练，在另外2名受试者（S9、S11）上测试。遵循以往的研究[^33] [^36]，我们将所有视频的帧率从50fps降采样至10fps以...

---

![Image](images/ec9d9013a56c103937beccc38a421724475a26f1bb07f883adf0d93eea3d5e6c.jpg)

<div style="text-align: center;">Figure 3: Results sampled from different datasets at the 15th, 30th, 60th, 90th and 95th error percentiles. Percentiles are computed using MPJPE for 3D datasets (first two rows - Human3.6M and MPI-INF-3DHP) and 2D pose PCK for 2D datasets (last two rows - LSP and MS COCO). High percentile indicates high error. Note results at high error percentile are often semantically quite reasonable.</div>

减少冗余。第二种协议[^5] [^44]（即P2）使用相同的训练/测试集，但仅在前置摄像头（摄像头3）上进行测试，并报告重建误差。

我们在表1中对比了我们的方法（HMR）在P2上的结果与两种近期的方法[^5] [^20]，这两种方法也能从单张图像输出SMPL参数。这两种方法都需要以2D关键点检测结果作为输入，而我们的性能远超它们。我们在表2中展示了P1上的结果；在此我们同样优于Zhou等人提出的近期方法[^52]，该方法输出的是运动树中的3D关节角度而非关节位置。需要注意的是，他们需手动指定每个关节的自由度，而我们是从数据中学习这一参数的；他们还假设骨骼长度固定，而我们则会求解人体形状。HMR的性能可与仅预测3D关节位置的近期最先进方法相媲美。

我们注意到，MPJPE与结果的视觉质量关联性似乎并不强。我们发现许多MPJPE值较高的结果看起来相当合理，如图3所示，该图展示了不同误差百分位数下的结果。

MPI-INF-3DHP的测试集包含来自6名受试者的7种动作共计2929帧有效画面。该数据集是在室内外环境下通过多摄像头无标记动作捕捉系统采集的，因此真实的3D标注存在一定的噪声。除了MPJPE外，我们还报告了阈值设为150毫米的正确关键点百分比（PCK）以及一系列PCK阈值下的曲线下面积（AUC）[^27]。

结果如表3所示。所有方法均采用[^27]的透视校正技术。我们还利用公开代码[^28]，报告了HMR和VNect在刚性对齐后的指标。VNect的数值是在后处理优化前基于3D关节计算得出的。同样，

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Reconst. Error</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rogez et al. [^35]</td><td style='text-align: center; word-wrap: break-word;'>87.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pavlakos et al. [^33]</td><td style='text-align: center; word-wrap: break-word;'>51.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Martinez et al. [^26]</td><td style='text-align: center; word-wrap: break-word;'>47.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}Regression$ Forest from 91 kps [^20]</td><td style='text-align: center; word-wrap: break-word;'>93.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}SMPLify$ [^5]</td><td style='text-align: center; word-wrap: break-word;'>82.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}SMPLify$ from 91 kps [^20]</td><td style='text-align: center; word-wrap: break-word;'>80.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}HMR$</td><td style='text-align: center; word-wrap: break-word;'>56.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}HMR$ unpaired</td><td style='text-align: center; word-wrap: break-word;'>66.5</td></tr></table>

<div style="text-align: center;">Table 1: Human3.6M, Protocol 2. Showing reconstruction loss (mm); * indicates methods that output more than 3D joints. HMR, with and without direct 3D supervision, out-performs previous approaches that output SMPL from 2D keypoints.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>Reconst. Error</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Tome et al. [^44]</td><td style='text-align: center; word-wrap: break-word;'>88.39</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rogez et al. [^36]</td><td style='text-align: center; word-wrap: break-word;'>87.7</td><td style='text-align: center; word-wrap: break-word;'>71.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VNext et al. [^28]</td><td style='text-align: center; word-wrap: break-word;'>80.5</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pavlakos et al. [^33]</td><td style='text-align: center; word-wrap: break-word;'>71.9</td><td style='text-align: center; word-wrap: break-word;'>51.23</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Mehta et al. [^27]</td><td style='text-align: center; word-wrap: break-word;'>68.6</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Sun et al. [^40]</td><td style='text-align: center; word-wrap: break-word;'>59.1</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}Deep$ Kinematic Pose [^52]</td><td style='text-align: center; word-wrap: break-word;'>107.26</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}HMR$</td><td style='text-align: center; word-wrap: break-word;'>87.97</td><td style='text-align: center; word-wrap: break-word;'>58.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{{*}}HMR$ unpaired</td><td style='text-align: center; word-wrap: break-word;'>106.84</td><td style='text-align: center; word-wrap: break-word;'>67.45</td></tr></table>

<div style="text-align: center;">Table 2: Human3.6M, Protocol 1. MPJPE and reconstruction loss in mm.  $*$ indicates methods that output more than 3D joints.</div>

我们对比的模型被训练为输出${}^{2}$刚性对齐结果—

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td colspan="3">Absolute</td><td colspan="3">After Rigid Alignment</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>PCK</td><td style='text-align: center; word-wrap: break-word;'>AUC</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>PCK</td><td style='text-align: center; word-wrap: break-word;'>AUC</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Mehta et al. [^27]</td><td style='text-align: center; word-wrap: break-word;'>75.7</td><td style='text-align: center; word-wrap: break-word;'>39.3</td><td style='text-align: center; word-wrap: break-word;'>117.6</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VNect [^28]</td><td style='text-align: center; word-wrap: break-word;'>76.6</td><td style='text-align: center; word-wrap: break-word;'>40.4</td><td style='text-align: center; word-wrap: break-word;'>124.7</td><td style='text-align: center; word-wrap: break-word;'>83.9</td><td style='text-align: center; word-wrap: break-word;'>47.3</td><td style='text-align: center; word-wrap: break-word;'>98.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{*}$HMR</td><td style='text-align: center; word-wrap: break-word;'>72.9</td><td style='text-align: center; word-wrap: break-word;'>36.5</td><td style='text-align: center; word-wrap: break-word;'>124.2</td><td style='text-align: center; word-wrap: break-word;'>86.3</td><td style='text-align: center; word-wrap: break-word;'>47.8</td><td style='text-align: center; word-wrap: break-word;'>89.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$^{*}$HMR unpaired</td><td style='text-align: center; word-wrap: break-word;'>59.6</td><td style='text-align: center; word-wrap: break-word;'>27.9</td><td style='text-align: center; word-wrap: break-word;'>169.5</td><td style='text-align: center; word-wrap: break-word;'>77.1</td><td style='text-align: center; word-wrap: break-word;'>40.7</td><td style='text-align: center; word-wrap: break-word;'>113.2</td></tr></table>

<div style="text-align: center;">Table 3: Results on MPI-INF-3DHP with without rigid alignment. * are methods that output more than 3D joints. Accuracy increases with alignment (PCK and AUC increase, while MPJPE decreases).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td colspan="2">Fg vs Bg</td><td colspan="2">Parts</td><td rowspan="2">Run Time</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Acc</td><td style='text-align: center; word-wrap: break-word;'>F1</td><td style='text-align: center; word-wrap: break-word;'>Acc</td><td style='text-align: center; word-wrap: break-word;'>F1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify oracle[^20]</td><td style='text-align: center; word-wrap: break-word;'>92.17</td><td style='text-align: center; word-wrap: break-word;'>0.88</td><td style='text-align: center; word-wrap: break-word;'>88.82</td><td style='text-align: center; word-wrap: break-word;'>0.67</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMPLify [^5]</td><td style='text-align: center; word-wrap: break-word;'>91.89</td><td style='text-align: center; word-wrap: break-word;'>0.88</td><td style='text-align: center; word-wrap: break-word;'>87.71</td><td style='text-align: center; word-wrap: break-word;'>0.64</td><td style='text-align: center; word-wrap: break-word;'>~1 min</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Decision Forests[^20]</td><td style='text-align: center; word-wrap: break-word;'>86.60</td><td style='text-align: center; word-wrap: break-word;'>0.80</td><td style='text-align: center; word-wrap: break-word;'>82.32</td><td style='text-align: center; word-wrap: break-word;'>0.51</td><td style='text-align: center; word-wrap: break-word;'>0.13 sec</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HMR</td><td style='text-align: center; word-wrap: break-word;'>91.67</td><td style='text-align: center; word-wrap: break-word;'>0.87</td><td style='text-align: center; word-wrap: break-word;'>87.12</td><td style='text-align: center; word-wrap: break-word;'>0.60</td><td style='text-align: center; word-wrap: break-word;'>0.04 sec</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HMR unpaired</td><td style='text-align: center; word-wrap: break-word;'>91.30</td><td style='text-align: center; word-wrap: break-word;'>0.86</td><td style='text-align: center; word-wrap: break-word;'>87.00</td><td style='text-align: center; word-wrap: break-word;'>0.59</td><td style='text-align: center; word-wrap: break-word;'>0.04 sec</td></tr></table>

<div style="text-align: center;">Table 4: Foreground and part segmentation (6 parts + bg) on LSP [^20]. Reporting average accuracy and F1-score (higher the better). Proposed HMR is comparable to the oracle SMPLify which uses ground truth segmentation in fitting SMPL.</div>

#### 4.2. 人体分割

我们还在LSP的1000张测试图像上评估了人体分割这一辅助任务的表现，这些图像由[^17]标注[^20]。这些图像标注了六个身体部位及背景。需注意，LSP包含人们进行体育运动的复杂姿势，且没有用于训练的真实3D标签；我们在训练过程中也不会使用分割标签。

我们按照[^20]的方法，报告了包括背景在内的所有部位的分割准确率与平均F1分数。我们也报告了前景-背景分割的结果。需注意，SMPL网格的部件定义分割与标注并不完全一致，这使得最高可能准确率无法达到100%。

结果如表4所示。我们的结果与SMPLify oracle[^20]的结果相当，后者以真实的分割结果和关键点作为优化目标；其性能也优于[^20]提出的决策森林方法。需注意，给定边界框的情况下，HMR也能实现实时处理。

#### 4.3. 无配对3D监督的情况

到目前为止，我们一直使用成对的2D到3D监督数据，即只要有可能就利用$L_{3D}$。在此，我们评估了一个未使用任何成对3D监督数据训练的模型。我们将这种设置称为“无配对HMR”，并在所有表格中报告数值结果。所有在3D关节估计任务上报告结果的方法都依赖于直接的3D监督，没有它就无法训练。即便是基于重投影损失的方法[^33] [^47] [^50]，也需要成对的2D到3D训练数据。

在这种极具挑战性的环境下，取得的结果竟出人意料地具有竞争力。

![Image](images/a001664d8b2be473098c7f6b8dededc4d180705cbe82c5bf564fe49bb5100571.jpg)

<div style="text-align: center;">Figure 4: Results with and without paired 3D supervision. 3D reconstructions, without direct 3D supervision, are very close to those of the supervised model.</div>

![Image](images/dc66a3692caecf1c849ec7c6237e5b52297cde8f070171a3c3b1f8c6d30007dd.jpg)

<div style="text-align: center;">Figure 5: No Discriminator No 3D. With neither the discriminator, nor the direct 3D supervision, the network produces monsters. On the right of each example we visualize the ground truth keypoint annotation in unfilled circles, and the projection in filled circles. Note that despite the unnatural pose and shape, its 2D projection error is very accurate.</div>

需要注意的是，对抗性先验对于在无配对2D到3D数据的情况下进行训练至关重要。图5显示，既未使用配对3D监督也未使用对抗性损失的模型生成的物体形状和姿态极为怪异。增加2D数据量是否能显著提升3D精度，目前仍是一个未解之谜。

### 5. 结论

在本文中，我们提出了一种端到端的框架，能够从单张RGB图像中恢复出人体的完整3D网格模型。我们用3D关节角度和低维线性形状空间来对网格进行参数化，这一成果有诸多实际应用价值。过去几年里，在受控环境下拍摄的图像上的单视图3D姿态预测取得了快速进展。尽管这些基准测试的性能已开始趋于饱和，但在自然场景下基于图像的人体3D重建方面却进展有限。我们不使用任何配对3D数据所取得的结果令人鼓舞，因为这表明我们可以借助更容易获取的带2D标签的图像来持续优化模型，而非获取在自然场景中难以获得的真实3D数据。

致谢。我们感谢N. Mahmood提供针对动作捕捉数据的SMPL模型拟合以及用于角色动画的网格重定向技术；感谢D. Mehta在MPI-INF3DHP项目上的协助；感谢S. Tulsiani、A. Kar、S. Gupta、D. Fouhey和Z. Liu的有益讨论。本研究得到了BAIR赞助方以及NSF奖项IIS-1526234的支持。

---

## 参考文献

[^1]: M. Abadi, P. Barham, J. Chen, Z. Chen, A. Davis, J. Dean, M. Devin, S. Ghemawat, G. Irving, M. Isard, et al. Tensorflow: A system for large-scale machine learning. In Operating Systems Design and Implementation, 2016. 6

[^2]: I. Akhter and M. J. Black. Pose-conditioned joint angle limits for 3D human pose reconstruction. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, June 2015. 3

[^3]: M. Andriluka, L. Pishchulin, P. Gehler, and B. Schiele. 2d human pose estimation: New benchmark and state of the art analysis. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, June 2014. 6

[^4]: C. Barron and I. Kakadiaris. Estimating anthropometry and pose from a single uncalibrated image. Computer Vision and Image Understanding, CVIU, 81(3):269–284, 2001. 3

[^5]: F. Bogo, A. Kanazawa, C. Lassner, P. Gehler, J. Romero, and M. J. Black. Keep it SMPL: Automatic estimation of 3D human pose and shape from a single image. In European Conference on Computer Vision, ECCV, Lecture Notes in Computer Science. Springer International Publishing, Oct. 2016. 2, 3, 4, 5, 6, 7, 8

[^6]: F. by NSF EIA-0196217. Cmu graphics lab - motion capture library. <http://mocap.cs.cmu.edu/>.

[^7]: J. Carreira, P. Agrawal, K. Fragkiadaki, and J. Malik. Human pose estimation with iterative error feedback. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, 2016. 5

[^8]: Y. Chen, T.-K. Kim, and R. Cipolla. Inferring 3D shapes and deformations from single views. In European Conference on Computer Vision, ECCV, pages 300–313, 2010. 3

[^9]: P. Dollár, P. Welinder, and P. Perona. Cascaded pose regression. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, pages 1078–1085. IEEE, 2010. 5

[^10]: I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In Advances in neural information processing systems, pages 2672–2680, 2014. 5

[^11]: J. C. Gower. Generalized procrustes analysis. Psychometrika, 40(1):33–51, Mar 1975. 6

[^12]: P. Guan, A. Weiss, A. Balan, and M. J. Black. Estimating human shape and pose from a single image. In IEEE International Conference on Computer Vision, ICCV, pages 1381–1388, 2009. 3

[^13]: R. A. Güler, G. Trigeorgis, E. Antonakos, P. Snape, S. Zafeiriou, and I. Kokkinos. Densereg: Fully convolutional dense shape regression in-the-wild. IEEE Conference on Computer Vision and Pattern Recognition, CVPR, 2017.

[^14]: N. Hasler, H. Ackermann, B. Rosenhahn, T. Thormhlen, and H. P. Seidel. Multilinear pose and body shape estimation of dressed subjects from image sets. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, pages 1823–1830, 2010. 3

[^15]: K. He, X. Zhang, S. Ren, and J. Sun. Identity mappings in deep residual networks. In European Conference on Computer Vision, ECCV, 2016. 6

[^16]: C. Ionescu, D. Papava, V. Olaru, and C. Sminchisescu. Human3.6M: Large scale datasets and predictive methods for 3D human sensing in natural environments. pami, 36(7):1325–1339, 2014. 3, 6

[^17]: S. Johnson and M. Everingham. Clustered pose and nonlinear appearance models for human pose estimation. In bmvc, pages 12.1–12.11, 2010. 6, 8

[^18]: D. Kingma and J. Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014. 6

[^19]: T. D. Kulkarni, P. Kohli, J. B. Tenenbaum, and V. Mansinghka. Picture: A probabilistic programming language for scene perception. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, pages 4390–4399, 2015. 4

[^20]: C. Lassner, J. Romero, M. Kiefel, F. Bogo, M. J. Black, and P. V. Gehler. Unite the people: Closing the loop between 3d and 2d human representations. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, July 2017. 2, 3, 4, 6, 7, 8

[^21]: H. Lee and Z. Chen. Determination of 3D human body postures from a single view. Computer Vision Graphics and Image Processing, 30(2):148–168, 1985. 3

[^22]: T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollr, and C. L. Zitnick. Microsoft coco: Common objects in context. In European Conference on Computer Vision (ECCV), Zrich, 2014. Oral. 6

[^23]: M. Loper, N. Mahmood, and M. J. Black. MoSh: Motion and shape capture from sparse markers. ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH Asia, 33(6):220:1–220:13, 2014. 5, 6

[^24]: M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, and M. J. Black. SMPL: A skinned multi-person linear model. ACM Trans. Graphics (Proc. SIGGRAPH Asia), 34(6):248:1–248:16, Oct. 2015. 1,4

[^25]: X. Mao, Q. Li, H. Xie, R. Y. K. Lau, Z. Wang, and S. P. Smolley. Least squares generative adversarial networks, 2016. 5

[^26]: J. Martinez, R. Hossain, J. Romero, and J. J. Little. A simple yet effective baseline for 3d human pose estimation. In IEEE International Conference on Computer Vision, ICCV, 2017. 3,7

[^27]: D. Mehta, H. Rhodin, D. Casas, P. Fua, O. Sotnychenko, W. Xu, and C. Theobalt. Monocular 3d human pose estimation in the wild using improved cnn supervision. In Proc. of International Conference on 3D Vision (3DV), 2017. 3, 6, 7, 8

[^28]: D. Mehta, S. Sridhar, O. Sotnychenko, H. Rhodin, M. Shafiei, H.-P. Seidel, W. Xu, D. Casas, and C. Theobalt. Vnect: Real-time 3d human pose estimation with a single rgb camera. ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH, 36, July 2017. 3, 4, 6, 7, 8

[^29]: F. Moreno-Noguer. 3d human pose estimation from a single image via distance matrix regression. arXiv preprint arXiv:1611.09010, 2016. 3

[^30]: A. Newell, K. Yang, and J. Deng. Stacked hourglass networks for human pose estimation. In European Conference on Computer Vision, ECCV, pages 483–499, 2016. 3

## [^31]: M. Oberweger, P. Wohlhart, and V. Lepetit. Training a feedback loop for hand pose estimation. In Proceedings of the

---

IEEE国际计算机视觉会议，第3316–3324页，2015年。5

[^32]: V. Parameswaran and R. Chellappa. View independent human body pose estimation from a single perspective image. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, pages 16–22, 2004. 3

[^33]: G. Pavlakos, X. Zhou, K. G. Derpanis, and K. Daniilidis. Coarse-to-fine volumetric prediction for single-image 3D human pose. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, 2017. 3, 6, 7, 8

[^34]: V. Ramakrishna, T. Kanade, and Y. Sheikh. Reconstructing 3d Human Pose from 2d Image Landmarks. Computer Vision–ECCV 2012, pages 573–586, 2012. 3, 4

[^35]: G. Rogez and C. Schmid. Mocap-guided data augmentation for 3d pose estimation in the wild. In Advances in Neural Information Processing Systems, pages 3108–3116, 2016. 3, 7

[^36]: G. Rogez, P. Weinzaepfel, and C. Schmid. LCR-Net: Localization-Classification-Regression for Human Pose. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, July 2017. 3, 6, 7

[^37]: M. Sanzari, V. Ntouskos, and F. Pirri. Bayesian image based 3d pose estimation. In European Conference on Computer Vision, ECCV, pages 566–582, 2016. 3

[^38]: L. Sigal, A. Balan, and M. J. Black. HumanEva: Synchronized video and motion capture dataset and baseline algorithm for evaluation of articulated human motion. International Journal of Computer Vision, IJCV, 87(1):4–27, 2010. 3

[^39]: N. Silberman and S. Guadarrama. Tensorflow-slim image classification model library. <https://github.com/tensorflow/models/tree/master/research/slim.6>

[^40]: X. Sun, J. Shang, S. Liang, and Y. Wei. Compositional human pose regression. In IEEE International Conference on Computer Vision, ICCV, 2017. 3, 4, 7

[^41]: J. K. V. Tan, I. Budvytis, and R. Cipolla. Indirect deep structured learning for 3d human shape and pose prediction. In Proceedings of the British Machine Vision Conference, 2017. 4

[^42]: C. Taylor. Reconstruction of articulated objects from point correspondences in single uncalibrated image. Computer Vision and Image Understanding, CVIU, 80(10):349–363, 2000. 2, 3

[^43]: B. Tekin, P. Marquez Neila, M. Salzmann, and P. Fua. Learning to Fuse 2D and 3D Image Cues for Monocular Body Pose Estimation. In IEEE International Conference on Computer Vision, ICCV, 2017. 3

[^44]: D. Tome, C. Russell, and L. Agapito. Lifting from the deep: Convolutional 3d pose estimation from a single image. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017. 3,7

[^45]: A. Toshev and C. Szegedy. DeepPose: Human pose estimation via deep neural networks. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, pages 1653–1660, 2014. 3

[^46]: S. Tulsiani and J. Malik. Viewpoints and keypoints. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1510–1519, 2015. 3

[^47]: H.-Y. F. Tung, A. W. Harley, W. Seto, and K. Fragkiadaki. Adversarial inverse graphics networks: Learning 2d-to-3d lifting and image-to-image translation from unpaired supervision. In IEEE International Conference on Computer Vision, ICCV, 2017. 3, 5, 8

[^48]: G. Varol, J. Romero, X. Martin, N. Mahmood, M. J. Black, I. Laptev, and C. Schmid. Learning from Synthetic Humans. In CVPR, 2017. 4, 5

[^49]: S.-E. Wei, V. Ramakrishna, T. Kanade, and Y. Sheikh. Convolutional pose machines. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, pages 4724–4732, 2016. 3

[^50]: J. Wu, T. Xue, J. J. Lim, Y. Tian, J. B. Tenenbaum, A. Torralba, and W. T. Freeman. Single image 3d interpreter network. In European Conference on Computer Vision, ECCV, 2016. 3, 8

[^51]: X. Zhou, Q. Huang, X. Sun, X. Xue, and Y. Wei. Weakly-supervised transfer for 3d human pose estimation in the wild. In IEEE International Conference on Computer Vision, ICCV, 2017. 3,4

[^52]: X. Zhou, X. Sun, W. Zhang, S. Liang, and Y. Wei. Deep kinematic pose regression. In ECCV Workshop on Geometry Meets Deep Learning, pages 186–201, 2016. 3, 4, 5, 7

[^53]: X. Zhou, M. Zhu, S. Leonardos, K. Derpanis, and K. Daniilidis. Sparse representation for 3D shape estimation: A convex relaxation approach. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, pages 4447–4455, 2015. 3

[^54]: X. Zhou, M. Zhu, S. Leonardos, K. Derpanis, and K. Daniilidis. Sparseness meets deepness: 3D human pose estimation from monocular video. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR, pages 4966–4975, 2016. 3

[^55]: J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. ICCV, 2017. 4
