
# 从单目RGB图像中端到端的手部网格恢复

张雄 $^{1*}$、李强 $^{1*}$、莫宏 $^{2}$、张文博 $^{1\dagger}$、郑文 $^{1}$

 $^{1}$Y-tech，Kwai，$^{2}$虚拟现实国家重点实验室，北京航空航天大学

 $^{1}${zhangxiong,liqiang03,zhangwenbo,zhengwen}@kuaishou.com, $^{2}$<mailto:mandymo@buaa.edu.cn>

![Image](images/bbada858040f80b0ce7e0ba5ad81e5b8ef8628546a2395e1e94c2f05f499100e.jpg)

<div style="text-align: center;">Projected mask</div>

<div style="text-align: center;">Figure 1: Hand Mesh Recovery. Our framework provides a unified scheme for monocular hand image understanding. The first column shows two examples from the STB [^55] and RHD [^59] dataset respectively. The second and third columns present the estimated 2D joints and 3D joints locations. The fourth column demonstrates the projection mask of the reconstructed hand mesh, while the last two columns illustrate the recovered mesh from several viewpoints. Note that our framework can recover the mesh in a reasonable way even in the presence of severe occlusions.</div>

## 摘要

在本文中，我们提出了一种手部网格恢复（HAMR）框架，用于解决从单张RGB图像重建完整三维手部网格的问题。$^{1}$ 与现有基于RGB或深度图像数据的二维/三维手部姿态估计研究不同，HAMR能够为单目手部图像理解提供更具表现力且实用的网格表示。具体而言，该网格表示是通过用形状参数和相对三维关节角度来参数化通用三维手部模型来实现的。利用这种网格表示，我们可以通过网格顶点间的线性插值轻松计算三维关节位置，同时通过三维关节的投影得到二维关节位置。为此，

我们可以基于所得到的表示和真实标签定义可微的重投影损失，从而使我们的框架能够端到端训练。定性实验表明，即便在严重遮挡的情况下，我们的框架也能恢复出效果良好的三维手部网格。定量结果显示，在多个基准数据集上，我们的方法在单目RGB图像的二维/三维手部姿态估计任务上的表现也优于现有最先进的方法。

### 1. 引言

手部图像理解旨在从自然RGB或深度图像中恢复手部的空间结构，它在人机交互 [^20] [^40]、虚拟/增强现实 [^18] [^33] 等领域有诸多应用。由于手部外观变化多样、存在自身遮挡且关节活动复杂，估计其空间结构极具挑战性。虽然许多

---

现有研究考虑了无标记的图像基手部图像理解问题，但其中大多数需要借助深度相机 [^1] [^11] [^23] [^34] [^41] [^44] [^45] [^53] 或多视角图像 [^2] [^14] [^38] [^43] [^51] 来解决上述难题。因此，在仅能获取单目RGB图像的实际场景中，这些方法大多并不实用。

针对单目RGB场景，近期许多研究探讨了二维/三维手部姿态估计这一特定问题 [^7] [^15] [^24] [^38] [^39] [^59]。就二维手部姿态而言，Simon等人 [^38] 利用自举法从单视角RGB图像中估计二维关节位置，而该方法在三维情况下需要借助多视角图像。Gomez-Donoso等人 [^14] 提出了一种简单却有效的深度学习架构用于二维手部姿态估计，还构建了多视角三维手部姿态数据集。需要注意的是，基于单张RGB图像的二维手部姿态估计在存在自身遮挡和复杂姿态的情况下容易产生不合理的预测结果。

关于基于单目RGB图像的3D手部姿态估计，一个明显的难点在于缺少深度信息所导致的透视歧义问题。Zimmermann和Brox [^59] 提出了首个基于学习的方法，该方法对深度网络进行扩展，使其能学习一种网络隐式的3D关节运动先验，从而解决透视歧义问题。Panteleris等人 [^29] 将基于2D姿态的3D姿态估计建模为逆运动学（IK）问题，从而将解空间限定在合理的手部关节运动范围内。Mueller等人 [^24] 也引入了若干符合几何一致性的规则来强化人体手部约束，以减轻手部解析时的歧义。

除了施加几何约束外，近期也有多项研究探讨了复杂的学习策略。Spurr等人 [^39] 设计了一种生成式手部模型，该模型在RGB、2D和3D姿态模态间共享一个连贯的潜空间，从而实现半监督学习。Iqbal等人 [^15] 引入了一种中间2.5D姿态表示，这种表示能够轻松从RGB图像中估计得出，进而提供从2.5D重建3D姿态的解决方案。Cai等人 [^7] 提出了一种弱监督的3D姿态回归方法，该方法在训练过程中利用深度图像。尽管这两类策略总体上是有效的，但它们仍不足以完全捕捉手部关节运动的固有特性和多样性。

除了透视歧义外，另一个挑战是缺乏高质量的标注3D手部姿态数据。为解决这一问题，Zimmermann等人 [^59] 转而使用3D模型来渲染合成数据，从而可以轻松获得3D关节的真实标注。Mueller等人 [^24] 采用CycleGAN [^57] 来合成训练数据，这在一定程度上能够提升3D手部姿态估计的性能。然而，由于域偏移现象的存在，在合成数据上训练得到的网络无法很好地泛化到真实图像上。

