
# 基于以自我为中心的RGB-D传感器在遮挡条件下的实时手部追踪

弗朗西斯卡·穆勒 $^{1,2}$ 杜尚特·梅塔 $^{1,2}$ 奥列克桑德·索特尼琴科 $^{1}$

斯里纳特·斯里达尔 $^{1}$ 丹·卡萨斯 $^{3}$ 克里斯蒂安·特奥巴尔特 $^{1}$

$^{1}$马克斯·普朗克信息学研究所 $^{2}$萨尔兰大学 $^{3}$雷胡安卡洛斯国王大学

{frmueller, dmehta, osotnych, ssridhar, dcasas, theobalt}@mpi-inf.mpg.de

## 摘要

我们提出了一种针对移动式以自我为中心的RGB-D摄像头在杂乱的真实环境中进行实时、鲁棒且精准的手部姿态估计的方法。现有方法通常无法应对以自我为中心视角下拍摄的杂乱场景中手部与物体的交互情况——而这类场景在虚拟现实或增强现实应用中十分常见。我们的方法采用两个依次应用的卷积神经网络（CNN）来定位手部并回归3D关节位置。通过利用一个CNN估计输入图像中手部中心的2D位置，即便存在杂乱物体和遮挡也能实现手部定位。定位得到的手部位置以及对应的输入深度值会被用来生成归一化的裁剪图像，再将其输入第二个CNN以实时回归相对的3D手部关节位置。为了进一步提升精度、鲁棒性和时间稳定性，我们会利用运动学姿态跟踪能量函数来优化姿态估计结果。为了训练这些CNN，我们引入了一个全新的照片级真实感数据集，该数据集采用融合现实的方法来采集并合成大量带有标注的杂乱场景下的自然手部交互数据。通过定量和定性评估，我们证明该方法能够有效应对手部自遮挡以及物体遮挡问题，尤其是在移动式以自我为中心的视角下表现尤为出色。

### 1. 引言

估计手部完整的关节式 3D 姿态正变得日益重要，因为手在日常人类活动中发挥着核心作用。活动识别 [^21]、运动控制 [^42]、人机交互 [^25] 以及虚拟现实/增强现实（VR/AR）中的应用，要求在具有挑战性的条件下实现实时且准确的手部姿态估计。受消费级深度传感技术近期发展的推动，人们已经提出了若干使用单个 RGB-D 摄像机的方法 [^33] [^26] [^30] [^17] [^4] [^37]。具体而言，使用 Con-

![Image](images/488bd243a0cf62b019d2477f449e203baed8de2c4f2b939e290fcec2557fdc53.jpg)

<div style="text-align: center;">Figure 1: We present an approach to track the full 3D pose of the hand from egocentric viewpoints (left), a challenging problem due to additional self-occlusions, occlusions from objects and background clutter. Our method can reliably track the hand in 3D even under such conditions using only RGB-D input. Here we show tracking results overlaid with color and depth map (center), and visualized from virtual viewpoints (right).</div>

卷积神经网络（CNNs），或许还能与基于模型的手部追踪技术相结合，已被证明在无遮挡场景中针对静态的第三人称视角能够取得良好效果 [^34] [^24] [^13]；也就是说，这些方法主要适用于空中自由手部运动的情况，而这种场景在自然的手部交互中并不常见。

然而，从移动的第一人称视角在杂乱的现实场景中实时估计手部姿态仍是一个未解决的问题。在这些场景中，手部在与自然物体交互时常常会被遮挡。我们将第一人称或自我中心视角定义为通常由安装在头部（用于VR/AR应用）、肩部或胸部的摄像头所拍摄的视角（见图1）。遮挡、杂乱的背景、被操作的物体以及视野限制使得这一场景极具挑战性。卷积神经网络是解决这一问题的有前景的方法，但它通常需要大量标注数据，而这类数据很难获取——因为即使采用多视角无标记手部追踪技术，在自我中心环境下进行大规模手动标注也因遮挡、成本和时间因素而难以实现。即便是半自动标注方法也面临同样难题。

---

如果手部的很大一部分被遮挡，半自动标注方法[^12]就会失效。相比之下，照片级逼真的合成数据成本低廉、易于获取，无需人工标注，甚至能在遮挡情况下生成精确的基准真值。

在本文中，据我们所知，我们提出了首个支持在具有杂乱背景、遮挡和复杂手物交互的真实场景中，利用普通RGB-D摄像头实现实时自我中心手部姿态估计的方法。我们将每帧手部姿态估计任务分为：（1）手部定位，以及（2）3D关节位置回归。在场景杂乱的情况下，手部定位是一项重要任务，它通过卷积神经网络来实现，该网络可估计手部中心的2D图像位置。后续处理会生成围绕手部的图像级边界框以及手部中心（或正位于中心前方被遮挡物体的）3D位置。这一输出会被送入第二个卷积神经网络，用以回归21个手部关节的相对3D位置。这两个卷积神经网络均使用大量完全标注的数据进行训练，我们通过将手物交互与真实杂乱背景相结合，采用一种新的融合现实方法来获取这些数据。这提升了训练数据的真实性，因为用户可以做出模仿操作虚拟物体的动作，同时能实时获得其手部姿态反馈。这些动作是通过一个框架从新颖的自我中心视角渲染出来的，该框架能以照片级真实感模拟手部在自然与物体及杂物交互时的RGB-D数据。

