
收稿日期：2018年6月7日；录用日期：2018年8月1日；出版日期：2018年8月6日；当前版本发布日期：2018年8月28日。数字对象标识符：10.1109/ACCESS.2018.2863540

# SHPR-Net：基于点云的深层语义手部姿态回归

陈星豪 $^{1}$，王贵金 $^{ID1}$（IEEE高级会员），张彩荣 $^{1}$，金泰均 $^{2}$（IEEE会员），季向阳 $^{ID3}$

$^{1}$清华大学电子工程系，北京 100084，中国

$^{2}$伦敦帝国理工学院电气与电子工程系，伦敦 SW7 2AZ，英国

$^{3}$清华大学自动化系，北京 100084，中国

通讯作者：王贵金 (<mailto:wangguijin@tsinghua.edu.cn>)

## 摘要

三维手部姿态估计是人机交互领域的关键问题。现有的大多数基于深度的手部姿态估计方法，都是利用二维深度图或三维体数据，通过二维/三维卷积神经网络进行处理。在本文中，我们提出了一种用于从点集估计手部姿态的深层语义手部姿态回归网络（SHPR-Net），该网络由两个子网络组成：语义分割子网络和手部姿态回归子网络。语义分割网络会为点集中的每个点赋予语义标签；姿态回归网络则将语义先验与输入数据相结合，采用早期融合与后期融合策略来回归最终的手部姿态。我们从点集中学习得到两个变换矩阵，分别用于将输入点云进行变换，以及将输出的姿态进行逆变换，这一设计让SHPR-Net对几何变换具有更强的鲁棒性。在NYU、ICVL和MSRA手部姿态数据集上的实验表明，我们的SHPR-Net性能优异，可与现有最先进的方法相媲美。我们还验证了该方法能够自然扩展到多视角深度数据的手部姿态估计任务中，且在NYU数据集上取得了进一步的性能提升。

关键词：人机交互；手部姿态估计；深度学习；机器学习；点云。

### 一、引言

快速且精准的三维手部姿态估计是人机交互以及虚拟/增强现实领域的关键技术[^1]，因为它能为手势识别[^2]、[^3]和手部交互[^4]提供基础的骨骼信息。随着微软Kinect[^5]、英特尔RealSense[^6]等商用深度相机的广泛普及，基于深度的手部姿态估计在过去十年间受到了大量研究关注[^7] [^8] [^9] [^10] [^11] [^12] [^13] [^14] [^15] [^16] [^17] [^18] [^19] [^20] [^21] [^22]。

基于深度的手部姿态估计技术近年来取得了显著进展，尤其是得益于深度学习的成功应用。大多数现有方法[^7]、[^8]、[^10] [^11] [^12] [^13]将深度图视为单通道图像，并将其输入到二维卷积神经网络（CNN）中。然而，由于输入与输出域的差异，将二维深度图像映射到三维关节坐标是一项极具挑战性的学习任务。近期的研究[^9]、[^19]、[^23]将深度图像转换为体素表示，并利用三维CNN来估计手部姿态。这种方式能更有效地捕捉深度图的几何特性，同时减轻网络的学习负担。Yuan等人[^22]通过比较Hands In the Million（HIM 2017）挑战赛中的数十种最先进方法发现，三维表示的效果优于二维深度图[^24]。不过，三维体素表示可能会引入量化误差，且高分辨率体素需要占用大量内存。

点云是由坐标表示的一组点，它是一种更为简单却有效的深度数据表示方法。采用这种方式时，输入的点集与输出的手部姿态属于同一表示域，这有利于学习从输入数据到输出姿态的映射关系。受最新的PointNet[^25]和PointNet++[^26]在物体分类与语义分割任务中出色表现的启发，Ge等人[^21]提出了一种通过分层PointNet直接从点集预测手部姿态的方法，该方法在手部姿态估计问题上展现出良好的性能。不过，仍有诸多挑战有待解决。Hand PointNet[^21]并未完全实现端到端网络结构，

---

它通过主成分分析（PCA）对输入点云进行归一化来处理手部朝向问题，并借助额外的后处理网络来优化指尖位置。此外，PointNet/PointNet++是一种通用的三维深度学习架构，未能充分利用输入点与手部关节之间的关系，而这在手部姿态估计问题中正是亟需利用的特性。

在本文中，我们提出了一种端到端的深度语义手姿回归网络（SHPR-Net），用于从点云中估计手部姿态。SHPR-Net以点云为输入，预测对应的手部姿态。该网络由两个子网络组成：语义分割子网络（SegNet）执行逐点分类，将点云划分为不同的语义部分；原始点云与语义分割结果会被送入姿态回归子网络（RegNet）以回归手部姿态。语义信息还会在最后一个全连接（fc）层中被融合进RegNet，从而提升手部姿态回归的性能。通过mini-PointNets（T-Nets）从输入点云中学习得到两个变换矩阵，分别用于对输入点进行变换以及逆向变换RegNet的输出。通过这种方式，我们的SHPR-Net对输入点云的几何变换具有更强的鲁棒性，也能减轻网络学习的负担。为确保输出的变换矩阵是输入矩阵的逆矩阵，我们引入了单位矩阵损失，以促使这两个变换矩阵的乘积等于单位矩阵。在三个具有挑战性的基于深度的手部姿态数据集（ICVL、MSRA、NYU）上的实验表明，我们的SHPR-Net能够取得与最先进方法相媲美的优异性能。此外，我们的方法只需将多视角的深度数据融合成单个点云，便可自然扩展到多视角手部姿态估计。

## 我们的主要贡献总结如下

- 我们提出了一种名为SHPRNet的创新端到端方法，可直接从点集中估计3D手部姿态，并证明该方法高效且有效。

- 我们提出了一种更优的策略，能够更好地融合语义分割网络与回归网络的信息，从而为手部姿态估计获取更具代表性的特征。

- 我们引入了一种应对几何变换挑战的机制，通过为输入数据学习一个变换矩阵，并为输出姿态学习一个逆矩阵。

本文的其余部分安排如下：第二节讨论相关工作；第三节介绍我们提出的深度语义手姿回归网络；第四节通过实验将我们的方法与最先进的方法进行比较，并分析各模块的影响；第五节总结全文并指出未来的研究方向。

### 二、相关工作

在本节中，我们简要回顾与本文高度相关的先前工作。

### A. 基于深度的手部姿态估计

手部姿态估计大致可分为三类：基于模型的方法、判别性方法和混合方法。关于手部姿态估计更详细的综述，请参阅[^22]、[^27]和[^28]。

基于模型的方法通过将预定义的手部模型拟合到输入的深度图像中，借助优化能量函数来恢复输入样本的模型参数。基于模型的方法包含三个重要模块：优化算法、手部模型和能量函数。迭代最近点（ICP）[^29]和粒子群优化（PSO）[^30]是优化手部姿态的常用算法。Qian等人[^31]利用ICP和PSO的特性，提出了一种新的PSO-ICP方法以最小化能量函数。为了用球体、圆柱体和网格等来近似手部形状，人们提出了多种手部模型[^29]、[^31]、[^32]、[^33]、[^34]、[^35]。在以往的大多数研究中，人们采用手工设计的能量函数[^29]、[^35]、[^36]、[^37]来描述输入深度图像与当前手部模型之间的差异。尽管基于模型的方法能保证输出物理上合理的姿态，但它需要强先验知识（即预定义的手部模型）以及复杂的优化过程，这给实时应用带来了挑战。

