
# 基于CNN的手部检测与旋转估计

邓晓明、袁烨、张银达、谭平、常亮、杨硕、王宏安

摘要—手部检测对于许多与手相关的任务至关重要，例如手部姿态解析、手势识别，这些在机器人技术和人机交互领域具有极高的实用价值。然而，由于腕关节的灵活性以及背景的复杂性，在非受控环境中进行手部检测极具挑战性。我们提出了一种基于深度学习的方法，能够在监督下同时检测手部并校准其平面内旋转。为了保证召回率，我们提出了一种上下文感知的候选区域生成算法，其性能显著优于选择性搜索算法。随后我们设计了一种卷积神经网络（CNN），能够显式处理物体旋转问题，从而同步解决物体检测和旋转估计任务。实验表明，在Oxford和Egohands等常用基准数据集上，我们的方法比现有最先进的检测模型取得了更好的效果。我们还进一步验证了估计结果与分类任务能够相互促进。

关键词—手部检测、旋转估计、卷积神经网络。

## 一、引言

手部检测在人机交互和机器人领域具有基础性且极为重要的意义。它能够帮助计算机和机器人理解人类的意图$^{[1]}$，并为高层任务提供诸如作用力、姿态、意图等多种线索。除了在图像中定位手部外，确定手部的平面内旋转同样重要，因为这通常被视为手部姿态估计$^{[2]}$和手势识别$^{[3]}$等其他任务的初始化步骤。尽管过去十年间通用物体检测基准测试水平不断提升，但由于不同腕部旋转和手指关节活动会导致手部形态存在巨大差异，从单张图像中进行手部检测仍颇具挑战性$^{[4][5]}$。

在本文中，我们提出将手部检测问题与平面内旋转估计问题一并解决。图1展示了我们系统的整体流程。受RCNN[^6]框架的启发，我们首先提取出更有可能包含手部的若干矩形区域（图1(a)）。鉴于图像的复杂性以及手部的关节形态特点，我们提出了一种判别性的候选区域生成算法，该算法在召回率方面显著优于选择性搜索[^7]、objectness[^8]等现有的区域候选生成方法。随后旋转网络会估计出手部的平面内旋转角度，将输入的手部图像（若存在）对齐到竖直方向（图1(b)）。根据估算出的旋转角度对输入数据进行调整后再送入检测网络进行二分类处理（图1(c)）。

我们的模型采用多任务联合训练的方式，这种方式已被证明在众多视觉任务中非常有效。在本研究中，手部检测与平面内旋转密切相关且能相互促进。将不同旋转角度下的训练数据校准到直立位置，可生成具有旋转不变性的特征，从而减轻检测/分类模型的负担；反过来，检测模型也能验证旋转估计是否合理。然而，由于卷积神经网络的特性，实现旋转不变性比实现平移不变性更为困难，这阻碍了端到端优化。因此，以往的研究[^9]通常将变换估计与检测分开处理，或采用迭代方式，这可能无法达到全局最优解。

我们设计了一个去旋转层，它能够将特征图按指定角度进行显式旋转。这使我们能够同时针对两项任务对网络进行联合优化（网络结构见图2）。近期，空间变换网络（ST-CNN）[^10]也提出了一种可微模块，用于借助CNN对特征图进行空间变换。不过，它们的变换是无监督学习的，因此可能是任何难以直接解读的任意旋转（关于ST-CNN并非理想的手部检测模型的讨论详见附录）。此外，变换空间通常十分庞大，需要更多数据和时间才能收敛。相比之下，我们的旋转估计网络旨在实现直立对齐，这样输出结果可直接用于相关任务，例如手部姿态估计。该网络采用有监督训练方式，更易于收敛。

本文的贡献主要体现在四个方面。首先，据我们所知，我们提出了首个联合估计平面内手部旋转并进行检测的框架。实验表明，在广泛使用的基准测试中，我们的性能明显优于现有最先进方法。其次，我们设计了去旋转层，能够实现两项任务的端到端优化。旋转估计网络采用强监督方式训练，收敛效率更高。第三，

---

![Image](images/e3b00cdc03d9cd400d976609509337fc9697d0701e80cca7e2afc7c030824882.jpg)

<div style="text-align: center;">Fig. 1. Pipeline of our system: Joint hand detection and rotation estimation. We first generate region proposals from the input image and feed them into the neural network. The in-plane rotation is estimated by the rotation network, and applied back to the input proposal. The aligned data are then fed into the detection network. Thanks to the derotation layer, two tasks are jointly optimized end-to-end.</div>

我们提出了一种手部形状候选生成算法，其召回率和平均最佳重叠分数（MABO）均有显著提升，表现优于现有的选择性搜索$^{[7]}$和物体性判断$^{[8]}$方法。最后但同样重要的是，我们的模型比以往的工作更高效。得益于旋转估计网络，我们无需暴力搜索所有可能的角度，从而将检测时间缩短至$1/7$。

### II. 相关工作

近期基于单图像的手部检测方法可分为四类：

肤色检测方法。这类方法要么利用高斯混合模型[^11]构建肤色模型，要么借助面部检测中积累的肤色先验知识[^12]。然而，由于复杂的光照条件往往会导致肤色出现较大差异，使得肤色建模问题极具挑战性，因此这些方法通常无法适用于一般条件下的手部检测。