卷积神经网络输出的3D关节位置预测结果虽然准确，但存在运动学不一致性和时间抖动问题，这是单帧姿态估计方法常见的现象。为解决这一问题，我们利用快速逆向运动学姿态跟踪能量函数来优化估计出的3D关节位置，该函数利用3D和2D关节位置约束来估算关节角度，从而生成时间上平滑的骨骼模型。综合起来，这便形成了首个能在杂乱场景及移动自我中心视角下实现平滑且精准手部追踪的实时方法。我们在包含移动自我中心摄像头的真实杂乱环境新基准数据集上验证了该方法的准确性、鲁棒性和通用性。总而言之，我们的贡献包括：

- 一种利用两个卷积神经网络，在杂乱环境和强遮挡条件下，从自我中心视角实时定位手部并估计3D关节位置的新方法。通过运动学姿态跟踪能量函数进一步细化姿态，估算出时间上平滑的追踪关节角度。

- 一种用于合成大量标注好的RGB-D训练数据的照片级真实数据生成框架，这些数据涉及手部与自然物体及杂物之间的交互。

- 我们在全新的带注释的真实基准数据集EgoDexter上进行了广泛评估，该数据集包含以自我为中心的杂乱场景以及与物体的交互情况。

### 2. 相关工作

由于手部姿态估计在人机交互、运动控制和活动识别等领域的应用广泛，因此相关研究有着悠久的历史。不过，以往的大多数研究都是在空中无遮挡场景下、从第三人称视角估计手部姿态，此时遮挡问题并不突出。我们首先回顾这种较简单场景（自由手追踪）下的现有技术，随后再探讨在更复杂的手-物体交互及以自我为中心的场景中的相关研究。

自由手追踪：许多自由手追踪方法采用多台RGB相机来克服自身遮挡问题并实现高精度[^28] [^1] [^39]。不过，由于多台相机的搭建和使用较为繁琐，单台深度相机或RGB-D相机更受青睐。仅利用RGB-D数据流、采用生成式姿态追踪的方法在自由手追踪中取得了不错的效果[^14] [^17] [^30] [^32]。然而，在典型的快速运动以及物体和杂物造成的遮挡情况下，这些方法会失效。为克服这一难题，最近的大多数方法要么完全依赖基于学习的方法，要么将其与生成式姿态追踪相结合。随机森林因其强大的能力而成为热门选择[^9] [^31] [^29] [^40] [^38]，但得出的姿态估计结果仍存在运动学不一致且抖动明显的问题。许多方法通过与生成式姿态追踪策略结合来克服这一局限[^26] [^17] [^33]。上述所有方法在面对物体和场景杂物造成的遮挡时都无法正常工作。最近的深度学习方法有望具备强大的手部姿态估计学习能力[^34] [^4] [^24] [^43] [^41] [^13]。不过，为监督式训练生成足够多的样本仍是一大挑战。宣称能用于以自我为中心视角的商业系统[^11]在出现大面积遮挡时表现不佳，详见第6节。

复杂条件下的手部追踪：在与第三人称空中追踪不同的复杂场景、背景和相机条件下进行手部姿态估计，仍是一个尚未解决的问题。有些方法即便在手部与物体交互时也能追踪手部[^5] [^22]，但仅适用于缓慢运动和有限的活动范围。最近有人提出了一种从第三人称视角实时联合追踪手部与物体的方法[^27]，但该方法仅适用于已知物体和小面积遮挡情况。也有研究提出了捕捉复杂手-物体交互及物体扫描的方法[^15] [^1] [^10] [^36] [^35] [^16]。不过，这些都属于离线方法，其在以自我为中心的杂乱场景中的表现尚不清楚。

由于消费级可穿戴相机易于获取，利用以自我为中心的相机进行人体动作捕捉受到了广泛关注[^18]。Sridhar等人[^26]展示了在无遮挡场景下实现实时以自我为中心追踪的实际案例。Rogez等人[^19] [^20]则提出了首批能在杂乱场景中实现此类追踪的方法之一，他们利用自然的手-物体交互场景，率先采用合成图像来训练用于解决该问题的机器学习模型。

---

![Image](images/82e4a6f40243fbc406c6585e67e81a9867ce2ee9952431d5b3e0acccaa46c2ae.jpg)

<div style="text-align: center;">Figure 2: Overview: Starting from an RGB-D frame, we initially regress the 2D hand position heatmap using our CNN HALNet and compute a cropped frame. A second CNN, JORNet, is used to predict root-relative 3D joint positions as well as 2D joint heatmaps. Both CNNs are trained with our new SynthHands dataset. Finally, we use a pose tracking step to obtain the joint angles of a kinematic skeleton.</div>

摒弃了以自我为中心的视角。不过，这项工作并非旨在实现实时跟踪。我们提出了一种利用大量合成训练数据的方法，以实现实时且时间上连贯的手部跟踪，即便在遮挡情况复杂的条件下也能如此。

