
# 用于视频中3D手部姿态与网格估计的时序感知自监督学习

陈良健 $^{1}$、林世耀 $^{2}$、谢宇生 $^{*3}$、林彦宇 $^{4}$ 和 谢晓辉 $^{1}$

$^{1}$加州大学欧文分校，$^{2}$腾讯美国公司，$^{3}$亚马逊，$^{4}$国立交通大学，{liangjc2,xhx}@ics.uci.edu，<mailto:mike.lin@ieee.org>，<mailto:yushx@amazon.com>，<mailto:lin@cs.nctu.edu.tw>

## 摘要

直接从RGB图像中估计3D手部姿态是一项具有挑战性的任务，但近年来通过用标注好的3D姿态训练深度模型，该领域取得了稳步进展。然而，标注3D姿态十分困难，因此可用的3D手部姿态数据集寥寥无几，且样本量有限。在本研究中，我们提出了一种全新的框架，无需使用显式的3D标注，仅利用2D信息即可从RGB图像中训练3D姿态估计模型。我们提出该框架的灵感源于两点观察：1）与静态图像相比，视频能为3D姿态估计提供更丰富的信息；2）无论视频是正序还是逆序播放，估计出的3D姿态应当保持一致。我们利用这两点观察开发了一种名为时序感知自监督网络（TASSN）的自监督学习模型。通过施加时序一致性约束，TASSN仅需2D关键点位置标注就能从视频中学习3D手部姿态和网格。实验表明，我们的模型取得了令人惊喜的效果，其3D估计精度与用3D标注训练的最先进模型不相上下，这凸显了时序一致性在约束3D预测模型方面的优势。

### 1. 引言

由于手语翻译 [^45]、机器人技术 [^1]、运动障碍检测与监测，以及人机交互（HCI） [^29] [^18] [^28] 等广泛的应用场景，3D手部估计是计算机视觉领域的重要研究课题。

深度传感器和RGB相机是采集手部数据的常用设备。不过，深度传感器的普及程度不如RGB相机，且价格昂贵得多，这限制了基于深度图像开发的手部姿态估计方法的适用性。近期，研究重点已转向利用颜色、纹理，

![Image](images/418ed09dcac9e4185b17e5a1d5e487c65c55860935762a4479c8cbbd3d25a441.jpg)

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

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

<div style="text-align: center;">Figure 1. Motivation and idea: (a) Training a robust 3D hand pose estimator from RGB images relies on plenty images with 3D hand pose annotations, but obtaining 3D annotations from 2D images is quite difficult; (b) We leverage bi-directional temporal consistency in videos and enable hand pose estimators to make more plausible predictions. It turns out that the hand pose estimator can be derived in a self-supervised fashion without using 3D annotations.</div>

以及RGB图像中包含的形状信息，直接从RGB图像中估计3D手部姿态 [^5] [^20] [^51]。最近，从RGB图像中估计3D手部形状和网格的研究也取得了进展 [^2] [^3] [^15] [^47] [^42] [^7] [^26] [^25] [^50] [^49] [^48]。与手部姿态相比，手部网格能提供更多信息，可满足众多沉浸式VR和AR应用的需求。尽管取得了这些进展，但由于缺乏准确的大规模3D姿态标注，3D手部姿态估计仍是一个极具挑战性的问题。

在这项工作中，我们提出了一种全新的3D手部

---

姿态与网格估计需要综合考虑以下两点。首先，现有大多数方法都依赖包含三维信息的训练数据，但从二维图像中获取三维信息本身极具挑战性。虽然有一些数据集提供了标注好的三维手部关节数据，但其数量太少，不足以训练出鲁棒的手部姿态估计器。其次，多数研究集中于基于单张图像的手部姿态估计。然而，基于三维手部姿态的重要应用，如增强现实（AR）、虚拟现实（VR）以及手语识别等，通常都是在视频中实现的。

基于上述两点观察，我们的方法利用视频的时间一致性来解决训练数据中缺乏三维关节标注所带来的不确定性问题。具体而言，我们提出的方法称为时序感知自监督网络（TASSN），无需使用标注好的三维训练数据即可学习并推断三维手部姿态。图1展示了所提出的TASSN的动机与核心思想。TASSN通过嵌入时序结构来提取时空特征，从而充分利用视频信息。我们设计了一种新颖的时序自一致性损失函数，它有助于在无需标注三维训练数据的情况下训练手部姿态估计器。除了姿态外，我们还估计手部网格，因为网格能为姿态推断提供重要依据。借助网格，我们可以推断出手部轮廓以进一步约束模型。本工作的主要贡献如下：

1. 我们开发了时序一致性损失函数以及逆向时序信息技术，用于提取时空特征。据我们所知，本研究是首次尝试在不使用三维标注数据的情况下估计三维手部姿态与网格。

2. 我们提出了一种名为时序感知自监督网络（TASSN）的端到端可训练框架，该框架无需使用标注的三维训练数据即可学习估计器。所学习的估计器能够从视频中同时推断三维手部姿态与网格。

3. 我们的模型取得了很高的准确率，其三维预测性能可与使用三维真实数据训练的最先进模型相媲美。

### 2. 相关工作

#### 2.1. 基于深度图像的三维手部姿态估计

由于深度图像包含手部的表面几何信息，它们在文献中被广泛用于手部姿态估计 [^40] [^44] [^11] [^41] [^14] [^16] [^27] [^8] [^9]。现有大多数研究采用回归方法来拟合变形手部模型的参数 [^30] [^22] [^24] [^40]。近期的研究 [^14] [^16] 会提取深度图像特征，并通过PointNet来回归关节位置 [^34]。Wu等人 [^41] 将深度图像作为中间引导信息，构建了端到端的训练框架。尽管这些方法效果显著，但它们高度依赖精确的深度图，且在日常生活中实用性较低，因为由于成本高昂，很多场景下无法配备深度传感器。