在本文中，我们提出了一种手部网格恢复（HAMR）框架，该框架还能同时输出2D和3D姿态估计结果，如图1所示。与当前针对2D或3D手部姿态估计的研究不同，HAMR为手部RGB图像理解提供了更为全面且灵活的网格表示方式。在其核心部分，HAMR对一个通用的3D手部模型进行参数化，从而根据形状及相对3D关节角度来定义网格表示。借助这种网格表示，可通过在网格顶点间进行线性插值来计算3D关节位置。此外，只需对3D关节进行简单投影，就能得到2D关节位置。

因此，HAMR提供了一种优雅的方式来应对透视歧义和数据不足问题。首先，HAMR中引入的参数化模型已隐含地全面刻画了手部的固有特性。我们的消融实验也验证了这一点：在手指上添加若干特定的几何约束后，性能提升十分有限。其次，由于可微重投影损失的存在，HAMR支持端到端训练，因此我们的方法能够充分利用大量未完全标注的2D和3D训练样本。我们通过在基准数据集上开展大量的定性和定量实验，验证了HAMR的有效性。

### 2. 相关工作

在学术文献中，3D重建是一个由来已久的问题，在计算机视觉和计算机图形学领域受到了广泛关注。在此，我们简要概述两项关于从单张RGB图像进行3D人脸及人体重建的特定研究主题。

单目人脸重建。得益于由[^4]、[^8]和[^32]发布的3D可变形模型（3DMM），近年来基于单张RGB图像的人脸3D重建取得了巨大进展。例如，MoFA [^47]利用3DMM定义了一个用于描述人脸姿态、形状、表情、皮肤反射及场景光照的微分参数解码器，从而提供了一个端到端可训练的框架。作为进一步的发展，Tewari等人[^46]除了采用微分参数模型外，还引入了用于预测人脸属性的回归器。Genova等人[^13]提出了一种仅利用无标签照片来训练回归网络、以拟合3DMM参数的方法。Sengupta等人[^37]则实现了一种端到端学习框架，能够将无约束的人脸图像分解为形状、反射率和光照成分。

单目人体恢复。在基于单张RGB图像的人体网格恢复方面也取得了类似的进展。例如，Bogo等人[^5]首次提出了一种能够从单张无约束图像中自动估计人体3D姿态及其3D形状的方法。Kanazawa等人[^16]描述了一种用于从单张RGB图像中恢复完整人体3D网格的端到端框架。

---

![Image](images/5d4f9324f7d52ab4dba94106b0fa4753a33ba90b8deed290e4a39b98a5802501.jpg)

<div style="text-align: center;">Figure 2: Framework Architecture. Our framework consists of three parts: (1) a 2D pose estimation block aims at estimating 2D heat-maps from a single RGB image, (2) a regression module that regresses for 3D parameters  $\Theta = \{\theta_{mesh}, \theta_{cam}\}$ by a iterative way, (3) a mesh recovery part for generating the mesh representation, the 2D and 3D joints locations from  $\Theta$.</div>

该框架利用卷积神经网络（CNN）来回归参数化模型SMPL [^19]的参数，从而从单张RGB图像中恢复人体3D网格。与[^16]类似，Omran等人[^28]设计了一种用于人体网格恢复的新型网络结构，并在3D人体姿态估计任务上取得了最先进的结果。最近，BodyNet [^50]提供了一种端到端可训练的网络，该网络考虑了体积3D损失、多视图重投影损失以及多种中间监督机制。

除上述研究工作外，基于单目RGB图像的手部重建尚未引起学界足够的重视。据我们所知，HAMR是同期研究中首批实现这一目标的方法之一 [^6] [^12]。

### 3. 框架

本文的主要目标是提出一个统一的框架，用于从以手为中心的RGB图像中生成详细的网格表示$\mathcal{M} \in \mathbb{R}^{N \times 3}$，同时输出2D关键点$\Phi^{2D} \in \mathbb{R}^{K \times 2}$和3D关节位置$\Phi^{3D} \in \mathbb{R}^{K \times 3}$；其中N表示$\mathcal{M}$的顶点数，K表示关键点的数量。我们采用了一种最新的参数化生成模型来生成手部网格，随后根据生成的网格推断手部姿态。本框架的整体架构如图2所示。

#### 3.1. 手部网格恢复

