
# SeqHAND：基于RGB序列的3D手部姿态与形状估计

John Yang $^{1}$、Hyung Jin Chang $^{2}$、Seungeui Lee $^{1}$ 和 Nojun Kwak $^{1*}$

$^{1}$ 首尔大学，韩国首尔 {yjohn,seungeui.lee,nojunk}@snu.ac.kr；$^{2}$ 伯明翰大学，英国伯明翰 <mailto:h.j.chang@bham.ac.uk>

摘要：基于RGB图像的3D手部姿态估计已研究多年。然而，大多数研究都是基于独立的静态图像进行逐帧估计。在本文中，我们不仅考虑手部的外观特征，还将手部运动中的时序运动信息融入学习框架，以提升3D手部姿态估计的性能，这就催生了对包含序列式RGB手部图像的大规模数据集的需求。我们提出了一种新方法，通过将现有的静态手部姿态数据集的标注重新设计为姿态流，从而生成模拟人类自然手部运动的合成数据集。利用该生成的数据集，我们训练了一种新提出的循环神经网络框架，该框架能够利用运动中合成手部图像的时序视觉特征，并通过时序一致性约束来强化估计结果的时序平滑性。我们采用了一种新颖的训练策略：在从合成数据域微调到真实数据域的过程中，将框架中的循环层分离，从而保留从序列式合成手部图像中学到的时序视觉特征。如此得到的逐帧估计手部姿态能够产生自然流畅的手部运动，进而实现更稳健的估计结果。实验表明，在手部姿态估计基准测试中，利用时序信息进行3D手部姿态估计能显著提升通用姿态估计性能，其效果优于现有最先进的方法。

关键词：3D手部姿态估计、姿态流生成、合成数据到真实数据的域差异缩小、合成手部运动数据集、序列式RGB真实手部图像数据集稀缺

## 1 引言

由于手部的动作反映了人们日常行为的大量特征，手部姿态估计对于许多人机交互场景至关重要，例如增强现实（AR）、虚拟现实（VR）[^16]以及需要手势追踪的计算机视觉任务[^8]。传统上，手部姿态估计一直面临着姿态关节变化范围大以及遮挡（包括自身遮挡）的问题。一些最新的3D手部姿态估计器以序列式深度图像帧为输入，试图

---

![Image](images/5d6a2ac0fe3f8155efc83991a65c817e2f3d89d3e711740a876a9c0ec8a3f77b.jpg)

<div style="text-align: center;">Fig. 1: Illustrations of sequential 2D images   Fig. 2: Each frame of sequential hand motion videos is composed of varying poses and moving backgrounds.</div>

通过利用手部运动的时序信息来提升性能[^14] [^22] [^26] [^43]。运动上下文能提供用于缩小搜索空间的时序特征，有助于实现手部个性化建模、增强对遮挡的鲁棒性以及优化估计结果。在本文中，我们专注于仅利用RGB图像序列来进行考虑手部运动的姿态估计，从而更准确地推断3D空间信息。

尽管在单张RGB图像中估计手部姿态是一个不适定问题，但由于各种深度学习网络的发展，其性能正在迅速提升[^3] [^11] [^24]。然而，大多数研究都侧重于精确估计每张图像的3D关节位置，而并未考虑运动趋势。手部姿态变化非常快，在许多情况下，连续姿态所包含的运动信息比瞬时姿态的信息更为丰富。此外，当前姿态会受到之前帧中姿态的显著影响。迄今为止，关于考虑姿态连续变化的估计网络的研究还十分匮乏。传统的基于RGB的深层3D手部姿态估计器[^1] [^3] [^24] [^49]之所以仅提出逐帧姿态估计的框架，主要是因为与静态手部姿态图像数据集不同，目前尚不存在大规模的RGB序列手部图像数据集。手部运动的多样性与真实性，以及对不同肤色、背景和遮挡情况的泛化能力，都是衡量数据集可靠性的关键挑战。

在本文中，我们针对手部姿态与形状估计任务提出了一种新视角，主张在基于RGB图像输入进行更精确的3D手部姿态估计时，不仅要考虑手部外观，还要兼顾其时间运动特性。为了训练能够利用视觉-时间特征来处理连续手部姿态图像的框架，我们需要有足够多具有序列相关性的姿态数据样本。因此，我们提出了一种新的数据集生成方法——SeqHAND数据集，该数据集包含自然手部运动的序列合成RGB图像，是通过对BigHand2.2M数据集中的现有静态手部姿态标注进行重新设计而得[^46]。为了有效测试我们生成的数据集，我们基于其结构的实证有效性，为[^3]框架扩展了循环层。另外，由于业界普遍认为用合成图像训练的模型在真实图像上的表现较差[^24]，我们提出了一种新的训练流程，以保留预—

---

训练好的图像级时间映射关系，从而完成从合成域到真实域的过渡。我们的贡献如下：

– 我们设计了一种用于生成包含真实手部运动的序列RGB图像数据集的新方法，通过提出姿态流生成流程，使3D手部姿态与形状估计器能够学习手部姿态变化的动态特性（见图1）。

– 我们提出了一种带有卷积-LSTM层的新循环框架，能够直接利用图像空间中手部姿态与形状变化所包含的视觉-时间信息，并将其映射到3D空间。

– 我们提出了一种新颖的训练流程，能够在从合成数据到真实数据的领域微调过程中，保留从序列RGB手部图像中提取的时空特征。

我们的方法不仅在标准3D手部姿态估计数据集基准测试中取得了最先进的性能，还能为图像序列生成平滑且类人的3D姿态拟合结果。

据我们所知，我们提出了首个无需外部2D姿态估计器、能直接从序列RGB图像中提取时间信息的基于深度学习的3D手部姿态与形状估计器。

## 2 相关工作

手部姿态估计（HPE）的诸多方法一直受到广泛关注。为了获取手部信息，单手三维姿态估计的研究主要基于深度传感器和/或RGB相机的视觉输入。

基于每帧RGB图像的三维HPE。由于同一三维场景在不同视角下的视图存在相关性，基于多张手部RGB图像进行三维估计的研究也相继展开 [^6] [^12] [^27] [^34] [^37]。多视角相机配置有助于应对遮挡问题、提升分割效果并获得更好的深度感知能力。在 [^34] 的研究中，利用多视角图像间的姿态估计结果进行引导，能够帮助估算器重新训练标注有误的数据样本，进而优化对遮挡情况的处理。一对立体图像在受限环境下也能产生类似效果。通过处理成对立体图像间的视差，能够得出更精准的三维手部姿态估计结果 [^28] [^30] [^32] [^48]。

仅使用单目RGB图像的方案更具挑战性，因为它只能提供手部的二维视觉信息。借助深度学习技术，手部检测已取得成功 [^13] [^19]，近期深度姿态估算器也开始专注于每帧手部三维姿态估计问题 [^51]。为了弥补二维输入所缺乏的三维空间信息，需要借助约束与引导来推断三维手部姿态 [^29]。最近，[^1]、[^3] 和 [^49] 的研究采用了MANO手部模型 [^31]，在仅使用RGB图像的场景下取得了显著的性能提升。

