
# SO-HandNet：基于半监督学习的三维手部姿态估计自组织网络

陈宇金 $^{1}$、涂志刚 $^{1*}$、葛柳浩 $^{2}$、张德俊 $^{4}$、陈瑞智 $^{1}$、袁俊松 $^{3}$

 $^{1}$武汉大学，中国武汉

 $^{2}$南洋理工大学，新加坡

 $^{3}$纽约州立大学布法罗分校，美国纽约州布法罗

 $^{4}$中国地质大学，中国武汉

{yujin.chen, tuzhigang, ruizhi.chen}@whu.edu.cn <mailto:ge0001ao@e.ntu.edu.sg> <mailto:zhangdejun@cug.edu.cn> <mailto:jsyuan@buffalo.edu>

## 摘要

近期三维手部姿态估计取得了显著进展，其中卷积神经网络（CNN）发挥着关键作用。然而，现有大多数基于CNN的手部姿态估计方法对训练集的依赖性很强，而标注训练数据中的三维手部姿态既费时又费力。受自组织网络（SO-Net）中提出的点云自编码器启发[^18]，我们提出的SO-HandNet旨在利用无标注数据，以半监督方式实现精准的三维手部姿态估计。我们采用手部特征编码器（HFE）从手部点云中提取多层级特征，再将其融合后通过手部姿态估计器（HPE）回归出三维手部姿态。我们还设计了手部特征解码器（HFD），用于从编码后的特征中恢复输入的点云。由于HFE和HFD的训练无需三维手部姿态标注，因此所提出的方法能够在训练阶段充分利用无标注数据。在四个具有挑战性的基准数据集上的实验表明，我们提出的SO-HandNet通过半监督学习能够实现更优的三维手部姿态估计性能。

### 1. 引言

手部是我们日常活动中人体的重要组成部分。由于其在人机交互（HCI）、计算机图形学以及虚拟/增强现实等领域的广泛应用，自动实时三维手部姿态估计受到了广泛关注。

经过多年的深入研究，三维手部姿态估计在精度和效率方面都取得了显著进步。

![Image](images/130d885123c5375ca4fc821964619ab5aab862362606c0f5b8dd201f5d3aaef8.jpg)

<div style="text-align: center;">For training data without 3D pose annotation: Loss = Loss1</div>

<div style="text-align: center;">Figure 1. Overview of our proposed SO-HandNet for 3D hand pose estimation. In the training phase, we simultaneously use the annotated data and unannotated data to train the model. For training data with 3D hand annotation, both 3D hand pose and a new point cloud are predicted from encoded features. And the network is optimized by point cloud Chamfer loss and hand pose loss. For training data without 3D pose annotation, we use the point cloud Chamfer loss to optimize the HFE and HFD. In the testing phase, the HFE and the HPE are utilized to estimate 3D hand pose.</div>

[^5]: [^7] [^10] [^11] [^12] [^13] [^21] [^22] [^23] [^24] [^29] [^33] [^35] [^36] [^39] [^41]。目前提出的大多数最先进的三维手部姿态估计方法都基于卷积神经网络（CNN）。由于CNN在处理图像方面表现优异，许多研究会对二维CNN进行修改，使其能够处理深度图像[^36]或其二维投影[^11]。然而，由于缺少三维空间信息，二维CNN提取的特征并不直接适用于三维姿态估计。为了更好地捕捉深度数据的几何特征，近期的研究……

---

现有研究[^12] [^21]会将深度图像转换为三维体数据，随后利用三维卷积神经网络来估计手部姿态。不过，这类三维体数据对内存和计算资源的需求较高[^37]。尽管这些方法在估计精度上取得了显著进展，但它们通常需要大量标注完整的训练数据，而这类数据很难获取。仅有少数方法[^3] [^25] [^31] [^38]考虑利用未标注数据来训练手部姿态估计网络。[^31] [^38]采用共享隐空间的生成式深度神经网络来学习手部模型。[^38]试图通过变分自编码器和生成对抗网络的结合来学习手部姿态流形。然而，他们的方法需要建立两个独立流形之间的映射函数，这导致网络难以训练。[^3]利用合成数据来丰富现有数据集，但合成的深度图与现实世界数据存在差异。[^31]提出从图像中学习单一隐空间，但这无法充分利用深度图像中的三维信息。

为解决这些问题，受SO-Net[^18]近期研究的启发——该方法利用空间分布特性对点云进行分层特征提取，并引入点云自编码器作为预训练手段以提升网络性能——我们旨在直接从三维点云回归手部姿态，并在半监督训练阶段运用点云自编码器机制。[^10]是首个直接从三维点云回归手部姿态的研究。与[^28]中的PointNet++[^10]相比，我们的HFE所采用的自组织网络能够通过系统性调整感受野重叠范围来进行分层特征提取。因此，我们方法中的特征编码器能够揭示输入点云的空间分布特性。最重要的是，我们采用了一种自编码器结构，其解码器可从点集的全局表征中恢复出点云。为了学习更具区分性的全局特征，我们将恢复出的点云与原始点云进行比较。如此一来，我们便能结合标注数据与未标注数据来训练网络。自编码器的思想近期已被应用于手部姿态估计任务[^31]。与他们的方法不同，他们直接处理RGB图像或深度图像。

