
# 基于深度的3D手部姿态估计：从当前成果到未来目标

袁善欣 $^{1}$ 吉列尔莫·加西亚-埃尔南多 $^{1}$ 比约恩·斯滕格 $^{2}$

文京植 $^{4}$ 张柱勇 $^{5}$ 李炅模 $^{4}$ 帕夫洛·莫尔恰诺夫 $^{6}$

扬·考茨 $^{6}$ 西娜·霍纳里 $^{7}$ 葛柳浩 $^{8}$ 袁俊松 $^{9}$ 陈星豪 $^{10}$ 王贵金 $^{10}$

杨帆 $^{11}$ 秋山凯 $^{11}$ 吴洋 $^{11}$ 万庆福 $^{12}$ 梅萨姆·马达迪 $^{13}$ 塞尔吉奥·埃斯卡拉拉 $^{13,14}$

李世乐 $^{15}$ 李东辉 $^{15,16}$ 伊阿松·奥伊科诺米迪斯 $^{3}$ 安东尼斯·阿尔吉罗斯 $^{3}$ 金泰均 $^{1}$

## 摘要

在本文中，我们试图回答两个问题：基于深度图像的3D手部姿态估计的当前水平如何？接下来需要攻克哪些挑战？继“百万手部图像挑战赛（HIM2017）”取得成功后，我们针对三个任务对排名前十的最先进方法进行了研究：单帧3D姿态估计、3D手部跟踪以及物体交互过程中的手部姿态估计。我们分析了不同CNN结构在手部形状、关节可见性、视角以及关节活动分布方面的性能表现。我们的研究发现包括：(1) 在视角范围为[^70] [^120]度的情况下，孤立的3D手部姿态估计能达到较低的平均误差（10毫米），但对于极端视角而言，该问题远未解决；(2) 3D体素表示法优于2D CNN，能更好地捕捉深度数据的空间结构；(3) 判别性方法对未见过的手部形状的泛化能力仍然较差；(4) 虽然关节遮挡对大多数方法来说都是挑战，但显式建模结构约束能够显著缩小可见关节与遮挡关节之间的误差差距。

### 1. 引言

3D手部姿态估计领域的发展十分迅速，无论是在精度方面[^2] [^4] [^5] [^6] [^7] [^26] [^28] [^32] [^38] [^45] [^48] [^49] [^53] [^54] [^57] [^60] [^62]，还是在数据集质量方面[^10] [^22] [^43] [^47] [^52] [^59]。最成功的方法将估计任务视为一个学习问题，利用随机森林或卷积神经网络（CNN）来解决。然而，2015年的一项综述[^44]却出人意料地指出，简单的最近邻基线算法比大多数现有系统表现更佳。该综述还指出，大多数系统无法在其训练集之外进行泛化[^44]，这凸显了获取更多、更优质数据的必要性。像[^31] [^41]这类手动标注的数据集仅包含几千个样本，因此不适合用于大规模训练。半自动标注方法结合了手动标注与跟踪技术，有助于扩大数据集规模[^43] [^46] [^52]；但在[^46]的情况下，其标注误差几乎与最低的姿态估计误差相当。合成数据生成技术虽然解决了数据规模问题，但尚未弥合真实感方面的差距，从而导致一些运动学上不合理的姿态[^37]。

近期的一项研究证实，由于采集设置和标注方法的不同，跨基准测试的效果较差[^59]。该研究表明，在百万级规模的数据集上训练标准CNN能够取得最先进的结果。不过，估计精度并不均匀，这也凸显了该任务中众所周知的挑战：视角和手部形状的变化、自身遮挡，以及因操作物体而产生的遮挡现象。

本文分析了HIM2017挑战赛中的顶尖方法[^58]。该基准数据集包含了来自BigHand2.2M[^59]和第一人称手部动作数据集（FHAD）[^10]的数据，从而能够在多种场景下比较不同算法。该挑战赛涵盖了三项不同任务：单帧姿态估计、跟踪以及手物交互。在评估过程中，我们考察了不同的网络架构、预处理策略和数据表示方式。在挑战赛期间，最低的3D估计误差均值从20毫米降低到了10毫米以下。本文针对已见和未见受试者、关节可见性以及视角分布等方面对误差进行了分析。最后，我们为设计下一代方法提供了相关见解。

---

![Image](images/ac9f103af699963efdb85720c3952c28e910fc86acd42930c2b9bb6ed3fe047e.jpg)

<div style="text-align: center;">Figure 1: Evaluated tasks. For each scenario the goal is to infer the 3D locations of the 21 hand joints from a depth image. In Single frame pose estimation (left) and the Interaction task (right), each frame is annotated with a bounding box. In the Tracking task (middle), only the first frame of each sequence is fully annotated.</div>

相关工作。在其他领域，诸如用于场景分类和物体检测的ImageNet [^35]、用于语义分割和物体分割的PASCAL [^9]，以及用于物体跟踪的VOT挑战赛 [^19] 等公开基准测试和竞赛，对推动各自领域的发展起到了重要作用。在手部跟踪领域，Erol等人于2007年撰写的综述 [^8] 提出了相关方法的分类体系。基于学习的方法在解决单帧姿态估计问题上被证明是有效的，必要时还可结合手部模型拟合以提高精度，例如 [^50]。Supancic等人的综述 [^44] 在一个新数据集上对13种方法进行了比较，得出结论：深度模型非常适合姿态估计 [^44]。该综述还指出，为了训练出泛化能力强的模型，需要大规模的训练集。在本文中，我们通过在一个大规模数据集上比较深度学习方法，并对误差来源及不同设计选择进行细致分析，从而拓展了以往研究的范围。

### 2. 评估任务

