
# 基于单张RGB图像的3D手部形状和姿态估计

Ge Liuhao $^{1*}$，任周 $^{2}$，李云成 $^{3}$，薛泽浩 $^{3}$，王颖颖 $^{3}$，蔡建飞 $^{1}$，袁俊松 $^{4}$

$^{1}$南洋理工大学

$^{2}$Wormpex AI研究院

$^{3}$Span Inc公司

$^{4}$纽约州立大学布法罗分校

$^{4}$纽约州立大学布法罗分校

<mailto:ge0001ao@e.ntu.edu.sg>, <mailto:zhou.ren@bianlifeng.com>, <mailto:yuncheng.li@snap.com>, <mailto:zehao.xue@snap.com>, <mailto:ywang@snap.com>, <mailto:asjfcai@ntu.edu.sg>, <mailto:jsyuan@buffalo.edu>

## 摘要

本研究致力于解决一个新颖且具有挑战性的问题：从单张RGB图像中估计完整的3D手部形状和姿态。目前大多数基于单目RGB图像的3D手部分析方法仅专注于估计手部关键点的3D位置，无法完整表达手部的3D形状。相比之下，我们提出了一种基于图卷积神经网络（Graph CNN）的方法，用于重建包含更丰富3D手部形状和姿态信息的完整手部表面3D网格。为了对网络进行全监督训练，我们构建了一个大规模合成数据集，其中包含真实的3D网格和3D姿态标签。当在缺乏3D真实标签的真实数据集上微调网络时，我们提出了一种弱监督方法，利用深度图作为训练中的弱监督信号。通过在我们所提出的新数据集以及两个公开数据集上进行大量实验评估，结果表明我们提出的方法能够生成准确且合理的3D手部网格，并且在3D手部姿态估计精度方面优于现有最先进方法。

### 1. 引言

基于视觉的3D手部分析是一个非常重要的研究方向，因为它在虚拟现实（VR）和增强现实（AR）领域有诸多应用。然而，尽管经过多年研究[^40] [^57] [^58] [^47] [^45] [^13] [^27]，由于手部形状、姿态、手势、遮挡等的多样性和复杂性，该问题仍未被完全解决。过去十年间，基于深度图像的3D手部姿态估计取得了快速进展[^35] [^52] [^12] [^15] [^14] [^61] [^11] [^16]。考虑到RGB相机比深度相机更为普及，近期一些研究开始探索基于单目RGB图像的3D手部分析，这类研究主要聚焦于估计稀疏的3D手部关节位置，却忽略了密集的3D手部形状信息。

![Image](images/96c5e2c6efd5d8ce36548e04a5cd68c68c4021c8aafebb8fc79030081c16e0ad.jpg)

<div style="text-align: center;">Figure 1: Our proposed method is able to not only estimate 2D/3D hand joint locations, but also recover a full 3D mesh of hand surface from a single RGB image. We show our estimation results on our proposed synthetic and real-world datasets as well as the STB real-world dataset [^62].</div>

[^63]: [^44] [^32] [^5] [^20] [^36] [^38]。不过，许多沉浸式VR和AR应用往往需要对3D手部姿态和3D手部形状进行精确估计。

这促使我们提出一项更具挑战性的任务：如何仅通过单张RGB图像，同时估计3D手部关节位置以及完整的手部表面3D网格？在本研究中，我们针对该任务给出了可靠的解决方案，如图1所示。

单视角3D手部形状估计任务此前已有研究，但大多是在有深度传感器的受控环境中进行的。其基本思路是通过迭代优化将生成式3D手部模型拟合到输入的深度图像上 [^49] [^30] [^24] [^21] [^51] [^41]。相比之下，本文旨在从单目RGB图像中估计3D手部形状，这一方向目前尚未得到充分研究。由于RGB图像中缺乏显式的深度线索，这类任务很难通过迭代优化方法来解决。在本研究中，我们采用端到端训练的深度神经网络，直接从单张RGB图像中恢复3D手部网格。具体而言，我们预先定义好表征手部表面的三角网格拓扑结构，目标是利用深度神经网络估计出网格中所有顶点的3D坐标。要实现这一目标，面临诸多挑战。

---

首个挑战是3D手部网格生成的输出空间维度极高。与估计手部骨骼的稀疏3D关节位置（如21个关节）相比，利用传统CNN估计密集网格顶点（如1280个顶点）的3D坐标要困难得多。一种直接的解决方案是沿用人体形状估计中的常用方法 [^53] [^48] [^37] [^22]，即回归预定义的可变形手部模型的低维参数，例如MANO模型 [^42]。

在本文中，我们认为输出的3D手部网格顶点本质上属于图结构数据，因为3D网格可以很容易地表示为图。为了输出此类图结构数据，并更好地利用图中网格顶点间的拓扑关系，受近期关于图卷积神经网络研究的启发 [^8] [^39] [^56]，我们提出了一种新颖的基于图卷积神经网络的方法。具体而言，我们分层采用图卷积操作 [^8]，结合上采样和非线性激活函数，从骨干网络提取的图像特征中生成图形式的3D手部网格顶点。借助这种可端到端训练的框架，我们基于图卷积神经网络的方法能够更好地表征变化多样的3D手部形状，也能更精准地呈现3D手部形状的局部细节。

除了计算模型方面的挑战外，另一个难题是缺乏针对真实世界图像的3D手部网格真值训练数据。手动为真实世界的RGB图像标注3D手部网格真值既费时又费力。因此我们选择创建一个大规模合成数据集，其中包含用于训练的3D手部网格和3D手部姿态真值。然而，在合成数据集上训练的模型通常在真实世界数据集上的估计结果并不理想，这是因为两者之间存在域差异。为解决这一问题，受 [^5] [^37] 的启发，我们提出了一种新颖的弱监督方法：利用深度图作为3D网格生成的弱监督信号，因为在采集真实世界训练数据时，RGB-D相机可以轻松获取深度图。更具体地说，在对真实世界数据集进行微调时，我们将生成的3D手部网格渲染到图像平面上的深度图，并通过最小化该深度图与参考深度图之间的损失来实现优化，如图3所示。需要注意的是，在测试阶段，我们仅需输入一张RGB图像即可估计完整的3D手部形状和姿态。

据我们所知，我们是首个能够从单张RGB图像中同时估计3D手部姿态和完整3D手部形状的研究团队。我们的主要贡献总结如下：

如第5.4节所验证的，该方法在3D手部姿态估计方面的精度表现优异。

