
# 精准、稳健且灵活的实时手部追踪

Toby Sharp $^{\dagger}$ Cem Keskin $^{\dagger}$ Duncan Robertson $^{\dagger}$ Jonathan Taylor $^{\dagger}$ Jamie Shotton $^{\dagger}$ David Kim Christoph Rhemann Ido Leichter Alon Vinnikov Yichen Wei Daniel Freedman Pushmeet Kohli Eyal Krupka Andrew Fitzgibbon $^{\star}$ Shahram Izadi $^{\star}$

微软研究院

![Image](images/fe0c8b916c1235c338af6234b969407448ab1199b882b6e0cfe23c57ee946568.jpg)

<div style="text-align: center;">Figure 1: We present a new system for tracking the detailed motion of a user's hand using only a commodity depth camera. Our system can accurately reconstruct the complex articulated pose of the hand, whilst being robust to tracking failure, and supporting flexible setups such as tracking at large distances and over-the-shoulder camera placement.</div>

## 摘要

我们提出了一种基于单台深度相机的全新实时手部追踪系统。该系统能够精准重建不同受试者的复杂手部姿态，同时具备稳健的追踪能力，可快速从临时故障中恢复。最独特的是，我们的追踪器灵活性极高，大幅超越了以往仅适用于正面近距离场景的方案。这种灵活性为人机交互开辟了新可能：例如可在几十厘米到数米的距离内进行追踪（用于远程控制电视）、支持移动深度相机下的追踪（适用于移动场景），以及任意相机摆放方式（适用于VR头显）。这些特性是通过全新的处理流程实现的：先采用多层判别式重新初始化策略进行逐帧姿态估计，再进行生成式模型拟合阶段。文中提供了详尽的技术细节以及详细的定性与定量分析。

## 引言

人类的手部极其灵巧，能够实现打字、手语等高带宽的信息传递。但迄今为止，基于人类手部的计算机界面在实时精准可靠地追踪用户手部的精细关节运动方面仍存在局限。我们认为，若能克服这些局限，手部追踪将成为沉浸式虚拟现实、辅助技术、机器人、家庭自动化和游戏等诸多应用的基础交互技术。

然而，手部追踪极具挑战性：由于手部拥有多个自由度，可形成各种复杂的姿态，且不同人的手部形状和大小也各不相同。尽管已取得一些显著成果（如 [^7] [^32]），但需要在用户手上佩戴手套或标记物的解决方案往往既繁琐又不准确。因此，包括本项研究在内的近期大量工作都聚焦于基于相机的系统。不过，即便是现代消费级深度相机也存在诸多难题：手指在视觉上难以区分，且常被手的其他部位遮挡。即便是目前最先进的学术和商业系统，有时也会因快速运动等原因出现追踪不准确或丢失的情况。许多方案为应对这些问题，会严格限制追踪设置，例如仅支持近距离、正面场景，或利用多台相机来解决遮挡问题。

在本文中，我们提出了一种旨在放宽这些限制的系统。我们追求高精度，即最终重建结果在各类人体手部姿态和运动下都能保持正确性和保真度。我们的系统稳健性极强，能快速从追踪的瞬时故障中恢复。但或许最独特的是，我们的系统灵活性极高：它仅需一台普通的深度相机；无需对用户手部进行额外设备加装；手部及手指可相对于传感器指向任意方向；在数米距离下也能正常工作；且相机摆放几乎不受限制，也不必固定不动（见图1）。

我们的系统结合了逐帧重新初始化器与模型拟合器：前者能确保从追踪丢失状态中稳健恢复，后者则利用时间信息来生成平滑且精确的结果。我们提出了一种全新的重新初始化器，它借助机器学习高效预测手部姿态的层次化分布。对于模型拟合器，我们设计了一种“理想”的目标函数以及随机优化算法，用以最小化精细的3D手部模型与观测到的深度图像之间的重建误差。该流程能在消费级硬件上实时运行。我们提供了详尽的技术细节以便于复现，同时针对多个测试数据集进行了详细的定性与定量分析及对比。我们展示了该追踪器的灵活性如何能开启超越以往的新交互可能性，包括：在几十厘米到数米的距离内进行追踪（用于远距离操控电视等显示器）；利用移动式深度相机进行追踪（适用于移动场景）。

---

## 空中手势与交互

以及任意相机摆放位置，包括第一人称视角（可为头戴式VR系统提供追踪功能）。

## 相关工作

基于上述目标，我们避免给用户手部佩戴数据手套[^7]、彩色手套[^32]、可穿戴摄像头[^13]或标记点[^38]，因为这些都可能成为自然交互的障碍。下文我们将重点讨论基于视觉的关节手部位移追踪技术。判别性方法直接对图像数据进行处理（例如提取图像特征并使用分类或回归技术），从而建立与预定义手部姿态集合的映射关系。这类方法通常无需依赖时间信息，因此可作为稳健的重新初始化器[^21]。生成式（或基于模型）方法则利用显式的手部模型来还原姿态。混合方法（如[^3]、[^23]以及我们的方法）结合了判别性与生成式方法的优势，以提升逐帧模型拟合的稳健性，并实现逐帧重新初始化。

RGB输入：早期研究依赖单目RGB相机，这使得相关任务极具挑战性（相关综述可参见[^8]）。判别性方法[^2]、[^34]使用的是包含有限手部姿态的小型数据库，因此精度受限。生成式方法采用的模型自由度受限，基于2D、2/2D或逆向运动学（IK）构建简化的手部表示（如[^24]、[^35]），同样导致精度有限。Bray等人[^4]使用了更精细的3D手部模型；de La Gorce等人[^6]在追踪过程中会自动对手部模型中的骨骼进行缩放处理。这些系统大多采用离线追踪方式，处理已录制的序列数据。早期采用简化可变形手部模型实现在线（10Hz）追踪的例子是[^10]。与其它基于RGB的方法类似，该方法在处理复杂姿态、背景变化及遮挡情况时表现不佳，因而通用性有限。

多摄像头输入：近期也有关于利用多摄像头设备对手部进行高质量、离线（非交互式）动作捕捉的研究。Ballan等人[^3]取得了出色的效果，能够将详细的扫描网格模型与复杂的双手及手物交互场景精准匹配。该流程每帧处理时间约为30秒。Zhao等人[^38]则借助深度相机、动作捕捉设备以及用户手部佩戴的标记点，同样在离线状态下捕捉复杂的单手姿态。Wang等人[^33]通过物理引擎最小化轮廓、颜色和边缘相关的误差，实现了复杂的手物交互模拟，不过每帧处理时间需要数分钟。Sridhar等人[^23]采用由五台RGB相机和一台飞行时间（ToF）传感器组成的设备，利用针对个人校准的模型以$\sim$10Hz的频率追踪用户手部动作。本文后续部分会对上述系统进行比较。这些系统虽能产出精度极高的结果，但难以应用于交互式消费场景。

深度输入：随着Kinect等消费级深度相机的问世，计算机视觉任务变得更加容易实现，例如其对光照变化的鲁棒性以及对前景和背景外观的不敏感性。结合GPU的并行处理能力，实时手部追踪的可行性大大提高。然而，要实现既准确、鲁棒又灵活的交互式精细手部追踪，仍是一个尚未解决的难题。

