
# 利用RGB和深度数据进行交互式无标记关节手运动跟踪

Srinath Sridhar、Antti Oulasvirta、Christian Theobalt，马克斯·普朗克计算机研究所及萨尔大学 {ssridhar, oantti, theobalt}@mpi-inf.mpg.de

## 摘要

跟踪手的关节3D运动在人机交互和远程操控等领域有着重要应用。我们提出了一种能够以交互速率捕捉多种关节手运动的新方法。我们的混合方法采用投票机制，将基于部件的判别性姿态检索方法与基于局部优化的生成式姿态估计方法相结合。生成式方法利用多视角RGB相机系统提供的颜色信息以及针对特定用户的手部模型，来寻找最能解释观测到的图像的姿态。与此同时，我们的判别性姿态估计方法利用从深度数据中检测到的指尖信息，通过采用基于部件的姿态检索策略来估计手的完整或部分姿态。与全局姿态检索策略相比，这种基于部件的策略能大幅缩小搜索范围。定量结果表明，我们的方法在具有挑战性的序列上达到了最先进的精度，且在台式电脑上能以10帧/秒的速率实现近乎实时的性能。

### 1. 引言

交互式无标记关节手运动跟踪在人机交互、远程操控、手语识别以及虚拟角色控制等领域有着广泛应用。目前存在基于标记或手套的方案来跟踪手的关节运动[^25]，但这些方案会限制手的自然运动，且需要用户额外付出努力。近年来，许多商业传感器被开发出来，无需标记即可检测3D指尖位置，不过这些传感器无法恢复出具有语义意义的手部骨骼模型。

在本文中，我们描述了一种新颖的无标记手运动跟踪方法，该方法能以近乎实时的帧率捕捉各种关节运动，并将其表示为运动学骨骼。手跟踪本身极具挑战性，原因在于：

![Image](images/f63f720d402cc8f0aff325a4a63d00db3d47e0902b0708b0598c990da1223567.jpg)

<div style="text-align: center;">Figure 1. Our approach combines two methods (a) Generative pose estimation on multiple RGB images using local optimization (bottom row and top left) (b) Part-based pose retrieval on five finger databases indexed using detected fingertips (top right).</div>

自由度（DoF）数量庞大[^9]、运动速度快、存在自遮挡现象，以及皮肤的颜色分布较为均匀。以往大多数实时无标记方法（详见第2节）只能捕捉缓慢且简单的关节手运动，因为要重建更复杂的运动范围需要离线计算。我们的算法采用了一种混合方法，将生成式姿态估计器与判别式姿态估计器相结合（见图1）。我们方法的输入包括来自五台校准相机的RGB图像、来自单目飞行时间（ToF）传感器的深度数据，以及针对特定用户的手部模型（第3节）。我们方法的输出是用26个参数表示的手部全局姿态和关节角度。

我们的方法借鉴了近期用于实时全身跟踪的混合方法的鲁棒性和准确性[^2]。然而，由于缺乏足够有区分度的图像特征、手指造成的自遮挡现象，以及可能的手部姿态数量庞大，将相同策略应用于手跟踪颇具挑战性。

图2概述了我们的算法。与以往的全身运动跟踪研究类似[^2] [^26] [^29]，我们并行实例化了两个姿态估计器。首先是生成式——

---

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

<div style="text-align: center;">Figure 2. Overview of our approach. SoG stands for Sum of Gaussians</div>

基于局部优化的生成式姿态估计器采用基于高斯求和（SoG）模型的相似性度量指标 [^23]，用以找出最能解释输入的RGB图像的姿态（第4节）。其次，判别式姿态估计器是本文的核心技术贡献，它是一种基于部件的检测技术，能够在处理自遮挡问题的同时恢复覆盖大范围手部关节活动空间的姿态。我们的判别式姿态估计方法首先利用线性SVM分类器在深度数据中检测指尖位置（第5.3节）。随后，将检测到的指尖信息与五个手指姿态数据库一同应用于假设-验证框架中，从而生成多个姿态假设，再依据两项准则对每一个假设进行验证（第5.4节）。最终的完整或部分手部姿态，就是估算出的指尖位置与观测到的指尖位置之间误差最小的姿态。该姿态随后会被用作生成式姿态估计器中局部优化的初始值。这种基于部件的方法大幅缩小了数据库规模，因为只需对每个手指的关节活动情况进行索引即可。两种姿态估计器得出的结果会通过误差度量指标进行融合，从而得到最终的手部姿态（第6节）。

