
# Total Capture：一种用于追踪面部、手部及身体的3D变形模型 $^{*}$

朱汉彪 $^{1}$ 托马斯·西蒙 $^{1,2}$ 亚瑟·谢赫 $^{1,2}$

 $^{1}$卡内基梅隆大学 $^{2}$Facebook Reality Labs，匹兹堡

<mailto:hanbyulj@cs.cmu.edu>，{tomas.simon, yaser.sheikh}@fb.com

![Image](images/780e117b2b555d0415b5acead55ac8b59c3ae53c52aa36fa3f664f6ee97827cb.jpg)

<div style="text-align: center;">Figure 1: Reconstructing total body motion by Adam. This paper presents a 3D human model capable of concurrently tracking the large-scale posture of the body along with the smaller details of a person's facial expressions and hand gestures.</div>

## 摘要

我们提出了一种统一的变形模型，用于无标记地捕捉多尺度下的人体运动，包括面部表情、身体动作和手部手势。初始模型是通过将人体各个部位的模型局部拼接而成，我们将其称为“Frank”。该模型能够用一个无缝模型来完整表达各部位的运动，包括面部和手部。我们采集了穿着日常服装的人员数据集，并对Frank模型进行优化，从而创建了“Adam”：这是一个经过校准的模型，它与初始模型拥有相同的骨骼层级结构，但参数化方式更简单。最后，我们展示了这些模型在多视角设置下的全身运动追踪应用，能够同时捕捉大规模的身体运动以及社交群体中细微的面部和手部动作。

### 1. 引言

社交交流是人类运动的关键功能 [^9]。我们通过极其细微的动作传递大量信息。在一群互动的个体之间，诸如轻轻耸肩、快速转头或不安地来回换脚等手势，都会向观察者传递关于注意力、情绪和意图的关键信息。值得注意的是，这些社交信号通常是通过整个身体的有序运动来传递的：包括面部表情、手部手势和身体姿态。这些丰富的信号与目标导向的活动相互叠加，共同构成了人类的行为，因此对于机器感知人类活动而言至关重要。

然而，目前还没有能够同时无标记地追踪人体、面部和手部的系统。当前的无标记动作捕捉系统要么专注于特定尺度，要么针对特定部位。每个领域都有其偏好的捕捉配置：（1）躯干和四肢运动是在足够大的工作区域内捕捉的，以便人们可以自由移动 [^19] [^23] [^47] [^21]；（2）面部运动是在近距离、主要是正面拍摄的条件下捕捉的，且假设头部整体运动很小 [^7] [^26] [^8] [^11] [^54]；（3）手指运动也是在离手部非常近的距离内捕捉的，此时手部区域在传感器测量中占主导地位 [^37] [^52] [^45] [^53]。这些配置使得难以同时分析完整的社交信号谱系。

为了克服这一传感挑战，我们提出了一种新颖的生成式身体变形模型，它能够表达各个主要身体部位的运动。尤其是——

---

在此，我们描述了一种构建初始人体模型“Frank”的流程，该流程能将现有的部件模板模型[^34] [^15]无缝整合为单一的骨骼层级结构。为使该模型适配数据，我们利用多视角下的关键点检测技术（如面部[^20]、身体[^58] [^16] [^36]以及手部[^44]）来获取对多人及物体交互具有鲁棒性的3D关键点。我们将“Frank”模型拟合到70人的动作捕捉数据上，并据此学习出一种新的形变模型“Adam”，该模型能够通过简化的参数化方式额外捕捉头发和服装的细微变化。我们提出了一种利用3D可变形模型来捕捉多人全身运动的方法。最后，我们在各类社交行为及人-物交互序列上验证了该方法的有效性，结果显示面部、四肢和手指的运动能够自然协同。

### 2. 相关工作

基于标记点的动作捕捉系统通过追踪反光标记来记录运动信息——

反光标记 [^2] [^59] 是目前应用最广泛的方法。

(2)标记缺失会导致数据出现空洞，需要耗费大量人力进行手动修复；

尽管给受试者粘贴标记的过程十分繁琐，但这些方法仍存在诸多重大局限：

首先，为了实现可靠的追踪，必须控制标记点的密度，这限制了动作测量的空间分辨率。

其次，标记点可能会脱落，需要耗费大量人力进行清理；

，这限制了运动测量的空间分辨率

[^38]: ; (2) a limitation in automatically handling oc-

以及（3）面部、身体和手部上的标记会阻碍参-

与者进行自然的社会互动。由于

这些限制，捕捉互-

动者的全身运动仍然是一个具有挑战性的问题，即使在最-

先进的运动捕捉系统 [^2]。

在过去二十年中，无标记动作捕捉方法一直被探索以实现与动作捕捉系统相同的目标，但这类方法往往默认其性能逊于基于标记的方法，并将“无标记”特性视为主要优势。大多数无标记动作捕捉方法主要关注躯干和四肢的运动。其标准流程基于多视角摄像头设置，并利用3D模板模型进行追踪 [^33] [^25] [^17] [^12] [^30] [^18] [^55] [^13] [^47] [^19] [^21]。在这种方法中，动作捕捉是通过将3D模板模型与测量数据对齐来实现的，这些数据可能包括颜色、纹理、轮廓、点云以及关键点。近期的方法利用生成式可变形人体模型 [^4] [^34] [^40] 来描述人体的形状和姿态变化。由于这些人体模型通常假设受试者穿着较少，因此为了捕捉着衣状态下的受试者，需要对衣物进行显式建模 [^63] [^39]。2D关键点检测技术的最新进展 [^36] [^16] [^58] 使得在多视角环境下可靠地重建3D关键点成为可能，进而可以拟合出3D模型 [^21] [^28] [^29]。基于学习的检测器的一个独特优势在于，它们能根据从大规模2D姿态数据集中学习到的空间人体结构，为被遮挡部位提供“预测”结果。需要注意的是，我们将输出运动参数的无标记动作捕捉方法与旨在通过自由形态网格变形来获取精细表面形状的多视角表演捕捉方法区分开来 [^56] [^22]。随着商用深度传感器的问世，基于单视角深度的身体动作捕捉也成为了热门研究方向 [^5] [^43]。最近，一系列方法致力于直接从单目图像中重建3D骨骼，要么是利用对人体姿态的先验知识来拟合2D关键点检测结果 [^64] [^10]，要么更接近直接回归方法 [^65] [^35] [^51]。