手部网格表示。我们在框架中采用MANO [^36]作为通用的3D手部模型。具体而言，MANO将手部网格分解为形状参数——主要用于描述手指的纤细程度和手掌厚度等手部特征——以及姿态参数——即3D表面随关节活动而产生的形变方式。与SMPL [^19]类似，MANO也是通过一组参数 $\mathcal{M} \in \mathbb{R}^{N \times 3}$ 来参数化一个三角化网格 $\theta_{mesh} = \{\vec{\beta}, \vec{\theta}\}$，其中 $\vec{\beta} \in \mathbb{R}^{10}$ 表示形状参数，而 $\vec{\theta} \in \mathbb{R}^{K \times 3}$ 则是姿态参数。从技术层面讲，$\vec{\beta}$ 代表用于塑造个体特征的PCA成分系数，$\vec{\theta}$ 则表示基于罗德里格斯向量表示的K个关节的相对3D旋转。该模型由一个平均模板网格 $\mathbf{T} \in \mathbb{R}^{N \times 3}$ 定义，该网格由处于静止状态的N个顶点 $\vec{\theta}^*$ 拼接而成；还包括一组混合权重 $\mathcal{J} \in \mathbb{R}^{N \times K}$ 和 $\mathcal{W} \in \mathbb{R}^{N \times K}$；以及一个混合函数 $B_S : \mathbb{R}^{|\vec{\beta}|} \mapsto \mathbb{R}^{N \times 3}$，它以 $\vec{\beta}$ 作为输入并输出用于表征个体特征的混合形状；还有依赖于姿态的混合函数 $B_P : \mathbb{R}^{|\vec{\theta}|} \mapsto \mathbb{R}^{N \times 3}$，用于补偿因姿态变化引起的形变。

按照标准的蒙皮流程，形状和姿态形变 $B_S(\overrightarrow{\beta}), B_P(\overrightarrow{\theta})$ 会被应用到平均模板 $\mathbf{T}$ 上。为了得到最终的网格，需利用混合蒙皮函数 $J(\overrightarrow{\beta})$，围绕关节 $W(\cdot)$ 旋转各个手指部分，从而对网格进行姿态调整。

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

 $$ \boldsymbol{T}(\overrightarrow{\beta},\overrightarrow{\theta})=\bar{\mathbf{T}}+\boldsymbol{B}_{S}(\overrightarrow{\beta})+\boldsymbol{B}_{P}(\overrightarrow{\theta}). $$

借助网格模型，只需指定参数 $\overrightarrow{\beta}$ 和

---

$\overrightarrow{\theta}$。值得一提的是，$T(\cdot)$和$W(\cdot)$都是$\overrightarrow{\beta}$与$\overrightarrow{\theta}$的可微函数[^19] [^36]，这十分有利于将网格模型与其他模块相整合。

衍生的手部姿态表示。基于恢复出的网格，我们可以通过网格顶点间的线性插值来计算3D关节位置 $\Phi^{3D}$，同时通过对3D关节进行投影来获得2D关节位置 $\Phi^{2D}$。更具体地说，

 $$ \Phi_{k}^{3D}=\sum_{i=1}^{N}\mathcal{I}_{i k}\mathcal{M}_{i}, $$

 $$ \Phi_{k}^{2D}=\prod\left(\Phi_{k}^{3D}|\theta_{c a m}\right), $$

其中 $\Phi^{3D}$ 是一组3D坐标 $\{(x,y,z)_k\}_{k=1}^K$，$\Phi^{2D}$ 是对应的一组2D坐标 $\{(u,v)_k\}_{k=1}^K$，而 $\theta_{cam} = \{(s,t_x,t_y)\}$ 则表示相机参数。3D到2D的投影函数 $\prod(\cdot)$ 定义如下：

 $$ \prod\left(((x,y,z)|(s,t_{x},t_{y}))=(s(x+t_{x}),s(y+t_{y}))\right), $$

此处我们采用了弱透视相机模型。

轮廓约束。如果仅对2D/3D手部姿态施加监督，网格可能会为了适配关节位置而发生形变，却忽略手部表面细节，从而导致异常的网格表示。对于一张手部图像而言，生成的手部网格的投影应与对应的轮廓保持一致。这种约束在基于单张RGB图像的3D重建中发挥着不可或缺的作用 [^4] [^5] [^17] [^31] [^49]。在本研究中，我们引入了轮廓一致性损失函数来优化手部网格和相机参数估计。具体而言，我们利用逆向图形技术 [^17] [^21]，根据公式1生成的重建手部网格来获取渲染后的掩码图像，随后通过惩罚渲染掩码与真实轮廓之间的偏差来训练网络。

几何约束。在得到的3D手部姿态表示基础上，应用几种几何约束也会很有帮助。设$P_a, P_b, P_c, P_d$为手指（拇指除外）的4个关节，按从指尖到掌心的顺序排列，其中$P_i \in \mathbb{R}^3$、$i \in \{a, b, c, d\}$。为方便起见，我们定义$\overrightarrow{V_{ab}}$为$P_a - P_b$，它类似于$\overrightarrow{V_{bc}}$和$\overrightarrow{V_{cd}}$。正确的手部关节活动应遵循以下约束。首先，$P_a, P_b, P_c, P_d$位于同一平面内，这意味着：

 $$ (\overrightarrow{V_{a b}}\times\overrightarrow{V_{b c}})\cdot\overrightarrow{V_{c d}}=0. $$

其次，从$\overrightarrow{V_{ab}}$到$\overrightarrow{V_{bc}}$的旋转方向与从$\overrightarrow{V_{bc}}$到$\overrightarrow{V_{cd}}$的旋转方向一致，这意味着：

 $$ (\overrightarrow{V_{ab}}\times\overrightarrow{V_{bc}})\cdot(\overrightarrow{V_{bc}}\times\overrightarrow{V_{cd}})\geq0. $$

