
# 基于单目RGB图像的实时3D手部追踪的GAN生成手部模型

弗朗西斯卡·穆勒 $^{1,2}$ 弗洛里安·伯纳德 $^{1,2}$ 奥列克桑德尔·索特尼琴科 $^{1,2}$ 杜尚特·梅塔 $^{1,2}$ 斯里纳特·斯里达尔 $^{3}$ 丹·卡萨斯 $^{4}$ 克里斯蒂安·特奥博尔特 $^{1,2}$

$^{1}$ MPI Informatics $^{2}$ 萨尔兰信息学园区 $^{3}$ 斯坦福大学 $^{4}$ 雷胡安卡洛斯国王大学

![Image](images/ee3ee28792e2acfaae2f09d223306c129b094bc636e2624af3f3a662af4d2b99.jpg)

<div style="text-align: center;">Figure 1: We present an approach for real-time 3D hand tracking from monocular RGB-only input. Our method is compatible with unconstrained video input such as community videos from YouTube (left), and robust to occlusions (center-left). We show real-time 3D hand tracking results using an off-the-shelf RGB webcam in unconstrained setups (center-right, right).</div>

## 摘要

我们解决了基于单目RGB序列的实时3D手部追踪这一极具挑战性的问题。我们的追踪方法结合了卷积神经网络与运动学3D手部模型，使其能够很好地泛化到未见数据上，对遮挡和不同相机视角具有鲁棒性，且能生成解剖结构合理且时间上连贯的手部动作。为了训练我们的CNN，我们提出了一种基于几何一致的图像到图像转换网络的训练数据合成新方法。具体来说，我们使用神经网络将合成图像转换为“真实”图像，使得生成的图像与真实世界中的手部图像具有相同的统计分布。为了训练该转换网络，我们将对抗损失、循环一致性损失与几何一致性损失相结合，以在转换过程中保留几何属性（如手部姿态）。我们证明，我们的手部追踪系统在具有挑战性的仅RGB视频序列上的表现优于当前最先进的方法。

### 1. 引言

这类设备[^41] [^1] [^56]。然而，在许多应用场景中，这些要求并不理想，因为此类硬件普及度较低、成本更高，且无法在所有场景中正常使用。

估计手部的3D姿态是计算机视觉领域长期以来的目标，其在虚拟/增强现实（VR/AR）[^17] [^26]以及人机交互[^38] [^18]等领域有诸多应用。虽然已有大量研究关注无标记的图像基手部追踪或姿态估计，但其中许多方法需要深度相机[^34] [^47] [^39] [^44] [^27] [^7] [^54]或多视角设备。

相比之下，我们解决了这些问题，提出了一种利用单个彩色摄像头实现实时骨骼3D手部追踪的新算法，该算法在物体遮挡和杂乱环境下仍能保持鲁棒性。近期针对仅RGB的无标记手部追踪的研究[^36] [^63] [^8]存在明显的局限性。例如，Simon等人提出的方法[^36]能在多视角设置下估计3D关节位置；但在单目场景下只能估计2D关节位置。同样，Gomez-Donoso等人的方法[^8]也仅限于2D估计。最近，Zimmermann和Brox[^63]提出了一种从单目RGB图像估计3D手部姿态的方法，但该方法只能得到相对的3D位置，且在遮挡情况下表现不佳。

受近期关于手部与身体追踪研究的启发[^49] [^20] [^19]，我们将基于CNN的2D和3D手部关节预测与运动学拟合步骤相结合，从而利用单目RGB图像来追踪全局3D空间中的手部运动。这类（有监督的）基于学习的方法面临的主要难题在于需要合适的标注训练数据。虽然手动标注单视角RGB图像中的2D关节位置已被证明是可行的[^14]，但由于固有的深度歧义性，要精确标注3D关节位置是不可能的。解决这一问题的一种方法是利用现有的多摄像头方法来追踪3D手部运动[^41] [^1] [^56] [^8]。不过，由于不可避免的追踪误差，由此生成的标注精度会有所欠缺。有些研究会渲染合成手部图像，这类图像具备完美的真实值[^20] [^63]。然而，在合成数据上训练的CNN并不总能很好地泛化到真实图像上。

---

我们提出了一种通过合成图像与真实图像之间的图像到图像转换来生成合适训练数据的方法。我们对该方法提出了两项严格要求：首先，我们希望能够利用非配对图像进行训练，以便轻松收集大规模的真实手部数据集；其次，算法必须能保留手部的姿态，从而使合成图像的标注在转换后的图像中依然有效。为此，我们借鉴了CycleGAN的开创性成果[^62]，该方法已成功利用非配对样本完成各类图像到图像转换任务。我们为其增加了几何一致性损失项，这在我们仅需学习空间局部区域（例如仅手部区域）的图像到图像转换场景时能改善结果，生成既能保留姿态、又无过多纹理溢出且轮廓更清晰的图像。一旦该网络训练完成，我们就可以用它将任何合成生成的图像转换为“真实”图像，同时保留完美且低成本的真值标注。在本文后续内容中，当我们提及经我们的转换网络处理后、统计分布与真实图像一致的合成图像时，会将此类图像称为“真实”图像（加引号表示）或GAN生成图像。

最后，我们利用由GAN生成的带标注RGB图像来训练CNN，使其能同时回归图像空间的2D关节位置以及相对于根节点的3D关节位置。虽然结合2D预测的骨骼手部模型足以估算手部的全局平移量，但相对3D位置能消除2D位置中存在的全局旋转与关节活动方面的固有歧义。总而言之，我们的主要贡献如下：

- 首个能从无约束的单目RGB图像中实时追踪全局3D手部姿态的系统。

- 一种新颖的几何一致性GAN，能在进行图像到图像转换的同时保留姿态。

基于该网络，我们能够优化合成手部图像数据集，使其统计分布与真实手部图像相似。

- 全新的带3D手部关节标注的RGB数据集。在规模（超过26万帧）、图像保真度及标注精度方面，该数据集均优于现有数据集。

### 2. 相关工作