在以往的研究中，面部和手部动作捕捉往往被视为相互独立的研究领域。过去十年间，面部扫描与动作捕捉技术取得了巨大进步。现有多种多视角方法在高质量面部扫描[^7] [^26]以及面部动作捕捉[^8] [^11] [^54]方面表现出色。近年来，基于单摄像头的轻量级系统通过利用可变形3D人脸模型对2D数据进行处理，展现出了令人瞩目的性能[^24] [^20] [^32] [^50] [^15] [^14] [^60]。这些方法大多基于可变形3D人脸骨架，例如Cao等人提出的方法[^15]。手部动作捕捉则主要由基于单深度传感器的方法主导[^37] [^49] [^52] [^31] [^61] [^48] [^57] [^46] [^42] [^45] [^53] [^62]，仅有少数基于多视角系统的例外情况[^6] [^46] [^41]。最近，Simon等人提出了2D手部关键点检测技术，并利用其在多视角环境下获取3D手部关键点[^44]。值得注意的是，Romero等人也引入了能够同时表达身体和手部的生成式3D模型[^41]。

相比之下，本文首次提出了针对多人交互场景的“整体”无标记动作捕捉方法，能够生成参数化表示，从而共同捕捉每位参与者的时变身体姿态、手部姿态以及面部表情。

### 3. Frank模型

构建Frank $^{1}$人体模型的初衷是利用现有的部件模型：用于人体的SMPL [^34]、用于面部的FaceWarehouse [^15]，以及由艺术家定义的手部骨架（如图2所示）。这些模型各自能在相应部位以合适的尺度捕捉形状与动作细节。这一选择并非仅仅因为这些组件模型可免费获取：须知由于当前3D扫描系统在图像分辨率与视野范围之间存在权衡，用于构建精细面部模型的扫描数据通常来自与身体其他部分不同的扫描系统。在我们的模型中，我们将所有变换骨骼合并为单一的骨骼层级，同时保留每个组成部分原有的参数化方式，以便表达身份与动作差异。最终输出的Frank模型能够生成捕捉人体整体动作的运动参数，并通过融合各组成网格的顶点来生成无缝的网格。

---

![Image](images/457d511f48d3c1f0e8851667c783ff7d3f21234778e74a1888cb3c22faa2cbba.jpg)

<div style="text-align: center;">Figure 2: Part models and the Frank model. (a) The body model [^34]; (b) the face model [^15]; and (c) a hand rig. In (a-c), the red dots have corresponding 3D keypoints reconstructed by detectors; (d) Body only model; (e) Face and hand models substitute the corresponding parts of the body model. Alignments are ensured by  $\Gamma$s; and (f) The blending matrix C is applied to produce a seamless mesh.</div>

我们将所有变换骨骼合并为单一的骨骼层级，同时保留每个组成部分原有的参数化方式，以便表达身份与动作差异。最终输出的Frank模型能够生成捕捉人体整体动作的运动参数，并通过融合各组成网格的顶点来生成无缝的网格。

#### 3.1. 部件模型的拼接

Frank模型$M^U$由运动参数$\theta^U$、形状（或身份）参数$\phi^U$以及全局平移参数$\mathbf{t}^U$共同参数化，

 $$ \mathbf{V}^{U}=M^{U}(\boldsymbol{\theta}^{U},\boldsymbol{\phi}^{U},\mathbf{t}^{U}), $$

其中$\mathbf{V}^{U}$是表达目标对象动作与形状的无缝网格。该模型的运动与形状参数是各部件模型参数的集合：

 $$ \boldsymbol{\theta}^{U}=\{\boldsymbol{\theta}^{B},\boldsymbol{\theta}^{F},\boldsymbol{\theta}^{L H},\boldsymbol{\theta}^{R H}\}, $$

 $$ \phi^{U}=\{\phi^{B},\phi^{F},\phi^{L H},\phi^{R H}\}, $$

其中上标代表各个部件模型：B表示身体模型，F表示面部模型，LH表示左手模型，RH表示右手模型。每个组成部件模型分别将上述参数的一个子集映射到一组顶点，即$\mathbf{V}^B \in \mathbb{R}^{N^B \times 3}$、$\mathbf{V}^F \in \mathbb{R}^{N^F \times 3}$、$\mathbf{V}^{LH} \in \mathbb{R}^{N^H \times 3}$和$\mathbf{V}^{RH} \in \mathbb{R}^{N^H \times 3}$；每个网格部件的顶点数量分别为$N^B = 6890$、$N^F = 11510$和$N^H = 2068$。Frank模型的最终网格$\mathbf{V}^U \in \mathbb{R}^{N^U \times 3}$是通过用矩阵$\mathbf{C} \in$对它们进行线性混合来定义的。

 $$ \mathbb{R}^{N^{U}\times(N^{B}+N^{F}+2N^{H})}. $$

 $$ \mathbf{V}^{U}=\mathbf{C}\left[\begin{array}{c}{\left(\mathbf{V}^{B}\right)^{T}\left(\mathbf{V}^{F}\right)^{T}\left(\mathbf{V}^{L H}\right)^{T}\left(\mathbf{V}^{R H}\right)^{T}}\\ \end{array}\right]^{T}, $$

其中T表示矩阵的转置。需要注意的是，$\mathbf{V}^U$的顶点数量比各部件模型的顶点总数要少，因为身体模型中存在冗余部分（例如身体模型的面部和手部）。具体而言，我们最终得到的网格包含$N^U=18540$个顶点。图2(e)展示了对齐后的部件模型，(f)则展示了在静止姿态下应用混合矩阵$\mathbf{C}$后Frank模型的最终网格拓扑。混合矩阵$\mathbf{C}$是一个极其稀疏的矩阵：大多数行的某一列取值为1，其余位置为0，它只是简单地从对应的部件模型中复制顶点位置，仅在接缝处进行极少量的插值处理。

在Frank模型中，所有部件通过单一的骨骼层级结构刚性连接，这一点对于运动捕捉的输出而言至关重要。这种统一是通过用精细部件模型的对应骨骼层级替换SMPL身体骨骼中的手部和面部分支来实现的。Frank模型的所有参数都会针对运动跟踪和身份拟合进行联合优化。各部件模型的参数化细节将在后续章节中详细说明。

#### 3.2. 身体模型