我们提出了一种基于图卷积神经网络（Graph CNN）的新型端到端可训练手部网格生成方法[^8]。实验表明，该方法能够很好地表征手部形状的变化并捕捉局部细节。此外，我们发现通过估计完整的3D手部网格，该方法的精度得到了进一步提升。

我们提出了一种基于真实世界数据集的弱监督训练流程：将生成的3D网格渲染为图像平面上的深度图，并利用参考深度图作为弱监督信号，无需对真实世界图像进行3D手部网格或3D手部姿态的标注。

- 我们首次推出了大规模合成RGB-based 3D手部形状和姿态数据集以及小规模真实世界数据集，这些数据集包含3D手部关节位置和手部表面完整3D网格的标注信息。本论文被接收后，我们将公开分享这些数据集。

我们在所提出的合成数据集、真实世界数据集以及两个公共数据集上开展了全面的实验[^62] [^63]。实验结果表明，我们提出的方法能够在GPU上以实时速度生成精确且合理的3D手部网格，并且在3D手部姿态估计方面的精度也优于现有最先进的方法。

### 2. 相关工作

基于深度图像的3D手部形状和姿态估计：以往的大多数方法通过将可变形手部模型拟合到输入深度图上，并利用迭代优化来估计3D手部形状和姿态[^49] [^30] [^24] [^21] [^51] [^41]。近期有一种方法[^31]利用CNN从深度图中估计姿态和形状参数，再通过线性混合蒙皮（LBS）技术恢复3D手部网格。这类CNN采用端到端方式训练，并引入网格损失和姿态损失。不过，其所恢复的手部网格质量受到简单的LBS模型的限制。

基于RGB图像的3D手部姿态估计：早期的研究[^58] [^7]通过RGB图像序列估计手部姿态。Gorce等人[^7]提出通过最小化目标函数来估计3D手部姿态、手部纹理以及光照条件。Sridhar等人[^46]结合多视角RGB图像和深度数据，采用判别性方法与局部优化相结合的方式来估计3D手部姿态。随着深度学习的发展以及单目RGB相机的广泛应用，近期许多研究利用深度神经网络从单张RGB图像估计3D手部姿态[^63] [^44] [^32] [^5] [^20] [^38]。不过，很少有研究关注从RGB图像估计3D手部形状。Panteleris等人[^36]提出将3D手部模型拟合到估计出的2D关节位置上，但该手部模型由27个手部姿态参数控制，因此无法很好地适应各种手部形状。此外，该方法并非用于生成3D手部网格的端到端框架。

---

从单张RGB图像进行3D人体形状和姿态估计：最新方法大多依赖于SMPL，这是一种人体形状和姿态模型 [^29]。有些方法将SMPL模型拟合到检测到的2D关键点 [^3] [^25]。还有些方法利用CNN回归SMPL参数，并以轮廓和/或2D关键点为监督信号 [^48] [^37] [^22]。一种较新的方法 [^54] 会预测人体的体积表示。与这些方法不同，我们提出使用图CNN来估计3D网格顶点，以便学习非线性的手部形状变化，并更好地利用网格拓扑中顶点之间的关系。此外，我们并未采用2D轮廓或2D关键点对网络训练进行弱监督，而是提出在缺乏3D网格或3D姿态标注的真实数据集上训练时，利用深度图作为弱3D监督信号。

### 3. 3D手部形状和姿态数据集的创建

为真实世界的RGB图像手动标注3D手部网格和3D关节位置的真值极其繁琐且耗时。为了克服真实数据标注的难题，一些研究 [^43] [^63] [^33] 采用了合成生成的手部RGB图像进行训练。然而，现有的手部RGB图像数据集 [^43] [^62] [^63] [^33] 仅提供了2D/3D关节位置的标注，并不包含任何3D手部形状的标注。因此，这些数据集不适合用于3D手部形状估计任务的训练。

在这项工作中，我们创建了一个大规模的合成手部形状和姿态数据集，该数据集同时提供了3D关节位置和完整3D手部网格的标注。具体而言，我们使用Maya [^2] 创建3D手部模型并为其添加关节，然后在其上应用逼真的纹理以及使用高动态范围（HDR）图像模拟自然光照。我们通过创建具有不同形状和比例的混合形状来模拟手部变化，再对混合形状施加随机权重。为了充分探索姿态空间，我们根据500种常见的手势和1000个独特的相机视角来创建手部姿态。为了模拟真实世界的多样性，我们使用了3D光照和五种肤色。我们使用现成的Arnold渲染器 [^1] 进行全局光照渲染。渲染任务被分配到云渲染农场以提高效率。总的来说，我们的合成数据集包含375,000张具有丰富变化的手部RGB图像。其中315,000张用于训练，60,000张用于验证。训练期间，我们从COCO [^28]、LSUN [^60] 和Flickr [^10] 数据集中随机采样并裁剪背景图像，再将它们与渲染出的手部图像融合，如图2所示。

此外，为了定量评估在真实图像上的手部网格估计性能，我们创建了一个包含583张手部RGB图像的真实数据集，这些图像标注了3D手部网格和3D关节位置。为了

![Image](images/ca363c7ff48df484fe02d7e8b68a455fb5be4c9137f8879e616b622cbaabca4f.jpg)

<div style="text-align: center;">Figure 2: Illustration of our synthetic hand shape and pose dataset creation as well as background image augmentation during training.</div>

便于进行3D标注，我们使用Intel RealSense RGB-D相机 [^19] 拍摄对应的深度图像，并参考RGB图像和深度点，在Maya中手动调整3D手部模型。在这项工作中，这个真实数据集仅用于评估。

### 4. 方法论

#### 4.1. 概述

我们提出直接从单目RGB图像生成手部表面的完整3D网格以及3D手部关节位置，如图3所示。具体而言，输入是以手为中心的单个RGB图像，该图像会被送入由两层沙漏网络组成的模型[^34]以推断2D热图。所得到的2D热图会与图像特征图结合，通过包含八层残差层和四层最大池化层的残差网络[^18]编码为潜在特征向量。随后，这个编码后的潜在特征向量会被输入到图卷积神经网络[^8]中，以推断3D手部网格中N个顶点$\mathcal{V} = \{v_i\}_{i=1}^N$的3D坐标。而3D手部关节位置$\Phi = \{\phi_j\}_{j=1}^J$则是利用简化的线性图卷积神经网络，从重建的3D手部网格顶点中线性回归得到。

