
# 单目全身动作捕捉：野外环境下的面部、身体和手部姿态还原 $^{*}$

Donglai Xiang、Hanbyul Joo $^{\dagger}$、Yaser Sheikh，卡内基梅隆大学 {donglaix,hanbyulj,yaser}@cs.cmu.edu

![Image](images/4cd1423d6446e8ce3b473e38ddca6a60698061692b300e82f1619b5ce3cdc6cd.jpg)

![Image](images/603e9f7bdf54dfed5f8502fb8fed25d518c5430f63ae9da67742aec7d41474b2.jpg)

![Image](images/11fe8e7c2f428dd3c22767517e66295b124efd5a865771443834f58b0b13a2dc.jpg)

![Image](images/6557a8e04154eaa07d832ba99382287878427f48e0793323079b768b075438f0.jpg)

<div style="text-align: center;">Figure 1: We present the first method to simultaneously capture the 3D total body motion of a target person from a monocular view input. For each example, (left) input image and (right) 3D total body motion capture results overlaid on the input.</div>

## 摘要

我们提出了首个能够从单目视图输入中捕捉目标人物三维全身运动的方法。给定一张图像或单目视频，该方法可通过三维可变形网格模型重建身体、面部和手指的运动。我们采用了一种名为“三维部件方向场（POFs）”的高效表示方法，用于在通用的二维图像空间中编码所有身体部位的三维方向。POFs由全卷积网络预测得出，同时还会输出关节置信度图。为了训练我们的网络，我们收集了一套全新的三维人体运动数据集，该数据集通过多视角系统记录了40名受试者的多样化全身运动数据。我们利用三维可变形人体模型，借助模型中内置的姿态和形状先验信息，从CNN的输出结果中重建全身姿态。我们还提出了一种基于纹理的跟踪方法，以获得时间上连贯的动作捕捉结果。我们进行了全面的定量评估，包括与现有的特定身体和手部相关方法的对比，以及针对相机视角和人体姿态变化的性能分析。最后，我们展示了该方法在各类具有挑战性的野外视频中的全身运动捕捉效果。

### 1. 引言

人体动作捕捉对许多应用领域而言至关重要，包括视觉特效、机器人技术、体育分析、医疗应用以及人类社会行为理解等。然而，捕捉三维人体运动往往成本较高，需要配备带有多个摄像头的专用动作捕捉系统。例如，应用最广泛的系统[^2]需要多台经过校准的摄像头，且需在受试者身上仔细粘贴反光标记点。目前研究较为活跃的无标记方法也基于多视角系统[^21] [^29] [^19] [^25] [^26]，或是深度摄像头[^50] [^7]。正因如此，可用的三维运动数据量极为有限。从单张图像或视频中捕捉三维人体运动，能为众多应用带来重大突破，它能提升三维人体运动数据的可及性，尤其是能将互联网上的所有人类活动视频转化为大规模的三维人体运动语料库。

不过，由于存在根本性的深度歧义问题，从单目图像或视频中重建三维人体姿态或运动极具挑战性。有趣的是，人类几乎能毫不费力地从单一视角推断出三维人体运动，这大概是因为他们利用了关于可行三维人体运动的强大先验知识。受此启发，过去几年里已经提出了几种基于学习的方法，用于从单目视频中预测三维人体运动（姿态）（im

---

年龄) [^58] [^44] [^4] [^60] [^9] [^35] [^33] [^73] [^27] [^36] [^69] 利用现有的2D和3D人体姿态数据集 [^5] [^28] [^1] [^22] [^25]。近期，类似的方法也被用于从单目视图预测3D手部姿态 [^74] [^37] [^12]。然而，由于缺乏能够提供配对图像与3D姿态数据的自然场景下的3D人体或手部数据集，这一领域仍存在根本性难题；因此，以往的大多数方法仅在受控的实验室环境中才能取得成果。重要的是，目前尚无能够从单一视角重建包括身体、手部和面部在内的所有部位运动的方法，而这对于全面理解人类行为至关重要。

在本文中，我们的目标是利用在自然场景下采集的单目图像来重建人体的3D整体运动 [^26]。实现这一宏伟目标需要解决不同身体部位的复杂3D姿态估计问题，而这些通常被视为相互独立的研究领域。值得注意的是，我们将该方法应用于自然场景（例如YouTube视频），这在以往的研究中鲜有涉及。我们采用一种名为“部件方向场”（Part Orientation Fields, POFs）的3D表示方法，来高效编码2D空间中身体部位的3D朝向。每个身体部位都会定义一个POF，它连接躯干、四肢和手指中的相邻关节，用于表示该刚性部位的相对3D朝向，且不受3D笛卡尔坐标系原点的影响。POFs可由全卷积网络（FCN）结合2D关节置信度图高效预测 [^63] [^68] [^15]。为了训练我们的网络，我们收集了一个包含40名受试者多样的身体、手部和面部运动数据的新3D人体运动数据集。针对身体、手部和面部分别采用独立的CNN，其输出结果会在统一的优化框架中被整合在一起。我们利用为整体捕捉而构建的3D可变形模型 [^25]，以充分利用该模型中嵌入的形状和运动先验。在我们的优化框架中，我们会将模型与每一帧的CNN测量结果进行拟合，从而同时估算身体、面部、手指和脚部的3D运动。我们的网格输出还使我们能够通过优化纹理空间中的光度一致性，进一步细化运动捕捉结果，以提升其时间连贯性。

本文提出了首个能在各种具有挑战性的自然场景下实现单目整体运动捕捉的方法（如图1所示）。我们证明，我们的单一框架在公开基准测试上能够取得与现有最先进的仅限3D人体或手部姿态估计方法相媲美的结果。值得注意的是，我们的方法被应用于各种自然场景视频，这在3D人体或手部估计领域都鲜有先例。我们还利用新收集的数据集进行了详尽的实验，以定量评估该方法在视角和身体姿态变化下的性能。本文的主要贡献总结如下：

• 我们提出了首个能在各种具有挑战性的自然场景下，从单目图像或视频中生成3D整体运动捕捉结果的方法。

- 我们提出了一种优化框架，用于将可变形人体模型拟合到3D POF和2D关键点测量数据上，以实现全身姿态估计；在3D身体和3D手部估计基准测试中，其效果与最先进的方法相当。

我们提出了一种方法，通过强制实现跨时间的光度一致性来减少运动抖动。

- 我们采集了一个包含40名受试者的新3D人体运动数据集，用作单目全身动作捕捉的训练和评估数据。

### 2. 相关工作

单图像2D人体姿态估计：近年来，利用大规模人工标注的数据集[^64] [^63]，结合深度卷积神经网络（CNN）框架，在从单张图像中检测2D人体关键点方面取得了巨大进展[^11] [^68] [^38] [^15] [^28] [^5]。其中的重大突破在于采用全卷积架构，通过热图形式为每个关节生成置信度分数[^63] [^68] [^38] [^15]，这种方式比直接用全连接层回归关节位置更高效[^64]。近期的一项研究[^15]利用相邻关节对之间的关联性，以2D热图的形式将其称为部件亲和场（PAFs），从而在多人体2D姿态估计问题中拼接出不同个体的2D关键点。