我们在一个包含超过一百万张标注图像的数据集上，利用标准化评估协议来评估三项不同的任务。基准测试图像取自两个数据集：BigHand2.2M [^59] 和第一人称手部动作数据集（FHAD）[^10]。BigHand2.2M中的图像涵盖了多种手部视角（包括第三人称和第一人称视角）、关节姿态以及手部形状。FHAD数据集中的序列则用于评估手部与物体交互时的姿态估计情况。这两个数据集均包含具有21个关节标注的$640 \times 480$像素深度图，这些标注数据来自磁传感器和逆向运动学计算。二维边界框的平均对角线长度为162.4像素，标准差为40.7像素。评估任务包括三维单手姿态估计，即估计21个关节的三维位置，具体分为：(1) 从单个帧中估计；(2) 给定第一帧中的姿态信息后，从视频序列中估计；(3) 存在物体交互的帧中估计，例如与果汁瓶、盐瓶或牛奶盒的交互。详见图1的概述。任务(1)和(3)以边界框作为输入。训练数据取自BigHand2.2M数据集，只有交互任务使用FHAD数据集中的测试数据。各任务的数据集规模以及总受试者数和未见过的受试者数详见表1。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Number of</td><td style='text-align: center; word-wrap: break-word;'>Train</td><td style='text-align: center; word-wrap: break-word;'>Test single</td><td style='text-align: center; word-wrap: break-word;'>Test track</td><td style='text-align: center; word-wrap: break-word;'>Test interact</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>frames</td><td style='text-align: center; word-wrap: break-word;'>957K</td><td style='text-align: center; word-wrap: break-word;'>295K</td><td style='text-align: center; word-wrap: break-word;'>294K</td><td style='text-align: center; word-wrap: break-word;'>2,965</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>subjects (unseen)</td><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'>10 (5)</td><td style='text-align: center; word-wrap: break-word;'>10 (5)</td><td style='text-align: center; word-wrap: break-word;'>2 (0)</td></tr></table>

<div style="text-align: center;">Table 1: Data set sizes and number of subjects.</div>

### 3. 评估的方法

我们评估了17种参与方法中的前10种 [^58]。表2列出了这些方法及其部分关键特性。我们还间接评估了DeepPrior [^29] 和REN [^15]，它们是rvhand [^1] 的组成部分；同时也评估了DeepModel [^61]，它是LSL [^20] 的核心模块。我们根据不同的设计选择对方法进行分类。

二维CNN与三维CNN。二维CNN在三维手部姿态估计领域一直很受欢迎[^1] [^3] [^14] [^15] [^20] [^21] [^23] [^29] [^57] [^61]。常见的预处理步骤包括裁剪和调整手部体积的大小，同时将深度值归一化到[-1, 1]区间。最近，有几种方法采用了三维CNN[^12] [^24] [^56]，其输入可以是三维体素网格[^24] [^56]，也可以是投影式D-TSDF体积[^12]。Ge等人[^13]将深度图像投影到三个正交平面上，针对每个投影训练一个二维CNN，再融合其结果。在[^12]中，他们提出了一种三维CNN，用三维体积表示法（投影式D-TSDF体积[^40]）取代了二维投影。在HIM2017挑战赛[^58]中，他们应用了一种三维深度学习方法[^11]，输入为三维点和表面法线。Moon等人[^24]提出了一种三维CNN，用于估算每个手部关节的体素级概率。NAIST_RV[^56]则提出了一种具有分层分支结构的三维CNN，其输入为$50^{3}$体素网格。

基于检测的方法与基于回归的方法。基于检测的方法[^23] [^24]会为每个关节生成概率密度图。RCN-3D方法[^23]采用的是RCN+网络[^17]，该网络基于Recombinator Networks（RCN）[^18]，共有17层，除最后一层外每层都输出64个特征图，最后一层则为21个关节各自的概率密度图。V2V-PoseNet[^24]利用三维CNN来估算每个关节的体素级概率，再用CNN从裁剪后的深度图中估算质心位置。训练时，通过在手部关节位置放置正态分布来生成三维概率体积。基于回归的方法[^1] [^3] [^11] [^14] [^20] [^21] [^29] [^56]

---

<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;'>Model</td><td style='text-align: center; word-wrap: break-word;'>Input</td><td style='text-align: center; word-wrap: break-word;'>Aug. range (s, $\theta$,t)</td><td style='text-align: center; word-wrap: break-word;'>3D</td><td style='text-align: center; word-wrap: break-word;'>De</td><td style='text-align: center; word-wrap: break-word;'>Hi</td><td style='text-align: center; word-wrap: break-word;'>St</td><td style='text-align: center; word-wrap: break-word;'>M</td><td style='text-align: center; word-wrap: break-word;'>R</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet [^24]</td><td style='text-align: center; word-wrap: break-word;'>3D CNN, per-voxel likelihood of each joint</td><td style='text-align: center; word-wrap: break-word;'>$88 \times 88 \times 88$ voxels</td><td style='text-align: center; word-wrap: break-word;'>[0.8, 1.2] [-40,40] [-8,8]</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RCN-3D [^23]</td><td style='text-align: center; word-wrap: break-word;'>RCN+ network [^17] with 17 convolutional layers</td><td style='text-align: center; word-wrap: break-word;'>$80 \times 80$</td><td style='text-align: center; word-wrap: break-word;'>[0.7, 1.1] [^0] [^360] [-8,8]</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>oasis [^11]</td><td style='text-align: center; word-wrap: break-word;'>Hierarchical PointNet with three set abstraction levels and three full-connected layers</td><td style='text-align: center; word-wrap: break-word;'>1024 3D points</td><td style='text-align: center; word-wrap: break-word;'>random scaling $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>THU_VCLab [^3]</td><td style='text-align: center; word-wrap: break-word;'>Pose-REN [^3]: REN [^15] + cascaded + hierarchical.</td><td style='text-align: center; word-wrap: break-word;'>$96 \times 96$</td><td style='text-align: center; word-wrap: break-word;'>[0.9,1.1] [-45,45] [-5,5]</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NAIST_RV [^56]</td><td style='text-align: center; word-wrap: break-word;'>3D CNN with 5 branches, one for each finger</td><td style='text-align: center; word-wrap: break-word;'>$50 \times 50 \times 50$ 3D grid</td><td style='text-align: center; word-wrap: break-word;'>[0.9,1.1] [-90, 90] [-15,15]</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Vanora [^14]</td><td style='text-align: center; word-wrap: break-word;'>shallow CNN trained end-to-end</td><td style='text-align: center; word-wrap: break-word;'>resized 2D</td><td style='text-align: center; word-wrap: break-word;'>random scaling $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>strawberryfg [^55]</td><td style='text-align: center; word-wrap: break-word;'>ResNet-152 + [^42]</td><td style='text-align: center; word-wrap: break-word;'>$224 \times 224$</td><td style='text-align: center; word-wrap: break-word;'>None</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>rvhand [^1]</td><td style='text-align: center; word-wrap: break-word;'>ResNet [^16] + REN [^15] + Deep Prior [^29]</td><td style='text-align: center; word-wrap: break-word;'>$192 \times 192$</td><td style='text-align: center; word-wrap: break-word;'>[0.9,1.1] [-90, 90] [-15,15]</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>mmadadi [^21]</td><td style='text-align: center; word-wrap: break-word;'>Hierarchical tree-like structured CNN [^21]</td><td style='text-align: center; word-wrap: break-word;'>$192 \times 192$</td><td style='text-align: center; word-wrap: break-word;'>[random] [-30, 30] [-10,10]</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LSL [^20]</td><td style='text-align: center; word-wrap: break-word;'>ScaleNet to estimate hand scale + DeepModel [^61]</td><td style='text-align: center; word-wrap: break-word;'>$128 \times 128$</td><td style='text-align: center; word-wrap: break-word;'>[0.85,1.15] [^0] [^360] [-20,20]</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td></tr></table>