我们的目标是从无约束的单目RGB视频流中实时追踪手部姿态。由于姿态空间庞大、物体造成的遮挡、深度模糊、光照和肤色引起的外观变化，以及相机视角差异等因素，这一任务极具挑战性。虽然基于手套的解决方案能够应对其中部分挑战[^57]，但佩戴起来颇为不便。因此，下文我们将讨论范围限定在那些旨在解决这些挑战的无标记摄像头方法上。

多视角方法：使用多台RGB摄像头能显著减轻手部运动及交互过程中的遮挡问题。Wang等人[^56]利用两台摄像头，采用判别式方法在数据库中快速找到最接近的姿态，从而实现了手部追踪。Oikonomidis等人[^23]则在摄影棚环境中使用8台校准过的摄像头来同时追踪手部及被操控的物体。Ballan等人[^1]同样采用了8台同步的RGB摄像头，并结合对手指上特征点的判别式检测结果来估算姿态。Sridhar等人[^41] [^42]则利用5台RGB摄像头外加一个深度传感器，成功实现了实时手部姿态估计。Panteleris和Argyros[^24]提出使用短基线立体摄像头进行手部姿态估计，无需依赖视差图。上述所有方法均依赖于多台校准过的摄像头，因此难以在无约束场景（如社区视频）中针对普通手部运动进行设置和操作。最近，Simon等人[^36]提出了一种利用全景摄像头装置生成大量2D和3D手部姿态数据的方法，不过该方法限制了自然运动和外观变化；他们虽利用这些数据进行2D手部姿态估计，却无法在单目RGB视频中估算3D姿态。我们的研究成果既解决了通用场景下的数据多样性问题，也攻克了复杂的3D姿态估计难题。

单目方法：用于3D手部姿态估计的单目方法更受青睐，因为它们无需复杂的设置即可应用于诸多场景。廉价消费级深度传感器的普及推动了将其用于手部姿态估计的研究。Hamer等人[^10]率先提出了一种利用单目RGB-D数据进行手部追踪的生成式方法，即便在部分遮挡情况下也能发挥作用。由于此类方法常受限于局部最优解问题，Keskin等人[^15]便提出了一种基于学习的判别式方法。此后，众多研究致力于改进生成组件[^44] [^46] [^51] [^52]，以及基于学习的判别器[^58] [^16] [^45] [^49] [^55] [^7] [^37] [^22] [^61] [^5] [^4] [^29]。结合生成式和判别式方法优点的混合方法在基准数据集上表现最佳[^47] [^39] [^40] [^20] [^59]。

尽管在单目RGB-D或基于深度的手部姿态估计方面取得了上述进展，但必须注意的是，这些设备在并非所有场景中都能正常工作，例如在户外会因阳光干扰而无法使用，且功耗较高。此外，如示意图1所示，对无约束RGB视频中的3D手部姿态进行估计，将使我们能够处理社区视频。针对该问题的一些早期方法[^12] [^43] [^30]无法生成度量上精确的3D姿态，因为它们仅获取给定输入的最近3D邻居，或假设z坐标是固定的。

---

![Image](images/e5f5ccf77180e3414152896f91117544d6bea54488bffbf105b681bee65f2f56.jpg)

<div style="text-align: center;">Figure 2: Pipeline of our real-time system for monocular RGB hand tracking in 3D.</div>

Zimmermann和Brox [^63]提出了一种基于学习的方法来解决这一问题。然而，他们预测的3D关节是相对于标准坐标系的，即绝对坐标未知，且对物体遮挡情况的鲁棒性较差。此外，由于他们的3D预测仅基于抽象的2D热图，并未直接考虑图像信息，因此无法区分具有相同2D关节位置投影的3D姿态。相比之下，我们的工作通过从图像证据中联合学习2D和3D关节位置来克服这些局限，从而能够准确估计2D关节位置模糊情况下的姿态。此外，我们的骨架拟合框架将先验手部模型与这些预测结果相结合，以得到全局3D坐标。

基于学习的方法的训练：使用基于学习的模型进行手部姿态估计时面临的挑战之一，在于难以获取包含足够真实世界变化的标注数据。对于基于深度的手部姿态估计，已有多种训练数据集被提出，它们利用生成模型拟合来获取真实标注[^49] [^39]，或更好地采样姿态空间[^21]。Simon等人[^36]提出了一种多视角自举方法。不过，这种外置式捕捉装置仍可能因手部操作的物体而产生遮挡问题。合成数据在获取完美真实标注方面颇具潜力，但当用在此类数据上训练的模型处理真实输入时，仍存在域差异问题[^20]。

域适应技术[^6] [^50] [^25]旨在通过学习对底层差异具有不变性的特征，来弥合真实数据与合成数据之间的差距。其他技术则利用真实-合成图像对[^13] [^32] [^3]来训练能够生成包含许多真实图像特征的网络的模型。由于获取真实-合成图像对较为困难，Shrivastava等人[^35]最近提出了一种仅需非配对样本的合成到真实细化网络。不过，由于受到与输入的像素级相似性约束，其细化程度有限。相比之下，Zhu等人[^62]提出的非配对图像到图像转换方法放宽了这些约束，转而寻找两个域之间的双射关系。我们基于[^62]实现了更丰富的细化效果，并引入了几何一致性约束以确保标注传递的有效性。无需对应的真实-合成图像对，我们就能生成包含真实数据集中诸多特征的手部图像。

### 3. 手部跟踪系统

本文的主要目标是提出一种用于单目RGB手部图像的三维实时跟踪系统。整个系统的框架如图2所示。针对实时单目RGB视频流，我们采用CNN手部关节回归器RegNet来预测二维关节热图和三维关节位置（第3.2节）。RegNet的训练所用图像是由一种新型的图像到图像转换网络GeoConGAN生成的（第3.1节），该网络能够丰富合成手部图像的细节。GeoConGAN输出的图像——即GAN生成的图像——更适合用来训练可处理真实图像的CNN。完成关节回归后，我们通过最小化拟合能量函数将运动学骨架与二维及三维预测结果进行匹配（第3.3节），这种方式在实现稳健的三维手部姿态跟踪方面具有多项关键优势：它能确保生物力学上的合理性；我们能够获取手部的绝对三维位置；此外还能在多个帧之间保持时间上的稳定性。