基于模板的检测方法。这类方法通常学习手工设计的模板或可变形部件模型的混合体。它们可以通过Harr特征来实现，比如Viola和Jones级联检测器[^13]、HOG-SVM流程[^13]以及可变形部件模型（DPM）[^4]。这类方法的一个局限性在于它们使用的是弱特征（通常是HOG或Harr特征）。还有一些方法将人手作为人体结构的一部分来检测，利用人体图像结构作为手部位置的空间上下文[^14]。不过，这些方法要求人体的大部分部位可见，而身体部位的遮挡会使手部检测变得困难[^15]。

逐像素标注的检测方法。在以自我为中心的视频中，一种像素标注方法[^5]在手部检测方面表现相当出色。在[^16]中，这种像素标注方法被进一步拓展为结构化图像标注问题。不过，这些方法需要对整幅图像进行耗时的逐像素扫描。

结合姿态估计的检测方法。这类方法可分为两类：1）先估计物体姿态，再预测经过该姿态旋转后的图像的物体标签；Rowley、Baluja和Kanade[^9]提出了一种具有开创性的旋转不变神经网络人脸检测方法。该系统采用多个网络：第一个是旋转网络，它处理每个输入窗口以确定其方向，然后利用这些信息为一个或多个检测网络准备窗口。2）同时估计姿态并进行检测。He、Sigal和Sclaroff[^17]提出了一种结构化公式，用于同步执行物体检测和姿态估计。Fidler等人[^18]提出了基于可变形三维立方体模型的三维物体检测和视角估计方法。据我们所知，利用卷积神经网络对二维图像的物体检测和旋转估计问题进行联合建模的研究还较少。

### III. 研究方法

我们提出了一种端到端优化的深度学习框架，能够利用单张图像同时实现手部检测和旋转估计。整体流程如图2所示。我们首先提取可能包含手部的区域提议。为了充分利用手部形状和颜色的强局部特性，我们采用来自Alexnet$^{[19]}$的特征训练多组件SVM来进行区域提议，而非使用简单的基于分割的算法。这些提议会被送入卷积层，以提取后续用于旋转估计和检测的共享特征。旋转网络执行分类任务，以估计能使输入图像中的手部对齐到向上方向的平面内旋转角度（如果存在手部的话）。随后，根据旋转网络的结果对共享特征进行显式旋转，再将其传入检测网络以获得置信度分数。由于特征已被良好对齐，检测网络无需处理对齐问题，因此表现更为可靠。旋转变换由可反向传播的去旋转层完成，从而实现端到端训练。与ST-CNN$^{[10]}$不同，旋转网络和检测网络均在监督下训练，因此旋转网络的输出能保证实现所需的数据对齐。

### A. 提议生成

目前已提出了多种与类别无关的区域提议方法，包括选择性搜索[^7]、物体性检测[^8]以及类别无关的物体提议[^20]。然而，由于背景杂乱且手部形状具有可变形性，以往的区域提议方法（尤其是基于分割的方法）无法再保证较高的召回率，同时又能将提议数量控制在合理范围内。

---

![Image](images/376ae218ab60e95ec40242a4a6769d3508ce9b28d393b5dae27dc45e39d9fa2d.jpg)

<div style="text-align: center;">Fig. 2. Overview of our model. The network consists of four parts: 1) a shared network for learning features to benefit both rotation estimation and detection tasks; 2) a rotation network for estimating the rotation of a region proposal; 3) a derotation layer for rotating inputted feature maps to a canonical pose; 4) a detection network for classifying the derotated proposal. These modules are jointly used to learn an end-to-end model for simultaneous hand detection and rotation estimation.</div>

在保持提议数量可控的同时，已无法再保证召回率（实验部分的表1显示，选择性搜索和物体性检测在手部检测方面表现均不佳）。

我们采用一种判别性方法来生成手部区域提议。受可变形部件模型（DPM）[^21]的启发，我们根据图像块的长宽比将训练数据划分为8个子集，针对每个子集利用从AlexNet中提取的pooled conv5层特征来训练一个线性SVM[^19]。我们在验证集上确定阈值，以确保100%的正样本都能被至少0.5的交并比（IOU）覆盖。图4显示，我们的方法在保持每张图像提议数量相当的同时，能显著提升召回率。

### B. 旋转感知网络

在本节中，我们将介绍用于判断某个区域提议是否包含手部的旋转感知神经网络。详细的网络结构详见补充材料。

1) 网络结构：该网络首先通过3层卷积+ReLU+池化操作从输入的提议图像块中提取特征。由于步长的影响，输入特征图的分辨率为$13 \times 13$，但仍能保留空间信息。在此基础上，旋转网络由2层卷积层以及随后的3个全连接层组成，用于估计旋转角度，从而使提议中的手部（如果存在的话）能够对齐到竖直方向。我们将旋转估计问题转化为回归问题：给定一个已旋转的手部图像，旋转网络作为回归器输出一个二维的旋转估计向量$\mathbf{1} = (\cos \alpha, \sin \alpha)$。估计出的角度随后会被送入去旋转层，以校正训练图像块的方向。之后，去旋转层会根据旋转网络估计出的平面内角度，对共享网络产生的特征进行旋转。旋转后的特征接着被送入2层卷积层和3个全连接层，执行二分类任务，判断该提议是否包含手部。由于去旋转层是可微分的，整个网络可以端到端优化，旋转估计和手部检测这两个任务也能协同优化。