对于身体部分，我们采用了经过少量修改的SMPL模型[^34]。本节我们将用我们的记号总结该模型的要点。身体模型$M^B$的定义如下：

 $$ \mathbf{V}^{B}=M^{B}(\boldsymbol{\theta}^{B},\boldsymbol{\phi}^{B},\boldsymbol{t}^{B}), $$

其中$\mathbf{V}^B = \{\mathbf{v}_i^B\}_{i=1}^N$。该模型采用一个包含$N^B=6890$个顶点的模板网格，我们将第i个顶点记为$\mathbf{v}_i^B \in \mathbb{R}^3$。该模板网格的顶点首先会根据描述身份或体型的一组混合形状进行变形。给定静止姿态下的顶点，通过线性蒙皮算法（LBS）利用每个关节的变换矩阵$\mathbf{T}_j^B \in \text{SE}(3)$来得到姿态变化后的网格顶点。

 $$ \mathbf{v}_{i}^{B}=\mathbf{I}_{3\times4}\cdot\sum_{j=1}^{J^{B}}w_{i,j}^{B}\mathbf{T}_{j}^{B}\begin{pmatrix}\mathbf{v}_{i}^{B0}+\sum_{k=1}^{K_{b}}\mathbf{b}_{i}^{k}\boldsymbol{\phi}_{k}^{B}\\ 1\end{pmatrix}, $$

其中$\mathbf{b}_i^k \in \mathbb{R}^3$是第k个混合形状的第i个顶点，$\phi_k^B$是$\phi^B \in \mathbb{R}^{K_b}$中的第k个体型系数，$K_b=10$表示身份体型系数的数量，$\mathbf{v}_i^{B0}$是平均形状的第i个顶点。变换矩阵$\mathbf{T}_j^B$编码了每个关节j从静止姿态到世界坐标系中姿态网格的变换信息，该变换是通过遍历骨骼层级结构得到的。

---

根关节的姿态参数为$\boldsymbol{\theta}^{B}$（详见[^34]）。第j个姿态参数$\boldsymbol{\theta}_{j}^{B}$是关节j相对于其父关节的相对旋转的角度-轴表示形式。$w_{i,j}^{B}$是变换$\mathbf{T}_{j}^{B}$对顶点i的影响权重，$\sum_{j=1}^{J^{B}} w_{i,j}^{B}=1$和$\mathbf{I}_{3\times4}$是用于将齐次坐标转换为三维向量的截断单位矩阵$3\times4$。我们使用$J^{B}=21$且$\boldsymbol{\theta}^{B}\in\mathbb{R}^{21\times3}$，同时忽略SMPL模型中每只手的最后一个关节。为简化起见，我们不使用依赖于姿态的混合形状$^{2}$。

#### 3.3. 面部模型

作为面部模型，我们基于FaceWarehouse数据集构建了一个生成式PCA模型[^15]。具体而言，面部部件模型$M^{F}$的定义如下：

 $$ \mathbf{V}^{F}=M^{F}(\boldsymbol{\theta}^{F},\boldsymbol{\phi}^{F},\mathbf{T}^{F}), $$

其中$\mathbf{V}^F = \{\mathbf{v}_i^F\}_{i=1}^{N^F}$，第i个顶点为$\mathbf{v}_i^F \in \mathbb{R}^3$，以及$N^F = 11510$。这些顶点是通过结合形状子空间和表情子空间来表示的：

 $$ \hat{\mathbf{v}}_{i}^{F}=\mathbf{v}_{i}^{F0}+\sum_{k=1}^{K_{f}}\mathbf{f}_{i}^{k}\boldsymbol{\phi}_{k}^{F}+\sum_{s=1}^{K_{e}}\mathbf{e}_{i}^{s}\boldsymbol{\theta}_{s}^{F} $$

其中，与之前一样，$\mathbf{v}_i^{F0}$表示平均形状的第i个顶点，而$\phi_k^F$和$\theta_s^F$分别是第k个面部身份（形状）参数和第s个面部表情（姿态）参数。这里，$\mathbf{f}_i^k \in \mathbb{R}^3$是第k个身份混合形状的第i个顶点($K_f = 150$)，而$\mathbf{e}_i^s \in \mathbb{R}^3$则是第s个表情混合形状的第i个顶点($K_e = 200$)。

最后，通过变换$\mathbf{T}^F$将面部顶点转换到世界坐标系中。为了确保面部顶点能随身体其他部分一起变换，我们假设平均面部$\mathbf{v}_i^F$与身体的平均形状对齐，如图2所示，这一操作是在建模时手动完成的。这样一来，我们就可以将方程9中身体模型头部关节的变换$\mathbf{T}_j^B = \left( \mathbf{0}^B \right)$作为面部模型的全局变换。不过，为了使面部与身体保持对齐，还需要额外的变换矩阵$\mathbf{\Gamma}^F \in \mathrm{SE}(3)$来补偿因身体形状变化而导致的面部关节根节点的位移，如方程6所示。

最终，每个面部顶点的位置由下式给出：

 $$ \mathbf{v}_{i}^{F}=\mathbf{I}_{3\times4}\cdot\mathbf{T}_{j=F}^{B}\cdot\mathbf{\Gamma}^{F}\begin{pmatrix}\hat{\mathbf{v}}_{i}^{F}\\ 1\end{pmatrix}, $$

其中变换$\Gamma^F$由身体形状参数$\phi^B$直接决定，它负责将面部模型与身体模型对齐。

#### 3.4. 手部模型

我们采用了由艺术家制作的骨骼绑定手部网格。我们的手部模型包含$J^H = 16$个关节，网格同样通过线性混合蒙皮技术进行变形。该手部模型具有固定的形状，但我们为每块骨骼引入了缩放参数，以适应不同的手指尺寸。第j个关节的变换由相对于其父关节的欧拉角旋转$\boldsymbol{\theta}_j^H \in \mathbb{R}^3$以及沿各轴的额外各向异性缩放因子$\phi_j^H \in \mathbb{R}^3$来参数化。具体来说，在骨骼的局部参考系中，第j个关节的线性变换为$\text{eul}(\boldsymbol{\theta}_j^H) \cdot \text{diag}(\boldsymbol{s}_j^H)$，其中$\text{eul}(\boldsymbol{\theta}_j^H)$负责将欧拉角表示转换为$3 \times 3$旋转矩阵，而$\text{diag}(\phi_j^H)$则是对角线元素为X、Y、Z缩放因子$3 \times 3$的$\phi_j^H$对角矩阵。世界坐标系下的手部顶点通过带权重$w_{i,j}^H$的线性混合蒙皮技术计算得出：

 $$ \mathbf{v}_{i}^{H}=\mathbf{I}_{3\times4}\cdot\mathbf{T}_{j=H}^{B}\cdot\mathbf{\Gamma}^{H}\cdot\sum_{j=1}^{J}w_{i,j}^{H}\mathbf{T}_{j}^{H}\begin{pmatrix}\mathbf{v}_{i}^{H0}\\ 1\end{pmatrix}. $$

