
# 潜在回归森林：三维关节手部姿态的结构化估计

唐丹航

张亨珍 $^{*}$ 阿利汗·特贾尼 $^{*}$ 金泰均

英国伦敦帝国理工学院

{d.tang11, hj.chang, alykhan.tejani06, tk.kim}@imperial.ac.uk

## 摘要

在本文中，我们提出了潜在回归森林（Latent Regression Forest, LRF），这是一种用于从单张深度图像实时估计三维手部姿态的新颖框架。与以往基于森林的方法不同，后者以密集像素为输入，独立对它们进行分类，之后再估计关节位置；而我们的方法可被视为一种结构化的粗到细搜索过程，从点云的质心开始，直至定位所有骨骼关节。该搜索过程由学习得到的潜在树模型引导，该模型反映了手部的层次化拓扑结构。我们的主要贡献可总结如下：(i) 以无监督、数据驱动的方式学习手部拓扑；(ii) 一种新的基于森林的、用于图像中结构化搜索的判别性框架，以及用于避免误差累积的误差回归步骤；(iii) 一个新的多视角手部姿态数据集，包含来自10名不同受试者的18万张标注图像。实验表明，LRF在准确性和效率方面均优于现有最先进的方法。

### 1. 引言

自实时人体姿态估计取得广泛成功以来[^10]，手部姿态估计领域受到了计算机视觉界的广泛关注。准确且高效的手部姿态估计对许多高层任务大有裨益，例如人机交互、手势理解和增强现实。在本文中，我们介绍了一种从单张深度图像实时估计三维手部姿态的方法。

当前最先进的人体姿态估计技术主要采用数据驱动的自下而上方法，即独立为像素分配身体部位标签[^15]，或为关节位置投票[^5] [^18] [^13]。然而，与人体相比，手部具有更复杂的关节结构、自遮挡现象以及多视角变化；因此，这些方法需要指数级更多的数据才能捕捉这种差异，导致其难以直接应用。

![Image](images/3409f4bb6676014f44502dd4d7a936cc69843e58d012932faaa3970feced3b47.jpg)

<div style="text-align: center;">Figure 1: Our method can be viewed as a search process, guided by a binary Latent Tree Model (LTM); starting from root of the LTM, we minimise the offset to its children at each level until reaching a leaf node which corresponds to a skeletal joint position. For simplicity, we only show the searching process for one joint. (All figures best viewed in colour and high-definition)</div>

要捕捉这种变化较为困难，因此难以直接应用。

此外，少数自下而上的方法会采用全局优化步骤，例如强制局部输出之间的依赖性[^16]或运动学约束[^17]。若缺少这类步骤，输出的姿态可能会极不合理甚至根本无法实现。

相比之下，其他手部姿态估计方法采用了更自上而下的全局策略，即从三维手部模型生成假设，再通过将该模型拟合到测试数据上来跟踪姿态[^3] [^6] [^1] [^12]。虽然这些基于模型的方法能够天然地处理运动学约束、关节结构和视角变化问题，但其性能严重依赖于准确的姿态初始化，以及合成模型与测试受试者之间的结构相关性（即手部宽度和高度）。

在本文中，我们提出了用于从单张深度图像实时估计三维手部姿态的潜在回归森林（LRF）。我们将该问题表述为针对骨骼关节的二分分治搜索过程。

---

该研究采用结构化的粗到细搜索方式，由学习到的手部拓扑模型引导（见图1）。此外，该拓扑模型还用于对输出结果施加隐式学习到的全局运动学约束。通过利用我们新构建的多样化手部姿态数据集以判别性方式进行训练，我们的方法能够适应各种形状和大小的手部，实验结果也证明了这一点。实验表明，LRF在准确性和效率方面均优于现有最先进的方法。本研究的主要贡献可总结如下：

1) 手部拓扑的无监督学习：我们用潜树模型$^{[2]}$来表示手部拓扑，该模型以无监督方式学习得到。在训练潜回归森林时，会利用这一拓扑模型来实现结构化的粗到细搜索方法。