#### 2.2. 基于RGB图像的三维手部姿态估计

由于RGB相机具有广泛的普及性，从单目图像中估计三维手部姿态已成为一个热门的研究课题 [^5] [^20] [^31] [^38] [^43] [^51]，并且已经取得了显著的进展。这些方法利用卷积神经网络（CNN）从RGB图像中提取特征。Zimmermann和Brox [^51] 将这些特征输入到三维提升网络和相机参数估计网络中以进行深度回归。在Zimmermann和Brox的工作基础上，Iqbal等人 [^20] 将深度图作为中间引导信息；而Cai等人 [^5] 则提出了一种利用深度图进行正则化的弱监督方法。然而，由于三维手部标注难以获取，这些方法受到训练数据有限的制约。此外，它们都忽略了时间信息。

#### 2.3. 三维手部网格估计

三维手部网格估计是一个热门的研究课题 [^15] [^3] [^2] [^21] [^47]。在 [^3] [^2] [^47] 中，相关方法通过名为MANO的预定义手部模型来估计手部网格 [^35]。由于手部动作的自由度很高，手部网格存在于高维空间中。MANO模型可作为网格的运动学和形状先验，有助于降低维度。不过，由于MANO是线性模型，无法捕捉手部网格的非线性变换 [^15]。因此，基于MANO的网格估计器会受到这一问题的困扰。另一方面，Ge等人 [^15] 通过带有下采样和上采样的图卷积神经网络（GCN）来回归三维网格顶点。他们的方法达到了最先进的性能，但该方法是在带有三维网格真值的数据集上训练的，而这种数据集的标注难度甚至超过了三维关节标注。这一缺陷限制了其在实际应用中的可行性。

#### 2.4. 自监督学习

自监督学习 [^12] [^33] [^13] 是一种训练方法，它通过利用数据内部已有的信息来自动为训练数据添加标签。采用这种训练方案时，无需为给定的训练集手动标注数据。当数据标注困难或数据量极大时，这种方案尤为有益。自监督学习已被应用于手部姿态估计。与我们类似，[^13] 中的方法采用时间循环一致性来实现自监督学习。不过，该方法使用软最近邻来解决视频对齐问题，这并不适用于三维姿态和网格估计。Simon等人……

---

![Image](images/25ace21191d555195a770b6190a7db715859d2d690bdfa06b4fe37ae82ea6b1e.jpg)

<div style="text-align: center;">Figure 2. Overview of the proposed TASSN. TASSN involves both forward and backward inference to utilize temporal information. Namely, the hand poses estimated by forward and backward inference should be consistent. Our hand pose estimator leverages this observation and can be trained by using self-supervised learning without the need of 3D hand joint labels. Moreover, with the constraints of temporal consistency, either forward or backward inference can gain more accurate hand pose estimation results.</div>

……[^37] 采用多视角监督信号来回归三维手部关节位置。虽然他们的方法利用多视角图像解决了手部自遮挡问题，但在训练阶段仍需要三维关节标注，而这类标注在该任务中很难获取且成本较高。另一种将自监督学习用于手部姿态估计的尝试见于 [^39]，其中提出了一种利用大量无标注深度图的方法。不过，由于不同姿态、尺度和传感设备下的深度图差异较大，这种方法可能受到限制。与利用多视角一致性或深度一致性不同，本文提出的自监督方案依赖于时间一致性，这种一致性易于获取且无需三维关键点标注。

### 3. 所提出的方法

我们的目标是从没有3D手部关节标签的视频中训练3D手部姿态估计器。为解决缺乏3D标注的问题，我们利用手部运动视频中的时序信息，来消除因缺少3D关节真实值而产生的歧义。具体而言，我们提出了一种名为时序感知自监督网络（TASSN）的新型深度神经网络。通过在视频中估算出的手势上构建时序一致性损失函数，TASSN无需任何3D标注即可通过自监督学习来推断3D手部姿态。

#### 3.1. 概述

给定包含N帧的RGB手部运动视频x $x = \{I_1, ..., I_N\}$，我们的目标是估算该视频中的3D手部姿态，其中$I_t \in \mathbb{R}^{3 \times W \times H}$表示第t帧，W和H分别为帧的宽度和高度。第t帧的3D手部姿态$p_t \in \mathbb{R}^{3 \times K}$由一组K个手部3D关键点坐标来表示。图2展示了TASSN的网络架构。

利用视频的时序一致性特性，前向推理与反向推理过程中预测出的手部姿态和网格可以相互提供监督信息。借助这种自监督学习方式，我们的模型可以在任何目标数据集上进行微调，而时序一致性可以很好地替代难以获取的3D真实值。TASSN减轻了为数据集标注3D真实值的负担，同时不会显著牺牲模型性能。

近期的研究 [^15] [^47] 表明，利用手部网格训练姿态估计器能够提升性能，因为手部网格可以作为手部姿态预测的中间引导。基于此，我们提出了一种手部姿态与网格

---

![Image](images/fae46563cf4bf89fb25c9d58ad956c6ebd807549a9a85e0ca8259b72dabcbf25.jpg)

