
# 基于卷积网络的人手实时连续姿态恢复

乔纳森·汤普森、墨菲·斯坦、扬·勒昆和肯·珀林

纽约大学

我们提出了一种从单张深度图像中实时连续恢复无标记复杂可动物体姿态的新方法。该方法包含以下几个阶段：用于图像分割的随机决策森林分类器、用于生成标注数据集的稳健方法、用于提取密集特征的卷积网络，以及最终用于稳定实时姿态恢复的逆运动学阶段。作为该流程的一项潜在应用，我们展示了在实时操控蒙皮手部模型方面达到业界领先水平的结果。

类别与主题描述词：I.3.6 [计算机图形学]：方法论与技术—交互技术；I.3.7 [计算机图形学]：三维图形与真实感—动画

通用术语：算法、人体工程学

其他关键词与短语：手部追踪、神经网络、无标记动作捕捉、分析合成法

ACM参考格式：

乔纳森·汤普森、墨菲·斯坦、扬·勒昆和肯·珀林。2014年。基于卷积网络的人手实时连续姿态恢复。ACM图形学交易刊，第33卷第5期，文章编号169（2014年8月），共10页。DOI: <http://dx.doi.org/10.1145/2629500>

## 1. 引言

从无标记动作捕捉的深度视频数据中推断可动物体的姿态是一项极具挑战性的任务。对于实时应用场景而言，还需要满足低延迟的实时推理要求，这使得问题进一步复杂化。其难点在于：可动物体通常具有较多的自由度、受限的参数空间、相似的结构部件，且容易出现自遮挡现象。所有这些因素都使得直接将模型拟合到深度数据上变得困难，除非拟合过程能够考虑这些缺失的数据，否则在实践中甚至并不可行。

填补缺失数据的常用方法是结合多路同步视频流，但这对终端用户的要求较高，可能会阻碍原本优秀的解决方案得到广泛应用。第二种常用方法在计算机视觉和机器学习领域被称为“监督学习”，即利用包含帧内物体完整姿态与深度图像的真实数据来训练模型。训练好的模型可以借助已知姿态的先验信息，对当前帧中物体的可能姿态做出合理推测。

针对人体等重要可动物体，已经构建了大规模的真实数据集，基于监督学习在这些数据集上训练出的实时姿态推断系统也表现稳健。遗憾的是，大多数可动物体——甚至是人手这类常见物体——并没有公开可用的数据集，或者现有数据集无法覆盖其所有可能的姿态范围。或许更重要的是，人们可能需要推断那些尚未有相应数据集的物体实时连续姿态。现实中绝大多数物体都属于这一范畴。因此，一种通用的可动物体数据集获取方法正是本研究的重要贡献。

使用监督学习来训练模型以实时推断人手姿态时，主要难点在于获取手姿的基准数据。典型的人手模型包含25到50个自由度[Erol等人，2007]，且往往忽略了诸如关节角度约束等重要信息。由于真实的手部在运动时会受到与姿态相关的关节角度约束，因此要在模型中准确表达这些限制仍颇具挑战性。遗憾的是，若缺乏此类约束，大多数模型生成的姿态在解剖学上便会出现错误。这意味着，利用真实手部来采样可能的参数空间，要比仅靠模型探索该空间更为理想。随着商用深度传感器的问世，如今能够以较低成本采集这种受限的低维参数空间的连续轨迹视频，进而将手部模型与数据相匹配，从而恢复出姿态参数[Oikonomidis等人，2011]。

在这项研究中，我们针对人手连续姿态推断这一难题提出了解决方案：首先通过自动化流程构建精确的带标签基准数据库，随后训练出能够实现实时推断的系统。由于人手属于极难追踪的可活动物体，我们认为该方案同样适用于各类可活动物体。我们的方法延迟极低，仅相当于一帧视频的时间；它具备较强的抗自遮挡能力，无需特殊标记物，甚至能处理手指等具有相似结构的物体。为了适配广泛的应用场景，当手部所占图像面积小于$640 \times 480 = 307$千像素的2%时，该方法依然有效。

我们的方法可推广应用于满足以下三个条件的任意可活动物体的追踪：(1)待追踪物体可被建模为三维骨骼网格；(2)能够利用二元分类器标记图像中属于该物体的像素；(3)骨骼的姿态空间到深度二维图像的投影近似为一对一关系。该系统用于自动标记从用户处实时采集的深度视频。这些数据既可用于训练用于图像分割的随机决策森林（RDF）架构，也可用于训练卷积网络（ConvNet），以实现关键模型特征的实时位置推断。我们还

---

![Image](images/aa44189a043047bffcebb3b29d52fd966934b29568c02cae53812463cd007342.jpg)

<div style="text-align: center;">Fig. 1. Pose recovery pipeline overview.</div>

提出了一种简单且稳健的逆运动学（IK）算法，可根据卷积网络的输出结果实现实时、高自由度的姿态推断。该系统可接入多台商用深度相机以生成训练数据，但仅需一台深度相机即可实现实时追踪。我们认为本研究的关键技术贡献在于创建了一套适用于各类可活动物体的快速姿态推断新流程。该流程的概览如图1所示。

举个例子，在我们的系统中，针对一个拥有42个自由度的开源线性混合蒙皮手部模型进行训练，仅需不到10分钟的人工操作时间（18,000帧，帧率为30fps），随后再经过两天的自主计算即可完成。之后便可利用单台深度相机实时对人的手部进行追踪和姿态推断。实验过程中，摄像头被放置在用户前方、大致与眼睛同高的位置。训练好的系统可直接用于操控相关物体，比如外星人手部模型或真实的机器人连杆，也可作为3D用户界面的输入源[Stein等人，2012]。

### 2. 相关工作

已有大量文献致力于无标记可动物体的实时姿态恢复研究，例如人体、衣物以及人造物体。由于本研究的主要贡献在于实现手部三维姿态的快速恢复流程，因此我们将讨论范围限定在最相关的前期工作。

许多研究团队都构建了包含真实标签和图像的数据集，以实现人体姿态的实时恢复。例如，Wang等人[^2011]利用CyberGlove II动作捕捉系统，构建了由用户手势标注而成的数据集，这些手势被重新映射为具有已知纹理的彩色手套。运行时用户会佩戴类似的彩色手套，系统通过将RGB图像中的手套与模板数据库进行匹配来实时推断手势[Wang and Popović 2009]。在后续研究中，CyberGlove数据被重新用于基于深度图像的模板匹配姿态推断，且无需使用彩色手套。Wang等人最近将其手部追踪系统商业化（该系统现已属于专有技术，由3Gear Systems管理[3Gear 2014]），该系统采用放置在桌面上方的PrimeSense™深度摄像头来识别多种可能的手势。本研究与3Gear的方法存在多处差异：（1）我们旨在实现连续姿态估计，而非通过匹配静态离散数据库来进行手势识别；（2）我们将摄像头朝向用户，因此我们的系统针对不同的手势集进行了优化。