2) 潜回归森林：我们提出了一种用于深度图像的结构化粗到细搜索框架。在学到的潜树模型的引导下，我们训练二元决策树，这些决策树会迭代地将输入图像划分为子区域，直到每个子区域对应一个骨骼关节。此外，为避免误差累积，该框架的每个阶段都嵌入了误差回归器。

3) 全新的多视角手部姿态数据集：我们发布了一个全新的手部姿态数据集，包含来自10名不同受试者的18万张带有完整3D标注的深度图像。

### 2. 相关工作

手部姿态估计在计算机视觉领域有着悠久且多元的发展历史。随着低成本实时深度传感器的问世，这一领域以及密切相关的人体姿态估计领域受到了广泛关注。在本节中，我们将探讨一些与这些问题相关的较新研究成果；不过，关于早期手部姿态估计算法的详细综述，请参阅[^4]。

许多人体姿态估计研究在训练时使用大型合成数据集，并采用像素级分类[^15]或关节回归技术[^5] [^18] [^13] [^16]来进行姿态估计。然而，与人体相比，手部的关节活动更复杂、存在更多自遮挡现象且视角多样；因此，要捕捉这种多样性需要呈指数级增长的数据量，这使得这些方法难以直接应用。

Keskin等人[^8]针对数据量爆炸的问题提出了解决方案：先对训练数据进行聚类，再针对每个聚类使用[^15]方法训练多个专家模型。此外，由于手部的变化性更强，获取带真实标注的数据本身就是一项挑战。Tang等人[^17]研究了利用标注的合成数据和未标注的真实数据来进行手部姿态估计的半监督学习方法。

近期，也有许多基于跟踪的手部姿态估计方法被提出。Oikonomidis等人[^12]提出了一种基于粒子群优化的深度图像手部姿态估计跟踪方法。De La Gorce等人[^3]将阴影和纹理信息融入基于模型的跟踪器中，而Ballan等人[^1]则利用指尖上的显著点进行姿态估计。最近，Melax等人[^9]提出了一种基于物理模拟的跟踪器，其在实时场景下能达到业界领先的性能。

图形模型，尤其是基于树的模型，近年来已被用于估计人体姿态。Tian等人[^19]构建了分层树模型来研究身体部位之间的空间关系；而Wang和Li[^20]则采用潜在树模型来近似身体部位位置的联合分布。潜在树模型尤其值得关注，因为它们能够表征数据中的复杂关系[^11]；此外，近期构建这类模型的方法([^2] [^7])使我们能够以高效的计算方式学习一致且精简的潜在树模型。

### 3. 方法论

手部姿态估计问题可分解为估算手部骨骼模型中一组离散关节的位置。我们将其表述为一个二分式的分治搜索问题：输入图像被递归划分为两个紧密相关的子区域，直至每个子区域仅包含一个骨骼关节为止。为了应对手部复杂的关节活动带来的挑战，搜索过程以结构化的、由粗到精的方式进行，每个搜索阶段的粒度由学习得到的手部拓扑模型来定义。

在第3.1节中，我们探讨了如何以无监督的方式学习手部拓扑；随后在第3.2节中，我们讨论了如何利用该拓扑来构建潜在回归森林（LRF），以便在图像空间中执行结构化的、由粗到精的搜索；最后在第3.3节中，我们提出了一种减少LRF内部误差传播的策略。

#### 3.1. 学习手部拓扑

为了指导搜索过程，我们希望定义一种由粗到精、层次化的手部拓扑：层次结构中最粗略的一层由搜索的输入——整个手部来定义，最精细的一层则由输出——骨骼关节来定义。

给定标注了所有骨骼关节3D位置的训练图像，我们还将整个手部的3D位置定义为深度图像中所有点的质心。因此，我们的目标是学习一种从质心出发、最终到达骨骼关节的层次化拓扑。这一目标的实现依赖于对拓扑进行建模……

---

![Image](images/0190928bbf199d3d504952894e01706b8d3e9f0e11e40e5c90535b45855c4dfb.jpg)

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

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