单图像3D人体姿态估计：早期的研究[^44] [^4]将3D人体姿态空间建模为从3D人体运动数据库[^1]中学习到的过完备字典。更近期的方法则依赖深度神经网络，大致可分为两阶段方法和直接估计方法。两阶段方法以2D关键点估计结果为输入，专注于将2D人体姿态提升至3D，而不考虑输入图像的信息[^9] [^17] [^33] [^36] [^39] [^20]。这些方法忽略了图像中蕴含的3D信息（如阴影和外观），且对2D定位误差较为敏感。直接估计方法则直接从图像中预测3D人体姿态，具体形式为直接坐标回归[^46] [^55] [^56]、体素[^42] [^32] [^66]或深度图[^73]。与我们类似，近期的一项研究采用3D方向场[^31]作为3D人体姿态的中间表示。不过，这些模型通常在MoCap数据集上训练，在野外场景中的泛化能力有限。

鉴于上述局限性，一些方法被提出来整合关于人体姿态的先验知识，

---

![Image](images/817e662524777e3ed4603d9fb8b7ff394419aaaab765f0c8fc4bdf3e94c2b423.jpg)

<div style="text-align: center;">Figure 2: An overview of our method. Our method is composed of CNN part, mesh fitting part, and mesh tracking part.</div>

以提升在野外场景中的性能。部分研究[^41] [^48] [^67]提出将序数深度作为CNN训练的额外监督信号。[^73] [^18]中引入了额外的损失函数，用于对预测的骨骼长度和关节角度施加约束。还有一些研究[^27] [^70]利用生成对抗网络（GAN）以数据驱动的方式利用人体姿态先验。

单目手部姿态估计：手部姿态估计通常被视为与人体姿态估计相互独立的研究领域。以往的大多数研究都以深度图像作为输入 [^40] [^54] [^49] [^52] [^65] [^71]。最近，基于RGB的方法被引入，用于2D关键点估计 [^51] 以及3D姿态估计 [^74] [^12] [^23]。

3D可变形人体模型：3D可变形模型常用于无标记的人体 [^6] [^30] [^43] 和面部动作捕捉 [^8] [^13]，以将重建输出限制在由模型定义的形状和运动空间内。尽管输出结果会受到模型表达能力的限制（例如，某些人体模型无法表现衣物，某些面部模型无法表现皱纹），但它们大大简化了3D动作捕捉问题。我们可以通过针对模型参数优化代价函数，来根据现有测量数据拟合这些模型。最近，Romero等人提出了一种能够同时表现人体和手部的生成式3D模型 [^47]；Joo等人则引入了Adam模型 [^26]，以实现全身动作捕捉（包括面部、身体和手部），我们将其用于单目全身动作捕捉。

人体追踪中的光度一致性：以往的各项研究都利用纹理的光度一致性来提高身体追踪 [^45] 和面部追踪 [^61] [^62] 的鲁棒性。一些研究 [^16] [^10] 还利用光流来对齐渲染出的3D人体模型。在本研究中，我们通过引入光度一致性项来改善输出结果的时间连贯性，从而显著减少抖动现象。据我们所知，这是首次将该技术应用于单目身体动作追踪。

### 3. 方法概述

我们的方法以单目RGB摄像头拍摄的、捕捉单人运动的一系列图像为输入，针对每一帧输出目标人物的3D全身运动（包括身体、面部、手部和脚部的运动），并以可变形3D人体模型的形式呈现 [^30] [^26]。对于包含N帧的视频序列，我们的方法会生成3D人体模型的参数，包括身体运动参数 $\{\theta_i\}_{i=1}^N$、面部表情参数 $\{\sigma_i\}_{i=1}^N$ 以及全局平移参数 $\{t_i\}_{i=1}^N$。身体运动参数 $\theta$ 涵盖了手部和脚部运动，以及身体的全局旋转。我们的方法还会估算整个序列中所有帧共享的形状系数 $\phi$，而 $\theta$、$\sigma$ 和 t 则分别针对每一帧进行估算。此处，输出参数由3D可变形人体模型Adam定义 [^26]。不过，我们的方法也可用于仅捕捉部分运动（例如，使用SMPL模型仅捕捉身体运动 [^30]，或利用Frankenstein中的独立手部模型仅捕捉手部运动 [^26]）。我们将所有参数 $(\phi, \theta, \sigma, t)$ 的集合记为 $\Psi$，第i帧的结果则记为 $\Psi_i$。

我们的方法分为3个阶段，如图2所示。在第一阶段，每张图像被输入到卷积神经网络（CNN）中，以获取身体部位的联合置信度图和3D方向信息，我们将其称为3D部位方向场（POFs）。在第二阶段，我们通过将可变形人体网格模型 [^26] 拟合到CNN生成的图像测量结果上，来估计全身姿态。我们利用嵌入在人体模型中的先验信息，以增强对CNN输出噪声的鲁棒性。这一阶段会独立地为每一帧生成3D姿态，该姿态由可变形模型的参数 $\{\Psi_i\}_{i=1}^N$ 表示。在第三阶段，我们进一步强制各帧之间的时间一致性，以减少运动抖动。我们基于第二阶段的拟合结果定义了一个代价函数，以确保网格模型纹理域内的光度一致性。这一阶段会生成经过优化的模型参数 $\{\Psi_i^+\}_{i=1}^N$。这一阶段对于获得逼真的身体动作捕捉输出至关重要。

### 4. 预测3D部位方向场

3D部件方向场（POF）用于在2D图像空间中编码关节结构各部件（如四肢、躯干和手指）的3D方向。这种表示方法在近期文献中也有应用 [^31]，下文我们将介绍框架中使用的细节与符号。我们预先定义了一套人体骨骼层级结构§，形式为一组“（父节点，子节点）”对 $^{1}$。一个刚体部件相连

---

![Image](images/452fe4d7795a3ed8dc5c1aba88834b38e56019d59db96766fefe8f0f4a0b6536.jpg)

<div style="text-align: center;">Figure 3: An illustration of a Part Orientation Field. The orientation  $\hat{\mathbf{P}}_{(m,n)}$ for body part  $\mathbf{P}_{(m,n)}$ is a unit vector from  $\mathbf{J}_{m}$ to  $\mathbf{J}_{n}$. All pixels belong to this part in the POF are assigned the value of this vector in x, y, z channels.</div>

将3D父关节$\mathbf{J}_m \in \mathbb{R}^3$和子关节$\mathbf{J}_n \in \mathbb{R}^3$之间的关系表示为$\mathbf{P}_{(m,n)}$，其中$\mathbf{J}_m, \mathbf{J}_n$是在相机坐标系中定义的，前提是$(m, n) \in \mathbb{S}$。其3D方向$\hat{\mathbf{P}}_{(m,n)}$由从$\mathbf{J}_m$指向$\mathbf{J}_n$的单位向量在$\mathbb{R}^3$中表示：

 $$ \hat{\mathbf{P}}_{(m,n)}=\frac{\mathbf{J}_{n}-\mathbf{J}_{m}}{||\mathbf{J}_{n}-\mathbf{J}_{m}||}\;. $$