在本研究中，我们首先在合成数据集上训练网络模型，随后再在真实数据集上对它们进行微调。在包含3D手部网格和3D手部关节位置真值的合成数据集上，我们利用2D热图损失、3D网格损失以及3D姿态损失，以端到端的方式对网络进行全监督训练。更多细节将在4.3节中介绍。在真实数据集上，无需3D手部网格或3D手部关节位置的真值，即可以弱监督方式对网络进行微调。为实现这一目标，我们利用训练阶段可获取的参考深度图（这类深度图可通过深度相机轻松采集）作为微调阶段的弱监督信号，同时采用可微渲染器将生成的3D网格从相机视角渲染为深度图。为保证网格质量，我们会用预训练模型生成伪真值网格作为额外的监督信息。更多细节将在4.4节中介绍。

#### 4.2. 用于网格与姿态估计的图卷积神经网络

图卷积神经网络已成功应用于建模图结构数据 [^56] [^59] [^55]。由于3D手部网格天然具有

---

![Image](images/eb6992c45b151a1d31dec4259f7844a0668b3c43ccff4c55b80e86e66cc9ae38.jpg)

<div style="text-align: center;">Figure 3: Overview of our method for 3D hand shape and pose estimation from a single RGB image. Our network model is first trained on a synthetic dataset in a fully supervised manner with heat-map loss, 3D mesh loss, and 3D pose loss, as shown in (a); and then fine-tuned on a real-world dataset without 3D mesh or 3D pose ground truth in a weakly-supervised manner by innovatively introducing a pseudo-ground truth mesh loss and a depth map loss, as shown in (b). For both (a) and (b), the input RGB image is first passed through a two-stacked hourglass network [^34] for extracting feature maps and 2D heat-maps, which are then combined and encoded as a latent feature vector by a residual network [^18]. The latent feature is fed into a Graph CNN [^8] to infer the 3D coordinates of mesh vertices. Finally, the 3D hand pose is linearly regressed from the 3D hand mesh. During training on the real-world dataset, as shown in (b), the generated 3D hand mesh is rendered to a depth map to compute the depth map loss against the reference depth map. Note that this step is not involved in testing.</div>

![Image](images/70eabd875edbaa64e810d0946024a0796b49e67b70b1a72d3f692c36a6b06391.jpg)

<div style="text-align: center;">Figure 4: Architecture of the Graph CNN for mesh generation. The input is a latent feature vector extracted from the input RGB image. Passing through two fully-connected (FC) layers, the feature vector is transformed into 80 vertices with 64-dim features in a coarse graph. The features are upsampled and allocated to a finer graph. With two upsampling layers and four graph convolutional layers, the network outputs 3D coordinates of the 1280 mesh vertices. The numbers in parentheses of FC layers and graph convolutions represent the dimensions of output features.</div>

图结构特性，本研究采用切比雪夫谱图卷积神经网络 [^8] 来生成手部网格中顶点的3D坐标，并从生成的网格中估计3D手部姿态。

3D网格可以用无向图来表示$\mathcal{M} = (\mathcal{V}, \mathcal{E}, \mathcal{W})$，其中$\mathcal{V} = \{\boldsymbol{v}_i\}_{i=1}^N$是网格中的N个顶点集合，$\mathcal{E} = \{\boldsymbol{e}_i\}_{i=1}^E$是网格中的E条边集合，$W = (w_{ij})_{N \times N}$是邻接矩阵：若$w_{ij} = 0$，则$(i, j) \notin \mathcal{E}$；若$w_{ij} = 1$，则$(i, j) \in \mathcal{E}$。归一化图拉普拉斯算子[^6]的计算公式为$L = I_N - D^{-1/2}WD^{-1/2}$，其中$D = \text{diag}\left( \sum_j w_{ij} \right)$是对角度矩阵，$I_N$是单位矩阵。此处我们假设三角网格的拓扑结构是固定的，且由手部网格模型预先定义，即图$\mathcal{M}$的邻接矩阵W和图拉普拉斯算子L在训练与测试阶段均保持不变。

给定定义在图$\mathbf{f} = (f_1, \cdots, f_N)^T \in \mathbb{R}^{N \times F}$的顶点上的信号$\mathcal{M}$，它代表了3D网格中N个顶点的F维特征。在切比雪夫谱图卷积神经网络[^8]中，对图信号$\mathbf{f}_{\text{in}} \in \mathbb{R}^{N \times F_{\text{in}}}$进行的图卷积操作定义为

 $$ \mathbf{f}_{\mathrm{o u t}}=\sum_{k=0}^{K-1}T_{k}\left(\tilde{L}\right)\cdot\mathbf{f}_{\mathrm{i n}}\cdot\theta_{k}, $$

其中 $T_k(x) = 2xT_{k-1}(x) - T_{k-2}(x)$ 是 k 阶切比雪夫多项式，$T_0 = 1$、$T_1 = x$；$\tilde{L} \in \mathbb{R}^{N \times N}$ 是缩放后的拉普拉斯算子，$\tilde{L} = 2L/\lambda_{\max} - I_N$，$\lambda_{\max}$ 是 L 的最大特征值；$\theta_k \in \mathbb{R}^{F_{\text{in}} \times F_{\text{out}}}$ 是图卷积层中的可训练参数；$\mathbf{f}_{\text{out}} \in \mathbb{R}^{N \times F_{\text{out}}}$ 是输出的图信号。该操作具有 K 局部性，因为公式 1 是图拉普拉斯算子的 K 阶多项式，它仅影响每个中心节点的 K 跳邻居。更多细节请参阅 [^8]。

在这项工作中，我们通过在从粗到细的图上执行图卷积来设计用于网格生成的分层架构，如图 4 所示。粗图的拓扑结构通过图粗化预先计算出来，如图 5 (a) 所示，并且在训练和测试期间保持不变。遵循 Defferrard 等人的方法 [^8]，我们使用 Graclus 多级聚类算法 [^9] 来对图进行粗化，并创建树结构来存储相邻粗化层级上顶点的对应关系。在前向传播过程中，我们将粗图中顶点的特征上采样到细图中对应的子顶点上，如图 5 (b) 所示。然后，我们执行图卷积来更新图中的特征。所有

---

![Image](images/58aa5959ee9a443c06b322b7f8396cd91f7945f6b1812b9ceae75dba63ca387f.jpg)

<div style="text-align: center;">Figure 5: (a) Given our predefined mesh topology, we first perform graph coarsening [^8] to cluster meaningful neighborhoods on graphs and create a tree structure to store correspondences of vertices in graphs at adjacent coarsening levels. (b) During the forward propagation, we perform feature upsampling. The feature of a vertex in the coarse graph is allocated to its children vertices in the finer graph.</div>

