
# Hand-Transformer：用于3D手部姿态估计的非自回归结构化建模方法

黄林 $^{1}$(✉)、谭建超 $^{2}$、刘吉 $^{2}$ 以及袁俊松 $^{1}$

$^{1}$ 美国纽约州立大学布法罗分校 {lhuang27,jsyuan}@buffalo.edu $^{2}$ 快手公司旗下Y-tech，中国北京 {jianchaotan,jiliu}@kuaishou.com

摘要：3D手部姿态估计至今仍未成为一个完全解决的问题，主要原因在于手部姿态具有高度非线性的动态特性，且难以建模其内在的结构性依赖关系。为解决这一问题，我们将这种结构化输出学习问题与序列转录领域中的结构化建模框架相结合。Transformer等标准的转录模型采用自回归连接方式，来捕捉先前生成的词元之间的依赖关系，并进一步将这些信息与输入序列相关联，从而为当前词元的生成筛选出相关的输入词元集合。为了借鉴这一结构化学习框架的精髓，同时避免对手部姿态进行序列建模，我们以3D点集作为输入，提出利用Transformer架构并结合一种新颖的非自回归结构化解码机制。具体而言，我们的解码器并不使用先前生成的结果，而是利用参考手部姿态为每个输出关节的生成提供等效的关节间依赖关系。通过施加这种参考结构性依赖，我们能够通过多头注意力机制将相关信息与输入的3D点关联起来，从而从不同角度为各个手部关节的定位发现有用的信息点。我们在多个具有挑战性的手部姿态数据集上验证了所提模型的有效性，并与几种最先进的方法进行了对比。

关键词：3D手部姿态估计 · 结构化学习 · 注意力机制 · 非自回归Transformer

## 1 引言

关节式3D手部姿态估计一直是计算机视觉领域最重要的研究方向之一，因为它在人类行为分析与理解中发挥着至关重要的作用，进而在人机交互、机器人技术以及虚拟/增强现实等领域有着广泛的应用。随着深度学习算法的进步以及消费级深度传感器的出现，3D手部姿态估计领域取得了显著进展[14-16,18,26,28,30,32,36,39,40,43,44,47,50,51,54]。

---

尽管近年来取得了重大成果，但由于姿态变化复杂、全局朝向差异大、手指之间具有相似性以及严重的自遮挡等问题，要获得精确且鲁棒的手部姿态仍然颇具挑战性。为解决这一结构化输出学习问题，我们认为学习算法不仅要探索输入数据中的内在依赖关系，还要充分利用手部关节之间的结构相关性及其与输入数据的依赖关系，这两点此前尚未得到充分探讨。在本研究中，我们以3D点云作为输入——这是一种由深度数据转换而来的简单却有效的表示形式，旨在从中提取这些关键信息。

尽管近年来取得了显著成果，但由于手部姿态变化复杂、全局方向差异大、手指之间具有相似性以及严重的自遮挡等问题，要获得精确且稳健的手部姿态仍然颇具挑战性。为解决这一结构化输出学习问题，我们认为学习算法不仅要能够挖掘输入数据中的内在依赖关系，还要充分利用手部关节之间的结构相关性及其与输入数据的依赖关系——这两点都是近期才被深入探讨的内容。在我们的研究中，我们以三维点云作为输入，这是一种由深度数据转换而来的简单却有效的表示形式，旨在从中提取这些关键信息。

为了利用上述信息进行手部姿态估计，我们将关节姿态估计问题与自然语言处理（NLP）领域的序列转录任务相结合。作为另一种结构化输出预测问题，最先进的序列转录算法[^1] [^41] [^48]充分利用了这些相关性，遵循经典的编码器-解码器框架。它们采用自回归解码策略来建模输出标记之间的序列相关性，同时通过注意力机制捕捉输入序列与输出序列之间的全局依赖关系。这些建模技术在生成语法和语义上均有效的句子方面取得了显著的性能提升，例如语言翻译和图像描述。因此，借鉴这些策略的智慧，我们提议以Transformer模型作为基础构件，充分利用所有这些缺失的元素来实现鲁棒的三维手部姿态估计。

作为一项结构化学习任务，我们首先应当关注手部关节之间固有的依赖性，因为人手具有高度关节化和结构化的特性。例如，小指无法在无名指未弯曲的情况下弯曲，或者所有手指也无法过度向后弯曲[^27]。目前大多数研究仅仅将姿态视为一组独立的三维关节[^14] [^16] [^30] [^32]，而少数研究则以预训练的运动学模型[^22] [^30] [^31] [^53] [^54]或手工设计的先验知识[^42]的形式来施加与姿态相关的约束。然而，由于手部运动的变化性很大，存在许多无法通过此类预定义约束来捕捉的相关性。因此，针对这些情况，有必要学习一种能够自适应地建模结构模式的模型。受序列转录任务中使用的自回归解码机制的启发，我们可以通过将每个关节的生成依赖于先前已生成的关节来强制施加姿态模式。不过，自回归分解的特性会导致较高的推理延迟。此外，按照特定的手部关节顺序，序列建模假设每个关节主要与其顺序中的“先前”关节相关。但实际上，手部关节应与“先前”和“后续”关节都相互关联。因此，如果我们仅考虑序列相关性，

---

![Image](images/c98032fad8c7be77eb7c4c01bbf49541b8b052d8d936107ace6dce8dc8f4804d.jpg)

<div style="text-align: center;">Fig. 1. Left: Overview of our proposed NARHT model composed of 3 components. The encoder computes point-wise features  $c_i$ for each input point  $p_i$. The structured-reference extractor will feed a reference pose  $\tilde{\phi}_j$ into decoder. Then decoder further models the dependencies among reference joints and correlate this information with point-wise features  $c_i$ for each joint generation  $\phi_j$. Right: An illustration of our non-autoregressive structured-decoding strategy. Each joint generation is conditioned on the reference pose dependencies and relevant input points.  $N, J, L_1$, and  $L_2$ is the number of input points, hand joints, encoder layers, and decoder layers, respectively.</div>

就可能导致建模偏差，从而产生质量较差且不符合物理规律的姿态。