Oikonomidis等人[^17]提出了一种基于粒子群优化（PSO）的生成式方法，利用深度传感器实现全自由度手部追踪（频率达15Hz）。该方法从已知的初始姿态开始追踪手部，且无法从追踪丢失的状态中恢复。Qian等人[^20]在[^17]的基础上增加了“引导式”PSO步骤以及重新初始化机制，不过要求指尖必须清晰可见。Melax等人[^16]采用由物理求解器驱动的生成式方法来估算3D姿态。但这些系统仅能在近距离范围内工作，且基于简单的多面体模型；相比之下，我们的方法可在较宽的距离范围内应用，还能利用完整的3D手部网格模型来更好地适配观测数据。

Keskin等人[^12]提出了一种判别式方法，利用多层随机森林预测手部各部分信息，进而拟合简单的骨骼模型。该系统在消费级CPU硬件上能以30Hz的频率运行，但在遮挡情况下可能会出现追踪失败的情况。Tang等人[^27] [^26]对该方法进行了扩展，能够在25Hz的频率下处理更复杂的姿态。虽然相比[^12]而言对遮挡的鲁棒性更强，但这两种方法均未采用显式的模型拟合步骤，因此得出的结果可能在运动学上并不合理（例如关节角度或手指长度不符合常理）。Xu等人[^36]先估算手部的全局方向和位置，再回归出21个自由度的候选手部姿态，最后通过最小化重建误差来选择正确的姿态。该系统运行频率为12Hz，但追踪中断可能会导致姿态估计结果出现抖动。Tompson等人[^30]利用深度神经网络预测特征点位置，再通过逆向运动学推断骨骼模型，取得了出色的手部追踪效果。尽管能实现实时追踪，但该方法仅适用于近距离场景。Wang等人[^32] [^31]则采用了一种判别式最近邻查找方案，利用庞大的手部姿态数据库并结合逆向运动学进行姿态优化。不过最近邻方法高度依赖姿态数据库，在应对未见过的姿态时往往难以泛化。

除了本研究之外，也存在着商业化的手部追踪系统。3Gear Systems [^1]（基于[^32]和[^31]的前期研究成果）以及Leap Motion的第二代软件 [^15]，均能够追踪包括双手交互在内的多种复杂姿势。我们在结果部分会对这两款系统进行比较。

## 系统概述与贡献

我们遵循近期在手部与身体追踪领域的研究方法 [^3] [^17] [^28]，采用了一种基于“合成分析”的思路 [^37]。我们利用机器学习与时间传播技术，为新的输入帧生成大量候选手部姿态假设。每个姿态假设都包含一个参数向量，用于描述手部的全局位置与朝向，以及手部骨骼中各关节之间的角度。随后，利用标准图形技术将每个假设渲染为图像，再将其与原始输入图像进行比对评分。最终输出得分最高的假设。

本文的主要贡献之一便是让这种方法具备实用性——即如引言中所述，实现高精度、鲁棒性强且灵活性高的追踪效果。为此，我们做出了三项技术贡献。首先，我们展示了如何利用简单的“黄金能量函数”来准确区分优质与劣质假设。*其次，我们提出了一种判别性方法（“重新初始化器”），该方法能够预测手部姿态的分布情况。借此我们可以快速从该分布中采样出多样化的姿态假设，其中一些很可能接近真实答案。第三，我们证明了详细的关节化手部网格模型的渲染过程以及

---

![Image](images/13fbceedf0467a56ebddb27b28c3d41b1459e722c3d4595f04f6128c13abfaae.jpg)

<div style="text-align: center;">Figure 2: Algorithm pipeline.</div>

黄金能量计算可以在GPU上实时完成。这超越了现有依赖球体、圆柱体等近似手部模型的方法。

## 处理流程

每张输入的深度图像都会经过包含三个步骤的处理流程（见图2）：

1. 手部感兴趣区域提取：确定手部周围的方形感兴趣区域，并将手部从背景中分割出来。

2. 重新初始化：针对该感兴趣区域应用分层判别模型，推断手部姿态的层次化分布。

3. 模型拟合：利用基于粒子群优化算法的随机优化器，对一组手部姿态假设（“粒子”）进行优化。

我们将在下文详细介绍这些组件，但首先会先介绍一些预备知识。

## 预备知识

## 三维手部模型

我们将人手表示为一个三维模型，该模型由精细的三角形网格和顶点构成。M个网格顶点的三维坐标被表示为$3 \times M$矩阵$\mathbf{V}$中的列，该矩阵定义了手部在“基础”（静止）姿态下的形状。

为了能够用于姿态估计，我们必须能在模型中准确描述手腕、手指和拇指的关节。为此我们采用了标准的“运动学”骨架，它规定了关节的层级关系以及它们之间的变换。我们用向量 $\theta$ 来表示手的姿态，具体包括：全局缩放（3个参数）、全局平移（3个参数）、全局朝向（3个参数），以及每个关节处的相对缩放（1个参数）和旋转（3个参数）（手指和拇指各有3个关节，加上手腕）。全局旋转用归一化的四元数来表示，这样就能处理任意全局旋转情况，而无需担心出现“万向节锁”问题。关节旋转则用围绕局部坐标轴的“欧拉角”来表示，这些坐标轴分别对应“屈曲”、“外展”和“扭转”。

给定姿态向量 $\theta$ 后，可通过函数 $\Phi(\theta; \mathbf{V})$ 计算出姿态网格的顶点，该函数会返回一个 $3 \times M$ 矩阵。该矩阵的各列与基础姿态模型 $\mathbf{V}$ 中的列相对应，但呈现的是由 $\theta$ 指定的姿态。对于函数 $\Phi$，我们采用了一种名为线性混合蒙皮（LBS）的标准技术。本文中LBS的具体细节并不重要，如需了解更多详情可参考 [^29]。

## 输入深度图像

我们的算法基于单台深度相机拍摄的图像运行。该图像被表示为一个二维的深度值数组。

 $$ Z=\{z_{i j}\mid0\leq i<H,0\leq j<W\} $$

其中 $z_{ij}$ 表示存储在像素位置 $(i, j)$ 处的深度值（单位为米），W和H分别指深度图的宽度和高度。我们假设深度图已经过预处理，将无效像素（例如反射率低的像素或未被照明器照射到的阴影区域像素）设置为较大的背景深度值 $z_{bg}$。

## 评分函数：“黄金能量”

所有分析-合成类算法的一个基本假设是：只要计算资源充足，就能通过渲染手的所有可能姿态，选出渲染结果最匹配输入图像的姿态（同时需合理考虑各种姿态的先验概率），从而得到最优解。要使这一假设成立，有几个关键细节不容忽视。