如图1所示，我们提出了一种基于单张深度图像的三维手部姿态估计端到端回归方法。首先，将深度图像转换为一组三维点；随后，在点云被输入网络之前对其进行采样和归一化处理。编码器通过分层提取机制将输入点云编码为全局特征，同时也会收集被称为节点特征的中间特征。全局特征和节点特征均被用于三维手部姿态估计。此外，在训练阶段，所获得的全局特征可用来重建点云，以便与原始输入点云进行比较。借此，我们通过缩小重建点云与原始点云之间的差距来优化全局特征的表征能力。当训练集中部分数据有标注、其余数据无标注时，所提方法的优势便得以显现：此时，我们利用标注数据训练整个网络，而利用未标注数据辅助训练编码器和解码器。总之，我们的方法具有以下贡献：

- 我们提出利用半监督学习直接从三维点云中估计三维手部姿态。我们设计了一种半监督训练策略，利用少量标注数据来训练整个流程，并充分利用未标注数据来优化网络。

- 在三维手部姿态估计方面，我们提出了一种新颖的点云编解码机制来提取和评估特征。自组织编码器通过自组织图引导的层次化特征提取方式来建模点云的空间分布。解码器则从编码后的全局特征中重建手部点云，从而帮助学习点云编码器。

• 我们在四个手部姿态估计数据集上进行了全面的实验。实验结果表明，我们提出的SO-HandNet的性能优于近期的半监督方法。此外，它的表现也优于或可与最先进的全监督方法相媲美。

### 2. 相关工作

手部姿态估计。得益于微软Kinect [^46]和英特尔RealSense [^15]等低成本深度传感器的显著进步与发展，基于深度的手部姿态估计领域逐渐受到关注。基于深度的手部姿态估计方法可分为生成式方法、判别式方法和混合式方法。关于手部姿态估计的全面综述可参见[^34]和[^43]。我们的三维手部姿态估计方法与判别式方法相关，且应用了深度神经网络。Tompson等人[^36]首次将卷积神经网络应用于手部姿态估计任务，他们训练卷积神经网络输出热图图像，进而推断出对应的三维手部姿态。不过，二维热图中会丢失三维空间信息。Ge等人[^11]通过将深度图像投影到多视角，再从多个热图中恢复三维坐标来解决这一问题。Ge等人[^12]将点云编码为手部的三维体素表示，并利用三维卷积神经网络直接回归三维手部姿态。Ge等人[^10]提出了HandPointNet，可直接处理用于手部姿态估计的三维点云，还设计了指尖精细化网络来优化指尖位置。Moon等人[^21]利用体素到体素的预测方式，采用三维体素网格并估算每个关键点的逐体素概率。此外，还有一些方法结合了语义分割[^6]、在骨骼空间中增强数据[^3]以及引导学习——

---

借助合成图像进行训练[^29]。近年来，半监督学习方法已被应用于手部姿态估计任务。Wan等人[^38]利用两个共享潜在空间的深度生成模型来建模深度图像与对应手部姿态之间的统计关系。他们设计了一种能够通过半监督方式从未标记数据中学习的架构。Spurr等人[^31]提出通过生成式深度神经网络，利用跨模态训练的潜在空间来学习手部模型；他们同样借助交叉训练来利用未标记数据。[^25]则利用带标签的合成数据和无标签的真实数据来学习真实数据与合成数据之间的特征映射。我们的方法虽受[^10]的启发，但本质上与其有所不同。我们采用多尺度、多分辨率分组方式来整合来自不同尺度的特征；此外，我们的特征编码器能够显式建模输入点集的空间分布。而且，所提出的方法针对特定场景设计了半监督训练模型。

3D深度学习。随着ShapeNet [^4] 和ModelNet [^40] 等大型3D数据集的出现，3D深度学习正日益兴起。3D数据既可以表示为栅格化形式（如多视角图像和体素），也可以表示为几何形式（如多边形网格、点云以及基于基元的CAD模型），目前已有多种深度学习方法 [^14] [^16] [^20] [^26] [^27] [^28] [^30] [^32] [^40] [^42] 用于处理这些数据。我们的工作与那些直接将点云作为输入的方法密切相关。Qi等人 [^26] 提出的PointNet是首个利用深度学习直接处理点云的算法。他们采用对称的最大池化操作将局部点特征聚合为一个对输入点的排列具有不变性的全局描述符。随后，他们又设计了PointNet++ [^28]，通过在不同层级将点分组，从而从多个尺度层次化地提取特征。Uy等人结合并改进了先前的PointNet [^26] 和NetVLAD [^2] 算法，提出了PointNetVLAD方法 [^1]。这种深度网络支持端到端的训练和推理，能够从输入的3D点集中提取全局描述符。Li等人 [^19] 提出的PointCNN则利用典型的CNN从点云中学习特征。在SO-Net [^18] 中，Li等人提出了一种排列不变的自组织网络（SO-Net），它在特征提取过程中显式地对输入点云的空间分布进行建模。通过执行点对节点的k近邻搜索，可以系统地调整该网络的感受野。在本文中，我们采用了类似SO-Net的架构来对输入点云进行层次化特征提取。关于SO-Net的更多细节将在第3.1节中介绍。

### 3. 所提出的方法

与我们之前的研究 [^10] 类似，我们的手部姿态估计方法也属于基于回归的方法。一般来说，手部姿态回归方法以包含手部的深度图像为输入，输出的是3D手部关节在相机坐标系下的估计位置。手部深度图像会被转换为一组3D点，这些点在输入网络之前会经过采样和归一化处理。在本研究中，我们展示了一个由三部分组成的流程：利用HFE进行层次化特征提取，接着用HPE融合多层级特征以回归出3D手部姿态；此外，我们还利用HFD在训练阶段优化特征编码过程。

接下来，我们首先简要介绍点云预处理的流程，回顾用于点云分析的SO-Net机制，然后阐述我们所提出的上手部姿态估计方法。

#### 3.1. SO-Net回顾