与我们的研究相关的还有Shotton等人的工作[^2011]，他们利用随机决策森林从单帧图像中恢复多个人体的姿态，具体是通过对深度图像中的每个像素进行分类，将其归入38种不同的身体部位。他们的训练样本是由已知姿态和身体形状组合合成的。在类似的研究中，Keskin等人[^2011]构建了一个专门针对人手的随机决策森林分类器。由于缺乏基于人体动作捕捉的数据集，他们从美国手语中的已知手势合成数据集，并通过插值方式扩展该数据集。由于他们的目标是识别手语符号本身，这种方法虽有一定用处，但无法应用于我们的场景，因为我们需恢复不受限制的手部姿态。在后续研究中，Keskin等人[^2012]提出了一种新颖的形状分类森林架构，用于执行逐像素部位分类。

还有其他几个研究团队利用领域知识与时间连贯性，构建了无需任何数据集即可追踪复杂物体姿态的方法。例如，Weise等人[^2009]针对范围传感器设计了实时面部动画系统，他们利用显著点来推导底层面部模型的变换，并将这一过程建模为能量最小化问题。在相关研究中，Li等人[^2013]展示了如何扩展该技术，以实现对用户自身面部表情的在线适配。Melax等人[^2013]演示了一种实时系统，该系统受基于约束的物理系统启发，通过将凸多面体直接拟合到范围数据上来追踪人手的全姿态。Ballan等人[^2012]则展示了如何将高多边形手部模型拟合到两只手与小球互动时的多视角摄像图像上，他们结合了基于特征的追踪与能量最小化技术。与我们的方法不同，他们的方法依赖帧间对应关系来提供光流以及能量最小化的初始姿态。

Rehg和Kanade的早期研究[^1994]提出了一种基于模型的跟踪系统，该系统利用手工设计的二维特征，将高自由度的关节手模型拟合到灰度图像数据上。Zhao等人[^2012]则结合红外标记点和RGBD采集技术，以每秒一帧的速度离线推断关节手模型的姿态。与这项研究类似，Oikonomidis等人[^2011]证明了粒子群优化（PSO）在跟踪单个或交互手部时的实用性——他们通过搜索显式三维模型的参数，来减小z缓冲区渲染模型与输入深度图像之间的重建误差。由于该优化器的收敛半径有限，他们的工作严重依赖时间连贯性假设以实现PSO优化器的高效推理。遗憾的是，由于丢帧和快速移动的物体通常会破坏这种时间连贯性假设，因此无法依靠时间连贯性来实现稳健的实时跟踪。与他们直接在GPU上以4–15fps速率进行交互式跟踪的研究不同，我们的研究表明：在放宽时间连贯性假设的离线环境下，PSO是生成带标签数据的宝贵离线工具。

据我们所知，目前尚无利用卷积神经网络从深度数据中恢复人手连续三维姿态的已发表研究成果。不过，已有多个研究团队证明卷积神经网络能够恢复刚性和非刚性三维物体的姿态，例如塑料玩具、人脸甚至人体。例如，LeCun等人[^2004]利用卷积神经网络通过寻找将RGB图像映射到六维空间的低维嵌入，来推断三维塑料玩具的6自由度姿态。Osadchy等人[^2005]采用类似的思路，通过非线性映射到低维流形来实现人脸的姿态检测。Taylor等人[^2011]通过众包方式构建了包含不同受试者相似人体姿态的数据库，随后利用卷积神经网络在低维流形上进行降维处理，从而保留训练样本间的相似性。最后，Jiu等人[^2013]利用卷积神经网络对深度图像进行逐像素分类（其输出结果与Shotton等人[^2011]的研究类似），以此推断人体姿态，但他们并未评估该方法在手部姿态识别方面的性能。

Couprie等人[^2013]利用卷积神经网络借助RGB-D数据对室内场景进行图像分割。他们的研究意义在于表明卷积神经网络能够基于深度图像特征进行高层次推理。

---

![Image](images/58c32d707f8c1fc153735ef53fa4951531e8fe27453a33f9aff5a6ae383d74be.jpg)

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

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

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

<div style="text-align: center;">Fig. 2. Decision forest data: learned labels closely match target.</div>

他们的研究意义在于表明卷积神经网络能够基于深度图像特征进行高层次推理。

### 3. 二分类任务

针对手部与背景的深度图像分割任务，我们训练了一个随机决策森林分类器，用于对单张图像进行逐像素二分类。该阶段的输出结果如图2所示。随机决策森林非常适用于身体部位的离散分类[Shotton等人，2011]。此外，由于随机决策森林的分类过程极易并行化，因此它非常适合在多核环境中进行实时处理。

继Shotton等人之后，我们设计的RDF用于将深度图像中的每个像素分类为手部或背景。RDF中的每棵树都由一组顺序执行的确定性决策组成，这些决策被称为弱学习器（或节点），它们会将当前像素的相对深度与位于特定学习偏移量处的邻近像素进行比较。像素所满足的决策序列会将其初步归类为手部或背景。对森林中所有树的分类结果取平均值，就能得到每个像素的最终概率分布。由于我们的实现与Shotton等人的版本仅有细微差别，因此建议感兴趣的读者参考他们以往的研究，我们将重点介绍本实现中的创新点。

虽然全身动作捕捉数据集很容易获取[Allen et al. 2003]，但这些数据集要么缺少手部的关节数据，要么无法充分覆盖该系统所针对的各种姿势。因此，有必要为RDF训练创建一个包含二元手部标签的自定义全身深度图像数据库（图2）。我们让一名用户用人体彩绘颜料将双手涂成鲜红色，然后利用简单的基于HSV的距离度量方法在RGB图像上生成粗略的手部标签。随后通过中值滤波器过滤掉异常值，从而得到更精确的标签。由于市面上的RGB+D（RGBD）相机通常存在深度数据与RGB数据对齐不佳的问题，我们采用了图割算法和深度敏感的泛洪填充技术来进一步清理深度图像的标签[Boykov et al. 2001]。

为了训练RDF，我们从一类函数中随机选取弱学习器，这一做法与Shotton等人的方法类似[^2011]。在深度图像I中给定的像素$(u, v)$处，决策树中的每个节点都会执行如下判断：
 $$ I\left(u+\frac{\Delta u}{I\left(u,v\right)},v+\frac{\Delta v}{I\left(u,v\right)}\right)-I\left(u,v\right)\geq d_{t}, $$

