
# 基于深度的手部姿态估计：数据、方法与挑战

James Steven Supančič III¹，Grégory Rogez²，Yi Yang³，Jamie Shotton⁴，Deva Ramanan⁵ 加州大学欧文分校¹，Inria²，百度³，微软⁴，卡内基梅隆大学⁵

## 摘要

近年来，手部姿态估计技术迅速发展。消费级深度传感器的普及以及众多实际应用的需求推动了该领域的进一步进步。我们对当前最先进的技术进行了全面分析，重点研究从单张深度图像中估计手部姿态的方法。为此我们实现了大量相关系统，并将公开发布所有软件和评估代码。此处总结几点重要结论：（1）对于手部孤立的场景，姿态估计问题似乎已基本解决；但面对手部与周围物体、表面相互作用的复杂场景时，现有方法仍面临挑战。为了推动该领域进一步发展，我们推出了一个包含多种复杂场景的全新数据集。（2）许多方法采用不同的评估标准，导致难以进行横向比较。我们定义了统一的评估标准，该标准通过人体实验得到了严谨验证。（3）我们提出了一种简单的近邻基线算法，其性能竟优于大多数现有系统。这一结果表明，多数系统无法在其训练集之外泛化应用；这也再次印证了一个常被忽视的事实：训练数据与模型本身同等重要。最后我们提出了未来研究的发展方向。

### 1. 引言

人类手部姿态估计技术可支撑诸多实际应用，例如手语识别[^14]、视觉界面[^17]以及驾驶员行为分析[^20]。近期推出的消费级深度相机更是催生了大量相关新技术突破[^4] [^14] [^15] [^17] [^25] [^33] [^36] [^38] [^42]。

动机：近期的相关方法取得了令人瞩目的成果，但由于测试集不同（多为各研究组内部使用的数据集）、性能评估标准各异以及标注误差等问题，难以进行可靠的对比[^19]。在物体识别领域，全面的基准测试对技术进步至关重要[^6] [^8]。我们的目标正是效仿这一做法，梳理基于深度的手部姿态估计技术的现状，并为其未来发展指明战略方向。

贡献：首先，我们提供了迄今为止最全面的基于深度的手部姿态估计算法评估结果。

![Image](images/76bdca071aee8ed03e0efbc943333fd82f327f669532e981e39240f9938ff11d.jpg)

<div style="text-align: center;">Figure 1. We evaluate a broad collection of hand pose estimation algorithms on different training and testsets under consistent criteria. Test sets which contained limited variety, in pose and range, or which lacked complex backgrounds were notably easier. To aid our analysis, we introduce a simple 3D exemplar (nearest-neighbor) baseline that both detects and estimates pose surprisingly well, outperforming most existing systems. We show the best-matching detection window in (b) and the best-matching exemplar in (c). We use our baseline to rank dataset difficulty, compare algorithms, and show the importance of training set design.</div>

我们在统一的评分标准下，针对4个测试集对13种最先进的手部姿态估计算法进行了评估。此外，我们还对当前主流方法进行了广泛调研，推出了能够弥补以往局限性的新测试集，并提出了一种基于近邻（NN）样本体积的手部姿态估计新基线算法。令人惊讶的是，我们发现该近邻算法的精度超过了大多数现有系统（见图1）。我们的讨论围绕三个维度展开：测试数据（第2节）、训练数据（第3节）以及模型架构（第4节）。我们针对每个维度对现有方法进行了梳理和分类，同时也在每个维度上做出了创新性贡献（如新数据和新模型）。在详细说明我们的实验方案（第5节）之后，我们给出了详尽的实证分析结果（第6节）。

