
# 深入探究用于手部姿态估计的深度学习

Markus Oberweger Paul Wohlhart Vincent Lepetit

计算机图形与视觉研究所

奥地利格拉茨技术大学

{oberweger, wohlhart, lepetit}@icg.tugraz.at

## 摘要

我们介绍并评估了几种用于卷积神经网络的架构，这些网络能够根据深度图预测手部的3D关节位置。我们首先证明，引入3D姿态先验可以轻松提升预测结果的准确性和可靠性。我们还展示了如何有效利用上下文信息来解决手指之间的歧义问题。这两项成果使我们能够在多个具有挑战性的基准测试中显著超越现有技术水平，无论是在准确性还是计算时间方面。代码可在<https://github.com/moberweger/deep-prior/>获取。

### 1. 引言

精准的手部姿态估计是许多人机交互或增强现实任务的重要需求，它受到了计算机视觉研究界的广泛关注[^10] [^11] [^14] [^15] [^17] [^22] [^23] [^29]。即便借助结构光或飞行时间传感器等3D设备，这一任务依然极具挑战性，因为手部拥有大量的自由度，且在图像中会出现自身相似性和自遮挡现象。

鉴于计算机视觉领域当前的发展趋势，应用深度学习[^18]来解决这一任务是顺理成章的。一个简单的实验表明，采用标准架构的卷积神经网络（CNN）在应对该问题时表现极为出色。不过，网络的布局对输出结果的准确性有着重要影响[^4] [^21]，本文旨在确定针对该问题性能最佳的架构。

更具体地说，我们的贡献有两个方面：

我们证明可以学习手部姿态的先验模型，并将其无缝集成到网络中，以提升预测姿态的准确性。这便形成了一种具有独特“瓶颈”结构的网络，即某一层的神经元数量少于最后一层。

- 与以往的研究类似[^21] [^27]，我们采用细化阶段来独立优化每个关节的位置估计。由于这属于回归问题，因此在该阶段需谨慎使用空间池化和下采样操作。为解决这一问题，我们以关节的初始估计值为中心，设置多个输入区域：较小的输入区域采用极小的池化区域，较大的输入区域则采用较大的池化区域。较小的区域能保证精度，较大的区域则能提供上下文信息。

我们证明，凭借这些独创性贡献，我们在多个具有挑战性的基准测试中能够显著超越现有技术水平[^22] [^26]，无论是在准确性还是计算时间方面。我们的方法在单个GPU上的运行速度超过5000帧/秒，在CPU上也能达到500帧/秒以上，这一速度比现有技术快一个数量级。

在本文余下部分，我们首先在第2节简要回顾相关工作。第3节介绍我们的贡献，第4节则对这些贡献进行评估。

### 2. 相关工作

手部姿态估计是计算机视觉领域的一个老问题，早在九十年代就有相关文献记载，但如今该领域的研究十分活跃，这或许要归功于深度传感器的出现。关于早期研究的详细综述可参见 [^6]。本文仅讨论较新的研究成果，这些成果可分为两大类方法。

第一类方法基于生成式的、基于模型的跟踪技术。[^15] 和 [^17] 采用了三维手部模型……

---

……并利用粒子群优化算法来处理大量需要估计的参数。[^14] 还考虑了三维模型的动力学模拟。不少研究采用“合成式跟踪”思路：[^5] 考虑了阴影与纹理因素，[^1] 关注显著点，而 [^29] 则利用深度图像。所有这些方法都需要仔细的初始设置才能保证收敛，因此往往依赖基于前一帧姿态的跟踪结果，或是单独的初始化方法——例如，[^17] 要求指尖部分可见。这类基于跟踪的方法难以应对两帧之间的剧烈变化，而由于手部运动速度较快，这种情况十分常见。