<div style="text-align: center;">Figure 2: An comparison between (a) a traditional Regression Tree, where each patch sample is extracted from a depth image, propagated down the tree and ends up at one leaf node; and (b) an Latent Regression Tree, where the whole point cloud is propagated down the tree and keep dividing until ending up at 16 leaf nodes.</div>

……将其建模为潜在树模型，并利用近期提出的Chow-Liu邻接法（CLNJ）[^2]来构建该模型。

潜在树模型是一种树状结构的图形模型$\mathcal{M} = (O \cup L, E)$，其中的顶点由可观测顶点（骨骼关节和手部位置）O与潜在顶点$L = \{l\}$组成，其中$l \subseteq O$；E表示边（见图3(c)(d)）。在我们的研究中，仅考虑二叉树模型，以便将其轻松集成到潜在回归森林中，而潜在回归森林本身便是由二叉树构成的。

CLNJ方法以所有可观测顶点的成对距离矩阵D作为输入。利用训练集S，两个可观测顶点x和y之间的距离D定义为：

 $$ \mathcal{D}_{x y}=\frac{\sum_{I\in\mathcal{S}}\delta\left(I,x,y\right)}{\left|\mathcal{S}\right|} $$

其中$\delta\left(I,x,y\right)$是一个用于衡量图像I中顶点x和y之间距离的函数。在本研究中，我们比较了两种不同的距离函数：第一种是x和y的3D位置之间的标准欧几里得距离，第二种则是测地距离。

要计算图像I中顶点x和y之间的测地距离，我们首先构建图像I中所有可观测顶点组成的完全连通无向图。如果图像空间中沿某条边的深度存在较大不连续性，则会移除该边。最终得到的图中，各边都位于深度平滑过渡的路径上。此时，两个顶点间的测地距离便可定义为该图中连接它们的最短路径长度。

在图3(a)和(b)中，我们展示了玩具手模型上欧几里得距离与测地距离的差异。由于不同的姿态会导致两个关节间的欧几里得距离发生剧烈变化，而测地距离却基本保持不变；这种对姿态的鲁棒性更有助于捕捉人手的结构特征。

图3(c)和(d)分别展示了利用欧几里得度量和测地度量生成的两种潜在树模型；如箭头所示，基于欧几里得度量生成的模型会将不同手指的子部分归为一组，例如中指根部会与食指归为一类，而基于测地度量生成的模型中，各手指则是相互分离的。

#### 3.2. 潜在回归森林

潜在回归森林（Latent Regression Forest, LRF）的目标是：在输入图像中搜索多个子区域，每个子区域对应一个特定的骨骼关节。搜索过程采用二分法的分治策略，每一次划分都由反映手部结构的已学潜在树模型来指导。

LRF是由随机二元决策树组成的集合，每棵树都是在原始训练数据的自助样本上训练的。每棵潜在回归树包含三种类型的节点：分裂节点、划分节点和叶节点（见图2）。分裂节点会对输入数据执行测试函数，并决定将其路由到左侧还是右侧。划分节点会将当前的搜索目标拆分为两个互不重叠的目标，并并行地将输入数据沿两条路径传递。最后，叶节点是终止节点，代表单个骨骼关节，并存储该关节在三维空间中的位置投票信息。

第3.2.1节我们将讨论如何构建LRF，第3.2.2节则介绍测试流程。

#### 3.2.1 训练

给定描述手部结构的潜在树模型（Latent Tree Model, LTM）$\mathcal{M}$，对于其中的每个顶点$i \in \mathcal{M}$、$i = 0...|\mathcal{M}|$，其父节点由$p(i)$定义，两个子节点则由$l(i)$和$r(i)$表示。针对每一项训练…

---

![Image](images/b6abe0f768e893b70dfd87aade25a73ca9c142764f64112b4f22d01309280b5b.jpg)

<div style="text-align: center;">Figure 3: (a) Euclidean distance between two joints. (b) Geodesic distance between two joints. (c) LTM generated using the Euclidean distance metric. (d) LTM generated using the geodesic distance metric. In (c) and (d) solid circles represent observable vertexes and dashed ones latent vertexes. This figure is best viewed in colour.</div>

