
# 基于多模态数据的单目实时手部形状与运动捕捉

周宇潇 $^{1}$ 马克·哈伯曼 $^{2,3}$ 徐伟鹏 $^{2,3}$ 伊克桑努尔·哈比比 $^{2,3}$ 克里斯蒂安·特博尔特 $^{2,3}$ 徐峰 $^{*1}$

$^{1}$清华大学人机交互与媒体集成研究所及软件学院，$^{2}$马克斯·普朗克信息学研究所，$^{3}$萨尔兰信息学园区

## 摘要

我们提出了一种全新的单目手部形状与姿态估计方法，其运行速度达到了前所未有的100帧/秒，且精度处于业界领先水平。这一成果得益于我们设计的一种新型基于学习的架构，该架构能够充分利用所有可用的手部训练数据：包含2D或3D标注的图像数据，以及没有对应图像数据的独立3D动画。该架构包含一个3D手部关节检测模块和一个逆向运动学模块，不仅能回归出3D关节位置，还能在单次前馈计算中将其映射为关节旋转参数。相较于仅回归3D关节位置，这样的输出结果能更直接地应用于计算机视觉和图形学领域。我们在多个具有挑战性的基准测试中验证了该架构设计在定量和定性层面均显著优于现有最先进方法。我们将公开相关代码以供后续研究使用。

### 1. 引言

手部是人类与现实世界互动的最重要工具。因此，捕捉手部运动对于增强现实/虚拟现实、人机交互等诸多应用而言具有极其重要的意义。理想情况下，此类捕捉系统应能够实时运行以向用户提供即时反馈，仅需利用单个RGB摄像头来降低成本和能耗，并且应能预测关节角度——因为这类数据对计算机图形学、增强现实和虚拟现实中的大多数常见应用而言更具实用价值。尤其是从单张RGB图像中捕捉3D手部运动极具挑战性，原因在于单目场景本身存在深度歧义、手部自遮挡现象、手部复杂的快速运动，以及皮肤外观的一致性等因素。

<div style="text-align: center;">Input Image</div>

<div style="text-align: center;">Mesh Overlay</div>

![Image](images/d3ffa98d12f7bf91160ca3d70c0ff36a12584fa51acc5c1a6dd621ca6570850d.jpg)

<div style="text-align: center;">Other Views</div>

<div style="text-align: center;">Figure 1. We present a novel hand motion capture approach that estimates 3D hand joint locations and rotations at real time from a single RGB image. Hand mesh models can then be animated with the predicted joint rotations. Our system is robust to challenging scenarios such as object occlusions, self occlusions, and unconstrained scale.</div>

现有最先进的方法依托深度学习技术，近年来取得了显著进展 [^2] [^10] [^51] [^17] [^3]。不过我们发现这些方法存在两个主要问题。

首先，现有方法均未充分利用所有公开可用的训练数据模态，尽管由于获取带3D标注的真实人手图像难度较大，标注后的手部数据本就十分有限。具体而言，要获得3D标注数据，需要特定的采集设备，例如立体摄像头 [^50] 或深度摄像头 [^36] [^42] [^38] [^49]，这限制了大规模多样化数据的采集。另一种途径是合成数据集 [^23] [^54]，但用合成图像训练的模型由于域差异问题，无法很好地泛化到真实图像上 [^23]。相比之下，变异度更大的带2D标注的互联网图像 [^33] 更容易获取。然而，这类图像几乎无法用于—

---

可以对它们进行标注，附上3D真实值。我们注意到，有一种有价值的数据形式被以往的所有研究忽视了——手部动作捕捉（MoCap）数据。这类数据集中的手部姿态变化很大，但缺乏对应的图像，因为它们通常是通过数据手套[^12]或3D扫描仪[^30]采集的。因此，以往的方法无法利用它们来学习从图像到手部姿态的映射关系。

其次，以往的大多数方法都侧重于预测3D关节位置[^48] [^34] [^17] [^3] [^54]。虽然这对某些应用来说很有用，但这种位置表示不足以在计算机图形学中驱动手部网格模型动画，因为通常需要关节旋转参数。一些研究[^23] [^29] [^42]通过单独的步骤将运动学手部模型拟合到稀疏的预测结果上来解决这一问题。这不仅需要人工设计的能量函数，而且耗时的迭代优化还容易出现局部收敛错误。另一些研究[^51] [^1] [^2]则直接从RGB图像中回归关节角度。由于缺少带有关节旋转标注的训练图像，所有这些方法都是采用弱监督方式训练的（利用可微运动学函数和3D/2D位置损失）。因此，无法保证姿态的解剖学正确性。

为此，我们提出了一种新颖的实时单目手部动作捕捉方法，它不仅能估计2D和3D关节位置，还能直接将其映射到关节旋转参数。我们的方法经过精心设计，能够充分利用上述所有数据形式，包括带有2D和/或3D标注的合成及真实图像数据集，以及非图像类的MoCap数据，从而最大限度地提升准确性和稳定性。具体来说，我们的架构包含DetNet和IKNet两个模块，分别用于预测2D/3D关节位置和关节旋转参数。所提出的DetNet是一种用于3D手部关节检测的多任务神经网络，它能通过将2D关节检测设为辅助任务，同时利用完全标注和弱标注的图像。在这种多任务训练过程中，模型借助2D监督信息学会从真实图像中提取重要特征，而3D关节位置的预测则可以完全从合成数据中学习。随后，通过将参数化手部模型[^30]拟合到预测的关节位置，就能得到手部的3D形状。为了获得关节旋转预测结果，我们提出了新颖的、数据驱动的端到端IKNet，它以DetNet输出的3D关节预测结果为输入，解决逆运动学（IK）问题并回归关节旋转参数。我们的IKNet能在单次前馈过程中高速预测运动学参数，无需复杂的、耗时的模型拟合过程。训练时，我们可以引入能提供直接旋转监督的MoCap数据，以及能提供弱位置监督的3D关节位置数据，从而学习姿态先验并修正3D关节预测中的误差。总而言之，我们的贡献如下：

- 一种基于学习的单目手部形状和动作捕捉新方法，能够同时利用2D和3D标注图像数据以及独立的动作捕捉数据。

- 一种逆运动学网络，能在单次前馈过程中将3D关节预测结果映射到更基础的关节角度表示，且允许在位置监督和旋转监督下联合训练。

我们的方法在具有挑战性的基准测试上，无论是在定量还是定性方面，都优于现有最先进的方法，并且展现出了前所未有的运行性能。

### 2. 相关工作