第二类方法属于判别式方法，旨在直接从RGB或RGB-D图像中预测关节位置。例如，[^11] 和 [^13] 利用多层随机森林来进行预测。前者采用不变性深度特征，后者则在手部配置空间中进行聚类并逐像素标注。不过，这两种方法都无法预测真实的三维姿态，仅能根据预设的字典对给定姿态进行分类。受人体姿态估计研究的启发，[^20]，[^10] 利用随机森林对深度图像进行逐像素分类，再通过局部模式查找算法来估算二维关节位置。然而，这种方法无法直接推断隐藏关节的位置，而手部出现隐藏关节的情况比人体更为普遍。

[^23]: proposed a semi-supervised regression forest, which first classifies the hands viewpoint, then the individual joints, to finally predict the 3D joint locations. However, it relies on a costly pixel-wise classification, and requires a huge training database due to viewpoint quantization. The same authors proposed a regression forest in [^22] to directly regress the 3D locations of the joints, using a hierarchical model of the hand. However, their hierarchical approach accumulates errors, causing larger errors for the finger tips.

更近期的研究中，[^26] 采用卷积神经网络提取特征，并生成用于指示关节位置的小型“热图”，再通过逆运动学算法推断出手部姿态。不过，他们的方法仅能预测关节的二维位置，第三坐标则需借助深度图来确定，这对隐藏关节而言存在局限。此外，精度受限于热图的分辨率，且生成热图的计算成本较高，因为需要在每个像素位置都对卷积神经网络进行评估。

当然，手部姿态估计问题与人体姿态估计问题密切相关。为解决这一问题，[^20] 提出了逐像素语义分割与回归森林技术，可从单张深度图像中估算三维人体姿态。[^9] 最近证明，仅利用RGB图像也能实现同样的效果，具体方法是结合身体部位标注与迭代式结构化输出回归来实现三维关节定位。[^27] 最近提出用一系列卷积神经网络直接预测并迭代优化RGB图像中的二维关节位置。此外，[^25] 采用卷积神经网络进行部位检测，再辅以简单的空间模型，但该模型在姿态空间变化较大时效果并不理想。

在我们的研究中，我们借鉴了CNN的成功经验并加以利用，因为它们已展现出优异的性能。我们发现网络结构至关重要。因此，我们提出并研究了多种架构，以期找到最适合手部姿态估计问题的模型。我们提出了一种表现出色的网络结构，在两个具有挑战性的数据集上均优于基线模型。

### 3. 基于深度学习的手部姿态估计

在本节中，我们将介绍对手部姿态估计问题的原创性贡献。我们首先简要介绍该问题以及一种简单的2D手部检测器，我们利用它来获取手部的粗略边界框，作为基于CNN的姿态预测器的输入。

接着我们描述总体方法，该方法包含两个阶段。在第一阶段，我们考虑了能够同时预测所有关节位置的不同架构。可选地，这一阶段也可以在低维空间中预测姿态，相关内容将在后文详述。最后，我们详细介绍第二阶段，该阶段独立于第一阶段的预测结果，对关节位置进行精细化调整。

#### 3.1. 问题阐述

我们希望利用单张深度图像来估计J 3D手部关节位置$\mathbf{J} = \{\mathbf{j}_i\}_{i=1}^J$，这需要借助$\mathbf{j}_i = (x_i, y_i, z_i)$。我们假设已有标注了3D关节位置的深度图像训练集。为了简化回归任务，我们首先采用一种类似[^22]的简单方法，先估算出包含手部的粗略3D边界框；该方法假设手部是距离相机最近的物体：我们从深度图中提取以该物体质心为中心、尺寸固定的立方体——

---

接着将其缩放为大小为$128 \times 128$的深度值图像块，并归一化到$[-1, 1]$。对于那些没有深度数据的情况——比如使用结构光传感器时就可能出现这种情况——或者深度值大于该立方体背面的点，其深度值会被设为1。这种归一化处理对CNN而言至关重要，能使其对手部与相机之间的不同距离不敏感。

#### 3.2. 用于预测关节3D位置的网络结构