其中$I(u,v)$是图像I中的深度像素值，$\Delta u$和$\Delta v$是学习得到的像素偏移量，$d_{t}$则是学习得到的深度阈值。实验表明，要想获得良好的分类效果，(1)式在训练过程中需要较大的像素偏移量动态范围。
![Image](images/ca1c743effcf5f3a5c8434e83c2e41236ff0be4fedf6123f372e1419b40123f9.jpg)

<div style="text-align: center;">Fig. 3. Linear-blend-skinning (LBS) model [Šarić 2011] with 42DOF.</div>

我们推测这是因为特定的决策路径需要同时利用全局和局部几何信息才能高效完成手部与背景的分割。由于训练时间有限，我们定义了一组离散的弱学习器，这些学习器使用的偏移量和阈值在对数空间内呈线性关系；训练时，我们便从该集合中随机选取弱学习器。

### 4. 数据集创建

本阶段的目标是创建一个RGBD传感器图像数据库，其中涵盖多种手部姿态，并为每张图像中的关节参数提供准确的真实标签，这些标签可用于训练卷积神经网络。所需的真实标签是一个42维向量，用于描述该帧中手部的全部自由度姿态。图3展示了每个手部关节的自由度情况。在利用前述基于RDF的二分类方法将手部从背景中分割出来后，我们采用直接搜索法来推导姿态参数，该方法源自Oikonomidis等人提出的技术[^2011]。我们的研究有一个重要发现：可以离线运用他们的直接搜索方法，再利用其成果来训练卷积神经网络（或更适合快速计算的类似算法）。这种分离方式有两个优势：其一，在离线训练阶段，我们无需因使用计算成本高但能更好解释输入数据的复杂模型而受到限制；其二，我们可以利用多个传感器进行训练，从而缓解使用单个传感器进行实时交互时产生的自遮挡问题。

Oikonomidis等人提出的算法[^2011]经修改后被应用于本研究，具体流程如下：从近似的手部姿态出发，渲染出合成深度图像，再通过标量目标函数将其与真实深度图像进行比较。该深度图像是在基于OpenGL的框架中渲染的，渲染输出仅为距相机原点的距离，且所用相机的性质（如焦距）与PrimeSense™红外传感器一致。实际操作中，拟合一系列记录帧时，手部姿态是根据前一帧的姿态来估算的；序列中的第一帧则通过简单的用户界面手动估算姿态。最终会得到一个标量值，用以衡量给定估算姿态下的拟合质量。随后采用带部分随机化的粒子群优化（PrPSO）直接搜索方法[Yasuda et al. 2010]来调整姿态系数，从而找到能使目标函数值最小的最佳拟合姿态。该算法的概览如图4所示。

由于一旦粒子群位置接近最终解时，粒子群优化算法的收敛速度就会变慢（若采用部分随机化来防止粒子群过早陷入局部极小值，这种情况会更加明显），因此我们在粒子群优化完成后会采用一种鲁棒的Nelder-Mead优化算法[Tseng 1995]。Nelder-Mead优化算法是一种针对非线性函数的基于单纯形的直接搜索优化算法。我们发现，对于我们的优化问题而言，当接近局部最优解时，它能实现快速收敛。

---

![Image](images/3bfbd588c2b0d66d801c5fb6cd615d1cc27d48965768e6fa27607fc922377619.jpg)

<div style="text-align: center;">Fig. 4. Algorithm pipeline for dataset creation.</div>

随机化机制用于防止算法在早期的局部极小值处过早陷入停滞；在粒子群优化完成后，我们采用一种鲁棒的Nelder-Mead优化算法变体[Tseng 1995]。Nelder-Mead优化算法是一种基于单纯形的直接搜索优化算法，专门用于求解非线性函数问题。我们发现，对于我们的优化问题而言，当算法足够接近局部最优解时，该算法能够实现快速收敛。

由于数据集创建阶段是离线进行的，因此不要求具备足以支持交互式帧率的速度。故而我们使用了高质量的线性混合蒙皮（LBS）模型[Šarić 2011]（如图3所示），以此替代Oikonomidis等人使用的简单球柱模型。为提升渲染效率，我们减少了LBS模型的面数，最终该模型包含1,722个顶点和3,381个三角形面，而原始高密度模型则含有67,606个面。尽管LBS无法精确模拟肌肉变形和皮肤褶皱等效果，但它能呈现球棒模型无法体现的诸多几何细节。

为了减轻自遮挡的影响，我们使用了三个传感器（它们从前方围绕用户分布，视角间隔约为$45^{\circ}$），这些传感器上装有振动电机，用于减少红外图案的干扰[Butler等人，2012]，并且它们的相对位置和朝向是通过迭代最近点（ICP）算法的变体进行校准的[Horn，1987]。虽然我们使用全部三个摄像头的视图，通过前述算法来拟合LBS模型，但仅使用中央摄像头采集的深度图像来训练卷积神经网络。每个摄像头的贡献会被累加进一个整体适应度函数$F(C)$中，该函数包含两个先验项（$\Phi(C)$和$P(C)$），用于确保关节角度符合解剖学上的正确性，以及一个依赖于数据的项$\Delta(I_s, C)$，它来自每个摄像头的贡献。该适应度函数为：

 $$ F\left(C\right)=\sum_{s=1}^{3}\left(\Delta\left(I_{s},C\right)\right)+\Phi\left(C\right)+P\left(C\right), $$

其中$I_{s}$表示第s个传感器的深度图像，C是一个42维的系数向量，它代表了手的6自由度位置和朝向以及36个内部关节角度（如图3所示）。P(C)是一个穿透项（针对给定姿态而言），用于排除解剖学上不正确的手部姿态，它是通过累加附着在3D模型骨骼上的多个边界球的穿透距离来计算的。我们将穿透距离定义为所有相互穿透的边界球之间的重叠部分之和。$\Phi$(C)则施加了一个软约束，要求系数值保持在预定范围（$C_{\min}$和$C_{\max}$）之内。

 $$ \Phi\left(C\right)=\sum_{k=1}^{n}w_{k}\left[\max\left(C_{k}-C_{k\max},0\right)+\max\left(C_{k\min}-C_{k},0\right)\right], $$

其中$w_k$是一个针对每个系数的权重项，用于对不同单位的惩罚贡献进行归一化（因为我们把角度和距离的误差项都纳入同一个目标函数中）。$C_{\min}$和$C_{\max}$是通过实验确定的：将无约束模型拟合到一组代表各关节全部运动范围的离散姿态上。最后，公式(2)中的$\Delta(I_s, C)$用于衡量深度图像$I_s$与从同一视角渲染出的合成姿态之间的相似度。

 $$ \Delta\left(I_{s},C\right)=\sum_{u,v}\min\left(\left|I_{s}(u,v)-R_{s}(C,u,v)\right|,d_{\max}\right) $$