![Image](images/30c49a8da8c89b9ac1cf7b344ea3ddeb5c7026f9e4bdb4c9127988c0abe4273b.jpg)

<div style="text-align: center;">Fig. 3. Illustration of applying derotation transformation to input feature map. The derotation layer aims to warp the input image to a canonical hand pose by  $\mathbf{R}_{\alpha}$. In this work, the canonical hand pose is an upright hand pose as shown in the right part of this figure.</div>

2) 去旋转层：去旋转层是一种在单次前向传播中对特征图应用旋转变换的层。在我们的场景中，去旋转层的输入是从原始图像计算得到的特征图，以及由旋转网络预测或标注的平面内旋转角度；该层的输出是在给定旋转角度下、假定处于标准竖直手部姿态的去旋转特征图（参见图3）。

具体来说，如果我们要应用的平面内旋转角度为$\alpha$，那么去旋转变换为

 $$ \left[\begin{array}{l}x^{\prime}\\ y^{\prime}\end{array}\right]=\underbrace{\left[\begin{array}{c c}\cos\alpha&-\sin\alpha\\ \sin\alpha&\cos\alpha\end{array}\right]}_{\mathbf{R}_{\alpha}}\left[\begin{array}{l}x\\ y\end{array}\right] $$

其中$[x', y']$是标准竖直手部姿态下输出特征图中规则网格的目标坐标，$[x, y]$是输入特征图中规则网格的源坐标。

在我们的实现中，我们使用逆映射来获取输出特征图。换句话说，对于输出的每个像素$[x', y']$，我们都能在输入特征图中找到对应的位置$[x, y]$。由于$[x, y]$往往并不位于规则网格上，我们通过对其四个最近邻位置的值取平均来计算该像素的特征。对于位于规则网格之外的$[x, y]$，我们会用零来填充。另一种选择是进行填充。

---

用框外的特征进行填充，不过出于效率考虑，此处并未采用这种方式。

反向传播可以通过记录旋转层前后特征图之间的坐标映射关系来实现。对$[x', y']$上的值的更新会反向传播到其值的来源坐标，这一方式与[^22][^23]中的某些池化层和ROI层类似。

### C. 损失层

我们的模型总体上包含两种损失：旋转网络损失和检测网络损失。

旋转损失。对于旋转估计，我们采用$L_2$损失。我们获取真实的手部边界框，并用它们来训练能够对手部旋转进行回归的网络，该旋转被表示为二维向量$\mathbf{1} = (\cos \alpha, \sin \alpha) \triangleq \left( \frac{c}{\sqrt{c^2 + s^2}}, \frac{s}{\sqrt{c^2 + s^2}} \right)$。其中，c和s是旋转网络中最后一层卷积层的输出，l是通过对c和s归一化得到的规范化姿态向量，这样就能在公式(1)中强制使$\mathbf{R}_\alpha$成为旋转矩阵。更确切地说，如果l和$l^*$分别是预测的旋转估计向量和真实的旋转估计向量，那么旋转损失为

 $$ L_{r o t a t i o n}(\mathbf{l},\mathbf{l}^{*})=||\mathbf{l}-\mathbf{l}^{*}||_{2}^{2} $$

计算$L_{rotation}$关于$1 = (\cos \alpha, \sin \alpha)$的偏导数很容易。为了推导旋转损失的反向算法，我们需要计算$1 = (\cos \alpha, \sin \alpha)$关于c和s的偏导数，其计算方法如下：

 $$ \begin{array}{rcl}\displaystyle\frac{\partial\cos\alpha}{\partial c}&=&(c^{2}+s^{2})^{-\frac{1}{2}}-c^{2}(c^{2}+s^{2})^{-\frac{3}{2}}\\\displaystyle\frac{\partial\cos\alpha}{\partial s}&=&-cs(c^{2}+s^{2})^{-\frac{3}{2}}\\\displaystyle\frac{\partial\sin\alpha}{\partial c}&=&-cs(c^{2}+s^{2})^{-\frac{3}{2}}\\\displaystyle\frac{\partial\sin\alpha}{\partial s}&=&(c^{2}+s^{2})^{-\frac{1}{2}}-s^{2}(c^{2}+s^{2})^{-\frac{3}{2}}\end{array} $$

检测损失。对于检测任务，我们采用简单的交叉熵损失。记$D^{*}$为真实物体标签，检测损失的定义如下

 $$ L_{detection}(D,D^{*})=-\frac{1}{n}\sum_{i}\sum_{j}D_{i}^{*}\log(D_{i}) $$

其中$D_i = e^{z_j^i} / \sum_{j=0}^{1} e^{z_j^i}$是在检测网络中最后一层卷积层的输出z下，第i个候选区域属于类别j的预测结果，n表示训练用的候选区域数量。

### D. 训练方案

旋转感知网络包含两条通过旋转层相互交互的路径。为了训练该模型，我们采用了分而治之的策略。首先，我们用在ImageNet上预训练的模型来初始化共享网络和旋转网络，仅针对旋转估计任务进行微调。接着，固定这两个网络，启用检测网络，针对手部二分类任务进行微调。当网络参数收敛到较好的局部最优解后，我们启用整个网络，以端到端的方式同时优化这两个任务。