接下来，我们将讨论那些利用单摄像头估计3D手部姿态的方法，它们与我们的工作密切相关。

基于深度的方法。由于商用深度摄像头的广泛应用，许多研究致力于从深度图像中估计手部姿态。早期的基于深度的研究[^28] [^21] [^31] [^7] [^37] [^41]通过将生成模型拟合到深度图像上来估计手部姿态。一些研究[^35] [^32] [^40] [^36] [^43]还利用判别性预测来进行初始化和正则化。近年来，深度学习方法被应用到这一领域。作为开创性工作，Tompson等人[^42]提出将CNN与随机决策树及逆向运动学相结合，以实现从单张深度图像中实时估计手部姿态。后续研究通过利用先验知识和上下文信息[^25]、高层知识[^39]、反馈循环[^26] [^27]或中间密集引导图监督[^46]，取得了更好的性能。[^52] [^6]提出使用多个分支来预测各个部位（如手掌和手指）的姿态，并利用分支间的信息。也有研究提出了手部形状和姿态的联合估计[^19]。Wan等人[^44]利用未标注的深度图进行自监督微调，而Mueller等人[^24]则构建了一个照片级真实感数据集以提升鲁棒性。一些研究采用了其他表示方式，如点云[^8] [^11] [^4] [^18]和3D体素[^16] [^22] [^9]，这些都可以从深度图像中获取。尽管这些方法取得了令人满意的结果，但它们仍受限于深度传感器的固有缺陷：无法在强光下工作、功耗较高，且用户必须靠近传感器。

单目RGB方法。为此，人们最近开始研究从单目RGB图像中估计3D手部姿态，由于存在深度歧义，这一任务比基于深度的方法更具挑战性。Zimmermann和Brox[^54]训练了一个基于CNN的模型，可直接从RGB图像中估计3D关节坐标。

---

Iqbal等人[^17]采用了一种2.5D热图表示方法，该方法将二维关节位置与深度信息结合起来，从而显著提升了预测精度。为了获得更好的泛化能力，许多研究[^3] [^34] [^48]利用深度图像数据集来增加训练时的数据多样性。Mueller等人[^23]提出了一个大规模渲染数据集，并通过CycleGAN[^53]对其进行后处理，以缩小域差异。不过，他们仅专注于关节位置估计，而并未涉及关节旋转恢复，而后者对手部网格动画而言更为重要。为了估计关节旋转，[^47] [^29]采用迭代优化方法将通用手部模型拟合到预测结果上，但这种方法效率低下且需要人工设计的能量函数。[^51] [^1]提出从输入图像中端到端地回归可变形手部网格模型的参数。然而，所估计的旋转参数只能受到弱监督，因此精度较差。Ge等人[^10]直接使用GraphCNN[^5]来回归手部网格，但这种方法需要带有真实手部网格标注的特殊数据集，而这类数据集很难构建。他们的无模型方法在面对复杂场景时鲁棒性也较差。相比之下，通过充分利用来自不同模态的现有数据集——包括图像数据和非图像形式的动作捕捉数据，我们的方法在精度和鲁棒性方面均取得了优异的表现。

### 3. 方法

如图2所示，我们的方法包含两个主要模块。首先，关节检测网络DetNet（见3.1节）采用多任务机制，从单张RGB图像中预测二维和三维手部关节位置。随后，我们通过将手部模型拟合到三维关节预测结果上来获取手部的形状（见3.2节）。其次，逆向运动学网络IKNet（见3.3节）接收三维关节预测结果，并以端到端的方式将其转化为关节旋转表示。

#### 3.1. 手部关节检测网络DetNet

DetNet接收单张RGB图像，输出以根节点为参考且经过尺度归一化的三维手部关节预测结果，以及图像空间中的二维关节预测结果。DetNet的架构包含三个组成部分：特征提取器、二维检测器和三维检测器。

特征提取器。我们采用ResNet50架构[^14]作为特征提取器的主干，其权重采用Xavier初始化方法[^13]进行初始化。该网络接收分辨率为$128 \times 128$的图像，并输出大小为$32 \times 32 \times 256$的特征体积F。

二维检测器。二维检测器是一个紧凑的两层CNN，它接收特征体积F并输出对应$H_j$个关节的热图$J=21$。如[^45]所述，热图$H_j$中的每个像素表示该像素被关节j覆盖的概率。这些热图用于二维姿态估计，这是一个由真实二维标注监督的子任务。因此，特征提取器和二维检测器可以利用互联网上的带二维标注的真实图像数据进行训练。这极大地提升了模型的泛化能力，因为在训练过程中，特征提取器和二维检测器接触到的是包含更多变化情况的自然图像，而非仅来自三维标注数据集的图像。

3D检测器。3D检测器接收特征图F和热图H，并估算以位置图L形式呈现的3D手部关节位置，这与[^20]类似。对于每个关节j而言，$L_j$与$H_j$具有相同的2D分辨率，且$L_j$中的每个像素都编码了关节j的3D坐标。这种冗余设计有助于提升模型的鲁棒性。与L类似，我们也会估算差值图D，其中$D_b$中的每个像素都编码了骨骼b的方向，该方向由父关节指向子关节，表现为一个3D向量。这种中间表示形式能够明确告知网络运动链中相邻关节之间的关系。在3D检测器中，我们首先利用两层CNN根据热图H和特征图F来估算差值图D。接着，将热图H、特征图F以及差值图D拼接起来，输入到另一层两层CNN中，从而得到最终的位置图L。位置图L和差值图D的训练过程以3D标注数据作为监督信号。在推理阶段，只需在热图$L_j$的最大值所对应的uv坐标处，通过简单查找位置图$H_j$，即可获取关节j的3D位置。为了缓解单目视觉场景中的深度尺度模糊问题，预测出的坐标会以某个根关节为参照进行归一化，归一化的基准则是某根参考骨骼的长度。我们选择中间的掌指关节作为根关节，而该关节到腕部的骨骼则被定义为参考骨骼。

损失项。我们的损失函数

 $$ \mathcal{L}_{\mathrm{h e a t}}+\mathcal{L}_{\mathrm{l o c}}+\mathcal{L}_{\mathrm{d e l t a}}+\mathcal{L}_{\mathrm{r e g}} $$

包含四项，用于适配多任务学习机制。首先，$\mathcal{L}_{\text{heat}}$的定义如下：

 $$ \mathcal{L}_{\mathrm{h e a t}}=||\boldsymbol{H}^{\mathrm{G T}}-\boldsymbol{H}||_{F}^{2} $$