需要注意的是，这两种几何约束可以通过拉格朗日乘数法在损失最小化问题中被重新表述为正则项[^35]。

损失函数。我们的目标是从单张RGB图像中恢复手部网格，为此我们利用深度卷积网络来拟合网格参数$\theta_{mesh}$。然而，在现实场景中，从单张RGB图像标注时几乎无法获得真实的网格参数。幸运的是，我们的HAMR框架可以根据网格推导出3D和2D关节位置。通过这种方式，我们可以利用广泛可用的3D和2D标注来训练HAMR，从而实现网格重建。

需要指出的是，相机参数$\theta_{cam}$会带来一个问题。为使我们的框架完全自动化且精确，我们从基础深度卷积网络中引出另一条分支来估计相机参数。训练期间，“真实”的相机参数是根据配对的真实3D和2D标注计算得出的。更具体地说，“真实”缩放比例s是2D骨骼长度与3D骨骼长度的平均值之比。接着，“真实”偏移量被计算为$(t_x, t_y) = \frac{1}{K} \sum_{k=1}^{K} ((u_k, v_k)/s - (x_k, y_k))$。

考虑到基础深度卷积网络的训练，我们采用中间监督来确保早期阶段能很好地捕捉图像语义。具体而言，2D姿态估计模块由2D真实标签的堆叠热图进行监督。对于每个2D关节，真实热图被定义为以该关节位置为中心、经过高斯模糊处理的置信度图像。

为此，我们计算推导出的3D和2D表示与真实标签之间的L2损失，分别得到$\mathcal{L}_{3D}$和$\mathcal{L}_{2D}$。此外，几何约束被重新表述为正则项，形成$\mathcal{L}_{geo}$，用于约束预测的3D姿态。同样重要的是，我们通过L1损失来惩罚渲染掩码与真实轮廓之间的不对齐现象，从而得到$\mathcal{L}_{seg}$。进一步而言，L2损失被用于监督估计的相机参数与真实相机参数，得到$\mathcal{L}_{cam}$。至于中间监督，我们计算预测2D热图与真实2D热图之间的像素级距离，得出$\mathcal{L}_{ht}$。

整个过程对所有可学习参数而言是完全可微分的，因此我们的HAMR框架支持端到端训练。总体损失函数总结如下：

 $$ \begin{aligned}\mathcal{L}&=\lambda_{3D}\mathcal{L}_{3D}+\lambda_{2D}\mathcal{L}_{2D}+\lambda_{geo}\mathcal{L}_{geo}\\&\quad+\lambda_{cam}\mathcal{L}_{cam}+\lambda_{ht}\mathcal{L}_{ht}+\lambda_{seg}\mathcal{L}_{seg},\end{aligned} $$

其中$\{\lambda_{3D},\lambda_{2D},\lambda_{geo},\lambda_{cam},\lambda_{ht},\lambda_{seg}\}$是用于平衡整个框架中不同类型监督的超参数。

#### 3.2. 迭代回归模块

我们采用回归模块来拟合相机参数$\theta_{cam}$和网格参数$\theta_{mesh}$。然而，复杂的域差异使得难以一次性得出合理的估计结果。

---

![Image](images/79f0164051be664e6bf5296a7510635c6f1c29f717ef7f809dfd8cf7ee1b98b6.jpg)

<div style="text-align: center;">Figure 3: Architecture of Iterative Regression Module. This module takes the cross-level features as input and regresses the camera and mesh parameters in an iterative way.</div>

多项研究[^9] [^10] [^27] [^52] [^58]表明，级联且由粗到精的方法比单次求解方案更为合适。受这些研究的启发，我们实现了一种迭代回归模块，用于根据先前2D姿态模块提取的语义特征来拟合相机和网格参数。具体来说，我们将当前参数($\theta_{cam}^{t}$、$\theta_{mesh}^{t}$)作为图像特征$\phi$的补充输入，从而估算出更精确的参数($\theta_{cam}^{t+1}$、$\theta_{mesh}^{t+1}$)。如图3所示，该迭代回归模块由一个简单的全卷积编码器以及多个全连接层组成。

为了使预测的$\theta_{cam}$更加准确，我们利用由配对的3D和2D标注计算出的真实相机参数来进行强监督。相机参数$\theta_{cam}$包含三个实数$(s, t_x, t_y)$，用于将3D关节$(x, y, z)$投影为2D关键点$(u, v)$，其投影函数遵循公式5。

#### 3.3. 2D姿态估计

与近期的方法[^22] [^56] [^59]类似，我们采用级联编码器-解码器结构的网络来预测用于2D姿态估计任务的类高斯热图$\Phi^{ht} \in \mathbb{R}^{K \times H \times W}$，其中K表示关节数量，$\{H, W\}$为热图的分辨率。每个关键点对应一个热图，热图上每个像素值表示该关键点位于该2D位置的置信度。此外，我们与[^7] [^24]的观点一致，认为直接从热图回归到3D姿态时很难解决透视歧义问题。实际上，不同的3D关节位置可能会被投影到同一个2D关键点。因此，除了用于标识2D关键点位置的K个热图外，该模块还会输出额外的$M - K(M > K)$热图来处理这一问题。另外，我们将中间层特征与这M个热图拼接起来，再将其输入后续的迭代回归模块。