图卷积滤波器的支持范围均为 K = 3。为了使网络输出与相机内参无关，我们设计网络来输出输入图像上的 UV 坐标以及网格中顶点的深度，这些数据可以利用相机内参矩阵转换为相机坐标系下的 3D 坐标。与 [^63]、[^5]、[^44] 类似，我们估计网格顶点的尺度不变且以根部为参考的深度。

考虑到可以利用线性回归器直接从 3D 网格顶点估计 3D 关节位置 [^29]、[^42]，我们采用简化的 Graph CNN [^8]，它包含两层池化层且没有非线性激活函数，从而从手部网格顶点的 3D 坐标中线性回归出尺度不变且以根部为参考的 3D 手部关节位置。

#### 4.3. 在合成数据集上的全监督训练

我们首先在合成手部形状和姿态数据集上以全监督方式训练网络。如图 3 (a) 所示，网络由热图损失 $\mathcal{L}_{\mathcal{H}}$、网格损失 $\mathcal{L}_{\mathcal{M}}$ 和 3D 姿态损失 $\mathcal{L}_{\mathcal{J}}$ 进行监督。

热图损失：$\mathcal{L}_{\mathcal{H}} = \sum_{j=1}^{J} \left\| \mathcal{H}_j - \hat{\mathcal{H}}_j \right\|_2^2$，其中 $\mathcal{H}_j$ 和 $\hat{\mathcal{H}}_j$ 分别是真实热图和估计热图。我们将热图分辨率设为 $64 \times 64$ 像素。真实热图被定义为以真实 2D 关节位置为中心、标准差为 4 像素的 2D 高斯分布。

网格损失：与 [^56] 类似，$\mathcal{L}_{\mathcal{M}} = \lambda_v \mathcal{L}_v + \lambda_n \mathcal{L}_n + \lambda_e \mathcal{L}_e + \lambda_l \mathcal{L}_l$ 由顶点损失 $\mathcal{L}_v$、法线损失 $\mathcal{L}_n$、边缘损失 $\mathcal{L}_e$ 和拉普拉斯损失 $\mathcal{L}_l$ 组成。顶点损失 $\mathcal{L}_v$ 用于约束网格顶点的 2D 和 3D 位置：

 $$ \mathcal{L}_{v}=\sum_{i=1}^{N}\left\|\boldsymbol{v}_{i}^{3D}-\hat{\boldsymbol{v}}_{i}^{3D}\right\|_{2}^{2}+\left\|\boldsymbol{v}_{i}^{2D}-\hat{\boldsymbol{v}}_{i}^{2D}\right\|_{2}^{2}, $$

其中 $v_{i}$ 和 $\hat{v}_{i}$ 分别表示网格顶点的真实和估计 2D/3D 位置。法线损失 $\mathcal{L}_{n}$ 用于强制表面法线的一致性：

 $$ \mathcal{L}_{n}=\sum_{t}\sum_{(i,j)\in t}\left\|\left\langle\hat{\boldsymbol{v}}_{i}^{3D}-\hat{\boldsymbol{v}}_{j}^{3D},\boldsymbol{n}_{t}\right\rangle\right\|_{2}^{2}, $$

其中 t 是网格中三角面的索引；$(i,j)$ 是构成三角面 t 一条边的顶点索引；$n_{t}$ 是三角面 t 的真实法向量，由真实顶点计算得出。引入边长损失 $\mathcal{L}_{e}$ 以强制边长一致性：

 $$ \mathcal{L}_{e}=\sum_{i=1}^{E}\left(\|\boldsymbol{e}_{i}\|_{2}^{2}-\|\hat{\boldsymbol{e}}_{i}\|_{2}^{2}\right)^{2}, $$

其中，$e_i$ 和 $\hat{e}_i$ 分别表示真实的边缘向量和估计的边缘向量。引入拉普拉斯损失 $\mathcal{L}_l$ 是为了保持网格表面的局部平滑性：

 $$ \mathcal{L}_{l}=\sum_{i=1}^{N}\left\|\delta_{i}-\sum_{\boldsymbol{v}_{k}\in\mathcal{N}(\boldsymbol{v}_{i})}\delta_{k}\middle/B_{i}\right\|_{2}^{2}, $$

其中 $\delta_i = \boldsymbol{v}_i^{3D} - \hat{\boldsymbol{v}}_i^{3D}$ 是从估计值到真实值的偏移量，$\mathcal{N}(\boldsymbol{v}_i)$ 是 $\boldsymbol{v}_i$ 的相邻顶点集合，$B_i$ 是集合 $\mathcal{N}(\boldsymbol{v}_i)$ 中的顶点数。该损失函数可防止相邻顶点出现相反的偏移量，从而使估计的3D手部表面网格更加平滑。在超参数方面，我们在实现中设置了 $\lambda_v = 1$、$\lambda_n = 1$、$\lambda_e = 1$、$\lambda_l = 50$。

3D姿态损失。$\mathcal{L}_{\mathcal{I}} = \sum_{j=1}^{J} \left\| \phi_{j}^{3D} - \hat{\phi}_{j}^{3D} \right\|_{2}^{2}$，其中 $\phi_{j}^{3D}$ 和 $\hat{\phi}_{j}^{3D}$ 分别表示真实的3D关节位置和估计的3D关节位置。

在我们的实现中，首先分别用热图损失和3D姿态损失来训练堆叠式沙漏网络与3D姿态回归器。随后，我们采用组合损失 $\mathcal{L}_{fully}$ 来训练用于网格生成的堆叠式沙漏网络、残差网络以及图卷积神经网络：

 $$ \mathcal{L}_{f u l l y}=\lambda_{\mathcal{H}}\mathcal{L}_{\mathcal{H}}+\lambda_{\mathcal{M}}\mathcal{L}_{\mathcal{M}}+\lambda_{\mathcal{J}}\mathcal{L}_{\mathcal{J}}, $$

其中，$\lambda_{\mathcal{H}} = 0.5$、$\lambda_{\mathcal{M}} = 1$、$\lambda_{\mathcal{J}} = 1$。

#### 4.4. 弱监督微调

在真实世界数据集——即立体手部姿态跟踪基准测试集 [^62] 中，并没有3D手部网格的真实数据。因此，我们以弱监督的方式对网络进行微调。此外，我们的模型还支持无需3D关节位置真实数据即可进行微调，这进一步减轻了训练数据标注3D关节位置的工作量，使其更适用于大规模真实世界数据集。