表2：手部姿态估计挑战赛中评估的方法。这些方法按照排行榜上的平均误差排序。

表2：手部姿态估计挑战赛中评估的方法。这些方法按照排行榜上的平均误差排序。

* 在这两种方法中，手部分割都是考虑不同的手臂长度来进行的。其中，3D、De、Hi、St、M和R分别表示三维CNN检测型方法、分层模型、结构模型、多阶段模型和残差网络。

直接将深度图像映射到关节位置或手部模型的关节角度[^39] [^61]。rvhand[^1]结合了ResNet[^16]、区域集成网络（REN）[^15]和DeepPrior[^29]，直接估算关节位置。LSL[^20]用一个网络估算全局缩放因子，再用第二个网络[^61]估算所有关节角度，这些角度会被送入正向运动学层以估算手部关节位置。

分层模型将姿态估计问题划分为多个子任务 [^1] [^3] [^15] [^21] [^56]。所评估的方法要么按手指划分手部关节 [^21] [^56]，要么按关节类型划分 [^1] [^3] [^15]。mmadadi [^21] 设计了一种分层结构的CNN，将卷积+ReLU+池化模块分为六个分支（每个手指一个分支加上手掌分支，以及用于预测手掌朝向的分支），每个分支后面再接一个全连接层。所有分支的最后一层被拼接成一个层，用以预测所有关节。NAIST_RV [^56] 采用了类似的3D CNN分层结构，但使用了五个分支，每个分支分别预测一个手指和手掌。THU_VCLab [^3]、rvhand [^1] 和 REN [^15] 在多个区域提取步骤中应用了针对每个手指和关节类型的约束（跨手指），每个区域包含一组关节。所有区域在最后的全连接层中拼接起来，以估计手部姿态。

结构化方法将手部运动的物理约束嵌入到模型中 [^11] [^20] [^21] [^29] [^55] [^61]。结构约束既包含在CNN模型中 [^20] [^27] [^29]，也包含在损失函数中 [^21] [^55]。DeepPrior [^29] 学习了一个先验模型，并通过在最后一个CNN层引入瓶颈将其整合到网络中。LSL [^20] 在DeepModel [^61] 中利用先验知识，将运动学模型层嵌入到CNN中，并使用固定的手部模型。mmadadi [^21] 将结构约束纳入损失函数，该函数包含了关于自然手部运动和变形的物理约束。strawberryfg [^55] 采用了一种结构感知的回归方法——组合姿态回归 [^42]，并用ResNet-152替换了原有的ResNet-50。它使用指骨而非关节来表示姿态，并定义了一个能够编码指骨之间长距离交互的损失函数。

多阶段方法将每个阶段的结果传递下去，以增强后续阶段的训练 [^3] [^23]。THU_VCLab [^3] 使用REN [^15] 来预测初始手部姿态。在后续阶段中，特征图的计算会以前一阶段估计出的手部姿态为指导。RCN-3D [^23] 包含五个阶段：(1) 使用RCN+网络进行2D关键点估计 [^17]；(2) 通过将概率密度图与输入深度图像相乘来估计对应的深度值；(3) 将深度图进行逆透视投影得到3D数据；(4) 对遮挡和深度误差进行补偿（由残差块组成的3层网络）；(5) 对噪声进行补偿（另一个由残差块组成的3层网络）。

残差网络。ResNet [^16] 被多种方法采用 [^1] [^3] [^15] [^23] [^24] [^42]。V2V-PoseNet [^24] 以残差块作为主要构建模块。strawberryfg [^55] 通过采用ResNet-152作为基础网络来实现组合姿态回归方法 [^42]。RCN-3D [^23] 在其第四和第五阶段使用了两个小型残差块。

### 4. 实验结果

本次评估的目的是识别成功案例和失败模式。我们采用标准误差指标[^30] [^37] [^51]以及新提出的指标来提供更深入的见解。我们考虑了关节可见性、已见与未见受试者、手部视角分布、关节活动度分布以及各关节的准确度等因素。

---

![Image](images/dea27952605c0b40606ce1b705b47e29f96738d97864ef072823d94f4aa7a0a1.jpg)

![Image](images/e271db07591384aebc6d3efbbc5d3b53bf5ec15ab46c8eac7f4726215799bda9.jpg)