首先，模型必须能够准确表征观测数据。基于球体或圆柱体等过于简化的模型难以精确描述观测数据。虽然仍属于近似模型，但我们采用了精细的蒙皮手部网格，相信它能更准确地描述观测数据。此外，由于我们的研究侧重于灵活的相机设置，相机不仅可能拍到手，还可能拍到用户身体的大部分区域以及背景。为避免同时对手部、身体和背景的整体模型进行拟合以匹配深度图像，我们会先检测并提取一个范围合理的感兴趣区域（RoI）$Z_{roi} = \{\tilde{z}_{ij} \mid 0 \leq i < S, 0 \leq j < S\}$，该区域包含手部周围的 $S \times S$ 个像素，再将手从背景中分割出来（详见下一节）。使用紧凑的RoI还能提升评分函数的效率，因为这样能确保渲染图像中很大一部分像素属于手部。

其次，几种用于渲染的“捷径”解决方案可能会使该方法失效。例如，仅仅将模型的每个顶点投影到图像中并测量距离（无论是深度方向上的距离，还是利用距离变换在三维空间中测量的距离）时，并未考虑遮挡因素。因此，我们定义了一个基于GPU的渲染模块，该模块以基础网格V、姿态参数向量$\theta$以及原始深度图像Z内的边界框B作为输入，进而渲染出一张合成深度图像。

 $$ R_{roi}(\theta;\mathbf{V},B)=\{r_{ij}\mid0\leq i<S,0\leq j<S\} $$

这张合成深度图像的大小与$Z_{roi}$相同，其中背景像素的取值为$r_{ij} = z_{bg}$。无论该边界框B在原始深度图像中的位置如何，都能借助它来正确地渲染$R_{roi}$的透视效果。

只要渲染图像与采集到的图像相匹配，我们所使用的“黄金能量”评分函数就很简单：

 $$ E^{\mathrm{A u}}(Z_{\mathrm{r o i}},R_{\mathrm{r o i}})=\sum_{i j}\rho(\bar{z}_{i j}-r_{i j})\;. $$

我们并未采用平方（“L2”）误差，而是使用了截断的“L1”距离$\rho(\epsilon) = \min(|e|, \tau)$，由于相机噪声及其他因素的影响，它对异常值的敏感度要低得多。尽管该函数很简单，却能够捕捉到重要的细微差别。具体而言，当模型手部像素被渲染在数据背景之上，或者模型背景被渲染在手部数据之上时，对能量的贡献值为$z_{bg}$，该数值足够大，以至于总会转化为截断值$\tau$；而当渲染结果与数据均为$z_{bg}$时，评分则为零。

---

![Image](images/bceb17f21034495b6d3ccb8889e298af504d1661fbec65e2b74023b29d7e099c.jpg)

我们将上述函数称为“黄金能量”，以将其与那些并非直接旨在解释图像数据的能量函数区分开来，比如[^16]、[^23]和[^28]。$E^{\text{Au}}$能够非常有效地体现“通过合成进行分析”的理念，实验表明，将跟踪问题转化为以最小化$E^{\text{Au}}$为唯一目标的优化问题，能够得出高质量的结果。我们发现该能量函数对于不同的$\tau$取值具有相当的鲁棒性；我们所有的实验均采用$\tau = 100$毫米这一取值。

<div style="text-align: center;">Figure 3: Hand Region of Interest (Rol) extraction.</div>

## 感兴趣区域（RoI）提取

RoI 提取过程如 Fig. 3 左所示。我们从 3D 手部位置的粗略估计 $\hat{x}$ 开始。该估计可以通过多种方式获得，例如利用先前帧的运动外推、手部检测器的输出，或 Kinect 骨骼跟踪器提供的手部位置。估计 $\hat{x}$ 通常相当近似，因此我们采用第二个步骤，基于 [^21]，使用学习得到的像素级分类器更准确地分割并定位手部。该分类器在 100k 张手部和手臂合成图像（Fig. 3 右）上训练，应用于 3D 搜索半径 $r_1$ 内、位置 $\hat{x}$ 周围的像素，以将像素分类为手部或手臂。为了精确定位手部，我们随后搜索位置 x，使 20cm $\times$ 20cm 窗口内累积的手部概率最大。最后，我们提取 RoI，使用最近邻下采样得到 $S \times S$ 像素图像 $Z_d$，用于 golden energy。我们通常将 S 设为 64 或 128：取值越大，保留的细节越多，但 golden energy 计算中的渲染会更慢。注意，我们并未移除手臂像素（见下文），但会将 x 周围半径 $r_2 (< r_1)$ 以外的像素设为背景值 $z_{bg}$。我们还在原始深度图中记录 RoI 的边界框 B。

虽然在实际应用中我们发现分类器[^21]在提升手部区域定位精度方面表现可靠，但我们最终决定不尝试直接从前臂中分割出手部，原因有二。首先，手与臂之间的边界推断结果相当不精确，且在不同帧之间该边界通常会在手臂上上下移动数厘米之多。其次，我们观察到保留一小部分紧贴ROI边缘的前臂区域具有很大价值。与现有方法不同，我们的手部网格模型中包含了前臂部分，这使得“金色能量”能够解释ROI内观测到的前臂像素，从而防止优化后的手部姿态发生翻转或沿手臂上下滑动。

流程中的这一部分与[^30]中的手部分割方法类似，但它无需针对所有可能的背景进行训练数据准备，能够利用大量合成数据，由于分类器仅应用于相对较少的像素，因此可能运行更快，同时还能利用前臂信号。

## 鲁棒的重初始化

在我们流程的所有环节中，我们发现重初始化模块对实现所展示出的高精度、鲁棒性和灵活性最为关键。其主要目标是仅通过当前的输入深度图像（即无需时间信息）来输出一组完整的手部姿态假设。这些假设随后会在流程的后续阶段被评估和优化。

现有方法包括多层随机森林[^12]、最近邻查找[^31]、指尖检测[^20]或卷积神经网络[^30]。然而，我们对灵活摄像头设置的要求使得重初始化的需求远远超出了现有方法的范畴。具体而言，我们对手部的全局旋转没有任何限制。这意味着我们无法依赖指尖的可见性，而且与我们预期观察到的手部外观范围相比，现有研究中所评估的近正面近距离手部样本范围要小得多。

我们的重初始化组件在现有工作基础上取得了两项重要突破。首先，我们认为该问题难度极大，无法指望预测出单一的最优姿态解。相反，我们的方法预测的是姿态分布，模型拟合器可从中快速采样任意数量的姿态，并利用“金色能量”来区分优质候选姿态与劣质候选姿态。其次，尽管我们遵循现有做法[^25] [^12]，将回归任务分为两个“层级”（或阶段），但我们让第一层级专门用于预测量化的全局手部旋转。通过在第一层级预测粗略的旋转角度，我们大幅减少了第二层级预测器需要处理的外观差异。

## 合成训练数据

我们的重初始化模块是在合成训练数据集上训练的。鉴于手部和手指的灵活性，潜在的姿态空间极为广阔；为了实现灵活性目标，训练数据必须能充分覆盖这一空间，同时避免包含不太可能出现的姿态。我们通过从预先定义的先验分布中采样来实现这一点，该分布专为广泛覆盖姿态空间而设计。我们认为这种方法比现有研究更具通用性，现有研究往往侧重于近距离正面姿态。