在网络架构方面，我们采用了Stacked Hourglass网络[^26]来进行2D手部姿态估计，并做了几处细微修改。与[^25]的做法类似，我们用简单的$3 \times 3$卷积替换了残差块，并用平均池化代替最大池化。此外，每个$3 \times 3$卷积层之后都添加了批量归一化层，以加快训练速度。

### 4. 实验

为了评估HAMR的有效性，我们首先展示了从单张RGB图像恢复的网格的定性结果。其次，由于不存在可用于对比研究的真实网格表示，我们转而通过3D和2D手部姿态估计任务来定量评估HAMR的优越性。最后，我们进行了消融实验，以便更好地了解不同设计策略对3D手部姿态估计任务的影响。$^{2}$

#### 4.1. 实验设置

数据集。我们主要使用Rendered Hand Dataset（RHD）[^59]、Stereo Hand Pose Tracking Benchmark（STB）[^55]以及Dexter Object（Dexter）[^42]数据集。RHD是一个基于第三视角的合成数据集，包含41258个训练样本和2728个测试样本，每个样本都包含RGB图像、深度图像、分割掩码图像，以及21个标准关键点的2D和3D标注。在本文中，我们遵循RHD的标准训练/测试划分方式。此外，对于每个样本，我们仅使用RGB图像及其对应的2D和3D标注。

STB数据集包含六种不同背景下的序列，每种背景对应两个序列（每个序列1500帧）。与[^7]类似，我们将STB的根关节位置进行调整，使其与RHD保持一致；随后按照[^59]给出的规则将数据集划分为训练集和测试集。此外，我们仅使用RGB图像及其对应的3D标注。

Dexter数据集包含六个序列，涉及2名演员（其中1名为女性），以及他们与简单形状物体的各种交互场景。所有序列中的指尖位置和立方体角点均经过人工标注。由于该数据集的手部标注并不完整，因此与[^59]类似，我们使用它来评估我们框架的跨数据集泛化性能。

需要指出的是，对于RHD数据集，我们通过解析渲染后的深度图来获取手部掩码以训练网络，图5展示了部分配对的手部图像及其对应的掩码。

数据增强。RHD和STB采用相同的增强算法。我们以手部为中心裁剪每张图像，并将其缩放至$256 \times 256$大小，随后进行缩放$(0.9 - 1.2)$和旋转$(-/+60^{\circ})$处理。最后，为了应对颜色变化的影响，我们采用如下参数执行色彩抖动处理：

---

![Image](images/3a0fa975d0176ccd9b2aace986d954063879f3f5ea6919c699636f2d6b5cafb3.jpg)

<div style="text-align: center;">Figure 4: Mesh Recovery Results. The left four columns present five representative examples from the STB dataset, while the right four columns from the RHD dataset. For each sector, the first column shows the RGB images, the second to fourth columns are the rendered meshes from different views.</div>

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

<div style="text-align: center;">Figure 5: Paired Mask Samples. Each sample contains two columns. The first column shows the original RGB image; the second column presents the corresponding mask.</div>

具体参数为：亮度（0.2 – 1.8）、对比度（0.3 – 1.7）、饱和度（0.4 – 1.6）、色调（0.2 – 1.8），并添加服从高斯分布的随机噪声$\mathcal{N}(0, 0.01)$。

网络设计。我们采用双堆叠的Stacked Hourglass作为姿态估计模块，该模块会输出64个热图，这一数量多于手部关节数（21个），目的是提供更多的特征信息；热图的分辨率为$64 \times 64$，用于生成$\sigma^2$的参数$\Phi^{ht}$被设定为2.5。迭代回归模块由全卷积编码器和全连接回归器组成。编码器由6层步长为2的卷积层构成，每层卷积核大小为$3 \times 3$；回归器则由2个包含2048个神经元的全连接层构成，最后一层包含22个神经元。在每个全连接层之后，我们插入丢弃概率为0.4的Dropout层以防止过拟合。

训练。我们使用Pytorch [^30]来实现我们的框架，并采用端到端的训练方式。我们通过最小化公式8中的总损失来训练整个模型，其中超参数$\lambda_{3D}$、$\lambda_{2D}$、$\lambda_{geo}$、$\lambda_{cam}$、$\lambda_{ht}$、$\lambda_{seg}$的值经实验分别设定为1000、1、1、0.1、100和10；当然，也可以通过网格搜索方法[^3]来调整这些超参数。我们采用RMSprop [^48]来优化该框架。训练时初始学习率为$2 \times 10^{-4}$，当验证损失不再下降时，学习率会按0.7的比例衰减。所有实验均在配备CUDA 8.0的GeForce GTX TITAN Xp GPU上进行。

#### 4.2. 美观网格的可视化

为了验证生成网格的质量以及框架在各种情况下的鲁棒性，我们从STB和RHD测试集中选取了一些代表性样本，如图4所示。实验表明，我们的框架能够生成高质量且美观的手部网格。