我们仅将候选区域生成模块产生的候选区域作为训练数据。根据候选区域与真实标注的IOU值，若IOU大于0.5则视为正样本；若IOU小于0.5则视为负样本；否则予以丢弃。最终得到约1万个正样本和4900万个负样本。由于正负样本数量极度不平衡，我们使用全部正样本以及随机抽样的3000万个负样本。我们还确保每个小批量中正负样本的比例达到1:1。对于负样本，它们在从旋转网络进行的反向传播过程中不会贡献任何梯度。

1) 数据增强：由于在ImageNet上预训练的Alexnet并未编码与旋转相关的信息，我们发现使用有限数量的正样本数据进行训练会导致泛化能力较差。我们通过扩充训练数据规模来缓解过拟合问题。我们对训练图像进行水平翻转处理，从而使其对左右手具有不变性。我们还将每个正样本提议框围绕其中心旋转36次（每次旋转10度），并将每一次旋转结果都作为训练数据。这使得训练数据规模扩大了36倍，最终我们的训练数据包含了来自4096张图像的超过600万个提议框。

2) 难负样本挖掘：受DPM[^21]的启发，我们采用难负样本挖掘技术来抑制易混淆的误检结果。利用初始训练数据训练好模型后，我们将该模型应用于全部训练提议框。我们将得分较高（$\geq$ 0.4）的负样本加入训练数据，然后再次训练模型。通常来说，进行2-3次难负样本挖掘就足以使模型性能接近饱和状态。

### 四、实验

### A. 数据集与评估

我们采用广泛使用的Oxford手部数据集[^4]和EgoHands数据集[^24]来评估所提出的方法。Oxford手部数据集包含13050个标注有边界框和旋转信息的手部样本，这些样本取自各类公共图像数据集。由于该数据集对人物的姿态、可见性以及背景环境均无限制，因此被认为具有多样性。与Signer[^25]、VIVA[^26]等其他主流手部数据集相比，Oxford手部数据集的背景更为杂乱，视角变化更多，手部形状的变化也更复杂。EgoHands数据集[^24]包含48段谷歌眼镜拍摄的视频，记录了两人之间的复杂第一人称交互场景，这些视频同样标注有边界框和旋转信息。该数据集主要用于第一人称计算机视觉中的手部活动识别。

为了展示整个系统的性能，我们分别评估了区域提议生成、旋转估计以及最终检测性能。对于区域提议生成环节，我们统计被IOU大于0.5的提议框覆盖的正样本所占的百分比。为了进一步体现定位精度，我们还

---

计算了平均最佳重叠度（MABO）[^7]，这是衡量物体假设数量的标准指标。对于旋转估计环节，我们统计估计值与真实值之间的差异。在检测环节，我们采用典型的平均精度（AP）以及IOU阈值为0.5时的精确率-召回率曲线来评估性能。

### B. 在Oxford手部数据集上的性能表现

1) 区域提议生成：图5和表I展示了我们基于SVM的方法与传统基于分割的算法（如Selective Search $^{[7]}$和Objectness $^{[8]}$）之间的对比结果。我们的方法仅需约一半数量的提议框（7644个，而Selective Search和Objectness需要13000多个）就能实现近100%的召回率，且MABO值显著更高。从定性角度来看，Selective Search之所以表现不佳，是因为它过度依赖超分割操作，可能不适合背景杂乱且存在大量类似皮肤区域的复杂场景；而我们的方法能够充分利用手部关节局部形状的判别能力，生成可靠的提议框。

![Image](images/734055f08db2a84aef1b28e7a18aa7f3de19dd3a06b39b57b87505cea45fbc2d.jpg)

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

![Image](images/a304264ff0dbd6fa4f03c57bb18df8e93962129b2b59f34af9400e781c6251f7.jpg)

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

<div style="text-align: center;">Fig. 4. Trade-off between recall(a) and MABO(b) of the object hypotheses in terms of bounding boxes on the Oxford hand test set.</div>

<div style="text-align: center;">TARI F I</div>

<div style="text-align: center;">PROPOSAL GENERATION PERFORMANCE ON THE HAND TEST DATA. #WIN MEANS THE WINDOW NUMBERS.</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;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>MABO</td><td style='text-align: center; word-wrap: break-word;'>#win</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>selective search</td><td style='text-align: center; word-wrap: break-word;'>46.1%</td><td style='text-align: center; word-wrap: break-word;'>41.9%</td><td style='text-align: center; word-wrap: break-word;'>13771</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>objectness</td><td style='text-align: center; word-wrap: break-word;'>90.2%</td><td style='text-align: center; word-wrap: break-word;'>61.6%</td><td style='text-align: center; word-wrap: break-word;'>13000</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>our proposal method</td><td style='text-align: center; word-wrap: break-word;'>99.9%</td><td style='text-align: center; word-wrap: break-word;'>74.1%</td><td style='text-align: center; word-wrap: break-word;'>7644</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>our proposal method</td><td style='text-align: center; word-wrap: break-word;'>100%</td><td style='text-align: center; word-wrap: break-word;'>76.1%</td><td style='text-align: center; word-wrap: break-word;'>17489</td></tr></table>

![Image](images/6328d6475e880a8f2223bfd3af315512351f69666bb849f439128028a9d07805.jpg)

选择性搜索

<div style="text-align: center;">Fig. 5. Comparison between our proposal generation approach to the traditional segmentation based algorithms. Examples of locations for objects whose Best Overlap score is around MABO of our method, objectness and selective search. The green boxes are the ground truth. The red boxes are created using our proposal generation method.</div>