该公式可确保回归得到的热图H与真实热图$H^{\mathrm{GT}}$尽可能接近。|| $\cdot||_{F}$ 表示弗罗贝尼乌斯范数。为了生成关节j的真实热图$H_{j}^{\mathrm{GT}}$，我们会以2D标注点为中心，用高斯滤波器对$H_{j}^{\mathrm{GT}}$进行平滑处理，滤波器的标准差设为$\sigma = 1$。需要再次强调的是，$\mathcal{L}_{\mathrm{heat}}$仅需2D标注的图像数据集即可实现。我们尤其强调这类图像的重要性，因为它们所包含的变化性远多于带有3D标注的数据集。因此，这一损失项可监督特征提取器和2D检测器，使其学会从自然场景图像中识别手部关节的重要特征。为了监督3D检测器，我们提出了两个额外的损失项：

 $$ \mathcal{L}_{\mathrm{l o c}}=||H^{\mathrm{G T}}\odot(L^{\mathrm{G T}}-L)||_{F}^{2} $$

---

![Image](images/cb983d18cf5b116df0fd5c99c90a1deca98e7733b11f51284a05a7f3bb27d552.jpg)

<div style="text-align: center;">Figure 2. Overview of our architecture. It comprises two modules: first, our DetNet predicts the 2D and 3D joint positions from a single RGB image. Second, our IKNet takes the 3D joint predictions of DetNet and maps them to joint angles.</div>

 $$ \mathcal{L}_{\mathrm{d e l t a}}=||H^{\mathrm{G T}}\odot(D^{\mathrm{G T}}-D)||_{F}^{2} $$

这两个损失项分别用于衡量真实位置图L与预测位置图L、以及真实差值图D与预测差值图D之间的差异。真实位置图$L^{\mathrm{GT}}$和差值图$D^{\mathrm{GT}}$是通过将真实关节位置和骨骼方向的坐标平铺到热图尺寸而形成的。由于我们主要关注热图最大值处的3D预测结果，因此差异计算会乘以权重$H^{\mathrm{GT}}$，其中$\odot$表示逐元素矩阵乘积。$\mathcal{L}_{\mathrm{reg}}$是作用于网络权重的$L2$正则化项，用于防止过拟合。训练过程中，带有2D和3D标注的数据会被混合在同一批次中，所有组件会共同接受训练。在这种多任务机制下，网络既能从带2D标注的图像中学习各种真实场景下的2D姿态预测方法，也能从带3D标注的数据中获取3D空间信息。

全局坐标转换。如果已知相机内参矩阵K和参考骨骼长度$l_{ref}$，就可以通过求解以下方程来计算根关节的绝对深度$z_r$：

 $$ l_{\mathrm{r e f}}=||K^{-1}z_{\mathrm{r}}\begin{bmatrix}u_{\mathrm{r}}\\ v_{\mathrm{r}}\\ 1\end{bmatrix}-K^{-1}(z_{\mathrm{r}}+l_{\mathrm{r e f}}*d_{\mathrm{w}})\begin{bmatrix}u_{\mathrm{w}}\\ v_{\mathrm{w}}\\ 1\end{bmatrix}||_{2} $$

此处，下标$\cdot_{r}$和$\cdot_{w}$分别表示根关节和腕关节。u和v是图像平面上的二维关节预测值，而$d_{w}$则是DetNet回归出的、以根为参照的归一化深度值。由于$z_{r}$是唯一未知的变量，因此可以用封闭形式求解它。计算出$z_{r}$之后，便可通过相机投影公式求出x和y维度的全局平移量。

#### 3.2. 手部模型与形状估计

手部模型。我们选择MANO [^30]作为手部模型，由IKNet的输出驱动。MANO的表面网格可以通过形状参数$\beta \in \mathbb{R}^{10}$和姿态参数$\theta \in \mathbb{R}^{21 \times 3}$进行完全变形和姿态调整。具体而言，$\beta$代表从手部扫描数据中学习得到的形状PCA基的系数，而$\theta$则表示轴角表示法下的关节旋转值。它们能够将平均模板$\bar{T} \in \mathbb{R}^{V \times 3}$变形为不同身份的手部形状，同时还能体现与姿态相关的变形。此处，V表示顶点数量。在进行变形之前，平均模板$\bar{T}$会先被处理为

 $$ \mathcal{T}(\boldsymbol{\beta},\boldsymbol{\theta})=\bar{T}+\mathcal{B}_{s}(\boldsymbol{\beta})+\mathcal{B}_{p}(\boldsymbol{\theta}) $$

其中，$\mathcal{B}_s(\beta)$和$\mathcal{B}_p(\theta)$分别为形状和姿态混合形状。随后，变形后的手部模型$\mathcal{M}(\theta, \beta) \in \mathbb{R}^{V \times 3}$定义为

 $$ \mathcal{M}(\theta,\beta)=W(\mathcal{T}(\theta,\beta),\theta,\mathcal{W},\mathcal{T}(\theta)) $$

其中，$W(\cdot)$是一个标准的线性混合蒙皮函数，它接收变形后的模板网格$\mathcal{T}(\beta, \theta)$、姿态参数$\theta$、蒙皮权重$\mathcal{W}$以及变形后的关节位置$\mathcal{J}(\theta)$。

形状估计。由于我们不仅对手部姿态感兴趣，还对其形状有所要求，因此利用预测的关节位置来估计MANO模型的形状参数$\beta$。由于预测结果是经过尺度归一化的，因此所估计的形状只能反映相对的手部形状，例如手指与手掌的比例。我们通过最小化运算来计算手部形状$\beta$。

 $$ \begin{array}{r l r}&{}&{E(\beta)=\displaystyle\sum_{b}||\frac{l_{b}(\beta)}{l_{\mathrm{r e f}}(\beta)}-l_{b}^{\mathrm{p r e d}}||_{2}^{2}+\lambda_{\beta}||\beta||_{2}^{2}.}\end{array} $$

此处，第一项确保对于每一根骨骼b而言，变形后手部模型$l_b(\beta)$的骨骼长度与DetNet预测的3D骨骼长度$l_b^{\mathrm{pred}}$相匹配。标签$\cdot_{\mathrm{ref}}$指的是变形后MANO模型的参考骨骼。第二项则是对形状参数施加$L2$正则化约束，其权重由$\lambda_\beta$决定。

#### 3.3. 逆向运动学网络IKNet

尽管3D关节位置能够描述手部姿态，但这种表示方式不足以用于驱动手部网格的动画效果。

---