全局手部朝向样本取自均匀分布，全局平移样本则在视锥体内服从均匀分布，而手腕姿态会在合理的屈曲/外展范围内随机生成。对于手指和拇指的旋转，我们采用了六种人工定义的原型姿态：张开、平放、闭合、指向、半开和捏合。每种原型姿态都能为某一子集的姿态空间生成逼真的姿态，其“平均”形状设计得与姿态名称相匹配，同时还有一套随机化规则用于从该原型姿态中采样（示例伪代码和样本详见补充材料）。未来我们希望这些原型姿态能从大量手部动作捕捉数据中学习得到。

作为训练数据，我们从上述分布中采样10万个姿态$\theta$，针对每个姿态，我们使用与计算基准能量时相同的网格模型和渲染器来生成合成深度图像。重新初始化器作用于深度图像的感兴趣区域而非整张深度图，因此会先计算出属于手部的像素周围的紧密边界框（并非前臂），随后在每一侧随机扩展最多10个像素，以模拟测试时的不精确感兴趣区域。

---

## 空中手势与交互

即前臂部分，然后在测试时随机向两侧扩展最多10个像素，以模拟不精确的RoI。

## 双层重新初始化架构

基于上述数据，我们训练了一个双层的[^12] [^25]重新初始化器。在姿态向量的所有元素中，全局旋转对手部外观的影响可能最大。因此我们首先训练第一层来预测全局旋转，将其量化为128个离散区间。对于每个旋转区间，第二层预测器被训练用来推断姿态向量的其他元素，比如手指旋转。每个第二层预测器仅在对应全局旋转区间内的图像上训练。这样就能减少每个第二层预测器需要处理的外观差异，进而简化学习问题[^12] [^25]。区间数量的设定是为了平衡两层的学习难度与内存需求。

第一层被训练用来预测全局旋转区间上的分布$P^{\mathrm{grb}}(q|Z_{\mathrm{roi}})$。因此第一层的训练数据是一组$(Z_{\mathrm{roi}};q)$配对，其中$q \in \{0,\ldots,127\}$代表与图像全局旋转最接近的旋转区间。我们测试了多种分类器：决策森林[^5]、决策丛林[^22]以及判别性蕨类集成模型（DFE）[^14]。这些分类器会在后续的实验中进行比较。DFE作为“整体式”预测器，会对整个感兴趣区域进行一次预测。而森林和丛林分类器则被训练用来预测感兴趣区域内任意像素处的全局旋转分布，测试时会对多个随机选取的像素预测结果取平均值，从而得到$P^{\mathrm{grb}}(q|Z_{\mathrm{roi}})$。

在第二层中，我们为128个旋转区间中的每个区间训练三个预测器：全局旋转精细化回归器、偏移量平移回归器以及手指原型姿态分类器。每个预测器都使用属于相应真实旋转区间的数据子集进行训练。由于第二层预测器数量众多且对内存需求较小，我们为所有第二层预测器采用了逐像素决策森林[^22]。全局旋转精细化回归器的训练目标是最小化四元数表示的全局旋转预测的方差；它预测的是关于全局旋转四元数$P_{q}^{\mathrm{grr}}(\mathbf{q}|Z_{\mathrm{roi}})$的分布$\mathbf{q}$。偏移量平移回归器[^9]用于预测任意感兴趣区域像素在相机空间中的3D位置到腕关节位置（即全局平移量）的3D偏移量；其训练方式同样是最小化叶节点处3D偏移量的方差。在测试时，通过聚合多个像素的预测结果，就能得到关于绝对全局平移量$P_{q}^{\mathrm{otr}}(\mathbf{t}|Z_{\mathrm{roi}})$的分布$\mathbf{t}$。最后，原型姿态分类器是作为针对6种原型姿态类别的常规逐像素分类器来训练的；测试时，通过聚合多个随机选取的前景像素的预测结果，就能得到相应的分布$P_{q}^{\mathrm{ppc}}(f|Z_{\mathrm{roi}})$。

## 进行预测

测试时，首先评估第一层以预测$P_{\text{grb}}(q|Z_{\text{roi}})$。我们假设概率质量主要集中在可能性最高的前5个全局旋转区间内，为了提升效率，仅针对这些区间评估相关的第二层预测器，从而得出精细化的全局旋转、全局平移量以及原型姿态。此时我们实际上已经推断出了手部姿态的层次化分布，接下来就可以高效地从该分布中采样尽可能多的结果：先采样得到q，再以q为条件，从$P_{\text{grb}}(q|Z_{\text{roi}})$中采样全局旋转q，以及全局平移量t。

![Image](images/859ba629a4017e2cf9ad3407e3b787410a125f740be6d4a82594d63f133daac5.jpg)

<div style="text-align: center;">Figure 4: Sample poses inferred by our reinitializer. For each row, we see a false-color image of the input depth map, a rendering of the model in the ground truth pose, and renderings of poses sampled from the reinitializer. Our system is trained to work for arbitrary global rotations to allow for flexible camera setups.</div>

我们从$P_{q}^{\mathrm{otr}}(\mathbf{t}|Z_{\mathrm{roi}})$中采样全局平移量t，从$P_{q}^{\mathrm{ppc}}(f|Z_{\mathrm{roi}})$中采样原型姿态f。最后，为了生成完整的姿态向量$\theta$，我们将全局旋转和平移量与从原型姿态f中采样的随机手指姿态拼接起来。

我们在图4中展示了将reinitializez应用于合成测试图像的一些示例。可以看到，reinitializez生成的样本中至少有一些通常都与正确的手部姿态相近，尤其是在全局旋转和平移方面。对比第3行和第4行可以发现第二层姿态分类器的作用：第3行包含更多“张开手”的样本，而第4行则包含更多“握紧手”的样本。即便是错误的样本也往往表现出合理的混淆现象，比如沿合理轴线翻转。

## 模型拟合

为了优化能量函数并得到精确的手部姿态估计结果，我们采用了一种模型拟合算法，该算法融合了粒子群优化（PSO）与遗传算法（GA）的特点，其设计思路源自[^11]、[^17]和[^20]。模型拟合器负责整合前一帧的信息以及重新初始化器提供的提议；它也是我们系统的核心计算模块。我们在补充材料中详细说明了如何在GPU上高效实现该模型拟合器，从而实现实时帧率的处理能力。

该算法维护一个由P个“粒子”组成的种群$\{\phi_p\}_{p=1}^P$（每个粒子包含一个姿态向量$\theta$以及诸如姿态空间中的速度等额外状态），并在GPU上并行评估整个种群的评分函数以得出分数$\{E_p^{Au}\}_{p=1}^P$。每一次这样的评估构成一个“代”。标准的PSO算法（参见[^17]）会指定用于生成下一代的更新规则。该规则引入了姿态空间中的“动量”以及向能量函数当前局部最小值靠拢的机制。我们发现，仅靠标准更新规则效果并不理想，下文将介绍我们对其做出的扩展，这些扩展对取得成功至关重要。

---

![Image](images/a82499d874c39179ccf17db208ad7fe68d57a10f9840a4e3f20ef91aae3f707e.jpg)

<div style="text-align: center;">Figure 5: Particle perturbation. The leftmost column shows initial poses, the others show seven draws from the every-third-generation perturbation distribution.</div>

## 粒子随机化