<div style="text-align: center;">TABLE II</div>

手部测试数据上的旋转估计性能。

如果预测值与真实值之间的角度差小于$\delta_{\alpha} = 10^{\circ}, 20^{\circ}, 30^{\circ}$度，则旋转结果被视为正确。我们对比了仅使用旋转模型以及联合旋转与检测模型在手部测试数据上的旋转估计结果。

<div style="text-align: center;">MODEL</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;'>$≤ 10^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$≤ 20^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$≤ 30^{\circ}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Only rotation model</td><td style='text-align: center; word-wrap: break-word;'>45.61%</td><td style='text-align: center; word-wrap: break-word;'>70.13%</td><td style='text-align: center; word-wrap: break-word;'>79.79%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Joint model</td><td style='text-align: center; word-wrap: break-word;'>47.84%</td><td style='text-align: center; word-wrap: break-word;'>70.88%</td><td style='text-align: center; word-wrap: break-word;'>80.24%</td></tr></table>

2) 旋转估计：我们首先验证了旋转网络能够生成合理的平面内旋转估计结果。表二展示了仅使用旋转模型时的旋转估计性能。可以看出，45.61%的数据预测值落在真实值±10度范围内，70.13%的数据落在±20度范围内，79.79%的数据落在±30度范围内。图6也展示了测试图像上的手部旋转估计结果示例，可见我们的旋转模型表现优异。

3) 检测性能：我们将我们的模型与几种最先进的方法进行对比，包括R-CNN $^{[6]}$、基于DPM的方法 $^{[4]}$、DP-DPM $^{[27]}$ 以及ST-CNN $^{[10]}$，其中前三种方法并未显式处理旋转问题。图\ref{fig:3}展示了精度-召回曲线，每种算法后的数值代表平均精度（AP）。我们的模型（分离式）指共享的3个卷积层保持不变，旋转与检测网络分别训练且共享网络参数不调整；而我们的模型（联合式）指网络采用端到端训练方式。我们在Oxford手部数据集上的平均精度，联合式模型达到了48.3%，这一数值显著优于现有最优水平$^{[4]}$：使用手部区域训练的DPM方法AP为36.8%，加入手部上下文和肤色模型等额外数据后AP可达42.3%（我们并未使用此类额外数据）。无论采用联合式还是分离式模型，均优于传统的基于CNN的方法——分离式模型的AP比R-CNN高4.9%，比ST-CNN高6.6%。这表明针对检测网络中的分类模型而言，带旋转对齐的数据至关重要。图8展示了我们的方法在Oxford手部数据集测试图像上的部分结果，图中同时显示了检测边界框与旋转估计结果。附录中讨论了ST-CNN或许并非理想的手部检测模型这一观点。

我们给出了我们的手部检测器在Oxford手部数据集上的更多实验结果。图9和图10分别是户外和室内图像中Oxford手部数据库的高分检测示例，显然我们的方法在户外和室内图像、多手及单手场景下均表现良好。图11展示了误检示例，结果表明由于肤色相似，皮肤区域（如面部、手臂、脚部）更容易被误判为手部，一些非皮肤类区域也易被错误分类。我们认为，通过运行肤色区域检测$^{[28]}$，并有意将肤色区域的负样本纳入训练数据，就能提升难例的有效性。

---

![Image](images/f7f14fac5c89766da900f6e55ad30242c2a04494bc2d165c3e6b294e64368fdc.jpg)

<div style="text-align: center;">Fig. 6. Examples of hand rotation estimation results on proposals of test images. The red and green arrows indicate the estimated and ground truth rotation angles, respectively.</div>

![Image](images/ed9556acdb4a8687ce5810a36e0444f762506ddb661764d17197175a6c695ac4.jpg)

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

![Image](images/ea4897871c2a2a899f393ee75c67f5aa7e1a23f2e4c8e3d36be224978ccadee0.jpg)

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

<div style="text-align: center;">Fig. 7. Precision-Recall curve comparing the baseline and final results. (a) Comparison with baselines. DPM means the results with hand shape detector in [^4]. (b) Comparison with detection with ground truth rotation, a performance upper bound.</div>

<div style="text-align: center;">TABLE III</div>

<div style="text-align: center;">AVERAGE TIME (SECOND/IMAGE) TO DETECT HANDS. COMPARISON ARE MADE WITH STATE-OF-THE-ARTS DPM-BASED METHOD[^4], R-CNN[^6], DP-DPM[^27], AND OUR JOINT MODEL. OUR METHOD IS SUPERIOR TO [^4] IN RUNNING TIME.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>DPM</td><td style='text-align: center; word-wrap: break-word;'>R-CNN</td><td style='text-align: center; word-wrap: break-word;'>DP-DPM</td><td style='text-align: center; word-wrap: break-word;'>Joint model</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>running time</td><td style='text-align: center; word-wrap: break-word;'>55</td><td style='text-align: center; word-wrap: break-word;'>9</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>8</td></tr></table>

4) 效率：我们在表III中将其运行时间与先前的最优方法[^4]、R-CNN[^6]以及DP-DPM[^27]进行了比较。我们方法的时间效率优于[^4]中的方法，且与R-CNN和DP-DPM相当。在配备Nvidia Titan X显卡的四核2.9GHz PC上，处理分辨率为$500 \times 400$像素的图像时，我们的运行时间约为8秒，而[^4]中的先前方法每幅图像需要约55秒。由于我们使用了区域提议而非滑动窗口机制，且仅根据估计角度进行一次去旋转操作，而不像[^4]中那样采用暴力旋转方式，因此我们的方法更高效。我们认为，若采用更先进的区域提议方法（如区域提议网络[^23]），并利用ROI池化[^22]等方法为所有提议共享图像的卷积特征图，我们的方法还能进一步提升时间效率。