对于特定的身体部位$\mathbf{P}_{(m,n)}$而言，其部位方向场$\mathbf{L}_{(m,n)} \in \mathbb{R}^{3 \times h \times w}$会将它的3D方向$\hat{\mathbf{P}}_{(m,n)}$编码为图像空间中的3通道热图（分别对应x、y、z方向），其中h和w分别表示图像的尺寸。像素$\mathbf{L}_{(m,n)}$处的POF$\mathbf{x}$值定义如下：

 $$ \mathbf{L}_{(m,n)}(\mathbf{x})=\begin{cases}{\hat{\mathbf{P}}_{(m,n)}}&{\mathrm{i f~}\mathbf{x}\in\mathbf{P}_{(m,n)},}\\ {\mathbf{0}}&{\mathrm{o t h e r w i s e}.}\\ \end{cases} $$

需要注意的是，只有属于当前目标部位$\mathbf{P}_{(m,n)}$的像素，其POF值才会非零；我们遵循[^15]的定义，将属于该部位的像素视为一个矩形区域。图3展示了一个POF示例。

实现细节：我们训练CNN来预测关节置信度图S和部位方向场L。输入图像是围绕目标人物裁剪得到的，裁剪尺寸为$368 \times 368$。测试时使用的边界框由OpenPose$^2$ [^15] [^51] [^14]提供。CNN架构我们沿用了[^15]的设计，仅做了少量修改。针对[^15]中的每个身体部位，我们使用3个通道来估算POF，而非$\mathbb{S}$中所用的2个通道。网络对S和L的预测结果会应用$L_2$损失函数。我们还在带有2D姿态标注的图像（如COCO数据集）上训练网络；这种情况下，我们仅用S上的损失函数来约束网络。身体和手部分别训练两个网络。

### 5. 基于模型的3D姿态估计

理想情况下，CNN生成的关节置信度图S和POF L能够提供足够的信息，从而重建出具有相应比例的3D骨骼结构[^31]。但在实际应用中，S和L往往存在噪声，因此我们利用3D可变形网格模型来更稳健地估计3D人体姿态，该模型本身已嵌入了形状和姿态先验信息。在本节中，我们首先介绍针对人体的网格拟合过程，随后将其扩展到手部姿态和面部表情，以实现全身动作捕捉。我们用上标B、LH、RH、T和F分别表示与人体、左手、右手、脚趾以及面部相关的函数和参数。我们采用Adam[^26]，该模型能够在单一框架内同时表达人体、手部及面部表情的特征。如果仅需重建全身动作的一部分，也可以选用其他人体模型（如SMPL[^30]）。

#### 5.1. 基于POF的可变形网格模型拟合

给定由我们的身体 CNN 预测的 2D 关节置信图 $\mathbf{S}^B$，通过对 $\{\mathbf{j}_m^B\}_{m=1}^J$ 进行逐通道 argmax，我们获得 2D 关键点位置 $\mathbf{S}^B$。给定 $\{\mathbf{j}_m^B\}_{m=1}^J$ 和另一个 CNN 输出 POFs $\mathbf{L}^B$，我们通过沿从 $\hat{\mathbf{P}}_{(m,n)}^B$ 到 $\mathbf{L}^B$ 的线段对 $\mathbf{j}_m^B$ 的值取平均来计算每根骨骼的 3D 方向 $\mathbf{j}_n^B$，如 [^15] 所示。我们通过最小化以下目标函数来获得与这些图像测量值一致的一组网格参数 $\boldsymbol{\theta}$、$\boldsymbol{\phi}$ 和 t：

 $$ \mathcal{F}^{B}(\pmb{\theta},\phi,\pmb{t})=\mathcal{F}_{\mathrm{2D}}^{B}(\pmb{\theta},\phi,\pmb{t})+\mathcal{F}_{\mathrm{p o f}}^{B}(\pmb{\theta},\phi)+\mathcal{F}_{p}^{B}(\pmb{\theta}), $$

其中$\mathcal{F}_{2D}^{B}$、$\mathcal{F}_{POF}^{B}$和$\mathcal{F}_{p}^{B}$为下文定义的不同约束条件。2D关键点约束$\mathcal{F}_{2D}^{B}$用于惩罚网络预测的2D关键点与人体模型中关节投影之间的偏差：

 $$ \mathcal{F}_{\mathrm{2D}}^{B}(\boldsymbol{\theta},\phi,\boldsymbol{t})=\sum_{m}\|\mathbf{j}_{m}^{B}-\boldsymbol{\Pi}(\tilde{\mathbf{J}}_{m}^{B}(\boldsymbol{\theta},\phi,\boldsymbol{t}))\|^{2}, $$

这里$\tilde{\mathbf{J}}_m^B(\theta, \phi, t)$表示人体模型中的第m个关节，$\Pi(\cdot)$是从3D空间到图像的投影函数，我们假设采用弱透视相机模型。POF约束$\mathcal{F}_{\mathrm{POF}}^B$则用于惩罚POF预测结果与网格模型中对应身体部位的方向之间的差异：

 $$ \mathcal{F}_{\mathrm{P O F}}^{B}(\pmb{\theta},\phi)=w_{\mathrm{P O F}}^{B}\sum_{(m,n)\in\mathbb{S}}1-\hat{\mathbf{P}}_{(m,n)}^{B}\cdot\tilde{\mathbf{P}}_{(m,n)}^{B}(\pmb{\theta},\phi), $$

其中$\tilde{\mathbf{P}}_{(m,n)}^{B}$是人体网格模型中骨骼$\mathbf{P}_{(m,n)}^{B}$的单位方向向量，$w_{\mathrm{POF}}^{B}$是该项的平衡权重，$\cdot$表示向量间的点积。先验项$\mathcal{F}_{p}^{B}$用于限制输出结果落在可行的人体姿态分布范围内（尤其是围绕骨骼的旋转），其定义如下：

 $$ \mathcal{F}_{p}^{B}(\pmb{\theta})=w_{p}^{B}\|\mathbf{A}_{\theta}^{B}(\pmb{\theta}-\pmb{\mu}_{\theta}^{B})\|^{2}, $$

其中$\mathbf{A}_{\theta}^{B}$和$\mu_{\theta}^{B}$是从CMU Mocap数据集[^1]中学习得到的姿态先验，$w_{p}^{B}$为相应的平衡权重。我们采用Levenberg-Marquardt算法[^3]来优化公式3。网格拟合过程如图4所示。

---

![Image](images/eafd75c3175dea041c4e03b50daf33e30fa42a4c03e5a2158119b5a1b8b91376.jpg)

<div style="text-align: center;">Figure 4: Human model fitting on estimated POFs and joint confidence maps. We extract 2D joint locations from joint confidence maps (left) and then body part orientation from POFs (middle). Then we optimize a cost function (Eq. 3) that minimizes the distance between  $\Pi(\tilde{\mathbf{J}}_m^B)$ and  $\mathbf{j}_m^B$ and angle between  $\tilde{\mathbf{P}}_{(m,n)}^B$ and  $\hat{\mathbf{P}}_{(m,n)}^B$.</div>

#### 5.2. 包含手、脚和面部的全身捕捉

根据手部网络的输出$\mathbf{S}^{LH}$、$\mathbf{L}^{LH}$、$\mathbf{S}^{RH}$、$\mathbf{L}^{RH}$，我们同样可以借助类似的优化目标来拟合Adam模型，从而估计手部姿态：

 $$ \mathcal{F}^{L H}(\pmb{\theta},\phi,\mathbf{t})=\mathcal{F}_{\mathrm{2D}}^{L H}(\pmb{\theta},\phi,\mathbf{t})+\mathcal{F}_{\mathrm{P O F}}^{L H}(\pmb{\theta},\phi)+\mathcal{F}_{p}^{L H}(\pmb{\theta}). $$