三维HPE中的时序信息。考虑到深度图的时序特征，手部姿态深度图像的序列数据 [^25] [^26] [^46] [^48] 已被用于训练手部姿态估算器。手部姿态变化的时序特征被用于通过模型的循环结构编码手部姿态的时序变化 [^14] [^43]，建模手部形状空间 [^17]，以及优化当前的估算结果 [^22] [^26]。对于连续的单目RGB-D输入，Taylor等人 [^41] 优化了手部表面形状模型，更新相应三维手部几何模型上的细分曲面。时序特征

---

目前尚未有针对以彩色图像为输入的深度学习三维手部姿态估算器开展时序特征利用方面的研究，因为文献中尚缺乏大规模序列化的RGB手部姿态数据集。我们与 [^5] 的研究有着相同的出发点，但我们认为，即便没有二维姿态估计结果的辅助，序列化的RGB图像也能提供充足的时序信息与空间约束，从而实现对遮挡具有更强鲁棒性的三维手部姿态推断。

合成手部数据生成。由于RGB图像中包含背景噪声以及手部的颜色多样性，这些都会干扰姿态估计，因此从手部模型生成合成RGB数据样本，以增强模型的鲁棒性 [^3] [^4] [^11] [^25]。在 [^35] [^45] 中，跨模态数据被嵌入到潜在空间中，这使得能够对由（解耦的）潜在因子遍历所生成的未标记样本进行3D姿态标注。Mueller等人 [^24] 曾应用cycleGAN [^50] 来让生成的合成样本具有更真实的外观，从而缩小合成数据与真实数据之间的域差距。尽管近期已有研究试图通过生成手部图像来解决可靠RGB数据集匮乏的问题 [^3] [^4] [^24] [^35] [^51]，但大多数研究仍聚焦于生成处于静止状态的手部真实外观。为了精准模拟人类对手部姿态的感知，基于RGB的手部姿态估计器必须能够理解时空中的姿态变化动态。我们进一步认为，包含真实动作的合成手部姿态数据集能为姿态估计提供与外观信息同等重要的有效信息。

## 3 SeqHAND数据集

### 3.1 preliminaries：MANO手部模型

MANO手部模型 [^31]是一种网格变形模型，它接收两个低维参数 $\theta$ 和 $\beta$ 作为输入，分别用于控制输出的3D手部网格的姿态和形状。给定均值模板 $\bar{T}$ 后，刚性手部网格可定义为：

 $$ M(\theta,\beta)=W(T(\theta,\beta,\bar{T}),J(\beta),\theta,\omega) $$

其中 $T(\cdot)$ 根据预定义的变形准则，结合姿态和形状来定义网格模型的整体形状，而 $J(\cdot)$ 则利用运动树计算出3D关节位置。$W(\cdot)$ 代表线性混合蒙皮函数，它与混合权重 $\omega$ 一同应用。MANO模型最多可容纳45维的姿态参数 $\theta$ 和10维的形状参数 $\beta$，不过原始的MANO框架为了提升计算效率，对 $\theta$ 采用了6维的主成分分析子空间。

MANO手部的2D投影：关节位置 $J(\beta)$ 可根据姿态 $\theta$（记为 $R_{\theta}$）进行全局旋转，从而得到手部姿势P及其对应的21个关节的3D坐标：

 $$ P=J(\theta,\beta)=R_{\theta}(J(\beta)). $$

在MANO模型计算出网格顶点 $M(\theta, \beta)$ 和关节 $J(\theta, \beta)$ 的3D估计值后，在 [^3] 中，这些3D估计值会通过弱透视相机模型投影到2D图像平面上，进而得到2D估计结果，该过程涉及给定的旋转矩阵 $R \in SO(3)$、平移量 $t \in \mathbb{R}^2$ 以及缩放因子 $s \in \mathbb{R}^+$：

 $$ M_{2D}=s\boldsymbol{\varPi}R M(\boldsymbol{\theta},\boldsymbol{\beta})+t $$

 $$ J_{2D}=s\boldsymbol{\Pi}R\boldsymbol{J}(\boldsymbol{\theta},\boldsymbol{\beta})+t $$

---

![Image](images/cfa0cf63a744826b738b7c7e7620abe56210e14330dd31a704736801f8a6a3c8.jpg)

![Image](images/8e2794ce618fb247e5d100f2942a0a9d2b051c61f231a2c028a46eb7ae3cd75d.jpg)

<div style="text-align: center;">Fig. 3: 3D t-SNE visualization of 10,000 of BH data samples randomly selected. BH dataset completes a pose space that covers previously reported datasets, having a dense pool of related neighboring poses.</div>

<div style="text-align: center;">Fig. 4: An illustration of the pose-flow generation procedure. All poses per pose-flow are selected from the annotations of BH dataset. At each frame, a current pose is updated by the difference between the previous pose and the final pose. The pose nearest to the updated pose is then selected for the frame.</div>

其中 $\mathit{II}$ 表示正交投影。手部网格 $M(\theta,\beta)$ 由 $1,538$ 个网格面组成，由778个顶点的3D坐标定义；关节位置 $J(\theta,\beta)$ 则由21个关节的3D坐标表示。$M_{2D}$ 和 $J_{2D}$ 的投影后2D坐标会对应到图像坐标中的2D位置。我们在合成手部动作数据生成以及所提出的姿态与形状估计器中均使用了MANO手部模型。

### 3.2 SeqHAND数据集的生成

尽管时间特征在3D手部姿态估计任务中展现出了良好的应用潜力[^5] [^26] [^41]，但近年来基于RGB的3D手部姿态估计领域一直缺乏大规模的RGB序列手部图像数据集。在本节中，我们介绍了一种生成合成手部序列RGB帧的新方法，用于模拟手部运动。

为了生成具有类人手部运动的序列RGB图像数据，从初始姿态到最终姿态的变化过程中所有姿态都必须自然逼真。因此，我们利用BigHand2.2M（BH）数据集[^46]来生成序列手部运动图像数据集。该数据集包含220万个带有关节位置3D标注的深度图，这些标注源自10名受试者2小时的手部运动数据。借助BH数据集生成的样本，有望继承其广阔的真实人类手部活动空间以及真实手部姿势的运动学特性。图3中利用t-SNE[^21]对BH样本进行的3D映射结果显示了姿态样本的密集程度。与现有数据集相比，BH数据集不仅覆盖更完整的姿态变化范围，其密度也足以支持各类姿态的生成。

姿态流生成：手部运动可以定义为一段时间内从一个姿态到另一个姿态的连续变化过程。我们首先定义“姿态流”，即这种变化过程中每个时间步对应的姿态集合。通过将逐渐变化的姿态按序排列……

---

我们提出了一种新的姿态流生成方法。在每次姿态流生成过程中，初始姿态和最终姿态$P_{initial}$和$P_{final}$会分别从BH数据集中独立随机选取。在n帧内从初始姿态过渡到最终姿态时，关节坐标会通过当前坐标与最终姿态坐标之差的$\alpha/n$来进行更新。$^3$更新步长$\alpha$是根据期望的姿态变化速度经经验确定的。随后，会从BH数据集中选取与更新后的姿态在欧几里得距离上最接近的姿态$P_i^{BH}$，作为第k帧的当前姿态：

 $$ P_{0}=P_{initial}^{BH} $$

 $$ P_{u p d a t e d}=P_{k-1}-\frac{\alpha}{n}(P_{k-1}-P_{f i n a l}^{B H}) $$

 $$ P_{k}=P_{i}^{B H}\quad\mathrm{s.t.}\quad\min_{i}||P_{u p d a t e d}-P_{i}^{B H}||. $$