此处，$I_{s}(u, v)$表示传感器s在像素$(u, v)$处的深度，$R_{s}(C, u, v)$表示给定姿态系数C下的合成深度，而$d_{max}$是一个最大深度常量。该函数的结果是一个经过限幅处理的L1范数逐像素比较值。需要注意的是，我们没有加入Oikonomidis等人提出的用于衡量轮廓相似度的能量项，因为我们发现当使用多个测距传感器时，这些项是多余的。

### 5. 特征检测

虽然神经网络已被用于有限几类离散手势的姿态检测（例如区分握拳和张开手掌）[Nagi等人，2011；Nowlan和Platt，1995]，但据我们所知，这是首次尝试利用此类网络来提取人手的密集特征以推断连续姿态的研究。为此，我们采用了一种多分辨率、深层卷积神经网络架构，该架构受到Farabet等人工作的启发[^2013]，旨在从分割后的手部图像中提取14个显著的手部特征点。卷积神经网络是多层感知器的生物启发式变体，它们通过局部卷积核提取特征，从而利用自然图像中的空间相关性。由于手部深度图像往往包含许多重复的局部特征（例如指尖），卷积神经网络非常适合进行特征提取，因为多层特征库可以共享共同特征，从而减少所需的自由参数数量。

我们将完整的手部姿态识别问题重新定义为一系列较简单、易于单独处理的手部特征识别子问题，这样卷积神经网络就能更轻松地学习这些特征。早期实验中我们发现，直接推断深度图像空间与姿态空间之间的映射关系（例如通过测量深度图像的几何特征来提取关节角度）所得到的结果，不如利用中间特征进行学习的效果好。我们推测原因之一在于：学习中间特征能让卷积神经网络将网络的计算能力集中用于学习局部特征并加以区分。采用这种框架后，卷积神经网络也能更好地隐式处理遮挡问题；通过学习复合的高层图像特征，卷积神经网络能够推断出被遮挡或无法直接观测到的特征的大致位置（例如握拳时，可根据指关节的位置推断出隐藏的指尖位置）。

我们训练卷积神经网络架构来生成一组热图特征图像输出（见图5）。每个特征热图可视为一个二维高斯分布（截断为有限支撑域），其中

---

![Image](images/e65de2f8d73f7084b5da88634425afa15efe28bf8a5ac07df91532f11db79abf.jpg)

<div style="text-align: center;">Fig. 5. Depth image overlaid with 14 feature locations and the heat map for one fingertip feature.</div>

![Image](images/f492140620ade91650f1bfedad6f11a63aa5ad70f4baa8bc0d45e8625000300d.jpg)

<div style="text-align: center;">Fig. 6. Convolutional network architecture.</div>

像素强度代表了该特征在该空间位置出现的概率。高斯分布的UV均值位于用户手部的14个特征点之一上。这些特征对应3D模型中的关键关节位置（如指关节），其选取目的是让第6节中描述的逆向运动学算法能够还原出完整的3D姿态。

我们发现，中间热图表示法不仅能降低所需的学习容量，还能提升泛化性能，因为很多错误模式都是可恢复的。导致测试集误差较高的案例（即输入姿态与训练集中的任何样本差异极大）通常表现为热图中存在多个热点。例如，指尖特征的热图可能会错误地包含多个与其他手指位置对应的波峰，这是因为网络无法区分不同手指。出现这种情况时，可通过简单的启发式规则来确定哪个波峰对应目标特征，从而恢复合理的特征位置（例如，如果另一张热图在相同波峰区域的概率更高，我们就可以将其判定为虚假异常值而排除）。同样，热图波峰的强度也直接反映了系统对该特征的置信度。这对实际应用而言是极其有用的指标。

我们的多分辨率卷积神经网络架构如图6所示。首先会对分割后的深度图像进行预处理：根据手部像素的平均深度值按比例裁剪并缩放图像，使手部位于图像中心且大小不受深度影响。随后将每个像素的深度值归一化到0到1之间（背景像素设为1）。预处理后的裁剪图像和归一化图像如图5所示。

接着使用局部对比度归一化方法[Jarrett et al. 2009]对预处理后的图像进行滤波，该方法可作为高通滤波器来突出几何不连续性。随后将图像下采样两次（每次下采样因子为2），并对每张图像应用相同的滤波器。这样就产生了多分辨率的带通

![Image](images/43d08956d834702f7dcc1873d53caecf108e99a7c6b0ed95030e83feaf76e3b4.jpg)

<div style="text-align: center;">(a)  $96 \times 96$px</div>

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

<div style="text-align: center;">(b) $48 \times 48$px</div>

![Image](images/bb6ab0cff57dcb500ce51d6430ac9443babe3899278d81d703627c2745181bee.jpg)

<div style="text-align: center;">(c)  $24 \times 24$ px</div>

<div style="text-align: center;">Fig. 7. Neural network input: multiresolution image pyramid.</div>

![Image](images/61a26e739fa06faf898a9cde1efafa6a1cbb272bee9d69152d0bbd2d4fb1c21b.jpg)

<div style="text-align: center;">Fig. 8. High-resolution bank feature detector; each stage:  $(N_{\text{features}} \times \text{height} \times \text{width})$.</div>

图像金字塔包含三个层级（如图7所示），其总光谱密度与输入深度图像的光谱密度相近。由于实验表明手部姿态提取需要同时利用局部和全局特征，若采用单分辨率卷积神经网络，则需处理较大的图像窗口，进而要求网络具备强大的学习能力；因此，多分辨率架构在此类应用中极具价值。

这些金字塔图像会通过两级卷积神经网络架构进行处理。最高分辨率的特征层如图8所示。每个特征层由两个卷积模块、两个分段非线性模块以及两个最大池化模块组成。每个卷积模块利用一组经过学习的卷积核，并结合额外的学习输出偏置，来生成一组输出特征图（详细讨论可参考LeCun等人发表的[^1998]）。卷积窗口的尺寸范围在$4 \times 4$到$6 \times 6$像素之间。每个最大池化[Nagi等人，2011]模块通过选取一组不重叠的矩形窗口内的最大值来对输入图像进行下采样。我们采用最大池化技术，因为它能在牺牲一定空间精度的前提下有效降低计算复杂度。最大池化窗口的尺寸范围在$2 \times 2$到$4 \times 4$像素之间。非线性激活函数采用线性修正单元（ReLU），相较于传统的Sigmoid单元，它已被证明能提升训练速度和判别性能[Krizhevsky等人，2012]。每个ReLU激活模块会按像素计算以下非线性函数。

 $$ f\left(x\right)=\max\left(0,x\right) $$