$\mathcal{F}^{LH}$是左手的目标函数，各项定义与公式4、5、6类似。借鉴以往的手部追踪研究[^59] [^57]，我们采用了从MANO数据集$\mathcal{F}_{p}^{LH}$中学习得到的手部姿态先验约束[^47]。右手的目标函数$\mathcal{F}^{RH}$的定义方式与此类似。

一旦我们将可变形模型的身体和手部部件与CNN输出对齐，模型在图像上的投影就会与目标人物很好地吻合。随后，我们只需利用额外的2D关键点测量数据来增加更多2D关节约束，就能重建其他身体部位。具体来说，我们会纳入来自OpenPose检测器的2D面部和脚部关键点。针对脚趾的额外代价函数定义如下：

 $$ \mathcal{F}^{T}(\boldsymbol{\theta},\phi,t)=\sum_{m}\|\mathbf{j}_{m}^{T}-\boldsymbol{\Pi}(\tilde{\mathbf{J}}_{m}^{T}(\boldsymbol{\theta},\phi,t))\|^{2}, $$

其中$\{\mathbf{j}_m^T\}$是来自OpenPose的两只脚上的2D脚尖关键点，而$\{\tilde{\mathbf{J}}_m^T\}$则是所用网格模型的3D关节位置。对于面部而言，我们的定义如下：

 $$ \mathcal{F}^{F}(\boldsymbol{\theta},\phi,t,\boldsymbol{\sigma})=\sum_{m}\|\mathbf{j}_{m}^{F}-\boldsymbol{\Pi}(\tilde{\mathbf{J}}_{m}^{F}(\boldsymbol{\theta},\phi,t,\boldsymbol{\sigma}))\|^{2}. $$

需要注意的是，面部关键点$\tilde{\mathbf{J}}_m^F$是由所有网格参数$\theta$、$\phi$、t、$\sigma$共同决定的。此外，我们还会对形状参数和面部表情参数施加正则化约束：

 $$ R^{\phi}(\phi)=\|\phi\|^{2},R^{\sigma}(\pmb{\sigma})=\|\pmb{\sigma}\|^{2}. $$

综合上述各项，总的优化目标为

 $$ \begin{align*}\mathcal{F}(\boldsymbol{\theta},\phi,\boldsymbol{t},\boldsymbol{\sigma})&=\mathcal{F}^{B}+\mathcal{F}^{LH}+\mathcal{F}^{RH}+\\\mathcal{F}^{T}+\mathcal{F}^{F}+R^{\phi}+R^{\sigma},\end{align*} $$

为简便起见，此处省略了各项的平衡权重。为避免陷入局部最优，我们分多个阶段优化这个总目标函数：首先拟合躯干，接着添加四肢，最后优化包含全部约束的完整目标函数。通过这一阶段，我们能独立得到每一帧的3D全身动作捕捉结果，表现形式即为Adam模型参数$\{\mathbf{\Psi}_i\}_{i=1}^N$。

### 6. 纹理中的照片一致性约束

在前几个阶段中，我们逐帧进行处理，这种方式容易受到运动抖动的影响。受过往人体和面部跟踪研究的启发[^45] [^61]，我们提出利用初始模型拟合结果所提供的像素级图像线索来减少这种抖动。核心思路是在模型纹理中强制实现光度一致性，这些纹理是通过将拟合好的网格模型投影到输入图像上得到的。理想情况下，纹理在各帧之间应保持一致，但实际应用中会因运动抖动而产生差异。为了在我们的优化框架中高效实现这一约束，我们计算从投影纹理到目标输入图像的光流。每条光流的目的地指明了顶点投影的预期位置。为了描述我们的方法，我们定义了一个函数$\mathcal{T}$，它可根据图像和网格结构提取纹理：

 $$ \begin{array}{r}{\mathcal{T}_{i}=\mathcal{T}\left(\mathbf{I}_{i},M(\mathbf{\Psi}_{i})\right),}\end{array} $$

其中$\mathbf{I}_i$是第i帧的输入图像，$M(\mathbf{\Psi}_i)$是由参数$\mathbf{\Psi}_i$确定的人体模型。函数$\mathcal{T}$通过将网格结构投影到图像上，为可见部分提取纹理图$\mathcal{T}_i$。我们期望第$(i+1)$帧的纹理$\mathcal{T}_{i+1}$与$\mathcal{T}_i$相同。我们并未直接将该约束用于优化，而是利用光流来计算这些纹理之间的差异，以便更轻松地开展优化。具体而言，我们先计算图像$\mathbf{I}_{i+1}$与第$(i+1)$帧网格模型的渲染结果（即带有第i帧纹理图$\mathcal{T}_i$的图像，我们称之为“合成图像”）之间的光流：

 $$ \mathbf{f}_{i+1}=f(\mathcal{R}(M_{i+1},\mathcal{T}_{i}),\mathbf{I}_{i+1}), $$

其中 $M_{i+1} = M(\Psi_{i+1})$ 是第 $(i+1)$ 帧的网格，而 $\mathcal{R}$ 是一种渲染函数，能够将带有纹理的网格渲染成图像。函数 f 用于从合成图像计算到输入图像 $\mathbf{I}_{i+1}$ 的光流。输出光流 $\mathbf{f}_{i+1} : \mathbf{x} \longrightarrow \mathbf{x}'$ 会将二维位置 $\mathbf{x}$ 映射到根据光流结果得到的新位置 $\mathbf{x}'$。直观地说，计算出的流映射 $\mathbf{f}_{i+1}$ 会驱动 3D 网格顶点朝着能实现更好光度一致性的方向投影。

---

为了实现各帧间纹理的一致性，我们定义了纹理一致性项：

 $$ \mathcal{F}_{\mathrm{t e x}}(\mathbf{\Psi}_{i+1}^{+})=\sum_{n}\|\mathbf{v}_{n}^{+}(i+1)-\mathbf{v}_{n}^{\prime}(i+1)\|^{2}, $$

其中 $\mathbf{v}_{n}^{+}(i+1)$ 是在优化过程中，作为模型参数 $\mathbf{\Psi}_{i+1}^{+}$ 的函数的第 n 个网格顶点的投影。$\mathbf{v}_{n}^{\prime}(i+1) = \mathbf{f}_{i+1}(\mathbf{v}_{n}(i+1))$ 是每个光流的目标位置，而 $\mathbf{v}_{n}(i+1)$ 则是网格 $M_{i+1}$ 中第 n 个网格顶点的投影。注意，$\mathbf{v}_{n}^{\prime}(i+1)$ 是预先计算好的，在优化期间保持不变。这一约束是在图像空间中定义的，因此主要能减少 x、y 方向上的抖动。由于缺少图像线索来减少 z 方向的抖动，我们仅对 3D 关节位置的 z 分量施加平滑约束：

 $$ \mathcal{F}_{\Delta z}(\boldsymbol{\theta}_{i+1}^{+},\boldsymbol{\phi}_{i+1}^{+},\boldsymbol{t}_{i+1}^{+})=\sum_{m}(\mathbf{J}_{m}^{+z}(i+1)-\mathbf{J}_{m}^{z}(i))^{2}, $$