在深度图像I中，每个顶点i都对应一个三维位置$\boldsymbol{\rho}_{i}^{I}$。对于每个可观测顶点$i \in O$，该位置就是其对应关节的位置；而对于每个潜在顶点$i \in L$，其位置则由构成它的可观测节点的平均位置来表示。因此，每个训练样本都可以表示为元组$(I, \boldsymbol{\rho}_{i}^{I})$，其中$\boldsymbol{\rho}_{i}^{I}$表示图像I中对应顶点i的三维位置。

潜在回归森林中的每棵潜在回归树（Latent Regression Tree, LRT）按如下方式训练：LRT的训练分阶段进行，每个阶段对应LTM中的一个非叶节点$\mathcal{M}$。从$\mathcal{M}$的根节点i=0开始，我们构建LRT，目标是将图像划分为两个连贯的子区域，这两个子区域分别对应根节点的子节点$l(i)$和$r(i)$。

这种分离是通过生长几层潜在回归树来实现的。在每个节点处，我们随机生成分割候选集 $\Phi = \{(f_i, \tau_i)\}$，它由函数 $f_i$ 和阈值 $\tau_i$ 组成，能够将输入数据 $\mathcal{S}$ 划分为两个子集 $\mathcal{S}^l$ 和 $\mathcal{S}^r$，且满足 $\mathcal{S}^l = \{I | f_i(I) < \tau_i\}$ 以及 $\mathcal{S}^r = \mathcal{S} \setminus \mathcal{S}^l$。在由LTM顶点 i 所代表的阶段中，用于分割候选的函数 $f_i$ 定义如下：

 $$ f_{i}(I)=d_{I}\left(\boldsymbol{\mathbf{\rho}}_{i}^{I}+\frac{\mathbf{u}}{d_{I}(\boldsymbol{\mathbf{\rho}}_{0}^{I})}\right)-d_{I}\left(\boldsymbol{\mathbf{\rho}}_{i}^{I}+\frac{\mathbf{v}}{d_{I}(\boldsymbol{\mathbf{\rho}}_{0}^{I})}\right). $$

其中 $d_I(\cdot)$ 表示图像位置处的深度，$\rho_i^I$ 是图像 I 中LTM顶点 i 的位置，向量 $\mathbf{u}$ 和 $\mathbf{v}$ 为随机偏移量。与 [^15] 类似，这些偏移量经过归一化处理以使其不受深度影响。不过，为了避免深度值出现误差累积，归一化因子始终取质心 $\frac{1}{d_I(\alpha_i^I)}$。

能够带来最大信息增益的分割候选集 $\phi_{i}^{*}$ 会被存储在LRT节点中，该节点就像标准随机森林中的分裂节点一样。在由LTM顶点 i 所代表的阶段中，信息增益的定义如下：

 $$ I G_{i}\left(\mathcal{S}\right)=\sum_{m}^{l\left(i\right),r\left(i\right)}\mathrm{t r}(\Sigma_{i m}^{\mathcal{S}})-\sum_{k}^{\left\{l,r\right\}}\frac{\mathcal{S}^{k}}{\left|\mathcal{S}\right|}\left(\sum_{m}^{l\left(i\right),r\left(i\right)}\mathrm{t r}\left(\Sigma_{i m}^{\mathcal{S}^{k}}\right)\right) $$

其中 $\Sigma_{im}^{\mathcal{X}}$ 是偏移向量集 $\left\{\left(\boldsymbol{\rho}_{m}^{I}-\boldsymbol{\rho}_{i}^{I}\right)|I\in\mathcal{X}\right\}$ 的样本协方差矩阵，$\mathrm{tr}\left(\cdot\right)$ 表示迹函数。这些偏移向量表示了从当前中心到两个子区域各自中心的偏移量。

随后，这一过程会在数据的每个分割部分 $S^{l}$ 和 $S^{r}$ 上递归重复，直到信息增益低于某个阈值为止。