受近期提出的非自回归Transformer（NART）模型的启发[^19] [^21] [^37] [^46]，我们提出用一种专为3D手部姿态估计设计的新颖非自回归结构化学习机制来取代Transformer中的自回归分解方式。与以往将已生成的词元作为解码器输入的做法不同，典型的NART模型会直接将经过修改的输入词元副本送入解码器，旨在同时生成所有输出词元。显然，这种方式能大幅提升推理速度，但也会因输出词元中信息的缺失而导致性能下降。为了在保留并行性的同时向解码器提供必要的姿态相关信息，我们设计了结构化参考提取器，用于以关节级特征的形式提供参考手部姿态，并利用其内在相关性来近似输出姿态的相关性。因此，在将参考姿态提供给解码器后，我们采用非因果自注意力层[^19]来捕捉其对每个输出关节生成的内在依赖关系。通过向解码器呈现提取出的参考姿态，我们的模型能够在姿态相关信息的约束下并行生成所有关节。

除了分别从结构化输入和输出数据中提取依赖关系外，Transformer网络还会对输入与输出之间的相关性进行建模，以挖掘相关的输入信息。通过建模这种相关性，每个输出词元的生成不仅能获取其与先前生成词元的关系，还能利用具有信息量的输入特征——

---

受这一策略的启发，我们基于Transformer的模型也通过多头注意力机制将每个输出关节的生成与输入点相关联。具体而言，在进行特定关节估计时，我们利用参考手部关节之间的依赖关系作为查询项，来对输入点进行注意力计算。其目的是自适应地发现对不同表示子空间中各关节生成有贡献的信息点。随后，我们将经注意力加权后的信息与参考关节间的依赖关系相融合，从而定位特定的输出关节。这种方案与当前最先进的基于投票的技术类似[^18] [^26] [^44] [^47]，后者主要将点对点的欧几里得偏移量作为投票分数。然而，我们很容易发现：有些点虽然欧几里得偏移量较小，但测地偏移量较大，其贡献反而小于那些测地偏移量小但欧几里得偏移量大的点。因此，这种策略可能会导致次优结果。相比之下，多头注意力机制将基于偏移量的技术进行了推广，让模型自行决定针对特定关节生成应关注哪些方面。因此，我们认为我们的方法也将这一研究方向拓展为更具适应性的版本，借助多头注意力机制考察更多样的方面。

综上所述，我们的主要贡献如下：

- 我们提出了一种用于从无序点集进行3D手部姿态估计的新型非自回归手部Transformer（NARHT）。据我们所知，这是首次将结构化手部姿态估计与NLP领域基于Transformer的转导框架相结合的努力。

- 我们专门为关节姿态估计设计了一种非自回归结构化解码策略，用以取代传统Transformer的自回归分解方式，旨在打破序列推理瓶颈，并在解码过程中提供必要的姿态信息。

- 将姿态依赖关系用作查询，我们进一步通过多头注意力机制实现了一种完全自适应的逐点投票方案。该方案将每个输出关节所捕获的姿态依赖关系与来自不同视角的输入点相关联，从而有助于实现精确的关节定位。

## 2 相关工作

3D手部姿态估计。过去十年间，3D手部姿态估计在计算机视觉领域受到了广泛关注。现有方法可分为三类：生成式方法、判别式方法和混合式方法。我们的方法更偏向于判别式研究范畴。大多数判别式方法[^6] [^12] [^32] [^36] [^40] [^43] [^44] [^44] [^47]直接将2D深度图作为图像输入到2D CNN中。然而，2.5D深度数据与2D学习算法之间的不匹配，无法保证对输入的3D几何信息进行全面探索。后续的方法[^15]将深度图投影为多视角，再将其输入到多视角CNN中。不过，这种包含多视角融合的独立流程处理起来颇具挑战性。为了进一步解决这一问题，3D体素[^11] [^16] [^28]便应运而生。

---

![Image](images/7052e7e8254b105cca829d2693920f612b3f9c4994ab8faf06c56149889a597e.jpg)

<div style="text-align: center;">Fig. 2. Left: Classic encoder-decoder framework in sequence transduction tasks, such as AutoRegressive Transformer (ART) [^41]. Middle: Recently proposed encoder-decoder framework without autoregressive connection, such as Non-AutoRegressive Transformer (NART) [^19] [^21] [^37] [^46]. Right: Our proposed encoder-decoder framework with additional function g as the structured-reference extractor (NARHT).</div>

用于直接的3D几何建模。Moon等人[^28]提出的方法至今仍属于最先进的方法之一，他们利用体素到体素的预测来估算每个关节的逐体素概率。但由于需要占用大量内存，这种基于体素的处理流程会带来较高的计算负担。近年来，由于数据采集方便，采用RGB基解决方案的趋势愈发明显[^3] [^4] [^17] [^23] [^29] [^49] [^52] [^57]。然而，单RGB摄像头存在歧义性，且缺乏纹理特征，使得当前技术仍远不如基于深度的方法普及。基于3D点的技术也受到了诸多关注[^7] [^8] [^14] [^18] [^26]。Ge等人[^14]提出了一种手部PointNet，可直接将无序的点集映射到3D手部姿态。但作为一种不规则的数据格式，若要充分挖掘其几何信息，还需付出更多努力。本文受几种序列转录算法的启发[^1] [^19] [^21] [^37] [^41] [^46] [^48]，提出了一种新机制，能够直接对输入点进行操作，同时注入与姿态相关的依赖关系，从而实现鲁棒的姿态估计。

## 3 方法论

我们提出的NARHT模型如图1所示。给定一组从手部深度图像转换而来的无序3D点，我们的目标是推断出对应的3D手部姿态，该姿态被参数化为相机坐标系（C.S.）下的一组3D关节坐标$\mathbf{\Phi}^{cam} = \{\phi_1^{cam}, ..., \phi_j^{cam}\}$，其中J表示手部关节的数量。为了获得鲁棒的手部姿态，我们提出采用基于Transformer的架构，并辅以非自回归的结构化解码策略。该模型遵循典型的编码器-解码器框架[^2] [^9] [^38] [^41]，同时额外加入用于非自回归解码的结构化参考提取器。具体而言，为了增强模型对手部朝向的鲁棒性，我们参照[^14] [^18]的方法，首先将输入点集下采样并归一化到OBB坐标系中，得到包含N个点的数据集，表示为$\mathcal{P} = \{\boldsymbol{p}_1, ..., \boldsymbol{p}_N\}$。手部关节$\mathbf{\Phi}^{cam}$也会被转换到OBB坐标系中，记为$\mathbf{\Phi} = \{\phi_1, ..., \phi_J\}$。接着，

---