参照[^17]的研究结果，我们发现定期对粒子进行“重新随机化”至关重要。在我们的方法中采用了两种变体：每代随机化和每三代随机化。在每代随机化中，我们仅调整手指部分：对于50%的粒子，随机均匀选择一个指头（手指/拇指），其中25%的情况下其外展角度会被调整，调整幅度最多为$\pm2.5^\circ$；75%的情况下其某个关节的屈曲程度会被调整，调整幅度为$\pm10^\circ$。每三代随机化时，能量值最高（最差）的50%的粒子会按如下方式重新随机化：第一组（50%）粒子的姿态会被重新初始化器生成的新样本替换；第二组（30%）粒子会像图5所示以及补充材料中所详述的那样，受到局部的随机扰动；最后一组（20%）则会执行“拼接”或“交叉”操作：从能量最低（最优）的50%粒子中随机选取一个，用它来覆盖姿态向量中的全局旋转、平移和手腕姿态部分，或者覆盖其余的手指姿态部分。

## 粒子初始化

粒子的初始化采用与每三代随机化相同的策略，只不过所有粒子都会受到影响，而那些被随机扰动的粒子是以跟踪时的上一帧结果为基准进行扰动的。

## 粒子“老化”

[^20]中最近提出了一种每代进行的聚类步骤，用于减少所谓的“粒子坍塌”现象——即所有粒子过度聚集在劣质解附近。我们采用了一种类似但更简便的技术，即为每个粒子赋予一个“年龄”$a_{p}$。具有相同年龄的所有粒子被视为一个独立的群体。在每三代对粒子进行重新随机化之前，所有粒子的年龄都会递增，直至达到最大值$A_{max}$。而被随机化的粒子其年龄会被设为零。

## 评估：定性分析

接下来我们会对我们的方法进行评估，展示其在鲁棒性和灵活性方面的顶尖手部跟踪性能。强烈建议读者同时观看附带的视频和补充文档中的额外结果。本节中的结果是使用未经改装的标准Kinect V2飞行时间传感器生成的。我们首先展示我们的手部跟踪器的新功能。图6及附带视频展示了该系统实时重建的各种复杂姿态的结果。我们展示了不同年龄段的男性和女性受试者在不同距离（数米远）下，以及用户和摄像头移动时的跟踪结果。

![Image](images/cabbbb918ac95fb0eb9f0710b8755ea4dbda90620c4560355fecae6e6da568d6.jpg)

<div style="text-align: center;">Figure 6: Our system (a,b) can track a wide variety of users and hand shapes, (c) can track at both close and far ranges, and (d) is robust to both scene and user motion.</div>

运动方面，我们的方法受到传感器0.5–4.5米工作范围和可用分辨率的限制。在距离较远的情况下，有时剩余的手部像素不足100个，但我们的方法仍能平稳运行，并能够估算出相当准确的姿态。

在图1和图7中，我们进一步展示了新颖的摄像头摆放方式，比如“肩上方”或“从下往上”视角，这些方式无需用户紧挨着传感器坐在前方。即便摄像头处于非正面视角，甚至传感器本身在移动时，我们的系统依然能顺畅追踪手部动作。我们认为这些配置极具吸引力，便于与VR头盔及其他新型物理设备集成，比如用于远距离操控显示屏。随附的视频进一步演示了我们的系统如何应对快速运动、从追踪丢失中恢复，以及适应光照变化（因为我们仅使用摄像头采集的深度信号）。

在图7及随附视频中，我们将我们的系统与近期的Leap Motion传感器[^15]以及3Gears系统[^1]进行了定性比较。虽然Leap并非通用深度摄像头，且计算约束不同，但公开视频显示其具备高精度追踪能力。我们的结果表明，Leap确实能稳健地追踪各种正面对应姿态。不过，Leap在处理更复杂的姿态时表现欠佳，在某些条件下似乎不支持平滑重新初始化，且仅能在近距离内追踪。这些并非我们系统的局限。与3Gears的比较表明，我们的系统能更精确地重建范围更广的连续复杂姿态。

## 评估：定量分析

现有的少数手部追踪评估数据集并未充分考验我们所看重的灵活性与鲁棒性。因此，虽然我们首先在Sridhar等人发布的DEXTER1数据集上与他们提出的最先进系统[^23]进行比较，但主要结果将基于两个全新且极具挑战性的基准测试呈现。

---

![Image](images/ec5e6b1305bff64562328146b944cfcfa450a7343cdb00cc8c7f46e6307ab689.jpg)

<div style="text-align: center;">Figure 7: Top half: qualitative comparison of Leap Motion (left panels) with our method (right panels). Bottom half: qualitative comparison of 3Gears (bottom row) with our system (middle row). See text and video.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Sequence</td><td style='text-align: center; word-wrap: break-word;'>AbdAdd</td><td style='text-align: center; word-wrap: break-word;'>FingerCount</td><td style='text-align: center; word-wrap: break-word;'>FingerWave</td><td style='text-align: center; word-wrap: break-word;'>FlexEx1</td><td style='text-align: center; word-wrap: break-word;'>Pinch</td><td style='text-align: center; word-wrap: break-word;'>Random</td><td style='text-align: center; word-wrap: break-word;'>Tiger</td><td style='text-align: center; word-wrap: break-word;'>Mean</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours [^23]</td><td style='text-align: center; word-wrap: break-word;'>15.011</td><td style='text-align: center; word-wrap: break-word;'>12.314</td><td style='text-align: center; word-wrap: break-word;'>18.212.5</td><td style='text-align: center; word-wrap: break-word;'>10.717</td><td style='text-align: center; word-wrap: break-word;'>12.910</td><td style='text-align: center; word-wrap: break-word;'>23.313</td><td style='text-align: center; word-wrap: break-word;'>12.912</td><td style='text-align: center; word-wrap: break-word;'>15.012.8</td></tr></table>

<div style="text-align: center;">Table 1: Comparison of our system and [^23] on the DEXTER 1 dataset. We achieve broadly comparable tracking accuracy but only with a single depth camera (as opposed to 5 RGB + 1 depth), and at higher frame rates.</div>

这两个基准测试分别是SYNTHETIC和FINGERPAINT。我们认为合成数据与真实数据相结合至关重要：合成数据能更方便地测试各种手部姿态，而真实数据则能确保系统在实际带有噪声的摄像头环境下正常运行。关于这些数据集的更多细节将在下文及补充材料中说明。

## 与[^23]的比较

我们在他们的DEXTER1数据集上直接与[^23]系统进行比较。表1对比了我们的追踪器与[^23]系统得到的平均关节位置误差（数值源自他们论文中的图表）。尽管我们的系统运行速度是其3倍（30帧/秒对比10帧/秒），且仅使用深度传感器输入（[^23]则结合深度传感器和5个RGB摄像头作为输入），但我们仍取得了大致相当的精度。

## 合成数据实验

我们设计了全新的SYNTHETIC数据集，用于在缺乏时间信息的情况下评估我们的重新初始化策略和模型拟合算法。该数据集旨在考验系统的鲁棒性，我们认为它比现有数据集更具挑战性。该数据集包含1000张单独的渲染深度图像帧（非序列），并配有对应的真实手部姿态标签。生成每一帧时，手部姿态会被大幅随机化：全局旋转被均匀随机化；全局平移在视锥体内随机化；手指/拇指/手腕的屈伸和外展也被随机化处理。