此时我们引入一个分裂节点，它将当前的搜索目标划分为两个更精细的目标，并进入下一个搜索阶段。该分裂节点会复制训练数据，并沿着两条独立路径继续生长树木，每条路径分别对应当前LTM顶点 i 的两个子节点。此外，对于到达该分裂节点的每张训练图像 I，我们会存储与 i 及其子节点 $\boldsymbol{\theta}_m = (\rho_m^I - \rho_i^I)$ 的3D偏移量相对应的向量 $m \in \{l(i), r(i)\}$。

这种先分割再分裂的过程会不断重复，直到待处理的LTM顶点 i 成为叶节点；此时我们会在LRT中创建一个对应于 i 所代表的骨骼关节的叶节点。该叶节点会保存关于 i 相对于其父节点的3D偏移量 $p(i)$，即 $\left(\rho_{i}^{I}-\rho_{p(i)}^{I}\right)$ 的信息。

如前所述，手部具有许多复杂的关节活动和自遮挡现象，因此为了完全捕捉这种变化，所使用的训练集规模极为庞大。

---

为了保持训练效率，我们利用基于已学LTM的由粗到细的训练阶段这一特性。直观来讲，较粗略的阶段所需的训练数据比精细阶段少，因此我们可以在训练过程的每个阶段逐步增加更多的训练数据。

对于最大深度为 D 的LTM，我们将训练数据 $\mathcal{S}$ 划分为 D 个大小相等且互不重叠的子集 $\mathcal{S}_0, \ldots, \mathcal{S}_{D-1}$。我们首先用 $\mathcal{S}_0$ 来训练第一阶段对应的LRT，此后每个阶段都会向训练数据中添加一个额外的子集。也就是说，第 d 阶段的训练集由 $\mathcal{S}_d \cup \mathcal{S}_{d-1}$ 组成。生长单个LRT的训练过程在算法1中有详细描述。

```pseudo
// Algorithm 1: Growing a Latent Regression Tree

Input: A set of training samples S; a pre-learned LTM $\mathcal{M} = (O \cup L, E)$ with maximum depth D.

Output: A LRT T

1: procedure $\text{GROW}(S, M)$

2: Equally divide S into random subsets $S_0, \ldots, S_D$

3: Let $i \leftarrow 0, j \leftarrow 0$ $\triangleright$ Initialise ith node of LTM and jth node of LRT

4: Let $d \leftarrow 0$ $\triangleright$ First stage of training

5: $SPLIT(i, j, S_0, d)$

6: function $SPLIT(i, j, S, d)$

7: Randomly propose a set of split candidates $\Phi$.

8: for all $\phi \in \Phi$ do

9: Partition S into $S^l$ and $S^r$ by $\phi$ with Eq. 2.

10: Use the entropy in Eq. 3.2.1 to find the optimal $\phi$* if $IG_i(S)$ is sufficient then

11: Save j as a split node into T.

12: $SPLIT(i, l(j), S^l, d)$

13: $SPLIT(i, r(j), S^r, d)$

14: else if $i \in L$ then

15: Save j as a division node into T

16: Let $S \leftarrow S \cup S_{d+1}$

17: $SPLIT(l(i), l(j), S, d + 1)$

18: $SPLIT(r(i), r(j), S, d + 1)$

19: else

20: Save j as a leaf node into T.

21: Return

```

在测试时，我们对图像I进行姿态估计：将搜索的起始位置定义为深度图像的质心$\rho_{i=0}^{I}$，该点对应LTM的根顶点。从潜在回归森林的根节点开始，图像沿树结构遍历，根据分裂节点函数的指示向左或向右分支，直至到达分裂节点。对于每个偏移量$\theta_{j}$（存储在分裂节点中），会在两个霍夫空间中累积三维投票结果。

#### 3.2.2 测试

这两个霍夫空间分别为$H^l$和$H^r$，其中对$H^l$的投票结果被定义为$\left\{\rho_i^I + \frac{\theta_j}{\rho_0^I} | \theta_j \in \theta_l\right\}$，对$H^r$的投票结果同理。这两个霍夫空间的模态现在代表了两个新位置$\rho_l^I(i)$和$\rho_r^I(i)$，下一阶段的搜索便从这两个位置开始。这一过程会递归重复，直到每条路径都终止于叶节点。