相比之下，判别性方法通常完全以数据驱动。早期一些关于判别性手部姿态估计的研究[^36]、[^38]、[^39]、[^40]采用随机森林来预测手部姿态。随着深度学习在许多领域的成功应用，近期手部姿态估计研究大多转向了深度学习，尤其是基于CNN的方法。一类解决方案是利用CNN预测每个关节的热图，再通过后处理来恢复手部姿态[^41]、[^42]。另一类研究则侧重于通过回归直接预测手部关节的3D坐标[^7]、[^8]、[^11]、[^14]、[^43]。Oberweger和Lepetit[^11]以及Oberweger等人[^43]利用手部姿态实际存在于低维流形中的特性，提出了DeepPrior/DeepPrior++方法：先在低维空间中预测手部参数，再借助主成分分析（PCA）将其投影回原始的手部姿态域。Guo等人[^7]和Wang等人[^14]提出了区域集成网络（REN）：将特征图划分为多个区域，融合各区域的特征以预测最终的手部姿态。Chen等人[^8]在REN基础上引入了级联框架，在先前预测的手部姿态引导下迭代优化判别性特征。为了更好地利用深度数据的空间信息，人们也探索了用于手部姿态估计的3D CNN[^9]、[^19]、[^23]。Moon等人[^19]提出了V2V-PoseNet，利用体素到体素的预测从3D体积数据中获取手部姿态，并采用了模型集成策略，即对十个模型的预测结果取平均值。

---

混合方法试图利用基于模型的方法和判别性方法的特性。Ye等人[^12]提出了一种空间注意力网络来生成初始预测结果，并利用分层局部粒子群优化算法来强制满足预测出的手部姿态的运动学约束。Zhou等人[^44]提出将显式的手部模型融入卷积神经网络中，以确保预测出的手部姿态在物理上合理。Malik等人[^45]扩展了深度手部模型方法，能够同时估计手部骨骼的骨长以及手部姿态。Dibra等人[^46]提出利用卷积神经网络和手部网格模型，在基于合成深度图像预训练的模型基础上，从无标签数据中优化三维手部姿态。

我们的方法属于判别性方法范畴。与以往利用二维深度图像或三维体素表示的研究不同，我们提出的SHPR-Net直接对点集进行处理以预测手部姿态。

### B. 基于点集的深度学习

直接在点集上开展深度学习是一项极具挑战性的任务，因为点集具有输入无序、几何变换等特性。PointNet[^25]是该领域的先驱。PointNet利用多层感知机学习逐点特征，并采用对称函数来获取对输入排列具有不变性的全局特征。尽管效果显著，但就设计而言，PointNet并未充分利用点之间的局部信息。PointNet++[^26]是PointNet的扩展版本，能够在输入点集的嵌套分组划分上分层捕捉局部结构模式。近年来，人们提出了更多架构来从不同方面改进点集上的特征学习，例如PointCNN[^47]、Pointwise CNN[^48]、DGCNN[^49]、SO-NET[^50]等。虽然这些研究在三维物体分类、物体部件分割以及大场景语义分割任务上表现优异，但除了[^21]之外，鲜有研究专注于基于点集的三维关节手部姿态估计。不过，Hand PointNet[^21]并非完全端到端的结构，因为它包含用于归一化点云的预处理步骤以及用于细化指尖的后处理网络。我们的SHPR-Net是端到端网络，在多个方面与Hand PointNet[^21]存在差异。我们通过在输入和输出空间中引入变换矩阵来解决几何变换问题，并以端到端的方式训练整个网络。此外，我们利用语义信息来更好地从点云中提取特征，从而实现手部姿态回归。

### C. 几何变换

几何变换是计算机视觉领域常见的挑战，因为它会增加输入数据的多样性。空间变换网络（STN）[^51]是解决这一问题的重要研究成果之一。它显式地引入了空间变换模块，使卷积神经网络能够对输入数据的通用变换保持不变性。Shi等人[^52]提出了渐进式校准网络（PCN），采用由粗到精的策略在多阶段中检测具有旋转不变性的人脸。Ye等人[^12]也将空间注意力机制应用于手部姿态估计问题，以减少视角和关节变化的影响。不过，这种机制仅应用于二维空间，且仅考虑平面内旋转。PointNet[^25]提出使用一个小网络来预测仿射变换矩阵，并将其应用于输入点云或中间特征。该方法在物体分类和语义分割任务中被证明十分有效。然而，与这些任务不同，手部姿态回归并不要求对输入数据的变换保持不变性，因此直接在输入或特征空间中应用变换矩阵并无助益。Ge等人[^21]通过主成分分析（PCA）利用有向包围盒来规范化点集的旋转。不过，通过PCA确定点云的方向并非易事，尤其是当点云存在缺失点和噪声时。

为解决这一问题，本文提出学习两个变换矩阵，并分别将其应用于输入点和输出点。为确保输出空间的变换矩阵是输入变换矩阵的逆矩阵，我们提出了单位矩阵损失函数，以强制这两个矩阵的乘积趋近于单位矩阵。通过这种方式，网络能够学会将原始点云转换为潜在的规范空间。变换矩阵与手部姿态一同以端到端的方式被学习，这有助于提升寻找最优变换的鲁棒性。

### D. 语义信息与回归的融合

早期的姿态估计研究[^38]、[^53]首先为每个像素预测部件分割标签，再根据这些语义标签恢复姿态坐标。另一类算法[^7]、[^39]、[^43]、[^54]则将姿态估计表述为无需中间语义分割的回归问题。一些研究探索了语义分割与整体回归的结合。Neverova等人[^55]提出了一种半监督/弱监督方法，用于学习以分割图形式存在的中间表示；随后利用分割信息从特征图中提取局部区域，以增强回归网络中的原始特征。Wan等人[^18]则在多任务框架下执行二维热图检测、三维热图检测以及密集的三维单位向量回归。在本文中，我们提出了一种将语义信息融入回归网络的新方法：在输入阶段融合语义标签与原始点集，在回归网络的输出阶段融合语义信息与潜在特征。

### III. SHPR-Net：深度语义手部姿态回归网络

我们的工作直接处理从点云中进行手部姿态估计的问题。所提方法（SHPR-Net）的框架如图1所示。SHPR-Net接收

---

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

<div style="text-align: center;">FIGURE 1. The framework of the proposed method (SHPR-Net). All dotted diagrams are only used in training phase and others are included in testing phase. Our method consists of two subnetworks: the semantic segmentation network (SegNet) and the hand pose regression network (RegNet). SegNet produces semantic labels for each point with the help of a point set feature extractor. The semantic labels are then fused in the input and output layers of the RegNet. Two mini PointNets (T-Nets) predict two transformation matrices to transform input points into latent canonical space and transform output pose back to original space. The identity matrix loss, together with point-wise classification loss and pose regression loss are utilized to train the whole network in an end-to-end manner. We adopt PointNet++ [^26] as point set feature extractor in this paper.</div>

将点云作为输入，并预测对应的手部姿态。输入点云会经过语义分割网络（SegNet）以获得语义标签。从输入点云中学习到两个变换矩阵$T_{in}$和$T_{out}$。原始点云经$T_{in}$变换后，会与语义标签拼接，再送入手部姿态回归网络（RegNet）。语义标签也会在RegNet的全连接层中被融合。RegNet预测出手部姿态后，再通过$T_{out}$进行变换，从而得到最终预测结果。整个SHPR-Net采用端到端方式训练，以最小化逐点分类损失、姿态回归损失和单位矩阵损失之和。

如图1所示，采用点集特征提取器来处理输入点集并生成特征。一般来说，任何适用于点集的算法都可以在此选用，但对更多选项的全面探索不在本文的研究范围内。在本文中，我们采用PointNet++ [^26]作为骨干架构来从点集中提取特征。在本节中，我们将首先简要回顾PointNet/PointNet++，并对我们提出的方法进行详细阐述。

### A. preliminaries（ preliminaries）

假设$\{x_i\}_{i=1}^N$为输入点集，其中N表示点的数量。PointNet [^25]的目标是提取对输入排列具有不变性的全局特征向量$f_g$，这一目标是通过对称函数$\mathcal{F}$来实现的。

 $$ f_{g}=\mathcal{F}(h(\{x_{i}\}_{i=1}^{N})), $$

其中h是一个用于学习逐点特征的多层感知机（MLP）网络。

在全局特征之上应用全连接（fc）层即可实现物体分类：

 $$ c=f c(f_{g}). $$

对于物体部件分割和场景语义分割，会将逐点局部特征与全局特征拼接，以生成语义标签。

