
# 基于对比学习的单目RGB图像自监督3D手部姿态估计

Adrian Spurr $^{*}$ Aneesh Dahiya $^{*}$ Xi Wang Xucong Zhang Otmar Hilliges 瑞士苏黎世联邦理工学院计算机科学系

## 摘要

受对比学习在图像分类任务中取得成功的启发，我们针对3D手部姿态估计这一结构化回归任务提出了一种新的自监督方法。对比学习利用无标签数据通过特定的损失函数进行表征学习，该函数会促使学习到的特征表征对各类图像变换保持不变性。对于3D手部姿态估计而言，同样希望特征对颜色抖动等外观变换具有不变性；但该任务还要求特征对旋转、平移等仿射变换具有等变性。为解决这一问题，我们提出了一种等变对比学习目标，并验证了其在3D手部姿态估计任务中的有效性。我们通过实验研究了不变性与等变对比学习目标的影响，结果表明学习等变特征能为3D手部姿态估计任务带来更好的表征。此外，我们还发现：在额外的无标签数据上训练足够深度的标准ResNet模型后，FreiHAND数据集上的PA-EPE指标可提升多达14.5%，且无需采用针对该任务的专用架构即可达到最先进的性能。代码和模型可在<https://ait.ethz.ch/projects/2021/PeCLR/>获取。

### 1. 引言

仅通过单目图像估计人类手部的3D姿态，在机器人技术、人机交互以及AR/VR领域有着诸多重要应用。因此，该问题在计算机视觉文献中受到了广泛关注[12, 14, 15, 26, 31–33, 41]。不过，在RGB图像中定位3D手部关节是一项极具挑战性的结构化回归问题，其难点源于背景、光照条件、手部外观的多样性，以及人类手部自由度较高所导致的自遮挡现象。

带标注的数据集若能涵盖更大多样性的

<div style="text-align: center;">I) Self-supervised representation learning</div>

![Image](images/cfeddbfbdd9a29720c4ef07e98ebe3709007194686b31ee0e22fa36b87c8d07c.jpg)

<div style="text-align: center;">II) Supervised hand pose estimation</div>

![Image](images/d0eaf3a6a8723a92e50790afb429a568e6ff6ee5bc08af65648ce3d853e093d3.jpg)

![Image](images/a1ca8d905cc723e725fc9296a937b03455a578139a9d3d3977a22de5010aedc7.jpg)

<div style="text-align: center;">II) I) + II) (ours)</div>

<div style="text-align: center;">Figure 1: We propose a two-stage framework for 3D hand pose estimation. I) An encoder is trained in a self-supervised manner on a large set of unlabeled data using a novel equivariant contrastive objective. II) The pre-trained encoder is fine-tuned with little labeled data. The resulting network is more accurate across datasets.</div>

环境与场景是缓解此问题的一种可能性。然而，获取带 3D 标注的数据费时费力、成本高昂，且通常需要多视角影像或某种形式的用户传感装置。在此类条件下采集的数据往往难以很好地迁移到自然场景影像 [^20] [^42]。因此，人们高度关注能够利用辅助数据的方法，这类数据要么没有关节标注，要么只有 2D 关节标注。例如，可利用此类数据，通过采用弱监督 [^3] [^4]、整合

---

运动学先验 [^31]，或通过利用时间信息 [^14]。现成的关节检测器 [^5] 已被用于自动大规模生成 2D 标注 [^20]。然而，在这些标签上训练、或在由其导出的 3D 标注上训练的模型，其精度本质上受限于标注噪声。因此，如何高效利用无标注数据来训练手部姿态估计器的问题仍未解决。

最近，对比学习等自监督方法表明，它们在图像分类任务上能够达到与监督方法相当的性能[^6] [^8]。这些方法利用无标签数据来学习强大的特征表示。具体而言，通过将图像的正样本对和负样本对通过神经网络投影到潜在空间中来实现这一点。对比学习目标会促使正样本对在潜在空间中的样本彼此靠近，同时让负样本对相互远离。由此得到的预训练网络随后可应用于下游任务。正样本对是通过选取一张图像并对其应用两组不同的增强操作来生成的，而负样本对则对应经过类似增强处理的独立图像。这些增强操作包括颜色丢弃等外观变换，以及旋转等几何变换。对比学习目标能够诱导模型在这些变换下保持不变性。然而，手部姿态估计等三维回归任务本质上要求模型在几何变换下具备等变性。因此，从标准对比学习目标中学到的表示可能无法有效迁移到姿态估计任务中。

据我们所知，本文首次探讨了用于三维手部姿态估计的自监督表示学习技术。我们提出了一种名为姿态等变对比学习（PeCLR）的方法。我们的核心贡献之一是一种新颖的对比学习目标公式，该公式能够诱导模型对几何变换具备等变性；我们证明了这种方法能够有效利用种类繁多的现有手部图像，且无需关节标签。这些图像被用于预训练网络，之后通过监督微调将预训练网络迁移到最终的手部姿态估计任务中。这为手部姿态估计提供了有前景的发展方向，并且只需少量标签即可通过微调预训练网络，轻松实现野外采集图像或特定领域校准图像的迁移应用。

图1概述了我们的方法。首先，我们进行自监督表示学习。给定手部的RGB图像后，我们对其应用外观和几何变换，以生成正负样本对的图像衍生物。这些图像用于通过我们提出的等变对比损失函数来训练编码器。通过在潜在空间中撤销几何变换，我们促进了模型的等变性。不过，这些变换的逆操作并不简单：因为图像上的变换应在潜在空间中引发成比例的变化。由于学习到的投影会导致潜在空间与像素空间之间的尺度存在差异，因此需要特别处理。我们提出了一种潜在样本归一化技术来弥补这一差异，实验结果表明，与监督学习和标准对比学习方法相比，所得模型的姿态估计精度更高（参见图1下方）。