为了客观评估我们的方法，我们采用了具有运动学意义的挑战性数据集来进行评估。虽然针对全身姿态估计的基准数据集有很多，但我们尚未发现用于手部运动跟踪的基准数据集。因此，我们创建了七个经过标注的数据集，这些数据集是通过多个校准过的传感器采集的。其中的动作涵盖了手部的全部外展-内收以及屈曲-伸展范围。定量结果显示，我们能够以约13毫米的平均误差覆盖广泛的运动范围。在准确性和计算成本方面，我们的方法相较于以往的最先进方法 [^14] 更具优势。总而言之，本文的主要贡献如下：

- 一种混合方法，结合了基于局部优化的生成式姿态估计器与新颖的基于部件的姿态检索策略。

- 一种近乎实时的框架，能够以交互应用所需的精度和速度捕捉手部运动。

- 一个包含各类手部运动序列的、经过详细标注的基准数据集。

### 2. 相关工作

Rehg和Kanade最早提出了基于运动学的手部运动跟踪方法 [^18]。Lin等人首次研究了使用运动学骨架时手部关节活动空间的大小 [^11] [^28]。他们确定了三类约束：关节角度限制（类型I）、手指内部约束（类型II）以及手部运动的自然性（类型III）。后续针对基于视觉的手部跟踪方法的综述 [^5] 将这些方法分为两类：基于局部或全局优化的生成式方法，以及基于从样本学习或样本姿态检索的判别式方法。

生成式方法：Oikonomidis等人[^14]提出了一种基于粒子群优化的方法，利用深度传感器实现全自由度手部跟踪。他们报告称，在GPU加速下该方法的帧率可达15帧/秒。此外，还有其他生成式方法将手部操作的物体作为约束条件[^7] [^8] [^15] [^19]。其中，Ballan等人[^3]提出的方法在优化框架中利用了手指上的判别性学习显著特征，同时结合边缘、光流以及碰撞信息。不过，由于计算时间较长，该方法并不适用于交互式应用。其他基于模型的全局优化方法也存在同样的运行时性能问题[^12] [^22]。

判别式方法：Athitsos和Sclaroff[^1]提出了一种将3D手部姿态估计视为数据库索引问题的方案。他们使用包含26种手形的数据库，并通过倒角距离度量来查找数据库中与查询最匹配的结果。Wang等人[^24] [^25]也探索了从手部姿态数据库中检索全局姿态的思路。不过，为了覆盖全部手部运动范围，所需的数据库规模会很大。Keskin等人[^10]提出了一种通过手部部件标注来实现手部姿态估计的方法，但该方法并非基于运动学骨架。

---

全身运动跟踪：鉴于现有全身跟踪研究在相似性、数据量和成果方面的优势，采用其中的某些技术用于手部运动跟踪是顺理成章的。有几种方法会将3D网格和/或运动学骨架作为输出结果[^13] [^17]。其中，Stoll等人[^23]采用的技术依赖多台RGB相机，而许多其他方法则利用飞行时间（ToF）或结构光深度相机提供的深度信息[^2] [^6] [^20]。不过，由于皮肤颜色均匀、运动速度快以及自遮挡现象的存在，直接将这些方法应用于手部跟踪并不容易。

我们的方法借鉴了Ye等人[^29]、Baak等人[^2]以及Wei等人[^26]提出的全身姿态估计混合方案。不过，我们的判别式姿态估计器采用的是基于部件的姿态检索技术，而非全局姿态检索。

### 3. 输入数据与手部建模

图2展示了我们的实验装置，它由多台RGB相机和一台单目ToF深度传感器组成。RGB相机提供的图像数据具有极高的视觉精度，可用于跟踪；而互补的单视角深度数据则有助于我们高效检索姿态，因为我们能借助它消除深度歧义并检测2.5D数据中的指尖特征。仅需处理单目图像数据这一特点也提升了检索效率。

RGB图像：我们使用多台同步且经过校准的相机来获取RGB图像数据。我们将$n_k$台相机布置成近似半球形，以确保该半球空间内的典型手部运动能在多台相机中被捕捉到。所有相机都经过了校准，以获取其内参和外参。我们将每台相机生成的RGB图像记为$I_r^k$。在我们的所有实验中，使用了五台索尼DFW-V500相机，其分辨率设为$320 \times 240$，帧率为30帧/秒。

深度数据：我们方法的另一输入来自单个飞行时间（ToF）深度相机。该ToF相机的摆放位置需确保手部运动空间在其拍摄范围内，且已与RGB相机完成外部校准。我们将ToF相机生成的深度图像记为$I_{d}$，场景的未投影点云表示记为$C_{d}$。我们选用Creative Interactive Gesture Camera作为ToF深度数据传感器。