这一过程会使图像抵达多个叶节点，每个叶节点对应LTM中的一个终止节点。利用叶节点处存储的偏移量，每个叶节点会在对应的三维霍夫空间中为其对应的骨骼关节投票。汇总所有树的投票结果后，我们通过在霍夫空间中进行结构化搜索来确定关节的最终位置，该结构化搜索的规则由学习得到的LTM决定。对于每个骨骼关节，我们在LTM中为其指定一个相关的可观测顶点，该顶点对应矩阵$\mathcal{D}$（公式1）中计算出的具有最小测地距离的顶点。关节在霍夫空间中的位置便被定义为与其相关顶点位置最接近的最大值。

效率方面，与以密集像素为输入的最先进自底向上方法不同[^8]，我们的算法以整幅图像为输入。因此，尽管两种方法都受限于树的深度d，即$\mathcal{O}(d)$，但我们的算法常数因子要小得多。这是因为自底向上方法中需要评估的像素数量对于标准VGA图像而言通常高达数千个；相比之下，我们每幅图像仅评估一个样本。

#### 3.3 级联误差回归器

如前几节所述，多阶段粗到细的结构化搜索效率很高。但存在一种潜在风险：各阶段之间的依赖性可能导致搜索过程中误差累积。为了弥补这一问题，我们在潜在回归森林的每个阶段都嵌入了受[^14]启发的误差回归器。在用集合$S_d$训练第d阶段之后、创建分裂节点之前，我们使用$S_{d+1}$来验证迄今为止训练好的森林。对于每个样本$s_i \in S_{d+1}$，我们会测量其真实值与估计值之间的误差偏移量$\Delta\theta$。与之前描述的分裂方法类似，为了最小化$\Delta\theta$的方差，森林会继续生长几层。一旦信息增益低于阈值，就会生成分裂节点，森林训练进入下一阶段$d+1$。

### 4. 实验

数据集方面，本文使用英特尔® Creative Interactive Gesture Camera [^9]作为深度传感器来采集训练和测试数据。作为目前最先进的消费级飞行时间传感器，它采集的深度图像噪声水平低于结构光传感器，因此非常适合用于手部姿态估计。在标注方面，我们利用[^9]来获取

---

![Image](images/caca54fe5ad8951445232e34c704cb48cc432fcace0f65c6f9791b86e6c5e105.jpg)

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

![Image](images/f5334dcf340ae6f955b0b4703e94e22017eb94111dd74cd1df5651e6a5f1c385.jpg)

![Image](images/667c5a301e29e3ade07db397011d3220caf97e6a61aed418a8bde90a9b8d8409.jpg)

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

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

<div style="text-align: center;">Figure 6: Error regression.</div>

<div style="text-align: center;">Figure 5: Effect of different LTMs. (R:root, M:middle, T:tip)</div>

<div style="text-align: center;">Figure 7: Number of trees.</div>

![Image](images/39a053ca8f8ca48bc31d384f05ef2b365339b73bdf76186371caefc0cca625a8.jpg)

<div style="text-align: center;">(a) Test sequence A (average error)</div>

![Image](images/c264f4586bceacf85fb172f103fa9d728bff84d4552d5ae8a5ddbcc6b4e99bd3.jpg)

<div style="text-align: center;">(b) Test sequence A(index tip)</div>

![Image](images/51d3acf2d3350ea069c5b4484a9e688c3787e0cf336dd0cfbdbc84ef87f88a7f.jpg)

![Image](images/42a4f3795499f463860d59ce116a365f15f777b567c46a72bfdaba39b6d78704.jpg)

<div style="text-align: center;">(d) Test sequence  $B(\text{average error})$</div>

<div style="text-align: center;">(c) Worst case accuracy [^18] of sequence A</div>

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

<div style="text-align: center;">(e) Test sequence  $B(\text{index tip})$</div>

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

<div style="text-align: center;">(f) Worst case accuracy [^18] of sequence B</div>

<div style="text-align: center;">Figure 8: Quantitative comparison against state-of-the-art methods.</div>