<div style="text-align: center;">Figure 3. Network architecture of the pose and mesh estimation (PME) module. PME module consists of four sub-modules, including the flow, 2D keypoint heatmap, 3D hand mesh, and 3D hand pose estimators. The flow estimator computes the optical flow  $o_{t+1}$ from two consecutive frames  $I_t$ and  $I_{t+1}$. With  $I_{t+1}$,  $o_{t+1}$, and  $H_t$, the 2D heatmap estimator computes the keypoint heatmap  $H_{t+1}$ at timestamp  $t+1$, as well as the image features. Based on the extracted image features, the 3D hand pose and mesh estimators predict the 3D hand pose  $p_{t+1}$ and mesh  $m_{t+1}$ at timestamp  $t+1$. Two loss terms, the heatmap loss  $\mathcal{L}_h$ and the hand mesh loss  $\mathcal{L}_m$, are used for optimization.</div>

估计（PME）模块，该模块能够从任意相邻的两帧 $I_{i}$ 和 $I_{i+1}$ 中同时估算出2D手部关键点热图、3D手部姿态以及网格。

#### 3.2. 姿态与网格估计模块

所提出的PME模块包含四个估计子模块，分别是光流估计器、2D关键点热图估计器、3D手部网格估计器和3D手部姿态估计器。给定两帧连续图像作为输入，该模块就能估算出3D手部姿态和网格。图3展示了其网络架构。

光流估计器：为了从手势视频中提取时间线索，我们采用FlowNet [^19] 来估计连续两帧之间的光流 $o_{t+1} \in \mathbb{R}^{2 \times W \times H}$、$I_t$ 和 $I_{t+1}$。在前向推理中，FlowNet会计算出从帧 $o_{t+1}$ 到帧 $I_t$ 的运动信息 $I_{t+1}$；而在反向推理中，FlowNet则会计算出相反方向的运动。

热图估计器：我们的热图估计器用于计算二维手部关键点，并为三维手部姿态及网格估计器生成相应特征。所估计的二维关键点热图记为 $\boldsymbol{H} \in \mathbb{R}^{K \times W \times H}$，其中K表示关键点的数量。我们采用堆叠式双hourglass网络 [^32] 来推断手部关键点热图 $\boldsymbol{H}$ 并提取特征 $\boldsymbol{F}$。我们将 $I_{t+1}, o_{t+1}$、$H_t$ 拼接后作为堆叠式双hourglass网络的输入，最终输出热图 $H_{t+1}$，如图3所示。所估计的 $H_{t+1}$ 包含K个热图 $\{H_{t+1}^k \in \mathbb{R}^{W \times H}\}_{k=1}^K$，其中 $H_{t+1}^k$ 表示第k个关键点位置的置信度图。真实热图 $\tilde{H}_{t+1}^k$ 是以第k个关键点的真实位置为中心、狄拉克-$\delta$ 分布的高斯模糊结果。第t帧的热图损失 $\mathcal{L}_h$ 定义如下：

 $$ \mathcal{L}_{h}=\frac{1}{K}\sum_{k=1}^{K}||\boldsymbol{H}_{t}^{k}-\bar{\boldsymbol{H}}_{t}^{k}||_{F}^{2}. $$

3D手部网格估计器：我们的3D手部网格估计器是基于切比雪夫谱图卷积网络（GCN）[^15]开发的，它以手部特征F作为输入并推断3D手部网格。输出的手部网格$m_t \in \mathbb{R}^{3 \times C}$由一组3D网格顶点表示，其中C为手部网格中的顶点数量。

为了建模手部网格，我们使用无向图$G(V, E)$，其中V和E分别为顶点集和边集。边集E可以用邻接矩阵A来表示，若存在边$A_{i,j} = 1$，则$e(i, j) \in E$，否则$A_{i,j} = 0$。通过$L = I - D^{-\frac{1}{2}}AD^{-\frac{1}{2}}$可得到图G的归一化拉普拉斯矩阵，其中D为度矩阵，I为单位矩阵。由于L是半正定矩阵[^4]，它可以被分解为$L = U\Lambda U^T$，其中$\Lambda = diag(\lambda_1, \lambda_2, ..., \lambda_C)$，且C为图G中的顶点数量。

我们遵循[^10]中的设定，将卷积核设为$\hat{\mathbf{\Lambda}} = \text{diag}(\sum_{i=0}^{S} \alpha_i \lambda_1^i, ..., \sum_{i=0}^{S} \alpha_i \lambda_C^i)$，其中$\alpha$为核参数。在$\mathbf{G}$中的卷积运算可通过$\mathbf{F}' = U \hat{\mathbf{\Lambda}} U^T \mathbf{F} \boldsymbol{\theta}_i = \sum_{i=0}^{S} \alpha_i L^i \mathbf{F} \boldsymbol{\theta}_i$来计算，其中$\mathbf{F} \in \mathbb{R}^{N \times F_{\text{in}}}$和$\mathbf{F}' \in \mathbb{R}^{N \times F_{\text{out}}}$分别表示输入特征和输出特征，S是用于控制感受野的预设超参数，而$\boldsymbol{\theta}_i \in \mathbb{R}^{F_{\text{in}} \times F_{\text{out}}}$则是用于控制输出通道数的可训练参数集。

采用切比雪夫多项式来近似卷积运算，从而降低模型复杂度，最终得到输出特征$\boldsymbol{F}' = \sum_{i=0}^{S} \alpha_i T_i(\hat{\boldsymbol{L}}) \boldsymbol{\theta}_i$，其中

---

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

<div style="text-align: center;">Figure 4. Examples of our estimated silhouettes. The first and third rows show the training images in STB and MHP datasets, respectively. The second and third rows show the estimated silhouettes by our method.</div>

$T_k(x)$为第k个切比雪夫多项式，$\hat{L} = 2L/\lambda_{max} - I$用于归一化输入特征。