PointNet++ [^26]是PointNet的扩展，它能够像CNN那样分层地从点集中提取特征。简而言之，在每一层中，PointNet++会对点进行采样并分组为若干子集，然后对每个点组应用PointNet来提取特征。堆叠多层便构成了PointNet++的架构。

关于PointNet和PointNet++的更多细节，请参阅[^25]和[^26]。

### B. 语义分割网络（SegNet）

语义分割网络（SegNet）用于预测每个输入点的语义标签。具体来说，给定一个点集$\{x_i\}_{i=1}^N$，SegNet的输出为$\{p_i\}_{i=1}^N$，其中$p_i \in \mathcal{R}^{1 \times J}$表示$i^{th}$点属于不同类别的概率。

---

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

<div style="text-align: center;">FIGURE 2. Samples of semantic segmentation for hand point clouds. (a) Point clouds with ground truth hand pose. (b) Inferred semantic labels from annotated hand pose, as in (3).</div>

J表示手部骨骼中的关节数量。对$\{p_i\}_{i=1}^N$应用softmax函数即可得到最终的语义标签$\{c_i\}_{i=1}^N$，其中$1 \leq c_i \leq J$和$c_i$分别是$i^{th}$点的预测语义标签。

我们参照[^26]中部件分割任务所采用的单尺度分组网络架构来设计SegNet。SegNet包含三个用于提取局部区域特征的抽象层。通过利用三个特征传播层来拼接不同层级的特征，从而获得所有原始点的点特征。SegNet的详细架构可参见附录中的图11。

在手部姿态估计任务中，每个样本会给出手部关节的坐标，但通常不会提供每个点的语义标签。我们基于标注的手部姿态来生成训练所用的语义标签（见图2）。具体来说，给定标注的手部姿态$\{\tilde{y}_k\}_{k=1}^J$，点$\tilde{c}_i$对应的部位标签$x_i$的 Ground Truth 可表示为：

 $$ \tilde{c}_{i}=\underset{k\in[1,J]}{\arg\min}||x_{i}-\tilde{y}_{k}||^{2}. $$

接着，我们计算每个$\mathcal{L}_{seg}$和$p_i$的交叉熵损失（记为$c_i^{gt}$），将其作为逐点语义分割网络的目标函数：

 $$ \mathcal{L}_{s e g}=-\sum_{k=1}^{J}\mathbb{1}_{\tilde{c}_{i}=c_{i}}{l o g}(p_{i,k}), $$

其中$\mathbb{1}_{c_i=c_i}$是指示函数，当$\tilde{c}_i = c_i$时取值为1，否则为0；$p_{i,k}$表示点$i^{th}$属于$k^{th}$类别的概率。

### C. 手部姿态回归网络（RegNet）

手部姿态回归网络（RegNet）旨在直接从输入的点集中估算手部的3D坐标。若用全连接层替换分类任务中PointNet/PointNet++的输出层来预测手部姿态坐标，就能得到基础的回归网络。我们提出的RegNet在几何变换和语义增强这两个方面做了进一步改进。

最初的PointNet[^25]引入了一个小型网络（T-Net）来估算仿射变换矩阵，以解决点云变换的问题。T-Net的结构与PointNet类似，但规模更小。将T-Net融入输入空间和特征空间后，PointNet就能对输入点集的几何变换保持不变性，从而显著提升性能。然而，与分类和分割任务不同，当输入点集发生特定几何变换时，手部姿态回归的输出也会随之改变。因此，直接学习如何变换输入点和特征并非回归网络的合适方案。为解决这一问题，我们引入了两个T-Net来学习两个矩阵（$T_{in}$和$T_{out}$），分别用于变换输入点和输出姿态。理想情况下，$T_{out}$应为$T_{in}$的逆矩阵，以维持几何特性。为此，我们通过引入单位矩阵损失来约束$T_{in}$和$T_{out}$的乘积趋近于单位矩阵：

 $$ \mathcal{L}_{i m}=||T_{i n}T_{o u t}-I||^{2}, $$

其中I为单位矩阵。由于$T_{in} \in \mathbb{R}^{3 \times 3}$和$T_{out} \in \mathbb{R}^{3 \times 3}$是低维矩阵，这不会给RegNet带来沉重的计算和内存负担。

PointNet[^25]缺乏捕捉不同点之间局部信息的能力。PointNet++[^26]通过分层提取重叠组的局部特征来缓解这一问题。不过这种策略在感知手部姿态信息方面的能力仍然有限，因为分组操作中并未考虑不同关节之间的关系。因此，我们提出了一种将语义信息融入手部姿态回归网络的新方法来解决上述问题。首先，我们将点集的坐标与SegNet生成的语义概率拼接起来，再输入到RegNet中。为了更好地融合SegNet的信息，预测得到的语义概率会先经过全连接（fc）层处理，再与RegNet第一层全连接层的输出拼接。融合后的特征会再经过两层全连接层，最终输出预测的手部姿态。

RegNet的骨干网络结构与分类网络类似，采用单尺度分组方式处理[^26]。RegNet的详细架构可参见附录中的图12。

与以往的基于回归的方法类似[^7]、[^8]，我们采用平滑L1损失[^56] $\mathcal{L}_{smooth1}$来衡量预测的手部姿态$y = \{y_k\}_{k=1}^J$与真实姿态$\tilde{y} = \{\tilde{y}_k\}_{k=1}^J$之间的差异，用于训练回归网络：

 $$ \mathcal{L}_{r e g}=\mathcal{L}_{s m o o t h l1}(\mathbf{y},\mathbf{\tilde{y}}). $$

### D. 训练损失

我们通过最小化总训练损失来端到端地训练整个网络：

 $$ \mathcal{L}_{t o t a l}=\mathcal{L}_{r e g}+\alpha\mathcal{L}_{i m}+\beta\mathcal{L}_{s e g}, $$

其中，$\alpha$和$\beta$分别是身份矩阵损失和语义分割损失的权重项。

在该公式中，$\mathcal{L}_{seg}$用于惩罚逐点分类的错误，$\mathcal{L}_{reg}$用于惩罚输出手部姿态的错误，而$\mathcal{L}_{im}$则用于确保输入与输出变换矩阵满足逆运算性质。

---