此外，即使在光照条件差、图像被截断、自身遮挡以及手部姿态夸张等极端困难的情况下，我们的框架也能稳健地重建出准确的手部网格。作为示例，我们参考$S_{i}$中的第i个

---

![Image](images/ff639e904dce29fea546b6d81ff0a3a7d59013a1eef66c8b689448ac30b6b6e5.jpg)

![Image](images/e788f441886f36a34fca056156edd2817f693cd8b1fb6bf661389f1a8c5ab48f.jpg)

![Image](images/bc02f398e9ee9dd247569c8cc733e6c79fe294499c3d796098d2e1579c337ecd.jpg)

<div style="text-align: center;">Figure 6: Quantitative Evaluation. The left plot presents the 3D PCK performance on the STB dataset, in which our approach is comparable with state-of-the-art methods. The middle plot shows the 3D PCK performance on the RHD dataset and our method achieves the best results compared with state-of-the-art methods. The right plot demonstrates the 3D PCK performance on the Dexter dataset, our framework outperform state-of-the-art methods by a large margin.</div>

从图4中STB数据集抽取的样本，其与RHD数据集中的$R_i$类似。对比$R_1$、$R_4$和$R_5$可以发现，即便在光照不佳的情况下，我们的方法也能正确重建网格。此外，$R_2$表明即使存在图像截断现象，我们的方法仍能合理估计网格。通过将$S_1$与$S_5$以及$R_3$进行对比，可以得出结论：即便存在严重的自身遮挡或复杂的夸张手部姿态，我们的框架也能恢复出符合人体测量学规律的网格表示。

#### 4.3. 定量评估

为了与[^7]、[^24]、[^39]、[^59]保持一致，我们采用不同阈值下正确关键点百分比（PCK）得分对应的曲线下面积（AUC）来衡量3D手部姿态估计的性能。所有对比方法均在RHD、STB和Dexter数据集上进行了评估，实验结果如图6所示。

在STB数据集上，由于该数据集规模较小且多样性不足，[^7]、[^15]、[^24]的3D PCK曲线相互交织。考虑到在该数据集上各方法的性能均已趋于饱和，我们的方法与所有对比方法[^7]、[^15]、[^24]、[^29]、[^39]、[^54]、[^59]相比具有相当的竞争力。相比之下，RHD数据集更为复杂且多样性更高，我们的方法优于[^7]、[^39]、[^59]所提出的方法，取得了最先进的成果。同样，在Dexter Object数据集上，我们的方法也大幅优于大多数最先进的方法[^6]、[^15]、[^24]、[^39]、[^59]。引入参数化手部模型能有效解决视角歧义问题，进而提升手部姿态估计的准确性，这一结果与我们的预期一致。

#### 4.4. 泛化性能评估

与[^15]、[^24]、[^59]类似，我们评估了我们的框架在Dexter数据集上的泛化性能[^42]。

![Image](images/3f486434133936c2bc6f945d3357e5462ce1626ee9ce29397ed5829cb573425e.jpg)

<div style="text-align: center;">Figure 7: Generalization Performance Evaluation. The plot illustrates the results of 2D hand pose estimation on the Dexter Object dataset. Our method outperforms those proposed in [^15] [^24] [^59].</div>

具体来说，我们在RHD和STB数据集上训练模型，随后在不进行微调的情况下以两种方式执行跨数据集测试。首先，按照常规做法，我们以2D PCK的AUC作为评估指标来衡量2D手部姿态估计的性能。如图7所示，我们的方法取得了比[^15]、[^24]、[^59]中报道的结果更好的性能，其中Dexter数据集包含一定比例的遮挡手部图像。网格能够建模手部的固有几何先验，进而解决由遮挡引起的不确定性，这并不令人惊讶。

其次，我们检验了估计出的手部网格的质量。如图9所示，即使手指被某些异物遮挡或处于高动态范围光照条件下，我们的框架也能重建出高质量的网格。上述实验验证了我们的框架的泛化性能，证明了……

---

![Image](images/d56d68a195a03dbbf26adb30b647a0cdc101c58a59774752c8988dd603f969f1.jpg)

![Image](images/12b51f0391f0bcfef1cb5ff333a8b189b7b3fdf86cb1b920edf08f29fef432b3.jpg)

<div style="text-align: center;">Figure 8: Ablation Studies. The left plot shows the 3D PCK performance on the STB dataset and the right plot on the RHD dataset. Note that w/ and w/o abbreviates with and without respectively. Besides, w/ mesh means obtaining the 3D hand pose from the estimated mesh, w/o mesh denotes estimating the 3D joint locations with the iterative regression module, w/ cam applies supervision over the pose camera parameters, w/ geo denotes taking the geometric loss into consideration, w/ seg indicates considering the silhouette consistent constraint.</div>

![Image](images/157c3eabe31545d8480d06aae99e111c2cca9f21057c195f9d7320ea071a1400.jpg)

<div style="text-align: center;">Figure 9: Recovered Meshes from Dexter Dataset. Each row presents two examples. For each example, the first column shows the RGB image, the second to third columns illustrate the recovered mesh from different views.</div>

#### 4.5. 消融研究