手部建模：为了捕捉手部的关节活动情况，我们将其建模为由32个关节组成的运动链（见图4）。我们使用参数$\Theta = \{\theta_i\}$来描述手部的26个自由度（DoF），其中$0 \leq i \leq 25$对应20个关节角度、3个全局旋转参数以及3个全局平移参数。每个关节角度都被限制在固定范围内，即$\theta_i \in [l_{min}^{i}, l_{max}^{i}]$，该范围取自关于手部的研究结果[^21]。由于我们采用基于SoG模型的生成式跟踪方法，因此还在运动骨骼上添加了30个均值和方差固定的均匀3D高斯分布。

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

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

![Image](images/b20c483473e843c663ee6b180c897d7270d77a25fb4de70a9b0b8156564c4692.jpg)

![Image](images/d71cd86bd430aaee9f4d140d3cc5cc13184ba2c0095cdbcd0237b8eb2cdc3ced.jpg)

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

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

<div style="text-align: center;">Figure 3. (a) Hand model consisting of a kinematic skeleton, attached 3D Gaussians (with radius set to the Gaussian variance for illustration), and a mesh. (b, c) Quadtree clustering of image into 2D SoG.</div>

此外还有颜色信息（参见[^23]）。最后，我们将由1774个顶点组成的3D网格$\mathcal{M}$附加到骨骼上。我们方法的最终输出结果是运动骨骼的参数$\Theta$。

### 4. 生成式手部姿态估计

生成式跟踪会估算出最能匹配给定的一组$\Theta_G$输入RGB图像的手部姿态参数$n_k$，这一匹配过程依据一致性能量来判断。我们采用了与Stoll等人[^23]类似但经过修改的局部能量最大化方法，以适配与全身运动不同的手部运动情况。在该方法中，手部和输入测量数据均采用高斯分布之和（SoG）来表示。SoG在数学上具有平滑性，能给出能量泛函及其导数的解析表达式，从而实现快速优化。我们的一致性能量表达式如下：

 $$ \mathcal{E}(\Theta)=E(\Theta)-w_{l}E_{l i m}(\Theta), $$

其中$E(\Theta)$是模型与图像的相似度度量（见4.1节）。第二项$w_l E_{lim}(\Theta)$是对骨骼关节限制的软约束，其公式形式与Stoll等人的定义一致。在我们所有的实验中，权重参数$w_l$均被设为0.1。

#### 4.1. 模型与图像的相似度度量

给定基于3D SoG的手部模型和多张输入的RGB图像，我们需要衡量模型与图像之间的相似度。我们通过四叉树聚类将每张图像划分为颜色相近的区域，再为每个区域拟合一个具有平均颜色的2D高斯分布，从而用2D SoG模型来近似表示该图像（见图3）。对于两个具有相关颜色c的2D SoG$K_a$和$K_b$，它们的相似度定义如下：

---

[^23]，

 $$ \begin{aligned}E&(\mathcal{K}_{a},\mathcal{K}_{b})\\ &=\int_{\Omega}\sum_{i\in\mathcal{K}_{a}}\sum_{j\in\mathcal{K}_{b}}d(\mathbf{c}_{i},\mathbf{c}_{j})\mathcal{B}_{i}(\mathbf{x})\mathcal{B}_{j}(\mathbf{x})\mathrm{d}\mathbf{x}\\ &=\sum_{i\in\mathcal{K}_{a}}\sum_{j\in\mathcal{K}_{b}}E_{ij},\end{aligned} $$

其中$\mathcal{B}(\mathbf{x})$是高斯基函数

 $$ \mathcal{B}(\mathbf{x})=\exp\left(-\frac{\left\|\mathbf{x}-\boldsymbol{\mu}\right\|^{2}}{2\sigma^{2}}\right). $$

$E_{ij}$是一对高斯分布$\mathcal{B}_i$和$\mathcal{B}_j$在颜色$\mathbf{c}_i$和$\mathbf{c}_j$下的相似度，其定义为：

 $$ \begin{align*}E_{ij}&=d(\mathbf{c}_{i},\mathbf{c}_{j})\int_{\Omega}\mathcal{B}_{i}(\mathbf{x})\mathcal{B}_{j}(\mathbf{x})\mathrm{d}\mathbf{x}\\&=d(\mathbf{c}_{i},\mathbf{c}_{j})2\pi\frac{\sigma_{i}^{2}\sigma_{j}^{2}}{\sigma_{i}^{2}+\sigma_{j}^{2}}\exp\left(-\frac{\left\|\mu_{i}-\mu_{j}\right\|^{2}}{\sigma_{i}^{2}+\sigma_{j}^{2}}\right)\end{align*} $$

颜色相似度函数$d(\mathbf{c}_i, \mathbf{c}_j)$用于衡量$\mathbf{c}_i$与$\mathbf{c}_j$在HSV色彩空间中的欧几里得距离，并将结果代入Wendland函数中[^27]。由此得到的d是一个取值范围在$[0, 1]$内的平滑函数（输入不相似时为0，输入相似时为1）。