其中$\mathbf{v}_i^{H_0}$表示平均形状的第i个顶点，$\mathbf{T}_j^H$是每块骨骼的复合变换（包含其层级中的所有父关节变换），$\mathbf{T}_{j=H}^B \in \text{SE}(3)$是身体模型中对应手部关节的变换，而$\mathbf{\Gamma}^H$则是将手部模型与身体模型对齐的变换。与面部模型类似，这一变换也依赖于身体模型的形状参数。

### 4. 使用Frank进行动作捕捉

我们采用Frank模型对数据进行处理，以捕捉包括主要肢体、面部和手指在内的全身运动。我们的动作捕捉方法主要依赖于将网格对应关系拟合到3D关键点，这些关键点是通过对多个摄像头视角下的2D关键点检测进行三角测量得到的。为了获取形状信息，我们还使用了多视角立体重建生成的点云。模型拟合是通过优化框架来完成的，该框架旨在最小化对应模型关节与表面点以及3D关键点检测之间的距离；同时利用迭代最近点（ICP）算法来处理3D点云。更多细节请参阅补充材料。

#### 4.1. 3D测量

如Fig. 3所示，我们的框架中整合了两种类型的测量数据：(1) 对应的3D关键点，它们映射到网格模型上已知的关节或表面点（参见Fig. 2）；(2) 来自多视角立体重建的未对应3D点，我们通过ICP算法将其匹配。

3D身体、面部和手部关键点：我们在每个可用视角下使用OpenPose检测器[^27]来生成身体的2D关键点，该方法源自Cao等人[^16]的研究；手部与面部关键点则采用相应方法提取。

---

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

<div style="text-align: center;">(a) 3D Key Points</div>

<div style="text-align: center;">(b) 3D Point Cloud by MVS</div>

<div style="text-align: center;">(c) Frank Model Fitting Result</div>

<div style="text-align: center;">Figure 3: Fitting Frank: The optimization takes, as input, (a) 3D keypoints, and (b) point clouds, and produces (c) a fitted skeleton and mesh as output.</div>

Simon等人[^44]提出了相关方法。3D人体骨骼是通过2D检测结果利用[^29]的方法获得的，该方法需借助已知的相机校准参数来进行重建。3D手部关键点是通过对2D手部姿态检测进行三角测量得到的，此方法同样源自[^44]的研究；面部关键点也是如此获取。需要注意的是，如果用于三角测量的2D检测结果不足，那么部分3D关键点可能会完全缺失，这种情况在存在相互遮挡或运动模糊的复杂场景中尤为常见。

3D脚部关键点：OpenPose检测器缺少的一个重要线索就是脚部关键点。对于动作捕捉而言，这是准确确定脚部朝向的关键特征。因此，我们针对大脚趾尖、小脚趾尖以及脚掌部位训练了关键点检测器。我们在COCO数据集的大约5000个人员实例中标注了每只脚的这3个关键点，并采用Wei等人[^58]提出的架构，同时结合由3D身体检测确定的脚部边界框来进行识别。正如Simon等人[^44]所描述的那样，我们还在Panoptic Studio中应用多视角自举法来提升检测质量。

3D点云：我们使用商业软件RealityCapture[^1]从多视角图像中获取3D点云，同时获得相关的点法线信息。

#### 4.2. 目标函数

我们最初独立地对序列中的每一帧进行拟合。为表述清晰，我们省略符号中的时间索引，仅描述单帧的处理过程，该过程会优化下述代价函数：

 $$ E\big(\pmb{\theta}^{U},\phi^{U},\pmb{t}^{U}\big)=E_{\mathrm{k e y p o i n t s}}+E_{\mathrm{i c p}}+E_{\mathrm{s e a m}}+E_{\mathrm{p r i o r}} $$

我们采用Levenberg-Marquardt算法，配合Ceres Solver库[^3]分多个阶段执行优化，以避免陷入局部最小值。具体细节请参阅补充材料。

解剖关键点代价：术语$E_{keypoints}$指的是3D关键点检测结果，这些点与我们的网格模型直接对应。该术语包括身体和手部的关节（或末端执行器），也包含与网格表面相对应的点（例如面部关键点以及手指和脚趾的尖端）。这两种对应关系都通过回归矩阵$\mathbf{J} \in \mathbb{R}^{C \times N^U}$以顶点的组合形式表示，其中C表示对应的数量，$N^U$表示模型中的顶点数。设$\mathcal{D}$表示某一帧中可用的检测集合。则代价为：

 $$ \begin{array}{r l}&{E_{\mathrm{k e y p o i n t s}}=\lambda_{\mathrm{k e y p o i n t s}}\displaystyle\sum_{i\in\mathcal{D}}||\mathbf{J}_{i}\mathbf{V}-\mathbf{y}_{i}^{T}||^{2},}\end{array} $$

其中$\mathbf{J}_i$用于索引对应关系回归矩阵中的一行，它表示利用少量顶点插值得到的位置，而$\mathbf{y}_i \in \mathbb{R}^{3 \times 1}$则是3D检测结果。$\lambda_{\text{keypoints}}$是该项的相对权重。

ICP代价：3D点云测量结果与模型网格事先并无对应关系。因此，我们在每次求解迭代过程中使用迭代最近点算法（ICP）来建立它们与网格的对应关系。我们找到点云中与每个网格顶点最接近的三维点，并计算点到平面的残差，即沿法线方向的距离，

 $$ E_{\mathrm{i c p}}=\lambda_{\mathrm{i c p}}\sum_{\mathbf{v}_{j}\in\mathbf{V}^{U}}\mathbf{n}(\mathbf{x}_{j^{*}})^{T}(\mathbf{x}_{j^{*}}-\mathbf{v}_{j}), $$

其中$\mathbf{x}_i^*$是距离第j个顶点$\mathbf{v}_j$最近的三维点，$\mathbf{n}(\cdot) \in \mathbb{R}^3$表示该点的法线，$\lambda_{\mathrm{icp}}$是该项的相对权重。