我们首先考察了两种标准的CNN架构。第一种如图1a所示，是一种简单的浅层网络，由一个卷积层、一个最大池化层和一个全连接隐藏层组成。我们考察的第二种架构如图1b所示，是一种更深但依然通用的网络[^12] [^27]，包含三个卷积层，随后是最大池化层以及两个全连接隐藏层。所有层均采用修正线性单元[^12]激活函数。

我们的研究结果将表明，不出所料，多尺度方法的性能优于深层架构，而深层架构的性能又优于浅层架构。不过，我们在接下来两节中介绍的研究成果带来了更为显著的提升。

此外，我们还评估了一种多尺度方法，该方法在[^7] [^19] [^25]中也有应用。采用这种方法的动机在于，使用多个尺度有助于捕捉上下文信息。该方法将输入图像的多个缩小版本作为网络的输入，如图1c所示。

#### 3.3. 对3D姿态施加先验约束

到目前为止，我们仅考虑了直接预测关节的3D位置。然而，由于手部存在物理约束，不同3D关节位置之间存在着强相关性，先前的研究[^28]也表明，低维嵌入足以参数化手部的3D姿态。因此，我们无需直接预测3D关节位置，而是可以在更低维的空间中预测姿态参数。由于这种方法能强制满足手部姿态的约束条件，因此可以预期它能提升预测的可靠性，这一点将通过我们的实验得到证实。

如图1d所示，我们通过在最后一层引入“瓶颈”结构，将姿态先验融入网络结构中。这个瓶颈层包含的神经元数量少于完整姿态表示所需的数量，即$\ll 3 \cdot J$。它迫使网络学习训练数据的低维表示，从而体现手部的物理约束。与[^28]类似，我们采用线性嵌入方式。嵌入过程由瓶颈层强制执行，而从嵌入空间到姿态空间的重构则作为单独的隐藏层被添加到瓶颈层之上。重构层的权重被设置为能够执行向$3 \cdot J$维关节空间的逆投影。由此得到的网络可直接计算出完整的姿态。我们用手部姿态数据的主成分分析所得的主要分量来初始化重构层的权重，随后通过反向传播训练整个网络。利用这种方法，我们训练了上一节中描述的网络。

正如实验中所示，对于一个42维的姿态向量而言，仅需8维的嵌入即可完全表征3D姿态。

#### 3.4. 优化关节位置估计

之前的架构会同时给出所有关节位置的估计值。如同[^21]和[^27]中所做的那样，这些估计值可以随后被独立优化。

空间上下文信息对于这一优化步骤至关重要，可避免不同手指之间的混淆。我们试验过的最佳架构如图2a所示。我们将这种架构称为ORRef，即基于重叠区域的优化方法。它以多个大小不一但均以第一阶段预测的关节位置为中心的图像块作为输入。最小的图像块不应用池化操作，而随着图像块尺寸增大，池化区域的大小也随之增加。较大的图像块能提供更多的空间上下文信息，而小图像块上不采用池化操作则能保证更高的精度。

我们还考虑了将标准CNN架构作为基线，如图1b所示，该架构仅依赖单个输入图像块。我们将这个基线称为StdRef，即基于标准架构的优化方法。

为了进一步提升位置估计的精度，我们会多次迭代这一优化步骤，每次都将网络以前一次迭代预测的位置为中心进行设置。

---

![Image](images/e9ef2de29fd1b7de34d108087249ad34f2df633cf2408aa049af6d87afc34561.jpg)

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

![Image](images/a73964edfcbd34c64cdcea3abc4d75a69704cb9dc7d847a007b1093fd2c72c25.jpg)

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

![Image](images/f91229f717f6472d60ab33e3703b5869787625cf4ae85ccffb29caa980966a96.jpg)

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

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

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

<div style="text-align: center;">Figure 1: Different network architectures for the first stage. C denotes a convolutional layer with the number of filters and the filter size inscribed, FC a fully connected layer with the number of neurons, and P a max-pooling layer with the pooling size. We evaluated the performance of a shallow network (a) and a deeper network (b), as well as a multi-scale architecture (c), which was used in [^7] [^19]. This architecture extracts features after downscaling the input depth map by several factors. (d) All these networks can be extended to incorporate the constrained pose prior. This causes an unusual bottleneck with less neurons than the output layer.</div>