### C. 模型分析

1) 模型是否经过充分优化？为了判断该模型是否通过显式旋转估计实现了合理优化，我们利用真实旋转标签训练了一个检测网络。图7(b)展示了其精确率-召回率曲线，平均精确率达到50.9%，这可视为在当前网络拓扑下的性能上限。这一结果再次表明，将数据对齐到监督设定的方向上对检测模型大有裨益。此外，我们的性能仅比这一上限低2.6%，说明该系统已得到良好优化。

2) 联合训练是否有帮助？从概念上讲，通过联合优化多个相关任务来训练网络是有益的。我们通过对比未采用联合训练的模型与我们的联合模型来探究这一问题。为获得非联合优化的模型，我们仍遵循参数初始化的“分而治之”策略，但允许旋转网络与检测网络共享前3层用于特征提取。结果显示，平均精确率下降了2%（参见图7(b)），旋转估计精度也下降了约1%（参见表II）。总体而言，我们证明了联合训练能让多个任务共享彼此有用的信息，从而构建出紧凑且高效的网络拓扑。

---

![Image](images/61601ed673aa643e2cb85469c4d4f88c92e8e307b7402695e6ee9bde9baf19ac.jpg)

<div style="text-align: center;">Fig. 8. Examples of high-scoring detection on Oxford hand database. The rotation estimation is illustrated with red arrows.</div>

![Image](images/ff555396826662677beb286f8b4aa75f676aff98094db59781589afc09b99eeb.jpg)

<div style="text-align: center;">Fig. 9. Examples of high-scoring detection on Oxford hand database (outdoor images). The rotation estimation is illustrated with red arrows.</div>

### D. 在EgoHands数据集上的性能表现

为展示我们方法的泛化能力，我们在EgoHands数据集$^{[24]}$上测试了整个流程。图13展示了EgoHands数据集上基线模型与最终结果的精确率-召回率曲线，每种算法后的数字代表平均精确率（AP）。我们的模型（分离式）指共享的3个卷积层保持不变，旋转网络与检测网络分别训练且共享网络不参与调参；而我们的模型（联合式）则指网络采用端到端训练方式。图12展示了EgoHands数据库中得分较高的检测结果示例。EgoHands数据集上的旋转估计性能详见下文。

### 表四

我们将我们的模型与[^24]中提出的先进检测算法进行了比较。我们利用该数据集上由[^24]提供的网络prototxt和Caffemodel来实现这种先进的手部检测器。为了进行更严谨的评估，我们在相同的区域提议、NMS及其他实验设置下，比较了[^24]所提方法与我们的方法的检测性能。我们分离模型的平均精度（AP：75.7%）高于基线结果（AP：73.3%）（参见图13），这表明旋转信息有助于提升检测效果。随后，我们对比了旋转估计与检测结果。

---

![Image](images/948da2d7802d9790230f3ca85d750bd94350a1329015952e8db99fe229b61462.jpg)

<div style="text-align: center;">Fig. 10. Examples of high-scoring detection on Oxford hand database(indoor images). The rotation estimation is illustrated with red arrows.</div>

![Image](images/298bf671f46f850564a06cf59026f1722616f808b415b6ebd215478916e19c38.jpg)

![Image](images/73d7f03e30cf63f76c0911f4908a30515630d0dcfdf048e5972b34d63d6e1461.jpg)

![Image](images/73f51159276dfbbd662b1810cf4622516f1ff808c11e2191f2b370835057c14e.jpg)

![Image](images/c38e74a13529e5b7432dcc5c09c86d8c30e48c27d7e04f0747d09d9fda52af0e.jpg)

![Image](images/b96f37f929991f5b57edbae3f5ee52164ec6be2cf4251ff5bd3a7190a475e576.jpg)

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

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

![Image](images/47d5969c137ce2bf36c8719d7adeb1b951621116db2a4e2286c2f42c0cba861b.jpg)

![Image](images/57a9d9c61a62fbba4fbacaadab821c4e88a4e126c40fd7ee82361f3b59390269.jpg)

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

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

<div style="text-align: center;">Fig. 11. Examples of false alarm detection on Oxford hand database. (a) false alarm with skin-like region. (b) false alarm with non-skin region.</div>

![Image](images/c8d5c4fac8dcb13e29a1777e3c34ceae1a8bff7f4edc647fc85f6e7d3a76e8b1.jpg)

<div style="text-align: center;">TABLE IV</div>

<div style="text-align: center;">Fig. 13. Precision-Recall curve comparing the baseline and final results on EgoHands dataset $^{[24]}$.</div>

<div style="text-align: center;">ROTATION ESTIMATION PERFORMANCE ON EGOHANDS 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;'>$≤ 10^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$≤ 20^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$≤ 30^{\circ}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Only rotation model</td><td style='text-align: center; word-wrap: break-word;'>48.63%</td><td style='text-align: center; word-wrap: break-word;'>76.56%</td><td style='text-align: center; word-wrap: break-word;'>87.26%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Joint model</td><td style='text-align: center; word-wrap: break-word;'>49.01%</td><td style='text-align: center; word-wrap: break-word;'>76.68%</td><td style='text-align: center; word-wrap: break-word;'>87.09%</td></tr></table>