<div style="text-align: center;">Figure 2: Estimation errors. (top) proportion of frames within maximum error threshold [^51], (bottom) proportion of joints within an error threshold [^37].</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Case Method</td><td style='text-align: center; word-wrap: break-word;'>Seen Visible</td><td style='text-align: center; word-wrap: break-word;'>Seen Occ</td><td style='text-align: center; word-wrap: break-word;'>Unseen Visible</td><td style='text-align: center; word-wrap: break-word;'>Unseen Occ</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet</td><td style='text-align: center; word-wrap: break-word;'>6.2</td><td style='text-align: center; word-wrap: break-word;'>8.0</td><td style='text-align: center; word-wrap: break-word;'>11.1</td><td style='text-align: center; word-wrap: break-word;'>14.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RCN-3D</td><td style='text-align: center; word-wrap: break-word;'>6.9</td><td style='text-align: center; word-wrap: break-word;'>9.0</td><td style='text-align: center; word-wrap: break-word;'>10.6</td><td style='text-align: center; word-wrap: break-word;'>14.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>oasis</td><td style='text-align: center; word-wrap: break-word;'>8.2</td><td style='text-align: center; word-wrap: break-word;'>9.8</td><td style='text-align: center; word-wrap: break-word;'>12.4</td><td style='text-align: center; word-wrap: break-word;'>14.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>THU_VCLab</td><td style='text-align: center; word-wrap: break-word;'>8.4</td><td style='text-align: center; word-wrap: break-word;'>10.2</td><td style='text-align: center; word-wrap: break-word;'>12.5</td><td style='text-align: center; word-wrap: break-word;'>16.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NAIST_RV</td><td style='text-align: center; word-wrap: break-word;'>8.8</td><td style='text-align: center; word-wrap: break-word;'>10.1</td><td style='text-align: center; word-wrap: break-word;'>13.1</td><td style='text-align: center; word-wrap: break-word;'>15.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Vanora</td><td style='text-align: center; word-wrap: break-word;'>8.8</td><td style='text-align: center; word-wrap: break-word;'>10.5</td><td style='text-align: center; word-wrap: break-word;'>12.9</td><td style='text-align: center; word-wrap: break-word;'>15.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>strawberryfg</td><td style='text-align: center; word-wrap: break-word;'>9.3</td><td style='text-align: center; word-wrap: break-word;'>10.7</td><td style='text-align: center; word-wrap: break-word;'>16.4</td><td style='text-align: center; word-wrap: break-word;'>18.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>rvhand</td><td style='text-align: center; word-wrap: break-word;'>12.2</td><td style='text-align: center; word-wrap: break-word;'>11.9</td><td style='text-align: center; word-wrap: break-word;'>16.1</td><td style='text-align: center; word-wrap: break-word;'>17.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>mmadadi</td><td style='text-align: center; word-wrap: break-word;'>10.6</td><td style='text-align: center; word-wrap: break-word;'>13.6</td><td style='text-align: center; word-wrap: break-word;'>15.6</td><td style='text-align: center; word-wrap: break-word;'>19.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LSL</td><td style='text-align: center; word-wrap: break-word;'>11.8</td><td style='text-align: center; word-wrap: break-word;'>13.1</td><td style='text-align: center; word-wrap: break-word;'>18.1</td><td style='text-align: center; word-wrap: break-word;'>19.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Top5</td><td style='text-align: center; word-wrap: break-word;'>7.7</td><td style='text-align: center; word-wrap: break-word;'>9.4</td><td style='text-align: center; word-wrap: break-word;'>11.9</td><td style='text-align: center; word-wrap: break-word;'>15.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>All</td><td style='text-align: center; word-wrap: break-word;'>9.1</td><td style='text-align: center; word-wrap: break-word;'>10.7</td><td style='text-align: center; word-wrap: break-word;'>13.9</td><td style='text-align: center; word-wrap: break-word;'>16.7</td></tr></table>

<div style="text-align: center;">Table 3: Mean errors (in mm) for single frame pose estimation, divided by cases. 'Seen' and 'Unseen' refers to whether or not the hand shape was in the training set, and 'Occ' denotes 'Occluded joints'.</div>

#### 4.1. 单帧姿态估计

在为期6周的挑战赛中，通过探索新型模型并改进数据增强、优化和初始化方法，最低平均误差从19.7毫米降低到了10.0毫米。对于训练过程中出现的手部形状，平均误差从14.6毫米降至7.0毫米；而对于未见过的手部形状，平均误差则从24.0毫米降至12.2毫米。考虑到手指的典型宽度为10-20毫米，这些方法已可应用于指物或动作捕捉等场景，但在某些用户界面交互中至关重要的精细操作方面，其精度可能仍显不足。

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

<div style="text-align: center;">Figure 3: Estimating annotation errors. Two examples of Easy Poses overlayed with estimates by the top five methods (shown in different colors). Poses vary slightly, but are close to the ground truth (black).</div>

将其调整为 7.0 毫米，对于未见过的手形则范围为 24.0 毫米到 12.2 毫米。考虑到手指的典型宽度为 10-20 毫米，这些方法正逐渐适用于指向或动作捕捉等场景，但在某些用户界面交互中至关重要的精细操作方面，其精度可能仍显不足。

我们直接评估了十种最先进的方法（表 2），并间接评估了三种作为其他方法组件的方法：DeepPrior [^29]、REN [^15] 和 DeepModel [^61]。图 2 展示了两项指标的结果：（上方）所有关节误差均低于某一阈值 [^51] 的帧所占比例，以及（下方）关节误差低于某一阈值 [^37] 的总比例。

图 4（左上角）展示了基于每帧平均关节误差 [^30] 在不同阈值下的成功率。表现最佳的是 V2V-PoseNet，它能对 70% 的帧估算出小于 10 毫米的平均误差，而对 20% 的帧估算出的平均误差则小于 5 毫米。所有被评估的方法在平均误差小于 20 毫米时的成功率均超过 80%。

正如[^15] [^27]所指出的，数据增强尤其对小型数据集而言十分有益。不过需要注意的是，尽管表现最佳的方法都采用了数据增强技术，但针对未见受试者的手部进行泛化仍然困难，如表3所示，已见与未见受试者之间的误差差距约为6毫米。有些方法的泛化能力更强，尤其是RCN-3D在未见受试者上的表现最佳，尽管它在已见受试者上的表现并非最优。

#### 4.1.1 标注误差

标注误差考虑了标注过程中不同受试者的6D传感器放置差异以及腕关节位置的不确定性所导致的不准确性。为了量化这种误差，我们选取了所有方法的最大误差[^51]均小于10毫米的姿势，将其称为“简单姿势”。如图3所示，针对这些姿势的姿态估计任务可视为已解决。排名前五的方法的输出结果在视觉上十分准确，且与真实值接近。我们将这些姿势上的误差定义为标注误差，其平均值为2.8毫米，标准差为0.5毫米。

---

![Image](images/e184a0105ad080760b1c01b430f8140dbc80cf50c4d39428dd45c94494900125.jpg)

![Image](images/edf6b6bc749a7ff0c021650b169c5c137ebaeddb3c6fa1453366321c1ff9706a.jpg)

![Image](images/d71a1157a9867fcfa8f1548ffad47b578394a56ba09fcb32915a7b4b52f1343e.jpg)

![Image](images/fd93550948af05ff340fca314712015548f2ba4c65b2840a7e3cbbd6bc427e9c.jpg)

![Image](images/1d9027ca41345161754fa679cf7a71006b1f832eef73304efe03bc33bc747858.jpg)

![Image](images/dc3e48b7f9204daed3307c36563dc3a105fb10f5260b3206f76bf98b44b5915c.jpg)

<div style="text-align: center;">Figure 4: Success rates for different methods. Top-left: all evaluated methods using all test data. Top-middle: the average of the top five methods for four cases. Top-right: the average of top-two detection-based and regression-based methods in four cases. Bottom-left: direct comparison with 2D CNN and 3D CNN, mmadadi is a 2D CNN, NAIST-RV has the same structure but replaced 2D CNN with 3D CNN. Bottom-middle: comparison among structured methods. Bottom-right: comparison of a cascaded multistage method (THU-VCLab) and a one-off method (rvhand). Both of them use REN [^15] as backbone.</div>