其中 $\mathbf{J}_{m}^{+z}(i+1)$ 是在优化参数下，网格模型中第 m 个关节的 z 坐标，而 $\mathbf{J}_{m}^{z}(i)$ 则是上一帧中对应的固定常量。最后，我们定义一个新的目标函数：

 $$ \mathcal{F}^{+}(\mathbf{\Psi}_{i+1}^{+})=\mathcal{F}_{\mathrm{t e x}}+\mathcal{F}_{\Delta z}+\mathcal{F}_{\mathrm{P O F}}+\mathcal{F}^{F}, $$

此处省略了平衡权重。我们通过最小化该函数来获取第 $(i+1)$ 帧的参数 $\Psi_{i+1}^+$，该参数初始化自上一阶段的输出 $\Psi_{i+1}$。与原始的完整目标函数（公式 11）相比，这个新目标函数更为简单，因为它有较好的初始化起点。大多数 2D 关节约束被 $\mathcal{F}_{\text{lex}}$ 取代，不过我们发现仍需保留 POF 项和面部关键点项以避免误差累积。注意，这种优化是递归进行的——我们利用第 i 帧更新后的参数 $\Psi_i^+$ 来提取公式 12 中的纹理 $\mathcal{T}_i$，并通过此次优化将第 $(i+1)$ 帧的模型参数从 $\Psi_{i+1}$ 更新为 $\Psi_{i+1}^+$。还需注意的是，形状参数 $\{\phi_i^+\}$ 在整个序列中应保持一致，因此我们令 $\phi_{i+1}^+$ = $\phi_i^+$，并在优化过程中将其固定。在这一阶段，我们也会固定面部表情参数。

### 7. 实验结果

在本节中，我们将对所提出的方法进行全面的定量和定性评估。

#### 7.1. 数据集

人体姿态数据集：Human3.6M [^22] 是一个基于室内标记的人体动作捕捉数据集，目前也是 3D 人体姿态估计领域最常用的基准数据集。我们在此数据集上对其算法的人体部分进行定量评估。我们遵循 [^42] 中规定的标准训练-测试协议。

手部姿态数据集：立体手部姿态跟踪基准（STB）[^72] 是一个包含

![Image](images/c00bde6047617a4fdd56c37ea6d87e369c9430ec770c96680b219aa8dfbf6822.jpg)

<div style="text-align: center;">Figure 5: Illustration of our temporal refinement algorithm. The top row shows meshes projected on input images at previous frame, current target frame, and after refinement. In zoom-in views, a particular vertex is shown in blue, which is more consistent after applying our tracking method.</div>

3万张训练图像和6千张测试图像的手部姿态数据集。Dexter+Object $(D+O)$ [^53] 是由 RGB-D 相机采集的手部姿态数据集，包含 6 个序列中约 3千张测试图像。该数据集仅标注了指尖的位置。

新采集的全身运动数据集：我们使用Panoptic Studio [^24] [^25] 以无标记的方式采集全新的3D人体和手部姿态数据集 [^26]。在视频引导下，40名受试者在2.5分钟内完成各种身体和手部动作。经过筛选后，我们获得了约83.4万张人体图像和11.1万张手部图像，以及对应的3D姿态数据。我们将该数据集划分为训练集和测试集，确保没有受试者同时出现在两个集合中。该数据集已在线公开。

#### 7.2. 与以往研究的定量比较

#### 7.2.1 3D人体姿态估计

在Human3.6M上的比较。我们将单帧人体姿态估计方法的性能与以往的最先进方法进行比较。我们的网络初始化自OpenPose的2D人体姿态估计网络。我们使用COCO数据集 [^28]、新采集的3D人体姿态数据集以及Human3.6M来训练网络，迭代16.5万次，批量大小为4。测试时，我们将Adam模型 [^26] 拟合到网络输出上。由于Human3.6M的关节定义与Adam模型不同，我们像 [^27] 中所述那样，利用训练集构建一个线性回归器，将Adam网格顶点映射到Human3.6M定义的17个关节上。评估时，我们遵循 [^42] 的方法，将输出结果缩放至与训练集计算出的平均骨骼尺寸相匹配。对齐根关节后的平均关节位置误差（MPJPE）如 [^42] 所示进行报告。

实验结果如表1所示。我们的方法取得了具有竞争力的性能；尤其是，在表中标有‘*’号、基于自然场景视频展示结果的所有方法中，我们的姿态估计误差最小。我们认为展示在自然场景视频上的结果至关重要，以确保该方法能超越特定数据集的局限而具备通用性。例如，我们的结果是

---

<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;'>Pavlakos [^42]</td><td style='text-align: center; word-wrap: break-word;'>Zhou [^73]</td><td style='text-align: center; word-wrap: break-word;'>Luo [^31]</td><td style='text-align: center; word-wrap: break-word;'>Martinez [^33]</td><td style='text-align: center; word-wrap: break-word;'>Fang [^20]</td><td style='text-align: center; word-wrap: break-word;'>Yang [^70]</td><td style='text-align: center; word-wrap: break-word;'>Pavlakos [^41]</td><td style='text-align: center; word-wrap: break-word;'>Dabral [^18]</td><td style='text-align: center; word-wrap: break-word;'>Sun [^56]</td><td style='text-align: center; word-wrap: break-word;'>$^{*}Kanazawa$ [^27]</td><td style='text-align: center; word-wrap: break-word;'>$^{*}Mehta$ [^35]</td><td style='text-align: center; word-wrap: break-word;'>$^{*}Mehta$ [^34]</td><td style='text-align: center; word-wrap: break-word;'>$^{*}Ours$</td><td style='text-align: center; word-wrap: break-word;'>$^{*}Ours+$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MPJPE</td><td style='text-align: center; word-wrap: break-word;'>71.9</td><td style='text-align: center; word-wrap: break-word;'>64.9</td><td style='text-align: center; word-wrap: break-word;'>63.7</td><td style='text-align: center; word-wrap: break-word;'>62.9</td><td style='text-align: center; word-wrap: break-word;'>60.4</td><td style='text-align: center; word-wrap: break-word;'>58.6</td><td style='text-align: center; word-wrap: break-word;'>56.2</td><td style='text-align: center; word-wrap: break-word;'>55.5</td><td style='text-align: center; word-wrap: break-word;'>49.6</td><td style='text-align: center; word-wrap: break-word;'>88.0</td><td style='text-align: center; word-wrap: break-word;'>80.5</td><td style='text-align: center; word-wrap: break-word;'>69.9</td><td style='text-align: center; word-wrap: break-word;'>58.3</td><td style='text-align: center; word-wrap: break-word;'>64.5</td></tr></table>

<div style="text-align: center;">Table 1: Quantitative comparison with previous work on Human3.6M dataset. The ‘*’ signs indicate methods that show results on in-the-wild videos. The evaluation metric is Mean Per Joint Position Error (MPJPE) in millimeter. The numbers are taken from original papers. ‘Ours’ and ‘Ours+’ refer to our results without and with prior respectively.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Training data</td><td style='text-align: center; word-wrap: break-word;'>MPJPE</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(1) Human3.6M</td><td style='text-align: center; word-wrap: break-word;'>65.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(2) Human3.6M + Ours</td><td style='text-align: center; word-wrap: break-word;'>60.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(3) Human3.6M + Ours + COCO</td><td style='text-align: center; word-wrap: break-word;'>58.3</td></tr></table>