我们采用[^10]和[^15]中的方案，以由粗到精的方式构建手部网格。我们使用多级聚类算法对图进行粗化，然后存储每一层的图以及相邻两层之间的图节点映射关系。在前向推理时，GCN首先根据存储的映射关系和图对节点特征进行上采样，随后执行图卷积运算。

网格轮廓约束：在我们的模型中，由于缺乏3D网格真值，只要模型生成的网格在时间上保持一致，模型就可能收敛到任意类型的网格。为避免这一问题，我们引入网格损失$\mathcal{L}_m$来计算预测手部网格$s_t$的轮廓与第t帧的真实轮廓$\bar{s}_t$之间的差异。轮廓损失的定义如下：

 $$ \mathcal{L}_{m}=||s_{t}-\overline{{s}}_{t}||_{F}^{2}. $$

为了获取$\bar{s}_{t}$，我们使用GrabCut算法[^36]从训练图像中估计手部轮廓。图4展示了一些从训练图像中估计出的轮廓。我们预测的手部网格$s_{t}$的轮廓是通过[^23]中的神经渲染方法得到的。

3D手部姿态估计器：所提出的3D姿态估计器直接从预测的手部网格$p_t$中推断3D手部关键点$m_t$。以该网格为输入，我们采用由两个堆叠的GCN组成的网络，其结构与3D手部网格估计器中使用的网络类似。我们在每个GCN后添加池化层，以从网格中提取姿态特征。随后将这些姿态特征输入两个全连接层，从而回归出3D手部姿态$p_t$。

#### 3.3. 时间一致性损失

由于缺少3D关键点标注，传统的监督学习方案在模型训练中不再适用。我们提出了一种时间一致性损失$\mathcal{L}_c$来解决这一问题。图2展示了我们方法的思路。给定一个包含n帧的视频片段，我们将每两帧相邻帧$\{I_i, I_{i+1}\}_{i=t}^{t+n}$输入到PME模块中，用于手部网格和姿态估计，即$\{p_i, m_i\}_{i=t}^{t+n}$。TASSN会根据它们的相对输入顺序来分析时间信息。因此，我们可以将输入顺序从$\{I_i, I_{i+1}\}$颠倒为$\{I_{i+1}, I_i\}$，从而从$I_i$推断出$I_{i+1}$中的姿态和网格。借助这种逆时间测量（RTM）技术，我们能够根据颠倒的时间顺序推断手部姿态和网格。我们将按颠倒顺序估计出的姿态和网格记为$\{\tilde{p}_i, \tilde{m}_i\}_{i=t}^{t+n}$。如图2所示，无论正向还是反向推理，PME模块给出的预测结果必须保持一致，因为任意帧估计出的网格和姿态是相同的。手部姿态的$\mathcal{L}_c^p$损失以及网格的$\mathcal{L}_c^m$损失可通过以下方式计算：

 $$ \mathcal{L}_{c}^{p}=\frac{1}{n}\sum_{i=t}^{t+n}||p_{i}\mathrm{~-}\tilde{p}_{i}||_{F}^{2}, $$

 $$ \mathcal{L}_{c}^{m}=\frac{1}{n}\sum_{i=t}^{t+n}||\boldsymbol{m}_{i}-\tilde{\boldsymbol{m}}_{i}||_{F}^{2}. $$

时间一致性损失$\mathcal{L}_c$被定义为$\mathcal{L}_c^m$与$\mathcal{L}_c^p$之和，即：

 $$ \mathcal{L}_{c}=\lambda^{m}\mathcal{L}_{c}^{m}+\lambda^{p}\mathcal{L}_{c}^{p}, $$

其中$\lambda^{m}$和$\lambda^{p}$分别为对应损失的权重。

#### 3.4. TASSN训练

假设我们获得了一个用于训练的未标注手部姿态数据集X，其中包含M个手势视频$X=\{\boldsymbol{x}^{(i)}\}_{i=1}^{M}$，每个视频$x^{(i)}=\{I_{1},...,I_{N}\}$包含N帧。我们将每个训练视频划分为若干个视频片段，每个训练视频片段$\boldsymbol{v}$包含n帧，即$\boldsymbol{v}=\{I_{t},I_{t+1},...,I_{t+n}\}$。结合式(1)、式(2)和式(5)中定义的损失，所提出的TASSN的训练目标为：

 $$ \mathcal{L}=\lambda_{s}\mathcal{L}_{m}+\lambda_{h}\mathcal{L}_{h}+\mathcal{L}_{c}, $$

其中$\lambda^{s}$和$\lambda^{h}$分别表示损失$\mathcal{L}_{m}$和损失$\mathcal{L}_{h}$的权重。参数设置的详细信息将在实验部分给出。

### 4. 实验设置

#### 4.1. 评估用数据集

我们在两个手部姿态数据集上评估我们的方法：立体跟踪基准数据集（STB）[^46] 以及多视角三维手部姿态数据集（MHP）__

---

![Image](images/13db2d6c7691b903c1a3a767a27728eef2a3f8ecca20bc19f1b9e6780a8bbab3.jpg)

<div style="text-align: center;">Figure 5. Some examples of the two hand pose datasets used for evaluation. The first row shows examples of the STB dataset [^46] and the second row gives examples of the MHP dataset [^17]. Both datasets include real hand video sequences performed by different subjects and have 3D hand keypoint annotations.</div>

查看 3D Hand Pose 数据集（MHP）[^17]。这两个数据集包含由不同受试者完成的真实手部视频序列，并为手部视频序列提供了 3D 手部关键点标注。

对于STB数据集，我们采用其SK子集进行训练和评估。该子集包含6个手部视频，每个视频有1,500帧。按照[^15]中使用的训练-验证划分设置，我们将第一个手部视频作为验证集，其余视频用于训练。