接缝约束：构成Frank模型的各个部件模型通过骨骼层级结构刚性连接。然而，每个部件模型的独立曲面参数化可能会在部件边界处产生不连续性（例如粗大的手臂与细小的手腕）。为避免这种现象，我们通过惩罚每个部件接缝处最后两圈顶点与静止姿态下人体模型中对应最近点之间的差异，来促使接缝处的顶点彼此靠近；这种关系用重心坐标来表示。

先验代价：根据某一帧中可用的测量数据量，$M^U$的参数集可能无法被唯一确定（例如手指的宽度）。更重要的是，3D点云存在噪声，且由于头发和衣物等因素无法被SMPL及FaceWarehouse网格很好地描述，从而导致ICP过程中出现错误的对应关系。此外，模型中的关节位置也不一定符合训练2D检测器时所采用的标注标准。因此，我们不得不对模型参数设置先验约束，以防止模型过度拟合这些噪声源，$E_{\text{prior}} = E_{\text{prior}}^F + E_{\text{prior}}^B + E_{\text{prior}}^H$。每个部件的先验由相应的形状和姿态先验定义，我们对除缩放因子外的每个参数采用均值为零的标准—

---

![Image](images/e5184edabaf962577cd42a35a185453a020cfff969ab39b0dc5e7d617024ccdd.jpg)

<div style="text-align: center;">Figure 4: Regressing detection target 3D positions. (Left) The template model is aligned with target object; (Mid.) The torso joints of the template model (magenta) have discrepancy from the joint definitions of 3D keypoint detection (cyan); (Right) The newly regressed target locations (green) are more consistent with 3D keypoint detections.</div>

正态先验，同时鼓励缩放因子的值接近1。

### 5. 创建Adam

我们提出了一种新模型——Adam，它能够以比基于部件的Frank模型更简单的参数化方式实现全身运动捕捉。具体而言，该新模型采用单一的关节层级结构，且所有形状自由度均采用统一的参数化方式，从而将面部、手部与身体形状联系在一起，无需单独的部件参数化或接缝约束。要构建这一模型，必须将重建后的网格与不同受试者的各身体部位（面部、身体和手部）对齐，以便模型能够学习其中的变化规律。为此，我们利用Frank模型，将其应用于包含70名受试者的数据集，这些受试者会在多视角摄像系统中完成一系列简短动作。我们为每个人选取5个不同姿势的帧，共得到350个网格，再用Frank模型对其进行重建，生成带有关节位置的对齐网格以构建Adam模型。由于该模型是基于混合形状推导而来的，因此能在粗略层面上解释服装带来的变化。

#### 5.1. 服装与头发的拟合

Frank模型能够捕捉人体和面部的形状变化，但并未考虑服装和头发因素，因为它保留了部件模型的原始模型空间([^34]和[^15])。为了学习一组能更好捕捉着衣人体粗略几何特征并大致模拟头发的新型线性混合形状，我们需要让网格更准确地匹配源数据的几何形态。为此，我们沿着每个顶点的法线方向在形状空间之外对网格进行变形。对于Frank模型中的每个顶点$v_i$，变形后的网格顶点$\tilde{v}_i$可表示为：

 $$ \begin{array}{r}{\tilde{\mathbf{v}}_{i}=\mathbf{v}_{i}+\mathbf{n}(\mathbf{v}_{i})\delta_{i},}\end{array} $$

其中$\delta_i \in \mathbb{R}$是一个标量位移量，用于补偿Frank模型顶点与3D点云之间沿各顶点法线方向的差异。我们将这一问题转化为线性方程组：

 $$ \left(\begin{matrix}{\mathbf{N}^{T}}\\ {(\mathbf{W L N})^{T}}\\ \end{matrix}\right)\Delta=\left(\begin{matrix}{(\mathbf{P}-\mathbf{V}^{U})^{T}}\\ {\mathbf{0}}\\ \end{matrix}\right), $$

其中$\Delta \in \mathbb{R}^{N^U}$包含了堆叠的各顶点位移量，$\mathbf{V}^U$是Frank模型中的顶点，$\mathbf{P} \in \mathbb{R}^{N^U \times 3}$是对应的点云点，$\mathbf{N} \in \mathbb{R}^{N^U \times 3}$包含网格顶点法线，$\mathbf{L} \in \mathbb{R}^{N^U \times N^U}$则是用于规范变形的拉普拉斯-贝尔特拉米算子。我们还使用了对角权重矩阵$\mathbf{W} \in \mathbb{R}^{N^U \times N^U}$，以避免在3D点云分辨率低于原始网格的区域（如面部和手部细节处）产生过大变形。

#### 5.2. 检测目标回归

LBS模型的关节位置（即骨骼变形的3D旋转中心）与关键点检测结果的位置之间存在显著差异（关键点检测是基于人工标注的2D图像中解剖关节位置的估计值），如图4所示。这种差异会导致模型即便在关键点误差$E_{\text{keypoints}}$较低时仍会趋向不良拟合，尤其是肩部和髋部。我们通过计算新的回归函数$\mathbf{J}^A \in \mathbb{R}^{J^A \times N^U}$来缓解这一问题，该函数将身体模型中的顶点与3D关键点检测的预期位置相关联。不过，要学习这些回归器，我们需要有已拟合的模型顶点实例以及3D关键点检测数据。

因此，我们首先使用原始关节位置作为检测目标，拟合Frank模型（包含额外的形状变化），从而得到所有受试者的对齐网格。基于这些输出结果，我们可以以3D关键点测量的位置而非Frank模型的关节位置作为目标，来构建回归矩阵。与SMPL中的关节回归类似[^34]，我们首先选取每个检测目标附近的顶点子集，然后估算这些顶点的固定且稀疏的线性组合，以近似所有拟合网格中3D关键点的位置。这一优化过程被表述为带有非负约束的L1正则化最小二乘问题，同时我们还要求顶点权重之和为一，最终形成插值结果。

相关结果如图4所示。需要注意的是，这个新的回归器仅用于方程(12)中的优化，而SMPL中原有的关节回归器[^34]、$\mathbf{J}^A$则用于LBS计算。不过，我们也在关节回归矩阵中新增了行来对应额外的手指关节，采用相同的方法求解。最终得到的矩阵为$\mathbf{J}^A \in \mathbb{R}^{J^A \times N^U}$，其中$N^U$是Adam模型的顶点数（与Frank模型相同），$J^A = 61$是Adam模型中的关节总数，包括21个身体关节以及每只手20个手指关节（含5个指尖关节）。