深度图损失。如图3(b)所示，我们利用深度相机容易获取的参考深度图作为弱监督信号，并采用类似 [^23] 的可微渲染器，从相机视角将估计出的3D手部网格渲染成深度图。深度图损失采用平滑L1损失 [^17]：

 $$ \mathcal{L}_{\mathcal{D}}=s m o o t h_{L1}\left(D,\hat{D}\right),\;\hat{\mathcal{D}}=\mathcal{R}\left(\hat{\mathcal{M}}\right), $$

其中，$\mathcal{D}$ 和 $\hat{\mathcal{D}}$ 分别表示真实的深度图和渲染后的深度图；$\mathcal{R}(\cdot)$ 是深度渲染函数；

---

![Image](images/07231de4609c6cfa9681e77f58bfc58172d5062f03cb9a4ecf676cbe234e858e.jpg)

<div style="text-align: center;">Figure 6: Impact of the pseudo-ground truth mesh supervision. Without the supervision of pseudo-ground truth mesh, the network produces very rough meshes with incorrect shape and noisy surface.</div>

$\mathcal{M}$ 即为估计出的3D手部网格。我们将深度图的分辨率设为 $32 \times 32$ 像素。

伪真实网格损失。仅使用深度图损失进行训练可能会导致退化解，如图6（右）所示，因为深度图损失仅约束可见表面，且对采集到的深度图中的噪声较为敏感。为解决这一问题，受[^26]的启发，我们利用预训练模型在真实世界训练数据上测试，并结合真实热图来创建伪真实网格$\mathcal{M}$。尽管伪真实网格$\mathcal{M}$存在相对深度误差，但其通常具有合理的边长和良好的表面平滑度。基于这一观察，我们不使用顶点损失或法向损失，仅采用边缘损失$\mathcal{L}_e$和拉普拉斯损失$\mathcal{L}_l$作为伪真实网格损失$\mathcal{L}_{p\mathcal{M}} = \lambda_e \mathcal{L}_e + \lambda_l \mathcal{L}_l$，其中涉及$\lambda_e = 1$、$\lambda_l = 50$，旨在保留网格的边长和表面平滑度。如图6（中）所示，在伪真实网格的监督下，网络能够生成形状正确且表面平滑的网格。

在我们imm的单调设置中，堆叠的小时数$^{1}$随后结束—

 $$ \mathcal{L}_{w e a k l y}=\lambda_{\mathcal{H}}\mathcal{L}_{\mathcal{H}}+\lambda_{\mathcal{D}}\mathcal{L}_{\mathcal{D}}+\lambda_{p\mathcal{M}}\mathcal{L}_{p\mathcal{M}}, $$

其中涉及$\lambda_{\mathcal{H}} = 0.1$、$\lambda_{\mathcal{D}} = 0.1$、$\lambda_{p\mathcal{M}} = 1$。需注意，公式8是在没有3D姿态监督的数据集上进行微调的损失函数。当训练过程中提供了3D关节位置的真值信息时，我们会在损失函数中加入3D姿态损失$\mathcal{L}_{\mathcal{J}}$，并设定权重$\lambda_{\mathcal{J}} = 10$。

### 5. 实验

#### 5.1. 数据集、评估指标与实现细节

在本研究中，我们从两个方面评估我们的方法：3D手部网格重建和3D手部姿态估计。

对于3D手部网格重建，我们在第3节介绍的合成数据集和真实世界数据集上评估生成的3D手部网格，因为其他手部RGB图像数据集均不包含3D手部网格的真值信息。我们测量每个生成的3D网格与其对应的真值3D网格中相应顶点之间的欧几里得空间平均误差。在后续实验中，该指标被记为“网格误差”。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Error (mm)</td><td style='text-align: center; word-wrap: break-word;'>-Normal</td><td style='text-align: center; word-wrap: break-word;'>-Edge</td><td style='text-align: center; word-wrap: break-word;'>-Laplacian</td><td style='text-align: center; word-wrap: break-word;'>-3D Pose</td><td style='text-align: center; word-wrap: break-word;'>Full</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Mesh error</td><td style='text-align: center; word-wrap: break-word;'>8.34</td><td style='text-align: center; word-wrap: break-word;'>9.09</td><td style='text-align: center; word-wrap: break-word;'>8.63</td><td style='text-align: center; word-wrap: break-word;'>9.04</td><td style='text-align: center; word-wrap: break-word;'>7.95</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose error</td><td style='text-align: center; word-wrap: break-word;'>8.30</td><td style='text-align: center; word-wrap: break-word;'>9.06</td><td style='text-align: center; word-wrap: break-word;'>8.55</td><td style='text-align: center; word-wrap: break-word;'>9.24</td><td style='text-align: center; word-wrap: break-word;'>8.03</td></tr></table>

<div style="text-align: center;">Table 1: Ablation study by eliminating different loss terms from our fully-supervised training loss in Eq. 6, respectively. We report the average mesh and pose errors evaluated on the validation set of our synthetic dataset.</div>

对于3D手部姿态估计，我们在两个公开可用的数据集上评估所提出的方法：立体手部姿态跟踪基准（STB）[^62]和渲染手部姿态数据集（RHD）[^63]。STB是一个真实世界数据集，包含18,000张图像，这些图像带有21个3D手部关节位置的真值信息以及对应的深度图像。遵循[^63]、[^5]、[^44]的做法，我们将该数据集划分为15,000个训练样本和3,000个测试样本。为使关节定义与我们的设置和RHD数据集保持一致，按照[^5]的描述，我们将根关节位置从手掌中心移至手腕处。RHD是一个合成数据集，包含41,258张训练图像和2,728张测试图像。由于视角变化大且图像分辨率低，该数据集颇具挑战性。我们使用三个指标来评估3D手部姿态估计的性能：(i) 姿态误差：估计的3D关节与真值关节之间的欧几里得空间平均误差；(ii) 3D PCK：欧几里得误差距离低于某一阈值的正确关键点所占百分比；(iii) AUC：不同误差阈值下PCK曲线下的面积。

我们在PyTorch框架内实现了该方法。网络采用RMSprop优化器[^50]进行训练，每次处理32个样本组成的小批量数据。在合成数据集上的预训练阶段，学习率被设置为$10^{-3}$；而在RHD$10^{-4}$和STB[^63]数据集上的微调阶段，学习率则设为[^62]。输入图像会被缩放至$256 \times 256$像素大小。遵循[^63]、[^5]和[^44]中采用的相同条件，我们假设测试时系统会提供全局手部尺度以及根部关节的绝对深度信息。全局手部尺度被定义为中指MCP关节与PIP关节之间骨骼的长度。

#### 5.2. 损失项的消融研究