姿态流生成的整体流程如图4所示。中间姿态（$P_{updated}$）是通过随机更新计算得出的。这种随机性有助于避免姿态梯度的严格更新，从而促使姿态在姿态空间中更灵活地变化。再次从BH标注中选取姿态，能够确保变化过程中的手部姿态具有真实性。

为了生成姿态对应的RGB图像，我们训练了一个包含四层MLP的编码器。该编码器以所有BH关节标注中21个关节的3D坐标作为输入，输出MANO手模型相应的姿态参数$\theta$，这一训练过程基于输入与手模型输出之间的重建损失。在训练期间，MANO手模型并不参与训练。对于某一帧中的某个姿态，我们将对应的21个关节位置坐标输入编码器，从而获取处于目标姿态的手部网格模型。随后，渲染出的网格模型会被重新投影到图像平面上。正如[^3]中所述，我们为网格中的每个顶点赋予预定义的手部颜色模板所对应的RGB值，以此生成手部的外观。采样得到的手部形状参数$\beta \in [-2, 2]^{10}$以及选定的颜色模板在每一帧流中均保持不变。相机参数中的旋转R、缩放s和平移t因子会分别为起始姿态和结束姿态独立采样，并且像姿态一样在每一帧中更新。所有帧的尺寸均为w×h。图1展示了我们所生成的姿态流示意图。

为了进一步模拟野外手部动作的图像，我们从 VOC2012 数据 [^9] 中采样两个（起始和结束）大小为 w 和 h 的随机块，并在帧序列中移动背景块的位置。如表 1 所示，生成的 SeqHAND 数据集不仅提供了 $3^{rd}$-人称和第一人称视角下的手部姿态图像，还提供了手部姿态的连续 RGB 图像，这些图像首次使得对数据需求量大的神经网络能够直接从 RGB 输入中利用视觉-时间特征。 $^{4}$

## 4 用于视觉时序特征提取的SeqHand-Net

---

<div style="text-align: center;">Table 1: Among the contemporary 3D hand pose datasets, SeqHAND dataset is the first dataset for 3D hand pose estimations that provides sequential RGB hand image frames along with stable annotations in both  $3^{rd}$-person and egocentric perspectives.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Datasets</td><td style='text-align: center; word-wrap: break-word;'>RGB/Depth</td><td style='text-align: center; word-wrap: break-word;'>Real/Synth</td><td style='text-align: center; word-wrap: break-word;'>Static/Sequential</td><td style='text-align: center; word-wrap: break-word;'>$3^{rd}/Ego$ view</td><td style='text-align: center; word-wrap: break-word;'># of frames</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SynthHands [^25]</td><td style='text-align: center; word-wrap: break-word;'>RGB+Depth</td><td style='text-align: center; word-wrap: break-word;'>Synth</td><td style='text-align: center; word-wrap: break-word;'>Static</td><td style='text-align: center; word-wrap: break-word;'>Ego</td><td style='text-align: center; word-wrap: break-word;'>63k</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RHD [^51]</td><td style='text-align: center; word-wrap: break-word;'>RGB+Depth</td><td style='text-align: center; word-wrap: break-word;'>Synth</td><td style='text-align: center; word-wrap: break-word;'>Static</td><td style='text-align: center; word-wrap: break-word;'>$3^{rd}$</td><td style='text-align: center; word-wrap: break-word;'>43.7k</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>NYU [^42]</td><td style='text-align: center; word-wrap: break-word;'>Depth</td><td style='text-align: center; word-wrap: break-word;'>Real</td><td style='text-align: center; word-wrap: break-word;'>Sequential</td><td style='text-align: center; word-wrap: break-word;'>$3^{rd}$</td><td style='text-align: center; word-wrap: break-word;'>80k</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ICVL [^40]</td><td style='text-align: center; word-wrap: break-word;'>Depth</td><td style='text-align: center; word-wrap: break-word;'>Real</td><td style='text-align: center; word-wrap: break-word;'>Sequential</td><td style='text-align: center; word-wrap: break-word;'>$3^{rd}$</td><td style='text-align: center; word-wrap: break-word;'>332.5k</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FHAD [^10]</td><td style='text-align: center; word-wrap: break-word;'>Depth</td><td style='text-align: center; word-wrap: break-word;'>Real</td><td style='text-align: center; word-wrap: break-word;'>Sequential</td><td style='text-align: center; word-wrap: break-word;'>Ego</td><td style='text-align: center; word-wrap: break-word;'>100k</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MSRA15 [^38]</td><td style='text-align: center; word-wrap: break-word;'>Depth</td><td style='text-align: center; word-wrap: break-word;'>Real</td><td style='text-align: center; word-wrap: break-word;'>Sequential</td><td style='text-align: center; word-wrap: break-word;'>$3^{rd}$</td><td style='text-align: center; word-wrap: break-word;'>76,375</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MSRC [^33]</td><td style='text-align: center; word-wrap: break-word;'>Depth</td><td style='text-align: center; word-wrap: break-word;'>Synth</td><td style='text-align: center; word-wrap: break-word;'>Sequential</td><td style='text-align: center; word-wrap: break-word;'>$3^{rd}+Ego$</td><td style='text-align: center; word-wrap: break-word;'>100k</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SynHand5M [^23]</td><td style='text-align: center; word-wrap: break-word;'>Depth</td><td style='text-align: center; word-wrap: break-word;'>Synth</td><td style='text-align: center; word-wrap: break-word;'>Sequential</td><td style='text-align: center; word-wrap: break-word;'>$3^{rd}$</td><td style='text-align: center; word-wrap: break-word;'>5M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>GANerated [^24]</td><td style='text-align: center; word-wrap: break-word;'>RGB</td><td style='text-align: center; word-wrap: break-word;'>Synth</td><td style='text-align: center; word-wrap: break-word;'>Static</td><td style='text-align: center; word-wrap: break-word;'>Ego</td><td style='text-align: center; word-wrap: break-word;'>330k</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SeqHAND</td><td style='text-align: center; word-wrap: break-word;'>RGB</td><td style='text-align: center; word-wrap: break-word;'>Synth</td><td style='text-align: center; word-wrap: break-word;'>Sequential</td><td style='text-align: center; word-wrap: break-word;'>$3^{rd}+Ego$</td><td style='text-align: center; word-wrap: break-word;'>410k</td></tr></table>

借助SeqHAND数据集，我们能够克服序列RGB数据集稀缺的问题，这类问题曾限制传统的基于RGB的3D手部姿态估计方法利用时序图像特征。受[^3]的启发，我们设计了序列手部姿态与形状估计网络（SeqHAND-Net）。在[^3]所提出的编码器网络基础上，我们加入了卷积LSTM（ConvLSTM）层[^44]，用以捕捉连续手部姿态间的时序关系。我们的方法不将额外的手部2D关节位置作为输入，而是完全基于连续输入的RGB图像来进行3D手部姿态估计，从而摆脱对外部2D姿态估计器的依赖。在本节中，我们还提出了从合成数据到真实数据的域适应训练流程：利用真实的手部图像来调整低层特征，同时保留手部运动的高层视觉时序特征。