先为每一帧确定初始姿态，然后再手动进行微调。

在训练阶段，我们收集了来自10名不同受试者的手部序列，这些受试者的手尺寸各异；我们让每位受试者按照辅助图示做出26种不同的手部姿势。随后以3帧/秒的速率对每条序列采样，最终得到共计2万张图像；通过对该数据集施加平面内旋转处理，最终训练集包含18万张带有真实标注的训练图像。在测试阶段，我们收集了两条序列（分别记为序列A和序列B），每条序列包含1000帧图像，涵盖了大量具有显著尺度和视角变化的不同手部姿势。此外，由于[^9]是基于跟踪的方法，且需要初始化条件（张开手掌的正面视图），为了进行公平比较，两条测试序列均以这种方式开始。

在所有实验中，我们训练每棵潜在回归树时，会在每个节点评估2000个分裂候选方案；决定何时停止某阶段树生长所采用的阈值是以手指关节的大小为依据设定的，该值被设定为$(10mm)^{2}$。

在第4.1节中，我们对潜在回归森林中的不同组件进行了内部对比；随后在第4.2节中，我们与其他最先进的方法进行了全面评估；最后，在图9中我们展示了一些定性结果。

---

#### 4.1. 内部对比

为了评估构建LTM时所采用的不同距离度量对性能的影响，我们定量分析了不同拓扑结构对性能的作用。我们比较了使用欧几里得距离和测地距离生成的LTM，以及5个随机生成的LTM。针对这7种拓扑结构，我们分别用训练数据的一个子集训练潜在回归森林，并在序列A上进行评估。

图5(a)展示了序列中每个关节的平均误差（单位：毫米）这一标准评估指标。结果显示，欧几里得距离生成的LTM性能略优于随机生成的LTM，而测地距离生成的LTM除两个关节外在其他所有关节上均表现出最佳性能。除此之外，我们还采用了更具挑战性的评价指标：即所有预测关节与真实值之间的误差均处于某一最大距离之内的测试图像所占比例，该指标由[^18]近期提出。使用该指标得到的结果如图5(b)所示。可以看出，欧几里得距离生成的LTM性能与随机LTM所能达到的性能上限相当，而测地距离生成的LTM则显著优于前者，在40毫米的阈值下性能提升了20%。

此外，我们还评估了级联误差回归器的影响。图6展示了整个序列中每个关节的平均误差减小情况。可见，单个关节的平均误差最多可降低22%，平均而言误差改善幅度达到10%。

原则上，由于与传统回归树相比，每棵树产生的投票数更少，因此需要更多的树才能得出稳健的结果。图7展示了不同数量的树对准确率的影響。综合考虑准确率与效率之间的权衡，16棵树是一个合理的选择，也是我们所有实验中采用的设置。

#### 4.2. 与现有最先进方法的对比

我们将由16棵树组成的隐式回归森林与两种最先进的方法进行比较。第一种是Keskin等人提出的回归版本[^8]，我们采用了自己的实现方式，训练参数按照[^8]中的描述设置。第二种对比方法是Melax等人提出的基于模型的跟踪器[^9]，我们使用的是作者提供的编译后的二进制版本。由于该方法基于模型，因此需要对手部结构（宽度和高度）进行校准。为了进行公平比较，我们分别对比了该方法的两种版本：一种经过校准，另一种则没有。

在图8(a)和(d)中，我们展示了关节平均误差的累积移动平均值。可以看出，我们的方法在两个序列中都能保持较低的平均误差；而正如预期，基于跟踪的方法的误差会随时间逐渐减小。在图8(b)和(e)中，我们展示了食指指尖误差的累积移动平均值，这是一个相对不稳定的关节。注意，大约在第500帧之后，基于跟踪的方法在该关节上的精度持续下降，这表明跟踪已经失败且无法恢复。这进一步凸显了使用基于帧的方法的优势。