SO-Net [^18]是一种用于深度学习无序点云的排列不变架构。该网络通过构建自组织映射（SOM）[^17]来建模一组点的空间分布，随后对单个点和SOM节点进行分层特征提取，最终生成输入点云的判别性特征。如图2所示，会构建一个大小为$M = m \times m$的SOM，以生成输入N个点的二维表示。SOM是通过无监督的竞争学习方法来构建的。根据SOM的输出，会执行点到节点的k近邻（kNN）搜索。在此过程中，会针对每个点$p_i$在SOM节点S上搜索kNN。通过与相关节点做差，每个$p_i$会被归一化为k个点，进而将点云转换为kN个归一化点。随后采用一系列全连接层来提取单个点的特征。在上述kNN关联之后，会执行通道级最大池化操作，从而从与对应SOM节点相关联的点特征中获取节点特征。接着将M个节点特征送入一系列共享层，最终聚合为代表输入点云的全局特征。与采用分组策略处理点云的PointNet++ [^28]相比，SO-Net采用了高效的分离-组装方法，因为SOM能够清晰阐释点的空间分布。

![Image](images/03412c6783c23b7283c61fe0ec238e903c94e5c5d147df367ee412bafcdc1aa0.jpg)

<div style="text-align: center;">Figure 2. Left: The initial nodes of an  $8 \times 8$ self-organizing map (SOM). Right: Example of a SOM training result. After an unsupervised competitive learning procedure, the nodes fit well with the input point cloud.</div>

---

![Image](images/5082b71871e0d305e327b3eeb5a38f9bff99ec3fc612e863f3b3aea633738223.jpg)

<div style="text-align: center;">Figure 3. The architecture of our proposed SO-HandNet. In the HFE, input points  $N \times C$ are normalized with the k-nearest SOM node. After a series of shared FC layers, normalized points are transferred into point features and later max-pooled into node features, these node features are aggregated into a global representation accordingly. In the HPE, multi-level features extracted by the HFE are combined and then forward into FC layers to regress the output pose. In this figure, N refers to the point number, C refers to the input channel (C equals to 3 when only inputs points and equals to 6 while the surface normal of each point is also applied), k refers to the k neighbors in kNN search, M refers to the node number,  $N_{J}$ refers to the joint number.</div>

由于SOM能够清晰阐释点的空间分布，因此该方法十分高效。

#### 3.2. 点云处理

首先根据深度相机的内参，将手部深度图像转换为一组3D点。为了提升计算效率，会对该3D点集进行采样，得到N个点。在我们的实现中，将采样点的数量N设为1024，并将采样得到的3D点集变换并归一化到有向边界框坐标系（OBB C.S.）[^10]中。原始手部点云在相机坐标系中可能存在多种朝向，但归一化到OBB C.S.后，点云的朝向会更加一致。[^10]中的实验表明，基于OBB的点云归一化能够提升分层点特征提取的性能。

#### 3.3. 手部姿态回归网络

我们设计了一个可用于3D手部姿态估计的端到端可训练网络。姿态回归问题以一组归一化点$X = \{x_i\}_{i=1}^N = \{(p_i, n_i)\}_{i=1}^N$为输入，输出估计的姿态$\hat{P} = \{pose_i\}_{i=1}^{N_J} = \{(x_i, y_i, z_i)\}_{i=1}^{N_J}$，该姿态包含$N_J$个三维手部关节；其中$p_i$是点的3D坐标，$n_i$是3D表面法线。回归函数$f_r$可由以下公式给出：

 $$ \hat{P}=f_{r}(X,\theta_{r}), $$

其中$\theta_{r}$是回归函数$f_{r}$的可训练参数。在我们的方法中，采用深度CNN来优化参数$\theta_{r}$，从而最小化估计的手部姿态$\hat{P}$与真实手部姿态P之间的差距。

手部特征编码器（HFE）。我们的HFE $f_{HFE}$ 能够从输入点云中分层提取多层级特征。如图3所示，我们对SO-Net的编码器进行了重构 [^18] ，以处理手部点云数据。在SOM的指导下，该编码器能够分层捕捉特征，并输出包括点特征、节点特征和全局特征在内的多层级特征。HFE的输入既可以是归一化后的点坐标，也可以是坐标与表面法向量的组合。借助由SOM引导的kNN搜索，输入数据可被转换为kN个归一化点，随后通过一系列共享的全连接层来提取单个点的特征。得到的点特征会被送入通道级最大池化层，以生成节点特征。接着，这些节点特征会被传递到一系列共享层中，最终聚合为一个代表整个输入点集的全局向量。

手部特征解码器（HFD）。我们设计了HFD $f_{HFD}$ ，用于从编码后的全局特征向量中恢复输入点云。如图4所示，我们通过一个包含两条并行分支的网络来生成点云 [^8] [^18] ，即全连接分支和反卷积分支。已有研究证明 [^8] ，双分支方法在生成点云方面的性能优于单分支方法。全连接分支可预测出 $\tilde{N}_1$ 个点，由于每个点都是独立预测的，因此该分支赋予了解码器很高的灵活性。反卷积分支则能预测出一个大小为 $3 \times W \times H$ 的特征矩阵，其中 $\tilde{N}_1 = W \times H$ 表示点的数量。得益于卷积层带来的空间连续性，恢复出的点具有更好的几何一致性。此外，该分支采用的权重共享机制使其所需参数比全连接分支更少。上述内容介绍了HFD的设计思路，我们建议采用倒角距离（CD）作为解码器损失函数（ $Loss_D$ ），用以评估恢复后的点云与原始点云之间的相似度。

---

![Image](images/cb2570cf4becce4a0d15ace52b5981e79e62ff74b2a15e5fad7ef7390026628f.jpg)