在第二阶段，预训练的编码器会在有标签数据上针对3D手部姿态估计任务进行微调。所得模型会在多种场景下接受全面评估。我们证明了该方法在半监督学习中的标签利用效率有所提升，并且发现使用更多无标签数据对最终性能有益，在标签量最少的情况下，3D EPE指标最高可改善43%（参见图6）。接下来，我们证明这种改进同样适用于全监督场景：采用深度足够的标准ResNet，结合无标签数据和我们提出的预训练方案，其性能优于专门设计的最先进架构（参见表2）。最后，我们证实自监督预训练能使跨数据评估中的3D PA-EPE指标提升5.6%，这表明预训练对跨域泛化具有积极作用（参见表3）。

综上所述，我们的贡献如下：

1. 据我们所知，我们是首个研究如何利用对比学习高效利用无标签数据来进行3D手部姿态估计的团队。

2. 我们提出了一种对比学习目标函数，该函数能够促使模型对外观变换保持不变性，对几何变换保持等变性。

3. 我们开展了对照实验，从而通过实证得出性能最佳的增强方式。

4. 我们证明所提出的方法在半监督场景下能实现更高的标签利用效率，且增加更多无标签数据确实有益。

5. 我们通过实证表明，使用标准ResNet模型时，我们提出的方法的性能优于当前更专门的先进方法。

代码和模型可供研究使用：<https://ait.ethz.ch/projects/2021/PeCLR/>。

### 2. 相关工作

手部姿态估计。手部姿态估计通常遵循三种范式之一：有些研究直接预测3D关节骨架[4, 12, 18, 26, 27, 31–33, 37, 41]；有些利用MANO [^30]，即回归参数化手部模型的参数[1–3, 14, 15, 40]；还有些直接预测手部的完整网格模型[^13] [^21] [^25]。[^41]中提出了一种分阶段方法，即直接回归2D关键点，再将其提升至3D。Spurr等人[^32]引入了跨模态隐空间，以助力更好的学习。

---

Mueller等人[^27]利用合成创建的数据集，并通过GAN来缩小合成数据与真实数据之间的差距。Cai等人[^4]利用补充的深度监督来扩充训练集。[^18]中提出了一种更高效的手部表示形式——2.5D表示。动作识别以及手/物体姿态估计在[^33]中得以实现。[^37]引入了解耦的隐空间，旨在实现更好的图像合成。[^12]中采用基于图的神经网络来共同优化手/物体姿态。[^31]中引入了生物力学约束，以优化基于2D监督数据的姿态预测。Moon等人[^26]预测双手的姿态，并考虑了它们之间的交互作用。

基于模板的方法（如MANO）能够建立手部姿态的先验，同时生成网格表面。某些方法[^1] [^3] [^40]可以直接从RGB图像中估计MANO参数，有时会利用手部掩码[^1] [^40]或自然场景中的2D标注[^3] [^40]作为弱监督信号。有一种统一的方法被提出，用于同时预测MANO参数和物体网格[^15]。Hasson等人[^14]在上述框架基础上，通过光度损失函数从部分标注的数据序列中进行学习。在[^25]中提出了一种替代MANO的方案，即预测手部姿态以及对基础手模型的修正参数。有些方法会直接回归手部网格；不过，获取网格标注数据十分困难。Ge等人[^13]通过引入一个包含完整网格标注的合成数据集来解决这一问题，并对真实数据采用含噪声的监督方式。在[^21]中，借助螺旋卷积技术来预测手部网格，并以MANO作为监督信号。

显然，学界已为手部姿态估计任务投入大量精力来设计定制化的、有时高度专业化的架构。相比之下，我们探索了一种纯数据驱动的方案：利用无标注数据，并采用能诱导等变性的对比学习机制，最终借助标准的CNN实现了业界领先的性能。

自监督学习旨在无需任何标注的情况下学习数据的表征。文献中将预训练任务定义为以自监督方式学习表征的具体策略。这类任务包括预测第二个图像块相对于第一个图像块的位置[^11]、为灰度图像上色[^39]、拼凑拼图[^28]、估计场景中像素的运动流[^35]、预测音频信号中的未来正样本[^29]，或根据两个句子间的关系补全下一个句子[^10]。不过，针对特定下游任务而言，哪种预训练任务能在性能和泛化能力方面达到最优，目前尚不清楚。

对比学习是一种强大的自监督、任务无关的学习范式。对比学习的核心源于距离度量学习的概念：若两组数据在语义上存在关联，就鼓励它们在潜空间中靠近；而无关数据则会被推远。对比学习的一大优势在于可用于训练的数据量极为庞大。通过这一范式可学到通用表征，并已成功应用于诸多下游任务，如图像和视频分类[^6] [^8] [^34]、物体检测[^17] [^36]以及语音分类[^29]。不过，对比学习尚未被应用于手部姿态估计任务。

对比学习在诸多研究中得到了探讨，例如对比预测编码（CPC）[^17] [^29]、对比多视图编码（CMC）[^34]以及SimCLR [^6] [^7]。CPC通过学习预测潜在空间中未来的表征来提取特征。自回归模型被用于实现对未来多步的预测。虽然CPC从过去和未来的两个视角学习，但CMC将这一理念扩展到了多视图学习领域。它的目标是通过最大化同一内容不同视图间的互信息，来学习具有视图不变性的表征。对比学习中最相关的框架是一种简单却高效的方法[^6]。该方法很大程度上受益于数据增强，其学到的表征在图像分类任务上的表现甚至能与监督学习模型相媲美。然而，这种学习到的变换不变性特征并不适用于手部姿态估计等结构化回归任务，因为这类任务需要针对几何变换具有等变性特征的表征。在本研究中，我们通过区分外观变换与几何变换来对SimCLR进行扩展，并提出了一种能够同时针对这两类变换有效学习表征的模型。