![Image](images/cffc5c98188db43171d248fb19fab65356982afba24aae1c091d302f02d94fdb.jpg)

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

![Image](images/e9f00011f8d4ff6d7f32f825d0855247347fa3666ce880c649d17df97462c656.jpg)

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

<div style="text-align: center;">Figure 2: Our architecture for refining the joint locations during the second stage. We use a different network for each joint, to refine its location estimate as provided by the first stage. (a) The architecture we propose uses overlapping inputs centered on the joint to refine. Pooling with small regions is applied to the smaller inputs, while the larger inputs are pooled with larger regions. The smaller inputs allow for higher accuracy, the larger ones provide contextual information. We experimentally show that this architecture is more accurate than a more standard network architecture. (b) shows a generic architecture of an iterative refinement, where the output of the previous iteration is used as input for the next. As for Fig. 1, C denotes a convolutional layer, FC is a fully connected layer, and P is a max-pooling layer. (Best viewed in color)</div>

### 4. 评估

在本节中，我们会在多个具有挑战性的基准测试上对上一节介绍的不同架构进行评估。我们首先介绍这些基准测试以及我们方法的参数，接着说明评估指标，最后展示定量和定性的结果。结果显示，我们的各项改进显著优于现有最优方法。

---

#### 4.1. 基准测试

我们在以下两个数据集上评估了我们的方法：

NYU手部姿态数据集 [^26]：该数据集包含超过72,000张训练图像和8,000张测试图像，均为使用Primesense Carmine 1.09采集的RGB-D数据。这是一种结构光传感器，其深度图中在遮挡边界处存在较多缺失值，轮廓也较为模糊。在实验中我们仅使用深度数据。该数据集的标注十分精确，且包含多种不同的姿态变化。训练集来自单个用户，测试集则来自两名不同用户。真实标注中包含J=36个关节，不过 [^26] 仅使用J=14个关节，出于对比目的我们也采用相同的设置。

ICVL手部姿态数据集 [^22]：该数据集的训练集包含超过180,000张展示各种手部姿态的深度图像。测试集包含两组序列，每组约700张深度图。该数据集是使用Intel Creative Interactive Gesture Camera（一种飞行时间相机）采集的，共有 $J = 16$ 个标注关节。尽管作者提供了经过人工旋转处理的训练样本，但我们仅使用原始的22,000张图像。这些深度图像质量较高，几乎没有缺失的深度值，轮廓清晰且噪声较少。不过与NYU数据集相比，其姿态变化范围有限。此外，训练集和测试集中均有相当数量的样本标注有误：经评估发现，测试集中约36%的姿态标注误差至少为10毫米。

#### 4.2. 元参数与优化

神经网络的性能取决于多个元参数，我们对所评估的不同架构的元参数进行了大量实验调整。此处我们仅报告每种方法中性能最优的元参数组合结果。不过实验表明，性能更多地取决于架构本身，而非元参数的取值。

我们通过最小化预测结果与各关节期望输出之间的距离，并加入权重衰减的正则化项以防止过拟合来训练不同架构，其中正则化系数为0.001。我们不对遮挡关节和非遮挡关节加以区分。由于标注存在噪声，我们采用鲁棒性较强的Huber损失 [^8] 来评估差异。网络通过反向传播利用随机梯度下降法 [^3] 进行训练，批量大小为128，共训练100个周期。学习率设为0.01，动量参数取0.9 [^16]。

#### 4.3. 评估指标

我们使用两种不同的评估指标：

- 预测的3D关节位置与真实值之间的平均欧几里得距离；

- 所有预测关节与真实值之间的欧几里得距离均低于给定阈值的测试样本占比，这一做法参考了 [^24] 中的方法。该指标通常被认为极具挑战性，因为单个关节的位置偏差就会影响整个手部姿态的准确性。