其精度很高且接近真实值。我们将这些姿态上的误差定义为标注误差，其平均值为 2.8 毫米，标准差为 0.5 毫米。

#### 4.1.2 基于遮挡和未知受试者的分析

四种情况下的平均误差：为了根据关节可见性和手部形状来分析结果，我们依据关节是否可见以及训练时是否见过该受试者，将关节分为四组。不同的手部形状和关节遮挡导致了很大一部分误差，详见表3。未见过的受试者的误差明显大于见过的受试者；此外，可见关节的误差小于被遮挡关节的误差。基于第一组（可见且见过），我们对当前最先进技术的性能进行了最佳情况估算。对于见过受试者的每一帧，我们首先从所有方法中选出最优结果，再根据每帧的平均误差计算成功率，见图4中的黑色曲线（顶部中间）。

2D与3D CNN：我们比较了两种结构相似但表示方式不同的分层方法。图4左下角的图表展示了采用2D CNN的mmadadi [^21]，以及使用3D CNN的NAIST_RV [^56]。mmadadi和NAIST_RV的结构几乎相同，但NAIST_RV [^56]采用3D CNN，而mmadadi [^21]使用2D CNN。在所有四种情况下，NAIST_RV [^56]的性能都优于mmadadi [^21]。

基于检测的方法与基于回归的方法：我们比较了排名前两位的基于检测方法的平均性能与排名前两位的基于回归方法的平均性能。在所有四种情况下，基于检测的方法均优于基于回归的方法，见图4右上角的图表。在本次挑战中，排名前两位的方法均为基于检测的方法，见表2。值得注意的是，在全身姿态估计领域也能看到类似趋势：近期一项挑战中只有一种方法采用基于回归的方式 [^25]。

分层方法：在关节遮挡的情况下，分层约束能够发挥作用。rvhand [^1]中的分层模型在可见关节和遮挡关节上的性能相近。当误差阈值小于15毫米时，rvhand [^1]在遮挡关节上的性能更佳，见图4右下角的图表。其中的REN模块 [^15]包含了手指和关节类型的约束，似乎起着关键作用。仅使用手指约束的方法，如mmadadi [^21]和NAIST_RV [^56]，对遮挡关节的泛化能力较差，见图4左下角的图表。

结构化方法：我们比较了四种结构化方法：LSL [^20]、mmadadi [^21]、rvhand [^1]和strawberryfg [^55]，见图4底部中间的图表。当误差阈值低于15毫米时，strawberryfg [^55]和mmadadi [^21]的成功率更高；而当阈值大于25毫米时，LSL [^20]和rvhand [^1]的表现更好。将结构约束嵌入损失函数中的效果比将其包含在CNN层中更为显著。

---

![Image](images/39597a3c8a92e1dc3158e42ec3737734470955faaf99677bda51dd5c71ae8c88.jpg)

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

<div style="text-align: center;">Figure 5: Joint visibility. Top: Joint visibility distributions for training set and testing sets. Bottom: Average error (mm) for different numbers of visible joints and different methods.</div>

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

![Image](images/7108f7e946325a093f47a7a0d070adc8781097df6f650d7bff6e89595233274a.jpg)

<div style="text-align: center;">Figure 6: View point distributions. The error is significantly higher for small angles between hand and camera orientations.</div>

将结构约束嵌入损失函数中的效果比将其包含在CNN层中更为显著。strawberryfg [^55]的表现最佳，它采用的是针对指骨而非关节的约束。

单阶段方法与多阶段方法：级联方法的效果优于单阶段方法，见图4右下角的图表。与其他方法相比，rvhand [^1]和THU_VCLab [^3]都嵌入了结构约束，并以REN作为其基本结构。THU_VCLab [^3]采用级联方式迭代更新前一阶段的结果，其性能优于rvhand [^1]。

#### 4.1.3 按遮挡关节数量进行的分析

大多数帧中都存在关节遮挡现象，详见图5（上）。我们假设可见关节位于3D点云的小范围内。因此，我们通过设定关节深度标注值与重投影深度值之间的距离阈值来检测关节遮挡情况。如图5（下）所示，随着可见关节数量的增加，平均误差几乎呈单调递减趋势。

![Image](images/26b70b0af51f3463e4fcb222f447ff04b10d7b8cd344691747fe8073540290d8.jpg)

![Image](images/e4c498f90e21d8624db401db855747efccb8d002c5ea2888f62b18b554da8351.jpg)

<div style="text-align: center;">average articulation angle</div>

<div style="text-align: center;">Figure 7: Articulation distribution. Errors increase for larger finger articulation angles.</div>

#### 4.1.4 基于视点的分析

视点被定义为手掌方向与相机方向之间的夹角。测试数据涵盖了单帧姿态估计任务中的多种视点范围，详见图6（上）。在[^70] [^120]范围内的视点，其平均误差低于10毫米，表现较好；而在[^0] [^10]范围内的视点，由于自遮挡现象较多，误差明显更大；[^10] [^30]范围内的视点平均误差为15–20毫米；[^30] [^70]和[^120] [^180]范围内的视点误差为10–15毫米。第三人称视角和以自我为中心的视角通常分别由手朝向相机或背离相机来定义；然而如图6所示，视点之间并无明显区分，因此将这两种情况统一处理是合理的。值得注意的是，RCN-3D [^23]在[^150] [^180]度范围内的极端视点下，凭借其深度预测模块，比其他方法的表现高出2-3毫米。

#### 4.1.5 基于关节活动度的分析

我们评估了手部关节活动度对估计精度的影响，该精度通过15个手指屈曲角的平均值来衡量，详见图7。为了降低视点等其他因素的影响，我们选取视点角度在[^70] [^120]范围内的帧进行分析。表现排名前五的模型结果详见图7（下）。当关节活动度小于30度时，平均误差为7毫米；当平均关节活动度增加到[^35] [^70]范围时，误差会增大到9-10毫米；而当关节活动度超过70度、接近握拳姿势时，平均误差会进一步增大到12毫米以上。

#### 4.1.6 按关节类型进行的分析

与以往一样，我们根据关节的可见性以及训练集中是否包含对应受试者来对关节进行分类。表现排名前五的模型结果详见图10。在最简单的情况（训练集中已出现的受试者的可见关节）下，所有21个关节的平均误差均在6–10毫米之间。对于训练集中已出现的受试者，沿着从手腕到指尖的手部运动结构，遮挡关节的误差会逐渐增大，在指尖处误差可达14毫米。

---