预览：我们在此提前透露结论。当手部易于分割或检测时，现有系统的表现相当出色。然而，涉及与物体/表面交互的手部“活动”仍然颇具挑战性（这也促使我们推出了新数据集）。此外，即便人类在这些情况下也无法做到完美。考虑到合理的误差范围，

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>Chal.</td><td style='text-align: center; word-wrap: break-word;'>Scn.</td><td style='text-align: center; word-wrap: break-word;'>Annot.</td><td style='text-align: center; word-wrap: break-word;'>Frms.</td><td style='text-align: center; word-wrap: break-word;'>Sub.</td><td style='text-align: center; word-wrap: break-word;'>Cam.</td><td style='text-align: center; word-wrap: break-word;'>Dist. (mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ASTAR [^42]</td><td style='text-align: center; word-wrap: break-word;'>A</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>435</td><td style='text-align: center; word-wrap: break-word;'>435</td><td style='text-align: center; word-wrap: break-word;'>15</td><td style='text-align: center; word-wrap: break-word;'>ToF</td><td style='text-align: center; word-wrap: break-word;'>270-580</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Dexter 1 [^33]</td><td style='text-align: center; word-wrap: break-word;'>A</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>3,157</td><td style='text-align: center; word-wrap: break-word;'>3,157</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>Both</td><td style='text-align: center; word-wrap: break-word;'>100-989</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MSRA [^25]</td><td style='text-align: center; word-wrap: break-word;'>A</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>2,400</td><td style='text-align: center; word-wrap: break-word;'>2,400</td><td style='text-align: center; word-wrap: break-word;'>6</td><td style='text-align: center; word-wrap: break-word;'>ToF</td><td style='text-align: center; word-wrap: break-word;'>339-422</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ICL [^36]</td><td style='text-align: center; word-wrap: break-word;'>A</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>1,599</td><td style='text-align: center; word-wrap: break-word;'>1,599</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>Struct</td><td style='text-align: center; word-wrap: break-word;'>200-380</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FORTH [^21]</td><td style='text-align: center; word-wrap: break-word;'>AV</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>7,148</td><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'>Struct</td><td style='text-align: center; word-wrap: break-word;'>200-1110</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NYU [^38]</td><td style='text-align: center; word-wrap: break-word;'>AV</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>8,252</td><td style='text-align: center; word-wrap: break-word;'>8,252</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>Struct</td><td style='text-align: center; word-wrap: break-word;'>510-1070</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UCI-EGO [^26]</td><td style='text-align: center; word-wrap: break-word;'>AVC</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>364</td><td style='text-align: center; word-wrap: break-word;'>3,640</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>ToF</td><td style='text-align: center; word-wrap: break-word;'>200-390</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>AVC</td><td style='text-align: center; word-wrap: break-word;'>10+</td><td style='text-align: center; word-wrap: break-word;'>1182</td><td style='text-align: center; word-wrap: break-word;'>23,640</td><td style='text-align: center; word-wrap: break-word;'>10</td><td style='text-align: center; word-wrap: break-word;'>Both</td><td style='text-align: center; word-wrap: break-word;'>200-1950</td></tr></table>

挑战类型：A-关节运动；V-视角；C-背景杂乱

<div style="text-align: center;">Table 1. Testing data sets: We group existing benchmark testsets into 3 groups based on challenges addressed - articulation, viewpoint, and/or background clutter. We also tabulate the number of captured scenes, number of annotated versus total frames, number of subjects, camera type (structured light vs time-of-flight), and distance of the hand to camera. We introduce a new dataset (Ours) that contains a significantly larger range of hand depths (up to 2m), more scenes (10+), more annotated frames (24K), and more subjects (10) than prior work.</div>

在度量指标方面，标注者约有20%的时间存在分歧（原因在于物体自身遮挡、物体间遮挡以及分辨率较低）。这不仅对测试基准直接产生影响，也给训练数据的收集与标注带来了挑战。最后，我们的神经网络基线模型揭示了一些令人惊讶的现象：单纯记忆训练数据就能取得不错的效果，甚至优于大多数现有系统。训练数据中的差异往往比模型架构本身的差异更为显著（例如决策树与深度神经网络之间的对比）。因此，我们的分析得出了一个重要结论：“一切皆取决于（训练）数据”。

以往的研究：我们的工作继承了基准测试[^8] [^28]和出租车数据分析[^7] [^29]的优良传统。具体而言，Erol等人[^7]于2007年对手部姿态分析进行了综述。随着商用深度相机的问世，当代相关方法有了显著发展。我们认为现在是重新审视该领域的恰当时机。我们开展了广泛的跨数据集分析（即在不同数据集上训练和测试系统[^39]）。基准测试中涉及的人类水平研究[^16]启发了我们对人体表现的分析。最后，我们的神经网络基线模型深受非参数化姿态估计方法的启发[^30]。具体来说，我们在3D扫描窗口（或体积）框架中使用了体素深度特征，这与[^32]类似。不过，我们的基线模型无需进行SVM训练或使用多线索特征，因此实现起来更为简单。

### 2. 测试数据

基于深度的手部姿态估计测试场景发展迅速。早期研究在合成数据上进行评估，而当代研究几乎全是在真实数据上开展评估。但由于手动标注存在困难（这一点我们稍后会再提及），评估并不总是定量的——通常只是展示部分帧以给出性能的定性判断[^5] [^21]。我们从根本上认为，对真实数据进行定量评估对于该领域的持续发展至关重要。

测试集特性：我们在表1中列出了当代测试基准的清单，补充材料第A节给出了相应网址。具体的数据集特性摘要请参见表格说明。针对每个数据集，图3通过多维缩放技术可视化了其覆盖的姿态空间。我们同时绘制了关节位置（采用居中且归一化的坐标系）和关节角度。值得注意的是，位置图考虑了手部的全局朝向（即相机视角），而角度图则未考虑这一点。大多数数据集在关节角度方面具有多样性，但在位置方面却存在局限（这意味着视角范围有限）。事实上，我们发现以往的数据集对关节运动、视角，或许最重要的是背景杂乱程度做出了各种假设。这些假设很有用，因为它们能让研究人员专注于问题的特定方面。然而，明确说明这些假设至关重要[^39]——而以往很多研究并未做到这点。我们在下文中会予以说明。

关节运动：许多数据集侧重于姿态估计，并假设手部检测及整体视角要么是已知的，要么变化范围有限。此类数据集包括MSRA [^25]、A-Star [^42] 和 Dexter [^33]。我们选取ICL [^36] 作为实验评估的代表性示例，因为它已被多项先前发表的研究所采用 [^4] [^36]。

关节运动与视角：其他测试集则同时关注视角变化和关节运动。FORTH [^21] 提供了五个具有不同关节运动和视角的测试序列，但遗憾的是这些序列并未标注。在我们的实验中，我们分析了NYU数据集 [^38]，因其姿态变化范围更广（见图3）且标注准确（见第3节）。

关节运动 + 视角 + 杂乱背景：最困难的数据集包含难以分割的杂乱背景。这类数据集往往聚焦于处于活动状态且与附近物体及表面相互作用的自然场景中的手部。UCI-EGO [^26] 数据集提供了源自自我中心视角且具有挑战性的序列，因此被纳入我们的基准分析之中。

我们的测试集：我们的实证评估将表明，自然场景中的手部活动仍然极具挑战性。为了推动该领域的研究，我们收集并标注了属于自己的真实图像测试集（在表1中标记为“Ours”，示例见图2）。据我们所知，我们的数据集是首个专注于多个受试者及多类杂乱场景下手部姿态估计的数据集。这一点至关重要，因为任何实际应用都必须能够应对多样化的受试者、场景和杂乱背景。

---

![Image](images/6b035fef38c11e64cdfa4fb02d69165cb81cdb61408bedc45b05e5239325a0c5.jpg)

<div style="text-align: center;">Figure 2. Our new test data challenges methods with clutter, object manipulation, low-res, and various viewpoints. We collected data in diverse environments (8 offices, 4 homes, 4 public spaces, 2 vehicles, and 2 outdoors) using time-of-flight (Intel/Creative Gesture Camera) and structured-light (ASUS Xtion Pro) depth cameras. Ten (3 female and 7 male) subjects were given prompts to perform natural interactions with objects in the environment, as well as display 24 random and 24 canonical poses.</div>

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

<div style="text-align: center;">Figure 3. Pose variation: We use MDS (multi-dimensional scaling) to plot the pose space covered by various hand datasets. For each testset, we plot the convex hull of its poses. We plot joint positions (left) and joint angles (right). In terms of joint angle coverage (which does not consider the “root” orientation of the hand itself), most datasets are similar. In terms of joint position, some datasets are limited because they consider a smaller range of viewpoints (e.g., ICL and A-STAR). We further analyze various assumptions made by datasets in the text.</div>

### 3. 训练数据

在此我们探讨生成训练数据的各种方法（参见表2）。真实标注的训练数据长期以来一直是监督学习的黄金标准。然而，业界普遍的观点是（针对手部姿态估计而言），姿态空间过于庞大，难以手动标注。这促使人们采用合成生成的训练数据，下文将对此进一步讨论。

真实数据 + 手动标注：可以说，手部姿态空间超出了真实数据所能覆盖的范围。我们的实验发现了第二个问题：或许令人惊讶的是，人类标注者在姿态标注上常常存在分歧。例如，在我们的测试集中，当以20毫米为阈值时，人类标注者对20%的姿态标注存在分歧，如图9所示。这些分歧源于原始传感器数据的局限性，要么是分辨率不足，要么是存在遮挡现象（详见补充材料中的G节）。通过将手部靠近摄像头，往往可以缓解这些歧义 [^25] [^36] [^42]。作为一个示例，我们评估了ICL训练集 [^36]。

真实数据 + 自动标注：数据手套可直接为真实数据提供自动化的姿态标注 [^42]。不过，

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>Generation</td><td style='text-align: center; word-wrap: break-word;'>Viewpoint</td><td style='text-align: center; word-wrap: break-word;'>Views</td><td style='text-align: center; word-wrap: break-word;'>Size</td><td style='text-align: center; word-wrap: break-word;'>Subj.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ICL [^36]</td><td style='text-align: center; word-wrap: break-word;'>Real + manual annot.</td><td style='text-align: center; word-wrap: break-word;'>3rd Pers.</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>331,000</td><td style='text-align: center; word-wrap: break-word;'>10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NYU [^38]</td><td style='text-align: center; word-wrap: break-word;'>Real + auto annot.</td><td style='text-align: center; word-wrap: break-word;'>3rd Pers.</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>72,757</td><td style='text-align: center; word-wrap: break-word;'>1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UCI-EGO [^26]</td><td style='text-align: center; word-wrap: break-word;'>Synthetic</td><td style='text-align: center; word-wrap: break-word;'>Egocentric</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>10,000</td><td style='text-align: center; word-wrap: break-word;'>1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>libhand [^41]</td><td style='text-align: center; word-wrap: break-word;'>Synthetic</td><td style='text-align: center; word-wrap: break-word;'>Generic</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>25,000,000</td><td style='text-align: center; word-wrap: break-word;'>1</td></tr></table>

<div style="text-align: center;">Table 2. Training data sets: We broadly categorize training datasets by the method used to generate the data and annotations: real data + manual annotations, real data + automatic annotations, or synthetic data (and automatic annotations). Most existing datasets are viewpoint-specific (tuned for 3rd-person or egocentric recognition) and limited in size to tens of thousands of examples. NYU is unique in that it is a multiview dataset collected with multiple cameras, while ICL contains shape variation due to multiple (10) subjects. To explore the effect of training data, we use the public libhand animation package to generate a massive training set of 25 million examples.</div>

它们需要耗费大量时间进行针对每个用户的校准，还会扭曲深度图中观察到的手部形状。另一种方法是使用“被动式”动作捕捉系统。我们评估了NYU训练集 [^38]，该系统通过（离线）将蒙皮3D手部模型拟合到高质量3D测量数据上来为真实数据标注。

准合成数据：利用几何计算机图形模型来扩充真实数据，是一种颇具吸引力的解决方案。例如，可以对真实数据及其标注应用几何变换（如旋转）[^36]。如果使用多个深度相机来采集真实数据（随后将其与模型对齐），就能合成更多样化的视角数据[^38]。最后，在使用合成数据时，模拟真实数据的噪声和伪影往往至关重要。域迁移方法[^4]能够学习小型真实数据集与大型合成数据集之间的关系。

合成数据：另一种思路是利用计算机图形系统渲染出的数据。图形合成完全绕开了标注难题：精确的标注可以与特征一同被渲染出来。在合成新样本时，定义良好的采样分布至关重要。UCI-EGO训练集[^26]就是基于以自我为中心的视角和抓取姿态先验来合成数据的。生成采样分布的常用策略是利用动作捕捉数据来收集姿态样本[^3] [^10]。为了进一步探究训练数据的影响，我们借助开源的libhand模型创建了一个包含2500万个RGB-D训练实例的大型定制训练集（部分示例如表4所示）。

### 4. 方法

接下来我们将概述现有的手部姿态估计方法（总结于表3）。最后我们会介绍一种新颖的体素最近邻（NN）基线方法。

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Approach</td><td style='text-align: center; word-wrap: break-word;'>Model-drv.</td><td style='text-align: center; word-wrap: break-word;'>Data-drv.</td><td style='text-align: center; word-wrap: break-word;'>Detection</td><td style='text-align: center; word-wrap: break-word;'>Implementation</td><td style='text-align: center; word-wrap: break-word;'>FPS</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Simulate [^17]</td><td style='text-align: center; word-wrap: break-word;'>Tracker (simulation)</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Initialization</td><td style='text-align: center; word-wrap: break-word;'>Published</td><td style='text-align: center; word-wrap: break-word;'>50</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NiTE2 [^24]</td><td style='text-align: center; word-wrap: break-word;'>Tracker (pose search)</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Initialization</td><td style='text-align: center; word-wrap: break-word;'>Public</td><td style='text-align: center; word-wrap: break-word;'>&gt; 60</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Particle Swarm Opt. (PSO) [^21]</td><td style='text-align: center; word-wrap: break-word;'>Tracker (PSO)</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Initialization</td><td style='text-align: center; word-wrap: break-word;'>Public</td><td style='text-align: center; word-wrap: break-word;'>15</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hough Forest [^42]</td><td style='text-align: center; word-wrap: break-word;'>Decision forest</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Decision forest</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>12</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Random Decision Forest (RDF) [^14]</td><td style='text-align: center; word-wrap: break-word;'>Decision forest</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Latent Regression Forest (LRF) [^36]</td><td style='text-align: center; word-wrap: break-word;'>Decision forest</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>Published</td><td style='text-align: center; word-wrap: break-word;'>62</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepJoint [^38]</td><td style='text-align: center; word-wrap: break-word;'>Deep network</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Decision forest</td><td style='text-align: center; word-wrap: break-word;'>Published</td><td style='text-align: center; word-wrap: break-word;'>25</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepPrior [^19]</td><td style='text-align: center; word-wrap: break-word;'>Deep network</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Scanning window</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>5000</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepSegment [^9]</td><td style='text-align: center; word-wrap: break-word;'>Deep network</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Scanning window</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Intel PXC [^12]</td><td style='text-align: center; word-wrap: break-word;'>Morphology (convex detection)</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Heuristic segment</td><td style='text-align: center; word-wrap: break-word;'>Public</td><td style='text-align: center; word-wrap: break-word;'>&gt; 60</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cascades [^26]</td><td style='text-align: center; word-wrap: break-word;'>Hierarchical cascades</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Scanning window</td><td style='text-align: center; word-wrap: break-word;'>Provided</td><td style='text-align: center; word-wrap: break-word;'>30</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>EPM [^43]</td><td style='text-align: center; word-wrap: break-word;'>Deformable part model</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Scanning window</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>1/2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Volumetric Exemplars</td><td style='text-align: center; word-wrap: break-word;'>Nearest neighbor (NN)</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>Yes</td><td style='text-align: center; word-wrap: break-word;'>Scanning volume</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>1/15</td></tr></table>

<div style="text-align: center;">Table 3. Summary of methods: We broadly categorize the pose estimation systems that we evaluate by their overall approach: decision forests, deep models, trackers, or others. Though we focus on single-frame systems, we also evaluate trackers by providing them manual initialization. Model-driven methods make use of articulated geometric models at test time, while data-driven models are trained beforehand on a training set. Many systems begin by detecting hands with a Hough-transform or a scanning window/volume search. Finally, we made use of public source code when available, or re-implemented the system ourselves, verifying our implementation's accuracy on published benchmarks. ‘Published’ indicates that published performance results were used for evaluation, while ‘public’ indicates that source code was available, allowing us to evaluate the method on additional testsets. We report the fastest speeds (in FPS), either reported or our implementation's.</div>

#### 4.1. 分类

跟踪器与检测器：我们的分析重点集中在单帧方法上。为求完整起见，我们也考虑了几种需要真实值初始化的跟踪基线[^12] [^21] [^24]。手动初始化或许会带来不公平的优势，但我们会证明单帧方法依然具有竞争力，且在大多数情况下表现优于基于跟踪的方法。原因之一是单帧方法本质上会在每一帧“重新初始化”自身，而跟踪器一旦出错便无法恢复。

数据驱动与模型驱动：以往估算手部姿态的尝试，都是优化几何模型以匹配观测数据[^5] [^21] [^34]。然而，由于目标函数中存在局部最小值，这类优化向来十分困难。因此，模型驱动系统主要在跟踪领域取得成效，因为初始化能限制搜索空间[^17] [^25] [^33]。对于单图像检测而言，各种快速分类器[^12] [^14]已经能够实现实时处理速度。我们评估的大多数系统都属于这一类别。当这些分类器用基于几何模型合成的数据进行训练时，它们可被视为对模型拟合的高效近似。

多阶段流水线：通常将初始检测（候选生成）阶段与手部姿态估计分开处理。有些系统会将专用检测器用作“预处理”阶段 [^12] [^14] [^21] [^27] [^38] [^42]。另一些系统则在“后处理”阶段利用几何模型进行逆向运动学（IK）的优化/验证 [^17] [^33] [^38] [^42]。基于分割的预处理阶段在历史上颇为流行。通常，会通过简单的形态学操作对深度图像进行分割 [^23]，或是利用皮肤分类器对RGB图像进行分割 [^40]。虽然RGB特征能够补充深度信息 [^11] [^26]，但皮肤分割在不同受试者以及光照条件各异的场景中难以实现通用化 [^25]。为完整性起见，我们评估了一个基于深度的分割系统 [^12]。

#### 4.2. 架构

在本节中，我们将介绍常用的手部姿态估计架构，并将我们实际评估过的系统用粗体标出。

决策森林：决策森林是基于深度数据估计手部姿态的主流范式。Hough Forest [^42] 采用两阶段方法：先进行手部检测，再进行姿态估计。随机决策森林（RDFs）[^14] 和潜在回归森林（LRFs）[^36] 并未明确指定初始检测阶段，但两者都利用从粗到细的决策树，先完成粗略的视角分类，再进行详细的姿态估计。我们针对RDFs和LRFs尝试了多种检测前端，最终选择了Hough Forest中的第一阶段检测器，因其性能出色。

部件模型：图像结构模型在人体姿态估计领域应用广泛，但在手部姿态估计中却较为少见。为完整性起见，我们评估了一种定义在深度图像块上的可变形部件模型。我们专门训练了一种示例性部件模型（EPM），该模型被限制为只能模拟与3D示例一致的形变 [^43]，相关细节将在技术报告中进一步阐述。

深度模型：近期的研究开始探索使用深度神经网络进行手部姿态估计。我们在实验中考虑了三种变体。DeepJoint [^38] 采用三阶段流水线：首先利用决策森林检测手部，接着通过深度网络回归关节位置，

---

最后利用逆向运动学（IK）优化关节预测结果。DeepPrior [^19] 基于类似的深度网络，但无需IK阶段，而是依靠网络本身来学习空间先验。DeepSeg [^9] 采用像素标注方法，为每个像素预测关节标签，再通过聚类阶段确定关节位置。这一流程让人联想到Kinect的像素级部件分类 [^31]，只不过此处用深度网络取代了决策森林。

#### 4.3. 体积式示例

我们提出了一种用于额外诊断分析的最近邻（NN）基准方法。具体来说，我们将深度图测量数据转换为3D体素网格，通过用体积式示例模板在该网格上扫描，同时完成检测与姿态估计。我们引入了多项改进以确保扫描搜索的高效性。

体素网格：深度相机将深度信息表示为像素 $(u, v)$ 坐标的函数：$D(u, v)$。要构建体素网格，我们首先利用已知的相机内参 $f_u, f_v$ 将这些图像测量结果重新投影到三维空间中。

 $$ (x,y,z)=\left(\frac{u}{f_{u}}D(u,v),\frac{v}{f_{v}}D(u,v),D(u,v)\right) $$

给定一张测试用深度图像，我们构建一个二进制体素网格$V[x, y, z]$，若某个量化$(x, y, z)$位置处存在深度值，则该网格单元的值为“1”。为了覆盖相机的大致可视区域，我们定义了一个由$M^3$个体素组成的坐标系，其中$M = 200$且每个体素占据$10mm^3$的空间。我们同样将训练样本转换为体素样本$E[x, y, z]$，但使用的是尺寸更小的体素网格$N^3$（其中$N = 30$），这一尺寸与手部大小相匹配。

遮挡现象：当在某个位置 $(x', y', z') = 1$ 观测到深度测量值时，其背后的所有体素都会被遮挡 $z > z'$。我们将测试时的体积模型 V 和训练样本 E 中的被遮挡体素均定义为“1”。

距离度量：设 $V_j$ 为从 V 中提取出的 $j^{\text{th}}$ 子体积（大小为 $N^3$），设 $E_i$ 为对应的 $i^{\text{th}}$ 样本。我们通过计算汉明距离来确定最佳匹配，从而同时完成检测与姿态估计：

 $$ (i^{*},j^{*})=\underset{i,j}{\mathrm{a r g m i n}}\mathrm{D i s t}(E_{i},V_{j})\qquad\mathrm{w h e r e} $$

 $$ \mathrm{Dist}(E_{i},V_{j})=\sum_{x,y,z}\mathcal{I}(E_{i}[x,y,z]\neq V_{j}[x,y,z]), $$

使得 $i^{*}$ 为最佳匹配的训练样本，而 $j^{*}$ 为其检测到的位置。

高效搜索：对样本和子体积进行朴素搜索的速度会慢得无法接受。但由于底层特征是二进制的且较为稀疏，因此存在很大的加速空间。我们提出了两种简单的策略。首先，可以排除那些为空或完全…

![Image](images/439ef764b227ba2b7a62e057cdb98d8ed97bcb0d0544df7c18c9973f815d96c6.jpg)

<div style="text-align: center;">Figure 4. Volumetric Hamming distance: We visualize 3D voxels corresponding to an exemplar (a) and subvolume (b). For simplicity, we visualize a 2D slice along a fixed y-value. Because occluded voxels are defined to be '1' (indicating they are occupied, shown in blue) the total Hamming distance is readily computed by the L1 distance between projections along the z-axis (c), mathematically shown in Eq.(4).</div>

<div style="text-align: center;">Figure 5. Windows v. volumes: 2D scanning windows (a) versus 3D scanning volumes (b). Volumes can ignore background clutter that lies outside the 3D scanning volume but still falls inside its 2D projection. For example, when scoring the shown hand, a 3D volume will ignore depth measurements from the shoulder and head, unlike a 2D window.</div>

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

![Image](images/03d60fe3273029be2646160de1413e7b4d88f0db5baee3634c36c630ac502501.jpg)

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

被遮挡或超出相机视野范围。Song等人[^32]将此类剪枝策略称为“跳跃窗口”搜索。其次，可以利用二维计算来得出体积汉明距离：

 $$ \begin{aligned}Dist(E_{i},V_{j})&=\sum_{x,y}|e_{i}[x,y]-v_{j}[x,y]|\qquad where\quad(4\\e_{i}[x,y]&=\sum_{z}E_{i}[x,y,z],\qquad v_{j}[x,y]=\sum_{z}V_{j}[x,y,z].\end{aligned} $$

直观来讲，由于我们的三维体积是由2.5D测量数据投影得到的，因此可以用二维数组对其进行稀疏编码（见图4）。综合来看，这两种简单策略意味着三维体积搜索的实际效率可与二维扫描窗口搜索相媲美。对于数量不多的样本而言，我们的实现每帧仍需数十秒的处理时间，这足以满足离线分析的需求。我们认为，更快速的近邻算法有望实现实时处理速度 [^18]。

对比分析：我们的体积型样本基线采用扫描体积搜索和二维深度编码方式。将其与基于深度特征的“标准”二维扫描窗口模板 [^13] 进行对比很有意义。首先，我们的样本是基于度量坐标定义的（公式1）。这意味着它们不会像基于不同尺度的扫描窗口搜索那样，在玩具模型的小手上触发匹配。其次，我们的体积搜索确保局部窗口内的深度编码仅包含固定 $N^3$ 体积内的特征。这使得它能够分离出背景杂讯，而二维窗口则无法做到这一点（见图5）。

---

![Image](images/83eb9c0df5c6e5813f44b42949358717a842be99a728d451292f361ca991a24c.jpg)

<div style="text-align: center;">Figure 6. Our error criteria: For each predicted hand, we calculate the average and maximum distance (in mm) between its skeletal joints and a ground-truth. In our experimental results, we plot the fraction of predictions that lie within a distance threshold, for various thresholds. This figure visually illustrates the misalignment associated with various thresholds for max error. A 50mm max-error seems visually consistent with a “roughly correct pose estimation”, and a 100mm max-error is consistent with a “correct hand detection”.</div>

### 5. 评估协议

重投影误差：遵循以往的研究，我们将姿态估计视为回归任务，预测一组3D关节位置 [^14] [^21] [^25] [^36] [^37]。给定预测姿态和真实姿态后，我们计算所有关节的平均3D重投影误差和最大3D重投影误差（单位：毫米）。我们采用libhand定义的骨骼关节 [^41]。我们通过绘制测试帧中平均误差（或最大误差）低于某一阈值的比例来总结性能表现。

误差阈值：以往的许多研究都采用较低的误差阈值来评估性能，接近10毫米 [^36] [^38] [^42]。有趣的是，[^19]指出，像ICL测试集这样的常用基准数据集中，超过三分之一的帧存在超过10毫米的标注误差。这种误差源于对关节、骨骼以及质心与表面点的手动标注差异。我们通过新测试集上的标注者间一致性评估来严格检验人类水平的性能（见图9）。总体而言，我们发现20毫米的最大误差已接近人手附近区域的人类精度极限。我们在图6中展示了不同阈值下最大误差的定性可视化结果：50毫米左右的误差可视为姿态基本正确，而100毫米以内的误差则可视为检测正确。我们的定性分析与关于人类抓握 [^1] 和手势 [^35] 的实证研究一致，这些研究也表明50毫米足以区分不同的手势或抓握方式。为完整起见，我们绘制了涵盖广泛阈值范围的结果，但重点对50毫米和100毫米阈值进行进一步分析。

检测问题：在检测失败的情况下，重投影误差难以定义：即误检出手或漏检手的情况。在场景杂乱或仅存在零只或两只手时，这类失败很常见。如果某方法在手存在时未检测出任何手部，或手不存在时却检测出一只手，则将其视为“达到上限”的重投影误差（$\infty$ 毫米）。若场景中存在两只手，我们会针对每只手分别评估该方法并取最小误差。尽管我们计划t^{-}

缺失数据：重投影误差面临的另一个挑战是数据缺失。首先，有些方法预测的是2D关节而非3D关节 [^9] [^12] [^23] [^38]。理论上利用公式1推导深度应较为简单，但关节位置的微小2D误差会导致深度估算出现显著偏差。如果测量得到的深度位于分割区域之外，我们会回传分割/检测出的手的质心深度。以往的对比研究似乎并未采取这种做法 [^19]，这在一定程度上不公平地惩罚了2D方法 [^38]。其次，有些方法可能仅预测部分关节 [^12] [^23]。为确保比较的一致性，我们强制这类方法通过后续处理的逆向运动学（IK）阶段来预测可见关节的位置 [^38]。我们将libhand运动模型拟合到预测的关节上，进而推算出缺失关节的位置。第三，真实关节可能被遮挡。按照惯例，我们在基准分析中仅评估可见关节。

实现方式：我们会在有可用代码的情况下直接使用公开代码 [^12] [^21] [^24]。部分作者响应了我们的代码请求 [^26]。当没有现成软件时，我们会尝试自行重新实现相关方法。我们成功重新实现了 [^14] [^19] [^42]，其精度与已发表结果一致 [^19] [^36]。而在其他情况下，我们自行实现的版本并不够理想 [^36] [^38]。对于这类情况，我们会引用已发表的性能报告，但遗憾的是，这些报告仅针对其自身的数据集。这也在一定程度上促使我们开展多数据集分析。具体而言，以往的基准测试表明，即便算法并未直接相互竞争，仍可通过“一对一对比”的方式在不同数据集上比较算法性能（类似于对不直接交手的运动队进行排名的方法 [^22]）。我们正是利用自己的神经网络基线模型来实现这一点。最后，为了推动进一步的发展，我们将把所有实现代码以及评估代码一并公开。

### 6. 实验结果

现在我们来汇报实验结果，对比不同数据集和方法的表现。更详细的图表和额外的误差指标请参见补充材料章节B。我们首先探讨“问题的现状”：哪些问题已经得到解决，还有哪些仍是待解决的研究课题？最后我们会总结所吸取的具体经验，并为未来系统的开发指明方向。

基本已解决（不同姿态）：图7显示，在手部朝向摄像头的无遮挡场景数据集上（即ICL数据集），手部姿态估计问题基本已解决。深度模型、决策树和神经网络在关节姿态估计（85%的帧误差不超过50毫米）和手部检测（100%的帧误差不超过100毫米）方面均表现优异。令人惊讶的是，神经网络的表现略优于决策树。然而，当神经网络在其他姿态变化更大的数据集上训练时，其性能会显著下降。这表明测试集中的姿态与训练集中的姿态极为相似。训练数据中未出现过的新型姿态是导致剩余误差的主要原因。更多的训练数据（或更好的模型泛化能力）应能纠正这一问题。不过，对于针对有限词汇表中足够不同的姿态的应用场景（如游戏界面）而言，这种情况或许是可以接受的。这些结果表明，现有技术能够准确预测无遮挡场景中不同的手部姿态（即姿态差异达到50毫米）。

---

![Image](images/e0fe1a2501d2e69f597ce3f858b7b5c5a19e5d801459234982a323ba12d2d844.jpg)

<div style="text-align: center;">Table 4. Cross-dataset generalization: We compare training and test sets using a 1-NN classifier. Diagonal entries represent the performance using corresponding train and test sets. In each grid entry, we denote the percentage of test frames that are correct (50mm max-error, above, and 50mm average-error, below) and visualize the median error using the colored overlays from Fig. 6. We account for sensor specific noise artifacts using established techniques [^2]. Please refer to the text for more details.</div>

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

<div style="text-align: center;">Figure 7. We plot results for several systems on the ICL testset using max-error (we include avg-error in supplemental Section B). Except for 1-NN, all systems are trained on the corresponding train set (in this case ICL-Train). To examine cross-dataset generalization, we also plot the performance of our NN-baseline constructed using alternate sets (NYU, EGO, and libhand). When trained with ICL, NN performs as well or better than prior art. One can find near-perfect pose matches in the training set (see Fig. 1). Please see text for further discussion.</div>

在姿态变化更大的其他数据集上，性能会显著变差。这表明测试姿态与训练姿态极为相似。新出现的姿态（即训练数据中未出现过的姿态）导致了大部分剩余的错误。更多的训练数据（或更优的模型泛化能力）应能纠正这些问题。不过，对于针对有限词汇表中足够独特的姿态的应用场景而言（例如游戏界面），这或许是合理的。这些结果表明，最先进的算法能够准确预测无杂乱场景中的不同姿态（即相距50毫米以上）。

![Image](images/17d62f51b9b3032e2f2f4d3c5ac53f8480c28efc768a6797334eeae0b8d1c038.jpg)

<div style="text-align: center;">Figure 8. Deep models [^19] [^38] perform noticeably better than other systems, and appear to solve both articulated pose estimation and hand detection for uncluttered single-user scenes (common in the NYU testset). In Supp. Sec. C.1, we show that 1-NN is much more competitive under average error, due to the fact that test hands often match a training example in all but one finger. Please see text for further discussion.</div>

重大进展（无约束姿态）：NYU测试集仍考虑孤立的手部，但与ICL相比，它涵盖了更广泛的姿态、视角和受试者范围（见图3）。图8显示，深度模型在关节姿态估计（准确率96%）和手部检测（准确率100%）方面表现最佳。虽然决策树在处理额外的姿态和视角变化时表现不佳，但神经网络仍表现出色。实际上，若以平均误差而非最大误差来衡量，神经网络的性能几乎可与[^38]相媲美。这表明样本能正确识别大部分而非全部手指（详见补充材料第C.1节）。自2007年以来，我们在无约束姿态估计领域取得了显著进展[^7]。

未解决的问题（低分辨率、物体遮挡、杂乱场景）：当处理包含远距离（低分辨率）手部图像以及被物体或交互表面占据的杂乱场景时（见图9和图10），识别结果会显著变差。需要注意的是，许多应用场景中[^31]往往要求手部距离摄像头超过750毫米。对于这类场景，手部检测仍是一项挑战。扫描窗口方法（如我们的NN基线模型）的表现往往优于多阶段流水线[^9] [^14]，因为后者可能在第一阶段（检测与分割）就出现无法挽回的错误。我们在补充材料第H节中展示了一些典型示例。不过总体性能依旧欠佳，尤其是与人类的表现相比。值得注意的是，对于远离摄像头的低分辨率手部图像，人类标注员的准确率也会下降（见图9）。我们的研究结果表明，现实环境中的手部活动场景仍超出了当前最先进技术的处理能力。

训练数据：我们利用NN基线模型来分析训练数据的影响，相关结果见表4。使用NYU训练集[^38]（由通过几何拟合的3D CAD模型自动标注的真实数据组成）时，我们的NN模型表现优于使用libhand训练集的情况。虽然扩大

---

![Image](images/4d81afe7cf1688393627ebbbfe64c5ef3ea3599c616390d5b52fc9f647763708.jpg)

![Image](images/004992d53baea718fac26da5a430e63d679a46eb56ab7eb4d9ca69c615025bec.jpg)

<div style="text-align: center;">Figure 9. We designed our dataset to address the remaining challenges of in “in-the-wild” hand pose estimation, including scenes with low-res hands, clutter, object/surface interactions, and occlusions. We plot human-level performance (as measured through inter-annotator agreement) in black. On nearby hands (within 750mm, as commonly assumed in prior work) our annotation quality is similar to existing testsets such as ICL [^19]. This is impressive given that our testset includes comparatively more ambiguous poses (see Supp. Sec. G). Our dataset includes far away hands, for which even humans struggle to accurately label. Moreover, several methods (Cascades, PXC, NiTE2, PSO) fail to correctly localize any hand at any distance, though the mean-error plots in Supp. Sec. B are more forgiving than the max-error above. In general, NN-exemplars and DeepPrior perform the best, correctly estimating pose on 75% of frames with nearby hands.</div>

使用合成训练集能提升性能（补充材料第D节），但计算量会迅速变得难以承受。这反映出使用合成数据的难度：必须仔细建模先验知识[^19]、传感器噪声[^11]以及不同用户之间的手部形状差异[^37]。此外，在某些情况下，基于特定训练集得出的NN性能差异，甚至超过了不同模型架构（决策树与深度模型）之间的差异——见图7。我们的研究结果表明，训练集的多样性和真实性，与从中学习到的模型形式同样重要。

NN模型与深度模型对比：总体而言，我们的1-NN基线模型表现出惊人的强大实力，其性能超越或匹配大多数现有系统。即便对于包含数万个样本的中等规模训练集也是如此，这一结果说明以往的大量研究本质上是在记忆训练样本。

![Image](images/32b25fd82488ead063e6daf7bd3227117966a264c69d869e28dd2b64e74b2e9e.jpg)

<div style="text-align: center;">Figure 10. For UCI-EGO, randomized cascades [^26] (the only approach specifically tackling egocentric viewpoints) and our NN baseline do about as well, but overall, performance is considerably worse than other datasets. No methods are able to correctly estimate the pose (within 50mm) on any frames. Egocentric scenes contain more background clutter and object/surface interfaces, making even hand detection challenging for many methods. Egocentric hand pose estimation remains an open problem.</div>

我们的分析成果之一在于提出了NN样本这一概念，它为理解所提出系统相对于训练集的行为提供了重要的基准。事实上，只有DeepJoint [^38]和DeepPrior [^19]这两种方法的表现显著优于1-NN（见图7和图8）。这表明深度架构能够很好地泛化到新的测试姿态。这可能与关于深度模型的传统认知相悖：即由于深度模型需要大规模训练集，因此本质上是在记忆数据。我们的研究结果却证明了并非如此。

结论：过去几年中，手部姿态识别领域取得了巨大进展：训练集、测试集以及模型方面均有显著突破。诸如游戏界面和手语识别等应用，对现有系统而言似乎已触手可及。不到十年前，情况还并非如此 [^7] [^23]。因此，我们确实取得了进步！不过挑战依然存在。具体而言，当由于手部活动或背景杂乱导致分割困难时，许多现有方法便会失效。为了展示这些现实中的挑战，我们引入了一个全新的测试集。结果表明，训练集的真实性与多样性至关重要，其重要性甚至可与模型架构的选择相媲美。在模型架构方面，我们进行了广泛的基准测试，发现深度模型尤其适合用于姿态估计。最后，我们证明基于体积样本的神经网络能提供一个极为强大的基准，从而为分析各类方法与数据集提供了又一有力工具。

致谢：NSF Grant 0954083、ONR-MURI Grant N00014-10-1-0933以及英特尔视觉计算科学技术中心为JS&DR的研究提供了支持。欧盟委员会FP7玛丽·居里国际流动性计划资助项目“Egovision4Health”（PIOF-GA-2012-328288）则为GR的研究提供了支持。

---

## 参考文献

[^1]: I. M. Bullock, S. Member, J. Z. Zheng, S. D. L. Rosa, C. Guertler, and A. M. Dollar. Grasp Frequency and Usage in Daily Household and Machine Shop Tasks. IEEE Trans. Haptics, 6(3), 2013.

[^2]: M. Camplani and L. Salgado. Efficient spatio-temporal hole filling strategy for Kinect depth maps. In SPIE, 2012.

[^3]: C. Castellini, T. Tommasi, N. Noceti, F. Odone, and B. Caputo. Using object affordances to improve object recognition. IEEE TAMD, 3(3), 2011.

[^4]: T. Y. D. Tang and T.-K. Kim. Real-time articulated hand pose estimation using semi-supervised transductive regression forests. In ICCV, 2013.

[^5]: Q. Delamarre and O. Faugeras. 3D Articulated Models and Multiview Tracking with Physical Forces. CVIU, 2001.

[^6]: J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. Imagenet: A large-scale hierarchical image database. In CVPR. IEEE, 2009.

[^7]: A. Erol, G. Bebis, M. Nicolescu, R. D. Boyle, and X. Twombly. Vision-based hand pose estimation: A review. CVIU, 2007.

[^9]: C. Farabet, C. Couprie, L. Najman, and Y. LeCun. Learning hierarchical features for scene labeling. TPAMI, 2013.

[^8]: M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The PASCAL visual object classes (VOC) challenge. IJCV, 2010.

[^10]: T. Feix, J. Romero, C. H. Ek, H. Schmiedmayer, and D. Kragic. A Metric for Comparing the Anthropomorphic Motion Capability of Artificial Hands. IEEE Robotics, 2013.

[^11]: S. Gupta, R. Girshick, P. Arbeláez, and J. Malik. Learning rich features from RGB-D images for object detection and segmentation. In ECCV. Springer, 2014.

[^12]: Intel. Perceptual computing SDK, 2013.

[^13]: A. Janoch, S. Karayev, Y. Jia, J. T. Barron, M. Fritz, K. Saenko, and T. Darrell. A category-level 3D object dataset: Putting the kinect to work. In CDC4CV. 2013.

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

[^15]: C. Li and K. M. Kitani. Pixel-Level Hand Detection in Ego-centric Videos. CVPR, June 2013.

[^16]: D. R. Martin, C. C. Fowlkes, and J. Malik. Learning to detect natural image boundaries using local brightness, color, and texture cues. TPAMI, 26(5), 2004.

[^17]: S. Melax, L. Keselman, and S. Orsten. Dynamics based 3D skeletal hand tracking. ACM SIGGRAPH - I3D, 2013.

[^18]: M. Muja and D. G. Lowe. Scalable Nearest Neighbor Algorithms for High Dimensional Data. TPAMI, 36(11), Nov. 2014.

[^19]: M. Oberweger, P. Wohlhart, and V. Lepetit. Hands Deep in Deep Learning for Hand Pose Estimation. CVWW, 2015.

[^20]: E. Ohn-Bar and M. M. Trivedi. Hand Gesture Recognition in Real Time for Automotive Interfaces: A Multimodal Vision-Based Approach and Evaluations. IEEE TITS, 2014.

[^21]: I. Oikonomidis, N. Kyriazis, and A. Argyros. Efficient model-based 3D tracking of hand articulations using kinect. In BMVC, 2011.

[^22]: Y. Pang and H. Ling. Finding the Best from the Second Bests-Inhibiting Subjective Bias in Evaluation of Visual Tracking Algorithms. ICCV, Dec. 2013.

[^23]: P. Premaratne, Q. Nguyen, and M. Premaratne. Human computer interaction using hand gestures. Springer, 2010.

[^24]: PrimeSense. Nite2 middleware, 2013. Version 2.2.

[^25]: C. Qian, X. Sun, Y. Wei, X. Tang, and J. Sun. Realtime and robust hand tracking from depth. CVPR 2014.

[^26]: G. Rogez, M. Khademi, J. S. S. III, J. M. M. Montiel, and D. Ramanan. 3D hand pose detection in egocentric rgb-d images. CDC4CV Workshop, 2014.

[^27]: J. Romero, H. Kjellstrom, and D. Kragic. Monocular Real-Time 3D Articulated Hand Pose Estimation. IEEE-RAS Humanoids, 2009.

[^28]: O. Russakovsky, J. Deng, Z. Huang, A. C. Berg, and L. Fei-Fei. Detecting avocados to zucchinis: what have we done, and where are we going? In ICCV. IEEE, 2013.

[^29]: D. Scharstein. A Taxonomy and Evaluation of Dense Two-Frame Stereo. IJCV, 47(1), 2002.

[^30]: G. Shakhnarovich, P. Viola, and T. Darrell. Fast pose estimation with parameter-sensitive hashing. In ICCV, 2003.

[^31]: J. Shotton, T. Sharp, A. Kipman, A. Fitzgibbon, M. Finochio, A. Blake, M. Cook, and R. Moore. Real-time human pose recognition in parts from single depth images. Communications of the ACM, 56(1), 2013.

[^32]: S. Song and J. Xiao. Sliding Shapes for 3D Object Detection in Depth Images. ECCV, 2014.

[^33]: S. Sridhar, A. Oulasvirta, and C. Theobalt. Interactive Markerless Articulated Hand Motion Tracking Using RGB and Depth Data. ICCV, 2013.

[^34]: B. Stenger, A. Thayananthan, P. H. S. Torr, and R. Cipolla. Model-based hand tracking using a hierarchical Bayesian filter. IEEE TPAMI, 28(9), Sept. 2006.

[^35]: W. C. Stokoe. Sign language structure: An outline of the visual communication systems of the american deaf. Journal of deaf studies and deaf education, 10(1), 2005.

[^36]: D. Tang, H. J. Chang, A. Tejani, and T.-K. Kim. Latent regression forest: Structured estimation of 3D articulated hand posture. CVPR, 2014.

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

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

[^39]: A. Torralba and A. A. Efros. Unbiased look at dataset bias. In CVPR, pages 1521–1528. IEEE, 2011.

[^40]: V. Vezhnevets, V. Sazonov, and A. Andreeva. A survey on pixel-based skin color detection techniques. In Proc. Graphicon, volume 3. Moscow, Russia, 2003.

[^41]: M. Šarić. Libhand: A library for hand articulation, 2011.

[^42]: C. Xu and L. Cheng. Efficient Hand Pose Estimation from a Single Depth Image. ICCV, Dec. 2013.

[^43]: X. Zhu, C. Vondrick, D. Ramanan, and C. Fowlkes. Do we need more training data or better models for object detection?. In BMVC, 2012.