---

<div style="text-align: center;">Table 1: Accuracy of Silhouettes from different models</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>SMPL[^34]</td><td style='text-align: center; word-wrap: break-word;'>Frank</td><td style='text-align: center; word-wrap: break-word;'>Frank ICP</td><td style='text-align: center; word-wrap: break-word;'>Adam ICP</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Mean</td><td style='text-align: center; word-wrap: break-word;'>84.79%</td><td style='text-align: center; word-wrap: break-word;'>85.91%</td><td style='text-align: center; word-wrap: break-word;'>87.68%</td><td style='text-align: center; word-wrap: break-word;'>87.74%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Std.</td><td style='text-align: center; word-wrap: break-word;'>4.55</td><td style='text-align: center; word-wrap: break-word;'>4.57</td><td style='text-align: center; word-wrap: break-word;'>4.53</td><td style='text-align: center; word-wrap: break-word;'>4.18</td></tr></table>

#### 5.3. 构建形状变形空间

在使用$\Delta$位移进行模型拟合后，我们将每一帧的表面变形为静止姿态，即应用LBS变换的逆运算。将拟合后的表面变形到这一规范姿态后，我们开展PCA分析，以构建一个能够捕捉全身形状变化的联合线性形状空间。如3.3节所述，我们分离出面部表情基，保留Face-Warehouse模型中的表情基，因为我们的MVS点云分辨率太低，无法拟合面部表情。

Adam模型的参数化表示为：

 $$ \boldsymbol{M}^{A}(\boldsymbol{\theta}^{A},\boldsymbol{\phi}^{A},\boldsymbol{t}^{A})=\mathbf{V}^{A} $$

其中$\mathbf{V}^A = \{\mathbf{v}_i^A\}_{i=1}^N$和$N^A = 18540$等同于Frank模型中的顶点数$N^U$。与SMPL类似，该模板网格的顶点首先会在静止姿态下被一组混合形状所位移，即$\hat{\mathbf{v}}_i^A = \mathbf{v}_i^{A0} + \sum_{k=1}^{K_A} \mathbf{s}_i^k \phi_k^A$；此处$\mathbf{s}_i^k \in \mathbb{R}^3$是第k个混合形状的第i个顶点，$\phi_k^A$是$\phi^A \in \mathbb{R}^{K_b}$的第k个形状系数，$K_A = 40$是恒等系数的数量，$\mathbf{v}^{A0}$是平均形状，$\mathbf{v}_i^{A0}$是其第i个顶点。需要注意的是，这些混合形状现在能够捕捉面部、手部及身体的变化。在通过关节回归矩阵$\mathbf{J}^A$获取关节位置后，再按照方程(6)的方式利用LBS对这些混合形状进行姿态调整。

#### 5.4. 基于Adam的跟踪

利用Adam捕捉全身运动的代价函数与方程11类似，只是不含接缝项：

 $$ E\bigl(\boldsymbol{\theta}^{A},\phi^{A},\boldsymbol{t}^{A}\bigr)=E_{\mathrm{k e y p o i n t s}}+E_{\mathrm{i c p}}+E_{\mathrm{p r i o r}}. $$

不过，与Frank模型相比，Adam模型更易于优化：它为所有部位提供了统一的一组形状和姿态参数，且无需对不同模型之间的接缝施加约束。

### 6. 实验结果

我们使用两款模型——Frank和Adam，在各种具有挑战性的序列上执行全身动作捕捉。实验所用数据集是在CMU Panoptic Studio中采集的 [^28] [^29]。我们采用140台VGA摄像头来重建3D人体关键点，480台VGA摄像头用于捕捉脚部数据，31台高清摄像头则用于获取面部和手部关键点以及3D点云数据。我们将模型生成的拟合结果与简化的$^{3}$ SMPL模型 [^34] 进行对比。

![Image](images/54e1f2ee6cd73c1fca7ad16ed3e06ff6afc4bd9994edb5acff8c976740a2db07.jpg)

<div style="text-align: center;">Figure 5: (Top) The silhouette from different methods overlayed with ground-truth. The ground truth is drawn in the red channel and the rendered silhouette masks from each model are drawn in the green channel. Thus, the correctly overlapped region is shown as yellow color. (Bottom) Silhouette accuracy compared to the ground truth silhouette.</div>

#### 6.1. 定量评估

我们通过测量10秒序列中模型拟合结果与真实轮廓之间的重叠程度，来评估各模型匹配运动人物的能力，评估过程涵盖5个不同的视角。为获取真实轮廓，我们采用基于高斯模型的背景减除算法来处理每个像素的颜色信息，再通过形态学变换进行后处理以去除噪声。作为评估指标，我们计算模型拟合后生成的前景掩码与真实轮廓并集之间的重叠百分比。在此，我们比较了三种模型的拟合结果：SMPL、我们的Frank模型以及Adam模型。结果如图5和表1所示。首先，我们仅利用3D关键点作为测量依据，对比SMPL与Frank模型的精度。Frank相比SMPL的主要优势体现在关节化手部模型上（从结构上看，两者的人体部分几乎一致）；加入ICP项作为约束条件后，精度进一步提升。最后，在对比我们的两款模型时，发现它们的表现几乎相当。理论上来说，Adam应该优于Frank，因为它在头发和服装的表达上更具灵活性，且在某些体型上表现更好（见图5中第50-75帧）。不过，Adam有时会产生一些误差，导致精度降低：它往往会生成更细的腿部，这主要是由于训练数据中3D点云重建效果不佳所致 $^{4}$。不过，Adam在全身动作捕捉方面更为简便，一旦有更大规模且采集设置更优的数据集，它还有很大的改进潜力。

---

![Image](images/930d94a462d3f3e7ac00a1fb7eae9dd228146d1e9aa4211710c0882efa193628.jpg)

<div style="text-align: center;">Figure 6: Total body reconstruction results on various human body motions. For each example scene, the fitting results from three different models are shown by different colors (pink for SMPL [^34], silver for Frank, and gold for Adam).</div>

#### 6.2. 定性结果