从每一帧中裁剪出的手部图像会被输入到SeqHAND-Net中，如图5所示。我们研究的问题在于：如何针对估计器未曾见过的流式裁剪帧，更精准地估计手部姿态。SeqHAND-Net的编码器采用ResNet-50 [^13]作为骨干结构，它接收包含k帧的序列输入，并为每一帧生成一个26维的输出向量。在最后一层之前会加入一个ConvLSTM层，用作循环视觉特征提取器，从而将手部运动的动态信息嵌入到最高层的潜在空间中。由于在对真实手部图像进行微调时ConvLSTM层的参数固定，因此低级视觉特征会发生改变，所以在高层空间中学习手部运动的序列动态就显得尤为重要。循环层之后设置了一个简单的线性映射层，用于将隐藏特征映射到输出向量。编码器生成的向量包含了姿态 $\theta \in \mathbb{R}^{10}$、形状 $\beta \in \mathbb{R}^{10}$、尺度 $s \in \mathbb{R}^{+}$、平移 $t \in \mathbb{R}^{2}$ 以及旋转 $r \in \mathbb{R}^{3}$ 等参数，这些参数会通过罗德里格旋转公式根据方程(3)和(4)转化为矩阵 $R \in SO(3)$。

保留时序特征的合成数据到真实数据域迁移：如前所述，近期许多研究利用合成手部图像进行预训练，再微调到真实数据域，以解决真实手部图像稀缺的问题。虽然微调到真实数据域能加快训练收敛速度，但使用较小数据集继续训练不仅容易导致过拟合，还可能引发灾难性遗忘 [^18]。为了保留从合成手部运动中学到的视觉-时序特征，

---

![Image](images/24692a09b5accfc91c2bb3bd19ef2960bdd702f07396e45bae920fbc4855c684.jpg)

<div style="text-align: center;">Fig. 5: Illustration of our proposed training strategy for preservation of temporal features learned from SeqHAND dataset during domain adaptation from synthetic to real. The structure of SeqHAND-Net is created by extending a pose and shape estimator from [^3] with an extra visuo-temporal feature exploitation layer from sequential RGB image inputs. During finetuning to the real domain, SeqHAND-Net considers each static real data sample as one-frame-long sequence. The high-level temporal features of SeqHAND-Net are preserved while low-level image feature encoding layers are finetuned.</div>

在SeqHAND数据集上，我们进行域迁移以适配真实手部图像时，会排除SeqHAND-Net中的ConvLSTM层，从而让网络仅微调低级图像特征。只有图5中的“编码器”和“多层感知机”层会用真实的静态手部图像数据集（如FreiHand [^52]）进行微调。因此，在域迁移到真实数据域的过程中，SeqHAND-Net会将每个图像样本视为一帧长的序列式真实手部图像来进行训练。

训练目标：以下是用于训练我们所提出的框架的标准类型，这些标准旨在考虑视觉-时序特征并强调估计结果的时间平滑性：

– 2D关节回归损失。重新投影后的2D关节损失表示为：

 $$ L_{2D}^{J}=\|J_{2D}-x_{2D}^{J}\|_{1}, $$

其中 $x_{2D}$ 表示帧内图像中手部关节的真实2D位置。由于训练数据集中的标注存在不准确性，我们采用了L1损失。

- 3D关节回归损失。通过以下损失函数使真实关节位置与预测位置趋于一致：

  $$ L_{3D}^{J}=||R J(\theta,\beta)-x_{3D}^{J}||_{2}^{2}, $$

其中 $x_{3D}^{J}$ 表示真实的3D关节坐标。如果训练数据集提供了3D顶点坐标的真实值（如FreiHand数据集），则

---

每个顶点的预测3D坐标与真实坐标之间的差异会像3D关节损失一样被最小化，具体基于以下损失函数：

 $$ L_{3D}^{M}=||R M(\theta,\beta)-x_{3D}^{M}||_{2}^{2} $$

其中 $x_{3D}^{M}$ 表示真实的3D网格顶点坐标。

- 手部掩码拟合损失。手部掩码损失在 [^3] 中被提出，用于使形状和姿态预测结果与图像平面上的手部二值掩码相匹配。该损失确保当网格顶点坐标被重新投影后，其预测坐标位于手部区域内：

  $$ L_{m a s k}=1-\frac{1}{N}\sum_{i}H(M_{2D}^{i}),\quad H(x)=\begin{cases}1,&\text{if}x\text{inside a hand region.}\\ 0,&\text{otherwise.}\end{cases} $$

其中，H是一个手部掩码指示函数，用于判断顶点x是否位于手部区域内。该损失值代表了位于该区域之外的顶点所占的百分比。

- 时间一致性损失。在SeqHAND数据集上的预训练过程中，我们的方法需要受到时间一致性的约束，以确保姿态和形状预测结果的平滑性。与[^5]类似，我们采用了时间一致性损失来保证姿态随时间变化时的平滑性：

  $$ \begin{array}{r}{L_{t e m p}=||\beta_{t-1}-\beta_{t}||_{2}^{2}+\lambda_{t e m p}^{\theta}||\theta_{t-1}-\theta_{t}||_{2}^{2}.}\end{array} $$

考虑到序列中所有帧中的手都是同一只手，我们将约束超参数$\lambda_{temp}^{\theta}$设定为一个较小的值0.01，从而让每个图像序列数据中手部形状的时间变化幅度较小，而姿态变化的约束相对宽松，但仍能保证时间上的平滑性。通过在当前估计结果与先前结果之间施加惩罚，这种损失能够缩小搜索空间，实现连贯自然的3D手部运动估计，同时还能实现手部形状的个性化。

– 相机参数回归损失。在使用SeqHAND数据集进行训练时，由于姿态、形状和视角参数的所有真实值$\{\theta, \beta, r, t, s\}$均已知，我们的模型会通过预测值与真实值之间的L2范数损失来进行训练。

 $$ L_{c a m}=\sum_{i\in\{\theta,\beta,r,t,s\}}||\hat{i}-i||_{2}^{2} $$

其中，$\hat{i}$和i分别指代姿态、形状和视角的预测参数与真实参数。

SeqHAND数据集的训练损失。针对序列式合成手部运动图像数据集的预训练准则，是重投影2D关节损失$L_{2D}$、3D关节损失$L_{3D}$、时间一致性损失$L_{temp}$、相机参数损失$L_{cam}$以及掩码拟合损失$L_{mask}$的组合：

 $$ L=\lambda_{2D}L_{2D}+\lambda_{3D}L_{3D}+\lambda_{temp}L_{temp}+\lambda_{cam}L_{cam}+\lambda_{mask}L_{mask}. $$

---

面向真实场景的域迁移训练损失。我们利用Stereo Benchmark数据集[^48]和FreiHand数据集[^52]，将已训练好的网络迁移到真实场景中。这两个数据集的标注方式有所不同：STB数据集仅标注了2D和3D关节位置，而FreiHand数据集则提供了手部掩码以及2D和3D真实值。因此，适应真实手部图像的损失是重投影2D关节损失$L_{2D}$、3D关节损失$L_{3D}$、手部掩码损失$L_{mask}$以及时间损失$L_{temp}$的组合：

 $$ L=\lambda_{2D}L_{2D}+\lambda_{3D}L_{3D}+\lambda_{t e m p}L_{t e m p}+\lambda_{m a s k}L_{m a s k}. $$