<div style="text-align: center;">Table 2: Ablation studies on Human3.6M. The evaluation metric is Mean Per Joint Position Error in millimeter.</div>

引入姿态先验后误差更高，尽管我们发现姿态先验有助于在自然场景下保持良好的网格表面和关节角度。

消融研究。我们通过针对Human3.6M的消融研究来探究各数据集的重要性。我们比较了以下训练方式下的结果：(1) 仅使用Human3.6M；(2) 使用Human3.6M和我们采集的数据集；(3) 使用Human3.6M、我们采集的数据集以及COCO。注意，第(3)种设置正是前文比较中所采用的设置。我们遵循表1中的相同评估协议和指标，结果如表2所示。首先值得注意的是，仅以Human3.6M作为训练数据时，我们已在表1中标有*号的结果中取得了最佳性能。其次，对比(2)和(1)可知，尽管我们的数据集与Human3.6M在背景、人体外观和姿态分布上存在差异，但新数据集仍带来了性能提升。这验证了新数据集的价值。第三，当我们把COCO加入训练数据时，误差反而有所降低，这表明我们的框架能够利用仅有2D人体姿态标注的COCO数据集来进行3D姿态估计。

#### 7.2.2 3D手部姿态估计

我们在立体手部姿态跟踪基准测试（STB）和Dexter+Object（D+O）上评估我们的方法，并与以往的方法进行比较。本实验中我们使用了 [^26] 中的独立手部模型Frankenstein。

STB数据集由于包含的是掌关节而非我们方法中使用的腕关节，因此我们按照[^74]中的方法将掌关节转换为腕关节，以便训练我们的CNN模型。我们还利用STB数据集的训练集来学习一个线性回归器。在测试阶段，我们会从模型输出结果中反推掌关节位置以进行对比。在评估时，我们遵循先前的研究[^74]，先将根关节位置与全局尺度对齐到真实值，再计算误差，并最终报告百分比正确关键点（PCK）曲线下面积（AUC）。

![Image](images/0b52f976317580be479dea6bbbd899c29cb605f03b458abfa0ad85ea1c897c4e.jpg)

![Image](images/33e32665aa74a12a7dd04404dba616822c5f1dfbc7af693e32aa50b0a1d0ec12.jpg)

<div style="text-align: center;">Figure 6: Comparison with previous work on 3D hand pose estimation. We plot PCK curve and show AUC in bracket for each method in legend. Left: results on the STB dataset [^72] in 20mm-50mm; right: results on Dexter+Object dataset [^53] in 0-100mm. Results with depth alignment are marked with ‘*’; the RGB-D based method is marked with ‘+’.</div>

20毫米至50毫米范围内的PCK曲线如图6左侧所示。我们的性能与专为手部姿态估计设计的最先进方法相当。我们还需指出，该数据集上的性能几乎已趋于饱和，因为在最低阈值下准确率就已经超过90%。

D+O数据集方面，我们依照[^37]和[^23]的方法，通过PCK曲线及对应的AUC来评估性能，结果展示在图6右侧。由于以往的方法是通过估计3D手部关节的绝对深度来进行评估的，我们也采用类似方式：先利用数据集中单帧图像确定大致的手部尺度，并在评估过程中固定该尺度。在此条件下，我们的性能（AUC=0.70）与先前的最先进方法[^23]（AUC=0.71）相当。不过，由于单视图姿态估计存在本质的深度尺度歧义，我们认为将根关节与真实深度对齐才是更合理的评估设定。在这种设定下，我们的方法（AUC=0.84）的表现优于先前在同一设定下的最先进方法[^37]（AUC=0.70），甚至比基于RGB-D的方法[^53]（AUC=0.81）的性能还要好。

#### 7.3. 视角与姿态变化的定量研究

我们新构建的3D姿态数据包含多视角图像以及多样化的身体姿态，这使我们能够定量研究该方法在视角变化下的性能表现。

---

![Image](images/46ff0015020cfcb06925985a8995c5bfb9a45113c57083424dc5e07637649790.jpg)

<div style="text-align: center;">Figure 7: Evaluation result in Panoptic Studio. Top: accuracy vs. view point; bottom: accuracy vs. pose. The metric is MPJPE in cm. The average MPJPE for all testing samples is 6.30 cm.</div>

以及身体姿态变化下的性能。我们将单视图3D人体重建结果与真实值进行对比。由于单目姿态估计存在尺度-深度歧义，我们通过沿相机中心的射线方向缩放结果，使根关节深度与真实值对齐，随后以厘米为单位计算平均关节位置误差（MPJPE）。所有测试样本的平均MPJPE为6.30厘米。我们按各相机视角计算了平均误差，如图7上方所示；每个相机视角由相对于受试者初始身体位置的方位角和仰角表示。我们得出了两个有趣的结论：其一，仰角较大的相机视角下性能会更差，原因是严重的自遮挡和透视收缩现象；其二，背面视角下的误差比正面视角更大，因为许多姿态下四肢会被躯干遮挡。图7下方展示了不同身体姿态下的性能表现：我们对真实数据运行k均值算法以划分身体姿态组别（图中展示了各组的中心姿态），并计算每个组别的误差。自遮挡或透视收缩现象越严重的身体姿态，误差往往越大。

#### 7.4. 网格跟踪的效果

为了展示我们时间细化方法的效果，我们利用Panoptic Studio数据，比较了该方法在细化阶段前后的结果。我们在图8中绘制了重建后的左肩关节。我们发现，跟踪后的结果（蓝色）在时间上比跟踪前的结果（绿色）更稳定，且往往更接近真实值（红色）。

我们在补充视频中展示了通过各种我们自己拍摄或从YouTube获取的视频得到的总体运动捕捉结果。对于仅能看到目标人物上半身的视频，我们在公式5中假设躯干和腿部的朝向为垂直向下。

#### 7.5. 定性评估

![Image](images/f15ee581da92438d15ada5a9b3cbc3d7df36efab951d120f8e8b81e83300219d.jpg)

<div style="text-align: center;">Figure 8: The comparison of joint location across time before and after tracking with ground truth. The horizontal axes show frame numbers (30fps) and the vertical axes show joint locations in camera coordinate. The target joint here is the left shoulder of the subject.</div>

### 8. 讨论

在本文中，我们提出了一种从图像或单目视频中重建单人三维整体运动的方法。我们在多种基准测试上对该方法的鲁棒性进行了全面评估，并展示了在真实场景视频上的单目三维整体运动捕捉结果。

我们的方法存在一些局限性。首先，当目标人物的很大一部分不可见（超出图像边界或被其他物体遮挡）时，由于网络预测错误，会出现失败情况。其次，在分辨率不足、严重运动模糊或被操作物体遮挡的情况下，我们的手部姿态检测器会失效。第三，我们采用仅利用二维关键点信息的简单方法来估计脚部姿态和面部表情。更先进的技术和更多的图像测量数据可以被整合到我们的方法中。最后，我们的CNN需要以身体和手部的边界框作为输入，无法同时处理多个身体或手部。解决这些问题指明了未来有趣的研究方向。