<div style="text-align: center;">CHI 2015, Crossings, Seoul, Korea</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Model</td><td style='text-align: center; word-wrap: break-word;'>Size</td><td style='text-align: center; word-wrap: break-word;'>Depth</td><td style='text-align: center; word-wrap: break-word;'>Accuracy</td><td style='text-align: center; word-wrap: break-word;'>Memory</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ferns</td><td style='text-align: center; word-wrap: break-word;'>20</td><td style='text-align: center; word-wrap: break-word;'>12</td><td style='text-align: center; word-wrap: break-word;'>70.5%</td><td style='text-align: center; word-wrap: break-word;'>20MB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ferns</td><td style='text-align: center; word-wrap: break-word;'>50</td><td style='text-align: center; word-wrap: break-word;'>13</td><td style='text-align: center; word-wrap: break-word;'>73.3%</td><td style='text-align: center; word-wrap: break-word;'>100MB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Forest</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>22</td><td style='text-align: center; word-wrap: break-word;'>66.9%</td><td style='text-align: center; word-wrap: break-word;'>150MB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Jungle-512</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>20</td><td style='text-align: center; word-wrap: break-word;'>30.9%</td><td style='text-align: center; word-wrap: break-word;'>100KB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Jungle-2048</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>45</td><td style='text-align: center; word-wrap: break-word;'>47.5%</td><td style='text-align: center; word-wrap: break-word;'>500KB</td></tr></table>

<div style="text-align: center;">Table 2: Comparison of the first layer classifiers in terms of accuracy and memory for various settings.</div>

要么在合理范围内完全随机生成，要么从原始姿态中采样。因此，该数据集包含了各种任意姿态的手部图像，包括靠近摄像头和远离摄像头的姿态。图4的左侧列展示了一些示例。对于每一帧，我们还会指定一个“起始姿态”。在50%的帧中，该起始姿态会根据上述每三代扰动一次的方法相对于真实值产生偏差；其余50%的帧中，起始姿态则完全随机生成，以模拟从完全丢失跟踪状态中恢复的过程。

我们认为，[^23]所使用的平均关节度量指标隐藏着有趣的信息，因此针对SYNTHETIC数据集，我们推荐采用[^28]中提出的“正确帧比例”指标。该指标会生成一个图表，用于展示欧几里得误差小于$\epsilon$的关节所占比例，其中$\epsilon$的值被绘制在x轴上（参见图9）。根据该指标，当误差约为$\epsilon = 0.03m$时，结果在视觉上便属于良好水平。补充材料中包含了使用该指标“最坏情况”变体的测试结果。

第一层重新初始化器。我们两层重新初始化器的第一层会将深度感兴趣区域分类到128个全局旋转区间之一。我们比较了蕨类模型、森林模型和丛林模型。我们使用10万张图像来训练每个模型，并通过网格搜索利用1万张验证图像来为每种方法挑选最佳参数：模型规模（即树木、丛林和蕨类的数量）、模型深度以及模型宽度（仅适用于丛林模型）。在测试的参数范围内，以下参数设置能实现最高的准确率：(i) 50个大小为13的蕨类模型；(ii) 1个深度为22的随机树模型；(iii) 3个宽度为2048、深度为45的丛林模型。每种模型所达到的区间分类准确率及其对应的内存需求详见表2。蕨类模型的绝对准确率最高，不过丛林模型在准确率与内存需求的平衡上表现最佳。若将森林模型的深度超过22，其准确率会有显著提升，但内存需求也会迅速变得难以承受（树木的生长遵循$2^{depth}$规律）。

第二层重新初始化器。第二层的模型是根据第一层模型的预测结果来选择的。第一层中看到的蕨类、森林和丛林模型之间的准确率差异在第二层消失了，这可能是因为每个全局旋转区间内的变化程度大幅降低。具体而言，深度为18的树模型仅比深度为30、宽度为256的丛林模型略好一点，尽管其规模是后者的20倍。由于需要在内存中保存128个预测器，我们最终选择了第二层的丛林模型。我们还分别用1万张、10万张和20万张图像作为训练集进行了实验。使用10万张图像相比1万张图像能显著提升准确率，但10万张和20万张图像之间并无明显差别。

单层模型与双层模型。为了从实证角度证明我们的双层模型合理性，我们将最终结果与传统的单层模型进行了比较。为此，我们训练了一个深度为

---

![Image](images/ab3b2da34df3e6907f602577ce9c6d8d33e86c3eff68a6e7c182e1a7a310c4e8.jpg)

<div style="text-align: center;">Figure 8: Example results on the per-frame SYNTHETIC test set. Despite simulated input noise and many frames having wildly incorrect starting poses (simulating loss of track), our reinitialization + model fitting algorithm is often able to infer the full-DOF pose (global rotation, translation, and finger poses). The final row shows two failure cases, which would likely be easily corrected if part of a tracked sequence.</div>

25的森林模型，用于执行三项双层重新初始化任务（全局旋转、平移和姿态聚类估计），这些任务均使用完整数据集，即不依赖于第一层的全局旋转区间。这个单层模型达到了与我们双层模型相同的准确率，但所需内存却是后者的6倍。此外，如果我们允许双层模型使用更多内存，其准确率会显著超过单层模型。由于内存不足，我们无法通过增加训练深度来提升单层模型的准确率，即便是在我们的高端电脑上也是如此。

全面优化。我们利用SYNTHETIC来验证所做出的特定算法选择，并基于预留的验证数据来优化算法参数。我们首先在图8中展示一些图像结果示例。这些结果是针对每张输入图像独立计算得出的。模型拟合过程针对每张图像均以所示的初始姿态开始，以模拟跟踪场景（当姿态偏离真实值时）或丢失跟踪的情况（当姿态完全随机时）。我们可以观察到，无论对于整体姿态还是手指姿态，模型拟合都能实现稳健且精准的收敛，即便起始位置极其偏差较大。这在很大程度上得益于我们的重新初始化算法——该算法能提供一组可靠的候选手部姿态，随后再由模型拟合和能量优化流程对这些姿态进行精细化处理。

接下来我们展示在SYNTHETIC上的定量结果。图9(a)对比了关闭不同组件的重新初始化器变体所对应的模型拟合结果。当某个重新初始化组件被关闭时，会采用随机采样来替代它。可以看出，重新初始化对优化的精准收敛有着至关重要的影响，且每个组件都为完整重新初始化器的效能做出了贡献。图9(b)展示了模型拟合器中粒子数量的不同对最终精度的影响。显然，粒子越多越好，但重新初始化带来的提升远远超过了粒子数量的作用。我们在图9(c)中展示了优化算法各组件的影响：从完整的优化方案出发，按照图中所示顺序逐步移除各组件。可以发现，拼接处理、PSO粒子老化机制以及重新随机化操作对实现高精度都起着重要作用。图9(d)绘制了不同误差阈值水平下的优化收敛情况。在大多数情况下，优化会在30到40代左右收敛。