我们将归一化后的点集$\mathcal{P}$输入编码器，以生成增强后的逐点表征$\mathcal{C} = \{\mathbf{c}_1, ..., \mathbf{c}_N\}$。我们使用基础的PointNet[^33]，再配合排列不变的自注意力层，以便更好地捕捉输入点之间的长距离依赖关系。在解码阶段，为了给每个关节的生成施加结构化的姿态约束，我们首先利用结构化参考提取器处理输入点，生成以关节级特征形式呈现的参考手部姿态$\tilde{\mathbf{\Phi}} = \{\tilde{\phi}_1, ..., \tilde{\phi}_J\}$。该参考姿态随后被送入解码器，通过非因果自注意力层[^19]来捕捉各关节间的结构依赖关系，这种依赖关系可视为目标手部姿态依赖关系的近似。接着，我们将捕捉到的姿态依赖关系与逐点特征$\mathcal{C}$相关联，借助编码器-解码器注意力模块，从不同的表征子空间中找出与特定关节生成相关的点。最后，我们将所有经注意力加权处理的逐点特征与捕捉到的依赖关系合并，并行推断出每个关节的位置。基于这种解码策略，我们的模型能够利用姿态相关信息同步生成所有关节。

### 3.1 重新审视Transformer

对于结构化输出学习问题而言，除了从输入数据中提取特征外，我们还必须探究结构化输出的内在依赖关系及其与输入数据的相关性，才能生成精确且有效的结果，比如3D关节姿态、语言翻译和图像描述等。作为当前最先进的转导模型，Transformer[^41]正是凭借纯注意力机制充分利用了上述所有信息，从而生成语法和语义均正确的句子。具体而言，自回归Transformer（ART）遵循经典的编码器-解码器框架，先利用自注意力层分别捕捉输入结构化数据和先前生成的输出标记中的长距离依赖关系；随后再通过编码器-解码器注意力来建模输入与先前生成输出之间的依赖关系。最终，Transformer便能根据所捕捉到的信息依次生成标记。

Transformer所实现的卓越性能主要归功于自回归解码与注意力机制的结合，后者用于建模数据中的结构依赖关系。因此，为了将这一框架应用于我们的任务中，我们保留了注意力机制，同时将自回归解码扩展为更适合3D手部姿态估计的策略。在后续章节中，我们将继续深入探讨这两个核心概念。

多头注意力机制。注意力机制[^1] [^24]用于根据注意力权重自适应地聚合输入值集合，而无需考虑它们之间的距离；这些注意力权重用于衡量给定查询与一组键之间的匹配程度。具体来说，我们假设每个查询和键的维度均为$d_k$，值的维度为$d_v$，那么缩放点积注意力映射[^41]可表示为：

---

 $$ Attention\left(\boldsymbol{Q},\boldsymbol{K},\boldsymbol{V}\right)=softmax\left(\frac{\boldsymbol{Q}\boldsymbol{K}^{T}}{\sqrt{d_{k}}}\right)\boldsymbol{V}, $$