利用上述定义的相似性度量，我们可以判断3G SoG手模型的特定姿态与观测到的RGB图像之间的相似程度。为此，需使用投影算子将3D高斯分布投影到图像上$\Psi(\mathcal{K}_m)$ [^23]。现在我们定义最终的相似性度量如下：

 $$ \begin{align*}&E_{sim}(\mathcal{K}_{I},\mathcal{K}_{m}(\Theta))\\&\quad=\sum_{i\in\mathcal{K}_{I}}\min\left(\left(\sum_{j\in\Psi(\mathcal{K}_{m})}w^{m}_{j} E_{ij}\right),E_{ii}\right),\end{align*} $$

其中$w_j^m$是每个投影后的3D高斯分布$\Psi(\mathcal{K}_m)$的权重因子。通过这一参数，我们能够控制每个3D高斯分布对最终相似性的相对影响。

为了避免重叠的投影3D高斯分布在上述求和过程中被多次计入从而扭曲相似性函数，我们将相似性上限设定为$E_{ii}$，该值恰好是图像高斯分布与其自身的相似性。这可以被视为对遮挡项的一种简单近似。

该优化方法中的离线步骤是针对每位演员单独定制手模型的形状和尺寸。我们采用Stoll等人描述的半自动流程[^23]来适配默认的手部骨骼模板。我们采集了四种关节清晰可见的静态手部姿态，并手动调整默认手部骨骼以匹配这些姿态。完成这一步后，再对3D高斯分布的位置、方差和颜色以及骨骼长度进行优化。整个方法中均会使用这一手模型。

#### 4.2. 优化

优化步骤的目标是估算每个时间点的姿态参数$\Theta_{t}$。我们采用了Stoll等人提出的梯度上升局部优化方法，由于我们的能量函数可以计算出解析梯度，因此该方法能够实现每个时间点t的姿态参数的实时估算。优化的每次迭代都通过将前两个时间步的估计姿态外推来初始化：

 $$ \Theta_{0}^{t}=\Theta^{t-1}+\alpha(\Theta^{t-1}-\Theta^{t-2}), $$

其中$\alpha$的取值设为0.5。在第5节中，我们将介绍如何利用基于部件的姿态检索策略来初始化优化过程。

尽管生成式姿态优化方法运行速度快且已被证明在全身跟踪中可靠，但在手部跟踪中它很快便达到极限，甚至会收敛到无法恢复的局部最优姿态。这是因为手部比身体具有更高的关节活动复杂度（因而在狭小空间内可呈现更多样的姿态）、运动更快且颜色均匀。其后果是频繁出现自遮挡现象，以及两帧之间手部位置的明显偏移，这些因素都会给局部姿态优化器带来挑战。此外，裸露手部均匀的肤色使得模型与图像的对应关系比穿着彩色衣物的人体情况更加模糊。因此，我们在生成式跟踪器的基础上补充了一种高效的判别式手部姿态估计算法，相关细节将在后续章节中介绍。该算法会与生成式方法并行生成手部姿态假设，一旦生成式方法收敛到错误姿态，它就能重新初始化生成式方法。

### 5. 基于部件的姿态检索

我们的判别性姿态估计方法旨在从单张深度图像中估算手部的完整或部分姿态，即$\widetilde{\Theta}_{D}$，该图像为$I_{d}$。我们采用基于部件的策略来实现这一目标：并非试图恢复整个手部的姿态，而是分别估算每个手指的姿态，也就是$\Theta_{D}^{f}$。具体做法是利用线性SVM分类器在深度图像上提取指尖位置，再根据检测到的位置在多个示例性手指姿态数据库中查找最匹配的姿态。为每只手指单独建立数据库具有诸多优势：首先，由于组合原因，在规模有限的姿态数据库中能够表示的关节活动范围，要比使用包含整个手部示例的单一姿态数据库时大得多（详见第5.1节）；其次，我们的方法还具有

---

的优势在于：即便某些手指被遮挡，也能恢复出部分手部姿态（即缺失部分手指姿态的情况）。随后，通过假设-检验框架将恢复出的各手指姿态拼接起来，从而形成完整或部分姿态，$\widetilde{\Theta}_{D}$。

#### 5.1. 多手指姿态数据库的生成