模型在计算机图形学（CG）应用中具有重要意义。相比之下，驱动CG角色的一种常用表示方式是关节旋转。因此，我们在网络中根据关节位置推断关节旋转，这也就是所谓的逆运动学（IK）问题。为此，我们提出了一种新颖的端到端神经网络IKNet来解决逆运动学问题。基于学习的IKNet主要有以下优势：首先，我们的设计允许将动作捕捉数据作为一种额外的数据形式纳入训练过程，从而在训练期间提供完整的监督信息。这与那些直接从图像回归旋转参数的方法形成鲜明对比——后者仅能实现弱监督训练[^51] [^1] [^2]。其次，由于IKNet仅需一次前向传播即可求解IK问题，因此其运算速度远快于迭代式的模型拟合方法[^23] [^29]。第三，与基于优化的IK方法中需要手工设定的先验不同，手部姿态先验可以直接从数据中学习得到[^23] [^29]。最后，我们还证明了IKNet能够修正DetNet输出的含噪3D预测结果，且关节旋转表示本身具有保持骨骼尺度不变的特性。类似IK网络的概念也在[^15]中被提出过，但当时是用于对基于标记的动作捕捉数据进行去噪处理，而我们则是用它来进行手部姿态估计。

动作捕捉数据。在训练IKNet时，理想情况下需要成对的3D手部关节位置数据与对应的关节旋转角度数据。MANO模型附带的数据集包含了来自31名受试者的1554个真实人手姿态样本。原始数据中旋转参数采用轴角表示法，我们将其转换为四元数表示法，这样更便于两个姿态之间的插值计算。不过，仅凭这一数据集仍不足以涵盖足够的姿态变化。因此，我们基于两个假设对数据集进行扩充：1）假设每个手指的姿态与其他手指无关；2）从静止姿态到基于上述假设生成的扩展数据集中某个姿态的四元数空间插值都是有效的。基于假设1，我们从原始数据集中选取各个手指的独立姿态并将其组合，从而形成从未出现过的手部姿态。基于假设2，我们就可以在静止姿态与这些新生成的手部姿态之间进行插值。为了考虑不同的手部形状，我们还通过从正态分布中采样$\beta$来对数据集进行丰富$\mathcal{N}(0, 3)$。借助上述增强技术，我们便能在训练过程中实时生成成对的关节位置与旋转样本。

3DPosData。然而，如果仅用这些数据来训练IKNet，它在应对DetNet输出的3D预测结果中所包含的噪声和误差时表现并不稳健。这是因为配套的动作捕捉数据基本上没有噪声。因此，我们也利用了带有3D标注的图像数据。具体来说，我们让预训练的DetNet为所有带有3D标注的训练样本生成3D关节预测结果，并将这些预测结果作为IKNet的输入。随后，IKNet估算出的关节旋转参数会被传入正向运动学层以重建关节位置，再通过与对应的真实3D关节标注进行比对来实施监督训练。换句话说，我们额外构建了一个包含3D DetNet预测结果与真实3D关节位置的成对数据集，将其作为弱监督信号来训练IKNet。下文我们将该数据集称为3DPosData。通过这种方式，IKNet学会了如何处理DetNet的3D预测结果，进而具备应对含噪输入的能力。

网络设计。我们将IKNet设计为具有批量归一化的7层全连接神经网络，除最后一层采用线性激活函数外，其余层均使用Sigmoid作为激活函数。我们将输入的3D关节位置编码为$\mathcal{I} = [\mathcal{X}, \mathcal{D}, \mathcal{X}_{\text{ref}}, \mathcal{D}_{\text{ref}}] \in \mathbb{R}^{4 \times J \times 3}$，其中$\mathcal{X}$是如第3.1节所述的根节点相对、尺度归一化的3D关节位置；$\mathcal{D}$是每个骨骼的方向，我们将其额外作为输入以显式编码相邻关节的信息。$\mathcal{X}_{\text{ref}}$和$\mathcal{D}_{\text{ref}}$用于编码形状身份信息，分别定义为静止姿态下的3D关节位置和骨骼方向。为了获得更高的精度，它们可以预先测量得到，也可以如第3.2节所述从DetNet的预测结果中推断得出。IKNet的输出是每个关节的全局旋转，用四元数$\hat{\mathcal{Q}} \in \mathbb{R}^{J \times 4}$表示，随后会将其归一化为单位四元数$\mathcal{Q}$。由于数据增强步骤需要更好的插值特性，我们更倾向于使用四元数表示而非轴角表示。此外，四元数可以转换为旋转矩阵，正如我们在损失函数中使用的那样，且转换过程无需使用三角函数，因为三角函数并非单射，更难训练。为了将最终姿态应用到MANO模型上，我们将四元数$\mathcal{Q}$转换回轴角表示，然后根据公式7对模型进行变形。

损失项。我们的损失函数包含四项。

 $$ \mathcal{L}_{\mathrm{c o s}}+\mathcal{L}_{\mathrm{l2}}+\mathcal{L}_{\mathrm{x y z}}+\mathcal{L}_{\mathrm{n o r m}}. $$

首先，$\mathcal{L}_{\text{cos}}$用于衡量真实四元数$Q^{\text{GT}}$与预测值Q之间夹角的余弦值之差：

 $$ \mathcal{L}_{\mathrm{c o s}}=1-r e a l(\mathcal{Q}^{\mathrm{G T}}\ast\mathcal{Q}^{-1}). $$

其中real($\cdot$)用于取四元数的实部，$*$表示四元数乘积，$Q^{-1}$是四元数Q的逆。此外，$\mathcal{L}_{12}$直接对预测的四元数Q进行监督：

 $$ \mathcal{L}_{\mathrm{l}2}=||\mathcal{Q}^{\mathrm{G T}}-\mathcal{Q}||_{2}^{2}. $$

所提出的这两种损失仅能应用于MoCap数据。为了也能利用3DPosData，我们提出了第三种损失$\mathcal{L}_{xyz}$，用于衡量姿态变换后3D坐标的误差：

 $$ \mathcal{L}_{\mathrm{x y z}}=||\mathcal{X}^{\mathrm{G T}}-F K(\mathcal{Q})||_{2}^{2} $$

---

其中$FK(\cdot)$表示正运动学函数，$\chi_{\mathrm{GT}}^{\mathrm{}}$是真实的3D关节标注。最后，为了将未归一化的输出$\hat{Q}$软性约束为单位四元数，我们应用$\mathcal{L}_{\mathrm{norm}}$如下：

 $$ \mathcal{L}_{\mathrm{n o r m}}=|1-\|\hat{\mathcal{Q}}\|_{2}^{2}|. $$