#### 4.4. 姿态先验的重要性

在图3a和3c中，我们分别比较了NYU数据集和ICVL数据集中不同嵌入维度以及在完整的$3 \cdot J$维姿态空间中的直接回归效果。在两个数据集上的评估结果表明，与在完整姿态空间中直接回归相比，引入姿态先验能带来更好的效果。仅用原始42维或48维姿态空间中的8个维度就足以描述姿态，且在两个数据集上的表现都优于基线方法。不过，30维嵌入的效果最佳，因此我们在后续所有评估中都采用这一维度设置。对于标注噪声较多的ICVL数据集而言，性能提升虽不如NYU数据集明显，但结果仍与NYU数据集上的一致。

Tompson等人提出的NYU数据集基线方法[^26]仅提供关节的2D坐标。为进行对比，我们遵循他们的协议，利用深度图中每个关节的深度信息来生成可比较的3D坐标。那些不在手部立方体范围内的深度值会被截断为立方体背面的值，以避免出现较大误差。不过，如图4a所示，这种处理方式会对误差指标产生一定影响。从平均误差来看，这种增强方式对某些关节的效果不错。但很难说增强后的深度值对所有关节都是准确的。

---

![Image](images/efd693bd4243c7375e5eb74b4e52d36f80221c029da38d3ec544dc9e00d6bbbf.jpg)

<div style="text-align: center;">(a) Pose Prior on NYU dataset</div>

![Image](images/f09cc7d2780cb1297aee613d68b7f5455d92f02f28d9a553468074837f16eda4.jpg)

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

![Image](images/f1eafe478a9d01916c0a5b3fd3ba9e4319fa3749bae9815b0e222cf43dcd2c4d.jpg)

<div style="text-align: center;">(c) Pose Prior on ICVL dataset</div>

![Image](images/a958aa7bbcc8ad562c4bce6d2f2683485c57a212747dd568f5ecd2e772c5e476.jpg)

<div style="text-align: center;">(d) Refinement on ICVL dataset</div>

<div style="text-align: center;">Figure 3: Importance of the pose prior (left) and the refinement stage (right). We evaluate the fraction of frames where all joints are within a maximum distance for different approaches. A higher area under the curve denotes more accurate results. \textbf{Left}(a), (c): We show the influence of the dimensionality of the pose embedding. The optimal value is around 30, but using only 8 dimensions performs already very well. The pose prior allows us to significantly outperform the state-of-the-art, even before the refinement step. \textbf{Right}(b), (d): We show that our architecture with overlapping input patches, denoted by the ORRef suffix, provides higher accuracy for refining the joint positions compared to a standard deep CNN, denoted by the StdRef suffix. For the baseline of Tompson et al. [^26] we augment their 2D joint locations with the depth from the depth maps, as done by [^26], and depth values that do not lie within the hand cube are truncated to the cube's back face to avoid large errors. (Best viewed on screen)</div>

因为有些关节的2D坐标位于背景中或被自身遮挡，这会导致单个关节的误差较大。当采用[^24]所定义的评估指标时，要求所有关节的坐标偏差不得超过最大允许距离，此时这种异常值会产生显著影响；而评估平均误差时，单个异常值对平均值的影响则微乎其微。因此，在距离阈值指标下，我们的方法相较于基线方法的优势更为明显，而在平均误差指标下则不然。

#### 4.5. 通过姿态优化提升精度

优化阶段可用于进一步提升预测关节的位置精度。我们采用带有约束先验的手部模型CNN作为第一阶段，从而获得了最高的精度。

---

随后再应用第二阶段迭代优化，即采用带有重叠输入块的CNN，我们将其称为ORRef。

图3b、3d和4中的结果显示，应用优化后不同基础CNN的位置精度均得到提升。对于标准深度CNN给出的较为不准确的初始估计，我们提出的ORRef方法仅比基线深度CNN的优化结果（记为StdRef）略好一些。这是因为当初始误差较大时，只有较大的输入块才能提供足够的上下文信息来推断偏移量；若偏移量超过块的大小，较小的输入块就无法提供任何相关信息。而对于我们带有姿态先验的深度CNN所给出的更精确的初始估计，ORRef则能利用无需池化操作的小输入块来实现更高的精度。我们迭代执行两次优化，因为通常再进一步优化也不会显著提升精度。