#### 3.1. 训练数据的生成

由于为数百张真实手部图像标注三维关节位置是不现实的，因此通常会使用合成生成的图像。虽然合成图像的主要优势在于其三维关节位置的真值已知，但一个重要缺陷是它们往往缺乏真实感。真实图像与合成图像之间的这种差异会限制仅基于合成图像训练的CNN的泛化能力。为了弥补这一差距，我们提出使用图像到图像转换网络GeoConGAN，旨在将合成图像转换为真实图像。最重要的是，训练该网络时我们使用的是未配对的真实图像和合成图像，具体细节将在下文阐述。需要注意的是，无论是真实数据还是合成数据，我们都仅使用前景分割后的图像，即背景为白色且包含手部的图像，这有助于简化训练过程，并让网络的计算能力集中于手部区域。

真实手部图像的采集：为了获取真实图像数据集，我们采用绿幕设置来采集不同姿势和相机外参下的手部图像，这些图像来自7名具有不同肤色和手部形状的受试者。

---

![Image](images/d4de80f3623c9f5d36744b4c6c0f343371c4e39b511d83353aab5d1dd20ce8f3.jpg)

<div style="text-align: center;">Figure 3: Network architecture of our GeoConGAN. The trainable part comprises the real2synth and the synth2real components, where we show both components twice for visualization purposes. The loss functions are shown in black, images from our database in green boxes, images generated by the networks in blue boxes, and the existing SilNet in orange boxes.</div>

总共我们借助桌面摄像头采集了28,903张真实手部图像，图像分辨率为$640 \times 480$。

合成手部图像的生成：我们的合成手部图像数据集结合了SynthHands数据集[^20]（该数据集包含以自我为中心视角拍摄的手部图像）以及我们自己渲染的从不同第三人称视角拍摄的手部图像。为了生成后者，我们采用了前沿数据集中的常用策略[^20] [^63]：通过手部追踪器或手部动画平台获取手部运动数据，再将其映射到运动学三维手部模型上。

几何一致的CycleGAN（GeoConGAN）：虽然上述流程能够生成大量具有多样化手部姿态配置的合成训练图像，但仅基于合成图像训练手部关节回归网络存在明显缺陷：如此训练出的网络对真实图像的泛化能力有限，这一点我们将在第4.1节中予以证明。

为了解决这个问题，我们训练了一个能够将合成图像转换为“真实”图像（或GAN生成的图像）的网络。我们的翻译网络基于CycleGAN [^62]，它利用对抗性判别器 [^9] 来同时学习循环一致的前向和后向映射。循环一致性意味着两种映射的组合（无论方向如何）都是恒等映射。在本研究中，我们学习了从合成图像到真实图像的映射（synth2real），以及从真实图像到合成图像的映射（real2synth）。与许多现有的图像到图像转换或风格迁移网络 [^13] [^32] 不同，CycleGAN的优势在于它不需要成对的图像；也就是说，给定的合成图像不必存在对应的真实图像，这一点对于我们的研究至关重要，因为这类配对数据并不可得。

这种GeoConGAN的架构如图所示：

![Image](images/cd8deb79a85b24a470121a4fad16a28579c496efa75ae1f42d2c345767e2dfce.jpg)

<div style="text-align: center;">Figure 4: Our GeoConGAN translates from synthetic to real images by using an additional geometric consistency loss.</div>

图3展示了该网络的输入：在白色背景上拍摄的手部的（裁剪后的）合成图像和真实图像，以及它们各自的轮廓，即前景分割掩码。本质上，GeoConGAN与CycleGAN [^62] 类似，都包含判别器和循环一致性损失，还有两个可训练的翻译器synth2real和real2synth。不过，与CycleGAN不同的是，我们引入了额外的几何一致性损失（基于交叉熵），以确保real2synth和synth2real组件生成的图像在图像转换过程中能保持手部姿态不变。确保手部姿态的一致性至关重要，这样才能保证合成图像中的真实关节位置对于synth2real生成的“真实”图像同样适用。图4展示了加入这一新损失项所带来的好处。

为了提取real2synth和synth2real生成图像的轮廓（见图3中的蓝色框），我们训练了一个基于简单UNet [^31] 的二元分类网络SilNet，该网络包含三个步长为2的卷积层和三个反卷积层。需要注意的是，由于图像背景为白色，这项任务相对简单。我们选择可微分的网络而非简单的阈值分割方法，是为了让GeoConGAN的训练过程更加稳定。我们的SilNet事先已在数据的一个小型独立子集上训练完成，在训练synth2real和real2synth时它保持固定不变。相关细节可在补充文档中找到。

---

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

<div style="text-align: center;">Figure 5: Two examples of synthetic images with background/object masks in green/pink.</div>

![Image](images/35735d7284ad3dff27ed104596dacf07f987c53bbcfe6da6e0b16477b17b9df1.jpg)

<div style="text-align: center;">Figure 6: Architecture of RegNet. While only ResNet and conv are trainable, errors are still back-propagated through our ProjLayer. Input data is shown in green, data generated by the network in blue, and the loss is shown in black.</div>

数据增强：一旦GeoConGAN训练完成，我们将所有合成生成的图像输入synth2real组件，从而得到一组带有对应真实3D关节位置的“真实”图像。利用原始合成图像中的背景掩码，我们通过将GAN生成的图像（前景）与随机图像（背景）进行合成来实现背景增强 [^53] [^19] [^28]。同样，我们也会利用渲染合成序列时产生的物体掩码，通过添加随机纹理的物体来进行增强 [^20]。在没有背景或物体的图像上训练模型，再将数据增强作为后处理步骤，能显著减轻GeoConGAN的任务难度。图5展示了一些GAN生成的图像。

#### 3.2. 手部关节回归