### 4. 实验结果

在本节中，我们首先介绍实现细节（4.1节）。接着，我们展示在具有挑战性的示例上的定性结果（4.2节）。最后，我们将我们的方法与以往的工作进行比较（4.3节），并开展消融研究以评估所有设计选择的重要性（4.4节）。

#### 4.1. 实现细节

我们所有的实验均在配备NVIDIA GTX1080Ti显卡的机器上进行，其中DetNet单次前向传播耗时8.9毫秒，IKNet耗时0.9毫秒。因此，我们实现了超过100帧/秒的业界领先运行性能。

训练数据。我们的DetNet在三个数据集上进行了训练：CMU全景数据集（CMU）[^33]、渲染手部姿态数据集（RHD）[^54]以及GAN生成的手部数据集（GAN）[^23]。CMU数据集包含16720张带有2D标注的真实世界图像样本。RHD和GAN均为合成数据集，分别包含21358张和330000张带有3D标注的图像。需要注意的是，DetNet的训练并未使用任何带有3D标注的真实图像。我们发现，真实图像的3D数据集缺乏足够的多样性，会导致网络过拟合，进而在不同数据集上的泛化能力较差。为了训练IKNet，我们采用了MANO模型的动作捕捉数据以及前文提到的3DPosData。

#### 4.2. 定性结果

在图3中，我们展示了新方法在几张具有挑战性的自然场景图像上的结果，证明其对未见数据具有良好的泛化能力。最重要的是，我们不仅预测了3D关节位置，还预测了关节角度，从而能够直接驱动手部表面模型进行动画制作。这种输出形式在图形学和计算机视觉的许多应用中更为实用。此外，图3还表明，该方法对于极快的运动和模糊图像（左上角）以及复杂的姿态（如抓取动作，左下角）都能取得良好效果。物体遮挡（右上角）、自遮挡以及复杂的视角（右下角）情况也能被妥善处理。更多结果详见补充材料。在图4中，我们证明了该方法仅通过单张图像就能还原出不同的手部形状。值得注意的是，手指和手掌的形状调整得当，且看起来十分自然。在图5中，我们将该方法的结果与Zimmermann和Brox [^54]以及Ge等人 [^10]在具有挑战性的图像上的结果进行了定性比较。虽然[^54]只能恢复3D关节位置，

![Image](images/a4e59fd7c30d8dd524fc9f42b883a451178871a6cfb6907454c79984ec2f306d.jpg)

<div style="text-align: center;">Figure 3. We demonstrate our results under several challenging scenarios: motion blur, object occlusion, complex pose, and unconstrained viewpoint. We show our results overlayed onto the input image and from a different virtual camera view.</div>

![Image](images/821fcdf36f0d4410efdd086e9cdd003a78b3d366733a54a7845ca7ce69d7b575.jpg)

<div style="text-align: center;">Figure 4. Illustration of our shape results. Note that our recovered shapes look visually plausible and reflect the overall shape of the subject's hand in the input image.</div>

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

<div style="text-align: center;">Figure 5. Comparison with [^54] and Ge et al. [^10]. Our approach cannot only output a fully deformed and posed dense 3D hand model, but also shows better robustness under occlusions compared to previous work. We show the same pose rendered from original and different camera view.</div>

但我们的方法由于采用了关节旋转表示，能够生成完整的3D手部网格模型。我们还证明了该方法比[^10]具有更强的鲁棒性，这归功于我们在带2D标注的自然场景图像和动作捕捉数据上的联合训练。

#### 4.3. 与相关工作的比较

评估数据集与指标。我们在四个公开数据集上评估我们的方法：RHD [^54]和立体手部姿态跟踪基准测试集（STB）[^50]的测试集、Dexter+Object（DO）[^36]以及EgoDexter（ED）[^24]。需要再次说明的是，RHD是一个合成数据集。STB数据集包含同一个受试者的12个序列，共计18000帧。按照[^23]的做法，我们选取其中2个序列对模型进行评估——

---

DO数据集包含6个序列，涉及2名受试者从第三方视角与物体互动的场景。ED数据集则由4个序列组成，展示2名受试者在有遮挡情况下从第一人称视角进行的手-物交互行为。我们采用以下评估指标：正确3D关键点百分比（PCK），以及阈值范围在20毫米到50毫米之间的PCK曲线下面积（AUC）。与以往的研究一致，我们进行了全局对齐以更准确地衡量局部手部姿态。对于ED和DO数据集，我们将指尖预测结果的质心与真实值对齐；对于RHD和STB数据集，则将我们的根部位置与真实的根部位置对齐。

定量比较。在表1中，我们将我们的方法与其他最先进的方法进行了对比。需要注意的是，并非所有方法都是在完全相同的数据上训练的。有些方法使用了额外的数据来提高精度，其中部分数据并未公开，包括：带有真实手部网格标注的合成图像 [^10]、深度图像 [^48] [^3] [^34]、带有2D标注的真实图像 [^17]，以及来自全景立体相机的带有3D标签的真实图像 [^47]。我们认为，在所有测试数据集中，最公平的比较应在DO和ED数据集上进行，因为没有模型使用它们来训练。这也意味着在DO和ED上的评估结果能很好地反映模型的泛化能力。在DO和ED上，我们的方法以较大优势优于其他方法。这得益于我们新颖的架构，它能够整合所有可用的数据模态，包括2D和3D标注的图像数据集以及动作捕捉数据。我们进一步强调了用于训练模型的数据集组合的重要性。

在STB数据集上，我们的准确率处于在DO和ED上取得的结果范围内，这进一步证明了我们的方法具有跨数据集的泛化能力。虽然我们在STB上的准确率低于其他方法，但请注意，与其他所有方法不同，我们的最终模型并未在STB上训练。正如许多研究提到的那样 [^47] [^48] [^51] [^17]，STB数据集很容易达到饱和状态。由于该数据集包含大量帧且变化较少，模型往往会对其过拟合。我们认为，利用STB进行训练会导致训练数据不平衡，进而损害模型的泛化能力。这一点从我们的额外实验中得到了证实：当我们将STB加入训练集后，在STB测试集上得到的AUC值达到了0.991，这一结果与以往的研究相当，但该模型在其他三个基准测试中的性能却大幅下降。因此，我们没有使用STB来训练最终模型。