我们简要说明为何需要使用多个手指数据库，而非单一的全局姿态数据库。Wang和Popović提出的全局姿态检索方法[^25]采用了从真实手部运动中采样的18,000个姿态样本。尽管他们的目标之一是避免过度采样，但如此规模的数据库仍不足以覆盖自然运动中可能出现的全部关节活动范围。若要定量评估关节活动范围与数据库规模之间的关系，可以考虑在允许的关节极限内对关节角度进行离散化处理。忽略全局运动因素，我们用21个关节角度（自由度）来建模手部；如果每个关节角度被离散为3个等级，那么用于全局姿态检索的数据库规模将达到$10^{10}$量级。相比之下，基于部件的姿态检索需要五个数据库，每个数据库的规模为81。因此，基于部件的姿态检索所生成的手部数据库规模远小于全局姿态检索的数据库，既避免了过度采样，又能保留较大的关节活动范围。

以往采用全局姿态检索的方法[^2] [^25]，都是利用动作捕捉系统采集真实数据来生成姿态数据库。然而，由于自遮挡和手套约束等问题，复杂的手部运动很难通过动作捕捉系统获取。因此，我们通过为每只手指在所有关节角度的离散化取值上合成生成姿态，来获取手指姿态数据库。为此，我们使用了此前获得的针对特定人的手部模型（详见第4.1节）。

对于为每只手指生成的每个合成姿态$\Theta_S^f$，我们会在局部骨骼坐标系下计算其末端执行器的位置$\mathbf{x}_s^f$（详见第5.2节）。我们将计算得到的3D末端执行器位置作为数据库索引特征，因为它能唯一标识手指的特定姿态，且在深度数据中相对容易检测。我们使用k-d树来对这类特征进行索引。在所有实验中，我们使用的数据库规模为4096，对应每个自由度的关节离散等级为8级。

#### 5.2. 手掌与手部朝向估计

由于我们的手指姿态数据库是基于相对于手模型的特征来索引的，因此我们需要对检测到的查询特征进行归一化处理，使其处于同一参考框架中。为此，我们从深度数据中提取手掌及其方向。我们首先对深度图像应用盒式滤波器 $I_{d}$，以提取仅与手相关的深度图像 $I_{b}$ 以及反投影点云 $C_{b}$。我们对 $I_{b}$ 执行形态学操作中的腐蚀和膨胀处理，以

![Image](images/8409dfd3fb392736e43465de3179f2c3f6e6282fcda60c77e358690e294b76b6.jpg)

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

![Image](images/318d63762e6d1aa570e785848970e40c3f806ac2c918c56ab5b0b85322927eea.jpg)

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

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

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

<div style="text-align: center;">Figure 4. (a) Palm extracted from the point cloud (white) and hand orientation normalization (arrows). (b) Fingertips detected using a linear SVM classifier. (c) Estimated partial or complete hand pose.</div>

去除手指但保留手掌。最终得到的是手掌的二值掩码，用它来获取手掌的基本分割点云 $C_s$。不过，$C_s$ 中可能包含位于传感器与手掌之间的视线上的手指。因此，我们使用RANSAC算法，以5毫米的共识阈值，将平面P拟合到 $C_s$ 上，从而得到最终的手掌分割点云 $C_p$。我们将手掌中心定义为位于平面P上且是 $C_p$ 的轴对齐边界框的质心点。接着，我们对投影到平面P上的 $C_b$ 执行主成分分析（PCA），以确定手和手掌的主方向。最后，我们使用卡尔曼滤波器来减少估计方向的抖动。检测到的手掌中心和方向用于稳定手指姿态数据库的查找结果（见图4）。

#### 5.3. 指尖检测

对于我们基于部件的姿态检索策略而言，需要可靠地检测出深度图像中的末端执行器位置。以往在全身姿态估计领域的研究曾使用测地极值等特征 [^2] [^16]，但这些特征对手部并不适用，会产生难以与真实极值点区分的虚假极值点。为解决这一问题，我们采用机器学习方法，利用线性SVM分类器和HOG描述符作为特征来检测指尖。我们沿用了Dalal和Triggs提出的物体检测框架 [^4]，只不过是在深度图像而非RGB图像上应用。训练线性SVM时，我们使用了人工标注的真实序列、标注的合成序列以及两者的旋转版本（共4种方向）。我们设定的指尖检测窗口大小为 $32 \times 32$。由于在姿态检索步骤中未检测到指尖会带来高昂代价，我们调整了线性SVM的参数以提高召回率。我们发现，利用关于手指位置的假设——即指尖不可能远离或过于靠近手掌中心——就能消除大部分误检情况。排除误检后，我们得到五个或更少的指尖候选点 $x_c^f$。图1展示了一个叠加了检测到的指尖的深度帧，图4则展示了点云上经过筛选后的指尖。

---

#### 5.4. 手指姿态估计