我们首先评估全监督训练（公式6）中所使用的不同损失项对网格重建和姿态估计性能的影响。该实验在我们的合成数据集上进行。如表1所示，采用完整损失函数训练的模型在网格重建和姿态估计两方面均取得了最佳性能，这表明所有损失项对生成精确的3D手部网格及3D手部关节位置均有贡献。

#### 5.3. 3D手部网格重建评估

我们通过将所提出的基于图CNN的3D手部网格重建方法与其他两种方法进行比较，来展示其优势——

---

![Image](images/1ae085caaefe58bb81fa652719fefbf495d483b15568cd5f2d2dc2a65f407309.jpg)

<div style="text-align: center;">Figure 7: Qualitative comparisons of the meshes generated by our method and other methods. The meshes generated by the MANO-based method usually exhibit inaccurate shape and pose. The meshes generated by the direct Linear Blend Skinning (LBS) method suffer from serious artifacts. Examples are taken from our real-world dataset.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Mesh error (mm)</td><td style='text-align: center; word-wrap: break-word;'>MANO-based</td><td style='text-align: center; word-wrap: break-word;'>Direct LBS</td><td style='text-align: center; word-wrap: break-word;'>Ours</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Our synthetic dataset</td><td style='text-align: center; word-wrap: break-word;'>12.12</td><td style='text-align: center; word-wrap: break-word;'>10.32</td><td style='text-align: center; word-wrap: break-word;'>8.01</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Our real-world dataset</td><td style='text-align: center; word-wrap: break-word;'>20.86</td><td style='text-align: center; word-wrap: break-word;'>13.33</td><td style='text-align: center; word-wrap: break-word;'>12.72</td></tr></table>

这两种基线方法分别是直接线性混合蒙皮（LBS）方法和基于MANO的方法。

<div style="text-align: center;">Table 2: Average mesh errors tested on the validation set of our synthetic dataset and our real-world dataset. We compare our method with two baseline methods. Note that the mesh errors in this table are measured on the aligned mesh defined by MANO [^42] for fair comparison.</div>

直接LBS方法：我们训练网络直接从热图和图像特征中回归3D手部关节位置，这一做法与[^5]中提出的网络架构类似。我们仅利用估算出的3D手部关节位置，通过逆运动学和LBS算法，结合预定义的网格模型与蒙皮权重来生成3D手部网格（详见补充材料）。如表2所示，无论是在我们的合成数据集还是真实数据集上，直接LBS方法的平均网格误差均比我们的方法更大；这是因为用于网格生成的LBS模型是预定义的，无法适应不同形状的手部。从图7可以看出，直接LBS方法生成的手部网格在关节处会出现不真实的变形，且存在严重的固有瑕疵。

基于MANO的方法：我们还实现了一种基于MANO[^42]的方法，该方法通过三个全连接层从图像隐特征中回归手部形状和姿态参数。随后，利用估算出的形状和姿态参数，通过MANO手部模型[^42]生成3D手部网格（详见补充材料）。网络在我们的合成数据集上采用与公式6相同的损失函数以全监督方式训练。为了公平比较，我们将我们的手部网格与MANO手部网格对齐，再计算对齐后网格的误差。如表2和图7所示，与我们的方法相比，基于MANO的方法在网格重建方面的性能较差。需要注意的是，若在合成数据集上直接对MANO参数进行监督训练，可能会获得更好的性能。

![Image](images/7ed3548ee3568e0cf1b278630ee3c403bddbc98e4ec0b9dc46252f674dde1abc.jpg)

![Image](images/7f55ba870c04800ea0a71990e2dc9aa9eb6c69bd4f25424501c5b0f93a27ead9.jpg)

<div style="text-align: center;">Figure 8: Self-comparisons of 3D hand pose estimation on STB dataset [^62]. Left: 3D PCK of the model fine-tuned with 3D hand pose supervision. Right: 3D PCK of the model fine-tuned without 3D hand pose supervision. The average pose errors are shown in parentheses.</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;'>Pipeline</td><td style='text-align: center; word-wrap: break-word;'>Depth map loss</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Baseline 1</td><td style='text-align: center; word-wrap: break-word;'>im $\rightarrow$hm+feat $\rightarrow$pose</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Baseline 2</td><td style='text-align: center; word-wrap: break-word;'>im $\rightarrow$hm+feat $\rightarrow$mesh $\rightarrow$pose</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Full model</td><td style='text-align: center; word-wrap: break-word;'>im $\rightarrow$hm+feat $\rightarrow$mesh $\rightarrow$pose</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr></table>

<div style="text-align: center;">Table 3: Differences between the baseline methods for 3D hand pose estimation and our full model.</div>

性能[^4]。但在我们的合成数据集上这种方法并不可行，因为该数据集不包含MANO参数。

#### 5.4. 3D手部姿态估计评估

我们也针对3D手部姿态估计任务对我们的方法进行了评估。

自我对比实验。我们按照第4.4节的描述，通过在弱监督方式下微调在合成数据集上预训练的神经网络，在STB数据集上进行自我对比实验[^62]。在表3中，我们将所提出的弱监督方法（完整模型）与两个基线方法进行比较：(i) 基线1：直接从热图和特征图中回归3D手部关节位置，训练过程中不使用深度图损失；(ii) 基线2：从估计的3D手部网格中回归3D手部关节位置，训练过程中同样不使用深度图损失。如图8所示，基线2的估计精度优于基线1，这表明我们所提出的3D手部网格重建网络对3D手部姿态估计具有积极作用。此外，我们的完整模型的估计精度也优于基线2，尤其是在没有3D手部姿态监督的情况下进行微调时，这一结果验证了引入深度图损失作为弱监督的有效性。

此外，为了探索一种无需生成网格的更高效的3D手部姿态估计方法，我们直接利用完整模型提取的潜在特征来回归3D手部关节位置，而非从3D手部网格中回归这些位置（详情见补充材料）。这种任务迁移方法在图8中标记为“完整模型，任务迁移”。尽管该方法的流程与基线1相同，

---

![Image](images/de4e39696b838a43cba411611aac2ed3a24f95297db4b740dcedbae3d89ec8ea.jpg)

![Image](images/e4a49be17a18b845f0402c4c8283c135de302a06c1918fcf6f978f689592db67.jpg)

![Image](images/7769a13f19e7dac3014924c6c272566b6c174be6486cfb69f8bd290f519da365.jpg)

<div style="text-align: center;">Figure 9: Comparisons with state-of-the-art methods on RHD [^63] and STB [^62] dataset. Left: 3D PCK on RHD dataset [^63] with 3D hand pose supervision. Middle: 3D PCK on STB dataset [^62] with 3D hand pose supervision. Right: 3D PCK on STB dataset [^62] without 3D hand pose supervision. The AUC values are shown in parentheses.</div>