<div style="text-align: center;">Figure 4. The architecture of the hand feature decoder (HFD) which takes the input point cloud and recovers a new point cloud. The FC branch predicts each point independently and shows good performance at describing intricate structures. The upconv branch consists of deconvolution and convolution, and used to exploit spatial continuity. The conv2pc module consists of two  $1 \times 1$ convolution layers. The predictions of two branches are later merged together to form the whole set of points.</div>

点云 $X_r \in \mathbb{R}^3$ 与输入点云 $X \in \mathbb{R}^3$ 之间的相似度计算如下：

 $$ \begin{align*}Loss_{D}(\boldsymbol{X}_{r},\boldsymbol{X})=\frac{1}{|\boldsymbol{X}_{r}|}\sum_{\boldsymbol{x}\in\boldsymbol{X}_{r}}min_{\boldsymbol{y}\in\boldsymbol{X}}\|\boldsymbol{x}-\boldsymbol{y}\|_{2}^{2}\\+\frac{1}{|\boldsymbol{X}|}\sum_{\boldsymbol{y}\in\boldsymbol{X}}min_{\boldsymbol{x}\in\boldsymbol{X}_{r}}\|\boldsymbol{x}-\boldsymbol{y}\|_{2}^{2}.\end{align*} $$

需要注意的是，X中的点数与 $X_{r}$ 中的点数未必相同。对于每一个点，CD会在另一个点集中找到其最近邻点，并将这些距离相加得出最终结果。

手部姿态估计器（HPE）。为了从HFE提取的特征中恢复手部姿态，我们构建了手部姿态估计器 $f_{HPE}$ 。由于编码器流程中获得了多层级特征，这些特征可作为HPE的输入。不过，这些特征是否会对姿态估计产生影响还需验证。根据不同层级特征的特点以及组合方式，我们构建了四种HPE的输入特征变体。输入可以是全局特征，也可以是其他三种变体（如图5所示）；我们将在第4.1节中对比这些不同融合方法的性能。整合后的特征会被送入共享的全连接层，以确保各通道尺寸一致，随后通过平均池化来融合冗余信息。此外，还会应用一系列全连接层来回归手关节的坐标。在训练网络时，我们采用欧几里得距离（ED）作为预测姿态的损失函数，具体公式如下：

 $$ L o s s_{E}(\hat{P},P)=\frac{1}{|N_{J}|}\sum_{i=1}^{N_{J}}(\parallel p\hat{o s e}_{i}-p o s e_{i}\parallel_{2}^{2}), $$

其中 $p\hat{o}se_{i}$ 表示第i个关节的预测坐标，而 $pose_{i}$ 则对应其真实坐标。

#### 3.4. 半监督训练

在构建数据集时，为3D姿态估计标注真实值既具有挑战性又耗时。我们提出了一种半监督训练方法，通过充分利用未标注数据，仅用较少的标注数据就能训练出适用的手部姿态估计模型（如图1所示）。利用未标注数据训练网络时，HFD会重建一个新的点云，将其与原始点云进行比较，随后计算出点云倒角损失$Loss_{D}$。此时，训练损失$Loss_{t1}$被定义为：

 $$ Loss_{t1}=Loss_{D}. $$

这种训练损失$Loss_{t1}$用于优化HFE和HFD。当使用标注数据训练网络时，除了由HFD计算出的倒角损失$Loss_{D}$外，HPE还会预测3D手部姿态并计算姿态损失$Loss_{E}$。对于标注数据而言，训练损失$Loss_{t2}$被定义为：

 $$ Loss_{t2}=\lambda\times Loss_{E}+Loss_{D}, $$

其中$\lambda$为权重因子。训练损失$Loss_{t2}$用于优化整个网络。

### 4. 实验

本节为了评估所提出的方法，选取了四个具有挑战性的公开可用手部姿态数据集进行实验。ICVL数据集[^35]包含22,059帧训练数据和1,596帧测试数据，该数据集提供了每帧中16个手部关节的真实值。MSRA数据集[^33]包含来自9名受试者的超过76K帧数据，每名受试者有17种手势，每种手势约含500帧；对于每一帧，数据集都提供了手部区域的边界框以及21个手部关节的坐标。遵循以往的研究做法，我们采用留一受试者交叉验证策略进行评估。NYU数据集[^36]包含72,757帧训练集数据和8,252帧测试集数据，每帧都提供了来自3台Kinect的RGBD数据；在我们的实验中，仅使用深度图像。真实值中包含$J = 36$个已标注的关节，我们针对

---

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

<div style="text-align: center;">Figure 5. Strategies of feature fusion. (a) Fusing global and node features in M channels. (b) Fusing global and node features in kN channels. (c) Fusing global, node and point features in kN channels.</div>

这$J = 14$个手部关节的子集进行评估，正如[^7]、[^10]、[^12]、[^39]所指出的那样，且训练和测试阶段均仅使用视角1。HANDS 2017挑战赛基于帧的数据集[^44]包含957k帧训练数据和295k帧测试数据，这些数据采样自BigHand2.2M[^45]和FHAD[^9]数据集，该数据集有21个已标注的关节。

我们使用两个常用的指标来评估手部姿态估计性能。第一个指标是在所有测试帧上各关节的欧几里得空间平均误差，以及所有测试帧中所有关节的总体平均误差。第二个指标是最大关节误差低于某一阈值的合格帧所占比例。

在网络架构方面，我们输入采样并归一化后的点以及表面法向量。采样点的数量N设为1024，kNN搜索中的k值设为3。我们选择了大小为$8 \times 8$的SOM。我们的实验在PyTorch框架下开展，所用工作站配备Intel Xeon E5-2620处理器、64GB内存和NVIDIA TITAN Xp GPU。