致谢。本研究得到了美国内政部/内政商业中心（DOI/IBC）通过智能前沿研究项目局（IARPA）授予的合同号D17PC00340的支持。我们感谢Tianyi Zhao在Unity中协助进行运动重定向工作。

## 参考文献

[^1]: Cmu motion capture database. <http://mocap.cs.cmu.edu/resources.php>.

[^2]: Vicon motion systems. <https://www.vicon.com>.

## [^3]: Sameer Agarwal, Keir Mierle, and Others. Ceres solver. <http://ceres-solver.org>

---

[^4]: Ijaz Akhter and Michael J Black. Pose-conditioned joint angle limits for 3d human pose reconstruction. In CVPR, 2015.

[^5]: Mykhaylo Andriluka, Leonid Pishchulin, Peter Gehler, and Bernt Schiele. 2d human pose estimation: New benchmark and state of the art analysis. In CVPR, 2014.

[^6]: Dragomir Anguelov, Praveen Srinivasan, Daphne Koller, Sebastian Thrun, Jim Rodgers, and James Davis. Scape: shape completion and animation of people. TOG, 2005.

[^7]: Andreas Baak, Meinard M, Gaurav Bharaj, Hans-peter Seidel, and Christian Theobalt. A data-driven approach for real-time full body pose reconstruction from a depth camera. In ICCV, 2011.

[^8]: Volker Blanz and Thomas Vetter. A morphable model for the synthesis of 3d faces. In Proceedings of the 26th annual conference on Computer graphics and interactive techniques, 1999.

[^9]: Federica Bogo, Angjoo Kanazawa, Christoph Lassner, Peter Gehler, Javier Romero, and Michael J. Black. Keep it smpl: Automatic estimation of 3d human pose and shape from a single image. In ECCV, 2016.

[^10]: Federica Bogo, Javier Romero, Gerard Pons-Moll, and Michael J Black. Dynamic faust: Registering human bodies in motion. In CVPR, 2017.

[^11]: Adrian Bulat and Georgios Tzimiroopoulos. Human pose estimation via convolutional part heatmap regression. In ECCV, 2016.

[^12]: Yujun Cai, Liuhao Ge, Jianfei Cai, and Junsong Yuan. Weakly-supervised 3d hand pose estimation from monocular rgb images. In ECCV, 2018.

[^13]: Chen Cao, Yanlin Weng, Shun Zhou, Yiying Tong, and Kun Zhou. Facewarehouse: A 3d facial expression database for visual computing. TVCG, 2014.

[^14]: Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, and Yaser Sheikh. OpenPose: realtime multi-person 2D pose estimation using Part Affinity Fields. In arXiv preprint arXiv:1812.08008, 2018.

[^15]: Zhe Cao, Tomas Simon, Shih-En Wei, and Yaser Sheikh. Realtime multi-person 2d pose estimation using part affinity fields. In CVPR, 2017.

[^16]: Dan Casas, Marco Volino, John Collomosse, and Adrian Hilton. 4d video textures for interactive character appearance. In Computer Graphics Forum, 2014.

[^17]: Ching-Hang Chen and Deva Ramanan. 3d human pose estimation = 2d pose estimation + matching. In CVPR, 2017.

[^18]: Rishabh Dabral, Anurag Mundhada, Uday Kusupati, Safeer Afaque, Abhishek Sharma, and Arjun Jain. Learning 3d human pose from structure and motion. In ECCV, 2018.

[^19]: A. Elhayek, E. Aguiar, A. Jain, J. Tompson, L. Pishchulin, M. Andriluka, C. Bregler, B. Schiele, and C. Theobalt. Efficient convnet-based marker-less motion capture in general scenes with a low number of cameras. In CVPR, 2015.

[^20]: Haoshu Fang, Yuanlu Xu, Wenguan Wang, Xiaobai Liu, and Song-Chun Zhu. Learning pose grammar to encode human body configuration for 3d pose estimation. In AAAI, 2018.

[^21]: Juergen Gall, Carsten Stoll, Edilson De Aguiar, Christian Theobalt, Bodo Rosenhahn, and Hans-Peter Seidel. Motion capture using joint skeleton tracking and surface estimation. In CVPR, 2009.

[^22]: Catalin Ionescu, Dragos Papava, Vlad Olaru, and Cristian Sminchisescu. Human3.6m: Large scale datasets and predictive methods for 3d human sensing in natural environments. TPAMI, 2014.

[^23]: Umar Iqbal, Pavlo Molchanov, Thomas Breuel Juergen Gall, and Jan Kautz. Hand pose estimation via latent 2.5d heatmap regression. In ECCV, 2018.

[^24]: Hanbyul Joo, Hao Liu, Lei Tan, Lin Gui, Bart Nabbe, Iain Matthews, Takeo Kanade, Shohei Nobuhara, and Yaser Sheikh. Panoptic studio: A massively multiview system for social motion capture. In CVPR, 2015.

[^25]: Hanbyui Joo, Iomas Simon, Auiong Li, Hao Liu, Lei Ian, Lin Gui, Sean Banerjee, Timothy Godisart, Bart Nabbe, Iain Matthews, et al. Panoptic studio: A massively multiview system for social interaction capture. TPAMI, 2017.

[^26]: Hanbyul Joo, Tomas Simon, and Yaser Sheikh. Total capture: A 3d deformation model for tracking faces, hands, and bodies. In CVPR, 2018.

[^27]: Angjoo Kanazawa, Michael J Black, David W Jacobs, and Jitendra Malik. End-to-end recovery of human shape and pose. In CVPR, 2018.

[^28]: Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár, and C Lawrence Zitnick. Microsoft coco: Common objects in context. In ECCV, 2014.

[^29]: Yebin Liu, J. Gall, C. Stoll, Qionghai Dai, H.-P. Seidel, and C. Theobalt. Markerless motion capture of multiple characters using multiview image segmentation. TPAMI, 2013.

[^30]: Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J Black. Smpl: A skinned multi-person linear model. TOG, 2015.

[^31]: Chenxu Luo, Xiao Chu, and Alan Yuille. Orinet: A fully convolutional network for 3d human pose estimation. In BMVC, 2018.

[^32]: Diogo C Luvizon, David Picard, and Hedi Tabia. 2d/3d pose estimation and action recognition using multitask deep learning. In CVPR, 2018.

[^33]: Julieta Martinez, Rayat Hossain, Javier Romero, and James J Little. A simple yet effective baseline for 3d human pose estimation. In ICCV, 2017.

[^34]: Dushyant Mehta, Oleksandr Sotnychenko, Franziska Mueller, Weipeng Xu, Srinath Sridhar, Gerard Pons-Moll, and Christian Theobalt. Single-shot multi-person 3D pose estimation from monocular rgb. In 3DV, 2018.

[^35]: Dushyant Mehta, Srinath Sridhar, Oleksandr Sotnychenko, Helge Rhodin, Mohammad Shafiei, Hans-Peter Seidel, Weipeng Xu, Dan Casas, and Christian Theobalt. Vnect: Real-time 3d human pose estimation with a single rgb camera. TOG, 2017.

[^36]: Francesc Moreno-noguer. 3d human pose estimation from a single image via distance matrix regression. In CVPR, 2017.

[^37]: Franziska Mueller, Florian Bernard, Oleksandr Sotnychenko, Dushyant Mehta, Srinath Sridhar, Dan Casas, and Christian Theobalt. Generated hands for real-time 3d hand tracking from monocular rgb. In CVPR, 2018.