无论是使用SeqHAND数据集进行预训练，还是适配真实手部图像，我们都将权重设置为$\lambda_{2D} = 5, \lambda_{3D} = 100, \lambda_{temp} = 100$、$\lambda_{temp}^{\theta} = 2e^{-4}, \lambda_{cam} = 1$和$\lambda_{mask} = 10$。

## 5 实验

训练所用数据集。为了对序列式RGB手部运动帧进行视觉-时间特征编码，我们使用自研的SeqHAND数据集对SeqHAND-Net进行预训练。我们生成了40,000个SeqHAND序列训练样本和1,000个测试样本，每个样本包含10帧图像。所有图像的尺寸均为$224 \times 224$，以匹配ResNet-50的输入尺寸。SeqHAND数据集的样本示例见图1和图2。

为了微调SeqHAND-Net以减少合成数据与真实数据之间的域差异，我们使用了STB（立体手姿跟踪基准测试）[^48]和FR（FreiHand）[^52]数据集。STB数据集包含18,000帧以连续方式采集的真实手部图像，这些图像具有6种不同的光照条件和背景。每帧图像都标注了21个关节的2D和3D信息。由于STB数据集标注的是手掌中心的关节位置而非手腕位置，我们对手部模型MANO的相关网格顶点进行了插值处理，以匹配STB数据集的标注。该数据集按照[^3]中的划分方式分为训练集和测试集，其中测试集仅用于评估。

FR数据集包含130,240个样本，由32,560张非连续拍摄的真实手部图像组成，这些图像具有四种不同的背景。由于该数据集中的手部图像是以居中方式呈现的，我们通过对每张图像中的手部进行随机重新定位来处理样本，从而获得更稳健的训练结果。FR数据集提供了与MANO模型兼容的21个关节的3D/2D位置标注，以及778个顶点的2D/3D真实坐标和手部掩码信息。

我们使用上述真实手部图像数据集，以非连续的方式对在SeqHAND数据集上预训练的SeqHAND-Net进行微调，同时保留手部运动的动态特征，避免对其进行进一步学习。

评估用数据集。为了选择合理的框架结构，我们在SeqHAND数据集的验证集上评估了各种考虑时序特征的框架。为了与其他最先进的方法进行比较，我们选取了STB、EgoDexter(ED) [^25]以及Dexter+Obeject(DO) [^36]的标准手部姿态估计数据集的测试集，这些数据集存在时序关系，因为我们的网络需要序列化的RGB输入才能进行公平比较。STB和DO数据集包含来自$3^{rd}$个不同人的真实手部图像，而ED数据集的样本则采用以自我为中心的视角。对于所有数据集，我们的方法会在输入序列的每一帧上进行评估。

---

<div style="text-align: center;">Table 2: Ablation study results of various structures of the framework proposed in [^3] for sequential inputs. Candidate structures are trained with the generated SeqHAND dataset and evaluated on a separate validation set. Candidate methods include the baseline model, a 3D Convolutional Network (I3D-Encoder), a 3D convolutional network encoder with motion feature extractions (MFNet-Encoder), baseline with an LSTM layer (Encoder+LSTM), and baseline with a ConvLSTM layer (Encoder+ConvLSTM).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Frameworks</td><td colspan="2">AUC</td><td colspan="2">Error (px/mm)</td><td rowspan="2"># params</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2D</td><td style='text-align: center; word-wrap: break-word;'>3D</td><td style='text-align: center; word-wrap: break-word;'>2D</td><td style='text-align: center; word-wrap: break-word;'>3D</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResNet50-Encoder (baseline) [^3]</td><td style='text-align: center; word-wrap: break-word;'>0.855</td><td style='text-align: center; word-wrap: break-word;'>0.979</td><td style='text-align: center; word-wrap: break-word;'>3.44</td><td style='text-align: center; word-wrap: break-word;'>7.85</td><td style='text-align: center; word-wrap: break-word;'>28.8M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResNet101-Encoder [^3]</td><td style='text-align: center; word-wrap: break-word;'>0.861</td><td style='text-align: center; word-wrap: break-word;'>0.981</td><td style='text-align: center; word-wrap: break-word;'>3.31</td><td style='text-align: center; word-wrap: break-word;'>7.54</td><td style='text-align: center; word-wrap: break-word;'>47.8M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>I3D-Encoder [^7]</td><td style='text-align: center; word-wrap: break-word;'>0.831</td><td style='text-align: center; word-wrap: break-word;'>0.967</td><td style='text-align: center; word-wrap: break-word;'>4.19</td><td style='text-align: center; word-wrap: break-word;'>9.24</td><td style='text-align: center; word-wrap: break-word;'>31.5M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MFNet-Encoder [^20]</td><td style='text-align: center; word-wrap: break-word;'>0.818</td><td style='text-align: center; word-wrap: break-word;'>0.912</td><td style='text-align: center; word-wrap: break-word;'>5.48</td><td style='text-align: center; word-wrap: break-word;'>10.54</td><td style='text-align: center; word-wrap: break-word;'>41.7M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResNet50-Encoder+LSTM</td><td style='text-align: center; word-wrap: break-word;'>0.826</td><td style='text-align: center; word-wrap: break-word;'>0.956</td><td style='text-align: center; word-wrap: break-word;'>4.64</td><td style='text-align: center; word-wrap: break-word;'>9.63</td><td style='text-align: center; word-wrap: break-word;'>39.3M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResNet50-Encoder+ConvLSTM</td><td style='text-align: center; word-wrap: break-word;'>0.873</td><td style='text-align: center; word-wrap: break-word;'>0.986</td><td style='text-align: center; word-wrap: break-word;'>3.17</td><td style='text-align: center; word-wrap: break-word;'>7.18</td><td style='text-align: center; word-wrap: break-word;'>43.2M</td></tr></table>

评估指标。在评估结果中，我们测量3D关节位置的正确关键点百分比（3D-PCK），以及不同阈值下的曲线下面积（AUC）。此外，我们还给出了所有2D/3D关节关键点的平均欧几里得距离误差，以便进行更直观的绝对比较。

手部定位。在所有实验中，我们都使用了基于MobileNet+SSD的手部检测实现[^19]，该模型使用手部分割数据集[^2]进行训练，从而为SeqHAND-Net提供序列化的裁剪手部图像。对于边界框较紧的定位手部图像，我们选择较长的边缘作为长度l，并基于边界框的中心点进行裁剪，以使裁剪后的图像具有正方形比例，其宽度和高度均为$2.2 \times l$，这一处理方式与[^3]中的做法一致。

### 5.1 消融实验

框架选择：为了阐明所选框架的逻辑依据，我们基于新构建的SeqHAND数据集，对表2中所列的各种扩展基线模型[^3]进行了评估，以处理序列输入问题。基线编码器（ResNet-50）的扩展版本包括：带有LSTM层的基线模型[^39]、带有ConvLSTM层的基线模型[^44]、采用I3D结构的基线编码器[^7]以及采用MF-Net结构的基线编码器[^20]。I3D编码器和MFNet编码器均属于将序列输入与三维卷积神经网络相结合的方法。对于I3D编码器，我们对其原始结构中的部分特性做了调整，以便其更适配手部姿态估计任务；原本采用Inception模块的I3D骨干网络被替换为ResNet-50，以保证对比的公平性。MFNet是另一种专为运动特征提取而设计的三维卷积网络。在各类候选模型中，以ResNet-50为骨干、搭配ConvLSTM层的编码器表现最为出色。