为了从手部的（裁剪后的）RGB图像中回归手部姿态，我们训练了一个名为RegNet的CNN，用于预测21个手部关节的2D和3D位置。2D关节位置以图像空间中的热图形式表示，而3D位置则表示为相对于根关节的3D坐标。我们发现，回归2D和3D关节位置是相辅相成的：2D热图能够体现不确定性，而3D位置则可以消除深度歧义。

如图6所示，RegNet基于残差网络，包含10个残差块，该网络源自ResNet50架构[^11]，这一做法与[^20]中的描述一致。此外，我们还加入了一个基于投影层（ProjLayer）的（可微分的）优化模块，以便更好地整合2D和3D预测结果。ProjLayer的原理是对（初步的）中间3D预测结果进行正交投影，从而在层内生成2D高斯热图。随后，这些热图会被用于网络的剩余部分（卷积层），以得到最终的2D和3D预测结果。图7a显示这种方法能带来更好的效果。

训练过程采用了GAN生成的图像（见第3.1节）与合成图像，同时辅以对应的3D真实关节位置数据。训练集总共包含$\approx 440$个样本，其中60%为GAN生成的图像。我们通过实验发现，即便提高GAN生成图像的占比，在真实测试数据上的性能也不会进一步提升。我们使用相对3D关节位置来训练RegNet，这些相对位置是通过对绝对3D真实关节位置进行归一化得到的：中指掌指关节位于原点，腕关节与中指掌指关节之间的距离为1。更多细节可在补充文档中查看。

在测试阶段，也就是进行手部跟踪时，RegNet的输入是裁剪后的RGB图像，其中的（正方形）边界框是根据上一帧的2D检测结果确定的。在第一帧中，正方形边界框位于图像中心，其大小等于输入图像的高度。此外，我们还用$1 \in$滤波器[^2]对RegNet的输出进行滤波，以获得时间上更平滑的预测结果。

#### 3.3. 运动学骨骼拟合

在获得图像空间中以热图形式呈现的2D关节预测结果，以及相对于根关节的3D关节坐标后，我们会将运动学骨骼模型拟合到这些数据上。这样既能保证手部姿态符合解剖学上的合理性，又能获取绝对的手部姿态，下文将对此进行说明。此外，在处理图像序列、即进行手部跟踪时，我们还能进一步确保时间上的平滑性。

手部运动学模型：我们的手部运动学模型在图2中被表示为“骨骼拟合”模块。该模型包含一个根关节（手腕）和20个手指关节，总计21个关节。需要注意的是，这一数字包含了作为无自由度关节的指尖。设$t \in \mathbb{R}^3$和$\mathbf{R} \in \mathrm{SO}(3)$（为方便起见，用欧拉角表示）分别为根关节的全局位置和旋转角度，而$\theta \in \mathbb{R}^{20}$则表示具有1到2个自由度的15个手指关节的运动角度。我们将所有参数整合为$\Theta = (t, \mathbf{R}, \theta)$。我们用$\mathcal{M}(\Theta) \in \mathbb{R}^{J \times 3}$来表示所有$J=21$个手部关节的绝对三维位置（包括根关节和指尖），其中$\mathcal{M}_j(\Theta) \in \mathbb{R}^3$用于表示第j个关节的位置。为了计算非根关节的位置，需要对运动学树进行遍历。注意，我们以相机坐标系作为全局坐标框架。为了适应不同用户的骨骼长度差异，我们进行了针对每个用户的骨骼适配。用户特定的骨骼长度是通过取平均值得到的。

---

对于用户手与相机图像平面平行时30帧内的2D预测结果，我们取其相对骨骼长度的平均值。由于RGB数据存在固有的尺度歧义，我们最多只能确定单个缩放因子，但由此仍能得到全局三维结果，这对许多应用而言至关重要，而以往的研究并不支持这一点[^63]。此外，只要提供单根骨骼的度量长度，我们就能获得精度符合度量标准的三维结果。在模型拟合过程中，我们最小化能量函数。

 $$ \begin{array}{r}{E(\Theta)=E_{\mathrm{2D}}(\Theta)+E_{\mathrm{3D}}(\Theta)+E_{\mathrm{l i m i t s}}(\Theta)+E_{\mathrm{t e m p}}(\Theta),}\end{array} $$

其中各个能量项的具体描述如下。

2D拟合项：$E_{2D}$的作用是最小化投影到图像平面上的手部关节位置与热图最大值之间的距离。其表达式如下：

 $$ E_{2\mathrm{D}}(\Theta)=\sum_{j}\omega_{j}\|\Pi(\mathcal{M}_{j}(\Theta)))-u_{j}\|_{2}^{2}, $$

其中$u_j \in \mathbb{R}^2$表示第j个关节的热图最大值，$\omega_j > 0$是从热图中得出的标量置信度权重，$\Pi : \mathbb{R}^3 \mapsto \mathbb{R}^2$是基于相机内参从三维空间到二维图像平面的投影。需要注意的是，这个2D项对于获取绝对三维位置至关重要，因为如接下来所述，三维拟合项$E_{3D}$仅考虑相对于根关节的关节活动情况。

三维拟合项：$E_{3D}$的作用是利用预测的相对三维关节位置来获得良好的手部关节活动状态。此外，该项还能解决仅使用2D关节位置时存在的深度歧义问题。我们将$E_{3D}$定义为：

 $$ E_{\mathrm{3D}}(\Theta)=\sum_{j}\|(\mathcal{M}_{j}(\Theta)-\mathcal{M}_{\mathrm{r o o t}}(\Theta))-z_{j}\|_{2}^{2}. $$

变量$z_j \in \mathbb{R}^3$是相对于根关节的第j个关节的用户特定位置，它由RegNet的输出$x_j$计算得出，公式如下：

 $$ z_{j}=z_{p(j)}+\frac{\|\mathcal{M}_{j}(\Theta)-\mathcal{M}_{p(j)}(\Theta)\|_{2}}{\|x_{j}-x_{p(j)}\|_{2}}(x_{j}-x_{p(j)}), $$