### 3. 方法

我们首先回顾SimCLR [^6]。接着介绍预训练与微调的整体框架。随后，我们指出将SimCLR的对比学习公式应用于手部姿态估计时存在的问题，从而引出我们所提出的等变对比学习目标。最后，我们介绍我们的手部姿态估计模型，以及在监督训练阶段用于3D关键点估计的方法。

符号说明。下文中所用到的所有变换集合记为T，其中包含外观变换$t^a$（如颜色抖动）、几何变换$t^g$（如缩放、旋转和平移）以及它们的组合。对于给定的变换$t_i \in T$，$t_i^a, t_i^g$分别对应该变换的外观或几何分量$t_i$。图4展示了本研究中所使用的所有变换。

#### 3.1. SimCLR

SimCLR [^6] 框架的思想是：在隐空间中最大化相似样本表示之间的一致性，同时排斥不相似的样本对。正样本对是通过对图像施加各种增广而人工生成的。给定一组

---

![Image](images/ce3cafb144c0bce0696daee42027fc690527bee57b10390abf1b8778707a46aa.jpg)

<div style="text-align: center;">Figure 2: Method overview. An augmentation  $t = t_g \circ t_a$ is applied to input image  $I^n$. Here  $t_g$ and  $t_a$ denote the geometric and appearance components of the augmentation  $t \in T$, respectively. The model then generates the projections  $z^n$ for each augmented input. Geometric augmentations are reversed in projection space before optimizing the contrastive objective. The agreement between projections from the same input image is maximized (left) and agreements amongst projections from different input images are minimized (right).</div>

给定一组样本 $\{I^n\}_{n=1}^N$，我们考虑两个增强后的视图 $\{I_i^n, I_j^n\}$，其中 $I_i^n = t_i(I^n), I_j^n = t_j(I^n), t_i, t_j \in T$。

该框架由编码器E和投影头$g(\cdot)$组成。整个模型$f = g \circ E$将图像I映射到潜在空间的样本$z \in \mathbb{R}^k$，即$z_i^n = f(I_i^n)$。它采用对比损失函数进行训练，该函数旨在最大化所有正样本对投影$\{z_i^n, z_j^n\}_{i \neq j}$之间的一致性，这些投影提取自同一图像的两个增强视图$I^n$。同时，它也会最小化负样本对投影$\{z_i^n, z_k^m\}$之间的一致性，其中$z_k^m$提取自不同的图像。

在每次迭代中，SimCLR都会采样正样本对和负样本对。对于包含N张图像的给定批次，每张图像会进行两种增强处理，从而生成$2N$张增强后的图像。因此，对于每一张增强后的图像$I_i^n$，都存在一张对应的正样本$I_j^n$，以及$2(N-1)$个负样本$\{\mathbf{I}_k^m\}_{m\neq n}$。模型训练的目标是让正样本彼此靠近，同时让负样本相互远离。这一目标通过如下损失函数来实现，该函数在$NT\text{-}Xent$中被称为[^6]：

 $$ \mathcal{L}_{i,j}=-\log\frac{\exp\left(\operatorname{sim}(z_{i},z_{j})/\tau\right)}{\sum_{k=1}^{2N}\mathbb{1}_{[k\neq i]}\exp\left(\operatorname{sim}(z_{i},z_{k})/\tau\right)} $$

此处$\tau$为温度参数，$\operatorname{sim}(u, v) = u^T v / \|u\|\|v\|$表示$z_i^n$、$z_j^n$之间的余弦相似度，而$\mathbb{1}_{[k \neq i]}$则为指示函数。

#### 3.2. 等变对比表征

观察公式1可知，该目标函数促进了模型在所有变换下的不变性。给定一个样本$\boldsymbol{I}_j^n = t_j(\boldsymbol{I}^n)$及其正样本$\boldsymbol{I}_i^n = t_i(\boldsymbol{I}^n) = t_i(t_j^{-1}(\boldsymbol{I}_j^n)) = \hat{t}_i(\boldsymbol{I}_j^n)$，若满足$f(\boldsymbol{I}_j^n) = z_j^n = z_i^n = f(\hat{t}_i(\boldsymbol{I}_j^n))$，则公式1中的分子会被最小化。因此，满足公式1的模型需要对T中的所有变换保持不变。然而，手部姿态估计要求模型对几何变换具有等变性，因为这些变换会改变所显示的手部姿态。因此，我们需要：

 $$ t_{i}^{g}f(\mathbf{I}_{j}^{n})=f(t_{i}^{g}(\mathbf{I}_{j}^{n})). $$