需要强调的是，我们在ICVL数据集上取得的平均精度低于10毫米，这一结果已经接近标注本身的不确定性范围。如前所述，ICVL数据集存在标注不准确的问题，图5的第一列和第四列中的定性样本便体现了这一点。虽然这对训练的影响较小，但对评估的影响却较为明显。我们通过修正图像空间中的标注来评估测试序列的精度，计算出平均误差为2.4毫米，标准差为5.2毫米。

#### 4.6. 运行时间

表1对比了不同方法在CPU和GPU上的运行时间。这些测试是在配备Intel Core i7处理器、16GB内存以及nVidia GeForce GTX 780 Ti GPU的计算机上进行的。我们的方法使用Python语言和Theano库实现[^2]，该库提供了在CPU与GPU之间切换以评估CNN的选项。我们的模型运行速度极快，在单个GPU上可达到超过5000帧/秒的速率；训练每个CNN大约需要五小时。引入姿态先验的深度网络不仅运行迅速，其精度也优于所有其他方法。不过，若要进一步提升精度，就会以增加运行时间为代价。

#### 4.7. 定性结果

我们在图5中展示了定性结果。基于结构光传感器的典型问题，比如深度信息缺失，可能会对精准定位造成干扰。不过，如第三列和第四列所示的部分区域缺失并不会显著恶化最终结果。关节位置会受到已学得的手部模型的约束；一旦缺失区域过大（如第五列所示），精度便会下降。但由于采用了姿态子空间嵌入技术，预测出的关节位置仍能保持已学得的手部拓扑结构。ICVL数据集中的错误标注也会对结果产生负面影响——有时第一阶段预测的关节位置甚至比第二阶段得到的更精确：例如第一列或第四列中的小指部分。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Architecture</td><td style='text-align: center; word-wrap: break-word;'>GPU</td><td style='text-align: center; word-wrap: break-word;'>CPU</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Shallow</td><td style='text-align: center; word-wrap: break-word;'>0.07 ms</td><td style='text-align: center; word-wrap: break-word;'>1.85 ms</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Deep [^12]</td><td style='text-align: center; word-wrap: break-word;'>0.1 ms</td><td style='text-align: center; word-wrap: break-word;'>2.08 ms</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Multi-Scale [^7]</td><td style='text-align: center; word-wrap: break-word;'>0.81 ms</td><td style='text-align: center; word-wrap: break-word;'>5.36 ms</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Deep-Prior</td><td style='text-align: center; word-wrap: break-word;'>0.09 ms</td><td style='text-align: center; word-wrap: break-word;'>2.29 ms</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Refinement</td><td style='text-align: center; word-wrap: break-word;'>2.38 ms</td><td style='text-align: center; word-wrap: break-word;'>62.91 ms</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Tompson et al. [^26]</td><td style='text-align: center; word-wrap: break-word;'>5.6 ms</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Tang et al. [^22]</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>16 ms</td></tr></table>

<div style="text-align: center;">Table 1: Comparison of different runtimes. Our CNN with pose prior (Deep-Prior) is faster by a magnitude compared to the other methods (pose estimation only). We can further increase the accuracy using the refinement stage, still at competitive speed. All of the denoted baselines use state-of-the-art hardware comparable to ours.</div>

缺失深度数据会对精准定位造成困扰。不过，如第三列和第四列所示，只有部分区域缺失时并不会明显影响结果。关节位置会受到已学习到的手部模型的约束。如果缺失区域过大，如第五列所示，精度就会下降。但由于采用了姿态子空间嵌入技术，预测的关节位置仍能保留已学习到的手部拓扑结构。ICVL数据集中的错误标注会恶化最终结果，因为第一阶段预测出的位置有时比第二阶段得到的位置更精准：比如第一列或第四列中的小指部位就是如此。

