
# 区域集成网络：用于手部姿态估计的改进卷积网络

郭恒凯、王贵金、陈星浩、张彩荣、乔飞、杨华钟

电子工程系

清华大学，北京

## 摘要

从单目深度图像中估计手部姿态是人机交互领域一个重要且极具挑战性的问题。近年来，设计精巧的深度卷积网络（ConvNet）已被用于解决这一问题，但其相较于传统方法的提升并不显著。为了进一步提升直接回归3D坐标的性能，我们提出了一种树状结构的区域集成网络（REN）：该网络将卷积输出划分为多个区域，并整合每个区域内多个回归器的结果。与多模型集成方法相比，我们的模型可实现端到端的训练。实验结果表明，在两个公开数据集上，我们的方法取得了优于现有最先进技术的性能。

关键词——卷积网络、手部姿态估计、集成学习

### 1. 引言

基于单张深度图像的手部姿态估计在人机界面（HCI）和增强现实（AR）应用中发挥着重要作用。尽管该问题已研究多年[^1]，但由于视角变化大、关节灵活性高、深度数据质量差、严重的自遮挡以及相似部位易混淆等问题，它仍然极具挑战性。

近年来，由于强大的建模能力和端到端特征学习能力，卷积网络（ConvNets）在物体分类[^2]、人体姿态估计[^3]等多项计算机视觉任务中取得了长足发展。卷积网络也被应用于解决手部姿态估计问题，通常会采用复杂的结构设计，例如多分支输入[^4][^5]和多模型回归[^5] [^6] [^7] [^8]。然而，卷积网络相较于传统的基于随机森林的方法，仍未展现出显著优势[^9] [^10]。

受模型集成和多视图投票机制的启发[^2]，我们提出了一种名为区域集成网络（REN）$^{1}$（图1）的单卷积网络架构，该架构能够在单目深度图像中直接回归3D关节坐标，同时支持端到端的优化与推理。我们通过在多个特征区域上训练独立的全连接（FC）层并将其组合为集成模型来实现这一功能。实验表明，REN显著提升了卷积网络的性能，在两项具有挑战性的手部姿态基准测试集上，其表现均优于所有现有最先进方法[^4] [^11]。

![Image](images/f4976d93f8b494f966ce39b726f6bca9cbebb0fb0affb45b0fd9ab1d9fbadc4f.jpg)

<div style="text-align: center;">Fig. 1. Overview of region ensemble network (REN).</div>

### 2. 相关工作

基于卷积神经网络的手部姿态估计
近年来，深度卷积神经网络已被应用于基于深度图像的手部姿态估计[^12][^13]。Tompson等人[^4]利用卷积神经网络生成2D热图，再通过逆向运动学推断3D手部姿态。Oberweger等人[^5]则采用多阶段卷积神经网络，以线性层作为姿态先验直接回归3D坐标。在[^6]中，研究人员采用了反馈循环来迭代修正误差，其中使用了3个卷积神经网络分别负责初始化、合成和姿态更新。Ge等人[^7]同样使用3个卷积神经网络，分别为每个视角回归2D热图，再结合深度投影结果融合得到3D手部姿态。在[^14]中，物理关节约束被融入卷积神经网络中基于正向运动学的层中。类似地，Zhang等人[^8]将骨骼流形嵌入卷积神经网络，通过端到端训练实现序列预测。

卷积神经网络的多模型集成方法
传统的集成学习是指训练多个独立模型，再通过取平均值或加权融合的方式组合它们的输出，

---

这种加权融合方式在识别竞赛中被广泛采用[^2]。除了装袋法[^2] [^15]外，提升法也被应用于人数统计任务[^16]。然而，使用多个卷积神经网络需要消耗大量内存和时间，在实际应用中并不具备可行性。

卷积神经网络的多分支集成方法
我们将具有多个分支融合功能的单个卷积神经网络视为一种广义的集成形式。一种常见的策略是利用多输入分支融合不同尺度的输入[^4] [^5]或不同的图像线索[^17] [^18] [^19]。另一种方法是采用共享卷积特征提取器的多输出分支，既可以基于不同样本进行训练[^20]，也可以用于预测不同类别[^21]。与多输入方法相比，多输出方法耗时更少，因为全连接层的推理速度远快于卷积层。我们的方法也属于此类。

卷积神经网络的多视角测试
多视角测试被广泛用于提升物体分类任务的准确率[^2]。在[^2]中，单个卷积神经网络会对10种裁剪方式（4个角落加中心位置，并包含水平翻转）产生的预测结果取平均值。在[^22]中，测试时采用全卷积网络处理多尺度和多视角的输入，再对得分图应用平均池化以获得最终得分。不过这种方法尚未被应用于手部姿态估计领域。