最后，卷积神经网络各层的输出会被送入图9所示的两级神经网络中。该网络利用高层次的卷积特征来生成最终的14张热图；其原理是通过学习局部卷积特征激活值与各骨骼特征的概率图之间的映射关系来实现。实际上，这两个规模较大且全连接的线性网络占据了卷积神经网络总计算成本的80%以上。不过，缩小网络规模会对运行效率产生显著影响。因此，在质量与速度之间找到合适的平衡点至关重要。这种方法的另一个缺点是，神经网络必须隐式地学习关节位置的模型，才能推断出符合解剖学规律的输出关节位置。由于我们并未在网络结构中显式建模关节间的连接关系，因此网络需要大量的训练数据才能正确完成这一推断。

---

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

<div style="text-align: center;">Fig. 9. Two-stage neural network to create the 14 heat maps (with sizing of each stage shown).</div>

为了推断符合解剖学规律的输出关节位置，网络必须隐式地学习关节位置的模型。由于我们在网络结构中并未显式建模关节间的连接关系，因此网络需要大量的训练数据才能正确完成这一推断。

卷积神经网络的训练是利用开源机器学习工具包Torch7[Collobert等人，2011]完成的，该工具包提供了高效的GPU版反向传播算法实现，用于神经网络的训练。在监督训练过程中，我们采用随机梯度下降法，配合标准的L2范数误差函数，批量大小设为64，并遵循以下可学习参数更新规则。

 $$ \begin{align*}\Delta w_{i}&=\gamma\Delta w_{i-1}-\lambda\left(\eta w_{i}-\frac{\partial L}{\partial w_{i}}\right)\\w_{i+1}&=w_{i}+\Delta w_{i},\end{align*} $$

其中，$w_i$表示第i个训练轮次中各个网络模块的偏置或权重参数（每个训练轮次代表对全部训练集的一次遍历），$\frac{\partial L}{\partial w_i}$则表示误差函数L关于可学习参数$w_i$的偏导数，该值是在当前批次上取平均值得到的。我们采用$\lambda = 0.2$的恒定学习率，并引入$\gamma = 0.9$的动量项，以便在接近局部最小值时优化学习过程。最后，我们使用$\eta = 0.0005$的L2正则化因子来提升模型的泛化能力。

在ConvNet训练期间，为了提高泛化性能，会对预处理后的数据库图像进行随机旋转、缩放和平移处理[Farabet等人，2013]。这种技术不仅能有效扩大训练集规模（进而降低测试集/验证集的误差），还能提升那些手部尺寸在原始训练集中未被充分代表的用户的识别性能。我们在批量训练过程中通过后台线程执行此类图像处理操作，因此对训练时间的影响微乎其微。

### 6. 姿态恢复

我们将从热图输出结果中估计姿态的问题转化为优化问题，其思路与逆向运动学（IK）类似。我们从14个热图中提取二维和三维特征位置，随后通过最小化合适的目标函数，使三维模型特征与每个热图位置对齐。

为了推断与热图对应的三维位置，我们需要确定该特征在热图中的最有可能UV坐标。尽管ConvNet架构被训练为输出方差较小的二维高斯分布热图，但实际情况是，输出的往往是多模态灰度热图，且这些热图的总值通常不等于1。实践中，只需找到热图中的最大峰值（即置信度最高的位置），就能轻松得出正确的UV坐标。我们并非直接将最可能的热图位置作为最终坐标，而是对最大峰值区域拟合高斯模型，以获得亚像素级的精度。

首先，我们将低于固定阈值的热图像素值截断，以剔除无关的异常值。随后对处理后的图像进行归一化，使其总和等于1，接着利用Levenberg-Marquardt算法拟合最优的二维高斯分布，并将所得高斯分布的均值作为UV坐标。确定14个热图各自的UV坐标后，我们会在采集的深度帧中查找该UV位置对应的深度分量。若该UV位置位于深度阴影区（即原始图像中无深度信息），我们就将该点在原始图像空间中的二维坐标存储起来；否则，便存储其三维坐标。