此外，在图8(c)和(f)中，我们使用[^18]提出的更具挑战性的指标对所有方法进行了比较。可以看出，我们的方法明显优于其他最先进的方法。而且，我们的方法能以62.5帧/秒的速度实时运行，这一数值与[^9]（60帧/秒）相当，远快于[^8]（8.6帧/秒）。需要注意的是，我们的方法和[^8]均未经过优化——均为单线程运行，没有利用CPU/GPU的并行处理能力。

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

在本文中，我们提出了隐式回归森林，这是一种用于实时估计3D关节手部姿态的方法。我们将该问题表述为针对骨骼关节的结构化粗到细搜索过程，并利用隐式树模型来学习每个搜索阶段的粒度。此外，与其他以密集像素为输入的基于森林的方法不同，我们的方法是在整幅图像上应用，而非仅针对单个像素，从而大幅提升了运行速度。据我们所知，这是首次将隐式树模型与随机森林相结合的研究，这使得我们可以将隐式回归森林应用于隐式树模型的诸多现有应用场景。作为未来的研究工作，我们计划探索将隐式回归森林应用于其他具有结构化特征的问题，无论是空间上还是时间上的。

## 致谢

本项目得到了三星先进技术研究院（SAIT）的支持。

## 参考文献

[^1]: L. Ballan, A. Taneja, J. Gall, L. V. Gool, and M. Pollefeys. Motion capture of hands in action using discriminative salient points. In ECCV, 2012.

[^2]: M. J. Choi, V. Y. F. Tan, A. Anandkumar, and A. S. Willsky. Learning latent tree graphical models. JMLR, 12:1771–1812, 2011.

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

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

[^5]: R. Girshick, J. Shotton, P. Kohli, A. Criminisi, and A. Fitzgibbon. Efficient regression of general-activity human poses from depth images. ICCV, 2011.

## [^6]: H. Hamer, K. Schindler, E. Koller-Meier, and L. V. Gool. Tracking a hand manipulating an object. In ICCV, 2009

---

![Image](images/34cf0327bf8df4033c6f27164b0048428eca7c6953c6c928fb41dbd046fbd757.jpg)

(a) 成功案例

(b) 失败案例

<div style="text-align: center;">Figure 9: In (a) we show success cases; we show the localisation on the depth image followed by a visualisation of the estimated 3D joint locations from multiple angles. In (b) we show some failure cases, note however that the structure of the output is still in line with the hand topology. This image is best viewed in colour.</div>

[^7]: S. Harmeling and C. K. I. Williams. Greedy learning of binary latent trees. TPAMI, 33(6):1087–1097, 2011.

[^8]: 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.

[^9]: S. Melax, L. Keselman, and S. Orsten. Dynamics based 3d skeletal hand tracking. In Interactive 3D Graphics and Games, 2013.

[^10]: Microsoft Corp. Redmond WA. Kinect for xbox 360.

[^11]: R. Mourad, C. Sinoquet, N. L. Zhang, T. Liu, and P. Leray. A survey on latent tree models and applications. JAIR, 47:157–203, 2013.

[^12]: I. Oikonomidis, N. Kyriazis, and A. A. Argyros. Full dof tracking of a hand interacting with an object by modeling occlusions and physical constraints. In ICCV, 2011.

[^13]: G. Pons-Moll, J. Taylor, J. Shotton, A. Hertzmann, and A. Fitzgibbon. Metric regression forests for human pose estimation. In BMVC, 2013.

[^14]: A. Saffari, C. Leistner, J. Santner, M. Godec, and H. Bischof. On-line random forests. In ICCV Workshops, 2009.

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

[^16]: M. Sun, P. Kohli, and J. Shotton. Conditional regression forests for human pose estimation. In CVPR, 2012.

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

[^18]: J. Taylor, J. Shotton, T. Sharp, and A. Fitzgibbon. The vitruian manifold: Inferring dense correspondences for one-shot human pose estimation. In CVPR, 2012.

[^19]: Y. Tian, C. Zitnick, and S. Narasimhan. Exploring the spatial hierarchy of mixture models for human pose estimation. In ECCV, 2012.

[^20]: F. Wang and Y. Li. Beyond physical connections: Tree models in human pose estimation. In CVPR, 2013.