判别性姿态估计的最后一步是确定手的完整或部分姿态，$\widetilde{\Theta}_D$。然而，为了查询手指姿态数据库，我们需要为每个检测到的指尖打上标签。这是一个难题，因为指尖在深度图像或RGB图像中的外观差异极大。因此，我们采用了一种假设-检验框架，利用两个标准来测试标签排列组合集合中的所有元素，$\Sigma$。首先，对于每一种排列$\sigma_i \in \Sigma$，我们根据每个检测到的指尖到手指姿态数据库中与当前标签对应的最近邻点的距离，提前排除不符合要求的假设姿态。在所有实验中，我们将距离阈值设为$\mu = 20$毫米。只有通过第一阶段的假设才会进一步用距离度量进行测试，该度量公式如下：

 $$ \delta(\sigma_{i},\widetilde{\Theta})=\frac{1}{r}\|\mathbf{x}_{i}-\mathbf{x}_{c}^{f}\|_{2}, $$

其中r表示检测到的指尖数量，$\mathbf{x}_i$对应候选指尖$\mathbf{x}_c^f$的位置，$\widetilde{\Theta}$则是当前的假设姿态。距离度量值最小的姿态被选中作为最佳姿态，$\widetilde{\Theta}_D$。如果检测到的指尖位置少于五个，由于部分姿态也属于排列组合集合的一部分，$\Sigma$，因此我们仍能恢复出距离最小的部分姿态。

### 6. 姿态候选融合

此时，我们已经从生成式方法和判别式方法中得到了两个手姿态候选，分别是$\Theta_G$和$\widetilde{\Theta}_D$。为了将它们结合起来找出最佳姿态，我们首先用$\widetilde{\Theta}_D$而非外推结果来初始化生成式跟踪器的第二个实例。那些不属于$\widetilde{\Theta}_D$的姿态参数则通过公式6进行外推。优化后我们得到姿态$\Theta_D$以及对应的最优能量$\mathcal{E}(\Theta_D)$（见公式1）。最终姿态$\Theta_F$就是能量更高的那个姿态，其能量由以下公式给出：

 $$ \Theta_{F}=\mathop{\operatorname{a r g}\operatorname*{m a x}}_{\Theta\in\{\Theta_{G},\Theta_{D}\}}\{\mathcal{E}(\Theta_{G}),\mathcal{E}(\Theta_{D})\}. $$

### 7. 实验结果

我们在一台时钟频率为3.30 GHz、配备8 GB内存和Nvidia NVS 300 GPU的计算机上实现并测试了我们的方法、其算法变体以及文献中的一种相关算法[^14]。在这台机器上，我们的方法实现了10帧/秒的交互式帧率。在我们未优化的C++代码中，耗时最多的部分是生成式姿态估计的局部优化（53毫秒）和多尺度指尖检测（40毫秒）。

现在我们将展示使用我们的方法在各种序列上进行的广泛实验评估结果。与以往采用合成数据和真实数据结合进行评估的方法不同，我们使用了大量的真实数据。我们收集了七个真实序列，包含同步且经过校准的多视角RGB图像，以及单目ToF和Kinect数据（见图2）。所有序列都经过人工标注，以标记深度数据中的指尖和手掌中心位置。总体而言，我们的测试序列包含2137帧数据，涵盖了慢速和快速运动场景，背景和光照条件也较为多样。我们采集的序列涵盖了多种手部运动类型，包括屈伸运动（如手指波浪、flexex1、捏合、数手指）、外展-内收运动（如abdadd），以及随机运动（如random、手指波浪）。

我们实验的总体定量结果表明，将生成式姿态估计方法与判别式部件基姿态检索技术相结合的方法（SoG + PBPFingertip）在大多数情况下都优于其他替代方案。我们的算法稳定性良好，所有结果均是在相同参数下记录的。我们将该方法与几种算法替代方案进行了比较：(a) 仅使用SoG模型的生成式姿态估计（SoG）；(b) 生成式姿态估计方法结合基于归一化深度图像的全局姿态检索技术（SoG + GPImage）；(c) Oikonomidis等人提出的方法的公开实现版本[^14]（FORTH，仅一个序列）。

评估指标：为了能够与其他方法进行比较，我们采用了与Oikonomidis等人[^15]所用类似的误差指标。针对所有数据集中的每一帧，我们都会计算估计指尖位置与真实指尖位置之间、以及手掌中心位置之间的欧几里得距离。随后，我们会算出每个数据集中所有帧的平均误差$\widetilde{\Delta}$。

定量结果：图5对比了我们的结果（SoG + PBPFingertips）与仅使用SoG以及SoG + GPImage的情况。我们的混合方法取得了更好的效果，平均精度达到了13.24毫米，这一数值接近最佳的离线方法[^3]。这归因于这样一个事实：每当生成式姿态估计失败时，判别式部件基姿态检索策略就会对其进行适当的重新初始化。图6清楚地展示了这一情况，该图显示了误差随帧号变化的规律。生成式方法中的误差从第25帧左右开始累积，且始终无法降低；而我们的方法会定期重新初始化，即便在长序列中也能保持恒定的误差率。最值得注意的是，在序列末尾，我们方法产生的误差与最初几帧的误差相差不大。这里一个令人惊讶的结果是，SoG + GPImage产生的误差比仅使用SoG时更大，这表明基于图像的全局检索对深度数据中的噪声较为敏感。