<div style="text-align: center;">TABLE 1. Comparison of the proposed method with state-of-the-art methods on ICVL [^39], MSRA [^40] and NYU [^41] dataset. *It should be noted that in table (c), the entry SHPR-NET(Ours, three views) uses depth data from three views while all other methods are conducted on single (frontal) view of NYU dataset, see Section IV-A3 for detailed discussions. (a) ICVL. (b) MSRA. (c) NYU.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Error (mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LRF [^39]</td><td style='text-align: center; word-wrap: break-word;'>12.56</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepModel [^44]</td><td style='text-align: center; word-wrap: break-word;'>11.56</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepPrior [^43]</td><td style='text-align: center; word-wrap: break-word;'>10.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CrossingNets [^10]</td><td style='text-align: center; word-wrap: break-word;'>10.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>JTSC [^57]</td><td style='text-align: center; word-wrap: break-word;'>9.16</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepPrior++ [^11]</td><td style='text-align: center; word-wrap: break-word;'>8.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>REN (4x6x6) [^7]</td><td style='text-align: center; word-wrap: break-word;'>7.63</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>REN (9x6x6) [^14]</td><td style='text-align: center; word-wrap: break-word;'>7.31</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DenseReg [^18]</td><td style='text-align: center; word-wrap: break-word;'>7.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hand PointNet [^21]</td><td style='text-align: center; word-wrap: break-word;'>6.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose-REN [^8]</td><td style='text-align: center; word-wrap: break-word;'>6.79</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet [^19]</td><td style='text-align: center; word-wrap: break-word;'>6.28</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SHPR-Net (Ours)</td><td style='text-align: center; word-wrap: break-word;'>7.22</td></tr></table>

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

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Error (mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Cascaded [^40]</td><td style='text-align: center; word-wrap: break-word;'>15.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Multi-view CNNs [^42]</td><td style='text-align: center; word-wrap: break-word;'>13.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Madadi et al. [^58]</td><td style='text-align: center; word-wrap: break-word;'>12.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Baek et al. [^20]</td><td style='text-align: center; word-wrap: break-word;'>12.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CrossingNets [^10]</td><td style='text-align: center; word-wrap: break-word;'>12.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>REN (9 $\times$6 $\times$6) [^14]</td><td style='text-align: center; word-wrap: break-word;'>9.79</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3DCNN [^9]</td><td style='text-align: center; word-wrap: break-word;'>9.58</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepPrior++ [^11]</td><td style='text-align: center; word-wrap: break-word;'>9.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose-REN [^8]</td><td style='text-align: center; word-wrap: break-word;'>8.65</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hand PointNet [^21]</td><td style='text-align: center; word-wrap: break-word;'>8.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet [^19]</td><td style='text-align: center; word-wrap: break-word;'>7.59</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DenseReg [^18]</td><td style='text-align: center; word-wrap: break-word;'>7.23</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SHPR-Net (Ours)</td><td style='text-align: center; word-wrap: break-word;'>7.76</td></tr></table>

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

所提出的方法在Tensorflow [^63]平台上实现。实验在一台配备两颗Intel Xeon E-2640 CPU、256GB内存以及四块NVIDIA GeForce 1080TI GPU的服务器上进行。

### F. 实现细节

## 1) 预处理

我们首先将深度图像中的所有像素转换为世界坐标以生成点云。我们采用了与先前研究[^7]、[^8]、[^11]类似的策略，用一个尺寸为$240mm^3$的3D立方体来裁剪手部区域。由于不同距离处的点云点数存在差异，我们借助Meshlab [^64]提供的泊松圆盘采样算法[^65]对原始点云进行采样，使其点数达到特定数值。随后，对采样点的坐标及对应的标注手部姿态进行归一化处理，得到$[-1, 1]$。

利用多视角深度图像进行手部姿态估计在文献中鲜有探讨。由于输入数据的表示形式，我们的方法能够自然扩展到多视角场景。只需将不同视角的深度数据融合成一个点云，再将其输入到SHPR-Net中即可实现这一功能，除了输入数据融合外无需其他修改。我们将在第IV-A3节中通过NYU数据集上的实验来展示该方法处理多视角数据的能力。

### E. 基于多视角深度的手部姿态估计

## 2) 参数设置

实验中我们使用了$N = 4096$个点。不同点数对结果的影响将在第IV-B3节中讨论。所有实验中我们均设定$\alpha = 0.001$和$\beta = 0.001$。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Error (mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DISCO [^59]</td><td style='text-align: center; word-wrap: break-word;'>20.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepPrior [^43]</td><td style='text-align: center; word-wrap: break-word;'>19.73</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepModel [^44]</td><td style='text-align: center; word-wrap: break-word;'>16.90</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>JTSC [^57]</td><td style='text-align: center; word-wrap: break-word;'>16.80</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Feedback [^60]</td><td style='text-align: center; word-wrap: break-word;'>15.97</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Madadi et al. [^61]</td><td style='text-align: center; word-wrap: break-word;'>15.60</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CrossingNets [^10]</td><td style='text-align: center; word-wrap: break-word;'>15.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Neverova et al. [^55]</td><td style='text-align: center; word-wrap: break-word;'>14.94</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Lie-X [^62]</td><td style='text-align: center; word-wrap: break-word;'>14.51</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Baek et al. [^20]</td><td style='text-align: center; word-wrap: break-word;'>14.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3D CNN [^9]</td><td style='text-align: center; word-wrap: break-word;'>14.11</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>REN (4x6x6) [^7]</td><td style='text-align: center; word-wrap: break-word;'>13.39</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>REN (9x6x6) [^14]</td><td style='text-align: center; word-wrap: break-word;'>12.69</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DeepPrior++ [^11]</td><td style='text-align: center; word-wrap: break-word;'>12.24</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose-REN [^8]</td><td style='text-align: center; word-wrap: break-word;'>11.81</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Hand PointNet [^21]</td><td style='text-align: center; word-wrap: break-word;'>10.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DenseReg [^18]</td><td style='text-align: center; word-wrap: break-word;'>10.21</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>V2V-PoseNet [^19]</td><td style='text-align: center; word-wrap: break-word;'>8.42</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SHPR-Net (Ours, frontal view)</td><td style='text-align: center; word-wrap: break-word;'>10.78</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SHPR-Net (Ours, three views) $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>9.37</td></tr></table>

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

## 3) 数据增强

我们采用在线随机数据增强策略来提高网络的泛化能力。具体而言，我们对训练集中的点集及其对应的标注手部姿态施加沿z轴的随机旋转（范围为$[-15^{\circ}, 15^{\circ}]$）、[0.9, 1.1]范围内的随机缩放以及$[-0.005mm, 0.005mm]$的随机平移。

## 4) 训练

我们使用Adam [^66]优化器在四块GPU上训练网络，总批量大小为32。初始学习率设为0.001，每训练10个周期后学习率乘以0.7。整个网络共训练100个周期。

### 四、实验

我们在三个公开的手部姿态数据集上评估所提出的方法：ICVL数据集 [^39]、NYU数据集 [^41] 以及 MSRA数据集 [^40]。

ICVL数据集是通过英特尔RealSense相机采集的，包含来自10名不同受试者的33万张训练样本，测试集中有1596张样本。每张深度图像都标注了包含$J = 16$个关节的手部姿态，其中包括1个手掌关节以及每个手指的3个关节。

NYU数据集是通过放置在不同视角下的三台微软Kinect相机采集的，包含7.2万张训练样本和8252张测试样本。测试集中有两名受试者，而训练集中仅有一名受试者。标注的手部姿态共有36个关节，我们遵循以往研究的评估协议，在实验中仅使用其中的J=14个关节。

MSRA数据集包含来自9名不同受试者的76k帧图像，涵盖17种不同的手势。评估时采用留一受试者交叉验证策略，与以往所有研究类似。

---

![Image](images/53db276b4f7f3027f8bd02c369e3f680328cc3fe85dee90dbde73cb6982132e8.jpg)

![Image](images/3849d46e54ff0c4a95bca7acc6ebb7902f964f6c3202f87602247cd2b6c4ce91.jpg)

<div style="text-align: center;">FIGURE 3. Comparison with state-of-the-arts on ICVL [^39] dataset. Left: per-joint errors. Right: the proportion of good frames over different error thresholds.</div>

每个标注的手部姿态包含J=21个关节，其中每个手指有4个关节，手掌有1个关节。

遵循文献中最常用的评价指标，我们用两种不同的指标来评估所提出的方法。首先，我们报告每个关节的平均3D关节误差，以及所有测试帧中全部关节的平均误差。该指标反映了手部姿态估计的整体性能，也能体现不同关节的性能表现。第二个指标是全部关节误差都在阈值范围内的帧所占的比例。这是一个更具挑战性且更严格的指标，能更好地反映手部姿态估计器的性能。

在本节的后续部分，我们首先将所提出的方法与最先进的方法进行比较。之后我们会开展大量的自我对比实验，以展示该方法中不同模块或设计选择所产生的影响。最后，一些可视化结果能为我们提供更多见解，帮助我们更好地理解该方法。

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

我们将所提出的方法与数十种以往的方法进行了比较，包括潜在随机森林（LRF）[^39]、DISCO网络 [^59]、级联手部姿态回归（Cascaded）[^40]、带深度手部模型的2D CNN（DeepModel）[^44]、带先验信息的2D CNN（DeepPrior）[^43]及其改进版本（DeepPrior++）[^11]、带反馈回路的2D CNN（Feedback）[^60]、基于李群的方法（Lie-X）[^62]、Neverova等人提出的方法 [^55]、多视角2D CNN（Multiview）[^9]、带共享上下文的联合训练方法（JTSC）[^57]、区域集成网络的变体（REN-4x6x6 [^7] 和 REN-9x6x6 [^14]）、姿态引导的结构化REN（Pose-REN）[^8]、CrossingNets [^10]、密集3D回归（DenseReg）[^18]、3D CNN [^9]、带体素到体素预测的3D CNN（V2V-PoseNet）[^19]、基于分层PointNets的手部回归（HandPointNet）[^21]，以及Baek等人的方法 [^20]。

## 1) ICVL数据集

在ICVL数据集上，我们将所提出的方法与[^7]、[^8]、[^10]、[^11]、[^14]、[^18]、[^19]、[^21]、[^39]以及[^44]进行比较。不同关节的平均误差以及在不同误差阈值下良好帧的比例如图3所示。我们还报告了所有关节上的平均误差，并与现有方法进行了比较，结果如表2a所示。这些结果表明，我们的方法优于大多数最先进的方法，且与其余方法性能相当。正如先前研究[^18]中所展示的，ICVL数据集的平均关节误差已经接近饱和状态，这使得我们的方法与[^8]、[^19]及[^21]之间的差距显得不那么显著。

## 2) MSRA数据集

在MSRA数据集上，我们将我们的方法与几种现有方法[^8]、[^9]、[^11]、[^14]、[^18]、[^19]、[^21]、[^40]进行比较。成功帧所占比例（相对于允许的最大误差阈值）以及各关节误差如图4所示。所有关节平均误差的比较结果见表2b。从图4可以看出，我们的方法优于[^8]、[^9]、[^11]、[^14]、[^40]，并且与DenseReg [^18]的性能相当。当误差阈值大于18毫米时，我们的方法表现优于V2V-PoseNet [^19]。表2b提供了更清晰的对比结果。我们的方法所得的平均关节误差分别比[^8]、[^9]、[^10]、[^11]、[^21]、[^14]和[^42]小约5.1毫米、4.2毫米、1.8毫米、1.6毫米、0.7毫米和0.5毫米，且与[^19]和[^18]的性能相当。

遵循先前研究[^8]、[^9]、[^40]中的评估协议，我们也绘制了不同视角下的平均关节误差图，如图5所示。可以看出，我们的方法在几乎所有视角下都优于[^8]、[^9]和[^14]，并且在较大的偏航角和俯仰角下也能取得相当不错的结果，这证明了我们所提出方法的强大性能与鲁棒性。

---

![Image](images/b1be2d7c269f1c2fca79ee77190ee63779efcd79360fbcc10e58768dab15722d.jpg)

![Image](images/a037871ee5d42dde00c3c04f5d4aa7b6ffd3b6fcd0cc704fd3b43ca88ef0af61.jpg)

<div style="text-align: center;">FIGURE 4. Comparison with state-of-the-arts on MSRA [^40] dataset. Left: per-joint errors. Right: the proportion of good frames over different error thresholds.</div>

![Image](images/c73151312e85fd7531da40df967ef87965507375f6109362437e64f96af6eaee.jpg)

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

<div style="text-align: center;">FIGURE 5. Comparison of mean error distance over different yaw (left) and pitch (right) viewpoint angles on MSRA [^40] dataset.</div>

## 3) NYU数据集

NYU数据集是一个相对更具挑战性的基准测试集，因为它包含更复杂的关节运动、传感器噪声以及手部形状变化等因素。我们在NYU数据集上将我们的方法与[^7]、[^8]、[^9]、[^10]、[^11]、[^14]、[^18]、[^19]、[^21]、[^43]、[^44]、[^55]、[^57]以及[^59]、[^60]、[^61]、[^62]进行比较。

如图6所示，利用单视图（正面视图）的点云数据，我们的方法与DenseReg [^18]和Hand PointNet [^21]性能相当，略逊于V2V-PoseNet [^19]，但优于其他最先进的方法。

我们还在表2c中将所有关节的平均误差与现有最先进方法进行了比较。可以看出，我们的方法在现有最先进方法中取得了最佳性能，这证明了该方法的有效性。

NYU数据集上的多视角实验：NYU数据集提供了来自三个不同视角的相机拍摄的深度图像（两个侧视图和一个正视图）。然而，这三个相机的校准参数并未提供，且在数据采集过程中相机偶尔会发生移动。我们利用不同视角下的标注手部姿态来校准相机。具体来说，我们计算出将侧视图中的标注手部关节投影到正视图的变换矩阵。随后，我们利用这些矩阵将侧视图的点云投影到正视图，并将三个视角的所有点融合以生成单个点云。值得注意的是，在实际场景中，相机间的校准参数可通过离线校准流程轻松获取，无需任何手部姿态标注。

图7展示了一些融合点云的示例。每对点云分别呈现了正视图（左侧）和三个视角（右侧）的点云。可以看出，通过融合三个视角的深度数据，点云更加完整且对遮挡具有更强的鲁棒性。不过，融合后的点云也会带有稍重的噪声。

---

![Image](images/9fb33a57443c6106c63d88ffc0baed43b3c36967327eef9018e0745e63f0a070.jpg)

![Image](images/3eccdc908a9029c38e08c4fa1808f133b82536df83a81f18008026b962046ad1.jpg)

<div style="text-align: center;">FIGURE 6. Comparison with state-of-the-arts on NYU [^41] dataset. Left: the proportion of good frames over different error thresholds. Right: per-joint errors.</div>

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

<div style="text-align: center;">FIGURE 7. Examples of fused point clouds from three views of NYU [^41] dataset. For each pair of point sets, the left one is from the frontal view and the right one shows the fused point cloud from three views.</div>

这可能是由于相机间校准不完美以及深度图像中的噪声所致。

如表2c所示，使用三个视角的深度数据时，就平均关节误差而言，我们的方法在所有方法中取得了第二好的性能。图6进一步展示了最大关节误差落在某一阈值内的帧所占比例，这是一个更具挑战性的指标。当采用多视角深度数据时，若误差阈值大于约23毫米，我们的方法性能优于所有现有最先进方法。例如，当误差阈值为40毫米时，我们的方法获得优质帧的比例比DenseReg [^18]和V2V-PoseNet [^19]高出约5%。当误差阈值小于23毫米时，我们的方法性能略逊于V2V-PoseNet [^19]，但仍优于其他方法。

值得注意的是，这并非直接对比，因为现有方法均未探索多视角数据的应用。不过在本实验中，我们证明了无需对网络做任何修改，仅利用多视角深度数据就能使我们的方法取得进一步提升。我们希望这一发现能对手部姿态估计领域有所裨益。

### B. 消融研究

在本节中，我们将通过大量实验来分析SHPR-Net不同模块及不同设计选择的影响。除非另有说明，所有消融研究均在NYU数据集的多视角深度数据上进行。

## 1) 输入与输出变换的影响

为了评估我们所提出的输入与输出变换的影响，我们通过插入不同的变换模块，对回归PointNet的不同变体进行实验。具体而言，我们探讨了输入变换、特征变换、输出变换以及单位矩阵损失的不同组合。

如表2所示，仅仅将输入变换插入PointNet中带来的改进微乎其微，这是因为输入点云与输出姿态之间的几何变换存在不一致性。这种改进或许源于T-Net带来的更多模型参数。当加入额外的特征变换时，性能反而会下降，因为这进一步加剧了变换的不一致性。虽然我们将输入和输出变换都插入PointNet中，但并未显式约束这两个矩阵之间的关系，此时性能仍有所提升，这得益于模型本身具备学习一致变换的潜力。不过这种提升依然不明显，因为输入与输出变换之间的约束并未被明确设定。

<div style="text-align: center;">TABLE 2. Impacts of input and output transformation. Self comparisons on NYU [^41] dataset with depth data from three views.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Input</td><td style='text-align: center; word-wrap: break-word;'>Feature</td><td style='text-align: center; word-wrap: break-word;'>Output</td><td style='text-align: center; word-wrap: break-word;'>Identity matrix loss</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;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>15.07</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>14.23</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>15.70</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>13.79</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>11.39</td></tr></table>

---

上述约束并未被明确给出。若进一步对网络施加单位矩阵损失，性能便会显著提升，因为输出变换矩阵往往会成为输入变换矩阵的逆矩阵，这恰好符合回归任务的特性。上述观察结果表明，为输入和输出空间学习受约束的变换矩阵，是解决手部姿态回归问题中几何变换问题的有效途径。

<div style="text-align: center;">TABLE 3. Impacts of segmentation task. We report average joint errors (mm) on NYU [^41] dataset with depth data from three views.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>BackboneMethods</td><td style='text-align: center; word-wrap: break-word;'>PointNet</td><td style='text-align: center; word-wrap: break-word;'>PointNet++</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/o SegNet</td><td style='text-align: center; word-wrap: break-word;'>11.39</td><td style='text-align: center; word-wrap: break-word;'>10.31</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>w/ SegNet</td><td style='text-align: center; word-wrap: break-word;'>10.69</td><td style='text-align: center; word-wrap: break-word;'>9.37</td></tr></table>

## 2）语义信息的影响

我们通过对比采用SegNet与否时我们方法的性能，来评估语义信息的影响。如表3所示，当我们使用PointNet作为骨干架构来提取点集特征时，将语义分割任务与回归任务相结合，可使手部姿态回归误差降低0.7毫米。当我们换用PointNet++作为骨干架构时，语义信息带来的性能差距则变为0.94毫米，这或许是因为PointNet++具有更强大的架构。这些实验证明了我们提出的将语义信息融入回归网络的策略的有效性。

## 3）点数带来的影响

为了评估点集中点的数量N对所提方法性能的影响，我们针对输入点云中不同数量的点开展了实验。如表4所示，即便仅使用512个点，SHPR-Net的性能依然颇具竞争力。当N从512增加到1024时，平均关节误差降低了0.47毫米；当N从1024增加到2048时，平均关节误差又降低了0.09毫米。继续将N增加到4096仍能带来性能提升。

<div style="text-align: center;">TABLE 4. Impacts of point number. Self comparisons on NYU [^41] dataset with depth data from three views.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Point number</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;'>512</td><td style='text-align: center; word-wrap: break-word;'>10.05</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1024</td><td style='text-align: center; word-wrap: break-word;'>9.58</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2048</td><td style='text-align: center; word-wrap: break-word;'>9.49</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4096</td><td style='text-align: center; word-wrap: break-word;'>9.37</td></tr></table>

<div style="text-align: center;">TABLE 5. Impacts of multi-view point cloud fusion. Self comparisons on NYU [^41] dataset.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Backbone Views</td><td style='text-align: center; word-wrap: break-word;'>PointNet</td><td style='text-align: center; word-wrap: break-word;'>PointNet++</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>frontal view</td><td style='text-align: center; word-wrap: break-word;'>12.02</td><td style='text-align: center; word-wrap: break-word;'>10.78</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>frontal + 2 side views</td><td style='text-align: center; word-wrap: break-word;'>10.69</td><td style='text-align: center; word-wrap: break-word;'>9.37</td></tr></table>

![Image](images/f8ccdb03293cca65a25218bc09af9aab04d9387c83401674668d1df348133129.jpg)

<div style="text-align: center;">FIGURE 8. Visualization of the effect of identity matrix loss. We visualize the original point clouds in red and the transformed point clouds which undergo input and output transformation matrices in green. It can be seen that the transformed point clouds almost completely overlap with the original ones, which illustrates the effectiveness of identity matrix loss.</div>

为了平衡精度与计算复杂度，我们选择N=4096，不再使用更多的点，从而实现了性能的提升。

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

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

![Image](images/181b6ffb5e9f2ff40b5ea329c14e646e030e0ae1ec84e67cab766ac4c373d38b.jpg)

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

<div style="text-align: center;">FIGURE 9. Visualization of the impacts of input transformation matrix on NYU [^41] dataset. (a) The viewpoint distributions of original point clouds and the transformed point clouds is visualized in red and green respectively. The viewpoints of the transformed point clouds are more compact than the original ones. (b) We visualize the average hand shapes for two subjects of original and transformed point clouds. It can be seen that after applying input transformation, the distance between different subjects is reduced, which makes our method more robust to hand shape variations.</div>

---

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

![Image](images/ca2ef852964df16f0df437629af1378019d63c0cfe0428b78f7800cd1c8d63e6.jpg)

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

图10. 在NYU、ICVL和MSRA数据集上的定性结果。对于每个数据集，我们可视化并对比了Pose-REN [^8]、3D CNN [^9]以及我们提出的SHPR-Net的预测结果。

---

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

<div style="text-align: center;">FIGURE 11. The detailed architecture of SegNet.</div>

<div style="text-align: center;">FIGURE 12. The detailed architecture of RegNet.</div>

## 4）多视角点云融合的影响

为了进一步探究使用多视角点云的影响，我们在该方法基础上，针对不同视角的深度数据开展了实验。如表5所示，使用三个视角的点云时，基于PointNet和PointNet++骨干架构的性能分别提升了约1.33毫米和1.41毫米。这一结果表明了利用多视角数据来提升手部姿态估计精度的潜力。我们的方法无需对网络做任何修改，便可自然适配这种场景。

### C. 可视化结果

## 1）单位矩阵损失的影响可视化

为了演示单位矩阵约束的作用原理，我们将输入和输出变换矩阵应用于点云，并可视化变换后的点云与原始点云。我们预期输出变换矩阵会是输入矩阵的逆矩阵。因此，经过输入和输出矩阵处理后，生成的点云应与原始点云完全一致。如图8所示，变换后的点集（绿色）几乎完全与原始点集（红色）重合，这表明单位矩阵约束是生成变换矩阵及其对应逆矩阵的有效方法。

## 2) 输入变换的可视化

理想情况下，输入变换会将输入点集映射到一个潜在的规范空间中，在该空间中视角和手部形状的变化大幅减少，从而让网络更容易学习到优质的手部姿态回归器。

---

我们在图9a中可视化了输入变换前后视角的分布情况。从该图中可以发现，变换后点云（绿色）的视角分布比原始点云（红色）更紧凑，这证明了对输入点集应用几何变换策略的有效性。此外，我们在图9b中展示了NYU数据集中两名受试者的原始点云与变换后点云的平均手部形状。可以看出，应用输入变换后，不同受试者之间的差距缩小，这使得我们的方法对手部形状变化的鲁棒性更强。

## 3) 定性结果

图10给出了ICVL、MSRA和NYU数据集的一些定性结果。我们将我们的方法与基于2D CNN的方法Pose-REN [^8]以及基于3D CNN的方法 [^9]进行了对比。从图10可以看出，我们的方法能更好地利用深度数据的几何特性，生成的估计结果优于基于2D CNN或3D CNN的方法。

### V. 结论

在本文中，我们提出了一种用于从点集进行精准端到端3D手部姿态估计的新方法。为了更好地保留深度数据的几何特性，我们的方法直接处理点集并预测手部姿态。我们证明，通过将语义分割网络产生的语义信息融入手部姿态回归网络，可以提升手部姿态估计的性能。为了应对输入点云的几何变换问题，我们提出了一种将点集映射到潜在规范空间，并利用逆变换矩阵对预测出的手部姿态进行反向变换的新方法。我们证实，通过学习两个变换矩阵并约束这两个矩阵的逆属性，即可实现这一目的。实验表明，我们的方法性能表现优异，可与现有最先进方法相媲美。我们还证明，无需修改网络架构，仅利用多视角深度数据融合得到的点云，就能进一步提升手部姿态估计的性能。未来的工作可能会聚焦于设计新的骨干网络架构，以便更好地利用手部点云和手部姿态的特性。

## 附录

SegNet和RegNet的详细架构可见图11和图12。

## 参考文献

[^1]: A. Erol, G. Bebis, M. Nicolescu, R. D. Boyle, and X. Twombly, "Vision-based hand pose estimation: A review," Comput. Vis. Image Understand., vol. 108, nos. 1–2, pp. 52–73, Oct./Nov. 2007.

[^2]: X. Chen, H. Guo, G. Wang, and L. Zhang, “Motion feature augmented recurrent neural network for skeleton-based dynamic hand gesture recognition,” in Proc. IEEE Int. Conf. Image Process. (ICIP), Sep. 2017, pp. 2881–2885.

[^3]: Q. De Smedt, H. Wannous, and J.-P. Vandeborre, “Skeleton-based dynamic hand gesture recognition,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. Workshops (CVPR), Jun./Jul. 2016, pp. 1–9.

[^4]: G. Garcia-Hernando, S. Yuan, S. Baek, and T.-K. Kim, “First-person hand action benchmark with RGB-D videos and 3D hand pose annotations,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 1–11.

[^5]: Z. Zhang, “Microsoft Kinect sensor and its effect,” IEEE MultiMedia, vol. 19, no. 2, pp. 4–10, Feb. 2012.

[^6]: L. Keselman, J. I. Woodfill, A. Grunnet-Jepsen, and A. Bhowmik. (2017). “Intel realsense stereoscopic depth cameras.” [Online]. Available: <https://arxiv.org/abs/1705.05548>

[^7]: H. Guo, G. Wang, X. Chen, C. Zhang, F. Qiao, and H. Yang, “Region ensemble network: Improving convolutional network for hand pose estimation,” in Proc. IEEE Int. Conf. Image Process. (ICIP), Sep. 2017, pp. 4512–4516.

[^8]: X. Chen, G. Wang, H. Guo, and C. Zhang. (2017). “Pose guided structured region ensemble network for cascaded hand pose estimation.” [Online]. Available: <https://arxiv.org/abs/1708.03416>

[^9]: L. Ge, H. Liang, J. Yuan, and D. Thalmann, "3D convolutional neural networks for efficient and robust hand pose estimation from single depth images," in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jul. 2017, pp. 1991–2000.

[^10]: C. Wan, T. Probst, L. Van Gool, and A. Yao, “Crossing nets: Combining GANs and VAEs with a shared latent space for hand pose estimation,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jul. 2017, pp. 1196–1205.

[^11]: M. Oberweger and V. Lepetit, “Deepprior++: Improving fast and accurate 3D hand pose estimation,” in Proc. IEEE Int. Conf. Comput. Vis. Workshop (ICCV), vol. 840, Oct. 2017, pp. 585–594.

[^12]: Q. Ye, S. Yuan, and T.-K. Kim, “Spatial attention deep net with partial PSO for hierarchical hybrid hand pose estimation,” in Proc. Eur. Conf. Comput. Vis. (ECCV), 2016, pp. 346–361.

[^13]: C. Choi, S. Kim, and K. Ramani, “Learning hand articulations by hallucinating heat distribution,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Oct. 2017, pp. 3104–3113.

[^14]: G. Wang, X. Chen, H. Guo, and C. Zhang, “Region ensemble network: Towards good practices for deep 3D hand pose estimation,” J. Vis. Commun. Image Represent., vol. 55, pp. 404–414, Aug. 2018.

[^15]: A. Spurr, J. Song, S. Park, and O. Hilliges, “Cross-modal deep variational hand pose estimation,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 1–10.

[^16]: M. Rad, M. Oberweger, and V. Lepetit, “Feature mapping for learning fast and accurate 3D pose inference from synthetic images,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 4663–4672.

[^17]: G. Poier, D. Schinagl, and H. Bischof, “Learning pose specific representations by predicting different views,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 60–69.

[^18]: C. Wan, T. Probst, L. Van Gool, and A. Yao, “Dense 3D regression for hand pose estimation,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 1–10.

[^19]: G. Moon, J. Y. Chang, and K. M. Lee, “V2V-PoseNet: Voxel-to-voxel prediction network for accurate 3D hand and human pose estimation from a single depth map,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 5079–5088.

[^20]: S. Baek, K. I. Kim, and T.-K. Kim, “Augmented skeleton space transfer for depth-based hand pose estimation,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 1–10.

[^21]: L. Ge, J. Weng, Y. Cai, and J. Yuan, “Hand PointNet: 3D hand pose estimation using point sets,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 1–10.

[^22]: S. Yuan et al., “Depth-based 3D hand pose estimation: From current achievements to future goals,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 2636–2645.

[^23]: X. Deng, S. Yang, Y. Zhang, P. Tan, L. Chang, and H. Wang. (2017). "Hand3D: Hand pose estimation using 3D neural network." [Online]. Available: <https://arxiv.org/abs/1704.02224>

[^24]: S. Yuan, Q. Ye, G. Garcia-Hernando, and T.-K. Kim. (2017). “The 2017 hands in the million challenge on 3D hand pose estimation.” [Online]. Available: <https://arxiv.org/abs/1707.02237>

[^25]: R. Q. Charles, H. Su, M. Kaichun, and L. J. Guibas, “PointNet: Deep learning on point sets for 3D classification and segmentation,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jul. 2017, pp. 77–85.

## [^26]: C. R. Qi, L. Yi, H. Su, and L. J. Guibas, “Pointnet++: Deep hierarchical feature learning on point sets in a metric space,” in Proc. Adv. Neural Inf. Process. Syst. (NIPS), 2017, pp. 5105–5114

---

[^27]: J. S. Supančič, G. Rogez, Y. Yang, J. Shotton, and D. Ramanan, “Depth-based hand pose estimation: Data, methods, and challenges,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), Dec. 2015, pp. 1868–1876.

[^28]: J. S. Supančič, G. Rogez, Y. Yang, J. Shotton, and D. Ramanan, “Depth-based hand pose estimation: Methods, data, and challenges,” Int. J. Comput. Vis., to be published, doi: 10.1007/s11263-018-1081-7.

[^29]: A. Tagliasacchi, M. Schröder, A. Tkach, S. Bouaziz, M. Botsch, and M. Pauly, “Robust articulated-ICP for real-time hand tracking,” Comput. Graph. Forum, vol. 34, no. 5, pp. 101–114, 2015.

[^30]: T. Sharp et al., “Accurate, robust, and flexible real-time hand tracking,” in Proc. 33rd Annu. ACM Conf. Hum. Factors Comput. Syst., 2015, pp. 3633–3642.

[^31]: C. Qian, X. Sun, Y. Wei, X. Tang, and J. Sun, “Realtime and robust hand tracking from depth,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2014, pp. 1106–1113.

[^32]: I. Oikonomidis, N. Kyriazis, and A. A. Argyros, “Efficient model-based 3D tracking of hand articulations using Kinect,” in Proc. Brit. Mach. Vis. Conf. (BMVC), 2011, pp. 101.1–101.11.

[^33]: S. Sridhar, F. Mueller, A. Oulasvirta, and C. Theobalt, “Fast and robust hand tracking using detection-guided optimization,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2015, pp. 3213–3221.

[^34]: A. Tkach, M. Pauly, and A. Tagliasacchi, “Sphere-meshes for real-time hand modeling and tracking,” ACM Trans. Graph., vol. 35, no. 6, 2016, Art. no. 222.

[^35]: J. Romero, D. Tzionas, and M. J. Black, “Embodied hands: Modeling and capturing hands and bodies together,” ACM Trans. Graph., vol. 36, no. 6, 2017, Art. no. 245.

[^36]: D. Tang, J. Taylor, P. Kohli, C. Keskin, T.-K. Kim, and J. Shotton, “Opening the black box: Hierarchical sampling optimization for estimating human hand pose,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), Dec. 2015, pp. 3325–3333.

[^37]: J. Taylor et al., “Articulated distance fields for ultra-fast tracking of hands interacting,” ACM Trans. Graph., vol. 36, no. 6, 2017, Art. no. 244.

[^38]: D. Tang, T.-H. Yu, and T.-K. Kim, “Real-time articulated hand pose estimation using semi-supervised transductive regression forests,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), Dec. 2013, pp. 3224–3231.