我们采用了分离模型和联合模型进行对比。可以看出，联合模型的旋转估计结果略优于仅使用旋转模型的结果。分离模型的平均精度比联合模型低1.4%。因此，我们再次证明联合训练能够让多个任务共享彼此有用的信息，并能形成紧凑且高效的网络拓扑结构。

### 五、结论

手部检测与姿态估计对于交互应用而言是重要的任务。以往的研究大多将这一问题拆解为独立的任务来处理。在本文中，我们探讨了

---

![Image](images/295a95ee85f19cd3fc6a808ddb34358cd0fc54d36713552f491cec7e5915423e.jpg)

<div style="text-align: center;">Fig. 12. Examples of high-scoring detection on Egohands database. The rotation estimation is illustrated with red arrows.</div>

利用CNN实现手部检测与旋转估计联合任务的可行性，该CNN基于我们嵌入网络中的在线去旋转层。实验结果表明，我们的方法在广泛使用的公共基准测试集上能够达到先进的手部检测水平。该检测网络还可以进一步扩展以利用手部上下文信息以及更复杂的旋转模型。

## 致谢

作者感谢昆士兰大学的王鹏博士和曹杰伟博士，以及印第安纳大学布鲁明顿分校的Sven Bambach博士的有益讨论。作者还感谢NVIDIA公司为本研究捐赠的GPU所提供的支持。

## 参考文献

[^1]: Y. Yang, C. Fermller, Y. Li, and Y. Aloimonos, “Grasp type revisited: A modern perspective on a classical feature for vision,” in Proceedings of Computer Vision and Pattern Recognition. IEEE Press, 2015, pp. 400–408.

[^2]: R. Wang and J. Popović, “Real-time hand-tracking with a color glove,” ACM transactions on graphics, vol. 28, no. 3, p. 63, 2009.

[^3]: R. Wang, S. Paris, and J. Popović, “6d hands: markerless hand-tracking for computer aided design,” in Proceedings of the 24th annual ACM Symposium on User Interface Software and Technology. ACM Press, 2011, pp. 549–558.

[^4]: A. Mittal, A. Zisserman, and P. Torr, “Hand detection using multiple proposals.” in Proceedings of the British Machine Vision Conference. BMVA Press, 2011, pp. 1–11.

[^5]: C. Li and K. Kitani, “Pixel-level hand detection in ego-centric videos,” in Proceedings of Computer Vision and Pattern Recognition. IEEE Press, 2013, pp. 3570–3577.

[^6]: R. Girshick, J. Donahue, T. Darrell, and J. Malik, "Rich feature hierarchies for accurate object detection and semantic segmentation," in Proceedings of Computer Vision and Pattern Recognition. IEEE Press, 2014, pp. 580–587.

[^8]: B. Alexe, T. Deselaers, and V. Ferrari, “Measuring the objectness of image windows,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 34, no. 11, pp. 2189–2202, 2012.

[^7]: J. Uijlings, K. van de Sande, T. Gevers, and A. Smeulders, “Selective search for object recognition,” International Journal of Computer Vision, vol. 104, no. 2, pp. 154–171, 2013.

[^9]: H. Rowley, S. Baluja, and T. Kanade, “Rotation invariant neural network-based face detection,” in Proceedings of Computer Vision and Pattern Recognition. IEEE Press, 1998, pp. 38–44.

[^10]: M. Jaderberg, K. Simonyan, and A. Zisserman, “Spatial transformer networks,” in Processing of Advances in Neural Information Processing Systems. NIPS Press, 2015, pp. 2008–2016.

[^11]: L. Sigal, S. Sclaroff, and V. Athitsos, “Skin color-based video segmentation under time-varying illumination,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, no. 7, pp. 862–877, 2004.

[^12]: P. Viola and M. Jones, “Robust real-time object detection,” International Journal of Computer Vision, vol. 4, pp. 51–52, 2001.

[^13]: N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection," in Proceedings of Computer Vision and Pattern Recognition. IEEE Press, 2005, pp. 886–893.

[^14]: L. Karlinsky, M. Dinerstein, D. Harari, and S. Ullman, “The chains model for detecting parts by their context,” in Proceedings of Computer Vision and Pattern Recognition. IEEE Press, 2010, pp. 25–32.

[^15]: G. Ghiasi, Y. Yang, D. Ramanan, and C. Fowlkes, "Parsing occluded people," in Proceedings of Computer Vision and Pattern Recognition. IEEE Press, 2014, pp. 2401–2408.

[^16]: X. Zhu, X. Jia, and K. Wong, “Pixel-level hand detection with shape-aware structured forests,” in Processing of Asian Conference on Computer Vision. Springer Press, 2014, pp. 64–78.

[^17]: K. He, L. Sigal, and S. Sclaroff, “Parameterizing object detectors in the continuous pose space,” in Proceedings of European Conference on Computer Vision. Springer Press, 2014, pp. 450–465.

[^18]: S. Fidler, S. Dickinson, and R. Urtasun, "3d object detection and viewpoint estimation with a deformable 3d cuboid model," in Proceedings of Advances in Neural Information Processing Systems. NIPS Press, 2012, pp. 611–619.