![Image](images/6cf612f6812ce911b89f0fd39de1a3f824c5e1fa05f25856a9c0340dcebc7eb0.jpg)

<div style="text-align: center;">Figure 10: Qualitative results for our synthetic dataset (top left), our real-world dataset (top right), RHD dataset [^63] (bottom left), and STB dataset [^62] (bottom right).</div>

但其估计精度却优于基线1，且仅略低于我们的完整模型。这一结果表明，完整模型提取的潜在特征更具区分性，比基线1提取的潜在特征更易于用于回归精确的3D手部姿态。

与现有先进方法的对比。我们在RHD[^63]和STB[^62]数据集上将我们的方法与现有的先进3D手部姿态估计方法进行对比。不同误差阈值下的PCK曲线如图9所示。在RHD数据集上，如图9（左）所示，我们的方法在该数据集的所有误差阈值下均优于三种先进方法[^63] [^44] [^5]。在STB数据集上，当训练阶段提供3D手部姿态真值时，我们将我们的方法与七种先进方法[^62] [^63] [^36] [^44] [^32] [^5] [^20]进行比较，如图9（中）所示，我们的方法在大多数误差阈值下均优于这些方法。我们还在STB数据集上测试了训练阶段未知3D手部姿态真值的情况，并将我们的方法与Cai等人提出的弱监督方法[^5]进行比较，这两种方法均采用参考深度图作为弱监督。如图9（右）所示，我们的基于3D网格的方法大幅优于Cai等人的方法[^5]。

#### 5.5. 运行时间与定性结果

运行时间。我们在一块Nvidia GTX 1080 GPU上评估了方法的运行时间。我们的完整模型输出3D手部网格和3D手部姿态的平均运行时间为19.9毫秒，其中堆叠式沙漏网络的前向传播耗时12.6毫秒，残差网络和图CNN的前向传播耗时4.7毫秒，姿态回归器的前向传播耗时2.6毫秒。因此，我们的方法在GPU上能够以超过50帧/秒的速度实时运行。

定性结果。图10展示了我们针对合成数据集、真实世界数据集、RHD [^63] 和 STB [^62] 数据集所得到的3D手部网格重建与3D手部姿态估计的定性结果。更多定性结果详见补充材料。

### 6. 结论

在本文中，我们攻克了从单张RGB图像中估计3D手部形状与姿态这一极具挑战性的任务。我们开发了一种基于图卷积神经网络的模型，能够从输入的RGB图像中重建出完整的手部表面3D网格。为了训练该模型，我们构建了一个大规模的合成RGB图像数据集，其中包含了3D关节位置与3D手部网格的真实标注信息，并采用全监督方式在该数据集上训练模型。为了在缺乏3D真实标注的真实世界数据集上对模型进行微调，我们将生成的3D网格渲染为深度图，并利用所观测到的深度图作为弱监督信号。在我们提出的新数据集以及两个公开数据集上的实验表明，我们的方法能够实时恢复出精确的3D手部网格与3D关节位置。

在未来的工作中，我们将利用动作捕捉数据来创建规模更大的3D手部姿态与形状数据集。我们还会考虑手部与物体、手部与手部之间的交互情况，以使手部姿态与形状估计更加稳健。

致谢：本研究部分得到了新加坡教育部二级资助项目（2016-T2-2-065）的支持。本研究还得到了纽约州立大学布法罗分校的启动经费以及Snap Inc.的捐赠资助。

---

## 参考文献

[^1]: Autodesk. Arnold renderer. <https://www.arnoldrenderer.com>, 2018.

[^2]: Autodesk. Maya. <https://www.autodesk.com.sg/products/maya>, 2018.

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

[^4]: Adnane Boukhayma, Rodrigo de Bem, and Philip HS Torr. 3d hand shape and pose from images in the wild. CVPR, 2019.

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

[^6]: Fan RK Chung and Fan Chung Graham. Spectral graph theory, volume 92. American Mathematical Society, 1997.

[^7]: Martin de La Gorce, David J Fleet, and Nikos Paragios. Model-based 3d hand pose estimation from monocular video. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(9):1793–1805, 2011.

[^8]: Michaël Defferrard, Xavier Bresson, and Pierre Vandergheynst. Convolutional neural networks on graphs with fast localized spectral filtering. In NIPS, 2016.

[^9]: Inderjit S Dhillon, Yuqiang Guan, and Brian Kulis. Weighted graph cuts without eigenvectors a multilevel approach. IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(11), 2007.

[^10]: Flickr. Flickr. <https://www.flickr.com/>, 2018.

[^11]: Liuhao Ge, Yujun Cai, Junwu Weng, and Junsong Yuan. Hand pointnet: 3d hand pose estimation using point sets. In CVPR, 2018.

[^12]: Liuhao Ge, Hui Liang, Junsong Yuan, and Daniel Thalmann. Robust 3D hand pose estimation in single depth images: from single-view CNN to multi-view CNNs. In CVPR, 2016.

[^13]: Liuhao Ge, Hui Liang, Junsong Yuan, and Daniel Thalmann. 3D convolutional neural networks for efficient and robust hand pose estimation from single depth images. In CVPR, 2017.

[^14]: Liuhao Ge, Hui Liang, Junsong Yuan, and Daniel Thalmann. Real-time 3D hand pose estimation with 3d convolutional neural networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018.

[^15]: Liuhao Ge, Hui Liang, Junsong Yuan, and Daniel Thalmann. Robust 3d hand pose estimation from single depth images using multi-view cnns. IEEE Transactions on Image Processing, 27(9):4422–4436, 2018.

[^16]: Liuhao Ge, Zhou Ren, and Junsong Yuan. Point-to-point regression pointnet for 3d hand pose estimation. In ECCV, 2018.

[^17]: Ross Girshick. Fast r-cnn. In ICCV, 2015.

[^18]: Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In CVPR, 2016.

[^19]: Intel. Intel realsense. <https://realsense.intel.com/>, 2018.

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

[^21]: David Joseph Tan, Thomas Cashman, Jonathan Taylor, Andrew Fitzgibbon, Daniel Tarlow, Sameh Khamis, Shahram Izadi, and Jamie Shotton. Fits like a glove: Rapid and reliable hand shape personalization. In CVPR, 2016.

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

[^23]: Hiroharu Kato, Yoshitaka Ushiku, and Tatsuya Harada. Neural 3d mesh renderer. In CVPR, 2018.

