![](https://csdnimg.cn/release/download_crawler_static/86307280/bg3.jpg)
棒[15];3)由于其对输入的灵活性,SPP 可以池化从各种尺度抽取出来的特征。通过实验,
我们将展示影响深度网络最终识别精度的所有这些因素。
SPP-net 不仅仅让测试阶段允许任意尺寸的输入能够产生表示(representations),也允许训
练阶段的图像可以有各种尺寸和缩放尺度。使用各种尺寸的图像进行训练可以提高缩放不变
性,以及减少过拟合。我们开发了一个简单的多尺度训练方法。为了实现一个单一的能够接
受各种输入尺寸的网络,我们先使用分别训练固定输入尺寸的多个网络,这些网络之间共享
权重(Parameters),然后再一起来代表这个单一网络(译者注:具体代表方式没有说清楚,
看后面怎么说吧)。每个 epoch,我们针对一个给定的输入尺寸进行网络训练,然后在下一
个 epoch 再切换到另一个尺寸。实验表明,这种多尺度训练和传统的单一尺度训练一样可
以瘦脸,并且能达到更好的测试精度。
SPP 的优点是与各类 CNN 设计是正交的。通过在 ImageNet2012 数据集上进行一系列可控
的实验,我们发现 SPP 对[3][4][5]这些不同的 CNN 架构都有提升。这些架构有不同的特征
数量、尺寸、滑动距离(strides)、深度或其他的设计。所以我们有理由推测 SPP 可以帮助
提升更多复杂的(更大、更深)的卷积架构。SPP-net 也做到了 Caltech101 [21]和 Pascal
VOC 2007 [22]上的最好结果,而只使用了一个全图像表示,且没有调优。
在图像检测方面,SPP-net 也表现优异。目前领先的方法是 R-CNN[7],候选窗口的特征是
借助深度神经网络进行抽取的。此方法在 VOC 和 ImageNet 数据集上都表现出了出色的检
测精度。但 R-CNN 的特征计算十分耗时,因为他对每张图片中的上千个变形后的区域的像
素反复调用 CNN。本文中,我们展示了我们只需要在整张图片上运行一次卷积网络层(不
关心窗口的数量),然后再使用 SPP-net 在特征图上抽取特征。这个方法缩减了上百倍的耗
时。在特征图(而不是图像区域)上训练和运行检测器是一个很受欢迎的想法[23][24][20][5]。
但 SPP-net 延续了深度 CNN 特征图的优势,也结合了 SPP 兼容任意窗口大小的灵活性,
所以做到了出色的精度和效率。我们的实验中,基于 SPP-net 的系统(建立在 R-CNN 流水
线上)比 R-CNN 计算特征 要 快 24-120 倍, 而精度却 更高。结合 最新的 推荐 方 法
EdgeBoxes[25],我们的系统达到了每张图片处理 0.5s 的速度(全部步骤)。这使得我们的
方法变得更加实用。
本论文的一个早先版本发布在 ECCV2014 上。基于这个工作,我们参加了 ILSVRC 2014 [26],
在 38 个团队中,取得了物体检测第 2 名和图像分类第 3 名的成绩。针对 ILSVRC 2014 我
们也做了很多修改。我们将展示 SPP-nets 可以将更深、更大的网络的性能显著提升。进一
步,受检测框架驱动,我们发现借助灵活尺寸窗口对特征图进行多视角测试可以显著提高分
类精度。本文对这些改动做了更加详细的说明。另外,我们将代码放在了以方便大家研究
(http://research.microsoft.com/en-us/um/people/kahe/,译者注:已失效)
2. 基于空间金字塔池化的深度网络
2.1 卷积层和特征图
在颇受欢迎的七层架构中[3][4]中,前五层是卷积层,其中一些后面跟着吃常委曾。从他们
也使用滑窗的角度来看,这些池化层也可以认为是“卷积的”。最后两层是全连接的,跟着一
个 N 路 softmax 输出,其中 N 是类别的数量。上述的深度网络需要一个固定大小的图像尺
寸。然后,我们注意到,固定尺寸的要求仅仅是因为全连接层的存在导致的。另一方面,卷
积层使用滑动的特征过滤器,它们的输出基本保持了原始输入的比例关系。它们的输出就是
特征图[1]-它们不仅涉及响应的强度,还包括空间位置。图 2 中,我们可视化了一些特征图。
这些特征图来自于 conv5 层的一些过滤器。图 2(c)显示了 ImageNet 数据集中激活最强
的若干图像。可以看到一个过滤器能够被一些语义内容激活。例如,第 55 个过滤器(图 2,