![Image](images/651fc5ec6f8d4a4fc989412fac5d0e09c0110c8558c57944e845086aa6833146.jpg)

![Image](images/a0b1da00a87c90be9c3b2cb9d90ab9a72a66d2cfd006ededca02f8dcd573dfa2.jpg)

![Image](images/b0e603f0668669520442ca987a6774486df78fdab4c7d972b84e4227351414e6.jpg)

<div style="text-align: center;">Figure 8: Error curves for hand tracking. Left: number of frames with IoU below threshold. Middle: success rate for the detection part of each method in two cases. Right: success rate for three methods in four cases.</div>

![Image](images/ca5870ecf78bbbe52256749e960ac736831ff99eb7c2abd3359b0da85e8cc387.jpg)

![Image](images/62c467f3495859ba083af6cefb11777b9cd0d3cd4b8269cbd96788303fcc0525.jpg)

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

<div style="text-align: center;">Figure 9: Error curves for hand-object interaction. Left: success rate for each method using average error per-frame. Middle: success rate for visible and occluded joints. Right: average error for each joint.</div>

![Image](images/382abbc154c8292a6df5147391ce664f4dc1396481b33719dfca3f8e6cbee4a3.jpg)

<div style="text-align: center;">Figure 10: Average error of the top five methods for each joint in the Single frame pose estimation task. Finger tips have larger errors than other joints. For non-tip joints, joints on ring finger and middle finger have lower average errors than other fingers. 'T', 'I', 'M', 'R', 'P' denotes 'Thumb', 'Index', 'Middle', 'Ring', and 'Pinky' finger, respectively.</div>

指尖处的误差更是如此。未见过的受试者的可见关节误差（10-13毫米）比训练集中已出现的受试者的误差更大；未见过的受试者的遮挡关节误差最大，其中手掌处的误差相对较小，而指尖处的误差则达到24–27毫米。我们由此得出两个结论：（1）所有表现排名靠前的模型在推广到未见过的受试者的手部数据时都存在困难；（2）遮挡对指尖的影响比其他关节更大。一个有趣的发现是，中指和无名指在MCP和PIP关节处的误差往往比其他手指更小，原因可能是这些手指的活动范围更受限。拇指的MCP关节误差比其他手指更大，因为不同受试者在该关节处的差异更大。

<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;'>Model</td><td style='text-align: center; word-wrap: break-word;'>AVG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RCN-3D_track [^23]</td><td style='text-align: center; word-wrap: break-word;'>scanning window + post-processing + pose estimator [^23]</td><td style='text-align: center; word-wrap: break-word;'>10.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NAIST_RV_track [^56]</td><td style='text-align: center; word-wrap: break-word;'>hand detector [^34] + hand verifier + pose estimator [^56]</td><td style='text-align: center; word-wrap: break-word;'>12.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>THU_VCLab_track [^3]</td><td style='text-align: center; word-wrap: break-word;'>Estimation [^3] with the aid of tracking + re-initialization [^33]</td><td style='text-align: center; word-wrap: break-word;'>13.7</td></tr></table>

<div style="text-align: center;">Table 4: Methods evaluated on 3D hand pose tracking. The last column is the average error in mm for all frames.</div>

#### 4.2. 手部姿态跟踪

在本任务中，我们评估了三种最先进的方法，详见表4和图8。判别性方法[^3] [^23] [^56]将手部追踪分为两个子任务：检测与手部姿态估计，有时还会合并这两个子任务[^3]。基于检测方法，3D手部姿态估计可分为纯追踪[^23]、基于检测的追踪[^56]，以及追踪与重新初始化相结合的方法[^3]，具体见表4。

纯追踪：RCN-3D_track通过基于上一帧结果扫描窗口来估算边界框位置，其中也包含运动估计。边界框内的手部姿态则利用RCN-3D进行估计[^23]。

基于检测的定位：NAIST_RV_track是一种基于检测的定位方法，包含三个组成部分：手部检测器、手部验证器和姿态估计器。手部检测器基于 U-net [^34] 构建，用于预测二值化的手部掩码，之后…

---

<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;'>Model</td><td style='text-align: center; word-wrap: break-word;'>AVG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NAIST_RV_obj [^56]</td><td style='text-align: center; word-wrap: break-word;'>Hand-object segmentation CNN + pose estimation [^56]</td><td style='text-align: center; word-wrap: break-word;'>25.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>THU_VCLab_obj [^3]</td><td style='text-align: center; word-wrap: break-word;'>Hand-object segmentation (intuitive) + pose estimation [^3]</td><td style='text-align: center; word-wrap: break-word;'>29.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>rvhand_obj [^1]</td><td style='text-align: center; word-wrap: break-word;'>Hand-object segmentation CNN + pose estimation [^1]</td><td style='text-align: center; word-wrap: break-word;'>31.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RCN-3D_obj [^23]</td><td style='text-align: center; word-wrap: break-word;'>Two RCNs: Feature maps of first are used in the second RCN&#x27;s stage 2.</td><td style='text-align: center; word-wrap: break-word;'>32.4</td></tr></table>

<div style="text-align: center;">Table 5: Methods evaluated on hand pose estimation during hand-object interaction. The last column is the average error (mm) for all frames.</div>

经过验证后，该结果会被传递给姿态估计器 NAIST_RV [^56]。如果验证失败，则会采用上一帧的结果。

混合追踪与检测：THU_VCLab_track[^3]利用之前的追踪结果以及当前帧的扫描窗口。上一帧的手部姿态被用作指导，以预测当前帧的手部姿态；上一帧的边界框也被用于当前帧。在手部快速运动期间，会使用Faster RCNN进行重新初始化[^33]。

检测精度：我们首先通过评估边界框的重叠程度，即检测结果与真实边界框的交并比（IoU）来评估检测精度，详见图8（中间）。总体而言，RCN-3D_track的检测精度高于THU_VCLab_track，而后者又优于NAIST_RV_track。纯检测方法会产生较多的假阴性结果，尤其是在场景中存在多只手时，详见图8（左侧）。NAIST_RV_track和THU_VCLab_track分别有72次和174次漏检情况（IoU为零）。通过追踪与重新初始化，THU_VCLab_track的整体检测精度更高。利用运动估计和单帧手部姿态估计的RCN-3D_track误差最小。

追踪精度如图8（右侧）所示。尽管在单帧姿态估计任务中THU_VCLab的表现优于NAIST_RV，但由于每帧都进行手部检测，NAIST_RV_track在追踪任务中的表现反而更好。

#### 4.3. 手部与物体的交互