MHP数据集包含21个手部运动视频。每个视频提供手部彩色图像以及每个样本的多种标注，包括边界框和手部关键点的2D及3D位置。

以下数据预处理方案同时应用于STB和MHP数据集。我们利用手部中心点和手部尺度信息从原始图像中裁剪出手部区域，使得手部中心位于裁剪后图像的中心，且裁剪后的图像能完整覆盖整个手部。随后我们将裁剪后的图像缩放至$256 \times 256$大小。如[^5]和[^51]所述，STB和MHP数据集均以手掌中心作为手部中心点。我们采用[^5]提出的机制，将手部中心点从手掌中心调整至腕关节处。

#### 4.2. 评价指标

我们遵循先前研究[^51]和[^15]采用的设置，以平均端点误差（EPE）以及阈值在20毫米到50毫米之间的关键点正确率（PCK）曲线下面积（AUC）作为两项评价指标（$AUC_{20-50}$）。此外，我们还将阈值在0毫米到50毫米之间的PCK曲线下面积（$AUC_{0-50}$）作为评估3D手部姿态估计性能的第三项指标。EPE的测量单位为毫米。

#### 4.3. 实现细节

我们使用PyTorch框架实现TASSN模型。训练阶段，我们将批量大小设为24，初始学习率设为$10^{-5}$。我们在一台配备四块GeForce GTX 1080Ti GPU的机器上训练和评估TASSN模型。

<div style="text-align: center;">Table 1. 3D hand pose estimation results on the STB and MHP datasets.  $\uparrow$: higher is better;  $\downarrow$: lower is better; The measuring unit of EPE is millimeter (mm).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>$AUC_{{0-50}} \uparrow$</td><td style='text-align: center; word-wrap: break-word;'>$AUC_{{20-50}} \uparrow$</td><td style='text-align: center; word-wrap: break-word;'>$EPE_{\downarrow}$</td></tr><tr><td colspan="4">STB Dataset</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASSN w/o $\mathcal{L}_{c}$</td><td style='text-align: center; word-wrap: break-word;'>0.541</td><td style='text-align: center; word-wrap: break-word;'>0.735</td><td style='text-align: center; word-wrap: break-word;'>24.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASSN w/o $\mathcal{L}_{c}^{m}$</td><td style='text-align: center; word-wrap: break-word;'>0.754</td><td style='text-align: center; word-wrap: break-word;'>0.936</td><td style='text-align: center; word-wrap: break-word;'>13.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASSN</td><td style='text-align: center; word-wrap: break-word;'>0.773</td><td style='text-align: center; word-wrap: break-word;'>0.972</td><td style='text-align: center; word-wrap: break-word;'>11.3</td></tr><tr><td colspan="4">MHP Dataset</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASSN w/o $\mathcal{L}_{c}$</td><td style='text-align: center; word-wrap: break-word;'>0.492</td><td style='text-align: center; word-wrap: break-word;'>0.677</td><td style='text-align: center; word-wrap: break-word;'>28.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASSN w/o $\mathcal{L}_{c}^{m}$</td><td style='text-align: center; word-wrap: break-word;'>0.665</td><td style='text-align: center; word-wrap: break-word;'>0.870</td><td style='text-align: center; word-wrap: break-word;'>17.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TASSN</td><td style='text-align: center; word-wrap: break-word;'>0.689</td><td style='text-align: center; word-wrap: break-word;'>0.892</td><td style='text-align: center; word-wrap: break-word;'>16.2</td></tr></table>

由于从头开始对包含多个模块的网络进行端到端训练难度极大，我们采用三阶段流程来训练TASSN模型。第一阶段，我们利用损失函数$\mathcal{L}_h$训练热图估计器。第二阶段，GCN手部网格估计器初始化时采用[^15]提供的预训练模型；我们在无3D监督的目标数据集上，利用损失函数$\mathcal{L}_h$和$\mathcal{L}_m$对热图估计器和手部网格估计器进行联合微调。最终阶段，我们对TASSN模型进行端到端训练，并微调各子模块的权重。热图估计器、GCN手部网格估计器以及3D姿态估计器的模型权重均通过端到端方式微调。在此阶段，我们设定$\lambda_s = 0.1$、$\lambda_h = 1$和$\lambda_c^p = \lambda_c^m = 10$。

### 5. 实验结果

#### 5.1. 时间一致性损失的消融研究

为了探究所提出的时间一致性约束的影响，我们在以下三种设置下训练并评估TASSN模型：1）TASSN模型训练时不使用时间一致性损失$\mathcal{L}_c$，即无任何时间一致性约束；2）TASSN模型训练时不使用手部网格的时间一致性损失$\mathcal{L}_c^m$，即仅施加时间3D姿态约束而不施加3D网格约束；3）TASSN模型训练时使用所有提出的损失函数。

表1展示了上述三种不同设置下两项3D手部姿态估计任务的评估结果。不同设置对应的PCK曲线如图6所示。

我们从消融研究中得出以下两点结论。首先，时间一致性约束对3D姿态估计精度至关重要。对比设置1和设置3的结果便可清晰看出这一点。如图6所示，使用时间一致性损失$\mathcal{L}_c$训练的TASSN模型（红色曲线，设置3）在STB和MHP数据集上的表现均显著优于未使用时间一致性损失的TASSN模型（蓝色曲线，设置1）。表1中的定量结果显示，$AUC_{0-50}$、$AUC_{20-50}$和EPE分别提升了0.232。

---

![Image](images/363d790f45d84960e86142ac0b25e53620a2cc8c801ced6b83783aca335d00a8.jpg)

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