[^19]: A. Krizhevsky, I. Sutskever, and G. Hinton, "Imagenet classification with deep convolutional neural networks," in Proceedings of Advances in Neural Information Processing Systems. NIPS Press, 2012, pp. 1097–1105.

[^20]: I. Endres and D. Hoiem, "Category independent object proposals," in Proceedings of European Conference on Computer Vision, 2010, pp. 575–588.

[^21]: P. Felzenszwalb, R. Girshick, D. McAllester, and D. Ramanan, “Object detection with discriminatively trained part-based models,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 32, no. 9, pp. 1627–1645, 2010.

## [^22]: R. Girshick, “Fast r-cnn,” in Proceedings of the IEEE International Conference on Computer Vision. IEEE Press, 2015, pp. 1440–1448

---

[^23]: S. Ren, K. He, R. Girshick, and J. Sun, “Faster r-cnn: Towards real-time object detection with region proposal networks,” Proceedings of Advances in Neural Information Processing Systems, pp. 91–99, 2015.

[^24]: S. Bambach, S. Lee, D. Crandall, and C. Yu, “Lending a hand: Detecting hands and recognizing activities in complex egocentric interactions,” in Proceedings of IEEE International Conference on Computer Vision. IEEE Press, 2015, pp. 1949–1957.

[^25]: P. Buehler, M. Everingham, D. Huttenlocher, and A. Zisserman, “Long term arm and hand tracking for continuous sign language tv broadcasts,” in Proceedings of the British Machine Vision Conference. BMVA Press, 2008, pp. 1105–1114.

[^26]: E. Ohn-Bar and M. Trivedi, “Beyond just keeping hands on the wheel: Towards visual interpretation of driver hand motion patterns,” in Proceedings of 17th International IEEE Conference on Intelligent Transportation Systems. IEEE Press, 2014, pp. 1245–1250.

[^27]: R. Girshick, F. Iandola, T. Darrell, and J. Malik, “Deformable part models are convolutional neural networks,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. IEEE Press, 2015, pp. 437–446.

[^28]: C. Conaire, N. O'Connor, and A. Smeaton, "Detector adaptation by maximising agreement between independent data sources," in Proceedings of IEEE International Workshop on Object Tracking and Classification Beyond the Visible Spectrum. IEEE Press, 2007, pp. 1–6.

[^29]: S. Divvala, D. Hoiem, J. Hays, A. Efros, and M. Hebert, “An empirical study of context in object detection,” in Proceedings of Computer Vision and Pattern Recognition. IEEE Press, 2009, pp. 1271–1278.

## 附录A

## 关于ST-CNN的初步分析

我们首先证明，在不同变换下ST-CNN存在多个可比的局部最优解。以仿射变换为例，ST-CNN中的逐点变换层可表示为$x^s = \mathbf{A}_\theta x^t$，其中$x^t$是输出特征图中规则网格的目标坐标，$x^s$是定义采样点的输入特征图的源坐标，而$\mathbf{A}_\theta$则是待优化的仿射变换矩阵。

假设优化后的$\mathbf{A}_\theta$能将输入特征图对齐到某一特定姿态。设$\mathbf{B}_\beta$为任意二维仿射变换，显然$\mathbf{B}_\beta \mathbf{A}_\theta$也能对齐特征图，但目标姿态不同。因此，通过$\mathbf{A}_\theta$和$\mathbf{B}_\beta \mathbf{A}_\theta$得到的输出特征图虽不相同，但均已完成对齐。用这两组对齐后的特征图训练得到的检测网络，其权重会有所不同，但检测性能很可能相近。所以，无论采用$\mathbf{A}_\theta$还是$\mathbf{B}_\beta \mathbf{A}_\theta$，损失函数都能达到可比的局部最小值。

我们现在知道，许多变换参数与检测权重的组合可能会产生相似的检测性能，也就是说会出现旋转估计模糊以及多个局部极小值的情况。变换空间通常非常庞大，要达到收敛状态需要更多的数据和时间。我们采用监督式方法来获取旋转参数。我们的网络不会在模糊的变换之间来回摇摆，而是会坚持朝着期望的姿态移动。

我们使用ST-CNN进行手部检测实验。我们在AlexNet的输入数据层之后添加了一个空间变换层。图14展示了通过ST-CNN经仿射变换处理后的手部候选区域，结果显示这些手部候选区域并未对齐良好。实际上，从结果可以看出，ST-CNN未能学会能够对齐输入候选区域的变换方式，反而退而求其次采用了仅能捕捉物体主要部分（即手掌区域）的简单平移操作。

![Image](images/00a570dda2619ba285ac93031b7a03ee71c77b6f01fbabdbf1e796a7a7964008.jpg)

<div style="text-align: center;">Fig. 14. Hand proposals transformed with affine transformation obtained by ST-CNN.</div>

在我们的情况下，这属于一个糟糕的局部最优解。虽然变换后的候选区域仍可供后续的检测网络使用，但关键的手部上下文信息却缺失了（手部及通用物体检测中上下文的重要性在[^4][^29]中有详细阐述）。因此，基于ST-CNN的检测性能可能较差（请参见图7(a)）。在手部检测任务中，ST-CNN的性能甚至比R-CNN还要差。总而言之，对于手部检测任务而言，ST-CNN容易学习到模糊的变换，导致生成的图像常常缺失关键的上下文信息，因此它或许并非手部检测的理想模型。