其中$p(j)$是第j个关节的父关节，我们设定$z_{\text{root}} = \mathbf{0} \in \mathbb{R}^3$。采用用户特定位置的思路是为了避免由于手部模型与三维预测结果之间的骨骼长度不一致而导致的不良局部最小值。

关节角度约束：$E_{limits}$这一项通过限制关节弯曲程度不超过合理范围，来惩罚解剖学上不合理的手部关节活动情况。数学上，我们定义如下：

 $$ E_{\mathrm{l i m i t s}}(\theta)=\|\max(\left[\mathbf{0},\theta-\theta^{\max},\theta^{\min}-\theta\right])\|_{2}^{2}, $$

其中$\theta^{\max}, \theta^{\min} \in \mathbb{R}^{20}$是非根关节各自由度的关节角度上下限，$\max : \mathbb{R}^{20 \times 3} \mapsto \mathbb{R}^{20}$用于计算行最大值。

时间平滑性：$E_{\text{temp}}$这一项用于惩罚$\Theta$中速度不恒定的情况。我们将其表述为：

 $$ \begin{array}{r}{E_{\mathrm{t e m p}}(\Theta)=\|(\nabla\Theta^{\mathrm{p r e v}}-\nabla\Theta)\|_{2}^{2},}\end{array} $$

其中，姿态参数的梯度$\Theta$是通过有限（向后）差分来确定的。

优化：为了最小化公式(1)中的能量，我们采用梯度下降策略。对于第一帧，$\theta$和t被初始化为表示一个位于图像中心且距离相机平面45厘米处的平坦手部模型。对于后续帧，我们使用前一帧的平移和关节运动参数t以及$\theta$作为初始值。实验表明，快速的整体手部旋转可能导致优化结果不佳，即陷入非凸能量函数(1)中的局部最小值。为解决这一问题，对于整体旋转R，我们并不依赖先前的值$R^{prev}$，而是根据相对3D关节预测结果来初始化它。具体而言，我们利用了人类手部的一个特性：根部关节及其四个非拇指手指的直接子关节（即相应的掌指关节）大致上是刚性的（参见图2，骨骼拟合模块）。因此，为了找到整体旋转R，我们求解以下问题：

 $$ \min_{\mathbf{R}\in\mathrm{SO}(3)}\|\mathbf{R}\bar{Z}-\tilde{Z}\|_{F}^{2}, $$

其中，Z包含来自手部模型的（固定）方向向量，而$\tilde{Z}$则包含根据当前RegNet预测得出的相应方向向量。两者均具有$Z = \left[ y_{j_1}, y_{j_2}, y_{j_3}, y_{j_4}, n \right] \in \mathbb{R}^{3 \times 5}$的形式，其中$y_{j_k} = \frac{1}{\|x_{j_k} - x_{\text{root}}\|} \left( x_{j_k} - x_{\text{root}} \right) \in \mathbb{R}^3$是从根部关节指向各非拇指掌指关节$j_1, \ldots, j_4$的（归一化）向量，$n = y_{j_1} \times y_{j_4}$则是“手掌平面”的（近似）法向量。为了获得$\tilde{Z}$，我们首先基于世界空间中3D模型点的$y_j$来计算$x_j$，这一过程仅在跟踪开始时针对某个骨骼且模型整体旋转为单位矩阵时执行一次。而在每一帧中，为了获取$\tilde{Z}$，需将$x_j$设置为RegNet的预测值以计算$y_j$。虽然问题(7)是非凸的，但它仍能高效计算出全局最小值，因为它属于正交Procrustes问题[^33] [^48]：设$U \Sigma V^T$为$\tilde{Z} \tilde{Z}^T \in \mathbb{R}^{3 \times 3}$的奇异值分解，则问题(7)的全局最优解由$\mathbf{R} = U \operatorname{diag}(1, 1, \det(U V^T)) V^T$给出。

### 4. 实验

我们从定量和定性两个角度评估我们的方法，并将结果与各种公开数据集上的其他最先进方法进行比较。为此，我们采用了关键点正确率（PCK）指标，这是评估姿态估计精度的常用标准。如果候选关键点落在以真实值为圆心、给定半径的圆（2D）或球（3D）内，则视为正确。

---

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

<div style="text-align: center;">(a) 3D PCK on Stereo dataset [^60]. GAN-erated images (yellow) outperforms using only synthetic images (blue). Our projection layer (purple) to enforce 2D/3D consistency further improves accuracy.</div>

![Image](images/e98ac04717bac0e2985651c17a7b64cc8e7cdd63ff6effd5eea86e839c5efb59.jpg)

<div style="text-align: center;">(b) 3D PCK on the Stereo dataset [^60]. We use 10 sequences for training and 2 for testing, as in [^60] [^63]. Our method (light blue) achieves the best results.</div>

![Image](images/d0ca0227958694a0c99c1b74a28d571941f4169f496c00c100ba0d5b6c6166d0.jpg)

<div style="text-align: center;">(c) 2D PCK on the Dexter+Object (D+O) dataset [^40] and EgoDexter (ED) [^20]. Our method (saturated blue/red) outperforms Z&B [^63] on both datasets.</div>

<div style="text-align: center;">Figure 7: Quantitative evaluation. (a) Ablative study on different training options. (b), (c) 3D and 2D PCK comparison with state-of-the-art methods on publicly available datasets.</div>

#### 4.1. 定量评估

消融实验：在图7a中，我们比较了使用不同类型训练数据训练联合回归器RegNet时的准确率。具体来说，我们比较了仅使用合成图像、合成图像加颜色增强，以及合成图像与GAN生成图像相结合的情况；对于后者，我们还考虑了在RegNet中使用ProjLayer。在颜色增强方面，我们采用了随机均匀采样的$\gamma \in [0.25, 2]$进行伽马校正。虽然我们在包含12个序列的整个Stereo数据集[^60]上评估了RegNet的性能，但本次测试并未使用该数据集中的任何帧进行训练。结果显示，仅用合成数据训练会导致准确率较低（3D PCK@50mm约为0.55）。尽管对合成图像进行颜色增强能改善结果，但GAN生成的图像表现明显优于常规增强技术，其3D PCK@50mm可达约0.80。这一测试验证了使用GAN生成图像的有效性。