## 真实数据实验

手动标注手部图像的过程既耗时又易出错，因此标注长序列数据的成本极高。而我们新推出的FINGERPAINT数据集则提供了一种获取真实标签的半自动化途径。我们同时使用原型飞行时间深度传感器和标准RGB相机拍摄手部涂绘视频。完成相机校准后，便可利用自动颜色分割算法为长序列数据生成逐像素级别的真实手部部件标签。对于颜色分割有误的标签，我们会进行人工修正。这提供了一种“替代性”真实标签：我们虽无法获得关节角度/位置信息，但只有准确的姿态估计才能实现较高的像素分割指标（见下文）。此外，与某些仅标注指尖的数据集不同，这些标签覆盖了整个手部。

该数据集包含五名受试者（其中三名如图11所示，所有受试者的相关信息均见于补充材料）。针对每位受试者，我们采集了三组序列数据：“全局”序列（大幅度的整体运动，手指相对静止）、“姿态”序列（整体位置相对固定，手指运动）以及“综合”序列。综合序列所呈现的运动复杂度明显高于现有数据集中的运动。

为了评估在FINGERPAINT数据集上的跟踪精度，我们衡量模型重现真实分割标签的能力。我们将模型进行纹理映射，以定义与真实标签相匹配的部分，然后可以根据推断出的姿态渲染出合成标签图像，再将其与真实标签图像进行比较。对于第l个部件标签而言，其精度定义为被推断为标签l的真实像素中属于标签l的比例。与SYNTHETIC指标一致，我们随后会绘制出平均分类精度（跨所有标签）达到某一阈值的帧数比例。

图10展示了在FINGERPAINT数据集上的实验结果。不出所料，该跟踪器在较为简单的“全局”序列上取得最高精度，而在包含复杂手指关节运动及手指间遮挡、且难以通过单个噪声深度传感器区分的较难的“姿态”和“组合”序列上精度最低。值得注意的是，对第二名受试者的跟踪精度也较低。这名受试者是一名儿童，因此她的手部所占的深度像素较少，且其比例和特征与其他人存在显著差异。

## 系统参数与计时

我们的计时数据是在配备Nvidia GTX Titan显卡的双处理器工作站上测得的。采用默认的PSO设置：100个粒子、30代迭代，瓦片尺寸为64x64，平均而言，每帧重新初始化耗时6毫秒，模型拟合耗时26毫秒。这样就能实现视频中展示的30Hz（即摄像头采集速率）跟踪效果。（上述部分合成实验会改变这些参数，因此运行速度可能更快或更慢。）模型拟合的主要瓶颈在于用于计算金色能量的渲染过程，以及（在当前实现中）在主内存和GPU内存之间传输候选手部姿态的过程。该算法对GPU计算的需求较高，但对CPU的要求不高，仅需用于训练重新初始化器即可。

---

## 空中手势与交互

![Image](images/5915aac680ac141eda67bd00ffa741fb33f3b9a10239c9a2ce8c0b83ad2330f9.jpg)

![Image](images/2d45d9dc5e8be8cee5f3e563816f241be5e9eddbabea23dc932462850e0edc78.jpg)

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

![Image](images/05bb4646b6e2aef5d8707be668ebf7a2954db698003c84a6a301144a40974e5b.jpg)

<div style="text-align: center;">Figure 9: Experiments on our per-frame SYNTHETIC test set using 'average' error metric (see text) (a) Effect of reinitialization on model fitting accuracy. (L1 = layer one quantized rotation classification, R = layer two rotation regression, T = layer two offset translation regression, P = layer two pose classification). (b) Accuracies achieved using different numbers of particles for both full and no reinitialization. (c) Effect of removing components of the model fitting optimization. (d) Convergence plots for varying levels of error threshold.</div>

![Image](images/377a0560282e75daf7294165261b54e297ab122b2c707fc3ca9ce0f2ceace9a1.jpg)

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

![Image](images/fb66b33a3a5189a3321496764aa7e1893a05d55f0ad8df5b6a1e52952388dd5e.jpg)

![Image](images/83486748b3771d2641f2766c5899e14e232e1ed63a0a5a98fb46128f3018c53a.jpg)

![Image](images/d74068557edb982bc155ce42bf869802798f9195dc4b27a4ee87054d9aedb1f6.jpg)

<div style="text-align: center;">Figure 10: Experiments on the FINGERPAINT dataset for the five subjects.</div>

![Image](images/2bbde044bd9462d993c56868f4e9974619e41e42b90234acd5858fa718aad474.jpg)

<div style="text-align: center;">Figure 11: Examples from our FINGERPAINT dataset. For each row, we see the input depth image, the calibrated RGB image in which the painted fingers can be seen, the resulting ground truth labeling of the depth image, and the inferred labels that our tracker produces. (Numbers shown are classification accuracies).</div>

![Image](images/da8ec99dddb945f995bc7039668a00c7486a12485600bc645312f9e96264f029.jpg)

<div style="text-align: center;">Figure 12: Example failure cases for our method.</div>

训练好的两层fern/jungle重新初始化器约占30MB的内存空间。

## 局限性与未来工作

我们认为我们的系统在关节手部跟踪领域取得了重大突破，尤其是在灵活性和鲁棒性方面。但仍有进一步的工作要做。附带的视频和图12揭示了我们当前的一些局限性。我们目前仅尝试跟踪单只手，两只或更多相互交互的手和物体可能会引发混淆。概念验证[^19] [^18]表明，至少对于模型拟合器而言，扩展我们的方法以应对这些情况并不太困难。我们的流程对GPU计算依赖较重，这会导致延迟并限制其在移动设备上的部署。我们希望通过改进相对廉价的判别式重新初始化阶段，以及采用更高效的连续优化方法进行模型拟合，从而将计算需求降低到适合移动设备的水平，同时保持较高的鲁棒性和精度。我们渴望基于我们的跟踪系统开发更多应用，开展用户研究以探究其实用性，同时探索各类定量指标与感知精度或任务完成速度之间的相关性。最后，我们计划探究用户手部形状对跟踪精度的影响。我们相信，为每位用户构建精准的个性化手部模型[^29]必定能提升跟踪质量。

## 结论

我们提出了一种全新的实时关节手追踪器，它将快速学习到的重新初始化机制与基于随机优化的模型拟合技术相结合，以求解一个“最优”目标函数。我们的评估结果表明，该系统不仅能提供高度精确的手部姿态估计，还在鲁棒性方面取得了显著突破——能够迅速从追踪失败中恢复，并在长时间序列中保持可靠的追踪效果；同时具备极高的灵活性，能够应对各种全局手部姿态、相机距离极远的情况，以及静态或移动相机场景。我们将其与三种最先进的方法进行了对比，结果显示其精度可与多摄像头系统相媲美，且性能甚至超过了Leap Motion和3Gears这两款商用系统。我们还在具有挑战性的真实及合成数据集上进行了广泛测试。我们认为，我们的系统有望开启多种全新的交互方式，例如远距离的大屏幕交互、配备深度传感器的移动设备，以及虚拟现实或增强现实系统。

---

## 空中手势与交互