#### 4.1. 自我比较

融合策略的影响。为了更好地表示输入点云，HFE会分层提取多级特征：点特征、节点特征和全局特征。首先，我们想确定节点特征和点特征是否真的有助于姿态回归。我们以全局特征作为HPE的输入作为基准方法，并构建了三种特征融合策略（如图5所示）。(a) 全局特征 + 节点特征（v1）：将全局特征向量重复M次，然后与M个节点特征拼接在一起。(b) 全局特征 + 节点特征

![Image](images/feec4bc4fa0a7dde10b04b7414274e07bc722166a036e49774a11ebe1376286d.jpg)

<div style="text-align: center;">Figure 6. Self-comparison on ICVL dataset. The impact of fusion strategies on per-joint mean error and overall mean error are shown.</div>

![Image](images/31c45fb523840e8176dccde4d3394ff91b639ef16e5603b18ca1bcc814c3d682.jpg)

<div style="text-align: center;">Figure 7. Self-comparison on ICVL dataset. The mean error of our model trained supervised and semi-supervised with the percentage of annotated data.</div>

（v2）：将全局特征向量重复kN次，然后与相关的kN个节点特征拼接在一起。(c) 全局特征 + 节点特征 + 点特征：按照上述方式将全局特征和节点特征转换为kN个特征，再将全局特征、节点特征和点特征合并为集成特征。我们在ICVL数据集上评估了这些不同的融合策略。值得注意的是，不同组合特征的尺寸并不会影响我们的估计过程，因为我们采用共享的全连接层和平均池化操作来将组合特征转换为固定尺寸。如图6所示，全局特征 + 节点特征（v1）的准确率最高。与仅使用全局特征相比，融合节点特征能够提升性能。我们还对比了两种融合全局特征和节点特征的方式，发现v1的表现优于v2。此外，在之前的融合基础上添加点特征不仅没有起到积极作用，反而略微降低了性能。

半监督学习的影响。我们研究了半监督学习对ICVL数据集以及HANDS 2017挑战赛基于帧的数据集的影响。在相同的网络架构下，我们利用训练集中部分标注数据来训练整个网络，同时利用其余数据在不使用其姿态信息的情况下训练自编码器。如图7所示，

---

与仅用相同规模的标注数据训练的方法相比，性能得到了显著提升。当分别使用25%、50%和75%的标注数据进行模型训练时，半监督训练带来的提升分别为13.2%、11.7%和0.7%。当标注数据的比例较小时（如25%），利用未标注数据能够显著改善手部姿态估计效果。通过半监督方案用25%的标注数据训练得到的性能，可与常规方案中用50%标注数据训练的性能相媲美。当比较半监督方式下用50%标注数据训练的方法与常规方式下用75%标注数据训练的方法时，也能观察到这一特点。在HANDS 2017挑战赛基于帧的数据集上，我们利用10%的标注数据以及其余未标注数据进行模型训练，同样取得了显著的提升（如表1所示）。经过15个训练轮次后，全监督训练的平均误差为40.03毫米，而我们的半监督训练平均误差仅为24.65毫米。需要注意的是，我们的实验中并未采用数据增强技术。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Fully-supervised</td><td style='text-align: center; word-wrap: break-word;'>Our Semi-supervised</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Mean error</td><td style='text-align: center; word-wrap: break-word;'>40.03 mm</td><td style='text-align: center; word-wrap: break-word;'>24.65 mm</td></tr></table>

<div style="text-align: center;">Table 1. The mean error of our model trained supervised and semi-supervised with the 10% of labeled data on HANDS 2017 Challenge Frame-based Dataset.</div>

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

我们将我们的方法与一些最先进的方法进行比较，包括LRF [^35]、Deep Model [^47]、DeepProir [^23]、Crossing Nets [^38]、Cascade [^33]、HBE [^48]以及V2V-PoseNet [^21]。如表2所示，在不进行任何数据增强的情况下，利用所有标注的训练数据时，我们取得了可与之媲美的准确率。除了V2V-PoseNet之外，我们的结果优于其他所有方法。值得注意的是，我们用于训练网络的数据量更少，且使用该方法的计算成本也更低。总体而言，在实时手部姿态估计任务中，我们取得了与最先进的监督学习方法相当的性能。