### 3. 概述

我们的目标是估计由单个商用 RGB-D 传感器成像的手部的完整 3D 关节姿态。我们使用来自 Intel RealSense SR300 [^7] 的 RGB 和深度通道，二者分辨率均为 $640 \times 480$ 像素，并以 30 Hz 采集。我们将手部姿态估计表述为一个能量最小化问题，把逐帧姿态估计纳入时间跟踪框架之中。目标是找到最能表示输入观测的运动学手部骨架（Section 3.1）的关节角。类似策略已在最先进的 [^33] [^26] [^27] [^17] 方法中被证明是成功的，这些方法使用逐帧姿态估计来初始化一个跟踪器，该跟踪器细化并正则化运动学骨架的关节角，以实现自由手部跟踪。然而，这些方法的逐帧姿态估计组件在严重遮挡、手-物体交互、场景杂乱以及移动的第一人称相机下表现乏力。我们通过将为这一具有挑战性的场景量身定制的基于 CNN 的 3D 姿态回归框架与运动学骨架跟踪策略相结合，以获得时间稳定的结果，从而克服了这一局限。

我们将手部姿态估计任务划分为几个子任务（见图2）。首先，手部定位（见第4.1节）由CNN完成，它会估算出图像级别的热图（用于编码位置概率），该热图描述的是根节点的位置——根节点要么是手部中心（中指指节，如图3a中的星形标记所示），要么是遮挡手部中心的物体上的某个点。利用二维和三维的根节点位置，我们可以提取出手部的标准化裁剪图像。其次，3D关节回归（见第4.2节）也是由CNN完成的，它从裁剪后的手部图像中回归出相对于根节点的3D关节位置。这两个CNN均使用大量标注数据进行训练，这些标注数据是通过一种能自动生成具有自然手部交互动作的3D手部关节运动的新型框架生成的（见第4.4节）。最后，回归得到的3D关节位置会被用于运动学姿态跟踪框架（见第5节），从而获得时间上平滑的手部运动跟踪结果。

#### 3.1. 手部模型

为了确保CNN预测的关节位置和跟踪过程中优化的关节角度具有一致的表示形式，我们采用了运动学骨骼。如图3所示，我们用一系列骨骼（灰色线条）和关节（圆形）来建模手部。3D关节位置会作为约束条件，用于运动学姿态跟踪步骤中，以估算出运动学骨骼的时间上平滑的关节角度。在我们的实现中，使用了具有26个自由度（DOF）的运动学骨骼，其中包括6个用于全局平移和旋转的自由度，以及20个关节角度，它们被存储在向量$\pmb{\Theta}$中，如图3b所示。为了适配不同手型和尺寸的用户，我们会进行快速校准步骤，以确定不同用户的骨骼长度。

### 4. 单帧3D姿态回归

3D姿态回归的目标是估算RGB-D输入中每一帧的手部3D关节位置。为实现这一目标，我们首先利用普通RGB-D相机（如Intel RealSense SR300）产生的原始输入数据来创建彩色深度图$\mathcal{D}$。我们将$\mathcal{D}$定义为：

 $$ \mathcal{D}=\operatorname{c o l o r}m a p(\mathbf{R},\mathbf{G},\mathbf{B},\mathbf{Z}), $$

其中$\text{colormap}(\cdot)$是一个依赖于相机校准参数的函数，用于映射彩色图像中的每个像素

---

![Image](images/1555ec9bec504e1b8c2037a49a2c988562e94d39cb4741d368dd2a59f545919a.jpg)

![Image](images/db6f9265c8e9f5adc89923f6168ac6e106141d1ded09b6ddb9911a80561f8b9a.jpg)

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

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

<div style="text-align: center;">Figure 3: We use two different, but consistent, representations to model the hands. Our 3D joint regression step outputs  $J = 21$ global 3D joint locations, shown in (a) in green, which are later used to estimate the joint angles of a kinematic skeleton hand model, shown in (b). The orange star depicts the joint used as a hand root.</div>

将图像平面映射到深度图Z上。通过计算$\mathcal{D}$，我们可以忽略相机外部参数中的特定差异。我们还将$\mathcal{D}$下采样到$320\times240$分辨率，以提升实时性能。接下来我们将介绍我们的姿态回归方法，该方法即使在手部存在明显（自）遮挡的复杂杂乱场景中也能保持鲁棒性。正如我们在评估部分（第6节）中所展示的，先在全帧输入中定位手部，再估算3D姿态的两步法，优于用单个CNN同时完成这两项任务。

#### 4.1. 手部定位

姿态回归第一部分的目标是在复杂的杂乱输入帧中定位手部，从而得出手部的边界框和3D根位置。给定彩色深度图D，我们计算：

 $$ \begin{array}{r}{\tilde{\mathcal{D}}=\mathrm{i m c r o p}(\mathcal{D},H_{\mathbb{R}}),}\end{array} $$