### 3. 区域集成网络（REN）

如图1所示，REN首先利用卷积神经网络进行特征提取，随后将特征划分为多个网格区域。每个区域会被送入全连接层，经过学习后融合以完成姿态预测。本节将介绍该网络的基本架构、区域集成结构以及实现细节。

网络架构 我们的 ConNet 用于特征提取的网络架构由六个 $3 \times 3$ 卷积层组成（图 2），它以 $96 \times 96$ 深度图像作为输入。每个卷积层之后都接一个修正线性单元（ReLU）激活函数。在池化层之间采用了两个残差连接 [^23]，并使用 $1 \times 1$ 卷积滤波器来增加维度。输出特征图的维度为 $12 \times 12 \times 64$。对于回归，我们为每个回归器使用两个 2048 维 FC 层，dropout 率为 0.5。回归器的输出是一个 $3 \times J$ 向量，表示手部关节的 3D 世界坐标，其中 J 为关节数量。

区域集成：多视角测试会对原始图像的不同裁剪区域的预测结果取平均值，以此降低图像分类的方差[^2]。直接使用多个输入会耗费大量时间。由于卷积特征图中的每个激活值都是由图像域中的感受野产生的，因此我们可以将多视角输入投影到特征图的各个区域上。所以多视角投票等同于利用各个区域分别预测整个手部姿态，再将结果合并。基于此，我们定义了一个树状结构的网络，它由一个单独的ConvNet主干和多个回归分支组成（见图1）。我们均匀地将

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

<div style="text-align: center;">Fig. 2. Structure of ConvNet for feature extraction. The dotted arrows represent residual connections [^23].</div>

ConvNet的特征图划分为一个$n \times n$网格。对于每个网格区域，我们分别将其作为分支输入全连接层。合并不同分支的一种简单策略是装袋法，即对所有分支的输出取平均值。为了更好地提升所有区域的预测效果，我们采用区域集成策略而非装袋法：将所有区域最后一层全连接层的特征拼接起来，再通过额外的回归层来推断手部姿态。整个网络可以通过最小化回归损失来进行端到端训练。我们设置$n = 2$以平衡性能与效率之间的关系，因此单个区域在$96 \times 96$图像边界内的感受野大小为$62 \times 62$，这可以看作是[^2]中的角部裁剪。加入中心裁剪并不会进一步提升准确率。需要注意的是，我们没有采用多尺度区域，因为这会导致全连接层中参数数量不平衡。

所提出的方法与多视角投票主要有三点区别：1）据我们所知，以往所有的多视角测试方法都是为图像分类设计的，而区域集成方法既可用于分类也可用于回归；2）我们对区域集成采用端到端训练而非仅用于测试，从而使ConvNet能够调整每个视角的贡献；3）我们用基于拼接特征的全连接层取代了平均池化操作，以学习特征融合方式，这提升了网络的学习能力。

实现细节：我们遵循[^4] [^5]中的做法，使用Caffe框架[^24]进行实现。我们首先分割前景，从以手部区域质心为中心的深度图像中提取一个边长为150毫米的立方体。随后将该立方体调整为$96 \times 96$大小的深度值补丁，并归一化至$[-1, 1]$作为ConvNet的输入，同时对其进行随机平移、缩放和旋转的数据增强处理。我们采用随机梯度下降（SGD）算法，小批量大小为128。初始学习率为0.005，每迭代50000次便除以10，模型最多训练200000次。与此同时，权重衰减系数设为0.0005，动量参数设为0.9。

### 4. 实验

我们将我们的方法应用于两个公开数据集：ICVL [^11] 和 NYU [^4]。前一个数据集有 300K 张图像用于训练

---

![Image](images/f264d182ac219a24e0b6ead13424ff7762eb8ba9c497a39136de47aefa591ec0.jpg)

<div style="text-align: center;">Fig. 3. Example results on ICVL [^11] and NYU [^4]: basic network (first row) and region ensemble network (second row).</div>

和 1.6K 张用于测试，包含 16 个关节。后一个数据集有 72K 张训练图像和 8K 张测试图像，包含 14 个关节。性能通过两个指标进行评估：逐关节平均欧几里得距离（以毫米为单位）以及所有关节误差均低于阈值 [^5] 的帧百分比。首先，我们将 REN 与基线以及 ICVL 数据集上不同的集成设置进行比较。然后，我们在两个数据集上将其与几种最先进的方法进行比较。

图4中的结果显示：1）基于装袋或集成的方法效果更好，因为所有集成版本的性能都显著优于单一模型；2）区域集成的效果远优于基础装袋，略优于区域装袋。图3展示了区域集成（第二行）和基础网络（第一行）的定性结果。