## [^38]: Alejandro Newell, Kaiyu Yang, and Jia Deng. Stacked hour-glass networks for human pose estimation. In ECCV, 2016

---

[^39]: Bruce Xiaohan Nie, Ping Wei, and Song-Chun Zhu. Monocular 3d human pose estimation by predicting depth on joints. In ICCV, 2017.

[^40]: Iasonas Oikonomidis, Nikolaos Kyriazis, and Antonis A Argyros. Tracking the articulated motion of two strongly interacting hands. In CVPR, 2012.

[^41]: Georgios Pavlakos, Xiaowei Zhou, and Kostas Daniilidis. Ordinal depth supervision for 3D human pose estimation. In CVPR, 2018.

[^42]: Georgios Pavlakos, Xiaowei Zhou, Konstantinos G Derpanis, and Kostas Daniilidis. Coarse-to-fine volumetric prediction for single-image 3d human pose. In CVPR, 2017.

[^43]: Gerard Pons-Moll, Javier Romero, Naureen Mahmood, and Michael J Black. Dyna: A model of dynamic human shape in motion. TOG, 2015.

[^44]: Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh. Reconstructing 3d human pose from 2d image landmarks. In CVPR, 2012.

[^45]: Nadia Robertini, Dan Casas, Helge Rhodin, Hans-Peter Seidel, and Christian Theobalt. Model-based outdoor performance capture. In 3DV, 2016.

[^46]: Grégory Rogez and Cordelia Schmid. Mocap-guided data augmentation for 3d pose estimation in the wild. In NIPS, 2016.

[^47]: Javier Romero, Dimitrios Tzionas, and Michael J Black. Embodied hands: Modeling and capturing hands and bodies together. TOG, 2017.

[^48]: Matteo Ruggero Ronchi, Oisin Mac Aodha, Robert Eng, and Pietro Perona. It’s all relative: Monocular 3d human pose estimation from weakly supervised data. In BMVC, 2018.

[^49]: Toby Sharp, Cem Keskin, Duncan Robertson, Jonathan Taylor, Jamie Shotton, David Kim, Christoph Rhemann, Ido Leichter, Alon Vinnikov, Yichen Wei, et al. Accurate, robust, and flexible real-time hand tracking. In CHI, 2015.

[^50]: Jamie Shotton, A. Fitzgibbon, M. Cook, and Toby Sharp. Real-time human pose recognition in parts from single depth images. In CVPR, 2011.

[^51]: Tomas Simon, Hanbyul Joo, Iain Matthews, and Yaser Sheikh. Hand keypoint detection in single images using multiview bootstrapping. In CVPR, 2017.

[^52]: Srinath Sridhar, Franziska Mueller, Antti Oulasvirta, and Christian Theobalt. Fast and robust hand tracking using detection-guided optimization. In CVPR, 2015.

[^53]: Srinath Sridhar, Franziska Mueller, Michael Zollhöfer, Dan Casas, Antti Oulasvirta, and Christian Theobalt. Real-time joint tracking of a hand manipulating an object from rgb-d input. In ECCV, 2016.

[^54]: Srinath Sridhar, Antti Oulasvirta, and Christian Theobalt. Interactive markerless articulated hand motion tracking using RGB and depth data. In ICCV, 2013.

[^55]: Xiao Sun, Jiaxiang Shang, Shuang Liang, and Yichen Wei. Compositional human pose regression. In ICCV, 2017.

[^56]: Xiao Sun, Bin Xiao, Fangyin Wei, Shuang Liang, and Yichen Wei. Integral human pose regression. In ECCV, 2018.

[^57]: Andrea Tagliasacchi, Matthias Schröder, Anastasia Tkach, Sofien Bouaziz, Mario Botsch, and Mark Pauly. Robust articulated-icp for real-time hand tracking. In Computer Graphics Forum, 2015.

[^58]: Camillo J Taylor. Reconstruction of articulated objects from point correspondences in a single uncalibrated image. CVIU, 2000.

[^59]: Jonathan Taylor, Vladimir Tankovich, Danhang Tang, Cem Keskin, David Kim, Philip Davidson, Adarsh Kowdle, and Shahram Izadi. Articulated distance fields for ultra-fast tracking of hands interacting. TOG, 2017.

[^60]: Bugra Tekin, Artem Rozantsev, Vincent Lepetit, and Pascal Fua. Direct prediction of 3d body poses from motion compensated sequences. In CVPR, 2016.

[^61]: Justus Thies, Michael Zollhofer, Marc Stamminger, Christian Theobalt, and Matthias Nießner. Face2face: Real-time face capture and reenactment of rgb videos. In CVPR, 2016.

[^62]: J. Thies, M. Zollhöfer, M. Stamminger, C. Theobalt, and M. Nießner. Headon: Real-time reenactment of human portrait videos. TOG, 2018.

[^63]: Jonathan J Tompson, Arjun Jain, Yann LeCun, and Christoph Bregler. Joint training of a convolutional network and a graphical model for human pose estimation. In NIPS, 2014.

[^64]: Alexander Toshev and Christian Szegedy. Deeppose: Human pose estimation via deep neural networks. In CVPR, 2014.

[^65]: Dimitrios Tzionas, Luca Ballan, Abhilash Srikantha, Pablo Aponte, Marc Pollefeys, and Juergen Gall. Capturing hands in action using discriminative salient points and physics simulation. IJCV, 2016.

[^66]: Gül Varol, Duygu Ceylan, Bryan Russell, Jimei Yang, Ersin Yumer, Ivan Laptev, and Cordelia Schmid. Bodynet: Volumetric inference of 3d human body shapes. In ECCV, 2018.

[^67]: Min Wang, Xipeng Chen, Wentao Liu, Chen Qian, Liang Lin, and Lizhuang Ma. Drpose3d: Depth ranking in 3d human pose estimation. In IJCAI, 2018.

[^68]: Shih-En Wei, Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh. Convolutional pose machines. In CVPR, 2016.

[^69]: Weipeng Xu, Avishek Chatterjee, Michael Zollhoefer, Helge Rhodin, Dushyant Mehta, Hans-Peter Seidel, and Christian Theobalt. Monoperfcap: Human performance capture from monocular video. TOG, 2018.

[^70]: Wei Yang, Wanli Ouyang, Xiaolong Wang, Jimmy Ren, Hongsheng Li, and Xiaogang Wang. 3d human pose estimation in the wild by adversarial learning. In CVPR, 2018.

[^71]: Qi Ye, Shanxin Yuan, and Tae-Kyun Kim. Spatial attention deep net with partial pso for hierarchical hybrid hand pose estimation. In ECCV, 2016.

[^72]: Jiawei Zhang, Jianbo Jiao, Mingliang Chen, Liangqiong Qu, Xiaobin Xu, and Qingxiong Yang. 3d hand pose tracking and estimation using stereo matching. arXiv preprint arXiv:1610.07214, 2016.

[^73]: Xingyi Zhou, Qixing Huang, Xiao Sun, Xiangyang Xue, and Yichen Wei. Towards 3d human pose estimation in the wild: a weakly-supervised approach. In ICCV, 2017.

[^74]: Christian Zimmermann and Thomas Brox. Learning to estimate 3d hand pose from single rgb images. In ICCV, 2017.