其中$H_{\mathrm{R}}$是编码2D手部根部位置概率的热图，$\mathrm{imcrop}(\cdot)$是用于裁剪输入帧中手部区域的函数。具体而言，我们使用名为HALNet（手部定位网络）的CNN来估算$H_{\mathrm{R}}$。$\mathrm{imcrop}(\cdot)$函数会选取图像级热图的最大位置$\phi(H_{\mathrm{R}})=(u,v)$，并利用$\mathcal{D}$中对应的深度z来计算一个与深度成反比、包含手部的裁剪区域，其边长也会随深度变化。此外，$\mathrm{imcrop}(\cdot)$还会通过从所有像素中减去z来对裁剪后图像的深度分量进行归一化处理。

HALNet采用了源自ResNet50的架构[^6]，该架构在准确性和计算成本之间取得了良好的平衡[^2]。为了在保证高精度的同时实现实时帧率，我们将残差块的数量减少到了10个。我们使用SynthHands来训练这个网络，这是一套具有高度真实感的新数据集，它在手部姿态、肤色、物体、手-物交互以及阴影细节等多个维度上呈现出丰富的多样性。有关训练和架构的详细信息，请参阅第4.3节、第4.4节以及补充文档。

后处理：为了使根部最大位置随时间保持稳定，我们增加了额外步骤来防止异常值影响3D关节位置的估计。我们会记录最大位置的历史数据，并根据以下标准将其标记为“可信”或“不可信”。如果某一帧t处热图最大值的概率值小于0.1，且该位置距离前一个最大值超过30像素，则该位置会被标记为不可信。一旦某个最大位置被判定为不可信，我们就会对其进行更新：

 $$ \phi_{t}=\phi_{t-1}+\delta^{k}\frac{\phi_{c-1}-\phi_{c-2}}{||\phi_{c-1}-\phi_{c-2}||}, $$

其中$\phi_{t}=\phi(H_{\mathrm{R}}^{t})$表示帧t处更新后的2D最大位置，$\phi_{c-1}$是上一个可信的最大位置，k表示从上一个可信最大值开始经过的帧数，而$\delta$则是一个衰减因子，用于逐步降低不可信最大位置的权重。我们通过实验将$\delta=0.98$设定为特定数值，并在所有实验结果中均采用该值。

#### 4.2. 3D关节回归

我们从经过裁剪和归一化的输入图像$\widetilde{\mathcal{D}}$开始，这类图像中包含手部，且手部可能部分被遮挡。我们的目标是回归全局3D手部关节位置向量$\mathbf{p}^{\mathbf{G}} \in \mathbb{R}^{3 \times J}$。我们使用一种名为JORNet（关节回归网络）的CNN来预测每个关节相对于根节点的3D位置$\mathbf{p}^{\mathbf{L}} \in \mathbb{R}^{3 \times J}$，这些位置信息来自$\widetilde{\mathcal{D}}$。此外，JORNet还会回归每个关节的2D位置概率热图$\mathbf{H} = \{H_j\}_{j=1}^J$，这些热图将在后续步骤中用于约束预测的3D关节位置。我们最终得到全局3D关节位置$\mathbf{p}_j^{\mathbf{G}} = \mathbf{p}_j^{\mathbf{L}} + \mathbf{r}$，其中$\mathbf{r}$是通过将2.5D手部根节点位置$(u, v, z)$反投影到3D空间而得到的手部中心（或遮挡物上的某一点）的全局位置。JORNet采用与HALNet相同的架构，并使用相同的数据进行训练。有关训练细节，请参阅第4.3节和第4.4节；架构详情则见补充文档。

#### 4.3. SynthHands数据集

包括CNN在内的监督学习方法需要大量训练数据才能学习真实手部运动中所呈现的各种变化。完全标注的真实数据虽是理想之选，但手动标注数据耗时较长，且标注质量未必可靠[^12]。为解决这一问题，现有方法[^19] [^20]采用了合成数据。尽管已有不少进展，但现有数据集仍存在诸多局限：它们通常展示的是不自然的空间中的手部运动，且未涵盖复杂的手-物体交互场景，也没有模拟真实的背景杂乱情况和噪声。

---

![Image](images/b4138d15b70fdef8910a3b7262a4b127591c2d33faacffea88f04c6a532247e5.jpg)

<div style="text-align: center;">Figure 4: Our SynthHands dataset is created by posing a photorealistic hand model with real hand motion data. Virtual objects are incorporated into the 3D scenario. To allow data augmentation, we output object foreground and scene background appearance as a constant plain color (top row), which are composed with shading details and randomized textures in a postprocessing step (bottom row).</div>

![Image](images/038b1ac8e0df11b3b1b4ddd06cf1479a1b87930ac116b7bad0b23ebe1eac4227.jpg)

<div style="text-align: center;">Figure 5: Our SynthHands dataset has accurate annotated data of a hand interacting with objects. We use a merged reality framework to track a real hand, where all joint positions are annotated, interacting with a virtual object (top). Synthetic images are rendered with chroma key-ready colors, enabling data augmentation by composing the rendered hand with varying object texture and real cluttered backgrounds (bottom).</div>

这使得它非常适合用于基于学习的方法的监督训练。

复杂的手-物体交互场景，且未模拟真实的背景杂乱情况和噪声。