针对此任务，我们评估了四种最先进的方法，详见表5和图9。与其他两个任务相比，该任务的遮挡情况更为严重，详见图5（顶部）。能够显式处理遮挡问题的方法精度更高，误差范围在25–29毫米之间：(1) NAIST_RV_obj[^56]和rvhand_obj[^1]利用神经网络从物体中分割出手部区域。(2) THU_VCLab_obj[^3]通过图像处理操作从裁剪后的手部图像中去除物体区域[^36]。(3) RCN-3D_obj[^23]对其原始网络进行修改，以推断2D关键点位置的深度值。

当前最先进的方法在推广到手-物体交互场景时存在困难。不过，NAIST_RV_obj [^56]和rvhand_obj [^1]在可见关节与遮挡关节上的表现相近，这表明基于CNN的分割方法比图像处理操作更能有效保留结构信息，详见图9的中间图表。

### 5. 讨论与结论

对HIM2017挑战赛中参赛的17种方法里排名前10位的方法进行分析 [^58]，有助于我们了解三维手部姿态估计技术的现状。

(1) 与三维CNN结合使用的三维体素表示法性能优异，这可能是因为该方法能更好地捕捉输入深度数据的空间结构。

(2) 基于检测的方法往往优于基于回归的方法，不过若采用显式的空间约束，基于回归的方法也能取得不错的效果。利用更丰富的空间模型（如骨骼结构 [^42]）还能进一步提升性能。在极端视角情况下 [^23]，即出现严重遮挡时，基于回归的方法表现更佳。

(3) 尽管关节遮挡对大多数方法而言都是挑战，但显式建模结构约束以及关节间的空间关系，能显著缩小可见关节与遮挡关节之间的误差差距 [^1]。

(4) 判别性方法对未见过的手部形状的泛化能力仍然较差。数据增强和尺度估计方法仅能模拟全局形状变化，无法处理局部差异。整合具有更强生成能力的手部模型或许是一个有前景的方向。

(5) 在[^70]至[^120]度的视角范围内，孤立的三维手部姿态估计的平均误差较低（10毫米）。但在极端视角下，例如手部背对摄像头时的[^0]至[^10]度视角范围，误差仍然很大。多阶段方法 [^23] 在这种情况下往往表现更好。

(6) 在手部跟踪领域，当前的判别性方法将问题拆分为检测和姿态估计两个子任务，并未利用第一帧提供的手部形状信息。若能利用所提供的手部形状，混合方法可能会取得更好的效果。

(7) 当在百万级数据集上训练时，当前方法在单手姿态估计方面表现良好，但在推广到手-物体交互场景时却存在困难。有两个方向似乎颇具前景：(a) 设计更优的手部分割方法；(b) 使用包含手-物体交互的大型数据集来训练模型。

致谢：本研究部分得到了华为技术有限公司的支持。

---

## 参考文献

[^1]: K. Akiyama, F. Yang, and Y. Wu. Naist rvlab g2's solution for 2017 hand challenge. Hands 2017. 2, 3, 5, 6, 8

[^2]: S. Baek, K. I. Kim, and T.-K. Kim. Augmented skeleton space transfer for depth-based hand pose estimation. In CVPR, 2018. 1

[^3]: X. Chen, G. Wang, H. Guo, and C. Zhang. Pose guided structured region ensemble network for cascaded hand pose estimation. arXiv preprint arXiv:1708.03416, 2017. 2, 3, 6, 7, 8

[^4]: C. Choi, S. Kim, and K. Ramani. Learning hand articulations by hallucinating heat distribution. In ICCV, 2017. 1

[^5]: C. Choi, S. H. Yoon, C.-N. Chen, and K. Ramani. Robust hand pose estimation during the interaction with an unknown object. In ICCV, 2017. 1

[^6]: N. Cihan Camgoz, S. Hadfield, O. Koller, and R. Bowden. Subunets: End-to-end hand shape and continuous sign language recognition. In ICCV, 2017. 1

[^7]: X. Deng, S. Yang, Y. Zhang, P. Tan, L. Chang, and H. Wang. Hand3d: Hand pose estimation using 3d neural network. arXiv preprint arXiv:1704.02224, 2017. 1

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

[^9]: M. Everingham, S. A. Eslami, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The pascal visual object classes challenge: A retrospective. IJCV, 2015. 2

[^10]: G. Garcia-Hernando, S. Yuan, S. Baek, and T.-K. Kim. First-person hand action benchmark with rgb-d videos and 3d hand pose annotations. In CVPR, 2018. 1, 2

[^11]: L. Ge, Y. Cai, J. Weng, and J. Yuan. Hand PointNet: 3d hand pose estimation using point sets. In CVPR, 2018. 2, 3

[^12]: L. Ge, H. Liang, J. Yuan, and D. Thalmann. 3d convolutional neural networks for efficient and robust hand pose estimation from single depth images. In CVPR, 2017. 2

[^13]: L. Ge, H. Liang, J. Yuan, and D. Thalmann. Robust 3D hand pose estimation in single depth images: from single-view cnn to multi-view cnns. In CVPR, 2016. 2

[^14]: L. Ge and J. Yuan. 2017 hand challenge imi ntu team. Hands 2017. 2, 3

[^15]: H. Guo, G. Wang, X. Chen, and C. Zhang. Towards good practices for deep 3d hand pose estimation. arXiv preprint arXiv:1707.07248, 2017. 2, 3, 4, 5

[^16]: K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016. 3

[^17]: S. Honari, P. Molchanov, S. Tyree, P. Vincent, C. Pal, and J. Kautz. Improving landmark localization with semi-supervised learning. In CVPR, 2018. 2, 3

[^18]: S. Honari, J. Yosinski, P. Vincent, and C. Pal. Recombinator networks: Learning coarse-to-fine feature aggregation. In CVPR, 2016. 2

[^19]: M. Kristan, J. Matas, A. Leonardis, M. Felsberg, L. Cehovin, G. Fernández, T. Vojir, G. Hager, G. Nebehay, and R. Pflugfelder. The visual object tracking vot2015 challenge results. In ICCV Workshop 2015. 2

[^20]: S. Li and D. Lee. 2017 hand challenge/frame-based/team hcr: Method description. Hands 2017. 2, 3, 5

[^21]: M. Madadi, S. Escalera, X. Baro, and J. Gonzalez. End-to-end global to local cnn learning for hand pose recovery in depth data. arXiv preprint arXiv:1705.09606, 2017. 2, 3, 5

[^22]: M. Madadi, S. Escalera, A. Carruesco, C. Andujar, X. Baró, and J. González. Occlusion aware hand pose recovery from sequences of depth images. In FG, 2017. 1