……网格在解决遮挡引起的歧义性问题上的作用，也体现了引入参数化模型用于手部姿态估计的重要性。

为了更好地理解不同设计选择的影响，我们在各种设置下评估了我们的框架。本工作存在四个主要的设计选择：引入参数化模型对姿态估计任务的影响、轮廓一致性约束的效果、姿态监督对相机参数的影响，以及几何损失的影响。我们仍然以3D PCK的AUC作为RHD和STB数据集的评估指标。图8在各种设置下，将我们的完整方案（结合网格+相机约束+几何约束+分割约束）与实验a、b、c、d这四种替代方案进行了比较。

我们发现，引入参数化网格模型能显著提升手部姿态的性能，因为网格模型捕捉到了手部的综合特性。此外，针对手指添加特定的几何约束只能带来微小的性能提升，因为网格模型已经涵盖了手部的固有几何约束。更进一步，对相机参数的姿态监督确实提升了一定的精度，因为$L_{cam}$项在从3D到2D的投影过程中起到了校准作用。同样重要的是，惩罚渲染掩码与真实轮廓之间的错位也能带来性能提升，因为$L_{seg}$项可以优化手部形状和姿态的预测结果。

### 5. 结论

手部图像理解是一个被广泛研究的课题，在现实世界中有诸多视觉应用场景。虽然文献中对手部姿态估计已有充分研究，但关于从单张RGB图像恢复手部网格的问题仍鲜有研究。本文提出的HAMR通过利用通用3D手部模型来实现网格表示，丰富了这一领域的研究。借助网格模型，该框架还能输出2D和3D手部姿态估计结果。从定性角度看，即使在严重遮挡情况下，HAMR也能从单张RGB图像中成功恢复出合理的手部网格；从定量角度看，与现有最先进方法相比，HAMR在2D和3D手部姿态估计任务上的优越性得到了实证验证。沿着这一方向，人们有望在未来看到手部网格恢复和姿态估计领域的进一步发展。

---

## 参考文献

[^1]: Seungryul Baek, Kwang In Kim, and Tae-Kyun Kim. Augmented skeleton space transfer for depth-based hand pose estimation. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^2]: Luca Ballan, Aparna Taneja, Jürgen Gall, Luc Van Gool, and Marc Pollefeys. Motion capture of hands in action using discriminative salient points. In European Conference on Computer Vision (ECCV), 2012.

[^3]: James Bergstra and Yoshua Bengio. Random search for hyper-parameter optimization. Journal of Machine Learning Research, 2012.

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

[^5]: 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 European Conference on Computer Vision (ECCV), 2016.

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

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

[^8]: Chen Cao, Yanlin Weng, Shun Zhou, Yiying Tong, and Kun Zhou. Facewarehouse: A 3d facial expression database for visual computing. IEEE Transactions on Visualization and Computer Graphics (TVCG), 2014.

[^9]: Joao Carreira, Pulkit Agrawal, Katerina Fragkiadaki, and Jitendra Malik. Human pose estimation with iterative error feedback. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

[^10]: Piotr Dollár, Peter Welinder, and Pietro Perona. Cascaded pose regression. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2010.

[^11]: Guillermo Garcia-Hernando, Shanxin Yuan, Seungryul Baek, and Tae-Kyun Kim. First-person hand action benchmark with rgb-d videos and 3d hand pose annotations. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^12]: 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 Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 10833–10842, 2019.

[^13]: Kyle Genova, Forrester Cole, Aaron Maschinot, Aaron Sarna, Daniel Vlasic, and William T Freeman. Unsupervised training for 3d morphable model regression. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^14]: Francisco Gomez-Donoso, Sergio Orts-Escolano, and Miguel Cazorla. Large-scale multiview 3d hand pose dataset. arXiv preprint arXiv:1707.03742, 2017.

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

[^16]: Angjoo Kanazawa, Michael J Black, David W Jacobs, and Jitendra Malik. End-to-end recovery of human shape and pose. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^17]: Hiroharu Kato, Yoshitaka Ushiku, and Tatsuya Harada. Neural 3d mesh renderer. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^18]: Taehee Lee and Tobias Hollerer. Multithreaded hybrid feature tracking for markerless augmented reality. IEEE Transactions on Visualization and Computer Graphics (TVCG), 2009.

[^19]: Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J Black. Smpl: A skinned multiperson linear model. ACM Transactions on Graphics (TOG), 2015.

[^20]: Anders Markussen, Mikkel Rønne Jakobsen, and Kasper Hornbæk. Vulture: a mid-air word-gesture keyboard. In ACM Conference on Human Factors in Computing Systems, 2014.

[^21]: Stephen Robert Marschner and Donald P Greenberg. Inverse rendering for computer graphics. Citeseer, 1998.

[^22]: Julieta Martinez, Rayat Hossain, Javier Romero, and James J Little. A simple yet effective baseline for 3d human pose estimation. In IEEE International Conference on Computer Vision (ICCV), 2017.

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

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

[^25]: Alejandro Newell, Zhiao Huang, and Jia Deng. Associative embedding: End-to-end learning for joint detection and grouping. In Advances in Neural Information Processing Systems (NPIS), 2017.