自然手部运动：我们并未使用静态手部姿态[^20]，而是从第三人称视角捕捉了真实、无遮挡且在空中运动的手部动作，这一过程借助了最先进的实时无标记追踪器[^26]。随后，这些动作被重新映射到由艺术家制作的逼真的合成手部模型上。由于我们是利用捕捉到的手部运动来驱动合成手部模型，因此它能够模仿真实手部运动，从而提升数据集的真实性。

我们提出了一种新的数据集SynthHands，它将真实捕捉到的手部运动（重新映射到虚拟手部模型上）与自然背景及虚拟物体相结合，以前所未有的精细度涵盖了所有重要的变异维度。该数据集记录了自然手部运动的各种变化，如姿态、肤色、形状、纹理、背景杂乱情况、相机视角以及手-物体交互等。现在我们来重点介绍该数据集的一些独特特性：手部形状与颜色——不同用户的手部形状和肤色差异较大。为模拟现实世界的多样性，SynthHands包含了从12种不同肤色中随机采样的皮肤纹理。我们还在数据中纳入了其他解剖学特征的变化（例如，男性手部通常更大且可能毛发更多）。最后，我们通过沿默认手部网格的各个维度随机应用缩放参数$\beta \in [0.8, 1.2]$来模拟手部形状的变化。

以自我为中心的视角：合成数据具有独特优势，即我们可以从任意相机视角进行渲染。为支持难度较高的以自我为中心的视角，我们设置了5个虚拟相机来模拟不同的以自我为中心的视角。这些虚拟相机会从该视角生成RGB-D图像，同时模拟传感器噪声和相机校准参数。

手部与物体的交互：我们采用融合现实的方法，通过追踪真实手部动作与虚拟物体的互动，来逼真地模拟手部与物体的交互过程。我们利用现有手部追踪方案的实时能力[^26]，展示用户手部与虚拟屏幕上物体的交互情况。用户会进行抓取和操控物体等动作，从而模拟真实的手部与物体交互过程（见图5）。

物体形状与外观：SynthHands包含与7种不同虚拟物体的交互，这些物体位于不同位置、具有不同旋转角度和尺寸配置。为了增强物体外观以增加数据集的多样性，我们分别渲染物体的反照率（即图4中的粉色部分）和阴影层。我们使用色键技术，将粉色的物体反照率替换为从145种纹理中随机选取的纹理，再将其与阴影图像合成。图4展示了增强前后的一些数据示例。需要注意的是，SynthHands并不包含真实测试物体的3D扫描数据，也不包含第6节中用于评估的类似物体的3D模型。这表明我们的方法能够泛化到未见过的物体上。

真实背景：最后，我们通过将合成的手部与物体图像与真实的RGB-D背景图像进行合成，来模拟杂乱的场景和背景，这些真实背景包括日常桌面场景、办公室、走廊和厨房等。我们使用色键技术来替换

---

默认背景（图4中的绿色部分）为捕获的背景图像。

我们的数据生成框架基于Unity游戏引擎构建，采用了Leap Motion发布的骨骼手部模型[^11]。总体而言，SynthHands包含了约22万张RGB-D图像，展现了自然手部及其交互中的巨大变化。更多信息和示例图像请参见补充文档。

#### 4.4. 训练

HALNet和JORNet均在SynthHands数据集上使用Caffe框架[^8]进行训练，优化器采用AdaDelta，动量参数为0.9，权重衰减因子为0.0005。训练过程中学习率从0.05逐渐降至0.000025。训练JORNet时，我们利用手部根部的真实值$(u, v)$和z坐标来创建归一化的裁剪输入。为提高鲁棒性，我们还在SynthHands数据集中对反投影得到的3D根部位置添加均匀噪声（$\in [-25, 25]$毫米）。HALNet训练了45,000次迭代，JORNet训练了60,000次迭代。最终选择的网络是损失值最低的那一组。网络中与ResNet50相似的层初始化权重采用了在ImageNet上训练的原始ResNet50架构的权重[^23]；其他层的权重则随机初始化。关于所用损失权重和衰减方案的详细信息，请参见补充文档。

### 5. 手部姿态优化

预计的每帧全局3D关节位置p^G既无法保证在时间上的平滑性，其关节间的距离（即骨骼长度）也会随时间发生变化。为改善这一问题，我们采用由关节角度$\Theta$参数化的运动学骨架（如图3b所示）来拟合回归得到的3D关节位置。此外，我们还利用JORNet输出的2D热图作为额外约束来优化拟合效果，同时结合关节限制和平滑性约束进行正则化处理。具体而言，我们的目标是将误差最小化。

 $$ \begin{array}{r}{\mathcal{E}(\mathbf{\Theta})=E_{\mathrm{d a t a}}(\mathbf{\Theta},\mathbf{p}^{\mathbf{G}},\mathbf{H})+E_{\mathrm{r e g}}(\mathbf{\Theta}),}\end{array} $$

其中 $E_{data}$ 是包含三维位置和二维热图的数据项。

 $$ E_{\mathrm{d a t a}}(\mathbf{\Theta},\mathbf{p}^{\mathbf{G}},\mathbf{H})=w_{\mathrm{p3}}E_{\mathrm{p o s3D}}(\mathbf{\Theta},\mathbf{p}^{\mathbf{G}})+w_{\mathrm{p2}}E_{\mathrm{p o s2D}}(\mathbf{\Theta},\mathbf{H}). $$