[^39]: D. Tang, H. J. Chang, A. Tejani, and T.-K. Kim, “Latent regression forest: Structured estimation of 3D articulated hand posture,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2014, pp. 3786–3793.

[^40]: X. Sun, Y. Wei, S. Liang, X. Tang, and J. Sun, “Cascaded hand pose regression,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2015, pp. 824–832.

[^41]: J. Tompson, M. Stein, Y. Lecun, and K. Perlin, “Real-time continuous pose recovery of human hands using convolutional networks,” ACM Trans. Graph., vol. 33, no. 5, 2014, Art. no. 169.

[^42]: L. Ge, H. Liang, J. Yuan, and D. Thalmann, “Robust 3D hand pose estimation in single depth images: From single-view CNN to multi-view CNNs,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2016, pp. 3593–3601.

[^43]: M. Oberweger, P. Wohlhart, and V. Lepetit, “Hands deep in deep learning for hand pose estimation,” in Proc. Comput. Vis. Winter Workshop, 2015, pp. 21–30.

[^45]: J. Malik, A. Elhayek, and D. Stricker. (2017). “Simultaneous hand pose and skeleton bone-lengths estimation from a single depth image.” [Online]. Available: <https://arxiv.org/abs/1712.03121>

[^46]: E. Dibra, T. Wolf, C. Öztireli, and M. Gross, “How to refine 3D hand pose estimation from unlabelled depth data?” in Proc. 5th Int. Conf. 3D Vis. (3DV), Oct. 2017, pp. 135–144.