SeqHAND-Net与SeqHAND数据集的有效性：为了验证所提框架及所构建数据集的有效性，我们对所提方法的不同变体以及基线模型展开了研究。我们报告了3D PCK曲线的AUC值，以及ED、DO和STB测试集上的平均3D关节位置误差。

---

<div style="text-align: center;">Table 3: Performances of differently (partially) trained models on ED, DO, STB datasets.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Methods</td><td colspan="3">AUC</td><td colspan="3">Avg. 3D Error (mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ED</td><td style='text-align: center; word-wrap: break-word;'>DO</td><td style='text-align: center; word-wrap: break-word;'>STB</td><td style='text-align: center; word-wrap: break-word;'>ED</td><td style='text-align: center; word-wrap: break-word;'>DO</td><td style='text-align: center; word-wrap: break-word;'>STB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Encoder + Train(SynthHAND)</td><td style='text-align: center; word-wrap: break-word;'>0.350</td><td style='text-align: center; word-wrap: break-word;'>0.095</td><td style='text-align: center; word-wrap: break-word;'>0.140</td><td style='text-align: center; word-wrap: break-word;'>52.11</td><td style='text-align: center; word-wrap: break-word;'>100.84</td><td style='text-align: center; word-wrap: break-word;'>68.86</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Encoder + Train(SynthHAND) + Train(FH + STB)</td><td style='text-align: center; word-wrap: break-word;'>0.397</td><td style='text-align: center; word-wrap: break-word;'>0.516</td><td style='text-align: center; word-wrap: break-word;'>0.985</td><td style='text-align: center; word-wrap: break-word;'>49.18</td><td style='text-align: center; word-wrap: break-word;'>33.12</td><td style='text-align: center; word-wrap: break-word;'>9.80</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Encoder + ConvLSTM + Train(SeqHAND)</td><td style='text-align: center; word-wrap: break-word;'>0.373</td><td style='text-align: center; word-wrap: break-word;'>0.151</td><td style='text-align: center; word-wrap: break-word;'>0.121</td><td style='text-align: center; word-wrap: break-word;'>52.18</td><td style='text-align: center; word-wrap: break-word;'>81.51</td><td style='text-align: center; word-wrap: break-word;'>71.10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Encoder + ConvLSTM + Train(SeqHAND) + Train(FH + STB)</td><td style='text-align: center; word-wrap: break-word;'>0.444</td><td style='text-align: center; word-wrap: break-word;'>0.581</td><td style='text-align: center; word-wrap: break-word;'>0.981</td><td style='text-align: center; word-wrap: break-word;'>40.94</td><td style='text-align: center; word-wrap: break-word;'>29.41</td><td style='text-align: center; word-wrap: break-word;'>9.82</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Encoder + ConvLSTM + Train(SeqHAND) + Train_C(FH + STB)</td><td style='text-align: center; word-wrap: break-word;'>0.766</td><td style='text-align: center; word-wrap: break-word;'>0.843</td><td style='text-align: center; word-wrap: break-word;'>0.978</td><td style='text-align: center; word-wrap: break-word;'>17.16</td><td style='text-align: center; word-wrap: break-word;'>18.12</td><td style='text-align: center; word-wrap: break-word;'>9.87</td></tr></table>

<div style="text-align: center;">Table 4: Average 3D joint distance (mm) to ground-truth for RGB Sequence datasets hand pose benchmarks.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2"></td><td colspan="3">Avg. 3D Error (mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ED</td><td style='text-align: center; word-wrap: break-word;'>DO</td><td style='text-align: center; word-wrap: break-word;'>STB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Our Method</td><td style='text-align: center; word-wrap: break-word;'>17.16</td><td style='text-align: center; word-wrap: break-word;'>18.12</td><td style='text-align: center; word-wrap: break-word;'>9.87</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Bouk. et al. (RGB)</td><td style='text-align: center; word-wrap: break-word;'>51.87</td><td style='text-align: center; word-wrap: break-word;'>33.16</td><td style='text-align: center; word-wrap: break-word;'>9.76</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Bouk. et al. (Best)</td><td style='text-align: center; word-wrap: break-word;'>45.33</td><td style='text-align: center; word-wrap: break-word;'>25.53</td><td style='text-align: center; word-wrap: break-word;'>9.76</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Spurr et al.</td><td style='text-align: center; word-wrap: break-word;'>56.92</td><td style='text-align: center; word-wrap: break-word;'>40.20</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Zimmer. et al.</td><td style='text-align: center; word-wrap: break-word;'>52.77</td><td style='text-align: center; word-wrap: break-word;'>34.75</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr></table>

![Image](images/7a8720278ed46a1773e6d2e339f936c0d2f96c4f11932af3a951ee5590d4064a.jpg)

<div style="text-align: center;">Fig. 6: 3D PCK for ED</div>

![Image](images/cf52db3714595c66500217375ec0eed78ffb0536ddbf09b3de9b721774ef337f.jpg)

<div style="text-align: center;">Fig. 7: 3D PCK for DO</div>

![Image](images/35e4696c700702bac5a4556578766133f89859095399255e9a377fdc7c46a103.jpg)

<div style="text-align: center;">Fig. 8: 3D PCK for STB</div>

如表3所示，“Encoder”指代以ResNet50为骨干的基线模型，而“Encoder + ConvLSTM”则代表我们提出的SeqHAND-Net框架。“Train(SynthHAND)”和“Train(SeqHAND)”分别表示分别利用非序列方式和序列方式下的合成手部图像数据集训练模型。“Train(FH + STB)”和“Train_C(FH + STB)”指的是在合成数据到真实数据的域迁移过程中，分别附加和不附加ConvLSTM层进行训练，且后者在合理的计算成本下即可完成微调。

表3展示了使用SeqHAND数据集及我们所提出的域适应策略所能带来的性能提升。经过真实域微调、带有ConvLSTM层的编码器，其性能与未考虑视觉-时间相关性的编码器相近。若微调过程中不附加ConvLSTM层，且保留已学习的视觉-时间特征，性能便会显著提升。此外，除自遮挡情况外，SeqHAND数据集中并不包含任何遮挡手部样本；通过FH数据集的训练，我们的方法能够学习到不仅针对真实手部、也针对遮挡真实手部的视觉特征，因为FH数据集的增强样本中包含了遮挡情况。由于时序约束会惩罚连续估计结果间的较大差异，因此对于STB数据集而言，逐帧估计的效果略好一些。

---

该数据集不仅包含真实手部的视觉特征，还包括被遮挡的真实手部特征，因为FH数据集的增强样本中包含遮挡情况。由于时序约束会惩罚连续估计结果间的较大差异，因此对于STB数据集而言，逐帧估计的效果略好一些。

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

![Image](images/a0c076926e6a29b9a5ad7fb8110f8463c125818a32b145142f5ff6a79f8936d7.jpg)

![Image](images/cd72a1ab218a5272a538cc6206491084982e9d0196db27c9fd7fa60075f6ce68.jpg)

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

![Image](images/df1effa8e612f138647bfae5ff6c283ba2f0bda673e6bb94e831125833d02b39.jpg)

![Image](images/99bb3d9361c917fb4a14c6606ddd6272967a500e54ec2a9bf4942ab0acbc042e.jpg)

<div style="text-align: center;">Fig. 9: Qualitative Results of SeqHAND-Net.</div>

---

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

在图6、图7和图8中，我们针对STB、ED和DO数据集绘制了不同阈值下的3D-PCK图表。对于STB数据集，我们对比了基于深度学习的[^3]、[^4]、[^15]、[^24]、[^35]、[^51]的研究成果，以及来自[^29]、[^47]的方法。许多先前的方法在STB数据集上已接近最佳性能。通过引入时间约束并在微调阶段固定ConvLSTM层，我们的方法取得了具有竞争力的性能。对于ED和DO数据集，我们的方法明显优于其他方法。在ED数据集中，我们将[^3]、[^15]、[^35]、[^51]的近期研究成果与我们的方法进行对比。Boukhayma等人[^3]的研究在输入RGB图像及外部2D姿态估计器提供的2D姿态信息时达到了最佳性能。对于存在严重遮挡情况的DO数据集，我们的方法相较于其他对比方法[^3]、[^15]、[^24]、[^35]、[^51]表现卓越，这表明姿态流连续性的学习能够增强对遮挡的鲁棒性。利用序列RGB图像中的时间信息，使我们的模型对动态移动场景具备更强的鲁棒性。为了进行更直观的对比，我们在表4中给出了关节位置的平均3D误差。

我们在图9中提供了定性结果，以便与逐帧3D姿态估计器进行视觉对比，该估计器是我们复现的[^3]相关工作。图中所有图像均从左到右依次输入到这两种估计器中。在图9(a)中，逐帧估计得出的各帧姿态会导致序列中3D手部姿势发生不自然的变化，而我们方法所生成的、受前几帧影响的倾斜轨迹则能呈现出自然的手部运动。如图9(b)所示，当某帧缺乏足够的手部姿态视觉信息时（比如从左数第3和第4帧），逐帧估计器的性能会显著下降。如图9(c)所示，我们的方法能在整个序列中尽可能保持手部形状的一致性。在对单只真实手部的RGB图像序列进行定性评估时，我们方法下形状参数$\beta_{t-1} - \beta_t$随时间变化的平均差异为$4.16e^{-11}$，而逐帧估计器的对应数值为$2.38e^{-5}$。对于姿态参数$\theta_{t-1} - \theta_t$而言，我们方法的时间变化平均差异为$1.88e^{-6}$，另一种方法则为$6.90e^{-6}$。

## 6 结论

在本文中，我们针对限制传统方法利用时间图像特征进行3D手部姿态估计的序列RGB数据集稀缺问题展开了研究并提出了解决方案。我们提出了一种生成SeqHAND数据集的新方法，该数据集包含由现有静态姿态标注插值得到的运动中的合成手部姿态序列RGB图像帧。随后，我们提出了一种以循环方式利用视觉-时间特征进行3D手部姿态估计的框架。我们设计了一种考虑序列手部姿态估计时间平滑性的代价函数。我们提出的方法优于其他仅采用RGB输入、基于外观特征的现有方法，最终生成的姿态流估计能够模拟人类手部的自然运动。

我们还计划让该框架能更稳健地解决（自）遮挡问题。借助序列输入，我们看到了克服3D手部姿态估计文献中传统遮挡难题的可能性。

---

致谢：本研究得到了韩国政府（MSIT）资助的IITP项目（编号2019-0-01367，Babymind）以及韩国国家研究基金会（NRF）下一代信息计算发展计划（2017M3C4A7077582）的支持。

## 参考文献

[^1]: Baek, S., Kim, K.I., Kim, T.K.: Pushing the envelope for RGB-based dense 3D hand pose estimation via neural rendering. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 1067–1076 (2019)

[^2]: Bambach, S., Lee, S., Crandall, D.J., Yu, C.: Lending a hand: Detecting hands and recognizing activities in complex egocentric interactions. In: Proceedings of the IEEE International Conference on Computer Vision. pp. 1949–1957 (2015)

[^3]: Boukhayma, A., Bem, R.d., Torr, P.H.: 3d hand shape and pose from images in the wild. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 10843–10852 (2019)

[^4]: Cai, Y., Ge, L., Cai, J., Yuan, J.: Weakly-supervised 3D hand pose estimation from monocular RGB images pp. 666–682 (2018)

[^5]: Cai, Y., Ge, L., Liu, J., Cai, J., Cham, T.J., Yuan, J., Thalmann, N.M.: Exploiting spatial-temporal relationships for 3D pose estimation via graph convolutional networks (2019)

6. de Campos, T.E., Murray, D.W.：基于回归的多摄像头手部姿态估计 $${}^{1}$$，782–789页（2006年）

[^7]: Carreira, J., Zisserman, A.: Quo vadis, action recognition? a new model and the kinetics dataset. In: proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 6299–6308 (2017)

[^8]: Chang, H.J., Garcia-Hernando, G., Tang, D., Kim, T.K.: Spatio-temporal hough forest for efficient detection-localisation-recognition of fingerwriting in egocentric camera. Computer Vision and Image Understanding 148, 87–96 (2016)

9. Everingham, M., Van Gool, L., Williams, C.K.I., Winn, J., Zisserman, A.：2012年PASCAL视觉物体分类挑战赛（VOC2012）结果。$<http://www.pascal-network.org/challenges/VOC/voc2012/workshop/index.html>$

[^10]: 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: Proceedings of the IEEE conference on computer vision and pattern recognition. pp. 409–419 (2018)

[^11]: Ge, L., Ren, Z., Li, Y., Xue, Z., Wang, Y., Cai, J., Yuan, J.: 3D hand shape and pose estimation from a single RGB image. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 10833–10842 (2019)

[^12]: Gomez-Donoso, F., Orts-Escolano, S., Cazorla, M.: Large-scale multiview 3D hand pose dataset. arXiv preprint arXiv:1707.03742 (2017)

[^13]: He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: Proceedings of the IEEE conference on computer vision and pattern recognition. pp. 770–778 (2016)

[^14]: Hu, Z., Hu, Y., Liu, J., Wu, B., Han, D., Kurfess, T.: A crnn module for hand pose estimation. Neurocomputing 333, 157–168 (2019)

[^15]: Iqbal, U., Molchanov, P., Breuel Juergen Gall, T., Kautz, J.: Hand pose estimation via latent 2.5 d heatmap regression pp. 118–134 (2018)

## [^16]: Jang, Y., Noh, S., Chang, H.J., Kim, T., Woo, W.: 3D finger cape: Clicking action and position estimation under self-occlusions in egocentric viewpoint. IEEE Transactions on Visualization and Computer Graphics 21(4), 501–510 (April 2015)

---

[^17]: Khamis, S., Taylor, J., Shotton, J., Keskin, C., Izadi, S., Fitzgibbon, A.: Learning an efficient model of hand shape variation from depth images pp. 2540–2548 (2015)

[^18]: Kirkpatrick, J., Pascanu, R., Rabinowitz, N., Veness, J., Desjardins, G., Rusu, A.A., Milan, K., Quan, J., Ramalho, T., Grabska-Barwinska, A., et al.: Overcoming catastrophic forgetting in neural networks. Proceedings of the national academy of sciences 114(13), 3521–3526 (2017)

[^19]: Le, T.H.N., Quach, K.G., Zhu, C., Duong, C.N., Luu, K., Savvides, M.: Robust hand detection and classification in vehicles and in the wild. In: 2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). pp. 1203–1210. IEEE (2017)