---

![Image](images/4202e9006be7f26b78e3739684f7fdab635d37851c6e558d0d20c99ae58d9820.jpg)

<div style="text-align: center;">Figure 5. The average position error over the entire dataset for SoG only, SoG + GPImage and SoG + PBPFingertips (ours).</div>

我们还在包含类似手指波浪动作的数据集上测试了FORTH方法，该数据集处于不同的光照条件下；由于我们无法让他们的方法在我们所采集的七个序列中的任何一个上正常运行。他们的方法基于GPU加速，在相同机器上的运行速度仅为2.5帧/秒，而我们的方法能达到10帧/秒，这说明优化我们的代码有望进一步提升帧率。随后，我们计算了FORTH方法在整个（类似）序列上的误差指标$\widetilde{\Delta}$，结果为10.31毫米。这一数值与我们方法的平均误差13.24毫米相比更具优势。因此，我们的方法在处理类似数据集时表现优异，同时所需的计算资源也比FORTH更少。

### 8. 结论与未来工作

在本文中，我们提出了一种利用混合方法追踪人体手部关节三维运动的新颖方法。我们的方法通过证明其在大量运动数据中的高精度以及足以满足许多交互式应用需求的帧率，推动了现有技术的发展。我们的主要贡献在于将基于部件的姿态检索新方法与应用图像优化的方法相结合。基于部件的姿态检索能够恢复并稳定追踪存在自遮挡现象的手部运动姿态，同时还能大幅缩减姿态数据库的规模。

尽管我们的方法在真实序列上取得了不错的性能，但仍有改进空间。由于物体运动较快，我们的许多数据集都存在运动模糊现象。因此，我们希望探索结合新时间先验与高帧率相机的可能性。我们校准后的多摄像头系统需要花费时间进行设置，所以我们也想尝试减少摄像头数量，并将深度数据融入生成式姿态优化过程中。最后，我们希望利用生成式姿态优化的并行结构来实现更高的帧率。

![Image](images/d4c2f09be00f6b93fddef1e20edb2e335a8c4a41dd8372db91e89ff230067f3f.jpg)

<div style="text-align: center;">Figure 6. The average position error over the fingerwave dataset for SoG only and SoG + PBPFingertip (ours).</div>

致谢：本研究得到了马克斯·普朗克视觉计算与通信中心（MPC-VCC）以及ERC启动基金CapReal的支持。我们感谢杜涵在图像标注方面提供的帮助，也感谢James Tompkin在补充视频配音方面的协助。我们的数据集可在项目网页$^{1}$上获取。

## 参考文献

[^1]: V. Athitsos and S. Sclaroff. Estimating 3D hand pose from a cluttered image. In Proc. CVPR, volume 2, pages II – 432–9 vol.2, June 2003. 2

[^2]: A. Baak, M. Muller, G. Bharaj, H.-P. Seidel, and C. Theobalt. A data-driven approach for real-time full body pose reconstruction from a depth camera. In Proc. ICCV, pages 1092–1099, Nov. 2011. 1, 3, 5

[^3]: L. Ballan, A. Taneja, J. Gall, L. Van Gool, and M. Pollefeys. Motion capture of hands in action using discriminative salient points. In Proc. ECCV, volume 7577, pages 640–653. Springer Berlin / Heidelberg, 2012. 2, 6

[^4]: N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In Proc. CVPR, volume 1, pages 886–893. IEEE, 2005. 5

[^5]: A. Erol, G. Bebis, M. Nicolescu, R. D. Boyle, and X. Twombly. Vision-based hand pose estimation: A review. CVIU, 108(12):52–73, Oct. 2007. 2

[^6]: V. Ganapathi, C. Plagemann, D. Koller, and S. Thrun. Real-time human pose tracking from range data. In Proc. ECCV, volume 7577, pages 738–751. Berlin, Heidelberg, 2012. 3

[^7]: H. Hamer, J. Gall, T. Weise, and L. Van Gool. An object-dependent hand pose prior from sparse training data. In Proc. CVPR, pages 671–678, 2010. 2

[^8]: H. Hamer, K. Schindler, E. Koller-Meier, and L. Van Gool. Tracking a hand manipulating an object. In Proc. ICCV, pages 1475–1482, 2009. 2