## 参考文献

1. 3Gear Systems Inc, 2013. <http://threegear.com>.

[^2]: Athitsos, V., and Sclaroff, S. Estimating 3D hand pose from a cluttered image. In Proc. CVPR (2003), II–432.

[^3]: Ballan, L., Taneja, A., Gall, J., van Gool, L., and Pollefeys, M. Motion capture of hands in action using discriminative salient points. In Proc. ECCV (2012), 640–653.

[^4]: Bray, M., Koller-Meier, E., and Van Gool, L. Smart particle filtering for 3D hand tracking. In Proc. IEEE Conf. Automatic Face and Gesture Recognition (2004), 675–680.

[^5]: Criminisi, A., and Shotton, J. Decision Forests for Computer Vision and Medical Image Analysis. Springer, 2013.

[^6]: de La Gorce, M., Fleet, D. J., and Paragios, N. Model-based 3D hand pose estimation from monocular video. IEEE Trans. PAMI 33, 9 (Feb. 2011), 1793–1805.

[^7]: Dipietro, L., Sabatini, A. M., and Dario, P. A survey of glove-based systems and their applications. IEEE Trans. Sys., Man, and Cybernetics C 38, 4 (2008), 461–482.

[^8]: Erol, A., Bebis, G., Nicolescu, M., Boyle, R. D., and Twombly, X. Vision-based hand pose estimation: A review. Comp. Vis. and Image Understanding 108 (2007), 52–73.

[^9]: Girshick, R., Shotton, J., Kohli, P., Criminisi, A., and Fitzgibbon, A. Efficient regression of general-activity human poses from depth images. In Proc. ICCV (2011), 415–422.

[^10]: Heap, T., and Hogg, D. Towards 3D hand tracking using a deformable model. In Proc. IEEE Conf. Automatic Face and Gesture Recognition (1996), 140–145.

[^11]: Juang, C.-F. A hybrid of genetic algorithm and particle swarm optimization for recurrent network design. IEEE Trans. Sys., Man, and Cybernetics B 34, 2 (April 2004), 997–1006.

[^12]: Keskin, C., Kiraç, F., Kara, Y. E., and Akarun, L. Hand pose estimation and hand shape classification using multi-layered randomized decision forests. In Proc. ECCV (2012), 852–863.

[^13]: Kim, D., Hilliges, O., Izadi, S., Butler, A. D., Chen, J., Oikonomidis, I., and Olivier, P. Digits: freehand 3D interactions anywhere using a wrist-worn gloveless sensor. In Proc. ACM UIST (2012), 167–176.

[^14]: Krupka, E., Bar Hillel, A., Klein, B., Vinnikov, A., Freedman, D., and Stachniak, S. Discriminative ferns ensemble for hand pose recognition. In Proc. CVPR (2014).

15. Leap Motion Inc, 2014. <http://leapmotion.com/product>.

[^16]: Melax, S., Keselman, L., and Orsten, S. Dynamics based 3D skeletal hand tracking. In Proc. Graphics Interface (2013), 63–70.

[^17]: Oikonomidis, I., Kyriazis, N., and Argyros, A. Efficient model-based 3D tracking of hand articulations using Kinect. In Proc. BMVC (2011), 1–11.

[^18]: Oikonomidis, I., Kyriazis, N., and Argyros, A. A. Full DoF tracking of a hand interacting with an object by modeling occlusions and physical constraints. In Proc. ICCV (2011), 2088–2095.

[^19]: Oikonomidis, I., Kyriazis, N., and Argyros, A. A. Tracking the articulated motion of two strongly interacting hands. In Proc. CVPR (2012), 1862–1869.

[^20]: Qian, C., Sun, X., Wei, Y., Tang, X., and Sun, J. Realtime and robust hand tracking from depth. In Proc. CVPR (2014).

[^21]: Shotton, J., Fitzgibbon, A., Cook, M., Sharp, T., Finocchio, M., Moore, R., Kipman, A., and Blake, A. Real-time human pose recognition in parts from a single depth image. In Proc. CVPR (2011).

[^22]: Shotton, J., Sharp, T., Kohli, P., Nowozin, S., Winn, J., and Criminisi, A. Decision jungles: Compact and rich models for classification. In NIPS (2013).

[^23]: Sridhar, S., Oulasvirta, A., and Theobalt, C. Interactive markerless articulated hand motion tracking using RGB and depth data. In Proc. ICCV (Dec. 2013).

[^24]: Stenger, B., Mendonça, P. R., and Cipolla, R. Model-based 3D tracking of an articulated hand. In Proc. CVPR (2001), II–310.

[^25]: Sun, M., Kohli, P., and Shotton, J. Conditional regression forests for human pose estimation. In Proc. CVPR (2012), 3394–3401.

[^26]: Tang, D., Chang, H. J., Tejani, A., and Kim, T.-K. Latent regression forest: Structured estimation of 3D articulated hand posture. In Proc. CVPR (2014), (in press).

[^27]: Tang, D., Yu, T.-H., and Kim, T.-K. Real-time articulated hand pose estimation using semi-supervised transductive regression forests. In Proc. ICCV (2013).

[^28]: Taylor, J., Shotton, J., Sharp, T., and Fitzgibbon, A. The Vitruvian Manifold: Inferring dense correspondences for one-shot human pose estimation. In Proc. CVPR (2012), 103–110.

[^29]: Taylor, J., Stebbing, R., Ramakrishna, V., Keskin, C., Shotton, J., Izadi, S., Hertzmann, A., and Fitzgibbon, A. User-specific hand modeling from monocular depth sequences. In Proc. CVPR (2014).

[^30]: Tompson, J., Stein, M., LeCun, Y., and Perlin, K. Real-time continuous pose recovery of human hands using convolutional networks. In ACM Trans. Graph. (2014).

[^31]: Wang, R., Paris, S., and Popović, J. 6D hands. In Proc. ACM UIST (New York, New York, USA, Oct. 2011), 549–558.

[^32]: Wang, R. Y., and Popović, J. Real-time hand-tracking with a color glove. In ACM Trans. Graph., vol. 28 (2009), 63:1–63:8.

[^33]: Wang, Y., Min, J., Zhang, J., Liu, Y., Xu, F., Dai, Q., and Chai, J. Video-based hand manipulation capture through composite motion control. ACM Trans. Graph. (2013).

[^34]: Wu, Y., and Huang, T. S. View-independent recognition of hand postures. In Proc. CVPR (2000), II:88–94.

[^35]: Wu, Y., Lin, J. Y., and Huang, T. S. Capturing natural hand articulation. In Proc. CVPR (2001), II:426–432.

[^36]: Xu, C., and Cheng, L. Efficient hand pose estimation from a single depth image. In Proc. ICCV (2013), 3456–3462.

[^37]: Yuille, A., and Kersten, D. Vision as Bayesian inference: analysis by synthesis? Trends in cognitive sciences 10, 7 (2006), 301–308.

[^38]: Zhao, W., Chai, J., and Xu, Y.-Q. Combining marker-based mocap and RGB-D camera for acquiring high-fidelity hand motion data. In Proc. Eurographics Symposium on Computer Animation (2012), 33–42.