表1进一步对比了不同方法的运行时间（Nvidia Titan X GPU）。我们的REN在参数数量与基础大网络和区域装袋相近的情况下取得了最准确的结果，而基础装袋所需的参数和时间则明显更多。此外，REN在单块GPU上的运行速度可达3000帧/秒以上，足以满足实际应用需求。

表 1 进一步比较了不同方法的运行时间（Nvidia Titan X GPU）。我们的 REN 取得了最准确的结果，其参数数量与基本大型网络和区域 bagging 几乎相同，而基本 bagging 则需要显著更多的参数和时间。它在单块 GPU 上的运行速度可超过 3000fps，足以满足实际应用的需求。

与现有先进方法的比较：我们在ICVL数据集上将自己的方法与其他几种先进方法进行比较 [^11] [^5] [^9] [^14] [^10]，在NYU数据集上也是如此 [^4] [^5] [^6] [^25] [^7] [^14] [^8]。图5和图6显示，所提出的REN算法在所有算法中取得了最高的准确率。

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

<div style="text-align: center;">Fig. 4. Self-comparison for percentage of success frames on ICVL dataset [^11].</div>

具体而言，在ICVL数据集上，我们的方法在(5mm, 15mm)和(20mm, 60mm)阈值下均优于LSN [^10]，且大幅领先于其他方法。与LSN相比，平均误差降低了0.63mm，相对提升了7.77%。同样，在NYU数据集上，我们的结果在(5mm, 15mm)和(40mm, 80mm)阈值下也优于多视角ConvNets [^7]，且比其他方法准确得多。需要注意的是，LSN和多视角ConvNets都采用了多个模型以及复杂的输入方式，而我们的REN仅使用单个模型且无需多阶段回归，这充分体现了所提出的区域集成策略的强大能力。

### 5. 结论

为了提升单一ConvNet在手部姿态估计中的性能，我们提出了一种简单却强大的区域集成方法——

---

![Image](images/d3fa5da51570c340fba884e8d3ea80bc15088a630ed4cb80cfb7a1f172d49646.jpg)

![Image](images/b30eff459243681e2969664ae4318d1f7bc2b93c7b75b858924e68c18af45670.jpg)

<div style="text-align: center;">Fig. 5. Comparison with state-of-the-arts on ICVL [^11] dataset: distance error (left) and percentage of success frames (right).</div>

![Image](images/f211d8177295010a914943b460b309bbea6b3ee1c5b2f7ef2a80e0c5ee24dd89.jpg)

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

<div style="text-align: center;">Fig. 6. Comparison with state-of-the-arts on NYU [^4] datasets: distance error (left) and percentage of success frames (right).</div>

<div style="text-align: center;">Table 1. Average 3D distance error (mm) and GPU forward time (ms) of different methods on ICVL dataset [^11].</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;'>Error(mm)</td><td style='text-align: center; word-wrap: break-word;'>Time(ms)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Basic</td><td style='text-align: center; word-wrap: break-word;'>8.36</td><td style='text-align: center; word-wrap: break-word;'>0.21</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Basic Large</td><td style='text-align: center; word-wrap: break-word;'>8.18</td><td style='text-align: center; word-wrap: break-word;'>0.22</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Basic Bagging</td><td style='text-align: center; word-wrap: break-word;'>7.94</td><td style='text-align: center; word-wrap: break-word;'>0.88</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Region Bagging</td><td style='text-align: center; word-wrap: break-word;'>7.63</td><td style='text-align: center; word-wrap: break-word;'>0.31</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Region Ensemble</td><td style='text-align: center; word-wrap: break-word;'>7.47</td><td style='text-align: center; word-wrap: break-word;'>0.31</td></tr></table>

通过将特征图划分为不同区域，并在所有区域上联合训练多个回归器以实现融合，从而构建出有效的结构。这种策略能够在不增加过多计算开销的情况下显著提升卷积神经网络的性能。实验结果表明，我们的方法在两个数据集上的表现均优于现有所有最先进的方法。未来我们将进一步研究和分析用于卷积神经网络的更多集成方法。由于所提出的区域集成方法具有通用性，我们还将尝试将其应用于人体姿态估计等更多任务中。致谢：本研究得到了国家自然科学基金（编号61271390）和863计划（编号2015AA016304）的支持。感谢潘淑兰对论文的编辑工作。

### 6. 参考文献

## [^1]: James Steven Supancic III, Gregory Rogez, Yi Yang, Jamie Shotton, and Deva Ramanan, “Depth-based hand pose estimation: methods, data, and challenges,” in IEEE International Conference on Computer Vision, 2015

---

[^2]: Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton, “Imagenet classification with deep convolutional neural networks,” in Advances in neural information processing systems, 2012, pp. 1097–1105.