[^20]: Lee, M., Lee, S., Son, S., Park, G., Kwak, N.: Motion feature network: Fixed motion filter for action recognition. In: Proceedings of the European Conference on Computer Vision (ECCV). pp. 387–403 (2018)

[^21]: Maaten, L.v.d., Hinton, G.: Visualizing data using t-sne. Journal of machine learning research 9(Nov), 2579–2605 (2008)

[^22]: Madadi, M., Escalera, S., Carruesco, A., Andujar, C., Baró, X., González, J.: Top-down model fitting for hand pose recovery in sequences of depth images. Image and Vision Computing 79, 63–75 (2018)

[^23]: Malik, J., Elhayek, A., Nunnari, F., Varanasi, K., Tamaddon, K., Heloir, A., Stricker, D.: Deephps: End-to-end estimation of 3D hand pose and shape by learning from synthetic depth. In: 2018 International Conference on 3D Vision (3DV). pp. 110–119. IEEE (2018)

[^24]: Mueller, F., Bernard, F., Sotnychenko, O., Mehta, D., Sridhar, S., Casas, D., Theobalt, C.: Generated hands for real-time 3D hand tracking from monocular RGB pp. 49–59 (2018)

[^25]: Mueller, F., Mehta, D., Sotnychenko, O., Sridhar, S., Casas, D., Theobalt, C.: Real-time hand tracking under occlusion from an egocentric RGB-d sensor pp. 1284–1293 (2017)