[^24]: Sameh Khamis, Jonathan Taylor, Jamie Shotton, Cem Keskin, Shahram Izadi, and Andrew Fitzgibbon. Learning an efficient model of hand shape variation from depth images. In CVPR, 2015.

[^25]: Christoph Lassner, Javier Romero, Martin Kiefel, Federica Bogo, Michael J Black, and Peter V Gehler. Unite the people: Closing the loop between 3d and 2d human representations. In CVPR, 2017.

[^26]: Zhizhong Li and Derek Hoiem. Learning without forgetting. In ECCV, 2017.

[^27]: Hui Liang, Junsong Yuan, Jun Lee, Liuhao Ge, and Daniel Thalmann. Hough forest with optimized leaves for global hand pose estimation with arbitrary postures. IEEE Transactions on Cybernetics, 49(2):527–541, 2019.

[^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]: Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J Black. SMPL: A skinned multiperson linear model. ACM Transactions on Graphics (TOG), 34(6):248, 2015.

[^30]: Alexandros Makris and A Argyros. Model-based 3d hand tracking with on-line hand shape adaptation. BMVC, 2015.

[^31]: Jameel Malik, Ahmed Elhayek, Fabrizio Nunnari, Kiran Varanasi, Kiarash Tamaddon, Alexis Heloir, and Didier Stricker. Deephps: End-to-end estimation of 3d hand pose and shape by learning from synthetic depth. In 3DV, 2018.

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

[^33]: Franziska Mueller, Dushyant Mehta, Oleksandr Sotnychenko, Srinath Sridhar, Dan Casas, and Christian Theobalt. Real-time hand tracking under occlusion from an egocentric RGB-D sensor. In ICCV, 2017.

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

[^35]: Iason Oikonomidis, Nikolaos Kyriazis, and Antonis Argyros. Efficient model-based 3D tracking of hand articulations using Kinect. In BMVC, 2011.

## [^36]: Paschalis Panteleris, Iason Oikonomidis, and Antonis Argyros. Using a single rgb frame for real time 3d hand pose estimation in the wild. In WACV, 2018

---

[^37]: Georgios Pavlakos, Luyang Zhu, Xiaowei Zhou, and Kostas Daniilidis. Learning to estimate 3d human pose and shape from a single color image. CVPR, 2018.

[^38]: Mahdi Rad, Markus Oberweger, and Vincent Lepetit. Domain transfer for 3d pose estimation from color images without manual annotations. In ACCV, 2018.

[^39]: Anurag Ranjan, Timo Bolkart, Soubhik Sanyal, and Michael J Black. Generating 3d faces using convolutional mesh autoencoders. ECCV, 2018.

[^40]: James M Rehg and Takeo Kanade. Visual tracking of high-d-of articulated structures: an application to human-hand tracking. In ECCV, 1994.

[^41]: Edoardo Remelli, Anastasia Tkach, Andrea Tagliasacchi, and Mark Pauly. Low-dimensionality calibration through local anisotropic scaling for robust hand model personalization. In ICCV, 2017.

[^42]: Javier Romero, Dimitrios Tzionas, and Michael J Black. Embodied hands: Modeling and capturing hands and bodies together. ACM Transactions on Graphics (TOG), 36(6):245, 2017.

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

[^44]: Adrian Spurr, Jie Song, Seonwook Park, and Otmar Hilliges. Cross-modal deep variational hand pose estimation. In CVPR, 2018.

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

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

[^47]: Björn Stenger, Arasanathan Thayananthan, Philip HS Torr, and Roberto Cipolla. Model-based hand tracking using a hierarchical bayesian filter. IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(9):1372–1384, 2006.

[^48]: Vince Tan, Ignas Budvytis, and Roberto Cipolla. Indirect deep structured learning for 3d human body shape and pose prediction. In BMVC, 2017.

[^49]: Jonathan Taylor, Richard Stebbing, Varun Ramakrishna, Cem Keskin, Jamie Shotton, Shahram Izadi, Aaron Hertzmann, and Andrew Fitzgibbon. User-specific hand modeling from monocular depth sequences. In CVPR, 2014.

[^50]: Tijmen Tieleman and Geoffrey Hinton. Lecture 6.5-rmsprop, coursera: Neural networks for machine learning. University of Toronto, Technical Report, 2012.

[^51]: Anastasia Tkach, Andrea Tagliasacchi, Edoardo Remelli, Mark Pauly, and Andrew Fitzgibbon. Online generative model personalization for hand tracking. ACM Transactions on Graphics (TOG), 36(6):243, 2017.

[^52]: Jonathan Tompson, Murphy Stein, Yann Lecun, and Ken Perlin. Real-time continuous pose recovery of human hands using convolutional networks. ACM Transactions on Graphics (ToG), 33(5):169, 2014.

[^53]: Hsiao-Yu Tung, Hsiao-Wei Tung, Ersin Yumer, and Katerina Fragkiadaki. Self-supervised learning of motion capture. In NIPS, 2017.

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

[^55]: Nitika Verma, Edmond Boyer, and Jakob Verbeek. Feastnet: Feature-steered graph convolutions for 3d shape analysis. In CVPR, 2018.

[^56]: Nanyang Wang, Yinda Zhang, Zhuwen Li, Yanwei Fu, Wei Liu, and Yu-Gang Jiang. Pixel2mesh: Generating 3d mesh models from single rgb images. In ECCV, 2018.

[^57]: Ying Wu and Thomas S Huang. Hand modeling, analysis and recognition. IEEE Signal Processing Magazine, 18(3):51–60, 2001.

[^58]: Ying Wu, John Lin, and Thomas S Huang. Analyzing and capturing articulated hand motion in image sequences. IEEE transactions on pattern analysis and machine intelligence, 27(12):1910–1922, 2005.

[^59]: Sijie Yan, Yuanjun Xiong, and Dahua Lin. Spatial temporal graph convolutional networks for skeleton-based action recognition. arXiv preprint arXiv:1801.07455, 2018.

[^60]: Fisher Yu, Yinda Zhang, Shuran Song, Ari Seff, and Jianxiong Xiao. Lsun: Construction of a large-scale image dataset using deep learning with humans in the loop. arXiv preprint arXiv:1506.03365, 2015.

[^61]: Shanxin Yuan, Guillermo Garcia-Hernando, Björn Stenger, Gyeongsik Moon, Ju Yong Chang, Kyoung Mu Lee, Pavlo Molchanov, Jan Kautz, Sina Honari, Liuhao Ge, et al. Depth-based 3d hand pose estimation: From current achievements to future goals. In CVPR, 2018.

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

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