[^3]: Adrian Bulat and Georgios Tzimiroopoulos, “Human pose estimation via convolutional part heatmap regression,” in European Conference on Computer Vision. Springer, 2016, pp. 717–732.

[^4]: Jonathan Tompson, Murphy Stein, Yann Lecun, and Ken Perlin, “Real-time continuous pose recovery of human hands using convolutional networks,” ACM Transactions on Graphics, vol. 33, no. 5, pp. 169, 2014.

[^5]: Markus Oberweger, Paul Wohlhart, and Vincent Lepetit, “Hands deep in deep learning for hand pose estimation,” Computer Vision Winter Workshop, 2015.

[^6]: Markus Oberweger, Paul Wohlhart, and Vincent Lepetit, “Training a feedback loop for hand pose estimation,” in IEEE International Conference on Computer Vision, 2015.

[^7]: 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 IEEE Conference on Computer Vision and Pattern Recognition, 2016.

[^8]: Yu Zhang, Chi Xu, and Li Cheng, “Learning to search on manifolds for 3d pose estimation of articulated objects,” arXiv preprint arXiv:1612.00596, 2016.

[^9]: Xiao Sun, Yichen Wei, Shuang Liang, Xiaou Tang, and Jian Sun, “Cascaded hand pose regression,” in IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp. 824–832.

[^10]: Chengde Wan, Angela Yao, and Luc Van Gool, “Hand pose estimation from local surface normals,” in European Conference on Computer Vision, 2016.

[^11]: Danhang Tang, Hyung Jin Chang, Alykhan Tejani, and Tae-Kyun Kim, “Latent regression forest: Structured estimation of 3d articulated hand posture,” in IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2014, pp. 3786–3793.

[^12]: Guijin Wang, Xuanwu Yin, Xiaokang Pei, and Chenbo Shi, “Depth estimation for speckle projection system using progressive reliable points growing matching,” Applied optics, vol. 52, no. 3, pp. 516–524, 2013.

[^13]: Chenbo Shi, Guijin Wang, Xuanwu Yin, Xiaokang Pei, Bei He, and Xinggang Lin, “High-accuracy stereo matching based on adaptive ground control points,” IEEE Transactions on Image Processing, vol. 24, no. 4, pp. 1412–1423, 2015.

[^14]: Xingyi Zhou, Qingfu Wan, Wei Zhang, Xiangyang Xue, and Yichen Wei, “Model-based deep hand pose estimation,” in IJCAI, 2016.

[^15]: Yi Sun, Xiaogang Wang, and Xiaou Tang, “Deep convolutional network cascade for facial point detection,” in IEEE Conference on Computer Vision and Pattern Recognition, 2013, pp. 3476–3483.

[^16]: Elad Walach and Lior Wolf, “Learning to count with cnn boosting,” in European Conference on Computer Vision. Springer, 2016, pp. 660–676.

[^17]: Hengkai Guo, Guijin Wang, and Xinghao Chen, “Two-stream convolutional neural network for accurate rgb-d fingertip detection using depth and edge information,” arXiv preprint arXiv:1612.07978, 2016.

[^18]: Hanxi Li, Yi Li, and Fatih Porikli, “Deeptrack: Learning discriminative feature representations online for robust visual tracking,” IEEE Transactions on Image Processing, vol. 25, no. 4, pp. 1834–1848, 2016.

[^19]: Xinghao Chen, Guijin Wang, and Hengkai Guo, “Accurate fingertip detection from binocular mask images,” in Visual Communications and Image Processing (VCIP), 2016. IEEE, 2016, pp. 1–4.

[^20]: Hanxi Li, Yi Li, and Fatih Porikli, “Convolutional neural net bagging for online visual tracking,” Computer Vision and Image Understanding, pp. 120–129, 2016.

[^21]: Karim Ahmed, Mohammad Haris Baig, and Lorenzo Torresani, “Network of experts for large-scale image categorization,” arXiv preprint arXiv:1604.06119, 2016.

[^22]: Pierre Sermanet, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus, and Yann LeCun, “Overfeat: Integrated recognition, localization and detection using convolutional networks,” arXiv preprint arXiv:1312.6229, 2013.

[^23]: Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun, “Deep residual learning for image recognition,” arXiv preprint arXiv:1512.03385, 2015.

[^24]: Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarama, and Trevor Darrell, “Caffe: Convolutional architecture for fast feature embedding,” arXiv preprint arXiv:1408.5093, 2014.

[^25]: Ayan Sinha, Chiho Choi, and Karthik Ramani, “Deephand: robust hand pose estimation by completing a matrix imputed with deep features,” in IEEE Conference on Computer Vision and Pattern Recognition, 2016.