[^26]: Alejandro Newell, Kaiyu Yang, and Jia Deng. Stacked hour-glass networks for human pose estimation. In European Conference on Computer Vision (ECCV), 2016.

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

## [^28]: Mohamed Omran, Christoph Lassner, Gerard Pons-Moll, Peter Gehler, and Bernt Schiele. Neural body fitting: Unifying deep learning and model based human pose and shape estimation. In International Conference on 3D Vision (3DV), pages 484–494, 2018

---

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

[^30]: Adam Paszke, Soumith Chintala, Ronan Collobert, Koray Kavukcuoglu, Clement Farabet, Samy Bengio, Iain Melvin, Jason Weston, and Johnny Mariethoz. PyTorch: Tensors and dynamic neural networks in python with strong gpu acceleration, may 2017.

[^31]: Georgios Pavlakos, Luyang Zhu, Xiaowei Zhou, and Kostas Daniilidis. Learning to estimate 3d human pose and shape from a single color image. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^32]: Pascal Paysan, Reinhard Knothe, Brian Amberg, Sami Romdhani, and Thomas Vetter. A 3d face model for pose and illumination invariant face recognition. In Advanced video and signal based surveillance, 2009. AVSS'09. Sixth IEEE International Conference on. IEEE, 2009.

[^33]: Thammathip Piumsomboon, Adrian Clark, Mark Billinghurst, and Andy Cockburn. User-defined gestures for augmented reality. In IFIP Conference on Human-Computer Interaction, 2013.

[^34]: Chen Qian, Xiao Sun, Yichen Wei, Xiaoou Tang, and Jian Sun. Realtime and robust hand tracking from depth. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.

[^35]: R Tyrrell Rockafellar. Lagrange multipliers and optimality. SIAM review, 35(2):183–238, 1993.

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

[^37]: Soumyadip Sengupta, Angjoo Kanazawa, Carlos D Castillo, and David W Jacobs. Sfsnet: learning shape, reflectance and illuminance of faces in the wild. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

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

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

[^40]: Srinath Sridhar, Anna Maria Feit, Christian Theobalt, and Antti Oulasvirta. Investigating the dexterity of multi-finger input for mid-air text entry. In ACM Conference on Human Factors in Computing Systems, 2015.

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

[^42]: 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 European Conference on Computer Vision (ECCV), 2016.

[^43]: Srinath Sridhar, Antti Oulasvirta, and Christian Theobalt. Interactive markerless articulated hand motion tracking using

RGB和深度数据。发表于2013年IEEE国际计算机视觉会议（ICCV）。

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

[^45]: Jonathan Taylor, Lucas Bordeaux, Thomas Cashman, Bob Corish, Cem Keskin, Toby Sharp, Eduardo Soto, David Sweeney, Julien Valentin, Benjamin Luff, et al. Efficient and precise interactive hand tracking through joint, continuous optimization of pose and correspondences. ACM Transactions on Graphics (TOG), 2016.

[^46]: Ayush Tewari, Michael Zollhöfer, Pablo Garrido, Florian Bernard, Hyeongwoo Kim, Patrick Pérez, and Christian Theobalt. Self-supervised multi-level face model learning for monocular reconstruction at over 250 Hz. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

[^47]: Ayush Tewari, Michael Zollhöfer, Hyeongwoo Kim, Pablo Garrido, Florian Bernard, Patrick Pérez, and Christian Theobalt. Mofa: Model-based deep convolutional face autoencoder for unsupervised monocular reconstruction. In IEEE International Conference on Computer Vision (ICCV), 2017.

[^48]: Tijmen Tieleman and Geoffrey Hinton. Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude. COURSERA: Neural networks for machine learning, 2012.

[^49]: Hsiao-Yu Tung, Hsiao-Wei Tung, Ersin Yumer, and Katerina Fragkiadaki. Self-supervised learning of motion capture. In Advances in Neural Information Processing Systems (NIPS), 2017.

[^50]: Gul Varol, Duygu Ceylan, Bryan Russell, Jimei Yang, Ersin Yumer, Ivan Laptev, and Cordelia Schmid. Bodynet: Volumetric inference of 3d human body shapes. In European Conference on Computer Vision (ECCV), 2018.

[^51]: Robert Wang, Sylvain Paris, and Jovan Popović. 6d hands: markerless hand-tracking for computer aided design. In IEEE Transactions on Visualization and Computer Graphics (TVCG), 2011.

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

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

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

## [^55]: Jiawei Zhang, Jianbo Jiao, Mingliang Chen, Liangqiong Qu, Xiaobin Xu, and Qingxiong Yang. A hand pose tracking benchmark from stereo matching. In IEEE International Conference on Image Processing (ICIP), 2017

---

[^56]: Xingyi Zhou, Qixing Huang, Xiao Sun, Xiangyang Xue, and Yichen Wei. Towards 3d human pose estimation in the wild: a weakly-supervised approach. In IEEE International Conference on Computer Vision (ICCV), 2017.

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

[^58]: Xiangyu Zhu, Zhen Lei, Stan Z Li, et al. Face alignment in full pose range: A 3d total solution. IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 2017.

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