[^47]: Y. Li, R. Bu, M. Sun, and B. Chen. (2018). “PointCNN.” [Online]. Available: <https://arxiv.org/abs/1801.07791>

[^48]: B.-S. Hua, M.-K. Tran, and S.-K. Yeung, “Pointwise convolutional neural networks,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 1–10.

[^49]: Y. Wang, Y. Sun, Z. Liu, S. E. Sarma, M. M. Bronstein, and J. M. Solomon. (2018). “Dynamic graph CNN for learning on point clouds.” [Online]. Available: <https://arxiv.org/abs/1801.07829>

[^50]: J. Li, B. M. Chen, and G. H. Lee, “SO-Net: Self-organizing network for point cloud analysis,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognition. (CVPR), Jun. 2018, pp. 1–10.

[^51]: M. Jaderberg, K. Simonyan, A. Zisserman, and K. Kavukcuoglu, “Spatial transformer networks,” in Proc. Adv. Neural Inf. Process. Syst. (NIPS), 2015, pp. 2017–2025.

[^52]: X. Shi, S. Shan, M. Kan, S. Wu, and X. Chen, “Real-time rotation-invariant face detection with progressive calibration networks,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 2295–2303.

[^53]: J. Shotton et al., “Efficient human pose estimation from single depth images,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 35, no. 12, pp. 2821–2840, Dec. 2013.