我们在包含面部和手部自然运动的序列上测试了我们的方法。这些序列包括用于构建Adam模型的70人的小范围运动数据、多人社交互动场景、需要灵巧手部动作的家具组装过程、音乐表演（大提琴和吉他演奏），以及打字等常见的日常动作。由于捕捉细微细节是实现逼真效果的关键，因此这些序列在以往的无标记动作捕捉方法中很少被涉及。示例结果如图6所示，但最佳观赏效果还需观看配套视频。在此，我们还定性地将我们的模型（Frank为银色，Adam为金色）与SMPL模型（无姿势混合形状，粉色） [^34] 进行了对比。值得注意的是，基于我们的模型进行的全身动作捕捉能够捕捉到手部和面部的细微细节，从而呈现出更逼真的效果。

### 7. 讨论

我们提出了首个无需标记的方法，能够在远距离下捕捉全身运动，包括面部表情、躯干与四肢的运动以及手部动作。为实现这一成果，我们设计了Frank和Adam两种模型，分别用于表达不同部位的运动。我们的重建结果显示出令人惊叹且逼真的效果，即便仅利用稀疏的3D关键点检测数据来驱动这些模型也是如此。目前该系统存在一定局限性：由于训练样本数量有限，Adam在表面细节的表现力上有所欠缺。不过，Adam模型相较于Frank的主要优势在于其更简洁的表达方式，能够捕捉全身运动，这对其余应用场景而言极具价值。

我们的论文提出了两点值得关注的观点。首先，无标记手部运动捕捉技术常被认为比身体和面部捕捉更具挑战性，但我们的研究结果却显示出更好的定位质量。人体关节位于身体内部，对于穿着衣物的受试者而言难以定位；一旦面部未正对摄像头，面部重建的精度也会大幅下降。然而，手部通常裸露在外，手部关键点检测器[^44]即便在自遮挡情况下也能提供置信度较高的估算测量结果，这些数据可多视角融合使用。其次，我们的结果预示着无标记运动捕捉技术最终有望超越基于标记的技术。基于标记的方法极易受遮挡影响，难以同时捕捉身体和手部运动，而我们的方法却能借助基于学习的关键点检测器，利用被遮挡部位的测量数据。

---

## 参考文献

[^1]: Realitycapture software. <https://www.capturingreality.com/>.

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

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

[^4]: D. Anguelov, P. Srinivasan, D. Koller, S. Thrun, J. Rodgers, and J. Davis. Scape: shape completion and animation of people. In ToG, 2005.

[^5]: A. Baak, M. Müller, G. Bharaj, H.-P. Seidel, and C. Theobalt. A data-driven approach for real-time full body pose reconstruction from a depth camera. In Consumer Depth Cameras for Computer Vision. Springer, 2013.

[^6]: L. Ballan, A. Taneja, J. Gall, L. Van Gool, and M. Pollefeys. Motion capture of hands in action using discriminative salient points. In ECCV, 2012.

[^7]: T. Beeler, B. Bickel, P. Beardsley, B. Sumner, and M. Gross. High-quality single-shot capture of facial geometry. In TOG, 2010.

[^8]: T. Beeler, F. Hahn, D. Bradley, B. Bickel, P. Beardsley, C. Gotsman, R. Sumner, and M. Gross. High-quality passive facial performance capture using anchor frames. In TOG, 2011.

[^9]: R. Birdwhistell. Kinesics and context: Essays on body motion communication. In University of Pennsylvania Press, Philadelphia, 1970.

[^10]: F. Bogo, A. Kanazawa, C. Lassner, P. V. Gehler, J. Romero, and M. J. Black. Keep it SMPL: automatic estimation of 3d human pose and shape from a single image. In CoRR, 2016.

[^11]: D. Bradley, W. Heidrich, T. Popa, and A. Sheffer. High resolution passive facial performance capture. In TOG, 2010.

[^12]: C. Bregler, J. Malik, and K. Pullen. Twist based acquisition and tracking of animal and human kinematics. In IJCV, 2004.

[^13]: T. Brox, B. Rosenhahn, J. Gall, and D. Cremers. Combined region and motion-based 3D tracking of rigid and articulated objects. In TPAMI, 2010.

[^14]: C. Cao, D. Bradley, K. Zhou, and T. Beeler. Real-time high-fidelity facial performance capture. In TOG, 2015.

[^15]: C. Cao, Y. Weng, S. Zhou, Y. Tong, and K. Zhou. Facewarehouse: A 3d facial expression database for visual computing. In TVCG, 2014.

[^16]: Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh. Realtime multi-person 2d pose estimation using part affinity fields. In CVPR, 2017.

[^17]: K. M. Cheung, S. Baker, and T. Kanade. Shape-from-silhouette across time part i: Theory and algorithms. In IJCV, 2005.

[^18]: S. Corazza, L. Mündermann, E. Gambaretto, G. Ferrigno, and T. P. Andriacchi. Markerless Motion Capture through Visual Hull, Articulated ICP and Subject Specific Model Generation. In IJCV, 2010.

[^19]: E. de Aguiar, C. Stoll, C. Theobalt, N. Ahmed, H.-P. Seidel, and S. Thrun. Performance capture from sparse multi-view video. In SIGGRAPH, 2008.

[^20]: F. De la Torre, W.-S. Chu, X. Xiong, F. Vicente, X. Ding, and J. F. Cohn. Infraface. In FG, 2015.

[^21]: 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.

[^22]: Y. Furukawa and J. Ponce. Dense 3d motion capture from synchronized video streams. In CVPR, 2008.

[^23]: J. Gall, C. Stoll, E. De Aguiar, C. Theobalt, B. Rosenhahn, and H.-P. Seidel. Motion capture using joint skeleton tracking and surface estimation. In CVPR. IEEE, 2009.

[^24]: P. Garrido, L. Valgaerts, C. Wu, and C. Theobalt. Reconstructing detailed dynamic face geometry from monocular video. In TOG, 2013.

[^25]: D. Gavrila and L. Davis. Tracking of humans in action: A 3-D model-based approach. In ARPA Image Understanding Workshop, 1996.

[^26]: A. Ghosh, G. Fyffe, B. Tunwattanapong, J. Busch, X. Yu, and P. Debevec. Multiview face capture using polarized spherical gradient illumination. In TOG, 2011.

[^27]: G. Hidalgo, Z. Cao, T. Simon, S.-E. Wei, H. Joo, and Y. Sheikh. Openpose. <https://github.com/CMU-Perceptual-Computing-Lab/openpose>.