![Image](images/49ab90bd11d40dec4e5e911a4d5d7f12939d21aecea9f7c2ae892496d2a696f4.jpg)

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

<div style="text-align: center;">Figure 6. Performance in PCK on the (a) STB and (b) MHP datasets. TCL and TMCL denote the losses  $\mathcal{L}_{c}$ and  $\mathcal{L}_{c}^{m}$, respectively.</div>

![Image](images/05a85460579d79b32601f13f2f00328efcc183ba2f892e8866c6db472000f557.jpg)

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

![Image](images/610ed7ad92b8de0e60139480827a9cfbc3771a17a45d93fe9e7b8f461593f852.jpg)

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

<div style="text-align: center;">Figure 7. Comparison with the state-of-the-arts. Results in  $AUC_{20-50}$ on (a) the STB dataset and (b) the MHP dataset.</div>

在STB数据集上分别为0.237和12.9。在MHP数据集上也观察到了类似的趋势。

其次，施加时间网格一致性约束对3D姿态估计是有益的。这一点可以通过对比设置2和设置3的结果来证实。通过使用时间网格一致性损失$\mathcal{L}_c^m$、$\text{AUC}_{0-50}$、$\text{AUC}_{20-50}$，在STB数据集上EPE分别提升了0.024、0.022和1.3（表1）。MHP数据集上的结果也呈现相同趋势：引入时间网格一致性损失$\mathcal{L}_c^m$后，测试AUC值得到提升。这表明时间网格一致性损失作为一种中间约束，有助于3D手部姿态估计器的学习。

除了定量分析外，图8和图9分别展示了STB和MHP数据集上不同设置下的部分估计3D手部姿态，以便进行视觉比较。我们可以看到，当TASSN模型采用时间一致性损失训练时，能够生成与真实值高度相似的3D手部姿态，即便在多种姿态下也是如此。值得注意的是，我们的GCN模型是以在STB数据集上预训练的模型[^15]为初始化的。我们在STB数据集上的结果表明，时间一致性对于强化3D约束至关重要；若缺乏这一约束，3D预测精度会显著下降（表1）。此外，我们的方法在其他目标数据集上也能很好地泛化，例如MHP数据集——在该数据集中，无论是模型初始化还是训练阶段均未使用3D标注。这两个数据集之间的姿态类别和采集环境存在较大差异（图5）。我们的方法在MHP数据集上的有效性完全归功于时间一致性约束（图6）。

#### 5.2. 与最先进方法的比较

STB和MHP数据集上的最先进方法均使用3D标注进行训练，而我们的方法则没有。因此，我们将这些方法视为我们方法的上限，并评估它们与我们方法之间的性能差距。

对于STB数据集，我们选取了六种最先进的方法进行对比。所选方法包括PSO [^3]、ICPPSO [^8]、CHPR [^46]、Iqbal等人提出的方法 [^20]、Cai等人提出的方法 [^5]，以及Zimmermann和Brox提出的方法 [^51]。对于MHP数据集，我们选取了两种最先进的方法进行对比，分别是Cai等人提出的方法 [^5] 和Chen等人提出的方法 [^6]。

---

![Image](images/79e793f758fd9d93f7a73d90cfe7edf2a09b570e69ca11c8a24b3c827b22c08c.jpg)

<div style="text-align: center;">Figure 8. Comparison among three different settings on the STB dataset. Columns 1 and 6 are RGB images. Columns 2 and 7 are the result by TASSN trained without temporal consistency loss. Columns 3 and 8 are the result by TASSN trained without temporal mesh consistency loss. Columns 4 and 9 are the result by TASSN. Columns 5 and 10 are the ground truth.</div>

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

<div style="text-align: center;">Figure 9. Comparison among three different settings on the MHP dataset. Columns 1 and 6 are RGB images. Columns 2 and 7 are the result by TASSN trained without temporal consistency loss. Columns 3 and 8 are the result by TASSN trained without temporal mesh consistency loss. Columns 4 and 9 are the result by TASSN. Columns 5 and 10 are the ground truth.</div>

图7(a)和图7(b)分别展示了STB和MHP数据集上的比较结果。正如预期，由于缺乏3D标注，TASSN在两个数据集上的性能与当前最先进方法相比存在差距。不过，这种性能差距相对较小。如图7(a)所示，在STB数据集上，我们的方法甚至能胜过一些采用完整3D标注训练的方法。

综合来看，这些结果说明无需使用3D标注即可训练3D姿态估计器。由于深度信息的缺失以及关节的高灵活性所带来的歧义性，从单帧图像中估计手部姿态和网格具有挑战性。利用视频中的信息可以在一定程度上缓解这些挑战，因为相邻帧会对姿态和网格产生强约束。时间信息为对3D模型施加姿态和网格估计约束提供了另一种途径。

### 6. 结论

我们提出了一种基于视频的手部姿态估计模型——时序感知自监督网络（TASSN），用于从RGB视频中学习和推断3D手部姿态及网格。通过利用正向与反向测量之间的时序一致性，TASSN无需显式的3D标注即可通过自监督学习进行训练。实验结果表明，TASSN能够取得相当不错的效果，其性能可与使用3D真实数据训练的最先进模型相媲美。

本文提出的时序一致性约束为训练3D姿态预测模型提供了一种便捷且有效的机制。虽然我们在未使用3D标注的情况下验证了该模型的有效性，但将其与少量3D标注样本的直接监督相结合，也能进一步提升精度。

致谢。本研究部分得到了科技部（MOST）的资助，项目编号分别为MOST 107-2628-E-009-007-MY3、MOST 109-2634-F-007-013和MOST 109-2221-E-009-113-MY3；同时也得到了高通公司通过台湾大学研究合作项目的支持。