[^54]: M. Sun, P. Kohli, and J. Shotton, “Conditional regression forests for human pose estimation,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2012, pp. 3394–3401.

[^55]: N. Neverova, C. Wolf, F. Nebout, and G. W. Taylor, “Hand pose estimation through semi-supervised and weakly-supervised learning,” Comput. Vis. Image Understand., vol. 164, pp. 56–67, Nov. 2017.

[^56]: R. Girshick, “Fast R-CNN,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), Dec. 2015, pp. 1440–1448.

[^57]: D. Fourure et al., “Multi-task, multi-domain learning: Application to semantic segmentation and pose regression,” Neurocomputing, vol. 251, pp. 68–80, Aug. 2017.

[^58]: M. Madadi, S. Escalera, A. Carruesco, C. Andujar, X. Baró, and J. González, “Occlusion aware hand pose recovery from sequences of depth images,” in Proc. IEEE Int. Conf. Autom. Face Gesture Recognition. (FG), May/Jun. 2017, pp. 230–237.

[^59]: D. Bouchacourt, P. K. Mudigonda, and S. Nowozin, “DISCO Nets: Dissimilarity coefficients networks,” in Proc. Adv. Neural Inf. Process. Syst. (NIPS), 2016, pp. 352–360.

[^60]: M. Oberweger, P. Wohlhart, and V. Lepetit, “Training a feedback loop for hand pose estimation,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), Dec. 2015, pp. 3316–3324.