在潜空间中对变换进行逆操作。为了满足公式2的要求，我们首先注意到它等价于$f(I_j^n) = (t_i^g)^{-1} f(t_i^g(I_j^n)) \leftrightarrow z_j^n = (t_i^g)^{-1} z_i^n$。由此我们得到NT-Xent的如下等变修改形式：

 $$ \mathcal{L}_{i,j}=-\log\frac{\exp\left(\operatorname{s i m}((\tilde{\boldsymbol{z}}_{i},\tilde{\boldsymbol{z}}_{j})/\tau\right)}{\sum_{k=1}^{2N}\mathbb{1}_{[k\neq i]}\exp\left(\operatorname{s i m}(\tilde{z}_{i},\tilde{z}_{k})/\tau\right)}, $$

其中$\tilde{z}_i = (t_i^g)^{-1}z_i$且$z_i \in \mathbb{R}^{m \times 2}$。为了使公式3中的分子最小化，必须满足$\tilde{z}_i = \tilde{z}_j$，这样才能实现公式2所要求的特性。更多细节可在补充材料中找到。由于$t_i^g$是一种仿射变换，其逆变换很容易计算。不过，缩放和旋转是相对于图像尺寸进行的变换，而平移则是以绝对量来衡量的。换句话说，如果我们将图像$I^n$平移x个像素，就需要将其潜空间投影$z^n$按相应比例平移。因此，我们按照与图像尺寸成比例的量来平移$z^n$。为实现这一点，我们先获取与图像尺寸成比例的平移量，再将其乘以与潜空间中投影范围成比例的系数。在此过程中，我们会在对潜空间样本$\hat{v}$应用逆变换以撤销变换之前，先对平移向量$z_i$进行归一化处理。归一化后的向量$\hat{v}$计算如下：

 $$ \hat{\boldsymbol{v}}=\frac{\boldsymbol{v}}{L}L_{z} $$

其中$L_{z} = \max(z_{i}) - \min(z_{i})$，L为图像长度。$L_{z}$背后的原理在于它对应潜空间值的幅度——

---

即潜空间值的幅度。因此，最终得到的平移向量在幅度上也是成比例的。最后需要指出的是，由于公式3中使用了余弦相似度，缩放的影响实际上被消除了（即$\sin(az_i, bz_j) = \sin(z_i, z_j)$，对于$a, b \in \mathbb{R}$而言）。完整的等变对比学习框架如图2所示。

从预训练到微调。使用我们提出的损失函数完成预训练后，我们会针对手部姿态估计任务对编码器进行微调。为此，按照[^6]中的做法，我们移除模型中的投影层g，并用线性层取而代之。随后，整个模型将采用下文第3.3节所述的损失函数进行端到端训练。

#### 3.3. 三维手部姿态估计器

我们的手部姿态估计模型采用了2.5D表示法[^18]。给定一张图像，网络会预测手部的2D关键点$\boldsymbol{J}^{2D} \in \mathbb{R}^{21 \times 2}$以及相对于根节点的深度$\boldsymbol{d}^r \in \mathbb{R}^{21}$。因此，我们的手部姿态模型是通过以下监督损失函数进行训练的：

 $$ \begin{aligned}\mathcal{L}_{\boldsymbol{J}^{2D}}&=|\hat{\boldsymbol{J}}^{2D}-\boldsymbol{J}^{2D}|\\\mathcal{L}_{\boldsymbol{d}^{r}}&=|\hat{\boldsymbol{d}}^{r}-\boldsymbol{d}^{r}|\end{aligned} $$

根据预测的$\mathbf{J}^{2D}$和$d^r$值，便可按照$d^{root}$中的描述获取根关键点的深度[^18]。最后一步，我们对得到的根部深度进行优化以提高其准确性和稳定性，具体过程如[^31]所述，最终得到$d_{ref}^{root}$。由此便能得到最终的3D姿态：

 $$ \mathbf{J}^{3D}=\mathbf{K}^{-1}\mathbf{J}^{2D}(\mathbf{d}^{r}+d_{\mathrm{r e f}}^{\mathrm{r o o t}}), $$

其中K为相机内参矩阵。

### 4. 实验

第4.4节探讨了不同数据增强操作的影响，并评估了它们在手部姿态估计任务中的有效性。接下来，在第4.5节中，我们利用自监督学习得到的表征，展示了该模型在半监督设置下如何高效利用标注数据。第4.6节中，我们将所提方法与手部姿态估计领域的相关工作进行比较，证明PeCLR在FH数据集上能够达到最先进的性能。最后，在第4.7节中，我们进行了跨数据集评估，以展示所提出的表征学习方法在不同域分布下的优势。

#### 4.1. 实现细节

在预训练阶段，我们使用ResNet（RN）[^16]作为编码器，输入为尺寸为$128 \times 128$的单目RGB图像。在表征学习阶段，我们采用LARS优化器[^38]与ADAM优化器[^19]相结合，批量大小为2048，学习率为4.5e-3。在微调阶段，我们使用的则是RGB图像。

<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;'>3D EPE $\downarrow$ (cm)</td><td style='text-align: center; word-wrap: break-word;'>AUC $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>2D EPE $\downarrow$ (px)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SimCLR</td><td style='text-align: center; word-wrap: break-word;'>16.62</td><td style='text-align: center; word-wrap: break-word;'>0.72</td><td style='text-align: center; word-wrap: break-word;'>12.05</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PeCLR (ours)</td><td style='text-align: center; word-wrap: break-word;'>16.05</td><td style='text-align: center; word-wrap: break-word;'>0.74</td><td style='text-align: center; word-wrap: break-word;'>10.51</td></tr></table>

<div style="text-align: center;">Table 1: Comparison of SimCLR and PeCLR on FH. The encoders are pre-trained with either SimCLR or PeCLR, and are frozen during fine-tuning. Both methods use their optimal set of augmentations, as explained in Sec. 4.4.</div>

这些图像的尺寸为$128 \times 128$（见第4.4、4.5节）或$224 \times 224$（见第4.6、4.7节）。在监督微调阶段，我们采用ADAM优化器，学习率为$5e-4$。更多训练细节可在补充材料中找到。

#### 4.2. 评估指标

我们报告端点误差（EPE）和曲线下面积（AUC）。EPE表示真实关键点与预测关键点之间的平均欧几里得距离。AUC是指在0到5厘米阈值范围内，按100个等间距划分后正确关键点百分比（PCK）曲线下的面积。此外，前缀PA表示Procrustes对齐，即在计算相关指标前，先通过Procrustes分析对真实值和预测值进行全局对齐。

#### 4.3. 数据集

我们在实验中使用了以下数据集。

FreiHAND（FH）数据集[^42]的训练集包含32,560帧在绿幕背景下拍摄的图像，测试集则采用真实背景。由于最终评估是在线上进行的，我们无法获取测试集的真实标签。我们将所有监督学习和自监督学习训练基于FH数据集进行，并报告未对齐及经过Procrustes对齐后的EPE和AUC数值。

YouTube3DHands（YT3D）数据集[^20]包含自然场景下的图像，其3D标注是通过OpenPose[^5]和MANO[^30]关键点检测自动生成的。该数据集包含47,125帧自然场景图像。我们仅将YT3D数据集用于自监督表征学习。由于YT3D数据集仅提供3D顶点信息而无相机内参，因此我们报告经过Procrustes对齐后的EPE以及通过弱透视投影得到的2D像素误差。

#### 4.4. 数据增强策略的评估

为了研究哪种数据增强组合的效果最佳，我们首先针对表征学习阶段考虑各种增强操作。图4展示了我们实验中研究的变换类型。我们先评估单个变换，再找出它们的最佳组合。

我们在FH数据集上开展实验，采用我们自己划分的训练集和验证集（90%作为训练集，10%作为验证集），并使用RN50作为编码器。我们训练两个

---

![Image](images/86e55057e4579ce8d3b799a82677a176fcc461278a64235e38d62151ac3ab44c.jpg)

<div style="text-align: center;">Figure 3: Predictions are shown on the test sets of YT3D (top) and FH (bottom) using either RN152 (Baseline) or RN152 + PeCLR. Note that the ground truth of the test set is not publicly available for FH, thus we only visualize the predictions.</div>

![Image](images/421dd963ef823a551de2feadff1cb11f551e9fa4da5e6ff058ab056723019918.jpg)

<div style="text-align: center;">Figure 4: Visualization of transformations evaluated for contrastive learning. Geometric transformations are written in blue whereas appearance transformations are in green. The original sample is taken from FH.</div>

采用不同目标函数的编码器：一个使用SimCLR中提出的NT-Xent（公式1），另一个则采用我们提出的对比学习公式（公式3）。为了评估学到的特征表征，我们会冻结编码器，然后按照第3.3节的描述，基于3D手部标签以全监督方式训练一个两层MLP。

单个增强操作。图5展示了应用单个增强操作时的性能误差。此处采用了SimCLR框架。我们发现，经过变换训练的编码器表现优于随机初始化的情况。不过我们注意到，旋转变换会导致特别差的性能。正如第3.2节所述，SimCLR会促进模型对所有变换（包括几何变换）的不变性。我们推测这种较差的性能源于这一不变性特性。为了验证这一点，我们比较了在平移和旋转两种几何变换下，PeCLR提出的等变对比损失与SimCLR的对比学习公式的性能表现。此处我们再次强调，由于采用了余弦相似度，尺度的影响已被消除。图5b显示，对于平移和旋转而言，PeCLR分别比SimCLR提升了34%和57%。最终，通过MLP的准确率评估可知，尺度、平移和旋转能生成最佳的特征表征。需要注意的是，我们仅针对几何变换促进等变性。因此，所有其他与外观相关的变换在PeCLR和SimCLR下的性能表现一致。

复合增强操作。最后，我们比较不同的变换组合。为了缩小

---

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

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

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

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">Figure 5: a) The feature representation power of individual augmentation as evaluated by an MLP. b) Comparison of PeCLR and SimCLR for translation and rotation, showing a notable improvement of 34% and 56% respectively.</div>

搜索范围，我们从图5中选出性能排名前4的增强操作作为候选。随后我们对所选候选的所有组合进行穷举搜索，最终发现尺度、旋转、平移和颜色抖动能为PeCLR带来最佳性能，而SimCLR在尺度与颜色抖动的组合下表现最优。

我们使用各自的最优组合对PeCLR和SimCLR进行比较，结果如表1所示。可以看出，PeCLR生成的特征优于SimCLR，在3D EPE指标上提升了3.4%，在2D EPE指标上提升了12.8%。这表明PeCLR是一种更有效的手部姿态估计表征学习方法。

#### 4.5. 半监督学习

在本实验中，我们评估PeCLR利用标注数据的效率。为此，我们利用预训练的编码器在FH数据集上进行半监督学习。我们采用第4.4节中确定的最优数据增强组合。

![Image](images/45eb44402189680138d3366fa6a4ddcaee4836d0c58731e4e5970eac198b1f8f.jpg)

<div style="text-align: center;">Figure 6: Semi-supervised performance on FH. By pretraining with PeCLR we achieve greater accuracy in contrast to only training supervised. Adding additional unlabeled data increases this effect.</div>

正如[^7]所述，更深的神经网络能更好地利用大量训练数据。因此，我们提升了网络容量，后续采用RN152作为编码器。关于RN50的结果和讨论详见补充材料。

具体来说，我们使用PeCLR在FH数据集上预训练编码器。随后，在FH数据集上利用不同数量的标注数据对编码器进行微调。为表述清晰，我们将得到的模型称为$\mathbf{M}_{FH}$。为了量化我们所提出的预训练策略的有效性，我们将其与基线方法$\mathbf{M}_{b}$进行比较，后者仅使用FH数据集上的标注数据进行训练，不包含预训练步骤。最后，为了证明利用大量训练数据进行自监督表示学习的优势，我们训练了第三种模型，该模型在FH和YT3D数据集上均进行了预训练，命名为$\mathbf{M}_{FH+YT3D}$。

从图6所示的结果可以看出，无论使用的标签数量多少，$\mathbf{M}_{FH}$和$\mathbf{M}_{FH+YT3D}$的性能都优于基线模型$\mathbf{M}_{b}$。这一结果与[^7]的结论一致，证实了预训练模型能够提升手部姿态估计的标签利用效率。对比$\mathbf{M}_{FH+YT3D}$与$\mathbf{M}_{FH}$可以发现，增加预训练阶段的数据量是有益的，还能进一步降低误差。$\mathbf{M}_{FH+YT3D}$和$\mathbf{M}_{b}$的这些结果揭示了预训练策略在标签利用效率方面的优势。例如，我们发现当仅使用20%的标注数据时，$\mathbf{M}_{FH+YT3D}$的表现几乎与使用40%标注数据的$\mathbf{M}_{b}$相当。

#### 4.6. 与最先进方法的比较

在确定最优的变换组合与表示学习策略后，我们在FH数据集上将PeCLR与当前最先进的方法进行对比。对于我们的方法，我们采用了分辨率为$224 \times 224$像素的图像，并以RN152作为编码器。该编码器通过PeCLR在FH和YT3D数据集上进行了预训练。

---

<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;'>3D PA-EPE (cm) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PA-AUC $\uparrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Spurr et al [^31]</td><td style='text-align: center; word-wrap: break-word;'>0.90</td><td style='text-align: center; word-wrap: break-word;'>0.82</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Kulon et al [^22]</td><td style='text-align: center; word-wrap: break-word;'>0.84</td><td style='text-align: center; word-wrap: break-word;'>0.83</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Li et al [^23]</td><td style='text-align: center; word-wrap: break-word;'>0.80</td><td style='text-align: center; word-wrap: break-word;'>0.84</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose2Mesh [^9]</td><td style='text-align: center; word-wrap: break-word;'>0.77</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>I2L-MeshNet [^24]</td><td style='text-align: center; word-wrap: break-word;'>0.74</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RN50</td><td style='text-align: center; word-wrap: break-word;'>0.83</td><td style='text-align: center; word-wrap: break-word;'>0.84</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>+ PeCLR (ours)</td><td style='text-align: center; word-wrap: break-word;'>0.71</td><td style='text-align: center; word-wrap: break-word;'>0.86</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RN152</td><td style='text-align: center; word-wrap: break-word;'>0.74</td><td style='text-align: center; word-wrap: break-word;'>0.85</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>+ PeCLR (ours)</td><td style='text-align: center; word-wrap: break-word;'>0.66</td><td style='text-align: center; word-wrap: break-word;'>0.87</td></tr></table>

<div style="text-align: center;">Table 2: Comparison with SotA. Standard ResNet models are unable to outperform state-of-the-art methods. By pretraining using PeCLR, we yield a performance increase of 14.5% / 10.8% for RN50 and RN152 respectively, resulting in state-of-the-art performance for both networks.</div>

随后在FH数据集上进行有监督微调。此外，我们还设置了一个基线模型，该模型仅在FH数据集上以有监督方式训练。为求完整起见，我们也用RN50重复了这些实验。

表2将我们的结果与当前最先进的方法进行了比较。我们发现，即便使用RN152这类大容量模型，仅在FH数据集上以有监督方式训练的RN模型也未能超越最先进水平。我们推测这是由于FH数据集规模相对较小，缺乏足够的标注数据用于训练。然而，利用PeCLR以无监督方式利用YT3D数据后，RN50和RN152的PA-EPE分别提升了14.5%和10.8%，表现优于最先进水平。需注意，表2中的所有方法均采用高度定制化的架构。与我们的方法不同，最先进性能是通过纯数据驱动的方式实现的。在图3（下方）中，我们展示了基线和PeCLR的定性结果。

#### 4.7. 跨数据集分析

由于拥有大量的无标注训练数据，我们推测我们的方法能够生成更利于泛化的特征。为验证这一点，我们在跨数据集场景下对4.6节中的模型进行了测试。具体而言，我们考察了这两个模型在YT3D数据集上的性能，以此了解它们在域偏移情况下的表现。此处需强调的是，这两个模型均未在YT3D数据集上接受有监督训练。

表3中的结果显示，PeCLR的性能优于全有监督基线模型，3D EPE指标提升了5.6%，2D EPE指标提升了23.5%。这些提升在图3（上方）中也能直观看到。结果表明，PeCLR确实为利用无标注数据进行表示学习、训练更易适配其他数据分布的模型提供了极具前景的方向。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="3">FH</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>3D EPE $\downarrow$ (cm)</td><td style='text-align: center; word-wrap: break-word;'>AUC $\uparrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RN152</td><td style='text-align: center; word-wrap: break-word;'>5.05</td><td style='text-align: center; word-wrap: break-word;'>0.34</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>+ PeCLR (ours)</td><td style='text-align: center; word-wrap: break-word;'>4.56</td><td style='text-align: center; word-wrap: break-word;'>0.36</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Improvement</td><td style='text-align: center; word-wrap: break-word;'>9.7 %</td><td style='text-align: center; word-wrap: break-word;'>5.6 %</td></tr><tr><td colspan="3">YT3D</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>3D PA-EPE $\downarrow$ (cm)</td><td style='text-align: center; word-wrap: break-word;'>2D EPE $\downarrow$ (px)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RN152</td><td style='text-align: center; word-wrap: break-word;'>3.05</td><td style='text-align: center; word-wrap: break-word;'>22.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>+ PeCLR (ours)</td><td style='text-align: center; word-wrap: break-word;'>2.88</td><td style='text-align: center; word-wrap: break-word;'>16.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Improvement</td><td style='text-align: center; word-wrap: break-word;'>5.6 %</td><td style='text-align: center; word-wrap: break-word;'>23.5 %</td></tr></table>

<div style="text-align: center;">Table 3: Cross-dataset evaluation. PeCLR model with the RN152 architecture is pre-trained on YT3D and FH and then fine-tuned on FH. The model is then evaluated on both FH (top) and YT3D (bottom) test sets. We observe that similar improvements are gained across both datasets.</div>

我们注意到，在手部姿态研究领域很少报道跨数据集泛化能力的相关内容；通常人们认为这对大多数现有方法而言极具挑战性，但其在现实应用中却至关重要。

### 5. 结论

在本文中，我们研究了用于手部姿态估计的自监督对比学习，利用大量无标签数据进行表征学习。我们发现标准对比损失公式存在一个关键问题：强制模型保持不变性反而会对姿态估计产生不利影响。为解决这一问题，我们提出了PeCLR——一种在表征学习过程中鼓励对几何变换保持等变性的新方法。我们通过对比所得到的特征表征来全面评估PeCLR，结果表明PeCLR的性能优于SimCLR。通过半监督方式，我们证明了PeCLR具有极高的标签利用效率。最终，PeCLR在FreiHAND数据集上取得了最先进的成果。此外，我们对YT3D数据集进行了跨数据集分析，展现了PeCLR在跨领域应用中的潜力。我们认为，PeCLR以及我们的详尽评估结果能为学术界带来益处，为提升跨数据集的泛化能力提供可行的解决方案。我们预计PeCLR还能应用于人体姿态估计等其他任务。

致谢。我们感谢Thomas Langerak在图表制作方面的帮助，也感谢Marcel Bühler的有益讨论与建议。

---

## 参考文献

[^1]: Seungryul Baek, Kwang In Kim, and Tae-Kyun Kim. Pushing the envelope for rgb-based dense 3d hand pose estimation via neural rendering. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, 2019. 2, 3

[^2]: Seungryul Baek, Kwang In Kim, and Tae-Kyun Kim. Weakly-supervised domain adaptation via GAN and mesh model for estimating 3d hand poses interacting objects. In 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition, CVPR 2020, Seattle, WA, USA, June 13-19, 2020, 2020.

[^3]: Adnane Boukhayma, Rodrigo de Bem, and Philip H. S. Torr. 3d hand shape and pose from images in the wild. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, 2019. 1, 2, 3

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

[^5]: Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, and Yaser Sheikh. Openpose: Realtime multi-person 2d pose estimation using part affinity fields, 2019. 2, 5

[^6]: Ting Chen, Simon Kornblith, Mohammad Norouzi, and Geoffrey E. Hinton. A simple framework for contrastive learning of visual representations. In Proceedings of the 37th International Conference on Machine Learning, ICML 2020, 13-18 July 2020, Virtual Event, 2020. 2, 3, 4, 5

[^7]: Ting Chen, Simon Kornblith, Kevin Swersky, Mohammad Norouzi, and Geoffrey E. Hinton. Big self-supervised models are strong semi-supervised learners. In Advances in Neural Information Processing Systems 33: Annual Conference on Neural Information Processing Systems 2020, NeurIPS 2020, December 6-12, 2020, virtual, 2020. 3, 7

[^8]: Xinlei Chen, Haoqi Fan, Ross Girshick, and Kaiming He. Improved baselines with momentum contrastive learning, 2020. 2, 3

[^9]: Hongsuk Choi, Gyeongsik Moon, and Kyoung Mu Lee. Pose2mesh: Graph convolutional network for 3d human pose and mesh recovery from a 2d human pose, 2020. 8

[^10]: Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proc. of NAACL-HLT, Minneapolis, Minnesota, 2019. 3

[^11]: Carl Doersch, Abhinav Gupta, and Alexei A. Efros. Unsupervised visual representation learning by context prediction. In 2015 IEEE International Conference on Computer Vision, ICCV 2015, Santiago, Chile, December 7-13, 2015, 2015. 3

[^12]: Bardia Doosti, Shujon Naha, Majid Mirbagheri, and David J. Crandall. Hope-net: A graph-based model for hand-object pose estimation. In 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition, CVPR 2020, Seattle, WA, USA, June 13-19, 2020, 2020. 1, 2, 3

[^13]: 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 IEEE Conference on Computer Vision and Pattern Recognition, CVPR

2019年6月16日至20日于美国加州长滩举办的2019年会议，2019年。第2、3页。

[^14]: Yana Hasson, Bugra Tekin, Federica Bogo, Ivan Laptev, Marc Pollefeys, and Cordelia Schmid. Leveraging photometric consistency over time for sparsely supervised hand-object reconstruction. In 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition, CVPR 2020, Seattle, WA, USA, June 13-19, 2020, 2020. 1, 2, 3

[^15]: Yana Hasson, Gül Varol, Dimitrios Tzionas, Igor Kalevatykh, Michael J. Black, Ivan Laptev, and Cordelia Schmid. Learning joint reconstruction of hands and manipulated objects. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, 2019. 1, 2, 3

[^16]: Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In 2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016, Las Vegas, NV, USA, June 27-30, 2016, 2016. 5

[^17]: Olivier J. Hénaff. Data-efficient image recognition with contrastive predictive coding. In Proceedings of the 37th International Conference on Machine Learning, ICML 2020, 13-18 July 2020, Virtual Event, 2020. 3

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

[^19]: Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In Proc. of ICLR, 2015. 5

[^20]: Dominik Kulon, Riza Alp Güler, Iasonas Kokkinos, Michael M. Bronstein, and Stefanos Zafeiriou. Weakly-supervised mesh-convolutional hand reconstruction in the wild. In 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition, CVPR 2020, Seattle, WA, USA, June 13-19, 2020, 2020. 1, 2, 5

[^21]: Dominik Kulon, Riza Alp Güler, Iasonas Kokkinos, Michael M. Bronstein, and Stefanos Zafeiriou. Weakly-supervised mesh-convolutional hand reconstruction in the wild. In 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition, CVPR 2020, Seattle, WA, USA, June 13-19, 2020, 2020. 2, 3

[^22]: Dominik Kulon, Riza Alp Güler, Iasonas Kokkinos, Michael M. Bronstein, and Stefanos Zafeiriou. Weakly-supervised mesh-convolutional hand reconstruction in the wild. In 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition, CVPR 2020, Seattle, WA, USA, June 13-19, 2020, 2020. 8

[^23]: Moran Li, Yuan Gao, and Nong Sang. Exploiting learnable joint groups for hand pose estimation. arXiv preprint arXiv:2012.09496, 2020. 8

[^24]: Gyeongsik Moon and Kyoung Mu Lee. I2l-meshnet: Image-to-pixel prediction network for accurate 3d human pose and mesh estimation from a single rgb image, 2020. 8

[^25]: Gyeongsik Moon, Takaaki Shiratori, and Kyoung Mu Lee. Deephandmesh: A weakly-supervised deep encoder-decoder framework for high-fidelity hand mesh modeling. arXiv preprint arXiv:2008.08213, 2020. 2, 3

## [^26]: Gyeongsik Moon, Shoou-I Yu, He Wen, Takaaki Shiratori, and Kyoung Mu Lee. Interhand2.6m: A dataset and baseline for 3d interacting hand pose estimation from a single rgb image. arXiv preprint arXiv:2008.09309, 2020. 1, 2, 3

---

[^27]: 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 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, Salt Lake City, UT, USA, June 18-22, 2018, 2018. 2, 3

[^28]: Mehdi Noroozi and Paolo Favaro. Unsupervised learning of visual representations by solving jigsaw puzzles. In European Conference on Computer Vision. Springer, 2016. 3

[^29]: Aaron van den Oord, Yazhe Li, and Oriol Vinyals. Representation learning with contrastive predictive coding. arXiv preprint arXiv:1807.03748, 2018. 3

[^30]: Javier Romero, Dimitrios Tzionas, and Michael J. Black. Embodied hands: Modeling and capturing hands and bodies together. ACM Transactions on Graphics, (Proc. SIGGRAPH Asia), 2017. 2, 5

[^31]: Adrian Spurr, Umar Iqbal, Pavlo Molchanov, Otmar Hilliges, and Jan Kautz. Weakly supervised 3d hand pose estimation via biomechanical constraints, 2020. 1, 2, 3, 5, 8

[^32]: Adrian Spurr, Jie Song, Seonwook Park, and Otmar Hilliges. Cross-modal deep variational hand pose estimation. In 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, Salt Lake City, UT, USA, June 18-22, 2018, 2018.

[^33]: Bugra Tekin, Federica Bogo, and Marc Pollefeys. H+O: unified egocentric recognition of 3d hand-object poses and interactions. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, 2019. 1, 2, 3

[^34]: Yonglong Tian, Dilip Krishnan, and Phillip Isola. Contrastive multiview coding. arXiv preprint arXiv:1906.05849, 2019. 3

[^35]: Jacob Walker, Carl Doersch, Abhinav Gupta, and Martial Hebert. An uncertain future: Forecasting from static images using variational autoencoders. In European Conference on Computer Vision. Springer, 2016. 3

[^36]: Zhirong Wu, Yuanjun Xiong, Stella Yu, and Dahua Lin. Unsupervised feature learning via non-parametric instance-level discrimination, 2018. 3

[^37]: Linlin Yang and Angela Yao. Disentangling latent hands for image synthesis and pose estimation. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, 2, 3

[^38]: Yang You, Igor Gitman, and Boris Ginsburg. Large batch training of convolutional networks, 2017. 5

[^39]: Richard Zhang, Phillip Isola, and Alexei A Efros. Colorful image colorization. In European conference on computer vision. Springer, 2016. 3

[^40]: Xiong Zhang, Qiang Li, Hong Mo, Wenbo Zhang, and Wen Zheng. End-to-end hand mesh recovery from a monocular RGB image. In 2019 IEEE/CVF International Conference on Computer Vision, ICCV 2019, Seoul, Korea (South), October 27 - November 2, 2019, 2019. 2, 3

[^41]: Christian Zimmermann and Thomas Brox. Learning to estimate 3d hand pose from single RGB images. In IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017, 2017. 1, 2

[^42]: Christian Zimmermann, Duygu Ceylan, Jimei Yang, Bryan C. Russell, Max J. Argus, and Thomas Brox. Frei-

hand：一个用于从单张RGB图像中无标记捕捉手部姿态与形状的数据集。载于2019年IEEE/CVF国际计算机视觉会议ICCV 2019论文集，2019年10月27日至11月2日于韩国首尔举办，2019年。第1、5页。