第一项 $E_{\text{pos3D}}$ 用于最小化每个预测关节位置 $\mathbf{p}_j^\text{G}$ 与运动学骨骼中对应位置 $\mathcal{M}(\Theta)_j$（该骨骼被设定为姿态 $\Theta$）之间的三维距离。

 $$ \begin{array}{r l}&{E_{\mathrm{p o s3D}}(\mathbf{\Theta})=\displaystyle\sum_{j=1}^{J}||\mathcal{M}(\mathbf{\Theta})_{j}-\mathbf{p}_{j}^{\mathbf{G}}||_{2}^{2}.}\end{array} $$

第二项数据项 $E_{pos2D}$ 用于最小化每个关节热图最大值 $\phi(H_j)$ 与运动学骨骼中对应关节的投影二维位置之间的二维距离。

 $$ \begin{array}{r l}&{E_{\mathrm{p o s2D}}(\mathbf{\Theta})=\displaystyle\sum_{j=1}^{J}||\pi(\mathcal{M}(\mathbf{\Theta})_{j})-\phi(H_{j}))||_{2}^{2},}\end{array} $$

其中 $\pi$ 负责将关节投影到图像平面上。我们通过实验调整了各项的权重，分别为：$w_{p3} = 0.01$ 和 $w_{p2} = 5 \times 10^{-7}$。

我们通过施加关节限制和时间平滑约束来对数据项进行正则化。

 $$ \begin{array}{r}{E_{\mathrm{r e g}}(\mathbf{\Theta})=w_{1}E_{\mathrm{l i m}}(\mathbf{\Theta})+w_{\mathrm{t}}E_{\mathrm{t e m p}}(\mathbf{\Theta})}\end{array} $$

其中

 $$ E_{\mathrm{l i m}}(\boldsymbol{\Theta})=\sum_{\theta_{i}\in\boldsymbol{\Theta}}\begin{cases}0&,if\theta_{i}^{l}\leq\theta_{i}\leq\theta_{i}^{u}\ $ \theta_{i}-\theta_{i}^{l})^{2}&,if\theta_{i}<\theta_{i}^{l}\ $ \theta_{i}^{u}-\theta_{i})^{2}&,if\theta_{i}>\theta_{i}^{u}\end{cases} $$

是一个用于确保姿态符合生物力学合理性的软先验，这里 $\Theta^{l}$ 和 $\Theta^{u}$ 分别代表关节角度的下限和上限，而

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

则用于强制保持恒定速度以防止姿态发生剧烈变化。我们通过实验确定的正则化权重为：$w_{l} = 0.03$ 和 $w_{t} = 10^{-3}$。我们采用条件梯度下降算法对目标函数进行 20 次迭代优化。

### 6. 结果与评估

我们开展了多项实验来评估我们的方法及其各个组成部分。为了便于评估，我们采集了一个新的基准数据集 EgoDexter，其中包含 3190 帧真实杂乱场景下的手部与物体交互图像，这些图像具有移动的以自我为中心的视角、复杂的手-物交互以及自然光照条件。其中，我们使用标注工具手动标注了 1485 帧图像中的二维和三维指尖位置，这是自由手部跟踪中常用的方法 [^1] [^28]。总共我们收集了 4 个序列（Rotunda、Desk、Kitchen、Fruits），涉及 4 名不同用户（其中 2 名为女性），涵盖了不同的肤色、背景、物体以及相机运动情况。需要注意的是，EgoDexter 中的物体与 SynthHands 训练数据中的物体不同，以此展示我们方法的泛化能力。此外，为了评估方法的各个组成部分，我们还保留了来自 SynthHands 数据集的 5120 帧完全标注图像作为测试集。

组件评估：我们首先分析 HALNet 和 JORNet 在合成测试集上的性能。主要

---

![Image](images/ec7157e344e6555809b0ed63a69782e16ae07fb57d524075f239823551206a2b.jpg)

![Image](images/73dbda108f6fb742e5a1f7ee87440d7b4a5dd523871eb0694478187960b6aa2d.jpg)

<div style="text-align: center;">Figure 6: Comparison of 2D (left) and 3D (right) error of the joint position estimates of JORNet. JORNet was initialized with either the ground truth (GT, blue) or with the proposed hand localization step (HL, orange). We observe that HL initialization does not substantially reduce the performance of JORNet. As expected, fingertips-only errors (dashed lines) are higher than the errors for all joints.</div>

HALNet 的目标是精确确定根部（位于手上或前方的遮挡物上）的二维位置。因此，我们以真实根部位置与预测位置之间的二维欧几里得像素误差作为评估指标。在测试集上，HALNet 产生的平均误差为 2.2 像素，标准差为 1.5 像素。这种较低的平均误差确保了我们能为 JORNet 获得可靠的裁剪区域。

