
# 利用单台深度相机实现两只交互手部的实时姿态与形状重建

弗朗西斯卡·穆勒，马克斯·普朗克计算机科学研究所，萨尔兰信息学园区

迈卡·戴维斯，胡安卡洛斯国王大学

弗洛里安·伯纳德与奥列克桑德尔·索特尼琴科，马克斯·普朗克计算机科学研究所，萨尔兰信息学园区

米凯尔·韦尔舒尔、米格尔·A·奥塔杜伊与丹·卡萨斯，胡安卡洛斯国王大学

克里斯蒂安·特博尔特，马克斯·普朗克计算机科学研究所，萨尔兰信息学园区

![Image](images/426222bf47139a477001093af211fac80d0ec57ef33d131043c207dfe322f3ff.jpg)

<div style="text-align: center;">Fig. 1. We present a method that estimates the pose and shape of two interacting hands in real time from a single depth camera. On the left we show an AR setup with a shoulder-mounted depth camera. On the right we show the depth data and the estimated 3D hand pose and shape from four different views.</div>

我们提出了一种用于两只强交互手部实时姿态与形状重建的新方法。我们的方案是首个具备多项优异特性的双手追踪解决方案：无需标记物、仅需一台消费级深度相机即可运行、支持实时处理、能够应对手部内部及相互之间的碰撞情况，还能自动适配用户的手部形状。为实现这一目标，我们将最新的参数化手部姿态与形状模型，以及基于深度神经网络的密集对应预测器，嵌入到合适的能量最小化框架中。为了训练该对应预测网络，我们基于物理仿真合成了一个包含手部姿态与形状标注的双手数据集，同时避免了手部之间的穿透现象。

为了实现实时处理速率，我们将模型拟合表述为非线性最小二乘问题，从而可以借助高效的基于GPU的高斯-牛顿优化器来优化能量。我们在复杂度远超以往研究的场景中展示了领先的研究成果，这些场景包括双手紧握、严重的手部相互遮挡以及手势交互等情况。 $^{1}$

CCS概念：• 计算方法 → 追踪；计算机视觉；神经网络。

其他关键词：手部追踪、手部姿态估计、两只手、深度相机、计算机视觉

## ACM参考格式

弗朗西斯卡·穆勒、迈卡·戴维斯、弗洛里安·伯纳德、奥列克桑德尔·索特尼琴科、米凯尔·韦尔舒尔、米格尔·A·奥塔杜伊、丹·卡萨斯与克里斯蒂安·特博尔特。2019年。利用单台深度相机实现两只交互手部的实时姿态与形状重建。《ACM图形学汇刊》第38卷第4期，文章编号49（2019年7月），共13页。 <https://doi.org/10.1145/3306346.3322958>

## 1 引言

无需标记物的手部姿态估计是一个极具挑战性的问题，近年来在视觉与图形学界受到了广泛关注。这一问题的重要性源于手部姿态识别在许多应用中发挥着重要作用。

---

人机交互[Kim et al. 2012]、增强现实与虚拟现实（AR/VR）[Höll et al. 2018]、手语识别[Koller et al. 2016]，以及与心理学相关的肢体语言识别等领域均属于此类研究范畴。根据具体应用场景的不同，往往会对相关方法提出额外要求，比如实现实时手部追踪，或针对个人特有的手型动态调整追踪算法以提高精度。理想情况下，应能通过简单的硬件配置完成手部重建，因此基于单色摄像头或深度摄像头的相关研究备受关注。目前现有的无标记手部姿态估计方法通常依赖RGB图像[Cai et al. 2018; Mueller et al. 2018; Zimmermann and Brox 2017]、深度图像[Sridhar et al. 2015; Supančić et al. 2018; Taylor et al. 2017; Yuan et al. 2018]，或是两者的结合[Oikonomidis et al. 2011a; Rogez et al. 2014]。现有方法大多仅针对单只手的处理问题展开研究[Oberweger et al. 2015; Qian et al. 2014; Ye and Kim 2018]。其中部分方法甚至能够应对物体交互场景[Mueller et al. 2017; Sridhar et al. 2016; Tzionas et al. 2016]，但由于可能存在遮挡现象，这类场景的处理难度极大。

由于人类在日常活动中会自然地使用双手，许多应用需要同时追踪两只手的运动（见图1），而非单独追踪单只手。尽管已有少数研究涉及双手同步追踪问题，但至少存在以下一项局限：(i) 仅适用于较为简单的交互场景（例如不存在紧密的双手抓握、明显的手间遮挡或手势交互）；(ii) 计算开销大且无法达到实时性要求；(iii) 无法处理双手之间的碰撞问题；(iv) 采用针对特定个人的手模型，无法自动适配未见过的手型；或者(v) 严重依赖定制的专用硬件。与现有方法不同，我们的方法能够应对双手交互场景，且不存在上述(i)~(v)项局限，详见表1。

我们首次提出了一种无标记方法，仅需单个深度摄像头即可实时追踪具有复杂交互的双手，同时还能估算出个人的手型。从技术层面来看，这一成果得益于一种新型的学习型密集表面对应预测器，它与最新的参数化手模型[Romero et al. 2017]相结合。这两个组件被整合到一个能量最小化框架中，用于确定给定深度图像中双手的姿态和形状参数。受深度学习在基于图像的预测任务中取得的最新成果的启发[Alp Güler et al. 2018; Alp Güler et al. 2017; Badrinarayanan et al. 2015; Zhang et al. 2017]，我们采用了基于深度神经网络的对应回归器。与类似ICP的局部优化方法相比，使用这种全局对应预测器更具优势，因为它不易因初始值错误而导致失效，即便出现严重的追踪误差也能轻松恢复（详见我们的补充视频）。由于在实际数据中难以获取可靠的密集对应标注，我们创建了一个用于训练对应回归器的交互式手部合成数据集。在此数据集中，关键在于模拟自然的双手交互，这意味着仅仅将左右手模型（处于不同姿态）渲染到同一视图中并不足够。为此，我们采用了运动模型的扩展版本……