[^23]: P. Molchanov, J. Kautz, and S. Honari. 2017 hand challenge nvresearch and umontreal team. Hands 2017. 2, 3, 6, 7, 8

[^24]: G. Moon, J. Y. Chang, and K. M. Lee. V2v-posenet: Voxel-to-voxel prediction network for accurate 3d hand and human pose estimation from a single depth map. In CVPR, 2018. 2, 3

[^25]: MPII Leader Board. <http://human-pose.mpi-inf.mpg.de.5>

[^26]: F. Mueller, D. Mehta, O. Sotnychenko, S. Sridhar, D. Casas, and C. Theobalt. Real-time hand tracking under occlusion from an egocentric rgb-d sensor. In ICCV, 2017. 1

[^27]: M. Oberweger and V. Lepetit. Deepprior++: Improving fast and accurate 3d hand pose estimation. In ICCV Workshop, 2017. 3, 4

[^28]: M. Oberweger, G. Riegler, P. Wohlhart, and V. Lepetit. Efficiently creating 3D training data for fine-hand pose estimation. In CVPR, 2016. 1

[^29]: M. Oberweger, P. Wohlhart, and V. Lepetit. Hands deep in deep learning for hand pose estimation. In CVWW, 2015. 2, 3, 4

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

 $^{1}$以及

robu.. +1

[^32]: E. Remelli, A. Tkach, A. Tagliasacchi, and M. Pauly. Low-dimensionality calibration through local anisotropic scaling for robust hand model personalization. In ICCV, 2017. 1

[^33]: S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In NIPS, 2015. 7, 8

[^34]: O. Ronneberger, P. Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. In MICCAI, 2015. 7

[^35]: O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenet large scale visual recognition challenge. IJCV, 2015. 2

[^36]: J. Serra. Image analysis and mathematical morphology, v. 1. Academic press, 1982. 8

[^37]: T. Sharp, C. Keskin, D. Robertson, J. Taylor, J. Shotton, D. Kim, C. Rhemann, I. Leichter, A. Vinnikov, Y. Wei, D. Freedman, P. Kohli, E. Krupka, A. Fitzgibbon, and S. Izadi. Accurate, robust, and flexible real-time hand tracking. In CHI, 2015. 1, 3, 4

[^38]: T. Simon, H. Joo, I. Matthews, and Y. Sheikh. Hand keypoint detection in single images using multiview bootstrapping. In CVPR, 2017. 1

## [^39]: A. Sinha, C. Choi, and K. Ramani. Deephand: Robust hand pose estimation by completing a matrix imputed with deep features. In CVPR, 2016. 3

---

[^40]: S. Song and J. Xiao. Deep sliding shapes for amodal 3d object detection in rgb-d images. In CVPR, 2016. 2

[^41]: S. Sridhar, A. Oulasvirta, and C. Theobalt. Interactive markerless articulated hand motion tracking using RGB and depth data. In ICCV, 2013. 1

[^42]: X. Sun, J. Shang, S. Liang, and Y. Wei. Compositional human pose regression. In ICCV, 2017. 3, 8

[^43]: X. Sun, Y. Wei, S. Liang, X. Tang, and J. Sun. Cascaded hand pose regression. In CVPR, 2015. 1

[^44]: J. S. Supancic, G. Rogez, Y. Yang, J. Shotton, and D. Ramanan. Depth-based hand pose estimation: methods, data, and challenges. In ICCV, 2015. 1, 2

[^45]: A. Tagliasacchi, M. Schröder, A. Tkach, S. Bouaziz, M. Botsch, and M. Pauly. Robust articulated-icp for real-time hand tracking. Computer Graphics Forum, 2015. 1

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

[^47]: D. Tang, H. J. Chang, A. Tejani, and T.-K. Kim. Latent regression forest: structured estimation of 3d hand poses. TPAMI, 2017. 1

[^48]: D. Tang, J. Taylor, P. Kohli, C. Keskin, T.-K. Kim, and J. Shotton. Opening the black box: Hierarchical sampling optimization for estimating human hand pose. In ICCV, 2015. 1

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

[^50]: J. Taylor, L. Bordeaux, T. Cashman, B. Corish, C. Keskin, E. Soto, D. Sweeney, J. Valentin, B. Luff, A. Topalian, E. Wood, S. Khamis, P. Kohli, T. Sharp, S. Izadi, R. Banks, A. Fitzgibbon, and J. Shotton. Efficient and precise interactive hand tracking through joint, continuous optimization of pose and correspondences. TOG, 2016. 2

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

[^52]: J. Tompson, M. Stein, Y. Lecun, and K. Perlin. Real-time continuous pose recovery of human hands using convolutional networks. TOG, 2014. 1

[^53]: C. Wan, T. Probst, L. Van Gool, and A. Yao. Crossing nets: Combining gans and vaes with a shared latent space for hand pose estimation. In CVPR, 2017. 1

[^54]: C. Wan, A. Yao, and L. Van Gool. Hand pose estimation from local surface normals. In ECCV, 2016. 1

[^55]: Q. Wan. 2017 hand challenge fudan university team. Hands 2017. 3, 5, 6

[^56]: F. Yang, K. Akiyama, and Y. Wu. Naist rv's solution for 2017 hand challenge. Hands 2017. 2, 3, 5, 7, 8

[^57]: Q. Ye, S. Yuan, and T.-K. Kim. Spatial attention deep net with partial PSO for hierarchical hybrid hand pose estimation. In ECCV, 2016. 1,2

[^58]: S. Yuan, Q. Ye, G. Garcia-Hernando, and T.-K. Kim. The 2017 hands in the million challenge on 3d hand pose estimation. In arXiv preprint arXiv:1707.02237, 2017. 1, 2, 8

[^59]: S. Yuan, Q. Ye, B. Stenger, S. Jain, and T.-K. Kim. Big-hand2.2m benchmark: Hand pose dataset and state of the art analysis. In CVPR, 2017. 1, 2

[^60]: J. Zhang, J. Jiao, M. Chen, L. Qu, X. Xu, and Q. Yang. 3d hand pose tracking and estimation using stereo matching. In arXiv, 2017. 1

[^61]: X. Zhou, Q. Wan, W. Zhang, X. Xue, and Y. Wei. Model-based deep hand pose estimation. In IJCAI, 2016. 2, 3, 4

[^62]: C. Zimmermann and T. Brox. Learning to estimate 3d hand pose from single rgb images. In ICCV, 2017. 1