### 5. 结论

我们评估了用于手部姿态估计的不同网络架构，这些架构可直接回归出3D关节位置。我们提出了一种受限先验手部模型，它能显著提升关节定位的精度；此外，我们还引入了针对特定关节的精细化处理阶段以提高定位精度。实验表明，在这种精细化过程中，采用具有不同池化大小的重叠输入块的CNN能够同时利用高输入分辨率和上下文信息来提升性能。我们在两个数据集上对比了这些架构，结果表明它们在定位精度和速度方面均优于以往的最优方法。

致谢：本研究得到了Christian Doppler手持增强现实实验室以及格拉茨技术大学FutureLabs基金会的资助。

---

![Image](images/cf04da10c1aa616cc824ad6060a6331612cd2a84ff1717a9ce4eccb82f1aa0ba.jpg)

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

![Image](images/ae08376f20459da0782970f4d82b90f00281340f75427e437516ffc882083e6b.jpg)

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

<div style="text-align: center;">Figure 4: Average joint errors. For completeness and comparability we show the average joint errors, which are, however, not as decisive as the evaluation in Fig. 3. Though, the results are consistent. The evaluation of the average error is more tolerant to larger errors of a single joint, which deteriorate the pose as for Fig. 3, but are insignificant for the mean if the other joints are accurate. Our proposed architecture Deep-Prior-ORRef, the constrained pose CNN with refinement stage, provides the highest accuracy. For the ICVL dataset, the simple baseline architectures already outperform the baseline. However, they cannot capture the higher variations in pose space and noisy images of the NYU dataset, where they perform much worse. The palm and fingers are indexed as C: palm, T: thumb, I: index, M: middle, R: ring, P: pinky, W: wrist. (Best viewed on screen)</div>

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

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

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

<div style="text-align: center;">Figure 5: Qualitative results. We show the interred joint locations on the depth images (in gray-scale), as well as the 3D locations with the point cloud of the hand (blue images) from a different angle. The ground truth is shown in blue, our results in red. The point cloud is only annotated with our results for clarity. The right columns show some erroneous results. One can see the difference between the global constrained pose and the local refinement, especially in the presence of missing depth values as shown in the fifth column. While the global pose constraint still preserves the hand topology, the local refinement cannot reason about the locations without the missing depth data. (Best viewed on screen)</div>

---

## 参考文献

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

[^2]: J. Bergstra, O. Breuleux, F. Bastien, P. Lamblin, R. Pascanu, G. Desjardins, J. Turian, D. Warde-Farley, and Y. Bengio. Theano: A CPU and GPU Math Expression Compiler. In Proc. of SciPy, 2010.

[^3]: L. Bottou. Large-Scale Machine Learning with Stochastic Gradient Descent. In Proc. of COMP-STAT, 2010.

[^4]: A. Coates, A. Y. Ng, and H. Lee. An Analysis of Single-Layer Networks in Unsupervised Feature Learning. In Proc. of AISTATS, 2011.

[^5]: M. de La Gorce, D. J. Fleet, and N. Paragios. Model-Based 3D Hand Pose Estimation from Monocular Video. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(9), 2011.

[^6]: A. Erol, G. Bebis, M. Nicolescu, R. D. Boyle, and X. Twombly. Vision-Based Hand Pose Estimation: A Review. Computer Vision and Image Understanding, 108(1-2), 2007.

[^7]: C. Farabet, C. Couprie, L. Najman, and Y. LeCun. Learning Hierarchical Features for Scene Labeling. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013.

[^8]: P. J. Huber. Robust Estimation of a Location Parameter. Annals of Statistics, 53, 1964.

[^9]: C. Ionescu, J. Carreira, and C. Sminchisescu. Iterated Second-Order Label Sensitive Pooling for 3D Human Pose Estimation. In Conference on Computer Vision and Pattern Recognition, 2014.