[^28]: H. Joo, H. Liu, L. Tan, L. Gui, B. Nabbe, I. Matthews, T. Kanade, S. Nobuhara, and Y. Sheikh. Panoptic studio: A massively multiview system for social motion capture. In ICCV, 2015.

[^29]: H. Joo, T. Simon, X. Li, H. Liu, L. Tan, L. Gui, S. Banerjee, T. Godisart, B. Nabbe, I. Matthews, et al. Panoptic studio: A massively multiview system for social interaction capture. In TPAMI, 2017.

[^30]: R. Kehl and L. V. Gool. Markerless tracking of complex human motions from multiple views. In CVIU, 2006.

[^31]: C. Keskin, F. Kiraç, Y. E. Kara, and L. Akarun. Hand pose estimation and hand shape classification using multi-layered randomized decision forests. In ECCV, 2012.

[^32]: H. Li, J. Yu, Y. Ye, and C. Bregler. Realtime facial animation with on-the-fly correctives. In TOG, 2013.

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

[^34]: M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, and M. J. Black. Smpl: A skinned multi-person linear model. In TOG, 2015.

[^35]: D. Mehta, S. Sridhar, O. Sotnychenko, H. Rhodin, M. Shafiei, H. Seidel, W. Xu, D. Casas, and C. Theobalt. Vnect: Real-time 3d human pose estimation with a single RGB camera. In TOG, 2017.

[^36]: A. Newell, K. Yang, and J. Deng. Stacked hourglass networks for human pose estimation. In ECCV, 2016.

[^37]: I. Oikonomidis, N. Kyriazis, and A. A. Argyros. Tracking the articulated motion of two strongly interacting hands. In CVPR, 2012.

[^38]: S. I. Park and J. K. Hodgins. Capturing and animating skin deformation in human motion. In TOG, 2006.

[^39]: G. Pons-Moll, S. Pujades, S. Hu, and M. J. Black. Clothcap: Seamless 4d clothing capture and retargeting. TOG, 2017.

## [^40]: G. Pons-Moll, J. Romero, N. Mahmood, and M. J. Black. Dyna: A model of dynamic human shape in motion. In TOG, 2015

---

[^41]: J. Romero, D. Tzionas, and M. J. Black. Embodied hands: Modeling and capturing hands and bodies together. In TOG, 2017.

[^42]: T. Sharp, C. Keskin, D. Robertson, J. Taylor, J. Shotton, D. Kim, C. Rhemann, I. Leichter, A. Vinnikov, Y. Wei, et al. Accurate, robust, and flexible real-time hand tracking. In CHI, 2015.

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

[^44]: T. Simon, H. Joo, I. Matthews, and Y. Sheikh. Hand keypoint detection in single images using multiview bootstrapping. In CVPR, 2017.

[^45]: S. Sridhar, F. Mueller, A. Oulasvirta, and C. Theobalt. Fast and robust hand tracking using detection-guided optimization. In CVPR, 2015.

[^46]: S. Sridhar, A. Oulasvirta, and C. Theobalt. Interactive markerless articulated hand motion tracking using RGB and depth data. In ICCV, 2013.

[^47]: C. Stoll, N. Hasler, J. Gall, H.-P. Seidel, and C. Theobalt. Fast articulated motion tracking using a sums of gaussians body model. In ICCV, 2011.

[^48]: X. Sun, Y. Wei, S. Liang, X. Tang, and J. Sun. Cascaded hand pose regression. In CVPR, 2015.

[^49]: D. Tang, H. Jin Chang, A. Tejani, and T.-K. Kim. Latent regression forest: Structured estimation of 3D articulated hand posture. In CVPR, 2014.

[^50]: J. Thies, M. Zollhofer, M. Stamminger, C. Theobalt, and M. Nießner. Face2face: Real-time face capture and reenactment of rgb videos. In CVPR, 2016.

[^51]: D. Tome, C. Russell, and L. Agapito. Lifting from the deep: Convolutional 3d pose estimation from a single image. In CVPR, 2017.

[^52]: J. J. Tompson, A. Jain, Y. LeCun, and C. Bregler. Joint training of a convolutional network and a graphical model for human pose estimation. In NIPS, 2014.

[^53]: D. Tzionas, L. Ballan, A. Srikantha, P. Aponte, M. Pollefeys, and J. Gall. Capturing hands in action using discriminative salient points and physics simulation. In IJCV, 2016.

[^54]: L. Valgaerts, C. Wu, A. Bruhn, H.-P. Seidel, and C. Theobalt. Lightweight binocular facial performance capture under uncontrolled lighting. In TOG, 2012.

[^55]: D. Vlasic, I. Baran, W. Matusik, and J. Popović. Articulated mesh animation from multi-view silhouettes. In TOG, 2008.

[^56]: D. Vlasic, P. Peers, I. Baran, P. Debevec, J. Popović, S. Rusinkiewicz, and W. Matusik. Dynamic shape capture using multi-view photometric stereo. In SIGGRAPH, 2009.

[^57]: C. Wan, A. Yao, and L. Van Gool. Direction matters: hand pose estimation from local surface normals. In arXiv preprint arXiv:1604.02657, 2016.

[^58]: S.-E. Wei, V. Ramakrishna, T. Kanade, and Y. Sheikh. Convolutional pose machines. In CVPR, 2016.

[^59]: H. Woltring. New possibilities for human motion studies by real-time light spot position measurement. In Biotelemetry, 1973.

[^60]: C. Wu, D. Bradley, M. Gross, and T. Beeler. An anatomically-constrained local deformation model for monocular face capture. In TOG, 2016.

[^61]: C. Xu and L. Cheng. Efficient hand pose estimation from a single depth image. In ICCV, 2013.

[^62]: Q. Ye, S. Yuan, and T.-K. Kim. Spatial attention deep net with partial pso for hierarchical hybrid hand pose estimation. In ECCV, 2016.

[^63]: C. Zhang, S. Pujades, M. Black, and G. Pons-Moll. Detailed, accurate, human shape estimation from clothed 3d scan sequences. In CVPR, 2017.

[^64]: X. Zhou, S. Leonardos, X. Hu, and K. Daniilidis. 3d shape estimation from 2d landmarks: A convex relaxation approach. In CVPR, 2015.

[^65]: X. Zhou, X. Sun, W. Zhang, S. Liang, and Y. Wei. Deep kinematic pose regression. In ECCV Workshop on Geometry Meets Deep Learning, 2016.