其中，矩阵Q、K和V分别表示一组查询、键和值。此外，为了拓展探索不同子空间的能力，注意力机制可被扩展到多头[^41]的情形：

 $$ \left\{\begin{aligned}{}&{{}{M u l t i H e a d}\left(\mathbf{Q},\mathbf{K},\mathbf{V}\right)={C o n c a t}\left({h e a d}_{1},...,{h e a d}_{h}\right)\mathbf{W}^{O},}\\ {}&{{}{h e a d}_{i}={A t t e n t i o n}\left(\mathbf{Q}\mathbf{W}_{i}^{Q},\mathbf{K}\mathbf{W}_{i}^{K},\mathbf{V}\mathbf{W}_{i}^{V}\right);}\\ \end{aligned}\right. $$

这里，线性变换$\boldsymbol{W}_i^Q \in \mathbb{R}^{d_{model} \times d_k}$、$\boldsymbol{W}_i^K \in \mathbb{R}^{d_{model} \times d_k}$、$\boldsymbol{W}_i^V \in \mathbb{R}^{d_{model} \times d_v}$和$\boldsymbol{W}^O \in \mathbb{R}^{hd_v \times d_{model}}$是参数矩阵。h代表子空间的数量，在我们的实现中取$d_k = d_v = d_{model}/h = 32$。我们的模型中主要采用了两种注意力变体：第一种是自注意力，用于从输入和参考手部姿态中捕捉长距离依赖关系，此时键和查询来自同一组元素；第二种是编码器-解码器注意力，用于优先处理那些对特定关节生成而言包含相关信息的输入点子集，此时键和查询来自两组不同的元素。

自回归解码。如前所述，Transformer以自回归方式生成每个词元。因此，解码机制会根据先前生成的词元之间的内在依赖关系来生成当前词元，如图2所示。具体来说，给定一个长度为$\boldsymbol{X} = \{\boldsymbol{x}_1, ..., \boldsymbol{x}_T\}$的源句子$T'$，输出序列$\boldsymbol{Y} = \{\boldsymbol{y}_1, ..., \boldsymbol{y}_T\}$（长度为T）的分布可被分解为一系列具有从左到右顺序结构的条件概率[^19] [^41]：

 $$ p_{a r t}\left(\boldsymbol{Y}|\boldsymbol{X};\boldsymbol{\theta}\right)=\prod_{t=1}^{T}p\left(\boldsymbol{y}_{t}|\boldsymbol{y}_{1:t-1},\boldsymbol{x}_{1:T^{\prime}};\boldsymbol{\theta}\right), $$

其中$\boldsymbol{\theta}$为模型参数。如公式3所示，尽管自回归解码能够捕捉输出序列中的内在依赖关系，但它存在较高的推理延迟问题——因为词元$t^{\mathrm{th}}$ $\boldsymbol{y}_{t}$的生成依赖于先前生成的词元$\boldsymbol{y}_{1:t-1}$。此外，这种序列建模方式对手部运动的适应性较差，从而导致结果并非最优：毕竟手部关节之间是相互关联的，而非仅受序列约束。因此，我们提出了一种非自回归结构化解码机制，用以取代低效的序列建模过程，并在解码过程中引入更合理的姿态依赖关系。

### 3.2 非自回归结构化解码

近期提出的非自回归Transformer（NART）模型[^19] [^21] [^37]摒弃了对先前生成词元的序列依赖，直接

---

将输入序列的修改副本$\mathbf{X}' = \{\mathbf{x}_1', ..., \mathbf{x}_{T'}\}$送入解码器，如图2所示。这种方式能够显著提升推理速度，但由于缺少输出序列中的信息，其精度会低于ART模型。解码过程可表述为：

 $$ p_{n a r t}\left(\mathbf{Y}|\mathbf{X};\boldsymbol{\theta}\right)=\prod_{t=1}^{T}p\left(\mathbf{y}_{t}|\boldsymbol{x}_{1:T^{\prime}}^{\prime},\boldsymbol{x}_{1:T^{\prime}};\boldsymbol{\theta}\right). $$

这促使我们设计出一种具备探索结构化输出模式且能并行运行的类似架构。我们提出了一种用于3D手部姿态估计的新型非自回归结构化学习机制。我们不再将先前生成的结果或输入的修改副本送入解码器，而是让解码器接收由结构化参考提取器生成的、以关节特征形式存在的参考姿态$\tilde{\Phi} = \{\tilde{\phi}_1, ..., \tilde{\phi}_J\}$。将参考姿态提供给解码器后，我们进一步采用非因果自注意力层[^19]来捕捉各参考关节之间的相关性。在捕捉到的参考姿态依赖关系的引导下，我们采用Transformer中的编码器-解码器注意力机制，从不同的表示子空间中找出具有信息量的输入点。这就形成了一种完全自适应的逐点投票机制，旨在更好地捕捉输出关节与输入点之间的相关性。我们将加权后的逐点特征与姿态依赖关系聚合起来，再将其传入位置前馈网络（FFN）[^41]以获得解码器输出。最终，解码器输出会经过全连接（FC）层，从而得出各个关节的坐标。解码过程可表述为：

 $$ p_{n a r h t}\left(\mathbf{\Phi}|\mathcal{P};\pmb{\theta}\right)=\prod_{j=1}^{J}p\left(\phi_{j}|\tilde{\phi}_{1:J},\pmb{p}_{1:N};\pmb{\theta}\right), $$

其中$\pmb{\theta}$代表模型参数。通过这种方式，我们的模型能够在必要的姿态模式约束下同时生成所有手部关节。在训练阶段，我们采用最大似然估计方法，并以真实值$\hat{\mathbf{\Phi}} = \{\hat{\phi}_1, ..., \hat{\phi}_J\}$与估计出的关节坐标之间的平方L2损失作为衡量标准。每个训练样本的损失定义为：

 $$ \mathcal{L}_{1}=\sum_{j=1}^{J}\|\phi_{j}-\hat{\phi}_{j}\|_{2}^{2}. $$

结构化参考提取器。为了向解码器提供更合理的姿态相关信息，我们用一种新型的非自回归结构化学习机制取代了Transformer模型中效率较低的自回归分解方式。如图1所示，我们将归一化后的3D点送入结构化参考提取器，目的是生成以关节特征形式存在的参考手部姿态$\tilde{\Phi} = \{\tilde{\phi}_1, ..., \tilde{\phi}_J\}$。通过将参考姿态提供给解码器，解码器就能捕捉到各关节之间的相关性。

---

这些参考关节可作为目标姿态的近似，利用这些信息能更好地约束输出空间，从而得到更精确且符合物理规律的手部关节。

具体来说，我们采用基于PointNet++的网络[^34]，将输入点$\mathcal{P}$映射为潜特征向量，并将其转换为具有64维特征的J个点。随后我们将其传入多层感知机网络，得到具有$d_{model}$维特征的J个点，这就是以关节特征形式存在的参考姿态。

我们还引入了中间监督机制，以促使参考姿态包含更多关于真实值的信息。因此，我们添加了一个全连接层，用于回归出手部姿态$\mathbf{\Phi}' = \{\phi'_1, ..., \phi'_J\}\} \text{ from the joint-wise features. The second loss term is given below:}$。

 $$ \mathcal{L}_{2}=\sum_{j=1}^{J}\|\phi_{j}^{\prime}-\hat{\phi}_{j}\|_{2}^{2}. $$

非因果自注意力机制。传统的Transformer模型在生成每个输出词元时，仅依赖先前生成的结果，无法获取未来解码步骤中的信息。借助结构化参考提取器输出的参考姿态，我们模型中的解码器能够避开这种自回归分解方式，从而探索所有J个参考手部关节之间的依赖关系。因此，我们可以摒弃传统Transformer解码器中掩码自注意力模块所使用的因果掩码。此外，与[^19]类似，我们仅屏蔽每个参考关节对其自身位置的关注，旨在建模参考关节间的依赖关系，同时避免其关注自身。

逐点投票机制。使用Transformer模型的另一个关键优势在于，它能通过编码器-解码器注意力机制建模输入词元与输出词元之间的全局依赖关系。这一策略可扩展为用于手部关节定位的完全自适应逐点投票方案。具体而言，在我们的模型中，我们利用捕捉到的参考关节间依赖关系作为查询向量，针对每个输出关节的生成去关注所有输入点。这种方式会着重强调输入点的某些部分，帮助解码过程选出对特定关节生成有贡献的有效信息点。与常用的基于欧几里得偏移的投票方案[^18] [^26] [^44] [^47]相比，基于注意力的机制更具适应性和全面性。此外，多头自注意力机制使得投票过程能够在不同的表示子空间中执行，为相关点的搜索提供更多视角。最终，各点的投票结果会与捕捉到的依赖关系相融合，以确定每个3D关节的位置。

### 3.3 编码器

我们的编码器目标与Transformer中的编码器类似，即从输入数据中提取长距离依赖关系，并计算逐点表示。目前已提出多种直接处理点云的方法。

---

<div style="text-align: center;">Table 1. Comparison with state-of-the-art methods on ICVL [^39] (Left), MSRA [^36] (Middle), and NYU [^40] (Right). “Error” indicates the mean joint distance error in (mm).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Error</td><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Error</td><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Error</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepModel [^53]</td><td style='text-align: center; word-wrap: break-word;'>11.56</td><td style='text-align: center; word-wrap: break-word;'>Feedback [^32]</td><td style='text-align: center; word-wrap: break-word;'>15.97</td><td style='text-align: center; word-wrap: break-word;'>DeepPrior [^31]</td><td style='text-align: center; word-wrap: break-word;'>20.75</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepPrior [^31]</td><td style='text-align: center; word-wrap: break-word;'>10.40</td><td style='text-align: center; word-wrap: break-word;'>CrossingNets [^43]</td><td style='text-align: center; word-wrap: break-word;'>12.20</td><td style='text-align: center; word-wrap: break-word;'>DeepModel [^53]</td><td style='text-align: center; word-wrap: break-word;'>17.04</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CrossingNets [^43]</td><td style='text-align: center; word-wrap: break-word;'>10.20</td><td style='text-align: center; word-wrap: break-word;'>REN (9x6x6) [^20]</td><td style='text-align: center; word-wrap: break-word;'>9.79</td><td style='text-align: center; word-wrap: break-word;'>Feedback [^32]</td><td style='text-align: center; word-wrap: break-word;'>15.97</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HBE [^55]</td><td style='text-align: center; word-wrap: break-word;'>8.62</td><td style='text-align: center; word-wrap: break-word;'>3D CNN [^16]</td><td style='text-align: center; word-wrap: break-word;'>9.58</td><td style='text-align: center; word-wrap: break-word;'>CrossingNets [^43]</td><td style='text-align: center; word-wrap: break-word;'>15.50</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepPrior++ [^30]</td><td style='text-align: center; word-wrap: break-word;'>8.10</td><td style='text-align: center; word-wrap: break-word;'>DeepPrior++ [^30]</td><td style='text-align: center; word-wrap: break-word;'>9.50</td><td style='text-align: center; word-wrap: break-word;'>3D CNN [^16]</td><td style='text-align: center; word-wrap: break-word;'>14.11</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>REN (9 $\times$ 6 $\times$ 6) [^20]</td><td style='text-align: center; word-wrap: break-word;'>7.31</td><td style='text-align: center; word-wrap: break-word;'>Pose-REN [^6]</td><td style='text-align: center; word-wrap: break-word;'>8.65</td><td style='text-align: center; word-wrap: break-word;'>REN (9x6x6) [^20]</td><td style='text-align: center; word-wrap: break-word;'>12.69</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DenseReg [^44]</td><td style='text-align: center; word-wrap: break-word;'>7.24</td><td style='text-align: center; word-wrap: break-word;'>Hand PointNet [^14]</td><td style='text-align: center; word-wrap: break-word;'>8.51</td><td style='text-align: center; word-wrap: break-word;'>DeepPrior++ [^30]</td><td style='text-align: center; word-wrap: break-word;'>12.24</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SHPR-Net [^7]</td><td style='text-align: center; word-wrap: break-word;'>7.22</td><td style='text-align: center; word-wrap: break-word;'>CrossInfoNet [^12]</td><td style='text-align: center; word-wrap: break-word;'>7.86</td><td style='text-align: center; word-wrap: break-word;'>Pose-REN [^6]</td><td style='text-align: center; word-wrap: break-word;'>11.81</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hand PointNet [^14]</td><td style='text-align: center; word-wrap: break-word;'>6.94</td><td style='text-align: center; word-wrap: break-word;'>SHPR-Net [^7]</td><td style='text-align: center; word-wrap: break-word;'>7.76</td><td style='text-align: center; word-wrap: break-word;'>SHPR-Net [^7]</td><td style='text-align: center; word-wrap: break-word;'>10.78</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose-REN [^6]</td><td style='text-align: center; word-wrap: break-word;'>6.79</td><td style='text-align: center; word-wrap: break-word;'>Point-to-Point [^18]</td><td style='text-align: center; word-wrap: break-word;'>7.71</td><td style='text-align: center; word-wrap: break-word;'>Hand PointNet [^14]</td><td style='text-align: center; word-wrap: break-word;'>10.54</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CrossInfoNet [^12]</td><td style='text-align: center; word-wrap: break-word;'>6.73</td><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet [^28]</td><td style='text-align: center; word-wrap: break-word;'>7.59</td><td style='text-align: center; word-wrap: break-word;'>DenseReg [^44]</td><td style='text-align: center; word-wrap: break-word;'>10.21</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>A2J [^47]</td><td style='text-align: center; word-wrap: break-word;'>6.46</td><td style='text-align: center; word-wrap: break-word;'>DenseReg [^44]</td><td style='text-align: center; word-wrap: break-word;'>7.23</td><td style='text-align: center; word-wrap: break-word;'>CrossInfoNet [^12]</td><td style='text-align: center; word-wrap: break-word;'>10.08</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Point-to-Point [^18]</td><td style='text-align: center; word-wrap: break-word;'>6.33</td><td style='text-align: center; word-wrap: break-word;'>NARHT (Ours)</td><td style='text-align: center; word-wrap: break-word;'>7.55</td><td style='text-align: center; word-wrap: break-word;'>Point-to-Point [^18]</td><td style='text-align: center; word-wrap: break-word;'>9.05</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet [^28]</td><td style='text-align: center; word-wrap: break-word;'>6.28</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;'>Point-to-Pose [^26]</td><td style='text-align: center; word-wrap: break-word;'>8.99</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NARHT (Ours)</td><td style='text-align: center; word-wrap: break-word;'>6.47</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;'>A2J [^47]</td><td style='text-align: center; word-wrap: break-word;'>8.61</td></tr><tr><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;'>V2V-PoseNet [^28]</td><td style='text-align: center; word-wrap: break-word;'>8.42</td></tr><tr><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;'>NARHT (Ours)</td><td style='text-align: center; word-wrap: break-word;'>9.80</td></tr></table>

经典的点云网络PointNet [^33]独立地处理每个点，未考虑其内在的几何相关性。后续方法主要依赖基于卷积的多分辨率层次结构来解决这一问题。然而，许多近期研究[^5] [^10] [^35] [^45] [^56]表明，基于卷积的设计在捕捉长距离依赖关系方面效率低下，还会带来优化难题。此外，广泛使用的池化操作所导致的变换不变性，往往会丢失对关节姿态估计至关重要的精确定位信息。因此，在我们的工作中，首先把输入点送入基于基础PointNet的网络[^33]以提取基本的逐点特征，随后采用自注意力层，通过建模不同点之间的内在依赖关系来增强特征表示。

### 3.4 端到端训练

我们利用上述提到的损失函数$\mathcal{L}_1$和$\mathcal{L}_2$来共同监督NARHT模型的端到端学习过程，其公式如下：

 $$ \mathcal{L}=\lambda\mathcal{L}_{1}+\mathcal{L}_{2}, $$

其中$\lambda = 10$是用于平衡$\mathcal{L}_{1}$和$\mathcal{L}_{2}$的权重系数。

## 4 实验

### 4.1 数据集

ICVL数据集[^39]。它包含22k帧用于训练，1.5k帧用于测试。该数据集还额外包含了30万帧经过增强的帧，其中包含平面旋转情况。

---

<div style="text-align: center;">Table 2. Left: Ablation study for several components of our Non-AutoRegressive Hand Transformer (NARHT) on ICVL [^39]. Right: Comparison of inference time on single GPU.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>Component</td><td style='text-align: center; word-wrap: break-word;'>Error</td><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>FPS (single GPU)</td></tr><tr><td rowspan="4">ICVL</td><td style='text-align: center; word-wrap: break-word;'>Autoregressive transformer</td><td style='text-align: center; word-wrap: break-word;'>8.57</td><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet $^{[28]}$</td><td style='text-align: center; word-wrap: break-word;'>3.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>P2P as encoder</td><td style='text-align: center; word-wrap: break-word;'>6.70</td><td style='text-align: center; word-wrap: break-word;'>DenseReg $^{[14]}$</td><td style='text-align: center; word-wrap: break-word;'>27.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Coordinate-based reference pose</td><td style='text-align: center; word-wrap: break-word;'>6.67</td><td style='text-align: center; word-wrap: break-word;'>Point-to-Point $^{[18]}$</td><td style='text-align: center; word-wrap: break-word;'>41.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NARHT (Ours)</td><td style='text-align: center; word-wrap: break-word;'>6.47</td><td style='text-align: center; word-wrap: break-word;'>NARHT (Ours)</td><td style='text-align: center; word-wrap: break-word;'>43.2</td></tr></table>

该数据集标注了16个关节。MSRA数据集[^36]。它由来自9名受试者的76.5k张深度图像组成。每名受试者包含17种手势，每种手势约有500帧带分割的手部深度图像。真实标注包含21个关节。我们采用常见的留一受试者交叉验证策略来对该数据集进行评估。NYU数据集[^40]。它有72K帧用于训练，8.2K帧用于测试。每帧都提供了来自三台Kinect的RGBD数据。按照常规协议，我们仅使用正面视图以及其中的14个真实关节子集。HANDS 2017数据集[^50]。它由957k帧训练数据和295k帧测试数据组成，这些数据采样自BigHand2.2M [^51]和FHAD [^13]数据集。测试集涉及训练集中未出现过的受试者。该数据集提供了21个标注的3D关节。

### 4.2 评估指标

我们采用了文献中最常用的两种指标来评估3D手部姿态估计的性能。第一个指标是在所有测试帧上各关节的3D欧几里得距离平均误差（单位：毫米），以及所有测试帧中每帧全部关节的总体3D欧几里得距离平均误差（单位：毫米）。该指标反映了每个估计关节及手部姿态的整体性能。第二个指标是所有关节均在指定距离内与真实值相符的有效帧所占比例。这一指标更为严格，能更好地体现某种估计技术的性能。

### 4.3 实现细节

输入。我们将采样点数量设为N=1024，同时还将每个输入的3D坐标与估计出的3D表面法线进行拼接。编码器。我们采用了基于PointNet的网络[^33]，随后接入标准的Transformer编码器。PointNet结构包含1个MaxPool层和2个MLP网络，每个MLP由3个FC层组成。我们使用的Transformer编码器，其头数h为8，$d_{model}$为256，层数$L_1$为3，且不使用位置编码模块。解码器。我们采用基于PointNet++的网络[^34]作为结构化参考提取器，再搭配修改后的标准Transformer解码器。PointNet++结构包含3个集合抽象层，随后是1个MaxPool层和1个用于提取关节特征的MLP。对于修改后的

---

Transformer解码器，我们用非因果多头注意力层[^19]替换了掩码多头注意力层。我们将头数h设为8，$d_{model}$设为256，层数$L_2$设为6，同样不使用位置编码模块。我们仅用1个FC层作为最后一层，将解码器的输出转换为关节坐标。训练。训练NARHT时，我们使用Adam [^25]优化器，初始学习率为$1e^{-3}$，$\lambda$为10。训练40个epoch后学习率会除以10。遵循[^14]和[^18]的做法，我们采用了类似的数据增强策略，包括随机手臂长度和随机拉伸因子。所有实验均在单张NVIDIA TITAN Xp GPU上利用PyTorch框架完成，训练和评估的批量大小均为16。

### 4.4 消融研究

我们选择ICVL数据集来进行消融研究，并使用平均关节距离误差（单位：毫米）这一指标来评估结果。相关结果如表2所示。

非自回归结构化解码的有效性。为了验证我们所提出非自回归结构化解码的有效性，我们将NARHT模型与基于自回归Transformer的模型（ART）进行对比，后者采用原始的Transformer [^41] 进行3D手部姿态估计。我们为ART模型采用定时采样 [^2] 作为训练策略。在自回归解码模式下，我们可以明显看到性能下降。更重要的是，由于存在序列建模问题，ART模型的运行速度比我们的NARHT模型慢得多。这些结果都表明，手部关节不应仅以序列方式建模，而我们提出的非自回归解码过程能够利用参考姿态的依赖性来实现更精准的关节定位。

参考姿态表示的影响。我们研究了参考姿态所用表示方式的影响。参考姿态由结构化参考提取器生成后输入到解码器中，因此我们可以使用关节级坐标或关节级特征作为解码器输入。根据实验结果，基于坐标的表示方式不如基于特征的表示方式，这可能是由于基于坐标的格式灵活性不足所致。

自注意力层的有效性。为了证明自注意力层在从输入点中提取长距离依赖关系方面的有效性，我们还实现了一个采用点对点 [^18] 架构作为编码器且不包含任何自注意力层的模型。除了平均距离误差外，我们还对比了两种编码器每帧的平均运行时间。虽然表2中显示的0.23毫米的性能提升幅度较小，但基于注意力的编码器（3.80毫秒）的运行效率远高于基于点对点的编码器（35.90毫秒）。这验证了我们的观点：自注意力层能够以更高效的方式捕捉长距离依赖关系。

---

![Image](images/be2776bf79c3657186ea638c98ecf4b103a60b168d2f02a7a491e66efb9e158b.jpg)

![Image](images/81ec0b566b9aa862ad20033ac187ef7512b4f54b49a168086efc0bc85d71fb62.jpg)

![Image](images/36854c2c8275ed0dce125297ef7e3ca6c98c402b9d383abdda1354e0be916841.jpg)

<div style="text-align: center;">Fig. 3. Comparison with state-of-the-art methods on ICVL [^39] (Left), MSRA [^36] (Middle), and NYU [^40] (Right) datasets. The proportions of good frames is used for comparison.</div>

![Image](images/d48801acd40d9a39734a776c55309204b153d82a2231abed63f9eaf55f038f81.jpg)

![Image](images/86cb7d9d183ed36a72f548357d3d93a83eb895976c82703c8249952cc2f57cb2.jpg)

![Image](images/8749179d0a62ed49f358172e24596cf019de1a668e08cd7ab2aab95c8c058a8c.jpg)

<div style="text-align: center;">Fig. 4. Comparison with state-of-the-art methods on ICVL [^39] (Left), MSRA [^36] (Middle), and NYU [^40] (Right) datasets. The per-joint mean error distances is used for comparison (R: root, T: tip).</div>

### 4.5 与现有最先进方法的比较

我们在多个公开3D手部姿态数据集上，将所提出的NARHT模型的性能与大多数现有最先进方法进行了比较，这些方法包括基于2D和3D的方法[6,7,12,14,16,18,20,28,30-32,43,44,47,53,55]。全面的实验结果分别体现在图3的不同阈值下的优质帧占比、图4的逐关节平均误差（毫米）、表1的平均关节距离误差（毫米）以及表2的推理速度中。

在对每个数据集进行具体分析之前，我们想指出：就优质帧的百分比而言，当ICVL数据集的误差阈值大于20毫米、MSRA数据集大于5毫米、NYU数据集大于30毫米时，我们的方法相比以往的最先进方法具有明显优势。这表明与其他方法相比，我们的模型能生成更多优质帧，即所有估计关节与真实关节的偏差都在一定范围内。这也验证了模型的鲁棒性，符合我们的预期——因为我们明确在解码过程中引入了必要的结构化姿态模式。图5还展示了这三个数据集的一些定性结果。

ICVL数据集。如表1所示的整体平均距离误差指标中，除了A2J [^47]、点对点 [^18] 和V2V-PoseNet [^28] 之外，我们的方法表现优于其他方法。然而，如表2所示，尽管我们的平均误差略低……

---

![Image](images/e4453df6223ec7b40b22ac7b1b9463c922a1adef8da653128519f95e9424f63c.jpg)

<div style="text-align: center;">Fig. 5. Qualitative results for ICVL [^39] (Top), MSRA [^36] (Middle) and NYU [^40] (Bottom) datasets.</div>

在V2V-PoseNet和Point-to-Point模型之前，我们的方法就具备更高的推理效率，尤其是与V2V-PoseNet相比。

MSRA数据集上，除了在平均距离误差方面略逊于DenseReg [^44] 外，我们的方法整体表现优于现有方法。不过如前所述，当阈值大于5毫米时，我们的方法在“优质帧占比”指标上表现最佳；而且与DenseReg相比，我们在几乎所有阈值下的结果都更优。更重要的是，尽管我们的方法是面向3D的，但如表2所示，其运行速度仍比DenseReg快得多。

NYU数据集上，就整体平均误差而言，除A2J、Point-to-Pose [^26]、V2V-PoseNet和Point-to-Point模型外，我们的方法在大多数情况下都优于当前最先进的模型。不过，当阈值大于30毫米时，我们的模型在“优质帧占比”指标上大幅领先于Point-to-Point和V2V-PoseNet。由于我们没有A2J和Point-to-Pose模型的曲线数据，因此无法在这方面进行比较。

HANDS 2017数据集上，我们也将我们的模型与A2J、Point-to-Pose、V2V-PoseNet以及Hand PointNet [^14] 进行了对比。虽然在已见类别样本的平均距离误差上，我们的模型不如A2J、Point-to-Pose和V2V-PoseNet，但在未见类别数据上，我们的模型除A2J外优于其他方法。

## 5 结论

在本文中，我们提出将结构化手部姿态估计问题与自然语言处理领域的序列转导任务相结合，旨在全面探究相关结构信息对精准姿态预测的作用。

---

借助Transformer框架和所提出的非自回归解码策略，我们可以将每个关节的生成过程建立在必要的姿态依赖关系以及选定的输入特征之上。在多个具有挑战性的数据集上的实验结果验证了该模型的有效性，其在实时性能方面优于现有最先进的方法。未来，我们计划进一步探索缩小姿态估计中的结构化输出学习问题与NLP领域之间差距的可能性，例如从RGB图像进行姿态估计以及图像描述生成等应用。

## 参考文献

[^1]: Bahdanau, D., Cho, K., Bengio, Y.: Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473 (2014)

[^2]: Bengio, S., Vinyals, O., Jaitly, N., Shazeer, N.: Scheduled sampling for sequence prediction with recurrent neural networks. In: NIPS (2015)

[^3]: Cai, Y., Ge, L., Cai, J., Yuan, J.: Weakly-supervised 3D hand pose estimation from monocular RGB images. In: ECCV (2018)

[^4]: Cai, Y., et al.: Exploiting spatial-temporal relationships for 3D pose estimation via graph convolutional networks. In: ICCV (2019)

[^5]: Chaudhari, S., Polatkan, G., Ramanath, R., Mithal, V.: An attentive survey of attention models. arXiv preprint arXiv:1904.02874 (2019)

[^6]: Chen, X., Wang, G., Guo, H., Zhang, C.: Pose guided structured region ensemble network for cascaded hand pose estimation. Neurocomputing 395, 138–149 (2019)

[^7]: Chen, X., Wang, G., Zhang, C., Kim, T.K., Ji, X.: Shpr-net: deep semantic hand pose regression from point clouds. IEEE Access 6, 43425–43439 (2018)

[^8]: Chen, Y., Tu, Z., Ge, L., Zhang, D., Chen, R., Yuan, J.: SO-HandNet: self-organizing network for 3D hand pose estimation with semi-supervised learning. In: ICCV (2019)

[^9]: Cho, K., et al.: Learning phrase representations using RNN encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078 (2014)

[^10]: Cordonnier, J.B., Loukas, A., Jaggi, M.: On the relationship between self-attention and convolutional layers. In: ICLR (2019)

[^11]: Deng, X., Yang, S., Zhang, Y., Tan, P., Chang, L., Wang, H.: Hand3D: hand pose estimation using 3D neural network. arXiv preprint arXiv:1704.02224 (2017)

[^12]: Du, K., Lin, X., Sun, Y., Ma, X.: Crossinfonet: multi-task information sharing based hand pose estimation. In: CVPR (2019)

[^13]: Garcia-Hernando, G., Yuan, S., Baek, S., Kim, T.K.: First-person hand action benchmark with RGB-d videos and 3D hand pose annotations. In: CVPR (2018)

[^14]: Ge, L., Cai, Y., Weng, J., Yuan, J.: Hand pointnet: 3D hand pose estimation using point sets. In: CVPR (2018)

[^15]: Ge, L., Liang, H., Yuan, J., Thalmann, D.: Robust 3D hand pose estimation in single depth images: from single-view CNN to multi-view CNNs. In: CVPR (2016)

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

## [^17]: Ge, L., et al.: 3D hand shape and pose estimation from a single RGB image. In: CVPR (2019)

---

[^18]: Ge, L., Ren, Z., Yuan, J.: Point-to-point regression pointnet for 3D hand pose estimation. In: ECCV (2018)

[^19]: Gu, J., Bradbury, J., Xiong, C., Li, V.O., Socher, R.: Non-autoregressive neural machine translation. arXiv preprint arXiv:1711.02281 (2017)

[^20]: Guo, H., Wang, G., Chen, X., Zhang, C., Qiao, F., Yang, H.: Region ensemble network: improving convolutional network for hand pose estimation. In: ICIP (2017)

[^21]: Guo, J., Tan, X., He, D., Qin, T., Xu, L., Liu, T.Y.: Non-autoregressive neural machine translation with enhanced decoder input. In: AAAI (2019)

[^22]: Hasson, Y., et al.: Learning joint reconstruction of hands and manipulated objects. In: CVPR (2019)

[^23]: Iqbal, U., Molchanov, P., Breuel Juergen Gall, T., Kautz, J.: Hand pose estimation via latent 2.5 d heatmap regression. In: ECCV (2018)

[^24]: Kim, Y., Denton, C., Hoang, L., Rush, A.M.: Structured attention networks. arXiv preprint arXiv:1702.00887 (2017)

[^25]: Kingma, D.P., Ba, J.: Adam: a method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014)

[^26]: Li, S., Lee, D.: Point-to-pose voting based hand pose estimation using residual permutation equivariant layer. In: CVPR (2019)

[^27]: Lin, J., Wu, Y., Huang, T.S.: Modeling the constraints of human hand motion. In: Proceedings Workshop on Human Motion (2000)

[^28]: Moon, G., Chang, J., Lee, K.M.: V2V-PoseNet: voxel-to-voxel prediction network for accurate 3D hand and human pose estimation from a single depth map. In: CVPR (2018)

[^29]: Mueller, F., et al.: Generated hands for real-time 3D hand tracking from monocular RGB. In: CVPR (2018)

[^30]: Oberweger, M., Lepetit, V.: DeepPrior++: improving fast and accurate 3D hand pose estimation. In: ICCV Workshop (2017)

[^31]: Oberweger, M., Wohlhart, P., Lepetit, V.: Hands deep in deep learning for hand pose estimation. In: CVWW (2015)

[^32]: Oberweger, M., Wohlhart, P., Lepetit, V.: Training a feedback loop for hand pose estimation. In: ICCV (2015)

[^33]: Qi, C.R., Su, H., Mo, K., Guibas, L.J.: PointNet: deep learning on point sets for 3D classification and segmentation. In: CVPR (2017)

[^34]: Qi, C.R., Yi, L., Su, H., Guibas, L.J.: PointNet++: deep hierarchical feature learning on point sets in a metric space. In: NIPS (2017)

[^35]: Ramachandran, P., Parmar, N., Vaswani, A., Bello, I., Levskaya, A., Shlens, J.: Stand-alone self-attention in vision models. In: NIPS (2019)

[^36]: Sun, X., Wei, Y., Liang, S., Tang, X., Sun, J.: Cascaded hand pose regression. In: CVPR (2015)

[^37]: Sun, Z., Li, Z., Wang, H., He, D., Lin, Z., Deng, Z.: Fast structured decoding for sequence models. In: NIPS (2019)

[^38]: Sutskever, I., Vinyals, O., Le, Q.V.: Sequence to sequence learning with neural networks. In: NIPS (2014)

[^39]: Tang, D., Jin Chang, H., Tejani, A., Kim, T.K.: Latent regression forest: structured estimation of 3D articulated hand posture. In: CVPR (2014)

[^40]: Tompson, J., Stein, M., Lecun, Y., Perlin, K.: Real-time continuous pose recovery of human hands using convolutional networks. ACM Trans. Graph. (TOG) 33(5), 169 (2014)

[^41]: Vaswani, A., et al.: Attention is all you need. In: NIPS (2017)

## [^42]: Wan, C., Probst, T., Gool, L.V., Yao, A.: Self-supervised 3D hand pose estimation through training by fitting. In: CVPR (2019)

---

[^43]: Wan, C., Probst, T., Van Gool, L., Yao, A.: Crossing nets: dual generative models with a shared latent space for hand pose estimation. In: CVPR (2017)

[^44]: Wan, C., Probst, T., Van Gool, L., Yao, A.: Dense 3D regression for hand pose estimation. In: CVPR (2018)

[^45]: Wang, X., Girshick, R., Gupta, A., He, K.: Non-local neural networks. In: CVPR (2018)

[^46]: Wang, Y., Tian, F., He, D., Qin, T., Zhai, C., Liu, T.Y.: Non-autoregressive machine translation with auxiliary regularization. In: AAAI (2019)

[^47]: Xiong, F., et al.: A2J: anchor-to-joint regression network for 3D articulated pose estimation from a single depth image. In: ICCV (2019)

[^48]: Xu, K., et al.: Show, attend and tell: neural image caption generation with visual attention. In: ICML (2015)

[^49]: Yang, L., Li, S., Lee, D., Yao, A.: Aligning latent spaces for 3D hand pose estimation. In: ICCV (2019)

[^50]: Yuan, S., Ye, Q., Garcia-Hernando, G., Kim, T.K.: The 2017 hands in the million challenge on 3D hand pose estimation. arXiv preprint arXiv:1707.02237 (2017)

[^51]: Yuan, S., Ye, Q., Stenger, B., Jain, S., Kim, T.K.: BigHand2.2M benchmark: hand pose dataset and state of the art analysis. In: CVPR (2017)

[^52]: Zhang, X., Li, Q., Mo, H., Zhang, W., Zheng, W.: End-to-end hand mesh recovery from a monocular RGB image. In: ICCV (2019)

53. Zhou, X., Sun, X., Zhang, W., Liang, S., Wei, Y.: 深度运动学姿态回归。载于：Hua, G., Jégou, H.（编）《ECCV 2016》。LNCS第9915卷，第186–201页。Springer, Cham（2016年）。<https://doi.org/10.1007/978-3-319-49409-8_17>

[^54]: Zhou, X., Wan, Q., Zhang, W., Xue, X., Wei, Y.: Model-based deep hand pose estimation. In: IJCAI (2016)

[^55]: Zhou, Y., Lu, J., Du, K., Lin, X., Sun, Y., Ma, X.: HBE: hand branch ensemble network for real-time 3D hand pose estimation. In: ECCV (2018)

[^56]: Zhu, X., Cheng, D., Zhang, Z., Lin, S., Dai, J.: An empirical study of spatial attention mechanisms in deep networks. In: ICCV (2019)

[^57]: Zimmermann, C., Brox, T.: Learning to estimate 3D hand pose from single RGB images. In: ICCV (2017)