与最先进方法的比较：图7b评估了我们在Stereo数据集上的检测准确率，并将其与现有方法[^60] [^63]进行了对比。我们遵循[^63]中采用的相同评估协议，即使用10个序列进行训练，另2个序列用于测试。此外，[^63]会将3D预测结果与手腕的地面真值对齐，为了公平起见我们也采用了同样的方式。我们的方法性能优于所有现有方法。另外，我们还在未使用Stereo数据集任何序列训练的情况下测试了该方法，结果表明其性能仍优于部分现有工作（见图7b中的绿线）。这证明了我们方法的泛化能力。

图7c展示了在Dexter+Object [^40]和EgoDexter [^20]数据集上的2D PCK数值（单位：像素）。我们的性能显著优于Zimmerman和Brox（Z&B）[^63]的方法，后者在复杂遮挡场景下表现不佳。需要注意的是，我们无法报告3D PCK数值，因为[^63]仅输出相对于根关节的3D结果，且这些数据集没有根关节标注。

#### 4.2. 定性评估

我们从三个不同的视频源对我们的方法进行了定性评估：公开数据集、实时采集视频以及社区或老式视频（即YouTube视频）。

图8展示了Stereo [^60]、Dexter+Object [^40]和EgoDexter [^20]这三个数据集上Z&B [^63]方法与我们的方法的定性结果。即使在严重遮挡的情况下，我们也能实现对手部的高效跟踪，且在这些场景中性能明显优于[^63]。虽然我们在定量评估（图7c）中已经超越了Z&B [^63]的方法，但我们强调这并非全貌，因为[^40]和[^20]数据集由于采用人工标注方式，仅提供了可见指尖的标注。因此，遮挡关节的误差并未反映在定量分析中。由于我们的方法是专门针对遮挡场景训练的——这与[^63]不同——补充视频以及图8的第3至6列中的定性分析凸显了我们在此类场景下的优势。

图9和补充视频展示了实时跟踪结果。该序列是在办公环境下用普通台式机摄像头实时跟踪得到的。可以看出，我们的方法能够准确还原手部的完整3D关节姿态。图1则表明我们的方法也适用于社区或老式RGB视频，尤其是我们在YouTube视频中实现的3D手部跟踪，这证明了我们方法的泛化能力。

### 5. 局限性与讨论

我们的方法面临的一个棘手场景是：当背景与手部外观相似时，我们的RegNet难以给出准确的预测，从而导致跟踪不稳定。这一问题可以通过使用显式的分割器来解决，类似Zimmermann和Brox所采用的方法 [^63]。此外，当输入图像中多只手距离较近时，检测结果可能并不可靠。

---

![Image](images/93b31fd5d51c88bbb4e417dec0cd6bb0403d16ab9bcd4e97d831dc2ec799f4f8.jpg)

<div style="text-align: center;">Figure 8: We compare our results with Zimmermann and Brox [^63] on three different datasets. Our method is more robust in cluttered scenes and it even correctly retrieves the hand articulation when fingers are hidden behind objects.</div>

![Image](images/9fcd9805a4d5a33770f9f21a7526fd2c555889578f84a3fedeb71c5b52d61e42.jpg)

<div style="text-align: center;">Figure 9: Representative frames of a live sequence captured with an off-the-shelf RGB webcam and tracked in real-time. Our method successfully recovers the global 3D positions of the hand joints. Here, for each input frame, we show the 3D tracked result projected to the camera plane, and the recovered 3D articulated hand skeleton visualized from a different viewpoint.</div>

虽然我们的方法能够应对间距足够大的手部——得益于我们的边界框跟踪器——但对交互中的手部，或是多人的手部进行跟踪，仍是后续研究的有趣方向。

在纯二维图像中实现手部三维跟踪是一项极具挑战性的任务。尽管我们提出的实时三维手部跟踪方法性能优于现有的仅基于RGB的方法，但我们的结果与现有的RGB-D方法之间仍存在精度差距（在我们提出的RGB方法下平均误差为$\approx$5厘米，而在Dexter+Object数据集上，$\approx$提出的RGB-D方法的平均误差仅为[^40]2厘米）。不过我们认为，我们的方法是推动仅基于RGB的三维手部跟踪技术普及的重要一步。

### 6. 结论

现有大多数研究要么专注于基于单目RGB图像的二维手部跟踪，要么利用深度图像或多视角RGB等额外输入来跟踪手部的三维运动。虽然Zimmermann和Brox最近提出的方法 [^63] 解决了基于RGB图像的单目三维手部跟踪问题，但我们提出的方法在多个维度上更胜一筹：我们的方法通过运动学模型拟合来获取绝对的三维手部姿态，对遮挡情况的鲁棒性更强，且由于我们对合成数据进行了丰富处理，使其更接近真实手部图像的分布，因此泛化能力也更好。实验评估证实了这些优势：我们的方法显著优于[^63]，尤其是在复杂的遮挡场景下。为了进一步鼓励未来对单目RGB三维手部跟踪的研究，我们将数据集向科研界开放。

致谢：本研究得到了ERC启动基金CapReal（编号335545）的支持。Dan Casas的研究得到了玛丽·居里个人研究员项目的资助，项目编号为707326。

---

## 参考文献

[^1]: L. Ballan, A. Taneja, J. Gall, L. V. Gool, and M. Pollefeys. Motion Capture of Hands in Action using Discriminative Salient Points. In European Conference on Computer Vision (ECCV), 2012.

[^2]: G. Casiez, N. Roussel, and D. Vogel. 1€ filter: a simple speed-based low-pass filter for noisy input in interactive systems. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 2527–2530. ACM, 2012.

[^3]: Q. Chen and V. Koltun. Photographic image synthesis with cascaded refinement networks. In International Conference on Computer Vision (ICCV), 2017.