[^10]: C. Keskin, F. Kıraç, Y. E. Kara, and L. Akarun. Real Time Hand Pose Estimation Using Depth Sensors. In International Conference on Computer Vision, 2011.

[^11]: C. Keskin, F. Kıraç, Y. E. Kara, and L. Akarun. Hand Pose Estimation and Hand Shape Classification Using Multi-Layered Randomized Decision Forests. In European Conference on Computer Vision, 2012.

[^12]: A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet Classification with Deep Convolutional Neural Networks. In Advances in Neural Information Processing Systems, 2012.

[^13]: A. Kuznetsova, L. Leal-taixe, and B. Rosenhahn. Real-Time Sign Language Recognition Using a Consumer Depth Camera. In International Conference on Computer Vision, 2013.

[^14]: S. Melax, L. Keselman, and S. Orsten. Dynamics Based 3D Skeletal Hand Tracking. In Proc. of Graphics Interface Conference, 2013.

[^15]: I. Oikonomidis, N. Kyriazis, and A. A. Argyros. Full DOF Tracking of a Hand Interacting with an

通过建模遮挡与物理约束来实现物体识别。载于2011年国际计算机视觉会议论文集。

[^16]: B. T. Polyak. Some Methods of Speeding Up the Convergence of Iteration Methods. USSR Computational Mathematics and Mathematical Physics, 4(5), 1964.

[^17]: C. Qian, X. Sun, Y. Wei, X. Tang, and J. Sun. Realtime and Robust Hand Tracking from Depth. In Conference on Computer Vision and Pattern Recognition, 2014.

[^18]: J. Schmidhuber. Deep Learning in Neural Networks: An Overview. Technical Report 03-14, IDSIA, 2014.

[^19]: P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated Recognition, Localization and Detection Using Convolutional Networks. In Proc. of ICRL, 2014.

[^20]: J. Shotton, R. Girshick, A. Fitzgibbon, T. Sharp, M. Cook, M. Finocchio, R. Moore, P. Kohli, A. Criminisi, A. Kipman, and A. Blake. Efficient Human Pose Estimation from Single Depth Images. In Conference on Computer Vision and Pattern Recognition, 2011.

[^21]: Y. Sun, X. Wang, and X. Tang. Deep Convolutional Network Cascade for Facial Point Detection. In Conference on Computer Vision and Pattern Recognition, 2013.

[^22]: D. Tang, H. J. Chang, A. Tejani, and T.-K. Kim. Latent Regression Forest: Structured Estimation of 3D Articulated Hand Posture. In Conference on Computer Vision and Pattern Recognition, 2014.

[^23]: D. Tang, T. Yu, and T. Kim. Real-Time Articulated Hand Pose Estimation Using Semi-Supervised Transductive Regression Forests. In International Conference on Computer Vision, 2013.

[^24]: J. Taylor, J. Shotton, T. Sharp, and A. Fitzgibbon. The Vitruvian Manifold: Inferring Dense Correspondences for One-Shot Human Pose Estimation. In Conference on Computer Vision and Pattern Recognition, 2012.

[^25]: J. Tompson, A. Jain, Y. LeCun, and C. Bregler. Joint Training of a Convolutional Network and a Graphical Model for Human Pose Estimation. In Advances in Neural Information Processing Systems, 2014.

[^26]: J. Tompson, M. Stein, Y. LeCun, and K. Perlin. Real-Time Continuous Pose Recovery of Human Hands Using Convolutional Networks. ACM Transactions on Graphics, 33, 2014.

[^27]: A. Toshev and C. Szegedy. DeepPose: Human Pose Estimation via Deep Neural Networks. In Conference on Computer Vision and Pattern Recognition, 2014.

## [^28]: Y. Wu, J. Lin, and T. Huang. Capturing Natural Hand Articulation. In International Conference on Computer Vision, 2001

---

[^29]: C. Xu and L. Cheng. Efficient Hand Pose Estimation from a Single Depth Image. In International Conference on Computer Vision, 2013.