## [^9]: L. A. Jones and S. J. Lederman. Human Hand Function. Oxford University Press, USA, 1 edition, Apr. 2006. 1

---

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

![Image](images/d37bc083e9254aa89104b2a952f409fd489349ec7768dcc0d4654dc6d65be200.jpg)

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

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

![Image](images/de33a7fa0695e0072b01d57e121f28f8023e7abefa9fa741c3edf07d8c8ac8d5.jpg)

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

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

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

<div style="text-align: center;">Figure 7. Qualitative results of our method as seen from two camera views. Results in (a), (b) show general slow motion. Results in (c) show successful tracking even in the presence of fast motion. Result (d) shows a failure case due to fast motion.</div>

[^10]: C. Keskin, F. Kraç, Y. E. Kara, and L. Akarun. Hand pose estimation and hand shape classification using multi-layered randomized decision forests. In Proc. ECCV, pages 852–863. Springer Berlin Heidelberg, 2012. 2

[^11]: J. Lin, Y. Wu, and T. Huang. Modeling the constraints of human hand motion. In Proc. HUMO, pages 121–126, 2000. 2

[^12]: J. MacCormick and M. Isard. Partitioned sampling, articulated objects, and interface-quality hand tracking. In Proc. ECCV, number 1843, pages 3–19. Jan. 2000. 2

[^13]: T. B. Moeslund, A. Hilton, and V. Krger. A survey of advances in vision-based human motion capture and analysis. CVIU, 104(23):90–126, Nov. 2006. 3

[^14]: I. Oikonomidis, N. Kyriazis, and A. Argyros. Efficient model-based 3D tracking of hand articulations using kinect. In Proc. BMVC, pages 101.1–101.11, 2011. 2, 6

[^15]: I. Oikonomidis, N. Kyriazis, and A. Argyros. Full DOF tracking of a hand interacting with an object by modeling occlusions and physical constraints. In Proc. ICCV, pages 2088–2095, 2011. 2, 6

[^16]: C. Plagemann, V. Ganapathi, D. Koller, and S. Thrun. Real-time identification and localization of body parts from depth images. In Proc. ICRA, pages 3108–3113, May. 5

[^17]: R. Poppe. Vision-based human motion analysis: An overview. CVIU, 108(12):4–18, Oct. 2007. 3

[^18]: J. Rehg and T. Kanade. Visual tracking of high DOF articulated structures: An application to human hand tracking. In Proc. ECCV, volume 801, pages 35–46. Springer Berlin / Heidelberg, 1994. 2

[^19]: J. Romero, H. Kjellstrom, and D. Kragic. Hands in action: real-time 3D reconstruction of hands in interaction with objects. In Proc. ICRA, pages 458–463, 2010. 2

[^20]: J. Shotton, A. Fitzgibbon, M. Cook, T. Sharp, M. Finochio, R. Moore, A. Kipman, and A. Blake. Real-time human pose recognition in parts from single depth images. In Proc. CVPR, pages 1297–1304, June 2011. 3

[^21]: E. Simo Serra. Kinematic Model of the Hand using Computer Vision. PhD thesis, Institut de Robôtica i Informática Industrial, 2011. 3

[^22]: B. Stenger, A. Thayananthan, P. H. S. Torr, and R. Cipolla. Model-based hand tracking using a hierarchical bayesian filter. 28(9):1372–1384, 2006. 2

[^23]: C. Stoll, N. Hasler, J. Gall, H. Seidel, and C. Theobalt. Fast articulated motion tracking using a sums of gaussians body model. In Proc. ICCV, pages 951–958, Nov. 2011. 2, 3, 4

[^24]: R. Wang, S. Paris, and J. Popović. 6D hands: markerless hand-tracking for computer aided design. In Proc. ACM UIST, pages 549–558. ACM, 2011. 2

[^25]: R. Y. Wang and J. Popović. Real-time hand-tracking with a color glove. ACM TOG (Proc. SIGGRAPH), (3):63:163:8, July 2009. 1, 2, 5

[^26]: X. Wei, P. Zhang, and J. Chai. Accurate realtime full-body motion capture using a single depth camera. ACM TOG (Proc. SIGGRAPH Asia), 31(6), Nov. 2012. 1, 3

[^27]: H. Wendland. Piecewise polynomial, positive definite and compactly supported radial functions of minimal degree. Adv Comput Math, 4(1):389–396, Dec. 1995. 4

[^28]: Y. Wu, J. Lin, and T. Huang. Capturing natural hand articulation. In Proc. ICCV, pages 426–432 vol.2, 2001. 2

[^29]: M. Ye, X. Wang, R. Yang, L. Ren, and M. Pollefeys. Accurate 3D pose estimation from a single depth image. In Proc. ICCV, pages 731–738, 2011. 1, 3