[^4]: C. Choi, S. Ho Yoon, C.-N. Chen, and K. Ramani. Robust hand pose estimation during the interaction with an unknown object. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3123–3132, 2017.

[^5]: C. Choi, S. Kim, and K. Ramani. Learning hand articulations by hallucinating heat distribution. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3104–3113, 2017.

[^6]: Y. Ganin and V. Lempitsky. Unsupervised domain adaptation by backpropagation. In International Conference on Machine Learning, pages 1180–1189, 2015.

[^7]: L. Ge, H. Liang, J. Yuan, and D. Thalmann. Robust 3D Hand Pose Estimation in Single Depth Images: from Single-View CNN to Multi-View CNNs. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

[^8]: F. Gomez-Donoso, S. Orts-Escolano, and M. Cazorla. Large-scale multiview 3d hand pose dataset. arXiv preprint arXiv:1707.03742, 2017.

[^9]: I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In Advances in neural information processing systems, pages 2672–2680, 2014.

[^10]: H. Hamer, K. Schindler, E. Koller-Meier, and L. Van Gool. Tracking a hand manipulating an object. In IEEE International Conference On Computer Vision (ICCV), 2009.

[^11]: K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2016.

[^12]: T. Heap and D. Hogg. Towards 3d hand tracking using a deformable model. In Automatic Face and Gesture Recognition, 1996., Proceedings of the Second International Conference on, pages 140–145. IEEE, 1996.

[^13]: P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros. Image-to-image translation with conditional adversarial networks. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[^14]: S. Johnson and M. Everingham. Clustered pose and nonlinear appearance models for human pose estimation. In Proceedings of the British Machine Vision Conference (BMVC), 2010.

[^15]: C. Keskin, F. Kra, Y. E. Kara, and L. Akarun. Real time hand pose estimation using depth sensors. In IEEE International Conference on Computer Vision Workshops (ICCVW), pages 1228–1234, 2011.

[^16]: P. Krejov and R. Bowden. Multi-touchless: Real-time fingertip detection and tracking using geodesic maxima. In IEEE International Conference and Workshops on Automatic Face and Gesture Recognition (FG), pages 1–7, 2013.

[^17]: T. Lee and T. Hollerer. Multithreaded hybrid feature tracking for markerless augmented reality. IEEE Transactions on Visualization and Computer Graphics, 15(3):355–368, 2009.

[^18]: A. Markussen, M. R. Jakobsen, and K. Hornbæk. Vulture: A mid-air word-gesture keyboard. In Proceedings of ACM Conference on Human Factors in Computing Systems, CHI '14, pages 1073–1082. ACM, 2014.

[^19]: D. Mehta, S. Sridhar, O. Sotnychenko, H. Rhodin, M. Shafiei, H.-P. Seidel, W. Xu, D. Casas, and C. Theobalt. VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera. ACM Transactions on Graphics (TOG), 36(4), 2017.

[^20]: F. Mueller, D. Mehta, O. Sotnychenko, S. Sridhar, D. Casas, and C. Theobalt. Real-time hand tracking under occlusion from an egocentric rgb-d sensor. In International Conference on Computer Vision (ICCV), 2017.

[^21]: M. Oberweger, G. Riegler, P. Wohlhart, and V. Lepetit. Efficiently Creating 3D Training Data for Fine-Hand Pose Estimation. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

[^22]: M. Oberweger, P. Wohlhart, and V. Lepetit. Training a feedback loop for hand pose estimation. In IEEE International Conference on Computer Vision (ICCV), pages 3316–3324, 2015.

[^23]: I. Oikonomidis, N. Kyriazis, and A. A. Argyros. Full dof tracking of a hand interacting with an object by modeling occlusions and physical constraints. In Computer Vision (ICCV), 2011 IEEE International Conference on, pages 2088–2095. IEEE, 2011.

[^24]: P. Panteleris and A. Argyros. Back to rgb: 3d tracking of hands and hand-object interactions based on short-baseline stereo. In The IEEE International Conference on Computer Vision (ICCV) Workshops, Oct 2017.

[^25]: X. Peng and K. Saenko. Synthetic to real adaptation with deep generative correlation alignment networks. In Proceedings of the Winter Conference on Applications of Computer Vision (WACV), 2018.

[^26]: T. Piumsomboon, A. Clark, M. Billinghurst, and A. Cockburn. User-defined gestures for augmented reality. In CHI'13 Extended Abstracts on Human Factors in Computing Systems. ACM, 2013.

[^27]: C. Qian, X. Sun, Y. Wei, X. Tang, and J. Sun. Realtime and Robust Hand Tracking from Depth. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1106–1113, 2014.

[^28]: H. Rhodin, C. Richardt, D. Casas, E. Insafutdinov, M. Shafiei, H.-P. Seidel, B. Schiele, and C. Theobalt. Egocap: egocentric marker-less motion capture with two fisheye cameras. ACM Transactions on Graphics (TOG), 35(6):162, 2016.

## [^29]: G. Rogez, J. S. Supancic, and D. Ramanan. Understanding everyday hands in action from rgb-d images. In Proceedings of the IEEE International Conference on Computer Vision, pages 3889–3897, 2015

---

[^30]: J. Romero, H. Kjellström, and D. Kragic. Hands in action: real-time 3D reconstruction of hands in interaction with objects. In IEEE International Conference on Robotics and Automation (ICRA), 2010.

[^31]: O. Ronneberger, P. Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention, pages 234–241. Springer, 2015.

[^32]: P. Sangkloy, J. Lu, C. Fang, F. Yu, and J. Hays. Scribbler: Controlling deep image synthesis with sketch and color. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[^33]: P. H. Schönemann. A generalized solution of the orthogonal procrustes problem. Psychometrika, 31(1):1–10, Mar. 1966.

[^34]: T. Sharp, C. Keskin, D. Robertson, J. Taylor, J. Shotton, D. Kim, C. Rhemann, I. Leichter, A. Vinnikov, Y. Wei, et al. Accurate, robust, and flexible real-time hand tracking. In Proceedings of ACM Conference on Human Factors in Computing Systems (CHI), pages 3633–3642. ACM, 2015.