对于RHD数据集，我们的模型同样取得了与其他基准测试一致的结果。作为合成数据集，RHD在外观和姿态分布上与真实数据集存在差异。以往的研究通过仅在RHD上训练或微调来获得更优结果。我们的最终模型避免了这种做法，因为这会损害模型对真实图像的泛化能力。为了证明我们的架构设计

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td colspan="4">AUC of PCK</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DO</td><td style='text-align: center; word-wrap: break-word;'>ED</td><td style='text-align: center; word-wrap: break-word;'>STB</td><td style='text-align: center; word-wrap: break-word;'>RHD</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>.948</td><td style='text-align: center; word-wrap: break-word;'>.811</td><td style='text-align: center; word-wrap: break-word;'>.898</td><td style='text-align: center; word-wrap: break-word;'>.856 $^{{*}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ge et al. [^10]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.998 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>.920 $^{{*}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Zhang et al. [^51]</td><td style='text-align: center; word-wrap: break-word;'>.825</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.995 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>.901 $^{{*}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Yang et al. [^48]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.996 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>.943 $^{{*}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Baek et al. [^1]</td><td style='text-align: center; word-wrap: break-word;'>.650</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.995 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>.926 $^{{*}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Xiang et al. [^47]</td><td style='text-align: center; word-wrap: break-word;'>.912</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.994 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Boukhayma et al. [^2]</td><td style='text-align: center; word-wrap: break-word;'>.763</td><td style='text-align: center; word-wrap: break-word;'>.674</td><td style='text-align: center; word-wrap: break-word;'>.994 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Iqbal et al. [^17]</td><td style='text-align: center; word-wrap: break-word;'>.672</td><td style='text-align: center; word-wrap: break-word;'>.543</td><td style='text-align: center; word-wrap: break-word;'>.994 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cai et al. [^3]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.994 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>.887 $^{{*}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Spurr et al. [^34]</td><td style='text-align: center; word-wrap: break-word;'>.511</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.986 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>.849 $^{{*}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Mueller et al. [^23]</td><td style='text-align: center; word-wrap: break-word;'>.482</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.965 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Z&amp;B [^54]</td><td style='text-align: center; word-wrap: break-word;'>.573</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>.948 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>.670 $^{{*}}$</td></tr></table>

<div style="text-align: center;">Table 1. Comparison with state-of-the-art methods on four public datasets. We use "*" to note that the model was trained on the dataset, and use "-" for those who did not report the results. Our system outperforms others by a large margin on the DO and ED dataset which we argue is the most fair comparison as none of the models are trained on these datasets. As [^17] only reports results without alignment, we report the absolute values for this method.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2"></td><td rowspan="2">Variants of our Method</td><td colspan="3">AUC of PCK</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DO</td><td style='text-align: center; word-wrap: break-word;'>ED</td><td style='text-align: center; word-wrap: break-word;'>STB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1)</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>.948</td><td style='text-align: center; word-wrap: break-word;'>.811</td><td style='text-align: center; word-wrap: break-word;'>.898</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2)</td><td style='text-align: center; word-wrap: break-word;'>w/o IKNet</td><td style='text-align: center; word-wrap: break-word;'>.923</td><td style='text-align: center; word-wrap: break-word;'>.804</td><td style='text-align: center; word-wrap: break-word;'>.891</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3)</td><td style='text-align: center; word-wrap: break-word;'>w/o $L_{{12}}$ and $L_{{cos}}$</td><td style='text-align: center; word-wrap: break-word;'>.933</td><td style='text-align: center; word-wrap: break-word;'>.823</td><td style='text-align: center; word-wrap: break-word;'>.869</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4)</td><td style='text-align: center; word-wrap: break-word;'>w/o 3DPosData</td><td style='text-align: center; word-wrap: break-word;'>.926</td><td style='text-align: center; word-wrap: break-word;'>.809</td><td style='text-align: center; word-wrap: break-word;'>.873</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5)</td><td style='text-align: center; word-wrap: break-word;'>w/o $L_{{12}}$</td><td style='text-align: center; word-wrap: break-word;'>.943</td><td style='text-align: center; word-wrap: break-word;'>.812</td><td style='text-align: center; word-wrap: break-word;'>.890</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>6)</td><td style='text-align: center; word-wrap: break-word;'>w/o $L_{{cos}}$</td><td style='text-align: center; word-wrap: break-word;'>.840</td><td style='text-align: center; word-wrap: break-word;'>.782</td><td style='text-align: center; word-wrap: break-word;'>.808</td></tr></table>

<div style="text-align: center;">Table 2. Ablation study. We evaluate the influence of: 2) IKNet 3) Direct rotational supervision on joint rotations. 4) Weak supervision on joint rotations. 5) Loss terms on the quaternions.</div>

与其他最先进的模型不相上下甚至更优，我们进行了另一项评估：仅用RHD训练模型，得到的AUC值达到了0.893，这一结果与其它模型处于同一水平。

#### 4.4. 消融研究

在表2和图6中，我们评估了该方法的关键组成部分：具体来说，我们评估了1）我们的架构设计及训练数据组合与基线模型相比的效果；2）IKNet相较于纯3D关节位置回归模型DetNet（我们称之为DetNet-only）的优势；3）借助动作捕捉数据实现的关节旋转直接监督所产生的影响；4）我们使用3DPosData进行的弱监督如何帮助IKNet适应有噪声的3D关节预测结果；5）两个四元数损失项所产生的影响。1）作为基线，我们将其与Zhang等人 [^51] 的研究进行对比，因为他们在不使用任何非公开数据集的情况下，就在DO数据集上取得了最先进的结果。

---

![Image](images/41c5239367380acb064bd4ad0ad61409f2078e407f7d5692fd7f048271a0f0dd.jpg)

<div style="text-align: center;">Figure 6. Ablation study for the training data on DO. We use "same data" to indicate our model trained with RHD and STB, which is the same as Zhang et al. [^51]. We demonstrate that our architecture is superior to theirs by design. Integrating more data further boosts the results.</div>

![Image](images/285b53652788113f6bccb17c7967849a510100a5b346c2e236df2a060e1c78b6.jpg)

<div style="text-align: center;">Figure 7. Our IKNet is able to compensate some errors from the DetNet based on the prior learned from the MoCap data.</div>

这些数据是公开可获取的（与Xiang等人[^47]的研究不同，他们使用的是CMU平台上未公开的3D标注数据）。为了评估我们的模型架构，我们让DetNet在与[^51]完全相同的数据集上进行训练，结果显示其性能比[^51]提升了约5%。这证明我们的架构本身确实有助于提升准确率。若再加入在MoCap数据上额外训练的IKNet，结果还会进一步改善。这进一步印证了将运动捕捉任务拆分为关节检测与旋转恢复两个子任务，不仅能简化模型训练过程，还能充分利用MoCap数据。最终，采用所提出的训练数据组合方式后，尤其是包含野外采集的2D标注图像在内，模型性能得到了显著提升。2）在所有数据集上，IKNet的表现均优于仅使用DetNet的模型。这是因为IKNet相当于从MoCap数据中学习到的姿态先验，能够修正DetNet输出的原始3D关节预测结果。如图7所示，DetNet自身无法准确估计3D关节位置，而我们内置在IKNet中的手部姿态先验则能纠正这些错误预测。3）在此实验中，我们移除了所有旋转监督项，仅采用弱监督机制。尽管数值结果与最终方案相当，但估计出的旋转参数却……

![Image](images/841ef50deebd21545356e6644d7e2fd89b09e5b294b0c606f396d901b1723e34.jpg)

<div style="text-align: center;">Figure 8. Comparison between IKNets with and without rotational supervision from MoCap data. Note that even though 3D joint positions match the ground truth, without this supervision unnatural poses are estimated.</div>

从解剖学角度来看，这些旋转结果是错误的，如图8所示。这说明加入源自MoCap数据的旋转监督能使训练更加容易，并得出解剖学上更合理的结果。4) 表2中第1)项和第4)项的对比表明，3DPosData对于使IKNet与DetNet兼容至关重要。换句话说，如果没有这些数据，IKNet就只能看到精确的3D MoCap数据，而看不到DetNet输出的含噪声的3D预测结果，反而会导致效果变差。将预训练的DetNet输出输入给IKNet，有助于应对含噪声的3D预测，从而取得最佳结果。5) 最后在网络训练方面，我们发现$L_{\cos}$是衡量两个四元数差异的更佳指标，优于简单的$L_{12}$；两者结合使用时平均准确率最高。