为了评估JORNet，我们采用3D欧几里得距离作为误差度量指标，该距离指的是所有手部关节的真实位置与预测位置之间的差距。为了对比，我们也报告了仅针对3D指尖位置的误差，这一指标能更严格地衡量模型性能。由于JORNet的输出依赖于手部定位步骤中估算的裁剪区域，因此我们设置了两种评估条件：（1）使用真实的裁剪区域；（2）使用手部定位步骤得到的裁剪区域。这有助于评估手部定位对最终关节位置的影响。图6展示了测试集中产生特定2D或3D误差的样本占比，这些误差涉及所有关节以及仅指尖部分。对于3D误差而言，使用真实裁剪区域的结果优于使用手部定位得到的裁剪区域；不过两者差异并不显著，这表明手部定位步骤并不会导致JORNet出现灾难性失效。而对于2D误差，我们发现以手部定位结果初始化的JORNet精度略高。我们推测这是因为JORNet是在带有噪声的根节点位置上训练的（见第4.4节），而真实数据并不包含此类噪声。

CNN结构评估：我们现在要展示的是，在我们标注的真实基准数据集EgoDexter上，采用两个依次应用的CNN的方法，比单个CNN直接回归杂乱场景中关节位置的效果更好。我们训练了一个架构与JORNet相同的CNN，但其任务是直接从全帧RGB-D图像中回归3D关节位置，这类图像往往存在大量遮挡和场景杂乱问题。在图7中，我们展示了3D

![Image](images/c97477353500cb6fbfb6d4f45c5cfce8eb149ca08fd106ba412a51def3b6e7b3.jpg)

<div style="text-align: center;">Figure 7: Comparison of our two-step RGB-D CNN architecture, the corresponding depth-only version and a single combined CNN which is trained to directly regress global 3D pose. Our proposed approach achieves the best performance on the real test sequences.</div>

![Image](images/b5165f7089f5584741896e2e6e9c8ebe47cfc0a24683c67d4b48c9e8abccc5d5.jpg)

<div style="text-align: center;">Figure 8: Ablative analysis of the proposed kinematic pose tracking on our real annotated dataset EgoDexter (average fingertip error). Using only the 2D fitting energy leads to catastrophic tracking failure on all sequences. The version restricted to the 3D fitting term achieves a similar error as the raw 3D predictions while it ensures biomechanical plausibility and temporal smoothness. Our full formulation that combines 2D as well as 3D terms yields the lowest error.</div>

该CNN（单RGB-D模型）的指尖误差图，其结果比我们的两步法更差。这表明在存在遮挡的杂乱场景中直接学习回归3D姿态是一项更具挑战性的任务，而我们的方法通过将其拆分为两步来简化了这一过程。

输入数据评估：接下来我们在EgoDexter数据集上证明，即使同时使用我们的两个CNN，采用RGB和深度输入（RGB-D）也优于仅使用深度输入。图7对比了我们两步法变体在仅用深度数据训练时的3D指尖误差。我们推测额外的颜色线索能帮助我们的方法显著提升性能。

运动学模型的增益：图8展示了我们对能量项的消融分析，以及运动学姿态跟踪对最终姿态估计的影响。因为我们

---

![Image](images/aaa750a6b1a615801a228decd293f18c6d1561c668a085859e94b1023a6a344e.jpg)

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

![Image](images/b7938245b9e533223778f1d4b7ceb515a78afd88bf8b23fb9984a1007670d904.jpg)

![Image](images/e35bade08948081cb111450be442e76818802ef3196a2232c3de770aa56b3b66.jpg)

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

厨房

<div style="text-align: center;">Figure 9: Qualitative results on our real annotated test sequences from the EgoDexter benchmark dataset. The results overlayed on the input images and the corresponding 3D view from a virtual viewpoint (bottom row) show that our approach is able to handle complex object interactions, strong self-occlusions and a variety of users and backgrounds.</div>

通过约束关节角度范围、保证时间上的平滑性以及维持骨骼长度的一致性，我们结合使用的方法得到了32.6毫米的最低平均误差。

由于传感器类型不同，我们的方法无法支持另一现有的以自我为中心的手部数据集[^20]，因此我们无法对该数据集进行定量评估。为了辅助定性比较，我们在补充文档和视频中收录了类似的重现场景、背景杂乱环境以及手部运动画面。

定性结果：图9展示了我们方法的定性结果，该方法在存在杂乱环境、手物交互以及不同手型的具有挑战性的现实场景中表现良好。我们还发现，商业解决方案（LeapMotion Orion）在物体造成的严重遮挡下表现不佳，详见图10右侧。关于现有第三人称方法在EgoDexter数据集上的失效情况，以及我们的方法实际上如何适用于第三人称视角，相关结果请参阅补充文档。

运行性能：我们的整套方法能在配备Intel Xeon E5-2637 CPU（3.5 GHz）和Nvidia Titan X（Pascal）的设备上实时运行。其中，手部定位耗时11毫秒，3D关节回归耗时6毫秒，运动学姿态跟踪耗时1毫秒。

局限性：即便在具有挑战性的自中心视角和明显遮挡情况下，我们的方法仍能取得良好效果。不过，也存在一些失败案例，如图10所示。关于失败案例的更详细讨论，请参阅补充文档。我们使用了大量合成数据进行CNN训练，并为特定摄像头模拟了传感器噪声，这限制了模型的泛化能力。未来，我们希望探索深度域适应技术的应用[^3]，该技术能够同时利用带标签的合成数据与无标签或部分标签的真实数据。