[^35]: A. Shrivastava, T. Pfister, O. Tuzel, J. Susskind, W. Wang, and R. Webb. Learning from simulated and unsupervised images through adversarial training. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[^36]: T. Simon, H. Joo, I. Matthews, and Y. Sheikh. Hand keypoint detection in single images using multiview bootstrapping. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[^37]: A. Sinha, C. Choi, and K. Ramani. Deephand: robust hand pose estimation by completing a matrix imputed with deep features. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 4150–4158, 2016.

[^38]: S. Sridhar, A. M. Feit, C. Theobalt, and A. Oulasvirta. Investigating the dexterity of multi-finger input for mid-air text entry. In ACM Conference on Human Factors in Computing Systems, pages 3643–3652, 2015.

[^39]: S. Sridhar, F. Mueller, A. Oulasvirta, and C. Theobalt. Fast and Robust Hand Tracking Using Detection-Guided Optimization. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015.

[^40]: S. Sridhar, F. Mueller, M. Zollhöefer, D. Casas, A. Oulasvirta, and C. Theobalt. Real-time Joint Tracking of a Hand Manipulating an Object from RGB-D Input. In European Conference on Computer Vision (ECCV), 2016.

[^41]: S. Sridhar, A. Oulasvirta, and C. Theobalt. Interactive markerless articulated hand motion tracking using RGB and depth data. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 2456–2463, 2013.

[^42]: S. Sridhar, H. Rhodin, H.-P. Seidel, A. Oulasvirta, and C. Theobalt. Real-time hand tracking using a sum of anisotropic gaussians model. In 3D Vision (3DV), 2014 2nd International Conference on, volume 1, pages 319–326. IEEE, 2014.

[^43]: B. Stenger, A. Thayananthan, P. H. Torr, and R. Cipolla. Model-based hand tracking using a hierarchical bayesian filter. IEEE transactions on pattern analysis and machine intelligence, 28(9):1372–1384, 2006.

[^44]: A. Tagliasacchi, M. Schroeder, A. Tkach, S. Bouaziz, M. Botsch, and M. Pauly. Robust Articulated-ICP for Real-Time Hand Tracking. Computer Graphics Forum (Symposium on Geometry Processing), 34(5), 2015.

[^45]: D. Tang, H. Jin Chang, A. Tejani, and T.-K. Kim. Latent regression forest: Structured estimation of 3d articulated hand posture. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3786–3793, 2014.

[^46]: D. Tang, J. Taylor, P. Kohli, C. Keskin, T.-K. Kim, and J. Shotton. Opening the black box: Hierarchical sampling optimization for estimating human hand pose. In Proc. ICCV, 2015.

[^47]: J. Taylor, L. Bordeaux, T. Cashman, B. Corish, C. Keskin, T. Sharp, E. Soto, D. Sweeney, J. Valentin, B. Luff, et al. Efficient and precise interactive hand tracking through joint, continuous optimization of pose and correspondences. ACM Transactions on Graphics (TOG), 35(4):143, 2016.

[^48]: J. M. F. Ten Berge. The rigid orthogonal Procrustes rotation problem. Psychometrika, 71(1):201–205, 2006.

[^49]: J. Tompson, M. Stein, Y. Lecun, and K. Perlin. Real-time continuous pose recovery of human hands using convolutional networks. ACM Transactions on Graphics, 33, August 2014.

[^50]: E. Tzeng, J. Hoffman, K. Saenko, and T. Darrell. Adversarial discriminative domain adaptation. In Computer Vision and Pattern Recognition (CVPR), volume 1, page 4, 2017.

[^51]: D. Tzionas, L. Ballan, A. Srikantha, P. Aponte, M. Pollefeys, and J. Gall. Capturing hands in action using discriminative salient points and physics simulation. International Journal of Computer Vision (IJCV), 2016.

[^52]: D. Tzionas and J. Gall. 3d object reconstruction from hand-object interactions. In Proceedings of the IEEE International Conference on Computer Vision, pages 729–737, 2015.

[^53]: G. Varol, J. Romero, X. Martin, N. Mahmood, M. J. Black, I. Laptev, and C. Schmid. Learning from synthetic humans. In IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), July 2017.

[^54]: C. Wan, T. Probst, L. Van Gool, and A. Yao. Crossing nets: Combining gans and vaes with a shared latent space for hand pose estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 680–689, 2017.

[^55]: C. Wan, A. Yao, and L. Van Gool. Hand pose estimation from local surface normals. In European Conference on Computer Vision, pages 554–569. Springer, 2016.

[^56]: R. Wang, S. Paris, and J. Popović. 6d hands: markerless hand-tracking for computer aided design. In Proc. of UIST, pages 549–558. ACM, 2011.

[^57]: R. Y. Wang and J. Popović. Real-time hand-tracking with a color glove. ACM Transactions on Graphics, 28(3), 2009.

[^58]: C. Xu and L. Cheng. Efficient hand pose estimation from a single depth image. In Proceedings of the IEEE International Conference on Computer Vision, pages 3456–3462, 2013.

## [^59]: Q. Ye, S. Yuan, and T.-K. Kim. Spatial attention deep net with partial pso for hierarchical hybrid hand pose estimation. In European Conference on Computer Vision (ECCV), pages 346–361. Springer, 2016

---

[^60]: J. Zhang, J. Jiao, M. Chen, L. Qu, X. Xu, and Q. Yang. 3d hand pose tracking and estimation using stereo matching. arXiv preprint arXiv:1610.07214, 2016.

[^61]: X. Zhou, Q. Wan, W. Zhang, X. Xue, and Y. Wei. Model-based deep hand pose estimation. In IJCAI, 2016.

[^62]: J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. In International Conference on Computer Vision (ICCV), 2017.

[^63]: C. Zimmermann and T. Brox. Learning to Estimate 3D Hand Pose from Single RGB Images. In International Conference on Computer Vision (ICCV), 2017.