---

## 参考文献

[^1]: Svitlana Antoshchuk, Mykyta Kovalenko, and Jürgen Sieck. Gesture recognition-based human-computer interaction interface for multimedia applications. In Digitisation of Culture: Namibian and International Perspectives. 2018.

[^2]: Seungryul Baek, Kwang In Kim, and Tae-Kyun Kim. Pushing the envelope for rgb-based dense 3d hand pose estimation via neural rendering. In CVPR, 2019.

[^3]: Adnane Boukhayma, Rodrigo de Bem, and Philip HS Torr. 3d hand shape and pose from images in the wild. In CVPR, 2019.

[^4]: Joan Bruna, Wojciech Zaremba, Arthur Szlam, and Yann Le-Cun. Spectral networks and locally connected networks on graphs. arXiv preprint arXiv:1312.6203, 2013.

[^5]: Yujun Cai, Liuhao Ge, Jianfei Cai, and Junsong Yuan. Weakly-supervised 3d hand pose estimation from monocular rgb images. In ECCV, 2018.

[^6]: Liangjian Chen, Shih-Yao Lin, Yusheng Xie, Yen-Yu Lin, Wei Fan, and Xiaohui Xie. Dggan: Depth-image guided generative adversarial networks for disentangling rgb and depth images in 3d hand pose estimation. In WACV, 2020.

[^7]: Liangjian Chen, Shih-Yao Lin, Yusheng Xie, Yen-Yu Lin, and Xiaohui Xie. Mvhm: A large-scale multi-view hand mesh benchmark for accurate 3d hand pose estimation. In WACV, 2021.

[^8]: Liangjian Chen, Shih-Yao Lin, Yusheng Xie, Hui Tang, Yufan Xue, Yen-Yu Lin, Xiaohui Xie, and Wei Fan. Tagan: Tonality-alignment generative adversarial networks for realistic hand pose synthesis. In BMVC, 2019.

[^9]: Liangjian Chen, Shih-Yao Lin, Yusheng Xie, Hui Tang, Yufan Xue, Xiaohui Xie, Yen-Yu Lin, and Wei Fan. Generating realistic training images based on tonality-alignment generative adversarial networks for hand pose estimation. arXiv preprint arXiv:1811.09916, 2018.

[^10]: Michaël Defferrard, Xavier Bresson, and Pierre Vandergheynst. Convolutional neural networks on graphs with fast localized spectral filtering. In NeurIPS, 2016.

[^11]: Xiaoming Deng, Shuo Yang, Yinda Zhang, Ping Tan, Liang Chang, and Hongan Wang. Hand3d: Hand pose estimation using 3d neural network. arXiv preprint arXiv:1704.02224, 2017.

[^12]: Carl Doersch, Abhinav Gupta, and Alexei A Efros. Unsupervised visual representation learning by context prediction. In CVPR, 2015.

[^13]: Debidatta Dwibedi, Yusuf Aytar, Jonathan Tompson, Pierre Sermanet, and Andrew Zisserman. Temporal cycle-consistency learning. 2019.

[^14]: Liuhao Ge, Yujun Cai, Junwu Weng, and Junsong Yuan. Hand pointnet: 3d hand pose estimation using point sets. In CVPR, 2018.

[^15]: Liuhao Ge, Zhou Ren, Yuncheng Li, Zehao Xue, Yingying Wang, Jianfei Cai, and Junsong Yuan. 3d hand shape and pose estimation from a single rgb image. In CVPR, 2019.

[^16]: Liuhao Ge, Zhou Ren, and Junsong Yuan. Point-to-point regression pointnet for 3d hand pose estimation. In ECCV, 2018.

[^17]: Francisco Gomez-Donoso, Sergio Orts-Escolano, and Miguel Cazorla. Large-scale multiview 3d hand pose dataset. arXiv preprint arXiv:1707.03742, 2017.

[^18]: Yi-Ping Hung and Shih-Yao Lin. Re-anchorable virtual panel in three-dimensional space, Dec. 27 2016. US Patent 9,529,446.

[^19]: Eddy Ilg, Nikolaus Mayer, Tomoy Saikia, Margret Keuper, Alexey Dosovitskiy, and Thomas Brox. Flownet 2.0: Evolution of optical flow estimation with deep networks. In CVPR, 2017.

[^20]: Umar Iqbal, Pavlo Molchanov, Thomas Breuel Juergen Gall, and Jan Kautz. Hand pose estimation via latent 2.5 d heatmap regression. In ECCV, 2018.

[^21]: Hanbyul Joo, Tomas Simon, and Yaser Sheikh. Total capture: A 3d deformation model for tracking faces, hands, and bodies. In CVPR, 2018.

[^22]: David Joseph Tan, Thomas Cashman, Jonathan Taylor, Andrew Fitzgibbon, Daniel Tarlow, Sameh Khamis, Shahram Izadi, and Jamie Shotton. Fits like a glove: Rapid and reliable hand shape personalization. In CVPR, 2016.

[^23]: Hiroharu Kato, Yoshitaka Ushiku, and Tatsuya Harada. Neural 3d mesh renderer. In CVPR, 2018.

[^24]: Sameh Khamis, Jonathan Taylor, Jamie Shotton, Cem Keskin, Shahram Izadi, and Andrew Fitzgibbon. Learning an efficient model of hand shape variation from depth images. In CVPR, 2015.

[^25]: Deying Kong, Yifei Chen, Haoyu Ma, Xiangyi Yan, and Xiaohui Xie. Adaptive graphical model network for 2d hand-pose estimation. arXiv preprint arXiv:1909.08205, 2019.