[^61]: M. Madadi, S. Escalera, X. Baro, and J. Gonzalez. (2017). “End-to-end global to local CNN learning for hand pose recovery in depth data.” [Online]. Available: <https://arxiv.org/abs/1705.09606>

[^62]: C. Xu, L. N. Govindarajan, Y. Zhang, and L. Cheng, “Lie-X: Depth image based articulated object pose estimation, tracking, and action recognition on lie groups,” Int. J. Comput. Vis., vol. 123, no. 3, pp. 454–478, 2017.

[^63]: M. Abadi et al. (2015). TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems. [Online]. Available: <https://www.tensorflow.org/>

[^64]: M. Corsini, P. Cignoni, and R. Scopigno, “Efficient and flexible sampling with blue noise properties of triangular meshes,” IEEE Trans. Vis. Comput. Graphics, vol. 18, no. 6, pp. 914–924, Jun. 2012.

[^65]: P. Cignoni, M. Callieri, M. Corsini, M. Dellepiane, F. Ganovelli, and G. Ranzuglia, "MeshLab: An open-source mesh processing tool," in Proc. Eurograph. Italian Chapter Conf., 2008, pp. 129–136.

[^66]: D. P. Kingma and J. L. Ba, “Adam: A method for stochastic optimization,” in Proc. Int. Conf. Learn. Represent., 2015, pp. 1–15.

![Image](images/f5ca938561f5fd402fd45c127845e7c38bfb61676dbc4ad4c5647b7a9a55ea7e.jpg)

陈星浩于2013年在中国北京清华大学电子工程系获得学士学位，目前在该校攻读博士学位。2016年至2017年间，他作为访问博士生在英国帝国理工学院学习。他的研究兴趣包括深度学习、手部姿态估计和手势识别。

---

![Image](images/dedb876bbb62ff7c06da73de72c4949c7bad94347a101005c569e1bdfe7b1c98.jpg)

王贵金于1998年和2003年分别在中国清华大学电子工程系获得信号与信息处理专业的学士和博士学位（荣誉学位）。2003年至2006年，他在索尼信息技术实验室担任研究员。自2006年起，他一直在清华大学电子工程系担任副教授。2012年，他作为访问研究员在康奈尔大学AMP实验室工作。他发表了100多篇国际期刊和会议论文，拥有10项已授权专利及多项在审专利。他的研究兴趣集中在计算成像、姿态识别、智能人机交互界面、智能监控、工业检测以及医疗大数据人工智能应用等领域。2014年，他荣获中国人工智能学会科学技术奖一等奖，以及山东省科技进步奖二等奖。他曾担任IEEE信号处理杂志的副编辑、《神经计算》杂志的客座编辑，2015年中国系统集成电路大会的分会主席，以及ICIP2017的程序委员会成员。

![Image](images/c4032d32a7585a07620cf8d64a2a625128353985de54ab147b8b42d1e1a8ae64.jpg)

张才荣于2017年在中国北京清华大学电子工程系获得学士学位，目前在该校攻读硕士学位。他的研究兴趣包括深度学习、人体姿态估计和手部姿态估计。

![Image](images/9101b3a9195056a28e5899f1bff59b7126a84ba1f9d0413f729112d24bd1ce79.jpg)

金泰坤自2010年起担任英国帝国理工学院的副教授兼计算机视觉与学习实验室主任。在手姿估计、基于图像集的人脸识别、6自由度物体姿态估计、动作/活动识别以及机器人视觉等领域，他发表了40多篇顶级期刊和会议论文。他参与撰写的算法已成为MPEG-7 ISO/IEC人脸图像检索国际标准，他曾在ICRA14上荣获KUKA最佳机器人论文奖。他曾共同主持CVPR HANDS研讨会和ICCV/ECCV物体姿态研讨会，还是BMVC17的大会主席。他是《图像与视觉计算杂志》以及《IPSJ计算机视觉与应用交易》的副编辑。

![Image](images/3f1c22079fb1f05f0d592e191fd9d583fb256f482a40a266516aea2f879be4a9.jpg)

季翔阳于1999年和2001年分别在中国哈尔滨工业大学获得材料科学学士学位和计算机科学硕士学位，随后在中国科学院计算技术研究所获得计算机科学博士学位。2008年他加入北京清华大学，现任自动化系教授。他当前的研究方向涵盖

信号处理、图像/视频处理以及机器学习。