![Image](images/08205d712af1c459167245ff46480261ad142af1f2a171be558e3c044f5b5f27.jpg)

<div style="text-align: center;">Figure 10: Fast motion that leads to misalignment in the colored depth image or failures in the hand localization step can lead to incorrect predictions (left two columns). LeapMotion Orion fails under large occlusions (right).</div>

### 7. 结论

我们提出了一种在具有挑战性的第一人称视角下，针对存在大量遮挡和场景杂乱情况的手部姿态估计方法。该方法利用两个CNN实时定位并估算手部的3D关节位置；随后通过姿态跟踪能量项来优化姿态，即根据运动学骨架估算关节角度，以确保时间上的连贯性。为了训练CNN，我们推出了SynthHands——这一全新的照片级真实感数据集，它采用混合现实技术来捕捉自然手部交互、手部形状、尺寸及颜色变化、物体遮挡以及自中心视角下的背景变化。我们还引入了新的基准数据集EgoDexter，其中包含从自中心视角拍摄的具有挑战性的杂乱场景标注序列。定量与定性评估结果表明，即便在复杂的遮挡、场景杂乱及背景变化条件下，我们的方法仍能实现较低的误差并保持稳定的性能。

致谢：本研究得到了ERC启动基金CapReal（编号335545）的支持。Dan Casas的研究得到了Marie Curie个人研究员项目的资助，项目编号为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, 6

[^2]: A. Canziani, A. Paszke, and E. Culurciello. An analysis of deep neural network models for practical applications. arXiv preprint arXiv:1605.07678, 2016. 4

[^3]: Y. Ganin and V. Lempitsky. Unsupervised domain adaptation by backpropagation. arXiv preprint arXiv:1409.7495, 2014. 8

[^4]: 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. 1,2

[^5]: H. Hamer, K. Schindler, E. Koller-Meier, and L. Van Gool. Tracking a hand manipulating an object. In Computer Vision, 2009 IEEE 12th International Conference On, pages 1475–1482. IEEE, 2009.

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

[^7]: Intel RealSense SR300. <https://click.intel.com/>

realsense.html，2016年3月

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

[^8]: Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint arXiv:1408.5093, 2014. 6

[^10]: N. Kyriazis and A. Argyros. Scalable 3d tracking of multiple interacting objects. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 3430–3437, 2014. 2

[^11]: LeapMotion. <https://developer.leapmotion.com/orion>, 2016. 2, 6

[^12]: 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. 2, 4

[^13]: 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. 1,2

[^14]: I. Oikonomidis, N. Kyriazis, and A. A. Argyros. Efficient model-based 3d tracking of hand articulations using kinect. In BmVC, volume 1, page 3, 2011. 2

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

[^16]: P. Panteleris, N. Kyriazis, and A. A. Argyros. 3d tracking of human hands in interaction with unknown objects. In BMVC, pages 123–1, 2015. 2

[^17]: 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. 1, 2, 3

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

[^19]: G. Rogez, M. Khademi, J. Supančič III, J. M. M. Montiel, and D. Ramanan. 3D hand pose detection in egocentric RGB-D images. In Workshop at the European Conference on Computer Vision, pages 356–371. Springer, 2014. 2, 4

[^20]: G. Rogez, J. S. Supancic, and D. Ramanan. First-person pose recognition using egocentric workspaces. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 4325–4333, 2015. 2, 4, 5, 8

[^21]: M. Rohrbach, S. Amin, M. Andriluka, and B. Schiele. A database for fine grained activity detection of cooking activities. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1194–1201, 2012. 1

[^22]: 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), pages 458–463, 2010. 2

[^23]: O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. International Journal of Computer Vision (IJCV), 115(3):211–252, 2015. 6

[^24]: 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. 1,2

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

[^26]: 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. 1, 2, 3, 5

[^27]: S. Sridhar, F. Mueller, M. Zollhoefer, 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. 2,3

[^28]: 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. 2, 6

[^29]: X. Sun, Y. Wei, S. Liang, X. Tang, and J. Sun. Cascaded hand pose regression. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 824–832, 2015. 2

## [^30]: A. Tagliasacchi, M. Schroeder, A. Tkach, S. Bouaziz, M. Botsch, and M. Pauly. Robust Articulated-ICP for Real-

---

Time Hand Tracking. Computer Graphics Forum (几何处理研讨会), 34(5), 2015. 1, 2

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

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

[^33]: 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. 1, 2, 3

[^34]: 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. 1, 2

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

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

[^37]: C. Wan, T. Probst, L. Van Gool, and A. Yao. Crossing nets: Dual generative models with a shared latent space for hand pose estimation. arXiv preprint arXiv:1702.03431, 2017. 1

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

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

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

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

[^42]: W. Zhao, J. Zhang, J. Min, and J. Chai. Robust realtime physics-based motion control for human grasping. ACM Transactions on Graphics (TOG), 32(6):207, 2013. 1

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