为了验证半监督训练策略的有效性，我们将我们的方法与同样旨在解决数据标注难题的最先进方法 [^3]、[^31]、[^38] 进行比较。与所提出的方法——减少用于训练的标注数据量并充分利用未标注数据不同，Baek等人 [^3] 的核心思路是在骨骼空间中合成数据以进行数据增强。Beak等人使用的标注帧比例为100%，他们用比原始训练集大约10倍的增强数据集来训练模型。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Mean Error(mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LRF</td><td style='text-align: center; word-wrap: break-word;'>12.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Deep Prior</td><td style='text-align: center; word-wrap: break-word;'>11.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Deep Model</td><td style='text-align: center; word-wrap: break-word;'>10.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Crossing Nets</td><td style='text-align: center; word-wrap: break-word;'>10.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cascade</td><td style='text-align: center; word-wrap: break-word;'>9.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HBE</td><td style='text-align: center; word-wrap: break-word;'>8.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>7.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet</td><td style='text-align: center; word-wrap: break-word;'>6.3</td></tr></table>

<div style="text-align: center;">Table 2. Comparison of the mean error with the state-of-the-arts on ICVL dataset.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Parameter Quantity</td><td style='text-align: center; word-wrap: break-word;'>Testing Speed</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet</td><td style='text-align: center; word-wrap: break-word;'>457.5M</td><td style='text-align: center; word-wrap: break-word;'>3.5fps</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>16.6M</td><td style='text-align: center; word-wrap: break-word;'>58fps</td></tr></table>

<div style="text-align: center;">Table 3. Comparison of parameter quantity and testing time on single GPU.</div>

![Image](images/15d99458d6d2b7f1951a49121385ce4d17f5d86f2f2d93a3b32c7324104f5f96.jpg)

![Image](images/b32577a3267fdf965508a19c25c3d618ec0939693e7c4351bd715df99ac93182.jpg)

<div style="text-align: center;">Figure 8. Comparison with Crossing Nets on ICVL (left) and NYU (right) datasets. The mean error of semi-supervised trained model with the percentage of annotated data.</div>

如表格4所示，与 [^3] 相比，在使用相同数量的标注数据时，我们的方法能取得更好的性能；此外，仅使用部分标注帧时，我们的方法也优于他们。Crossing Nets [^38] 是在半监督场景下实现精确手部姿态估计的里程碑式成果之一。我们使用相同比例的标注训练数据将我们的方法与 [^38] 进行比较。如图8和表格4所示，在大多数实验中我们的方法都优于它们。更重要的是，当标注帧的比例从25%增加到75%时，他们的方法几乎没有改进，而我们的方法却取得了显著提升。图9显示，在三个数据集上，对于大多数误差阈值而言，我们的方法性能都优于最近提出的半监督方法 [^31]、[^38]。在NYU数据集上，当允许的最大距离在20毫米到30毫米之间时，我们方法的优质帧比例比它们高出约30%。在MSRA数据集上，当允许的最大距离在20毫米到30毫米之间时，我们方法的优质帧比例比它们高出约15%。在ICVL数据集上，

---

![Image](images/a61e9790ec9fee48e222c989bf486c2a2272a38ba484e31463dd5ff7b6bf3e60.jpg)

![Image](images/db91fe80b3e79f88a43aaf53ef6c00ddcf3dc076dd06e651537e8f443ec2dd70.jpg)

![Image](images/a719a0ab760146bff607d81c56ffcddb5cfca464ea2c4ff54cf981bae43c5e76.jpg)

<div style="text-align: center;">Figure 9. Comparison of our approach with recently state-of-the-art semi-supervised methods on NYU (left), MSRA (middle) and ICVL (right) datasets. The proportion of good frames over different error thresholds are presented in this figure.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Annotated Frame Usage</td><td style='text-align: center; word-wrap: break-word;'>Augmented Set</td><td style='text-align: center; word-wrap: break-word;'>ICVL(mm)</td><td style='text-align: center; word-wrap: break-word;'>NYU(mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Beak et al.(baseline)</td><td style='text-align: center; word-wrap: break-word;'>100%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>12.1</td><td style='text-align: center; word-wrap: break-word;'>17.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Beak et al.(w/o aug.; refine)</td><td style='text-align: center; word-wrap: break-word;'>100%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>10.4</td><td style='text-align: center; word-wrap: break-word;'>16.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Beak et al.(w/o refine)</td><td style='text-align: center; word-wrap: break-word;'>100%</td><td style='text-align: center; word-wrap: break-word;'>Yes, 10 times</td><td style='text-align: center; word-wrap: break-word;'>9.1</td><td style='text-align: center; word-wrap: break-word;'>14.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Beak et al.</td><td style='text-align: center; word-wrap: break-word;'>100%</td><td style='text-align: center; word-wrap: break-word;'>Yes, 10 times</td><td style='text-align: center; word-wrap: break-word;'>8.5</td><td style='text-align: center; word-wrap: break-word;'>14.1</td></tr><tr><td rowspan="4">Crossing Nets</td><td style='text-align: center; word-wrap: break-word;'>25%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>10.5</td><td style='text-align: center; word-wrap: break-word;'>16.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>50%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>10.0</td><td style='text-align: center; word-wrap: break-word;'>16.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>75%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>10.1</td><td style='text-align: center; word-wrap: break-word;'>15.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>100%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>10.2</td><td style='text-align: center; word-wrap: break-word;'>15.5</td></tr><tr><td rowspan="4">Ours</td><td style='text-align: center; word-wrap: break-word;'>25%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>11.1</td><td style='text-align: center; word-wrap: break-word;'>14.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>50%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>9.4</td><td style='text-align: center; word-wrap: break-word;'>14.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>75%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>9.1</td><td style='text-align: center; word-wrap: break-word;'>12.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>100%</td><td style='text-align: center; word-wrap: break-word;'>No</td><td style='text-align: center; word-wrap: break-word;'>7.7</td><td style='text-align: center; word-wrap: break-word;'>11.2</td></tr></table>

<div style="text-align: center;">Table 4. Comparison of our work with semi-supervised methods on ICVL and NYU datasets. We evaluate the performance by test estimation error as well as the percentage of annotated data and total data used for model training. Our network produces better accuracy and more applicable to circumstance when the annotated data is limited.</div>

当允许的最大距离为15%时，我们方法的优质帧比例比 [^31] 高出约10%，比 [^38] 高出约20%。总之，我们的方法为减少手部姿态估计任务中对标注数据的依赖提供了一种实用的方案，且性能优于近期的半监督方法。

#### 4.3. 运行时间与模型大小

我们的平均测试时间为17.2毫秒，其中数据处理（包括点采样和表面法线计算）耗时8.2毫秒，手部姿态估计耗时9.0毫秒。我们的方法能以约58帧/秒的速度实时运行。此外，HFE、HFD和HPE的规模分别为8.1M、74M和8.5M。由于我们在测试阶段仅使用HFE和HPE，因此我们网络的模型大小为16.6MB。

### 5. 结论

在本文中，我们提出了一种用于从单张深度图像估计3D手部姿态的新颖网络。为了更好地表示原始数据并高效提取特征，我们将深度图像转换为点云，并通过自组织编码器提取多层级特征。这些多层级特征被融合起来以回归出精确的3D手部姿态。此外，我们在训练阶段利用解码器来优化编码过程。另外，为了减轻训练数据中繁琐的3D手部姿态标注负担，我们提出采用半监督方式，利用已标注数据和未标注数据来训练我们的手部姿态估计网络。在四个数据集上的实验结果表明，我们提出的SO-HandNet在基于深度图像的3D手部姿态估计半监督训练任务中取得了优异的性能。

致谢：本研究部分得到了国家重点研发计划（项目编号：2018YFB1600600、2016YFB0502200和2016YFB0502201）的支持。本研究还得到了纽约州立大学布法罗分校启动资金的部分资助。

---

## 参考文献

[^1]: Mikaela Angelina Uy and Gim Hee Lee. Pointnetvlad: Deep point cloud based retrieval for large-scale place recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4470–4479, 2018.

[^2]: Relja Arandjelovic, Petr Gronat, Akihiko Torii, Tomas Pajdla, and Josef Sivic. Netvlad: Cnn architecture for weakly supervised place recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 5297–5307, 2016.

[^3]: Seungryul Baek, Kwang In Kim, and Tae-Kyun Kim. Augmented skeleton space transfer for depth-based hand pose estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 8330–8339, 2018.

[^4]: Angel X Chang, Thomas Funkhouser, Leonidas Guibas, Pat Hanrahan, Qixing Huang, Zimo Li, Silvio Savarese, Manolis Savva, Shuran Song, Hao Su, et al. Shapenet: An information-rich 3d model repository. arXiv preprint arXiv:1512.03012, 2015.

[^5]: Xinghao Chen, Guijin Wang, Hengkai Guo, and Cairong Zhang. Pose guided structured region ensemble network for cascaded hand pose estimation. Neurocomputing, 2019.

[^6]: Xinghao Chen, Guijin Wang, Cairong Zhang, Tae-Kyun Kim, and Xiangyang Ji. Shpr-net: Deep semantic hand pose regression from point clouds. IEEE Access, 6:43425–43439, 2018.

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

[^8]: Haoqiang Fan, Hao Su, and Leonidas J Guibas. A point set generation network for 3d object reconstruction from a single image. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 605–613, 2017.

[^9]: Guillermo Garcia-Hernando, Shanxin Yuan, Seungryul Baek, and Tae-Kyun Kim. 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, pages 409–419, 2018.

[^10]: Liuhao Ge, Yujun Cai, Junwu Weng, and Junsong Yuan. Hand pointnet: 3d hand pose estimation using point sets. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 8417–8426, 2018.

[^11]: Liuhao Ge, Hui Liang, Junsong Yuan, and Daniel Thalmann. Robust 3d hand pose estimation in single depth images: from single-view cnn to multi-view cnns. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 3593–3601, 2016.

[^12]: Liuhao Ge, Hui Liang, Junsong Yuan, and Daniel Thalmann. 3d convolutional neural networks for efficient and robust hand pose estimation from single depth images. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1991–2000, 2017.

[^13]: Hengkai Guo, Guijin Wang, Xinghao Chen, Cairong Zhang, Fei Qiao, and Huazhong Yang. Region ensemble network: Improving convolutional network for hand pose estimation.

收录于2017年IEEE国际图像处理会议（ICIP），第4512–4516页。IEEE出版社，2017年。

[^14]: Evangelos Kalogerakis, Melinos Averkiou, Subhransu Maji, and Siddhartha Chaudhuri. 3d shape segmentation with projective convolutional networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3779–3788, 2017.

[^15]: Leonid Keselman, John Iselin Woodfill, Anders Grunnet-Jepsen, and Achintya Bhowmik. Intel realsense stereoscopic depth cameras. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, pages 1–10, 2017.

[^16]: Roman Klokov and Victor Lempitsky. Escape from cells: Deep kd-networks for the recognition of 3d point cloud models. In Proceedings of the IEEE International Conference on Computer Vision, pages 863–872, 2017.

[^17]: Teuvo Kohonen and Timo Honkela. Kohonen network. Scholarpedia, 2(1):1568, 2007.

[^19]: Yangyan Li, Rui Bu, Mingchao Sun, Wei Wu, Xinhan Di, and Baoquan Chen. Pointcnn: Convolution on x-transformed points. In Advances in Neural Information Processing Systems, pages 828–838, 2018.

[^18]: Jiaxin Li, Ben M Chen, and Gim Hee Lee. So-net: Self-organizing network for point cloud analysis. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 9397–9406, 2018.

[^20]: Daniel Maturana and Sebastian Scherer. Voxnet: A 3d convolutional neural network for real-time object recognition. In 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 922–928. IEEE, 2015.

[^21]: Gyeongsik Moon, Ju Yong Chang, and Kyoung Mu Lee. V2v-posenet: Voxel-to-voxel prediction network for accurate 3d hand and human pose estimation from a single depth map. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 5079–5088, 2018.

[^22]: Markus Oberweger and Vincent Lepetit. Deepprior++: Improving fast and accurate 3d hand pose estimation. In Proceedings of the IEEE International Conference on Computer Vision, pages 585–594, 2017.

[^23]: Markus Oberweger, Paul Wohlhart, and Vincent Lepetit. Hands deep in deep learning for hand pose estimation. arXiv preprint arXiv:1502.06807, 2015.

[^24]: Markus Oberweger, Paul Wohlhart, and Vincent Lepetit. Training a feedback loop for hand pose estimation. In Proceedings of the IEEE International Conference on Computer Vision, pages 3316–3324, 2015.

[^25]: Georg Poier, Michael Opitz, David Schinagl, and Horst Bischof. Murauer: Mapping unlabeled real data for label austerity. In 2019 IEEE Winter Conference on Applications of Computer Vision (WACV), pages 1393–1402. IEEE, 2019.

[^26]: Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 652–660, 2017.

## [^27]: Charles R Qi, Hao Su, Matthias Nießner, Angela Dai, Mengyuan Yan, and Leonidas J Guibas. Volumetric and

---

用于3D数据上物体分类的多视角CNN。收录于IEEE计算机视觉与模式识别会议论文集，第5648–5656页，2016年。

[^28]: Charles Ruizhongtai Qi, Li Yi, Hao Su, and Leonidas J Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In Advances in Neural Information Processing Systems, pages 5099–5108, 2017.

[^29]: Mahdi Rad, Markus Oberweger, and Vincent Lepetit. Feature mapping for learning fast and accurate 3d pose inference from synthetic images. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4663–4672, 2018.

[^30]: Gernot Riegler, Ali Osman Ulusoy, and Andreas Geiger. Octnet: Learning deep 3d representations at high resolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3577–3586, 2017.

[^31]: Adrian Spurr, Jie Song, Seonwook Park, and Otmar Hilliges. Cross-modal deep variational hand pose estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 89–98, 2018.

[^32]: Hang Su, Subhransu Maji, Evangelos Kalogerakis, and Erik Learned-Miller. Multi-view convolutional neural networks for 3d shape recognition. In Proceedings of the IEEE international conference on computer vision, pages 945–953, 2015.

[^33]: Xiao Sun, Yichen Wei, Shuang Liang, Xiaoou Tang, and Jian Sun. Cascaded hand pose regression. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 824–832, 2015.

[^34]: James S Supancic, Grégory Rogez, Yi Yang, Jamie Shotton, and Deva Ramanan. Depth-based hand pose estimation: data, methods, and challenges. In Proceedings of the IEEE international conference on computer vision, pages 1868–1876, 2015.

[^35]: Danhang Tang, Hyung Jin Chang, Alykhan Tejani, and Tae-Kyun Kim. Latent regression forest: Structured estimation of 3d articulated hand posture. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 3786–3793, 2014.

[^36]: Jonathan Tompson, Murphy Stein, Yann Lecun, and Ken Perlin. Real-time continuous pose recovery of human hands using convolutional networks. ACM Transactions on Graphics (ToG), 33(5):169, 2014.

[^37]: Zhigang Tu, Hongyan Li, Dejun Zhang, Justin Dauwels, Baoxin Li, and Junsong Yuan. Action-stage emphasized spatiotemporal vlad for video action recognition. IEEE Transactions on Image Processing, 28(6):2799–2812, 2019.

[^38]: Chengde Wan, Thomas Probst, Luc Van Gool, and Angela Yao. Crossing nets: Combining gans and vaes with a shared latent space for hand pose estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 680–689, 2017.

[^39]: Chengde Wan, Thomas Probst, Luc Van Gool, and Angela Yao. Dense 3d regression for hand pose estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 5147–5156, 2018.

[^40]: Zhirong Wu, Shuran Song, Aditya Khosla, Fisher Yu, Linguang Zhang, Xiaoou Tang, and Jianxiong Xiao. 3d

Shapenets：一种用于立体形状的深度表示方法。收录于IEEE计算机视觉与模式识别会议论文集，第1912–1920页，2015年。

[^41]: Chi Xu, Lakshmi Narasimhan Govindarajan, Yu Zhang, and Li Cheng. Lie-x: Depth image based articulated object pose estimation, tracking, and action recognition on lie groups. International Journal of Computer Vision, 123(3):454–478, 2017.

[^42]: Tan Yu, Jingjing Meng, and Junsong Yuan. Multi-view harmonized bilinear network for 3d object recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 186–194, 2018.

[^43]: Shanxin Yuan, Guillermo Garcia-Hernando, Björn Stenger, Gyeongsik Moon, Ju Yong Chang, Kyoung Mu Lee, Pavlo Molchanov, Jan Kautz, Sina Honari, Liuhao Ge, et al. Depth-based 3d hand pose estimation: From current achievements to future goals. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2636–2645, 2018.

[^44]: Shanxin Yuan, Qi Ye, Guillermo Garcia-Hernando, and Tae-Kyun Kim. The 2017 hands in the million challenge on 3d hand pose estimation. arXiv preprint arXiv:1707.02237, 2017.

[^45]: Shanxin Yuan, Qi Ye, Bjorn Stenger, Siddhant Jain, and Tae Kyun Kim. Bighand2.2m benchmark: Hand pose dataset and state of the art analysis. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4866–4874, 2017.

[^46]: Zhengyou Zhang. Microsoft kinect sensor and its effect. IEEE multimedia, 19(2):4–10, 2012.

[^47]: Xingyi Zhou, Qingfu Wan, Wei Zhang, Xiangyang Xue, and Yichen Wei. Model-based deep hand pose estimation. arXiv preprint arXiv:1606.06854, 2016.

[^48]: Yidan Zhou, Jian Lu, Kuo Du, Xiangbo Lin, Yi Sun, and Xiaohong Ma. Hbe: Hand branch ensemble network for real-time 3d hand pose estimation. In Proceedings of the European Conference on Computer Vision (ECCV), pages 501–516, 2018.