[^26]: Deying Kong, Haoyu Ma, and Xiaohui Xie. Sia-gcn: A spatial information aware graph neural network with 2d convolutions for hand pose estimation. arXiv preprint arXiv:2009.12473, 2020.

[^27]: Shile Li and Dongheui Lee. Point-to-pose voting based hand pose estimation using residual permutation equivariant layer. arXiv preprint arXiv:1812.02050, 2018.

[^28]: Shih-Yao Lin, Yun-Chien Lai, Li-Wei Chan, and Yi-Ping Hung. Real-time 3d model-based gesture tracking for multimedia control. In ICPR, 2010.

[^29]: Shih-Yao Lin, Chuen-Kai Shie, Shen-Chi Chen, and Yi-Ping Hung. Airtouch panel: a re-anchorable virtual touch panel. In MM, 2013.

[^30]: Alexandros Makris and A Argyros. Model-based 3d hand tracking with on-line hand shape adaptation. In BMVC, 2015.

[^31]: Franziska Mueller Bernard, Oleksandr Sotnychenko, Dar, Dan Casas, and Chr $^{3}$me 3d hand

[^32]: Alejandro Newell, Kaiyu Yang, and Jia Deng. Stacked hour-glass networks for human pose estimation. In ECCV, 2016.

[^33]: Deepak Pathak, Ross Girshick, Piotr Dollár, Trevor Darrell, and Bharath Hariharan. Learning features by watching objects move. In CVPR, 2017.

## [^34]: Charles R. Qi, Hao Su, Kaichun Mo, and Leonidas J. Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. In CVPR, 2017

---

[^35]: Javier Romero, Dimitrios Tzionas, and Michael J Black. Embodied hands: Modeling and capturing hands and bodies together. ACM Transactions on Graphics, 36(6):245, 2017.

[^36]: Carsten Rother, Vladimir Kolmogorov, and Andrew Blake. Grabcut: Interactive foreground extraction using iterated graph cuts. In ACM Transactions on Graphics, volume 23, pages 309–314, 2004.

[^37]: Tomas Simon, Hanbyul Joo, Iain Matthews, and Yaser Sheikh. Hand keypoint detection in single images using multiview bootstrapping. In CVPR, 2017.

[^38]: Bugra Tekin, Federica Bogo, and Marc Pollefeys. H+o: Unified egocentric recognition of 3d hand-object poses and interactions. CVPR, 2019.

[^39]: Chengde Wan, Thomas Probst, Luc Van Gool, and Angela Yao. Self-supervised 3d hand pose estimation through training by fitting. In CVPR, 2019.

[^40]: Chengde Wan, Thomas Probst, Luc Van Gool, and Angela Yao. Dense 3d regression for hand pose estimation. In CVPR, 2018.

[^41]: Xiaokun Wu, Daniel Finnegan, Eamonn O'Neill, and Yong-Liang Yang. Handmap: Robust hand pose estimation via intermediate dense guidance map supervision. In ECCV, 2018.

[^42]: Zhenyu Wu, Duc Hoang, Shih-Yao Lin, Yusheng Xie, Liangjian Chen, Yen-Yu Lin, Zhangyang Wang, and Wei Fan. Mm-hand: 3d-aware multi-modal guided hand generative network for 3d hand pose synthesis. In MM, 2020.

[^43]: Linlin Yang and Angela Yao. Disentangling latent hands for image synthesis and pose estimation. CVPR, 2019.

[^44]: Shanxin Yuan, Guillermo Garcia-Hernando, Björn Stenger, Gyeongsik Moon, Ju Yong Chang, Kyoung Mu Lee, Pavlo Molchanov, Jan Kautz, Sina Honari, Liuhao Ge, Junsong Yuan, Xinghao Chen, Guijin Wang, Fan Yang, Kai Akiyama, Yang Wu, Qingfu Wan, Meysam Madadi, Sergio Escalera, Shile Li, Dongheui Lee, Iason Oikonomidis, Antonis Argyros, and Tae-Kyun Kim. Depth-based 3D hand pose estimation: From current achievements to future goals. In CVPR, 2018.

[^45]: Zahooor Zafrulla, Helene Brashear, Thad Starner, Harley Hamilton, and Peter Presti. American sign language recognition with the kinect. In ICMI, 2011.

[^46]: Jiawei Zhang, Jianbo Jiao, Mingliang Chen, Liangqiong Qu, Xiaobin Xu, and Qingxiong Yang. 3d hand pose tracking and estimation using stereo matching. arXiv preprint arXiv:1610.07214, 2016.

[^47]: Xiong Zhang, Qiang Li, Wenbo Zhang, and Wen Zheng. End-to-end hand mesh recovery from a monocular rgb image. arXiv preprint arXiv:1902.09305, 2019.

[^48]: Zhengli Zhao, Sameer Singh, Honglak Lee, Zizhao Zhang, Augustus Odena, and Han Zhang. Improved consistency regularization for gans. arXiv preprint arXiv:2002.04724, 2020.

[^49]: Zhengli Zhao, Samarth Sinha, Anirudh Goyal, Colin Raffel, and Augustus Odena. Top-k training of gans: Improving gan performance by throwing away bad samples. arXiv preprint arXiv:2002.06224, 2020.

[^50]: Zhengli Zhao, Zizhao Zhang, Ting Chen, Sameer Singh, and Han Zhang. Image augmentations for gan training. arXiv preprint arXiv:2006.02595, 2020.

[^51]: Christian Zimmermann and Thomas Brox. Learning to estimate 3d hand pose from single rgb images. In CVPR, 2017.