### 5. 结论

我们提出了首个基于学习的单目手部姿态与形状估计方法，该方法利用了两种完全不同的模态数据：图像数据和MoCap数据。我们新设计的神经网络架构包含一个经过训练的逆运动学网络，可直接回归关节旋转参数。这两大特性使得其在准确率、鲁棒性和运行时间方面均显著优于现有最先进方法。未来，我们计划通过引入3D扫描数据来扩展模型，以捕捉手部纹理信息。另一个研究方向是从单张RGB图像中同时捕捉两只交互手部的姿态，目前这一功能只能通过深度传感器实现。

## 参考文献

[^1]: Seungryul Baek, Kwang In Kim, and Tae-Kyun Kim. Push-ing the envelope for rgb-based dense 3d hand pose estimation via neural rendering. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

[^2]: Adnane Boukhayma, Rodrigo de Bem, and Philip H.S. Torr. 3d hand shape and pose from images in the wild. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

## [^3]: Yujun Cai, Liuhao Ge, Jianfei Cai, and Junsong Yuan. Weakly-supervised 3d hand pose estimation from monocular rgb images. In The European Conference on Computer Vision (ECCV), 2018

---

[^4]: Yujin Chen, Zhigang Tu, Liuhao Ge, Dejun Zhang, Ruizhi Chen, and Junsong Yuan. So-handnet: Self-organizing network for 3d hand pose estimation with semi-supervised learning. In The IEEE International Conference on Computer Vision (ICCV), 2019.

[^5]: Michaël Defferrard, Xavier Bresson, and Pierre Vandergheynst. Convolutional neural networks on graphs with fast localized spectral filtering. In Advances in neural information processing systems, pages 3844–3852, 2016.

[^6]: Kuo Du, Xiangbo Lin, Yi Sun, and Xiaohong Ma. Crossinfonet: Multi-task information sharing based hand pose estimation. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

[^7]: Shachar Fleishman, Mark Kliger, Alon Lerner, and Gershom Kutliroff. Icpik: Inverse kinematics based articulated-icp. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, 2015.

[^8]: Liuhao Ge, Yujun Cai, Junwu Weng, and Junsong Yuan. Hand pointnet: 3d hand pose estimation using point sets. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2018.

[^9]: 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, 41(4):956–970, April 2019.

[^10]: Liuhao Ge, Zhou Ren, Yuncheng Li, Zehao Xue, Yingying Wang, Jianfei Cai, and Junsong Yuan. 3d hand shape and pose estimation from a single rgb image. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

[^11]: Liuhao Ge, Zhou Ren, and Junsong Yuan. Point-to-point regression pointnet for 3d hand pose estimation. In The European Conference on Computer Vision (ECCV), September 2018.

[^12]: Oliver Glauser, Shihao Wu, Daniele Panozzo, Otmar Hilliges, and Olga Sorkine-Hornung. Interactive hand pose estimation using a stretch-sensing soft glove. ACM Trans. Graph., 38(4):41:1–41:15, July 2019.

[^13]: Xavier Glorot and Yoshua Bengio. Understanding the difficulty of training deep feedforward neural networks. In Proceedings of the thirteenth international conference on artificial intelligence and statistics, pages 249–256, 2010.

[^14]: Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2016.

[^15]: Daniel Holden. Robust solving of optical motion capture data by denoising. ACM Transactions on Graphics (TOG), 37(4):1–12, 2018.

[^16]: Fuyang Huang, Ailing Zeng, Minhao Liu, Jing Qin, and Qiang Xu. Structure-aware 3d hourglass network for hand pose estimation from single depth image. In The British Machine Vision Conference (BMVC), 2018.

[^17]: Umar Iqbal, Pavlo Molchanov, Thomas Breuel Juergen Gall, and Jan Kautz. Hand pose estimation via latent 2.5d heatmap regression. In The European Conference on Computer Vision (ECCV), 2018.

[^18]: Shile Li and Dongheui Lee. Point-to-pose voting based hand pose estimation using residual permutation equivariant layer. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

[^19]: Jameel Malik, Ahmed Elhayek, Fabrizio Nunnari, Kiran Varanasi, Kiarash Tamaddon, Alexis Héloir, and Didier Stricker. Deephps: End-to-end estimation of 3d hand pose and shape by learning from synthetic depth. In The International Conference on 3D Vision (3DV), 2018.

[^20]: 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. ACM Transactions on Graphics, 36(4), July 2017.

[^21]: Stan Melax, Leonid Keselman, and Sterling Orsten. Dynamics based 3d skeletal hand tracking. In Proceedings of Graphics Interface 2013, pages 63–70. Canadian Information Processing Society, 2013.