[^26]: Oberweger, M., Riegler, G., Wohlhart, P., Lepetit, V.: Efficiently creating 3D training data for fine-hand pose estimation pp. 4957–4965 (2016)

[^27]: Oikonomidis, I., Kyriazis, N., Argyros, A.A.: Full dof tracking of a hand interacting with an object by modeling occlusions and physical constraints pp. 2088–2095 (2011)

[^28]: Panteleris, P., Argyros, A.: Back to RGB: 3D tracking of hands and hand-object interactions based on short-baseline stereo pp. 575–584 (2017)

[^29]: Panteleris, P., Oikonomidis, I., Argyros, A.: Using a single RGB frame for real time 3D hand pose estimation in the wild. In: 2018 IEEE Winter Conference on Applications of Computer Vision (WACV). pp. 436–445. IEEE (2018)

[^30]: Remilekun Basaru, R., Slabaugh, G., Alonso, E., Child, C.: Hand pose estimation using deep stereovision and markov-chain monte carlo pp. 595–603 (2017)

[^31]: Romero, J., Tzionas, D., Black, M.J.: Embodied hands: Modeling and capturing hands and bodies together. ACM Transactions on Graphics (TOG) 36(6), 245 (2017)

[^32]: Rosales, R., Athitsos, V., Sigal, L., Sclaroff, S.: 3D hand pose reconstruction using specialized mappings 1, 378–385 (2001)

[^33]: Sharp, T., Keskin, C., Robertson, D., Taylor, J., Shotton, J., Kim, D., Rhemann, C., Leichter, I., Vinnikov, A., Wei, Y., et al.: Accurate, robust, and flexible real-time hand tracking. In: Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems. pp. 3633–3642 (2015)

[^34]: Simon, T., Joo, H., Matthews, I., Sheikh, Y.: Hand keypoint detection in single images using multiview bootstrapping pp. 1145–1153 (2017)

[^35]: Spurr, A., Song, J., Park, S., Hilliges, O.: Cross-modal deep variational hand pose estimation pp. 89–98 (2018)

[^36]: Sridhar, S., Mueller, F., Zollhöfer, M., Casas, D., Oulasvirta, A., Theobalt, C.: Real-time joint tracking of a hand manipulating an object from RGB-d input. In: European Conference on Computer Vision. pp. 294–310. Springer (2016)

## [^37]: Sridhar, S., Rhodin, H., Seidel, H.P., Oulasvirta, A., Theobalt, C.: Real-time hand tracking using a sum of anisotropic gaussians model 1, 319–326 (2014)

---

[^38]: Sun, X., Wei, Y., Liang, S., Tang, X., Sun, J.: Cascaded hand pose regression. In: Proceedings of the IEEE conference on computer vision and pattern recognition. pp. 824–832 (2015)

[^39]: Sundermeyer, M., Schlüter, R., Ney, H.: Lstm neural networks for language modeling. In: Thirteenth annual conference of the international speech communication association (2012)

[^40]: Tang, D., Jin Chang, H., Tejani, A., Kim, T.K.: Latent regression forest: Structured estimation of 3D articulated hand posture pp. 3786–3793 (2014)

[^41]: Taylor, J., Stebbing, R., Ramakrishna, V., Keskin, C., Shotton, J., Izadi, S., Hertzmann, A., Fitzgibbon, A.: User-specific hand modeling from monocular depth sequences. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 644–651 (2014)

[^42]: Tompson, J., Stein, M., Lecun, Y., Perlin, K.: Real-time continuous pose recovery of human hands using convolutional networks. ACM Transactions on Graphics (ToG) 33(5), 169 (2014)

[^43]: Wu, Y., Ji, W., Li, X., Wang, G., Yin, J., Wu, F.: Context-aware deep spatiotemporal network for hand pose estimation from depth images. IEEE transactions on cybernetics (2018)

[^44]: Xingjian, S., Chen, Z., Wang, H., Yeung, D.Y., Wong, W.K., Woo, W.C.: Convolutional lstm network: A machine learning approach for precipitation nowcasting. In: Advances in neural information processing systems. pp. 802–810 (2015)

[^45]: Yang, L., Yao, A.: Disentangling latent hands for image synthesis and pose estimation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 9877–9886 (2019)

[^46]: Yuan, S., Ye, Q., Stenger, B., Jain, S., Kim, T.K.: Bighand2. 2m benchmark: Hand pose dataset and state of the art analysis pp. 4866–4874 (2017)

[^47]: Zhang, J., Jiao, J., Chen, M., Qu, L., Xu, X., Yang, Q.: 3D hand pose tracking and estimation using stereo matching. arXiv preprint arXiv:1610.07214 (2016)

[^48]: Zhang, J., Jiao, J., Chen, M., Qu, L., Xu, X., Yang, Q.: A hand pose tracking benchmark from stereo matching pp. 982–986 (2017)

[^49]: Zhang, X., Li, Q., Zhang, W., Zheng, W.: End-to-end hand mesh recovery from a monocular RGB image. arXiv preprint arXiv:1902.09305 (2019)

[^50]: Zhu, J.Y., Park, T., Isola, P., Efros, A.A.: Unpaired image-to-image translation using cycle-consistent adversarial networks. In: Proceedings of the IEEE international conference on computer vision. pp. 2223–2232 (2017)

[^51]: Zimmermann, C., Brox, T.: Learning to estimate 3D hand pose from single RGB images pp. 4903–4911 (2017)

[^52]: Zimmermann, C., Ceylan, D., Yang, J., Russell, B., Argus, M., Brox, T.: Freihand: A dataset for markerless capture of hand pose and shape from single RGB images. In: Proceedings of the IEEE International Conference on Computer Vision. pp. 813–822 (2019)