随后，我们对以下目标函数执行无约束非线性优化：

 $$ \begin{align*}f\left(m\right)&=\sum_{i=1}^{n}\left[\Delta_{i}\left(m\right)\right]+\Phi\left(C\right),\\\Delta_{i}\left(m\right)&=\left\{\begin{array}{ll}\left\|\left(u,v,d\right)_{i}^{t}-\left(u,v,d\right)_{i}^{m}\right\|_{2}&if d_{i}^{t}\neq0\\\left\|\left(u,v\right)_{i}^{t}-\left(u,v\right)_{i}^{m}\right\|_{2}&otherwise,\end{array}\right.\end{align*} $$

其中，$(u, v, d)_i^f$ 表示特征i的目标三维热图位置，$(u, v, d)_i^m$ 表示当前姿态估计下的模型特征位置。公式(4)根据特征是否具备有效的深度分量，分别对应三维或二维的L2误差范数。随后，我们简单地将各特征的误差项线性累加，同时采用第4节中使用的相同线性惩罚约束$\Phi(C)$。我们使用PrPSO来最小化公式(4)。由于每个种群粒子的函数求值过程可以并行处理，PrPSO能够在此阶段以交互式帧率实时运行。此外，由于第4节中提到的42个系数里，有不少仅会对LBS模型的实时变形产生细微影响，我们发现移除描述手指扭转的系数，并将每个手指的最后两个指节合并为一个角度系数后，公式(4)的函数求值时间显著缩短，且姿态精度的损失并不明显。因此，在这一最终阶段，我们将模型复杂度简化为23个自由度。仅需不到50次PrPSO迭代即可达到足够的收敛程度。

这种IK方法存在一个重要局限：UVD目标位置可能无法准确代表真实特征位置。例如，当一个特征被另一个特征直接遮挡时，这两个特征会错误地共享相同的深度值（尽管一个位于另一个前方）。不过我们发现，对于大多数手势而言，这一局限并不明显。在未来的研究中，我们希望能在ConvNet输出中加入一个学习到的深度偏移量，以克服这一局限。

### 7. 实验结果

在后续实验中，我们采用与采集训练数据时相同的实验设置来测试系统：摄像头位于用户前方（正对用户），高度大致与眼睛齐平。我们尚未在其他摄像头设置下对算法的性能进行充分评估。

第4节中描述的RDF分类器是用6500张图像训练的（另外还有1000张验证图像用于调整RDF超参数），这些图像展示了用户执行典型单手和双手手势的情况（捏合、绘制、拍手、抓取等）。训练是在一台拥有24个核心的机器上进行的，

---

![Image](images/e3d4f3a3fa9801e86bacc322354548a92846564fe978b3fc80aed94c0f5fcb3f.jpg)

![Image](images/f32228fe715b46c47a9d27e1a60d2ad6efcb3c5b4af39aaf4b16dc7c10b1cc88.jpg)

<div style="text-align: center;">Fig. 10. RDF Error.</div>

![Image](images/2347bc117739c363259753be9df0f05f33e19a2618b5d93e41f1ccdb94292111.jpg)

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

![Image](images/242b4e0e90cb8249d049c6262c8771f5d30c98e21c9f287711e30e558ab0ecf5.jpg)

![Image](images/36492719655b9a6c86992102ebf5eb999d173075004d5e7ad3a18f1d53a1db01.jpg)

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

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

<div style="text-align: center;">Fig. 11. Dataset creation: objective function data (with Libhand model [Šarić 2011]).</div>

训练时长约为12小时。对于树中的每个节点，我们采样了10000个弱学习器。图10展示了不同树数量和树高度下，数据集中错误像素标签数量与手部像素总数的比值。

我们发现，树数量为4且高度为25时，分类精度与速度之间的平衡最佳。树深度为25的4棵树在验证集上的分类误差为4.1%。在分类错误中，76.3%为假阳性，23.7%为假阴性。实践中，使用中值滤波和斑点检测就能轻松去除小簇的假阳性像素标签。常见的分类失败情况发生在手部被其他身体部位遮挡时（导致假阳性），或者肘部比手部更靠近摄像头时（导致肘部出现假阳性）。我们认为这种不准确性源于训练集中没有包含这些姿势的帧。未来若能获得包含这些姿势示例的更全面的数据集，性能有望得到提升。

由于我们没有针对42自由度手部模型拟合的基准真值指标，因此很难对这一阶段进行定量评估。从定性来看，拟合精度与底层点云在视觉上是一致的。图11展示了一个拟合后的帧示例。只有极少数姿势无法正确拟合；对于这些难以处理的姿势，需要人工干预。

该系统的一个局限在于PrimeSense $^{™}$摄像头的帧率（30fps）不足以确保足够的时间连贯性，从而使PSO优化器能够正确收敛。为解决这一问题，我们让每位用户在采集训练数据时缓慢移动双手。

![Image](images/eed358b4a7adaff8270c7280d7902e81964571ec599a5031d191bc9a9dc1b72b.jpg)

<div style="text-align: center;">Fig. 12. Sample ConvNet test-set images.</div>

![Image](images/dba95fb358b6066b0f660f46ea0d8407909675e3c8db1571f2579bc0000437ad.jpg)

<div style="text-align: center;">Fig. 13. ConvNet Learning Curve.</div>

训练数据的采集是在配备Nvidia GTX 580 GPU和四核Intel处理器的工作站上进行的，每帧拟合耗时3到6秒。最终的数据库包含76712张训练集图像、2421张验证集图像以及2000张测试集图像及其对应的热图，这些数据来自多位参与者。图12展示了测试集图像的一小部分。

卷积神经网络的训练耗时约24小时，其中在训练350个周期后便会启动提前停止机制以防止过拟合。卷积神经网络的超参数——包括学习率、动量、L2正则化项以及网络结构参数（如最大池化窗口大小或网络层数）——均通过粗略的元优化方法确定，目的是将验证集误差降至最低。最终选择在每个分辨率层级上设置两层卷积层，再加上两层全连接神经网络层，以此在泛化性能、评估时间和模型复杂度（即推断复杂姿态的能力）之间取得平衡。图13展示了每个训练周期后的均方误差（MSE）情况。该MSE是通过计算生成的14张特征图与对应的目标特征图之间的平方差之和的平均值得到的。

在测试集数据上，卷积神经网络生成的热图输出的平均UV误差为0.41像素（标准差为0.35像素），该热图是基于$18 \times 18$分辨率的图像$^{1}$生成的。当每个热图特征被转换到$640 \times 480$深度的图像后，平均UV误差会升至5.8像素（标准差为4.9像素）。由于热图的下采样比率与深度相关，因此当手部靠近传感器时UV误差会更小。对于对精度要求更高的应用场景而言，

---

<div style="text-align: center;">Table I. Heat-Map UV Error by Feature Type</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Feature Type</td><td style='text-align: center; word-wrap: break-word;'>Mean (px)</td><td style='text-align: center; word-wrap: break-word;'>STD (px)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Palm</td><td style='text-align: center; word-wrap: break-word;'>0.33</td><td style='text-align: center; word-wrap: break-word;'>0.30</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Thumb Base &amp; Knuckle</td><td style='text-align: center; word-wrap: break-word;'>0.33</td><td style='text-align: center; word-wrap: break-word;'>0.43</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Thumb Tip</td><td style='text-align: center; word-wrap: break-word;'>0.39</td><td style='text-align: center; word-wrap: break-word;'>0.55</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Finger Knuckle</td><td style='text-align: center; word-wrap: break-word;'>0.38</td><td style='text-align: center; word-wrap: break-word;'>0.27</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Finger Tip</td><td style='text-align: center; word-wrap: break-word;'>0.54</td><td style='text-align: center; word-wrap: break-word;'>0.33</td></tr></table>

![Image](images/097c50d7aaaf385d5566e98dac8745d793e316e96225756869d9659dc0405924.jpg)

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

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

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

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

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

<div style="text-align: center;">Fig. 14. Real-time tracking results, (a) typical hardware setup, (b) depth with heat-map features, (c) ConvNet input and pose output.</div>

可以通过提高热图分辨率来获得更好的空间精度，不过这会以增加延迟和降低吞吐量为代价。

表I列出了各类特征对应的UV精度。不出所料，我们发现卷积神经网络在学习指尖位置方面存在较大困难，其平均误差比掌部特征的精度低61%。造成这种不精确性的原因主要有两点：其一，不同手势下指尖位置的变动范围很大，因此卷积神经网络必须学习更复杂的局部特征与指尖位置之间的映射关系；其二，PrimeSense™ Carmine 1.09深度相机无法始终准确获取指尖等小表面的深度信息。不过卷积神经网络能够学会这种噪声规律，甚至能在数据缺失的情况下近似推断出指尖位置，只是此类情况下的精度较低。

整个流程的计算时间为24.9毫秒，符合我们设定的30帧/秒的性能目标。其中，决策树评估耗时3.4毫秒，深度图像预处理耗时4.7毫秒，卷积神经网络评估耗时5.6毫秒，姿态估计耗时11.2毫秒。整个流程会产生大约一帧的延迟。关于整个流程实时运行以及LBS手部模型操控的示例，可参阅补充视频（该视频的截图如图14所示）。

图15展示了系统的三种典型故障情况。在图15(a)中，卷积神经网络生成的热图的空间精度有限，导致指尖位置未能完全接触；图15(b)中，用于训练卷积神经网络的数据库里不存在类似的姿态，因此该示例下网络的泛化性能较差；图15(c)中，PrimeSense™深度相机无法检测到无名指（指尖朝向摄像机的表面积过小且入射角太浅），因此卷积神经网络在缺乏深度图像中的足够支撑时难以推断出正确的指尖位置，最终导致位置估算错误。

图16显示，ConvNet输出对训练集中未充分涵盖的手部形状和尺寸具有较好的容忍度。ConvNet和RDF训练集并未包含用户(b)和用户(c)的图像（仅包含用户(a)的图像）。我们仅在成年受试者身上评估了该系统的性能。我们发现

![Image](images/a5e6e5b9c74432a8dba1848944f0973141a6e38c81f2a1b1415ab515a05f0ee6.jpg)

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

![Image](images/5360c8620c777df3ab40a708cc93c7636371815e084598f3c951b84f7468ce6d.jpg)

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

![Image](images/358214655d210af5e7036cdddab167fff247d520c23aeb527173e1af92b5aaef.jpg)

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

<div style="text-align: center;">Fig. 15. Fail cases: RGB ground truth (top row) inferred model [Šarić 2011] pose (bottom row).</div>

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

![Image](images/00f1cd7ded8838e4963bd4a7a8dc2fc0706f6a7e36874dd3aa99a17f94640f17.jpg)

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

![Image](images/004a0144543b15286d7f71456de5a7d3ad54fed05e6bf852f0e8df1183bbcb59.jpg)

![Image](images/fc00a05d0711331a88e150d5c6c11edfc28cb98c1b2a996d6ab045e28eb16f68.jpg)

![Image](images/256124654189acfbe12b3c9cad857011b5916d73e091dadf8fbf758764b0a01b.jpg)

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

![Image](images/12791e6c196dfe85bcb0e283b4234a6b5f9806a266cba667c4b0ab8fc894a20c.jpg)

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

<div style="text-align: center;">Fig. 16. Hand shape/size tolerance: RGB ground truth (top row); depth with annotated ConvNet output positions (bottom row).</div>

为单个用户添加一个尺度参数，用以调整LBS模型的大小以适配该用户的手部，这有助于实时IK阶段更好地匹配ConvNet的输出。

由于多种原因，很难将本研究的实时性能与相关现有技术（如3Gear [^2014] 和Melax等人[^2013] 的研究）进行横向比较。首先，Melax等人[^2013] 使用了不同的采集设备，导致无法进行公平比较；因为若不借助镜子降低传感器性能，多个设备就无法从同一视角同时捕捉手部图像。其次，目前不存在包含深度帧的第三方人手姿态基准数据库，因此无法针对已知基准来对比多种方法的定量精度。更重要的是，3Gear [^2014] 所采用的技术是针对完全不同的应用场景优化的，因此很难与其研究成果进行公平比较。3Gear [^2014] 使用垂直安装的摄像头，能够同时追踪多只手，且计算成本低于本研究提出的方法。

图17展示了本研究成果与3Gear [^2014] 的专有系统（使用该库的固定数据库版本）在四种姿态下的性能对比，选择这四种姿态是为了凸显两种技术之间的性能差异（所用图像已获3Gear授权使用）。我们通过同时运行两套系统的输出（使用同一台RGBD摄像头）来采集这些数据。由于3Gear [^2014] 的要求，我们将摄像头垂直安装，但我们的训练集并不包含这种视角下的姿态数据。

---

![Image](images/93747e0f02525418d7dfdc7b6e2f2586410b463b61a994eadafc47ab62bfb452.jpg)

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

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

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

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

<div style="text-align: center;">Fig. 17. Comparison with state-of-the-art commercial system: RGB ground truth (top row); this work inferred model [Šarić 2011] pose (middle row); 3Gear [^2014] inferred model pose (bottom row) (images used with permission from 3Gear).</div>

因此，我们预计该系统在这种截然不同的应用场景下表现会不尽如人意。

### 8. 未来工作

如图16所示，从定性角度来看，我们发现ConvNet对不同手部形状的泛化能力尚可，但仍有提升空间。我们相信，只要在训练集中加入更多不同手尺寸的用户的训练数据，就能实现这一改进。

在本研究中，仅有ConvNet的前向传播阶段是在GPU上实现的。我们目前正在致力于将整个流程移植到GPU上，这将显著提升其他流程阶段的性能。例如，GPU上的ConvNet实现仅需5.6毫秒，而同一网络在CPU上运行（使用经过优化的多线程C++代码）则需要139毫秒。

当前版本的系统仅能在两只手不相互交互的情况下追踪它们。虽然我们已确认数据集生成系统能够足够精确地拟合多只手强烈交互的姿态，但评估神经网络在这些姿态下的识别性能仍属于未来的研究工作。同样，我们也希望评估神经网络在手部与非手部物体（如笔和其他人造物品）交互时的识别性能。

虽然本文提出的姿态恢复实现速度很快，但我们希望加入基于模型的拟合步骤来优化这一阶段，以牺牲一定的收敛半径来换取更高的拟合质量。具体而言，我们推测用一种基于能量的局部优化方法取代最终的IK阶段——该方法受到Li等人研究的启发[^2008]——或许能使我们的方法从极少的数据中恢复出诸如皮肤折叠和皮肤-肌肉耦合等二阶表面效应，同时仍能保持低延迟。除了推理之外，这种局部能量最小化阶段还能改进底层模型本身。由于这类局部方法通常需要良好的配准效果，而我们的方法能从单张图像中提供对应关系，因此有望推动非刚性模型捕捉技术的发展。

最后，我们希望在最终的IK阶段加入某种时序姿态先验以减少抖动现象，例如利用扩展卡尔曼滤波器作为后处理步骤，对ConvNet的特征输出进行优化。

### 9. 结论

我们提出了一种从单张深度图像中追踪可动物体瞬时姿态的新颖流程。作为该流程的应用实例，我们展示了使用普通硬件实时追踪人手的最新成果。该流程借助离线基于模型的数据集生成程序的精确性，来支持用于特征提取的稳健实时卷积网络架构。我们证明，利用中间热图特征，通过逆运动学即可在交互式帧率下提取准确可靠的三维姿态信息。

## 参考文献

3GEAR. 2014. 3gear系统手部追踪开发平台。<http://www.threegear.com/>。

B. Allen、B. Curless和Z. Popovic. 2003. 人体形状空间：基于深度扫描的重建与参数化。ACM Trans. Graph. 22, 3, 587–594。

L. Ballan、A. Taneja、J. Gall、L. Van Gool和M. Pollefeys. 2012. 利用判别性显著点捕捉动作中的手部运动。收录于第12届欧洲计算机视觉会议论文集。640–653。

Y. Boykov、O. Veksler和R. Zabih. 2001. 通过图割算法快速近似求解能量最小化问题。IEEE Trans. Pattern Anal. Mach. Intell. 23, 11, 1222–1239。

D. A. Butler、S. Izadi、O. Hilliges、D. Molyneaux、S. Hodges和D. Kim. 2012. Shake'n'sense：减少重叠结构光深度相机间的干扰。收录于ACM人机交互年度会议论文集。1933–1936。

R. Collobert、K. Kavukcuoglu和C. Farabet. 2011. Torch7：一个类似MATLAB的机器学习环境。<http://ronan.collobert.com/pub/matos/2011_torch7_nipsw.pdf>。

C. Couprie、C. Farabet、L. Najman和Y. Lecun. 2013. 利用深度信息进行室内语义分割。收录于国际学习表征会议论文集。

A. Erol、G. Bebis、M. Nicolescu、R. D. Boyle和X. Twombly. 2007. 基于视觉的手部姿态估计：综述。Comput. Vis. Image Understand. 108, 1–2, 52–73。

C. Farabet、C. Couprie、L. Najman和Y. Lecun. 2013. 学习用于场景标注的分层特征。IEEE Trans. Pattern Anal. Mach. Intell. 35, 8, 1915–1929。

B. K. P. Horn. 1987. 利用单位四元数求解绝对方位的封闭形式解。J. Opt. Soc. Amer. 4, 4, 629–642。

K. Jarrett、K. Kavukcuoglu、M. Ranzato和Y. Lecun。2009年。物体识别的最佳多阶段架构是什么？载于$12^{th}$ IEEE国际计算机视觉会议论文集，第2146–2153页。

M. Jiu、C. Wolf、G. W. Taylor和A. Baskurt。2013年。基于空间约束的深度学习从深度图像中估计人体部位。Pattern Recogn. Lett.（即将出版）。

C. Keskin、F. Kirac、Y. Kara和L. Akarun。2011年。利用深度传感器进行实时手部姿态估计。载于IEEE国际计算机视觉研讨会论文集，第1228–1234页。

《ACM图形学交易》，第33卷第5期，文章编号169，出版日期：2014年8月。

---

C. Keskin、F. Kirac、Y. E. Kara和L. Akarun。2012年。利用多层随机决策森林进行手部姿态估计与手部形状分类。载于第12届欧洲计算机视觉会议论文集，第6卷。Springer出版社，第852–863页。

A. Krizhevsky、I. Sutskever和G. Hinton。2012年。基于深度卷积神经网络的ImageNet分类。载于神经信息处理系统会议论文集。由P. Bartlett、F. Pereira、C. Burges、L. Bottou和K. Weinberger编辑，第1106–1114页。

Y. Lecun、L. Bottou、Y. Bengio和P. Haffner。1998年。基于梯度学习在文档识别中的应用。《IEEE会议录》第86卷第11期，第2278–2324页。

Y. Lecun、F. J. Huang和L. Bottou。2004年。用于通用物体识别且对姿态和光照具有不变性的学习方法。载于IEEE计算机协会计算机视觉与模式识别会议论文集，第2卷，第97–104页。

H. Li、R. W. Sumner和M. Pauly。2008年。非刚性深度扫描配准的全局对应优化。《计算机图形学论坛》第27卷第5期，第1421–1430页。

H. Li、J. Yu、Y. Ye和C. Bregler。2013年。具有即时修正功能的实时面部动画。《ACM图形学交易》第32卷第4期。

S. Melax、L. Keselman和S. Orsten。2013年。基于动力学的3D骨骼手部跟踪。载于ACM交互式3D图形与游戏研讨会论文集。

J. Nagi、F. Ducatelle、G. Di Caro、D. Ciresan、U. Meier、A. Giusti、F. Nagi、J. Schmidhuber和L. Gambardella。2011年。用于基于视觉的手势识别的最大池化卷积神经网络。载于IEEE信号与图像处理应用会议论文集，第342–347页。

S. J. Nowlan和J. C. Platt。1995年。一种卷积神经网络手部跟踪器。载于神经信息处理系统会议论文集，第901–908页。

I. Oikonomidis、N. Kyriazis和A. Argyros。2011年。利用Kinect进行基于模型的高效3D手部关节跟踪。载于英国机器视觉会议论文集。

M. Osadchy、Y. Lecun、M. L. Miller和P. Perona。2005年。基于能量的模型在人脸检测与姿态估计中的协同作用。载于神经信息处理系统会议论文集，第1017–1024页。

J. M. Rehg和T. Kanade。1994年。高自由度关节结构的视觉跟踪：以人手跟踪为例。载于$3^{rd}$ 欧洲计算机视觉会议论文集，第35–46页。

M. Saric。2011年。Libhand：一个用于手部关节建模的库。<http://www.libhand.org/>。

J. Shotton、A. Fitzgibbon、M. Cook、T. Sharp、M. Finocchio、R. Moore、A. Kipman和A. Blake。2011年。基于单张深度图像的实时人体部位姿态识别。载于IEEE计算机视觉与模式识别会议论文集，第1297–1304页。

M. Stein、J. Tompson、X. Xiao、C. Hendeee、H. Ishii和K. Perlin。2012年。Arcade：一种用于增强基于手势的计算机图形演示的系统。载于ACM SIGGRAPH计算机动画节论文集，第77–77页。

G. W. Taylor、I. Spiro、C. Bregler和R. Fergus。2011年。通过模仿学习不变性。载于IEEE计算机学会计算机视觉与模式识别会议论文集，第2729–2736页。

P. Tseng。1995年。强化下降单纯形搜索方法：一种通用方法。《SIAM优化杂志》第10卷第1期，第269–288页。

R. Wang、S. Paris和J. Popovic。2011年。6D Hands：用于计算机辅助设计的无标记跟踪技术。载于第24届ACM用户界面软件与技术年会论文集，第549–558页。

R. Y. Wang和J. Popovic。2009年。基于彩色手套的实时手部跟踪技术。《ACM图形学汇刊》第28卷第3期。

T. Weise、H. Li、L. Van Gool和M. Pauly。2009年。Face/Off：实时面部木偶表演技术。载于ACM SIGGRAPH/Eurographics计算机动画研讨会论文集。

T. Yasuda、K. Ohkura和Y. Matsumura。2010年。用于大规模多模态问题的带部分随机化的扩展PSO算法。载于世界自动化大会论文集，第1–6页。

W. Zhao、J. Chai和Y.-Q. Xu。2012年。结合基于标记的动捕技术和RGB-D相机以获取高保真手部运动数据。载于ACM SIGGRAPH/Eurographics计算机动画研讨会论文集，欧洲图形学协会出版，第33–42页。

收稿于2013年8月；修订于2014年1月；录用于2014年3月