[^22]: Gyeongsik Moon, Juyong Chang, and Kyoung Mu Lee. V2v-posenet: Voxel-to-voxel prediction network for accurate 3d hand and human pose estimation from a single depth map. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^23]: 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 The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^24]: 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 The IEEE International Conference on Computer Vision (ICCV), 2017.

[^25]: Markus Oberweger, Paul Wohlhart, and Vincent Lepetit. Hands deep in deep learning for hand pose estimation. In Computer Vision Winter Workshop, 2015.

[^26]: Markus Oberweger, Paul Wohlhart, and Vincent Lepetit. Training a feedback loop for hand pose estimation. In The IEEE International Conference on Computer Vision (ICCV), 2015.

[^27]: Markus Oberweger, Paul Wohlhart, and Vincent Lepetit. Generalized feedback loop for joint hand-object pose estimation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019.

[^28]: Iason Oikonomidis, Nikolaos Kyriazis, and Antonis A Argyros. Efficient model-based 3d tracking of hand articulation using kinect. In The British Machine Vision Conference (BMVC), 2011.

[^29]: Paschalis Panteleris, Iason Oikonomidis, and Antonis Argyros. Using a single rgb frame for real time 3d hand pose estimation in the wild. In 2018 IEEE Winter Conference on Applications of Computer Vision, 2018.

## [^30]: Javier Romero, Dimitrios Tzionas, and Michael J. Black. Embodied hands: Modeling and capturing hands and bodies together. ACM Transactions on Graphics, 36(6):245:1–245:17, Nov. 2017

---

[^31]: Matthias Schröder, Jonathan Maycock, Helge Ritter, and Mario Botsch. Real-time hand tracking using synergistic inverse kinematics. In 2014 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2014.

[^32]: Toby Sharp, Cem Keskin, Duncan Robertson, Jonathan Taylor, Jamie Shotton, David Kim, Christoph Rhemann, Ido Leichter, Alon Vinnikov, Yichen Wei, Daniel Freedman, Pushmeet Kohli, Eyal Krupka, Andrew Fitzgibbon, and Shahram Izadi. Accurate, robust, and flexible real-time hand tracking. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, CHI '15, pages 3633–3642, New York, NY, USA, 2015. ACM.

[^33]: Tomas Simon, Hanbyul Joo, Iain Matthews, and Yaser Sheikh. Hand keypoint detection in single images using multiview bootstrapping. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017.

[^34]: Adrian Spurr, Jie Song, Seonwook Park, and Otmar Hilliges. Cross-modal deep variational hand pose estimation. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^35]: Srinath Sridhar, Franziska Mueller, Antti Oulasvirta, and Christian Theobalt. Fast and robust hand tracking using detection-guided optimization. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015.

[^36]: Srinath Sridhar, Franziska Mueller, Michael Zollhoefer, Dan Casas, Antti Oulasvirta, and Christian Theobalt. Real-time joint tracking of a hand manipulating an object from rgbd input. In The European Conference on Computer Vision (ECCV), 2016.

[^37]: Andrea Tagliasacchi, Matthias Schroeder, Anastasia Tkach, Sofien Bouaziz, Mario Botsch, and Mark Pauly. Robust articulated-icp for real-time hand tracking. Computer Graphics Forum (Symposium on Geometry Processing), 34(5), 2015.

[^38]: Danhang Tang, Hyung Jin Chang, Alykhan Tejani, and Tae-Kyun Kim. Latent regression forest: Structured estimation of 3d articulated hand posture. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.

[^39]: D. Tang, Q. Ye, S. Yuan, J. Taylor, P. Kohli, C. Keskin, T. Kim, and J. Shotton. Opening the black box: Hierarchical sampling optimization for hand pose estimation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 41(9):2161–2175, Sep. 2019.

[^40]: 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. ACM Transactions on Graphics, 36(6):244, 2017.

[^41]: Anastasia Tkach, Mark Pauly, and Andrea Tagliasacchi. Sphere-meshes for real-time hand modeling and tracking. ACM Transactions on Graphics, 35(6):222, 2016.

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

[^43]: Dimitrios Tzionas, Luca Ballan, Abhilash Srikantha, Pablo Aponte, Marc Pollefeys, and Juergen Gall. Capturing hands

利用判别性显著点和物理仿真来实现这一功能。《国际计算机视觉杂志》（IJCV），2016年。

[^44]: Chengde Wan, Thomas Probst, Luc Van Gool, and Angela Yao. Self-supervised 3d hand pose estimation through training by fitting. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

[^45]: Shih-En Wei, Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh. Convolutional pose machines. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

[^46]: Xiaokun Wu, Daniel Finnegan, Eamonn O'Neill, and Yong-Liang Yang. Handmap: Robust hand pose estimation via intermediate dense guidance map supervision. In The European Conference on Computer Vision (ECCV), September 2018.

[^47]: Donglai Xiang, Hanbyul Joo, and Yaser Sheikh. Monocular total capture: Posing face, body, and hands in the wild. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

[^48]: Linlin Yang, Shile Li, Dongheui Lee, and Angela Yao. Aligning latent spaces for 3d hand pose estimation. In The IEEE International Conference on Computer Vision (ICCV), 2019.

[^49]: Shanxin Yuan, Qi Ye, Bjorn Stenger, Siddhant Jain, and Tae-Kyun Kim. Bighand2.2m benchmark: Hand pose dataset and state of the art analysis. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[^50]: Jiawei Zhang, Jianbo Jiao, Mingliang Chen, Liangqiong Qu, Xiaobin Xu, and Qingxiong Yang. 3d hand pose tracking and estimation using stereo matching. In The IEEE International Conference on Image Processing (ICIP), 2017.

[^51]: Xiong Zhang, Qiang Li, Hong Mo, Wenbo Zhang, and Wen Zheng. End-to-end hand mesh recovery from a monocular rgb image. In The IEEE International Conference on Computer Vision (ICCV), 2019.

[^52]: Yidan Zhou, Jian Lu, Kuo Du, Xiangbo Lin, Yi Sun, and Xiaohong Ma. Hbe: Hand branch ensemble network for real-time 3d hand pose estimation. In The European Conference on Computer Vision (ECCV), September 2018.

[^53]: Jun-Yan Zhu, Taesung Park, Phillip Isola, and Alexei A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. In The IEEE International Conference on Computer Vision (ICCV), Oct 2017.

[^54]: Christian Zimmermann and Thomas Brox. Learning to estimate 3d hand pose from single rgb images. In The IEEE International Conference on Computer Vision (ICCV), 2017.