<div style="text-align: center;">Table 1. Our method is the first to combine several desirable properties.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="6">![Image](images/75b92ee6cc8184b281e09a534dccca8ae1478f96a51a63a8fa54075cb9ee2539.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Interacting Hands</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Shape Estimation</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Real Time</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Commodity Sensor</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Collision Avoidance</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr></table>

基于捕获驱动的物理模拟方法[Verschoor等人，2018]，能够实现逼真、无碰撞且符合物理规律的虚拟手部交互效果。

我们方法的主要贡献可总结如下：

我们首次提出了一种仅需单个深度相机即可实时追踪两只交互手的方法，该方法不仅能估计手部形状，还能考虑手部之间的碰撞情况。

- 此外，我们的方法是首个利用物理模拟来创建包含姿态和密集形状标注的双手追踪数据集的方法，同时还能避免双手之间的相互穿透现象。

与现有方法相比，我们的方法在复杂的手部交互场景中更加稳健可靠。

## 2 相关工作

手部姿态估计是一个研究热度较高的领域，其应用范围十分广泛，例如人机交互或活动识别。虽然许多方法能够单独重建单只手的运动，但能够处理多只交互手或估计手部形状的现有方法相对较少。下文我们将探讨解决上述问题的相关研究。

单手捕捉：尽管多摄像头方案[Oikonomidis et al. 2011b; Sridhar et al. 2013]在跟踪质量方面更具优势，例如在物体遮挡时产生的歧义更少，但由于其灵活性差且设置繁琐，无法应用于许多场景。因此，近期大多数手部姿态估计方法要么采用单个RGB摄像头，要么使用深度摄像头。这些方法大致可分为三类：生成式算法、判别式算法以及混合算法。生成式算法通过优化目标函数，将模型与图像证据相匹配[Melax et al. 2013; Tagliasacchi et al. 2015; Tkach et al. 2016]。虽然这类算法的优势在于能很好地泛化到未见过的姿态，但缺点是它们通常对初始参数较为敏感，因此可能无法从跟踪失败中恢复过来。与之相对的是判别式算法，它们利用机器学习技术来估计手部姿态（通常只需一次预测即可得出结果）[Choi et al. 2015; Rogez et al. 2014; Tang et al. 2014; Wan et al. 2016]。尽管这类算法依赖于训练数据集，但它们

---

![Image](images/23b4fe16fb37f670e2a03a67c43229fd4d229528cf0f3d00af625253d7fd42a4.jpg)

<div style="text-align: center;">Fig. 2. Overview of our two-hand pose and shape estimation pipeline. Given only a depth image as input, our dense correspondence regression network (CoRN) computes a left/right segmentation and a vertex-to-pixel map. To obtain the hand shape estimation and pose tracking we use this data in an energy minimization framework, where a parametric hand pose and shape model is fit so that it best explains the input data.</div>

它们在测试时无需初始化，因此能快速从失败中恢复。深度神经网络近年来的成功催生了大量从深度图像中回归手部姿态的研究[Baek等人，2018；Ge等人，2018；Oberweger等人，2015；Tompson等人，2014；Wan等人，2017]，甚至还有从约束更少的单目RGB输入中估计手部姿态的研究[Cai等人，2018；Mueller等人，2018；Simon等人，2017；Spurr等人，2018；Zimmermann和Brox，2017]。混合算法[Sridhar等人，2015；Tang等人，2015]结合了生成式和判别式技术的优点，例如为模型拟合提供稳健的初始值。Yuan等人[^2018]和Supančič等人[^2018]对基于深度的单手姿态估计方法进行了更详细的综述。

手部形状模型：存在多种手部模型，即手部几何与姿态模型，它们被用于生成式及混合方法的姿态估计。这些模型的范围从一组几何图元[Oikonomidis et al. 2011a; Qian et al. 2014]到网格等表面模型[Sharp et al. 2015]。此类模型通常针对单个用户进行个性化定制，且需通过人工方式获取，例如利用激光扫描或对基础模型进行简单缩放。仅有少数方法能够自动从深度图像中估算出精细的手部形状。Khamis等人[^2015]利用从不同用户处获取的多组深度图像来构建手部网格的形状模型。随后，Tan等人[^2016]提出了一种将该模型高效适配于新演员序列的方法。Tkach等人[^2017]在线联合优化球体网格的姿态与形状，并随时间积累形状信息以降低不确定性。相比之下，Remelli等人[^2017]则通过多阶段校准及局部各向异性缩放，直接将球体网格拟合到整组图像上。最近，Romero等人[^2017]提出了一种用于描述手部姿态与形状的低维参数模型，该模型源自31名受试者拍摄的1000张高分辨率3D图像，涵盖了多种多样的手部姿态。

双手捕捉：双手的联合重建带来了全新的重大挑战，比如固有的分割问题以及更严重的遮挡现象。一些方法试图通过使用标记手套[Han et al. 2018]或多视角设置[Ballan et al. 2012]来克服这些挑战。另一些方法则从单台深度相机入手解决问题，以实现更高的灵活性与实用性。Oikonomidis等人[^2012]采用了一种分析-合成法，利用粒子群优化算法来最小化渲染出的深度图像与输入图像之间的差异。Kyriazis和Argyros[^2014]则采用了一组独立的跟踪器，各物体跟踪器会广播自身状态以解决碰撞问题。Tzionas等人[^2016]利用判别性检测到的显著点以及基于距离场的碰撞项，从而获得无交叉的模型拟合结果。不过，上述单相机方法均无法达到实时速率，其处理速度仅为每秒0.2至4帧。确实存在一些能够实时追踪双手的方法，但它们无法处理紧密的手部交互情况。Taylor等人[^2016]虽然能联合优化细分曲面模型的姿态与对应关系，但当双手靠得较近时该方法便会失效，因此无法用于捕捉任何手部交互场景。Taylor等人[^2017]运用机器学习技术进行手部分割与手掌方向初始化，随后拟合一个关节化距离函数。他们使用了自行研发的高帧率深度相机以减小帧间运动差异，从而仅需极少优化步骤就能完成模型拟合。然而，他们并未解决碰撞问题，也不估算手部形状，因此需要对每位用户使用给定的模型。尽管他们展示了一些手部交互示例，但并未呈现极为紧密且复杂的交互情况，比如紧握动作。

与以往的双手追踪方案相比，我们的方法具备以下特点：(i) 能在普通相机上实时运行；(ii) 无需标记；(iii) 仅使用单台（深度）相机；(iv) 可处理手部碰撞问题；以及(v) 能自动适应用户的手部形状。

## 3 概述

在图2中，我们展示了利用单个深度传感器实时重建两只交互手的手部姿态与形状的流程概览。首先，我们训练一个神经网络，用于回归手部模型与描绘两只（可能处于交互状态）手部的深度图像之间的密集对应关系。为了区分属于左手的像素和属于右手的像素，我们的密集对应图中还编码了左右手的分割信息。为了获取逼真的手部交互训练数据，我们利用动作捕捉驱动的物理模拟来生成（合成的）深度图像以及对应的真实对应图。这些数据还会补充真实的深度数据，用于训练对应图中的分割通道。

---

利用上述得到的对应图来初始化能量最小化框架，在该框架中我们将参数化手部模型拟合到给定的深度数据上。拟合过程中，我们使用统计姿态与形状正则化项来避免不合理的配置，同时采用时间平滑正则化项以及碰撞正则化项，以防止两只手之间以及每只手内部出现相互穿透的情况。

为了实现实时性能，我们将能量最小化步骤表述为非线性最小二乘形式，并采用基于高斯-牛顿优化器的、高度高效的定制化数据并行GPU实现方案。

本节剩余部分将介绍用于跟踪的手部模型（第3.1节）。随后，我们会详细讲解包括数据生成在内的密集对应回归过程（第4节），接着描述姿态与形状估计方法（第5节）。

### 3.1 手部模型

作为三维手部表示方法，我们采用了近期提出的MANO模型[Romero et al. 2017]。这是一种低维度的参数化手部表面模型，能够捕捉手部形状变化以及手部姿态变化，详见图3（左）。该模型基于31名受试者在不同手部姿态下采集的大约1000个三维手部扫描数据构建而成。手部表面由具有 $\mathcal{V}$ 个顶点的三维网格表示，其中 $N_V := |\mathcal{V}| = 778$。MANO模型定义了一个函数 $\mathbf{v} : \mathbb{R}^{N_S} \times \mathbb{R}^{N_P} \to \mathbb{R}^{3N_V}$，给定形状参数向量 $N_V$ 和姿态参数向量 $\beta \in \mathbb{R}^{N_S}$（其中 $\theta \in \mathbb{R}^{N_P}$ 且 $N_S = 10$），该函数可计算出网格所有 $N_P = 51$ 个顶点的三维位置。我们用 $\mathbf{v}_i(\beta, \theta) \in \mathbb{R}^3$ 来表示第i个顶点的三维位置。参数 $\beta$ 和 $\theta$ 是通过对训练数据进行PCA分析得到的低维度姿态与形状子空间的系数。因此，MANO模型天然支持统计正则化：只需强制这些参数趋近于零，这就相当于施加了一个Tikhonov正则化项。

需要注意的是，由于我们要跟踪的是可以独立移动的两只手，因此我们采用独立的左手和右手模型，分别记为 $\mathcal{V}_{\text{left}}$ 和 $\mathcal{V}_{\text{right}}$，对应的顶点分别为 $\mathbf{v}_{\text{left}}(\beta_{\text{left}}, \theta_{\text{left}})$ 和 $\mathbf{v}_{\text{right}}(\beta_{\text{right}}, \theta_{\text{right}})$。为了方便表述，我们将左手和右手的参数堆叠起来，得到 $\beta = (\beta_{\text{left}}, \beta_{\text{right}})$ 和 $\theta = (\theta_{\text{left}}, \theta_{\text{right}})$；我们用 $\mathcal{V}$ 加上 $N_v := |\mathcal{V}| = 2.778$ 来表示左手和右手的组合顶点。

为了以极高的计算效率解决相互穿透问题，我们在手部模型中加入了碰撞代理。我们采用了Sridhar等人[^2015]的方法，他们用一组以三维高斯函数建模的球体来近似手部的体积范围。利用这种表述方式，通过在姿态优化过程中对高斯函数的重叠进行惩罚，便可避免相互穿透现象。需要注意的是，高斯函数之间的重叠是可微分的，且能以封闭形式计算——这与简单的二元碰撞检测不同。我们将这些高斯函数与现有的MANO模型相结合：把它们的位置绑定到手部关节上，并将它们的标准差与人工选定的顶点对相关联。通过这种方式，我们确保高斯函数的位置和大小会随姿态和形状参数$\beta$及$\theta$而变化。对于每只手而言，

![Image](images/69496bb9cdd03dee30c44042ef88b37bb7c0edb29954d8fe1f865c73336c8dd6.jpg)

<div style="text-align: center;">Fig. 3. Illustration of MANO hand model (left) that is augmented with our collision proxies (top right), as well as the correspondence color-encoding (bottom right). Notice that front and back color assignments differ in saturation, especially in the palm area.</div>

我们会添加35个三维高斯函数，这使得双手模型所包含的高斯函数总数达到$N_C = 70$个。图3（右上角）展示了标准差为1时高斯函数的等值面可视化结果。接下来，我们将介绍我们的对应关系回归器，它最终会与双手模型结合，用于实现姿态和形状的重建。

## 4 密集对应关系回归

设I为像素尺寸为h×w的输入深度图像，其定义在图像域$\Omega$上。我们的目标是学习一个顶点到像素的对应关系映射$c : \mathcal{V} \to \bar{\Omega}$，该映射为模型$\mathcal{V}$中的每个顶点在图像域$\Omega$中指定一个对应的像素。为了允许某个顶点未被分配到图像像素（即该顶点当前不可见），我们将集合$\Omega$扩展为也包含$\emptyset$，记为$\bar{\Omega}$。

### 4.1 密集对应关系编码

为了获得顶点到像素的对应关系映射c，我们利用像素到颜色的映射$\mathcal{N} : \Omega \to [0, 1]^4$，该映射为每个图像像素赋予一个编码了对应关系的四通道颜色值。其中前3个通道对应手部表面的密集对应关系（颜色如图3右下角所示），最后一个通道则编码分割标签（0：左手，0.5：右手，1：非手部）。由于这种在图像空间的对应关系编码方式，学习像素到颜色的映射$\mathcal{N}$比直接学习顶点到像素的映射c更为便捷。需要强调的是，函数$\mathcal{N}$定义在整个输入图像域上，因此能够为任意像素预测出编码了对应关系的颜色值。这样一来，它就同时包含了双手的对应关系信息，从而隐式地学会了处理左手和右手之间的交互。关于训练数据的生成方式，请参阅第4.2节；关于如何学习$\mathcal{N}$的细节，请参阅第4.3节。

---

![Image](images/e495398954f7e4fedabb5ebdfa15304f7a5c4321d0ac9d0f331a135daedb74f1.jpg)

<div style="text-align: center;">Fig. 4. We generate our synthetic dataset by tracking two hands, separated by a safety distance, which are used to control in real-time a physically-based simulation of two interacting hands in the virtual scenario (left). We output the depth map (top right) and dense surface annotations (bottom right) of the resulting simulation.</div>

为了基于函数N将手模型顶点在$\mathcal{V}$中与图像像素在$\Omega$中关联起来，我们同样定义了顶点到颜色的映射$\mathcal{M} : \mathcal{V} \to [0,1]^4$，这一做法与近期的密集回归研究类似[Huang等人，2016年；Taylor等人，2012年；Wei等人，2016年]。需要注意的是，对于左右手模型中的对称顶点而言，$\mathcal{M}$的输出仅在最后一个分量上存在差异（0表示左手，0.5表示右手），而前三个分量则编码了手表面的位置，如图3（右下角）所示。因此，基于映射N和M得到的颜色相似性，就能确定顶点与像素之间的对应关系。为了给第i个模型顶点赋予颜色值$M(i)$，我们首先采用多维缩放算法[Bronstein等人，2006年]，将手模型嵌入到三维空间中，该空间能（近似地）保留测地距离。随后，我们将HSV色彩空间的圆柱体映射到嵌入后的手部网格上，使得不同色调对应不同的手指，参见图3（右下角）。正如我们后续展示的那样（图6），所提出的测地HSV嵌入方法相比简单的着色方式（即将RGB立方体映射到原始网格上，这等同于回归规范姿态下的3D顶点坐标）能取得更好的效果。

从颜色编码中获取顶点到像素的映射：为了针对给定的深度图像I获得顶点到像素的对应映射c，我们首先利用N（一个定义在图像域上的函数）将图像像素映射为颜色。接着，我们将通过N得到的逐像素颜色与固定的逐顶点颜色M进行比较，再通过阈值化的最近邻策略构建顶点到像素的映射。对于所有$i \in \mathcal{V}$，我们定义如下：

 $$ \hat{c}(i)=\underset{j\in\Omega}{\mathrm{a r g m i n}}\|\mathcal{N}(j)-\mathcal{M}(i)\|_{2},\mathrm{a n d} $$

 $$ c(i)=\begin{cases}{\hat{c}(i)}&{\mathrm{i f~}\|\mathcal{N}(\hat{c}(i))-\mathcal{M}(i)\|_{2}<\eta,}\\ {\emptyset}&{\mathrm{o t h e r w i s e}.}\\ \end{cases} $$

如果某个顶点i的最近预测颜色超过了经验选定的阈值$\eta=0.04$，那么该顶点在输入深度图像中很可能是不可见的。

### 4.2 数据生成

接下来，我们将介绍如何获取用于训练对应回归网络的合适数据。

源自动作捕捉驱动的手部模拟的合成数据。为了克服在复杂的手与手交互场景下生成具有密集对应关系的训练数据的难题，我们采用了基于物理的手部模拟器，其理念与[Zhao等人，2013年]的研究类似。为此，我们利用手部骨骼动作捕捉[mocap]数据[LeapMotion 2016]来驱动模拟，以最大程度还原自然的手部运动。针对现有手部动作捕捉方案无法稳健处理紧密且复杂的手与手交互问题，我们让演员的两只手保持一定安全距离进行移动；在模拟过程中会扣除这一安全距离，从而生成紧密交互的手部运动。通过实时运行手部模拟，演员能即时获得视觉反馈，进而能够模拟出自然的交互过程。图4展示了这一数据生成步骤的实时场景。

我们扩展了Verschoor等人的工作[^2018]，实现了双手同步模拟以及手与手之间的碰撞检测。该手部模拟器由一个由关节组成的骨架构成，其周围包裹着低分辨率的有限元软组织模型。演员的双手通过Leap Motion设备[^2016]进行追踪，而动作捕捉得到的骨骼配置则通过粘弹性弹簧（即PD控制器）与手部模拟器的关节骨架相连。这样一来，手部在自由运动时能够紧密跟随动作捕捉输入，同时又能对接触做出反应。手部模拟器采用基于罚函数的摩擦接触模型来解决手与手之间的碰撞问题，这种方式能以极低的计算成本实现平滑的软组织交互。我们发现，在手指交错等高度受限的场景中，软组织层对于实现平滑自然的运动尤为关键。由于手部运动由动作捕捉输入控制，因此本质上不会出现手内碰撞现象。虽然手与手之间的交互可能会产生导致手内碰撞的手指运动，但就本步骤的训练目的而言，这种现象可忽略不计。因此，为了始终保证实时交互性，我们并未处理自碰撞问题。

在实际应用中，在这一数据生成步骤里，我们会为每一帧模拟画面输出一张深度图像，以及对应着带有映射M颜色的手部网格渲染图像。此外，我们还会对生成的深度图像进行后处理，以模拟结构光传感器在深度不连续处的典型噪声。按照上述流程，我们记录了5名用户的数据，总共合成出8万张图像。

带分割标注的真实数据：仅使用合成数据进行训练时，神经网络容易出现过拟合现象，因此对真实测试数据的泛化能力可能较差。为解决这一问题，我们将真实的手部深度相机影像整合到此前合成生成的训练集中。由于在真实数据上获取密集的对应关系标注并不现实，我们仅将真实数据的标注限制在左右手分割任务上。与彩色手套[Taylor et al. 2017]相比，人体彩绘[Soliman et al. 2018; Tompson et al. 2014]对观察到的手部形状影响较小，因此我们利用人体彩绘通过深度相机提供的RGB图像中的颜色分割来获取可靠的标注。

---

![Image](images/90628c6b55a6652e4962adf219ec9cf3c30a71e8eaa583833cdf35e36657cb5e.jpg)

<div style="text-align: center;">Fig. 5. Our correspondence regression network (CoRN) consists of two stacked encoder-decoder networks. The output sizes of the layer blocks are specified as height  $\times$ width  $\times$ number of feature channels. In addition, the colors of the layer blocks indicate which operations are performed (best viewed in color).</div>

总共而言，我们采集了3名用户（1名女性，2名男性）的数据，他们的手部形状各异（宽度：8–10厘米，长度：17–20.5厘米）。我们为每位受试者及每个视角（肩戴式相机和前置相机）记录了$\approx$ 3,000张图像，最终图像总数达到19,926张。

### 4.3 神经网络回归器

根据第4.2节所述的真实数据与合成数据混合的训练集，我们训练了一个神经网络来学习像素到颜色的映射关系N，如图5所示。受近期用于逐像素预测的架构启发[Newell等人，2016年；Ronneberger等人，2015年]，我们的网络由两个堆叠的编码器-解码器处理模块组成。第一个模块被训练用于学习分割任务，即它输出针对三种可能类别{左手、右手、非手部}的原始输入分辨率下的各类别概率图。这些类别概率图会与输入的深度图像I拼接起来，再送入第二个编码器-解码器，以回归得到每个像素对应的3通道手部表面对应关系信息。最终得到的映射关系$N : \Omega \to [0,1]^{4}$是通过将对应关系输出结果与每个像素最可能所属类别的标签拼接而成的。需要注意的是，我们将类别标签进行缩放，使其范围与[^0]、[^1]相匹配，具体设置为：左手=0，右手=0.5，非手部=1。我们的两个编码器-解码器子网络采用相同的架构。我们通过步长为2的卷积操作对分辨率进行下采样，再通过对称的步长为2的反卷积操作进行上采样。值得注意的是，每次卷积和反卷积操作后都会接上批量归一化层和修正线性单元（ReLU）层。此外，我们还利用跳跃连接来保留空间局部信息并增强梯度反向传播效果。由于第二个子网络需要学习的任务难度更大，因此我们将所有层的特征数量翻倍。分割损失采用softmax交叉熵作为标准分类损失；对于对应关系损失，我们采用回归任务中常用的平方欧几里得距离。我们在单次训练迭代中，使用同时包含合成数据和真实数据的混合批次来端到端训练整个网络。对于真实数据而言，仅有分割损失会被激活。

## 5 姿态与形状估计

图像I中出现的手部的姿态和形状，是通过将手部表面模型（见3.1节）拟合到深度图像数据上来估算的。为此，我们首先从深度图像I中提取前景点云$\{\mathbf{d}_j \in \mathbb{R}^3\}_{j=1}^{N_I}$，以及通过Sobel滤波得到的相应点云法线$\{\mathbf{n}_j \in \mathbb{R}^3\}_{j=1}^{N_I}$。基于手部和手臂是离相机最近的物体的假设，我们采用简单的基于深度的阈值分割策略来提取前景，其中$N_I$表示前景像素的总数（两只手合计）。随后，这些点云数据会与学习到的顶点到像素对应关系图c一起，应用于优化框架中。通过最小化合适的非线性最小二乘能量函数（我们接下来会给出定义），就能确定最能解释该点云数据的手部模型参数。

左手和右手的总能量函数定义为

 $$ \mathcal{E}_{\mathrm{t o t a l}}(\beta,\theta)=\mathcal{E}_{\mathrm{d a t a}}(\beta,\theta)+\mathcal{E}_{\mathrm{r e g}}(\beta,\theta), $$

其中$\beta$为形状参数，$\theta$为手部姿态参数，具体说明见3.1节。

### 5.1 数据项

数据项$\mathcal{E}_{\text{data}}$用于衡量给定参数元组$(\beta, \theta)$下，手部模型对深度图像I的解释程度；而项$\mathcal{E}_{\text{reg}}$则是一种正则化项，用于保证时间上的平滑性、合理的手部形状和姿态，同时避免手部内部及手部之间的相互穿透现象。我们基于点对点和点对面两种项组合来定义数据项，具体如下：

 $$ \begin{array}{r}{\mathcal{E}_{\mathrm{d a t a}}(\beta,\theta)=\omega_{\mathrm{p o i n t}}E_{\mathrm{p o i n t}}(\beta,\theta)+\omega_{\mathrm{p l a n e}}E_{\mathrm{p l a n e}}(\beta,\theta),}\end{array} $$

其中$\omega_{\odot}$用于表示各项的相对权重。

点对点：设 $\gamma_i$ 为第 i 个顶点的可见性指示符，若满足 $c(i) \neq \emptyset$ 则取值为 1，否则为 0。点对点能量用于衡量所有可见模型顶点 $\mathbf{v}_i(\beta, \theta)$ 与像素 $c(i)$ 处对应 3D 点之间的距离，其定义为

 $$ E_{\mathrm{p o i n t}}(\beta,\theta)=\sum_{i=1}^{N_{\mathcal{V}}}\gamma_{i}||\mathbf{v}_{i}(\beta,\theta)-\mathbf{d}_{c(i)}||_{2}^{2}. $$

点对面：点对面能量用于惩罚模型顶点 $\mathbf{v}_i(\beta, \theta)$ 与点云表面切线之间的偏差，其定义为

 $$E_{\mathrm{p l a n e}}(\beta,\theta)=\sum_{i=1}^{N_{\mathcal{V}}}\gamma_{i}\mathrm{~\left<v_{i}(\beta,\theta)-d_{c(i)},n_{c(i)}\right>^{2}}.$$

### 5.2 正则化项

我们的正则化项 $\mathcal{E}_{\text{reg}}$ 包含统计姿态和形状正则化项、时间平滑项以及碰撞项。其定义如下：

 $$ \mathcal{E}_{\mathrm{r e g}}(\beta,\theta)=_{\omega_{\mathrm{s h a p e}}E_{\mathrm{s h a p e}}}(\beta)+\omega_{\mathrm{p o s e}}E_{\mathrm{p o s e}}(\theta) $$

 $$ \omega_{\mathrm{t e m p}}E_{\mathrm{t e m p}}(\beta,\theta)+\omega_{\mathrm{c o l l}}E_{\mathrm{c o l l}}(\beta,\theta). $$

---

统计正则化项：如第 3.1 节所述，MANO 模型是通过 PCA 得到的低维线性子空间来参数化的。因此，为了在每个捕获帧中强制赋予合理的姿态和形状，我们采用了 Tikhonov 正则化项。

 $$ E_{\mathrm{s h a p e}}(\beta)=||\beta||_{2}^{2}\quad\mathrm{a n d}\quad E_{\mathrm{p o s e}}(\theta)=||\theta||_{2}^{2}. $$

时间正则化项：为了实现时间上的平滑性，我们对形状参数 $\beta$ 和姿态参数 $\theta$ 采用零速度先验，即定义如下：

 $$ E_{\mathrm{t e m p}}(\beta,\theta)=||\beta^{(t)}-\beta^{(t-1)}||_{2}^{2}+||\theta^{(t)}-\theta^{(t-1)}||_{2}^{2}. $$

碰撞正则化项：为了避免双手之间以及左手与右手之间的相互穿透，我们引入了碰撞能量项。如第 3.1 节所述，我们在每个手部网格内放置球形碰撞代理，然后对这些碰撞代理之间的重叠进行惩罚。从数学上讲，我们基于（各向同性的）高斯函数重叠来表述这一项 [Sridhar et al. 2015]，从而得到定义为平滑占据函数的柔性碰撞代理。该能量表达式如下：

 $$ E_{\mathrm{c o l l}}(\beta,\theta)=\sum_{p=1}^{N_{C}}\sum_{q=p+1}^{N_{C}}\int_{\mathbb{R}^{3}}G_{p}(x;\beta,\theta)\cdot G_{q}(x;\beta,\theta)d x. $$

此处，$G_p$ 和 $G_q$ 表示高斯碰撞代理，其均值和标准差取决于形状参数 $\beta$ 以及姿态参数 $\theta$。

### 5.3 优化

我们将能量 $\mathcal{E}_{\text{total}}$ 表述为非线性最小二乘形式，以便能够利用高斯-牛顿算法进行优化。残差的所有导数均可解析计算，因此我们可以在 GPU 上高效且精确地计算出雅可比矩阵的所有元素。关于 GPU 实现的更多细节可在附录中找到。

需要注意的是，尽管原则上只需为每个演员优化一次形状参数并将其在整个序列中固定即可，但我们仍会在序列的每一帧中进行形状优化。这样做的优点是，若用于估计形状参数的帧选择不当，也不会对后续帧的跟踪产生负面影响。我们通过实验发现，手部的形状具有鲁棒性，在给定的序列中不会发生显著变化。

## 6 评估

在本节中，我们全面评估所提出的两手跟踪方法。第 6.1 节介绍了额外的实现细节；随后在第 6.2 节进行了消融研究，并在第 6.3 节与最先进的跟踪方法进行了比较；最后在第 6.4 节提供了额外结果，以证明该方法适应特定用户手部形状的能力。

### 6.1 实现

我们的实现运行在两块NVIDIA GTX 1080 Ti GPU上。其中一块GPU负责运行对应回归网络CoRN，以及帧$t+1$的逐顶点对应关系匹配任务，而

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

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

![Image](images/38f57af2e3d9eaaf5fb17b24c8f0a58f877411b4d4ac859c6e738ee4caccc786.jpg)

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

<div style="text-align: center;">Fig. 6. Results of our ablation study. (a) shows different configurations regarding the correspondence regressor (CoRN). (b) shows configurations regarding the optimizer.</div>

![Image](images/cfc81db9ab27e15f6c4e324043a530cf571a268f29f3a308f6449b666587a9f8.jpg)

![Image](images/c0b9d5d954d3636cae0d3f8a275348669519b43b1d8b01e94e54c7731a71097d.jpg)

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

![Image](images/23665c20cb6a5519f51bb3e1dcb4716a6d1d03c7880aaa14ea4402b0e75e169a.jpg)

<div style="text-align: center;">w/o Real Data (Left/Right Segmentation)</div>

![Image](images/11fdc1b0c2e6dc37d846ccb07f8f87378c9f77c80100402eb6b98f95c34d463a.jpg)

<div style="text-align: center;">w/o Collision</div>

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

<div style="text-align: center;">w/o Pose Reg.</div>

![Image](images/8e58cd007ab5a7c79f968b60084fc7cfc6bca3ee198a6b927247a34890eebdef.jpg)

<div style="text-align: center;">w/o Shape Reg.</div>

<div style="text-align: center;">Fig. 7. Qualitative examples from our ablation study.</div>

另一块GPU则负责帧t的模型优化工作。总体而言，基于C++、CUDA和TensorFlow库的实现能够达到30帧/秒的速率。我们采用Intel RealSense SR300深度相机来获取实时结果并进行评估。在第6.3节中，我们还展示了使用其他传感器采集的公共数据集所得到的结果。

除非另有说明，训练CoRN时我们始终使用合成图像和真实图像（参见第4.2节），这些图像均从正面视角渲染并录制。我们强调，使用特定视角的对应回归器是合理的，因为对于特定应用场景而言，通常已知手部将被追踪的视角。

### 6.2 消融研究

我们开展了详细的消融研究，旨在分析所提出方法中各个组件的影响。评估时我们使用了Tzionas等人提供的数据集[^2016]，该数据集包含深度图像上的关节位置标注。图6展示了不同配置下的定量分析结果。我们采用关键点正确率（PCK）作为衡量指标，横轴表示误差，纵轴则表示落在该误差范围内的点所占百分比。计算PCK时，我们采用了与Tzionas等人[^2016]相同的关键点集合。需要注意的是，尽管使用了Tzionas等人的数据集，图6并未展示他们的结果，

---

因为他们并未提供3D PCK数值。我们消融研究的定性结果如图7所示。

对应回归网络。在图6a中，我们展示了训练对应回归器（CoRN）的四种不同配置设置：

(1) 即第4节中介绍的所提出的CoRN网络（蓝线，“所提出的方法”）。

(2) 基于两种视角的数据训练的CoRN网络，包括以手为参照的视角以及正面视角（橙线，“混合视角数据”）。

(3) 仅用合成数据训练的CoRN网络，也就是说我们并未使用第4.2节所述的真实数据来训练分割子网络（黄线，“不使用真实数据”）。

(4) 我们没有采用所提出的测地HSV嵌入作为对应关系的颜色编码方式（参见图3），而是采用一种简单的颜色编码方法，即将原始网格映射到RGB立方体上（紫线，“简单着色法”）。

可以看出，所提出的训练设置优于所有其他设置。

姿态与形状估计。图6b展示了不同的优化器配置。我们评估了五种能量形式：

(1) 包含所有项的完整能量$\mathcal{E}_{\text{total}}$（蓝线，“所提出的方法”）。

(2) 不含碰撞项$E_{\text{coll}}$的能量（橙线，“不含碰撞项”）。

(3) 不含时间平滑项$E_{temp}$的能量（黄线，“不含平滑项”）。

(4) 不含姿态正则化项$E_{pose}$的能量（紫线，“不含姿态正则化”）。

(5) 不含姿态正则化项$E_{\text{shape}}$的能量（绿线，“不含形状正则化”）。

此外，为了说明CoRN的重要性，我们将其与两种采用最近点对应关系的配置进行了比较：

(1) 将顶点对应关系定义为分类结果相同且距离最近的输入点（浅蓝色线条，“最近点（带分割信息）”）。

(2) 将顶点对应关系定义为整个点云中距离最近的输入点（深红色线条，“最近点（无分割信息）”）。

需要注意的是，为了进行公平比较，我们在第一帧中手动将手部模型初始化为尽可能接近真实位置的状态。我们要强调的是，使用CoRN时无需如此操作。

我们可以观察到，与省略单个能量项的情况相比，完整的能量函数表现最佳。此外，我们发现，从PCK指标来看，移除姿态正则化项或形状正则化项对结果的不利影响，明显大于移除碰撞项或平滑项所带来的影响。需要指出的是，平滑项能够消除时间上的抖动，而这一点在数值上仅能体现极细微的差异。同样，虽然移除碰撞项对PCK指标影响不大，但我们在补充视频中展示了它会严重恶化跟踪结果。使用简单的最近点而非预测的CoRN对应关系会导致误差显著增大，这一结论在两种配置下均成立。

![Image](images/7de77024604642f56d021e5c73161e91a15fbc7067a31e0ba3cc0932a3e26a71.jpg)

<div style="text-align: center;">Fig. 8. Qualitative comparison with [Tzionas et al. 2016]. Our method achieves results with comparable visual quality while running multiple orders of magnitude faster.</div>

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

<div style="text-align: center;">Fig. 9. Qualitative comparison with [Taylor et al. 2017]. Our method is able to track two hands in similar poses while at the same time reconstructing shape automatically and avoiding collisions.</div>

无论是否包含分割信息均是如此。此外，在图7中我们展示了消融研究中的定性示例，进一步验证了完整能量公式中的每一项对于实现高质量的手部交互跟踪都至关重要。

初始化的独立性：在补充视频中我们还展示了相关结果——当手部运动极快导致深度图像模糊时，我们的手部跟踪器能够从严重误差中恢复过来。在这种情况下，一旦手部恢复常规运动速度，跟踪器便能重新正常工作并提供精确的跟踪结果。需要注意的是，这与局部优化方法（例如基于ICP流程的姿态和形状拟合方法）不同，由于能量函数的严重非凸性，后者无法从糟糕的结果中恢复。

### 6.3 与现有技术的比较

## 接下来，我们将我们的方法与现有技术进行比较

与Tzionas等人的方法[^2016]进行比较。在表2中，我们展示了与Tzionas等人[^2016]的工作的定量比较结果。评估基于他们提供的带有关节标注的双手数据集。结果显示，两种方法下的相对2D像素误差都非常小。尽管我们的方法误差略大一些，但我们强调其速度提升了$150\times$倍，且无需针对特定用户定制手部模型。此外，在图8中我们定性展示了精度误差的差异并不会导致明显的视觉质量差距。我们还要指出，手指

---

<div style="text-align: center;">Table 2. We compare our method to the method by Tzionas et al. [^2016] on their provided dataset. We show the average and standard deviation of the 2D pixel error (relative to the diagonal image dimension), as well as the per-frame runtime. Note that the pixel errors of both methods are very small, and that our method is  $150\times$ faster. Moreover, our approach automatically adjusts to the user-specific hand shape, whereas Tzionas et al. require a 3D scanned hand model.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>2D Error</td><td style='text-align: center; word-wrap: break-word;'>Runtime</td><td style='text-align: center; word-wrap: break-word;'>Shape Estimation</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>1.35\pm0.28\%</td><td style='text-align: center; word-wrap: break-word;'>33ms</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Tzionas et al.</td><td style='text-align: center; word-wrap: break-word;'>0.63\pm0.12\%</td><td style='text-align: center; word-wrap: break-word;'>4960ms</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr></table>

Tzionas等人[^2016]的指尖检测方法是为了适配他们的特定相机而专门训练的，而我们的对应关系回归器从未接触过本次比较中所用的深度传感器采集的数据。

与Leap Motion的比较 [^2016]。在补充视频中，我们还将我们的方法与使用商用解决方案[LeapMotion 2016]得到的骨骼追踪结果进行了定性比较。如所示，当两只手在空间上相隔较远时，Leap Motion能够成功追踪它们，但对于复杂的手与手之间的交互，它便难以胜任甚至无法完成追踪。相比之下，我们的方法不仅能成功追踪具有挑战性的手与手交互，还能估算出手的3D形状。

其他方法。由于[Taylor等人，2017]的作者并未公开其数据集，我们无法直接与他们的结果进行比较。不过，在图9和补充视频中，我们展示了在类似场景下的追踪结果，其中一些场景的设置可以说比他们的更具挑战性。

### 6.4 更多结果

在本节中，我们将展示关于手部形状适配的额外结果以及更多的定性结果。

手部形状适配。在此，我们研究了该方法对用户特定手部形状的适配能力。在图10中，我们展示了针对四位手部形状各异的人员运行我们的方法时所得到的手部形状。可以看出，我们的方法能够将手部模型的几何结构调整为符合用户手部形状。

由于获取可靠的3D真实数据以及分离形状参数与姿态参数存在极大难度，我们无法直接对形状进行定量评估。取而代之的是，我们还评估了在Tzionas等人提供的序列上所估算出的骨骼长度的一致性 [^2016]。平均标准差为0.6毫米，这表明我们的形状估算结果随时间推移保持稳定。

定性结果。在图11中，我们展示了我们的姿态与形状估算方法的定性结果。前两行展示了以自我为中心的视角的帧，CoRN也是针对这种设置进行训练的；其余各行则展示了正面视角的帧。可以看出，在多种多样的复杂手与手交互场景中，我们的方法都能稳健地估算出手部的姿态与形状。CoRN是我们方法中的重要组成部分，它能够针对各种输入准确预测分割结果与密集对应关系（见图12）。不过，如图13所示，错误的预测可能会导致最终的追踪结果出现误差。

![Image](images/b1775e77d5fb43b3a4d79735f0b1c319bba57cb9da7b118909631f210d9cb46d.jpg)

<div style="text-align: center;">Fig. 10. We present the 3D hand models (left) that we obtained from fitting our model to different users with varying hand shape. From top to bottom we show small to large hand shapes. Note that we show all four hand shapes on the left in the same pose in order to allow for a direct comparison.</div>

## 7 局限性与讨论

尽管总体而言，我们在实时估计手部姿态和形状方面取得了令人瞩目的成果，但仍有若干方面有待进一步改进。在计算成本方面，目前我们的系统依赖两块高端GPU，一块用于回归网络，另一块用于优化器。为了实现计算负担更轻的处理流程，可以考虑采用更轻量级的神经网络架构，例如专为移动平台设计的CNN（如Howard等人于2017年提出的模型）。虽然与以往的实时方法相比，我们的方法能更好地处理复杂的手与手之间的交互，但在极具挑战性的场景下仍可能表现不佳。例如，当用户做出极快的手部动作导致深度图像严重模糊，或者其中一只手被大部分遮挡时，就会出现这种情况。在后一种情况下，由于深度图像中的信息不足，可能会出现时间上的抖动现象。这一问题可通过更复杂的时间平滑项来缓解，比如在发生遮挡时采用更强的平滑处理，或采用用于对应点预测的时间网络架构。此外，当前的时间平滑先验可能会导致在帧间运动较大时出现跟踪延迟。为了进一步提升结果质量，未来可采用更精细的策略。

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>![Image](images/355a505019879b9d1fa34c6ab7a0b8faaa6afabaa6785cfb4bd1a3a7080ea2f1.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/563748a7353a8db2e76a128b4408398da94382a40f5102ff29bbb594d4712d31.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/23ddbe72d6bcd2cf973f51627ba25248ea88bebce9a45d749774979fe86023ed.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/afc0a2610c22c9bf0706bcbd66c5de9bbb7c15291207a8c3f5928ccbdf912f20.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/a7ed240b6b91149a378232babd5cc232e07cc729877c90fe345919f9b224c793.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>![Image](images/9b63048af393442ecfd5cdd84fa997f3a6940ee109f041f3ed9f3f7b18fe7c72.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/396671604fe811544b44a5c6c6117fa82fd2a9f77e6799e5ef757c15a0d0c2b6.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/76a67f7f2a534f8377adfc420c00be5c35697303f0acb85d6f7b3b4e39dda5b7.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/f55f320880a0325b7b97918b7a4ed1070ee3b1008788ffa5cad0f05d7be3abe9.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/3f3c07ce7a393570dba037b78c331b27d2929d31f32f672a151f3cec05763335.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>![Image](images/ad188f5f9cf23999df0bef490e33e52f7309665f0853b7cd18fb4424630b2007.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/d50f695cfd3ca3581f904224934e041eaa5380966823987c49463ca97dabe445.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/e2bca3ea88a6ac58818a1e1a54d25691be1d7474b998e2326b818c52541fc44e.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/5b7466b74a41a43b298ff04c4951deb92270c90ef8e3a3a9a9b4bc016161501b.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/63e201db2e913a0cd53b8a86bc888ccb6b415e0b87743c11a40ec6efee1c5f7e.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>![Image](images/983e1001a5953c7caf6234eff61cce59908cc085fee92b1025f4a86b6de96bb5.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/0190d2deb15738470c09fbb0022f6c6fe6cb58f7c33d9d13dfbbfe22fcb76dc3.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/bd87a2902ecf442728627744c7348ff11e9929416e2e7c2e5f8e504d3381e109.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/417892c0f6ec18fd00ccc145cb63dd3490fb9a7e302d611509d5ef51efe8ae0a.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/15bdae13a813d49914bd6232d15676bf34fbe2ad5db1b67c2edf06963b66a3f4.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>![Image](images/9bf61c5982c8e8a52d71e09eaca84b8bfc71de042c961a97ad19a88e6b9796de.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/b24862dd8f1904dd5e991ec5210bd3ebfa655e088a4972deff2eec02be120e63.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/7ed23270cb300022aee2d0834a6b1b379fcb74a6c681f8fa06bea6940566b6e3.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/7f8db91db3dc8b0b89c8ce145f2f0b5f284aa8f9c17bda014acb79bf02fdcf58.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/cafcfeefcbf936fabd0999c3296275f3d859e0fdf2044ddced0a2e7aa976e568.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>![Image](images/9e56e7dd5167bd87da4f49fe605abeadb8fe64a50f3c23a904724aae9be4df70.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/d8418db4588097ee188fcadfedb5dccd6f11e3b473dfadb9a5a5db7f9bde5cbc.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/e92c366f0df5035975bcf8ad8d0bae993aebfec6a24b7977cae9569a78fe789d.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/eb28081edb363a9f2af179d9e4d3ca39c1b7e8f9d83a4b47864fb7921854915b.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/9a5cdbe00803f859294639b3b23c3ee799233f2a3154587a3d55ae8c81f7ca35.jpg)</td></tr></table>

<div style="text-align: center;">Fig. 11. We show qualitative results for the proposed method. Note that the different colors of the depth image are due to different absolute depth values.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Depth\nSegmentation</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/79976a1ee5724818ea3e97c292814d3d56a06f733e65fa77e14fe944706221ad.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/03c722d84528fd607c57b0c92703dbfb5004d72a8f95399a1e705d71d0027c22.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/c902db193990e0af42e45966285cccec55c1fd706e53f33152bf0de64f459c43.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/21a93f3a8ba236469e5fcefebcb746b9c992689cf7fa9559d587cb9561e0c9ca.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/9b1003f445e14c01047ff07d3f712896ff54a8936241a1fbde797a8ac8fef04f.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>![Image](images/bb84ac63045d5209f95e42d86e87322a9ece0b94ad14b79b29734fc5caec0711.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/46972e97fbd8326f9eb941e7990663ac27a7fb6342028296d114f7434b78ecba.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/32b077e8dadc82600e92eed6eac05e8aa22ed18f898348c280425f44fc025e16.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/306346bd812615d960721077462e5b221544fcaf6760436a81cae26a24689626.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/dd63f2e406f044eabfdcf8f8e47723559677a45962dcc565fec41e7c66257a50.jpg)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Corresp.</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/f0ea36de5ce94cd830c035a8fee6017252f440dc9cd00d8388ed1ae85b38f4e8.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/c4aa35cc89a1d91dfd4af1ef8dc3c6fd7d45f2fc158565f245edf27a6b082a7f.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/9b462a3274975543b63b1e8c2006425c9a009ff72a115cd7edf70e49e0fe8e11.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/8e4bfd239635b90221497153ef23216f1a9ae36f2f3f4276509ecfef01767d94.jpg)</td><td style='text-align: center; word-wrap: break-word;'>![Image](images/8eeca14153b17286153d06094fb5550c92a7948bd00e08dc19cdc6e966c3c338.jpg)</td></tr></table>

<div style="text-align: center;">Fig. 12. Given a depth image (top) as input, our CoRN produces accurate segmentation (middle) and dense correspondences (bottom).</div>

---

![Image](images/da0262e0724b26a9643b91105ec6237f16fdcd468d272a8edb745d70d25fd13a.jpg)

<div style="text-align: center;">Fig. 13. Erroneous CoRN predictions, e.g. wrongly classified fingers, negatively impact the final tracking result (see Fig. 3 for the reference coloring).</div>

寻找对应点的工作可以通过比最近邻搜索更先进的方法来完成，也可以在对应点预测器中加入置信度估计。虽然我们的数据生成方案在训练CoRN模型时已被证明行之有效，但部分生成的图像可能并不完全逼真。这是由于LeapMotion追踪器的局限性，以及两块真实手部之间必须保持一定距离所致。在未来的研究中，我们提出的方法可以驱动模拟过程，并通过自举法迭代优化数据。虽然我们的方法是唯一能够适应用户特定手部形状的实时方法，但所得到的手部形状细节不如高质量的激光扫描结果。一方面是因为MANO模型（Romero等人于2017年提出）每个手仅有778个顶点，细节较为粗糙；另一方面是因为深度图像的分辨率通常低于激光扫描图像。未来研究的一个相关方向是处理两只手共同操纵物体的情况。其中的特殊挑战在于不仅要区分物体与手部，还要应对因物体造成的更严重遮挡问题。另一个留待未来解决的问题是将物理模拟步骤直接集成到追踪器中，以便在运行时能即时考虑细微的碰撞情况。目前，由于我们采用的碰撞代理机制虽计算效率高但较为粗糙，仍可能出现轻微的物体相交现象。

## 8 结论

由于基于高斯-牛顿优化器的能量最小化过程在GPU上得到了高效实现，该方法具备实时处理能力。实验表明，我们的方法所取得的结果在定性上与Tzionas等人提出的双手跟踪方案[^2016]相似，定量指标也相近，同时速度却快了两个数量级。此外，我们还证实，在定性方面，我们的方法能够处理比近期最先进的手部追踪器更复杂的手与手之间的交互。

我们提出了一种用于实时重建两只交互手部姿态与形状的方法。该方法与以往的双手追踪方法相比，主要优势在于它融合了多项优异特性：无需标记点、仅依赖单台深度相机、能够处理手部碰撞、能在普通相机上实现实时运行，还能适配用户特定的手部形状。这一成果是通过将用于预测对应关系的神经网络与旨在优化手部姿态及形状参数的能量最小化框架相结合而实现的。为了训练该对应关系回归网络，我们利用基于物理的仿真技术来生成包含两只手部之间物理合理交互情况的（带标注的）合成训练数据。

## 致谢

作者谨向所有参与现场录制的人士表示感谢。本研究得到了ERC Consolidator Grants项目4DRepLy（770784）和TouchDesign（772738）的支持。Dan Casas的研究得到了Marie Curie Individual Fellowship（707326）的资助。

## 参考文献

Riza Alp Güler、Natalia Neverova和Iasonas Kokkinos。2018年。DensePose：野外环境下密集人体姿态估计。载于IEEE计算机视觉与模式识别会议（CVPR）。

Riza Alp Guler、George Trigeorgis、Epameinondas Antonakos、Patrick Snape、Stefanos Zafeiriou和Iasonas Kokkinos。2017年。DenseReg：野外环境下的全卷积密集形状回归。载于IEEE计算机视觉与模式识别会议（CVPR）。

Vijay Badrinarayanan、Alex Kendall和Roberto Cipolla。2015年。Segnet：一种用于图像分割的深度卷积编解码架构。arXiv预印本arXiv:1511.00561（2015年）。

Seungryul Baek、Kwang In Kim和Tae-Kyun Kim。2018年。基于深度信息的手部姿态估计中的增强型骨架空间迁移。载于IEEE计算机视觉与模式识别会议（CVPR）。

Luca Ballan、Aparna Taneja、Juergen Gall、Luc Van Gool和Marc Pollefeys。2012年。利用判别性显著点捕捉动作中手部的运动轨迹。载于欧洲计算机视觉会议（ECCV）。

Michael M Bronstein、Alexander M Bronstein、Ron Kimmel和Irad Yavneh。2006年。多网格多维缩放。数值线性代数应用刊第13卷第2-3期（2006年），第149–171页。

Yujun Cai、Liuhao Ge、Jianfei Cai和Junsong Yuan。2018年。基于单目RGB图像的弱监督3D手部姿态估计。载于欧洲计算机视觉会议。Springer, Cham出版社，第1–17页。

Chiho Choi、Ayan Sinha、Joon Hee Choi、Sujin Jang和Karthik Ramani。2015年。一种用于实时手部姿态估计的协同过滤方法。载于IEEE国际计算机视觉会议论文集。第2336–2344页。

Liuhao Ge、Yujun Cai、Junwu Weng和Junsong Yuan。2018年。Hand PointNet：基于点集的3D手部姿态估计。载于IEEE计算机视觉与模式识别会议（CVPR）。

Shangchen Han、Beibei Liu、Robert Wang、Yuting Ye、Christopher D Twigg和Kenrick Kin。2018年。基于深度标签的在线光学标记点手部追踪。ACM图形学交易刊（TOG）第37卷第4期（2018年），第166页。

Markus Höll、Markus Oberweger、Clemens Arth和Vincent Lepetit。2018年。虚拟现实中实现逼真手物交互的高效物理基础实现方法。载于2018年IEEE虚拟现实与3D用户界面会议。

Andrew G Howard、Menglong Zhu、Bo Chen、Dmitry Kalenichenko、Weijun Wang、Tobias Weyand、Marco Andreetto和Hartwig Adam。2017年。MobileNet：用于移动视觉应用的高效卷积神经网络。arXiv:1704.04861（2017年）。

Chun-Hao Huang、Benjamin Allain、Jean-Sébastien Franco、Nassir Navab、Slobodan Ilic和Edmond Boyer。2016年。基于检测的体积三维跟踪。收录于IEEE计算机视觉与模式识别会议论文集。第3862–3870页。

Sameh Khamis、Jonathan Taylor、Jamie Shotton、Cem Keskin、Shahram Izadi和Andrew Fitzgibbon。2015年。从深度图像中学习高效的手部形状变化模型。收录于IEEE计算机视觉与模式识别会议论文集。第2540–2548页。

David Kim、Otmar Hilliges、Shahram Izadi、Alex D Butler、Jiawen Chen、Iason Oikonomidis和Patrick Olivier。2012年。Digits：使用腕戴式无手套传感器在任何地方实现自由手绘3D交互。收录于第25届ACM用户界面软件与技术年会论文集。ACM出版社，第167–176页。

Diederik P Kingma和Jimmy Ba。2014年。Adam：一种随机优化方法。arXiv预印本arXiv:1412.6980（2014年）。

Oscar Koller、O Zargaran、Hermann Ney和Richard Bowden。2016年。Deep Sign：用于连续手语识别的混合CNN-HMM模型。收录于英国机器视觉会议论文集2016。

---

英国机器视觉会议2016。

Nikolaos Kyriazis和Antonis Argyros。2014年。多个相互作用物体的可扩展三维跟踪。收录于IEEE计算机视觉与模式识别会议（CVPR）论文集。第3430–3437页。

LeapMotion。2016年。<https://developer.leapmotion.com/orion>。

Stan Melax、Leonid Keselman和Sterling Orsten。2013年。基于动力学的3D手部骨骼跟踪。收录于2013年图形界面会议论文集。加拿大信息处理协会，第63–70页。

Franziska Mueller、Florian Bernard、Oleksandr Sotnychenko、Dushyant Mehta、Srinath Sridhar、Dan Casas和Christian Theobalt。2018年。GANerated Hands：基于单目RGB图像的实时3D手部跟踪。收录于计算机视觉与模式识别会议（CVPR）论文集。第11页。<http://handtracker.mpi-inf.mpg.de/projects/GANeratedHands/>

Franziska Mueller、Dushyant Mehta、Oleksandr Sotnychenko、Srinath Sridhar、Dan Casas和Christian Theobalt。2017年。来自以自我为中心的RGB-D传感器的遮挡环境下实时手部跟踪。收录于国际计算机视觉会议（ICCV）论文集。

Alejandro Newell、Kaiyu Yang和Jia Deng。2016年。用于人体姿态估计的堆叠沙漏网络。收录于欧洲计算机视觉会议论文集。Springer出版社，第483–499页。

Markus Oberweger、Paul Wohlhart和Vincent Lepetit。2015年。训练用于手部姿态估计的反馈循环。收录于IEEE国际计算机视觉会议（ICCV）论文集。第3316–3324页。

Iason Oikonomidis、Nikolaos Kyriazis和Antonis A Argyros。2011a。使用Kinect基于模型的高效3D手部关节跟踪。收录于BMVC会议论文集，第1卷。第3页。

Iason Oikonomidis、Nikolaos Kyriazis和Antonis A Argyros。2011b。通过建模遮挡和物理约束，实现对与物体交互的手部的全自由度跟踪。收录于IEEE国际计算机视觉会议（ICCV）论文集。IEEE出版社，第2088–2095页。

Iasonas Oikonomidis、Nikolaos Kyriazis和Antonis A Argyros。2012年。跟踪两只强烈相互作用的手部的关节运动。收录于IEEE计算机视觉与模式识别会议（CVPR）论文集。IEEE出版社，第1862–1869页。

陈倩、孙晓、魏一辰、唐潇和孙健。2014年。基于深度图像的实时鲁棒手部跟踪。载于IEEE计算机视觉与模式识别会议（CVPR）。第1106–1113页。

埃多阿尔多·雷梅利、安娜斯塔西娅·特卡奇、安德烈亚·塔利亚萨基和马克·保利。2017年。通过局部各向异性缩放进行低维度校准，以实现鲁棒的手部模型个性化。载于IEEE国际计算机视觉会议（ICCV）。

格雷戈里·罗热兹、玛丽亚姆·卡德米、JS·苏潘契克三世、何塞·玛丽亚·马丁内斯·蒙蒂尔和德瓦·拉马南。2014年。在以自我为中心的RGB-D图像中检测三维手部姿态。载于欧洲计算机视觉会议研讨会。施普林格出版社，第356–371页。

哈维尔·罗梅罗、迪米特里奥斯·齐奥纳斯和迈克尔·J·布莱克。2017年。具身之手：手部与身体的联合建模与捕捉。ACM图形学汇刊，第36卷第6期，文章编号245（2017年11月），共17页。<https://doi.org/10.1145/3130800.3130883>

奥拉夫·罗内贝格尔、菲利普·菲舍尔和托马斯·布罗克斯。2015年。U-Net：用于生物医学图像分割的卷积网络。载于国际医学影像计算与计算机辅助干预会议。施普林格出版社，第234–241页。

托比·夏普、杰姆·凯斯金、邓肯·罗伯逊、乔纳森·泰勒、杰米·肖顿、大卫·金、克里斯托夫·雷曼、伊多·莱希特、阿隆·维尼科夫、魏一辰等。2015年。精准、鲁棒且灵活的实时手部跟踪。载于ACM人机交互系统会议（CHI）论文集。ACM出版社，第3633–3642页。

托马斯·西蒙、韩秉旭、伊恩·马修斯和亚瑟·谢赫。2017年。利用多视角自举法在单张图像中检测手部关键点。载于IEEE计算机视觉与模式识别会议（CVPR）。

穆罕默德·索利曼、弗朗西斯卡·穆勒、莉娜·黑格曼、琼·索尔·罗、克里斯蒂安·特博尔特和尤尔根·施泰姆勒。2018年。FingerInput：捕捉富有表现力的单手拇指到手指微手势。载于2018年ACM交互式表面与空间国际会议论文集。ACM出版社，第177–187页。

阿德里安·斯珀尔、宋杰、塞翁沃克·帕克和奥特马尔·希利格斯。2018年。跨模态深度变分手部姿态估计。载于IEEE计算机视觉与模式识别会议（CVPR）。

斯里纳斯·斯里达尔、弗朗西斯卡·穆勒、安蒂·奥拉斯维塔和克里斯蒂安·特博尔特。2015年。利用检测引导的优化实现快速且鲁棒的手部跟踪。载于IEEE计算机视觉与模式识别会议（CVPR）。第9页。<http://handtracker.mpi-inf.mpg.de/projects/FastHandTracker/>

斯里纳斯·斯里达尔、弗朗西斯卡·穆勒、迈克尔·佐尔霍费尔、丹·卡萨斯、安蒂·奥拉斯维塔和克里斯蒂安·特博尔特。2016年。从RGB-D输入实时联合跟踪操作物体的手部动作。载于欧洲计算机视觉会议（ECCV）。第17页。<http://handtracker.mpi-inf.mpg.de/projects/RealtimeHO/>

斯里纳斯·斯里达尔、安蒂·奥拉斯维塔和克里斯蒂安·特博尔特。2013年。利用RGB和深度数据实现交互式无标记关节手部运动跟踪。载于IEEE计算机视觉与模式识别会议（CVPR）。第2456–2463页。

斯里纳斯·斯里达尔、赫尔格·罗丁、汉斯-彼得·塞德尔、安蒂·奥拉斯维塔和克里斯蒂安·特博尔特。2014年。利用各向异性高斯函数之和模型实现实时手部跟踪。载于国际3D视觉会议（3DV）论文集。

詹姆斯·史蒂文·苏潘契克、格雷戈里·罗热兹、杨毅、杰米·肖顿和德瓦·拉马南。2018年。基于深度的手部姿态估计：方法、数据与挑战。国际计算机视觉杂志，第126卷第11期（2018年11月1日），第1180–1198页。<https://doi.org/10.1007/s11263-018-1081-7>

Andrea Tagliasacchi、Matthias Schroeder、Anastasia Tkach、Sofien Bouaziz、Mario Botsch和Mark Pauly。2015年。用于实时手部追踪的鲁棒关节ICP算法。《计算机图形学论坛》（几何处理研讨会）第34卷第5期（2015年）。

David Joseph Tan、Thomas Cashman、Jonathan Taylor、Andrew Fitzgibbon、Daniel Tarlow、Sameh Khamis、Shahram Izadi和Jamie Shotton。2016年。贴合如手套：快速且可靠的手部形状个性化定制。载于IEEE计算机视觉与模式识别会议（CVPR）。第5610–5619页。

Danhang Tang、Hyung Jin Chang、Alykhan Tejani和Tae-Kyun Kim。2014年。潜在回归森林：3D关节手部姿态的结构化估计。载于IEEE计算机视觉与模式识别会议论文集。第3786–3793页。

Danhang Tang、Jonathan Taylor、Pushmeet Kohli、Cem Keskin、Tae-Kyun Kim和Jamie Shotton。2015年。打开黑盒：用于估计人手姿态的分层采样优化方法。载于ICCV会议论文集。

Jonathan Taylor、Lucas Bordeaux、Thomas Cashman、Bob Corish、Cem Keskin、Toby Sharp、Eduardo Soto、David Sweeney、Julien Valentin、Benjamin Luff等。2016年。通过姿态与对应点的联合连续优化实现高效精准的交互式手部追踪。《ACM图形学交易》（TOG）第35卷第4期（2016年），第143页。

Jonathan Taylor、Jamie Shotton、Toby Sharp和Andrew Fitzgibbon。2012年。维特里安流形：用于单次人体姿态估计的密集对应关系推断。载于2012年IEEE计算机视觉与模式识别会议（CVPR）。IEEE出版社，第103–110页。

Jonathan Taylor、Vladimir Tankovich、Danhang Tang、Cem Keskin、David Kim、Philip Davidson、Adarsh Kowdle和Shahram Izadi。2017年。用于超快速手部交互追踪的关节距离场。《ACM图形学交易》第36卷第6期，文章编号244（2017年11月），共12页。 <https://doi.org/10.1145/3130800.3130853>

Anastasia Tkach、Mark Pauly和Andrea Tagliasacchi。2016年。用于实时手部建模与追踪的球面网格。《ACM图形学交易》（TOG）第35卷第6期（2016年），第222页。

Anastasia Tkach、Andrea Tagliasacchi、Edoardo Remelli、Mark Pauly和Andrew Fitzgibbon。2017年。用于手部追踪的在线生成模型个性化定制。《ACM图形学交易》第36卷第6期，文章编号243（2017年11月），共11页。 <https://doi.org/10.1145/3130800.3130830>

Jonathan Tompson、Murphy Stein、Yann Lecun和Ken Perlin。2014年。基于卷积网络的实时连续人手姿态恢复。《ACM图形学交易》第33卷（2014年8月）。

Dimitrios Tzionas、Luca Ballan、Abhilash Srikantha、Pablo Aponte、Marc Pollefeys和Juergen Gall。2016年。利用判别性显著点与物理仿真捕捉动作中的手部。《国际计算机视觉杂志》（IJCV）（2016年）。 <http://files.is.tue.mpg.de/dtzionas/Hand-Object-Capture>

Mickeal Verschoor、Daniel Lobo和Miguel A Otaduy。2018年。用于平滑且稳健的自然交互的软手仿真。载于IEEE虚拟现实与3D用户界面会议（VR）。IEEE出版社，第183–190页。

Chengde Wan、Thomas Probst、Luc Van Gool和Angela Yao。2017年。Crossing Nets：结合GAN与VAE并利用共享隐空间进行手部姿态估计。载于IEEE计算机视觉与模式识别会议论文集。第680–689页。

Chengde Wan、Angela Yao和Luc Van Gool。2016年。基于局部表面法线的手部姿态估计。载于欧洲计算机视觉会议。Springer出版社，第554–569页。

韦凌宇、黄启星、杜伊古·塞兰、艾蒂安·沃加和李浩。2016年。基于卷积网络的密集人体对应关系研究。载于计算机视觉与模式识别会议（CVPR）。

叶奇和金泰均。2018年。基于分层混合密度网络的遮挡感知手部姿态估计。载于欧洲计算机视觉会议（ECCV）。

袁善欣、吉列尔莫·加西亚-埃尔南多、比约恩·斯滕格、文景植、张柱永、李炅模、帕夫洛·莫尔恰诺夫、扬·考茨、西纳·霍纳里、葛柳浩、袁军松、陈星豪、王贵金、杨帆、秋山凯、吴洋、万庆福、梅萨姆·马达迪、塞尔吉奥·埃斯卡拉拉、李世乐、李东辉、伊阿森·奥伊科诺米迪斯、安东尼斯·阿尔吉罗斯和金泰均。2018年。基于深度的3D手部姿态估计：从现有成果到未来目标。载于IEEE计算机视觉与模式识别会议（CVPR）。

张凯、左旺孟、陈云金、孟德宇和张磊。2017年。超越高斯去噪器：用于图像去噪的深度CNN残差学习。《IEEE图像处理汇刊》第26卷第7期，第3142–3155页。

赵文平、张建杰、闵建元和柴金祥。2013年。面向人类抓握的鲁棒实时物理运动控制。《ACM图形学汇刊》第32卷第6期，文章编号207（2013年11月），共12页。 <https://doi.org/10.1145/2508363.2508412>

克里斯蒂安·齐默尔曼和托马斯·布罗克斯。2017年。从单张RGB图像估计3D手部姿态的学习。载于国际计算机视觉会议（ICCV）。

---

## 神经网络训练细节

我们的所有网络均在TensorFlow框架下使用Adam [Kingma和Ba 2014]优化器进行训练，参数采用默认设置。训练迭代次数为45万次，批量大小为8。合成图像与真实图像的采样概率各为50%。每100次迭代的训练时间约为20秒，因此在Nvidia Tesla V100 GPU上，整个训练过程耗时25小时。

我们将深度值换算为米，并减去所有有效深度像素的平均值。此外，我们对训练数据应用以下图像增强操作，所有增强参数均来自均匀随机分布：

• 旋转增强，旋转角度为$\in [-90, 90]$度，

• 图像平面内的平移增强，偏移量∈$[-0.25, 0.25]$·图像尺寸，以及

- 缩放增强，宽高比可在[1.0, 2.0]范围内变化。

需要注意的是，所有这些增强操作均在训练过程中实时应用，即每个训练样本所采用的增强方式在每个训练轮次中都会不同，从而有效扩大了训练集的规模。除了这些实时增强操作外，我们还会对所有图像进行镜像处理（并对标注信息执行相应操作），不过这一步骤是离线进行的。

## B GPU实现细节

在Gauss-Newton优化步骤中，我们利用GPU上的CUDA内核来计算雅可比矩阵的非零元素$J \in \mathbb{R}^{8871 \times 122}$以及残差$f \in \mathbb{R}^{8871}$。我们确保同一块中的所有线程都为同一个能量项计算导数。随后，我们利用共享内存中的高效实现方式来计算矩阵-矩阵乘积和矩阵-向量乘积$J^\top J$与$J^\top f$。为了求解线性系统$J^\top J \cdot \delta = J^\top f$，我们将$J^\top J \in \mathbb{R}^{122 \times 122}$和$J^\top f \in \mathbb{R}^{122}$复制到CPU上，并借助Eigen库中的预处理共轭梯度（PCG）求解器来获得参数更新值$\delta$。

## C碰撞能量

三维高斯碰撞代理模型与手部模型相耦合，使得均值$\mu$取决于姿态和形状参数$\beta, \theta$，而标准差$\sigma$仅依赖于形状$\beta$。正如[Sridhar等人，2014年]所描述的那样，两个维度为d的各向同性高斯分布$G_p(x; \mu_p, \sigma_p)$和$G_q(x; \mu_q, \sigma_q)$的乘积积分表达式如下：

 $$ \int_{\mathbb{R}^{3}}G_{p}(x)\cdot G_{q}(x)dx=\frac{(2\pi)^{\frac{3}{2}}(\sigma_{p}^{2}\sigma_{q}^{2})^{\frac{3}{2}}}{(\sigma_{p}^{2}+\sigma_{q}^{2})^{\frac{3}{2}}}\exp\Biggl(-\frac{||\boldsymbol{\mu}_{p}-\boldsymbol{\mu}_{q}||_{2}^{2}}{2(\sigma_{p}^{2}+\sigma_{q}^{2})}\Biggr) $$

这一项关于$\mu$和$\sigma$是可微的。此外，导数$\frac{\partial \mu}{\partial \beta}$、$\frac{\partial \mu}{\partial \theta}$、$\frac{\partial \sigma}{\partial \beta}$可以从手部模型中推导出来。需要注意的是，我们在优化过程中并不使用导数$\frac{\partial E_{\mathrm{coll}}(\beta, \theta)}{\partial \beta}$，因为该导数会导致手部模型在相互作用时收缩。相反，形状$\beta$是通过其他所有能量项来优化的，而高斯参数则会在每次优化迭代中根据$\beta$进行更新。
