文章目录

  • 1、摘要
  • 2、视觉任务
  • 3、分类
    • 3.1、模型设计和训练
    • 3.2、特征提取器
    • 3.3、多尺度分类
    • 3.4、结果
    • 3.5、卷积网络和滑动窗口效率
  • 4、定位
    • 4.1、生成预测
    • 4.2、回归器训练
    • 4.3、组合预测
    • 4.4、实验
  • 5、检测
  • 6、总结
  • 学习笔记
    • 更正
    • 推荐阅读
  • 欢迎批评,指正。。。
  • [Reference](https://blog.csdn.net/weixin_41665360/article/details/86555723)

1、摘要

识别图像中主要对象的类别是卷积网络( ConvNetConvNetConvNet ) [17]多年来一直应用的任务,无论这些对象是手写字符[16]、房屋号[24]、无纹理玩具[18] 还是交通标志[3][26]无论来自 Caltech−101Caltech-101Caltech−101 数据集[14]的对象还是来自 100010001000 类 ImageNetImageNetImageNet 数据集[15] 的对象。 ConvNetsConvNetsConvNets 在 Caltech−101Caltech - 101Caltech−101 等小型数据集上的准确性虽然不错,但并没有打破记录。然而,更大数据集的出现使得 ConvNetsConvNetsConvNets 显著提升在例如 100010001000 类 ImageNetImageNetImageNet 数据集[5]上的性能。

ConvNetsConvNetsConvNets 在许多这样的任务中的主要优势是,整个系统经过端到端的训练,从原始像素到最终类别,从而减轻了人工设计合适的特征提取器的需求。主要缺点是他们对标注的训练样本有很大的依赖。

本文的关键点在于训练单一卷积神经网络对图像中的目标进行持续的分类、定位和检测,从而提高分类检测和定位的精度。还介绍了一种通过累积预测边界框来定位和检测的新方法。作者建议通过组合许多定位预测,可以在不训练背景样本的情况下进行检测,并且可以避免耗时且复杂的自举训练过程。不在背景样本上训练也能让网络专注于正样本,以获得更高的准确性。

实验在 ImageNetILSVRC2012ImageNet~ILSVRC 2012ImageNet ILSVRC2012 和 201320132013 数据集上进行,在 ILSVRC2013ILSVRC~2013ILSVRC 2013 定位和检测任务中取得了当前最佳结果。

虽然 ImageNetImageNetImageNet 分类数据集中的图像在很大程度上被选择为包含填充大部分图像的大致居中的对象,但感兴趣的对象在图像中的大小和位置有时会有很大差异。为解决这个问题:

  1. 第一个想法是在图像中的多个位置,以滑动窗口的方式,在多个尺度上应用 ConvNetConvNetConvNet 。然而,即使如此,许多观察窗可能包含物体的完全可识别部分(比如狗的头部),但不是整个物体,甚至是物体的中心。这具有良好的分类性能,但定位和检测性能较差。
  2. 第二个想法是训练系统不仅在每个窗口上产生类别分布,而且产生包含对象的边界框相对于窗口的位置和大小的预测。
  3. 第三个想法是将每个类别在不同位置和尺度下的置信度累计。

许多作者已经提议使用 ConvNetsConvNetsConvNets 进行检测和定位,在多个尺度上运用滑动窗口可以追溯到 202020 世纪 909090 年代早期的多字符串[20]、面部[30]和手[22]的检测定位。最近,ConvNetsConvNetsConvNets 已经显示出在自然图像中的文本检测[4]、人脸检测[8][23]和行人检测[25]方面的最佳性能。

几位作者还建议训练 ConvNetsConvNetsConvNets 来直接预测要定位的对象的实例化参数,例如相对于观察窗的位置或对象的姿态。例如 OsadchyOsadchyOsadchy 等人[23]描述了一种用于同时进行人脸检测和姿态估计的 ConvNetConvNetConvNet。面部由 999 维输出空间中的 3D3D3D 流形表示。流形上的位置指示姿态(俯仰、偏航和滚转)。当训练图像是一张脸时,训练网络在流形上已知姿势的位置上产生一个点。如果图像不是人脸,输出会被推离流形。在测试时,到流形的距离指示图像是否包含人脸,流形上最近点的位置指示姿势。TaylorTaylorTaylor 等人[27][28]使用 ConvNetConvNetConvNet 来估计身体部位(手、头等)的位置,从而得出人体姿势。他们使用度量学习标准来训练网络在身体姿势流形上产生点。 HintonHintonHinton 等人还建议训练网络计算特征的显式实例化参数,作为识别过程的一部分[12]。

其他作者已经提出通过基于 ConvNetConvNetConvNet 的分割来进行目标定位。最简单的方法是训练 ConvNetConvNetConvNet 将观察窗口的中心像素(或体积图像的体素)分类为区域之间的边界或非边界[13]。但是当必须对区域进行分类时,最好执行语义分割。主要的想法是训练 ConvNetConvNetConvNet 将观察窗的中心像素与它所属的对象的类别进行分类,使用该窗口作为决策的上下文。应用范围从生物图像分析[21],到移动机器人[10] 的障碍物标记,再到图片[7] 的标记。这种方法的优点是边界轮廓不需要是矩形,区域也不需要是外接良好的对象。缺点是训练需要密集的像素级标签。这种分割预处理或对象提议步骤最近在传统计算机视觉中流行起来,以减少用于检测的位置、比例和纵横比的搜索空间 [19][2][6][29]。因此,可以在搜索空间的最佳位置应用昂贵的分类方法,从而提高识别精度。此外,[29][1]表明这些方法通过大幅减少不太可能的目标区域来提高准确性,从而减少潜在的假正例。然而,在 ILSVRC13ILSVRC13ILSVRC13 检测数据集上,我们的密集滑动窗口方法能够胜过对象提议方法。

KrizhevskyKrizhevskyKrizhevsky 等人,[15] 最近使用大型 ConvNetConvNetConvNet 展示了令人印象深刻的分类性能。作者还参加了 ImageNet2012ImageNet~2012ImageNet 2012 竞赛,赢得了分类和定位挑战。尽管他们展示了令人印象深刻的定位性能,但是还没有公开的工作描述他们的方法。因此,我们的论文是第一篇清楚解释如何使用 ConvNetsConvNetsConvNets 对 ImageNetImageNetImageNet 数据进行定位和检测的论文。

在本文中,我们使用术语定位和检测的方式与他们在 ImageNet2013ImageNet~2013ImageNet 2013 竞赛中使用的方式一致,即唯一的区别是使用的评估标准,并且两者都包括预测图像中每个对象的边界框。

2、视觉任务

本论文研究三个视觉任务,难度逐渐增加:

  1. 分类
  2. 定位
  3. 检测

每个任务是下一个任务的子任务。虽然所有任务都是使用一个框架和一个共享的特征学习库来解决的,但是我们将在下面的章节中分别描述它们。

分类任务中,每个图像都被分配了一个与图像中的主要对象相对应的标签。允许五次猜测来找出正确的答案(这是因为图像还可以包含多个未标记的对象)。定位任务类似于每个图像允许 555 次猜测,但是每次猜测都必须返回预测对象的边界框。要想被认为是正确的,预测框与 groundtruthgroundtruthgroundtruth 至少匹配 50%50\%50% (使用PASCAL交并比的标准),并且用正确的类别标记(即,每个预测都是一个关联在一起的标签和边界框)。检测任务不同于定位,因为每个图像中可以有任意数量的对象(包括零个),并且误报会受到平均精度 (mAP)(mAP)(mAP) 测量的惩罚。定位任务是分类和检测之间的一个方便的中间步骤,它允许我们独立于特定于检测的挑战来评估我们的定位方法(如学习背景类)。注意,分类和定位共享同一个数据集,而检测也有其他数据,其中对象可能更小。检测数据还包含一组图像,其中某些对象不存在。这可以用于自举,但是我们没有在这项工作中使用它。

3、分类

我们的分类结构类似于 ILSVRC12ILSVRC12ILSVRC12 由KrizhevskyetKrizhevskyetKrizhevskyet 等人提出的最好的体系结构[15]。然而,我们改进了网络设计和推理步骤。由于时间限制,KrizhevskyKrizhevskyKrizhevsky 的模型中的一些训练特征没有被研究,因此我们期望我们的结果能够得到进一步的改进。这些将在第 1.61.61.6 节未来的工作中讨论。

3.1、模型设计和训练

训练网络在 ImageNet2012ImageNet 2012ImageNet2012 训练集上。模型使用 KrizhevskyKrizhevskyKrizhevsky 等人提出的相同固定输入大小的方法。如下一节所述,训练期间转向多尺度分类,每幅图像被降采样,使得最小维度为 256256256 像素。然后我们提取 555 个大小为 221×221221\times221221×221 像素的随机裁剪(及其水平翻转)并且将它们以大小为 128128128 的 mini−batchesmini-batchesmini−batches 呈现给网络。网络权重用 (µ,σ)=(0,1×10−2)(µ, σ)=(0, 1\times10^{−2})(µ,σ)=(0,1×10−2) 进行初始化,通过随机梯度下降进行更新,同时 momentummomentummomentum 项为 0.60.60.6,l2l_2l2​ 权重衰减项为 1×10−51\times10^{-5}1×10−5。学习率初始化为 5×10−25\times10^{-2}5×10−2,并且在 (30,50,60,70,80)(30,50,60,70,80)(30,50,60,70,80) 次迭代后依次衰减 0.50.50.5 倍。在分类器的第 666 、第 777 全连接层上 DropOutDropOutDropOut 参数设为 0.50.50.5 。

表 111 和表 333 详细介绍了网络结构大小。
表1:快速模型的结构细节表~1:快速模型的结构细节表 1:快速模型的结构细节

1 2 3 4 5 6 7 Output
阶段 conv+max conv+max conv conv conv+max full full full
#通道数 96 256 512 1024 1024 3072 4096 1000
核大小 11×1111\times1111×11 5×55\times55×5 3×33\times33×3 3×33\times33×3 3×33\times33×3 - - -
卷积步长 4×44\times44×4 1×11\times11×1 1×11\times11×1 1×11\times11×1 1×11\times11×1 - - -
池化大小 2×22\times22×2 2×22\times22×2 - - 2×22\times22×2 - - -
池化步长 2×22\times22×2 2×22\times22×2 - - 2×22\times22×2 - - -
Zero-Padding大小 - - 1×1×1×11\times1\times1\times11×1×1×1 1×1×1×11\times1\times1\times11×1×1×1 1×1×1×11\times1\times1\times11×1×1×1 - - -
空间输入大小 231×231231\times231231×231 24×2424\times2424×24 12×1212\times1212×12 12×1212\times1212×12 12×1212\times1212×12 6×66\times66×6 1×11\times11×1 1×11\times11×1

表3:精确模型的结构细节表~3:精确模型的结构细节表 3:精确模型的结构细节

1 2 3 4 5 6 7 8 Output
阶段 conv+max conv+max conv conv conv conv+max full full full
#通道数 96 256 512 512 1024 1024 4096 4096 1000
核大小 7×77\times77×7 7×77\times77×7 3×33\times33×3 3×33\times33×3 3×33\times33×3 3×33\times33×3 - - -
卷积步长 2×22\times22×2 1×11\times11×1 1×11\times11×1 1×11\times11×1 1×11\times11×1 1×11\times11×1 - - -
池化大小 3×33\times33×3 2×22\times22×2 - - - 3×33\times33×3 - - -
池化步长 3×33\times33×3 2×22\times22×2 - - - 3×33\times33×3 - - -
Zero-Padding大小 - - 1×1×1×11\times1\times1\times11×1×1×1 1×1×1×11\times1\times1\times11×1×1×1 1×1×1×11\times1\times1\times11×1×1×1 1×1×1×11\times1\times1\times11×1×1×1 - - -
空间输入大小 221×221221\times221221×221 36×3636\times3636×36 15×1515\times1515×15 15×1515\times1515×15 15×1515\times1515×15 15×1515\times1515×15 5×55\times55×5 1×11\times11×1 1×11\times11×1

训练时,与产生空间输出的推理步骤相反,我们将架构视为非空间的(输出图大小为1×11\times11×1)。1−51-51−5层与 KrizhevskyKrizhevskyKrizhevsky等人的方法类似,使用 “relurelurelu” 非线性化以及maxpoolingmax~poolingmax pooling,但是有以下不同:

  1. 不使用对比度归一化
  2. 池化区域不重叠
  3. 由于采用更小的步长(步长设为 222 而不是 444),本模型第一和第二层特征图更大。更大的步长有益于算法速度,但是会损失精度。

3.2、特征提取器

除了本文,作者也发布了名为 “OverFeatOverFeatOverFeat” 的特征提取器,以便为计算机视觉研究提供强大的特征。提供了两个模型,一个快速的模型,一个准确的模型。作者还在表中比较了它们在参数和连接方面的大小。精确模型比快速模型更精确(分类误差为 14.18%14.18\%14.18%,而表 222 中为 16.39%16.39\%16.39% ),但是它需要的连接数量几乎是快速模型的两倍。如图 444 所示,使用 777 个精确模型的组合,分类误差达到 13.6%13.6\%13.6%。

3.3、多尺度分类

[15] 多视图表决可用来提高性能:对一组固定的 101010 个视图( 444 个角和中心,及其水平翻转)进行平均。然而,这种方法会忽略图像的许多区域,并且当视图重叠时,在计算上是冗余的。此外,它仅在单个尺度上应用,该尺度可能不是 ConvNetConvNetConvNet 以最佳置信度响应的尺度。

相反,本文通过在每个位置和多个尺度上频繁运行网络来探索整个图像。虽然滑动窗口方法对某些类型的模型来说可能计算代价高,但在 ConvNetsConvNetsConvNets 上,它本身是有效的(见第 3.53.53.5 节)。这种方法产生了明显更多视图用于表决,这增加了鲁棒性,同时保持了高效。在任意大小的图像上卷积 ConvNetConvNetConvNet 的结果是在每个尺度上得到 CCC 维向量的空间图。

然而,上述网络中的总二次采样比率为 2×3×2×32\times3\times2\times32×3×2×3 或 363636。因此,当应用密集时,这种架构只能在输入维度中沿每个轴每 363636 个像素产生一个分类向量。与 101010 视图方案相比,输出的这种粗略分布降低了性能,因为网络窗口与图像中的对象不能很好地对齐。网络窗口和对象越好地对齐,网络响应的可信度就越强。为了避免这个问题,我们采取了类似 GiustiGiustiGiusti 等人提出的方法,并在每个偏移处应用最后一次二次采样操作。这消除了该层的分辨率损失,产生了 ×12\times12×12 的总二次采样比,而不是×36\times36×36。

现在详细解释如何实现分辨率增强。使用 666 个不同输入尺度,导致未池化层 555 有不同分辨率的图(详见表 555 )。
表5:多尺度方法的空间维度表~5:多尺度方法的空间维度表 5:多尺度方法的空间维度

尺度 输入大小 层 555 池化前 层 555 池化后 分类器图(reshape)前 分类器图大小
1 245×245245\times245245×245 17×1717\times1717×17 (5×5)×(3×3)(5\times5)\times(3\times3)(5×5)×(3×3) (1×1)×(3×3)×C(1\times1)\times(3\times3)\times C(1×1)×(3×3)×C 3×3×C3\times3\times C3×3×C
2 281×317281\times317281×317 20×2320\times2320×23 (6×7)×(3×3)(6\times7)\times(3\times3)(6×7)×(3×3) (2×3)×(3×3)×C(2\times3)\times(3\times3)\times C(2×3)×(3×3)×C 6×9×C6\times9\times C6×9×C
3 317×389317\times389317×389 23×2923\times2923×29 (7×9)×(3×3)(7\times9)\times(3\times3)(7×9)×(3×3) (3×5)×(3×3)×C(3\times5)\times(3\times3)\times C(3×5)×(3×3)×C 9×15×C9\times15\times C9×15×C
4 389×461389\times461389×461 29×3529\times3529×35 (9×11)×(3×3)(9\times11)\times(3\times3)(9×11)×(3×3) (5×7)×(3×3)×C(5\times7)\times(3\times3)\times C(5×7)×(3×3)×C 15×21×C15\times21\times C15×21×C
5 425×497425\times497425×497 32×3532\times3532×35 (10×11)×(3×3)(10\times11)\times(3\times3)(10×11)×(3×3) (6×7)×(3×3)×C(6\times7)\times(3\times3)\times C(6×7)×(3×3)×C 18×24×C18\times24\times C18×24×C
6 461×569461\times569461×569 35×4435\times4435×44 (11×14)×(3×3)(11\times14)\times(3\times3)(11×14)×(3×3) (7×10)×(3×3)×C(7\times10)\times(3\times3)\times C(7×10)×(3×3)×C 21×30×C21\times30\times C21×30×C

然后使用下面的过程将这些图池化并呈现给分类器,如图 333 所示:

  1. 对于单幅固定尺寸的图像,从未池化层 555 特征图开始
  2. 每一个未池化图进行 3×33\times33×3 最大化池操作(非重叠区域),在{0,1,2}\{0,1,2\}{0,1,2} 上重复 3×33\times33×3 次 {Δx,Δy}\{\Delta_x, \Delta_y\}{Δx​,Δy​} 像素偏置。
  3. 这产生了一组池化特征图,针对不同的(Δx,Δy\Delta_x, \Delta_yΔx​,Δy​)组合重复了 3×33\times33×3 次。
  4. 分类器(第 666、777、888 层)的固定输入大小为 5×55\times55×5,并为池化图中的每个位置生成 CCC 维输出向量。分类器以滑动窗口的方式应用于池化图,产生 CCC 维输出图(对于给定的(Δx,Δy\Delta_x, \Delta_yΔx​,Δy​)组合)。
  5. 不同的(Δx,Δy\Delta_x, \Delta_yΔx​,Δy​)组合的输出图被变形为单个 333 维输出图(两个空间维度 ×C×C×C 类)。

这些操作可以被看作是在不进行二次采样并且下一层不使用 skip−kernelsskip-kernelsskip−kernels 的情况下,通过池化层,将分类器的观察窗移动1个像素。或者等效地,在每个可能的偏移处应用最终的池化层和全连接堆,并通过交错输出来组合结果。

对于每个图像的水平翻转版本,重复上述过程。然后,我们通过

  1. 获取每个类别在每个尺度和翻转图下的空间最大值
  2. 对来自不同尺度和翻转图的 CCC 维向量进行平均。
  3. 从平均类别向量中提取前 111 或前 555 个元素(取决于评估标准)
    产生最终分类结果。

直观来看,网络的两部分,即特征提取层( 1−51 - 51−5 )和分类层( 666-输出)以相反的方式使用。在特征提取部分,滤波器一次卷积整个图像。从计算角度来看,这比在图像上滑动固定大小的特征提取器,然后聚集不同位置的结果要有效得多。但是,这些原则对于网络的分类器部分是相反的。在此,我们希望在第 555 层不同位置和尺度下的特征图有固定大小的表征。因此,分类器具有固定大小为 5×55\times55×5 的输入,并完全应用于第 555 层图。详尽的池化方案(单像素偏移(Δx,Δy\Delta_x, \Delta_yΔx​,Δy​))确保了我们可以将分类器和特征图中的对象很好地对齐。

3.4、结果

在表 222 中,我们用不同的方法进行了实验,并将它们与 KrizhevskyKrizhevskyKrizhevsky 等人[15] 的单一网络模型进行了比较以供参考。上面描述的方法,有 666 个尺度,达到了 13.6%13.6\%13.6% 的 top−5top-5top−5 错误率。正如所料,使用较少的尺度会损害性能:单尺度模型较差,top−5top-5top−5 错误率为 16.97%16.97\%16.97%。图 333 所示的微步幅技术在单尺度范围内带来了相对较小的改进,但是对于这里所示的多尺度增益也很重要。
表2:验证集上的分类实验表~2:验证集上的分类实验表 2:验证集上的分类实验

方法 Top-1 误差 % Top-5 误差 %
KrizhevskyKrizhevskyKrizhevsky 等人[15] 40.740.740.7 18.218.218.2
OverFeat−1OverFeat-1OverFeat−1 快速模型,尺度 111,粗步长 39.2839.2839.28 17.1217.1217.12
OverFeat−1OverFeat-1OverFeat−1 快速模型,尺度 111,精步长 39.0139.0139.01 16.9716.9716.97
OverFeat−1OverFeat-1OverFeat−1 快速模型,444 尺度 (1,2,4,6)(1,2,4,6)(1,2,4,6),精步长 38.5738.5738.57 16.3916.3916.39
OverFeat−1OverFeat-1OverFeat−1 快速模型,666 尺度 (1−6)(1-6)(1−6),精步长 38.1238.1238.12 16.2716.2716.27
OverFeat−1OverFeat-1OverFeat−1 精确模型,444 个角 + 中心 + 翻转 35.6035.6035.60 14.7114.7114.71
OverFeat−1OverFeat-1OverFeat−1 精确模型,444 尺度,精步长 35.7435.7435.74 14.1814.1814.18
OverFeat−7OverFeat-7OverFeat−7 快速模型,444 尺度,精步长 35.1035.1035.10 13.8613.8613.86
OverFeat−7OverFeat-7OverFeat−7 精确模型,444 尺度,精步长 33.9633.9633.96 13.2413.2413.24


我们在图 444 中报告了 201320132013 年竞赛的测试集结果,其中我们的模型( OverFeatOverFeatOverFeat )通过投票选出 777 个ConvNetsConvNetsConvNets (每个ConvNetConvNetConvNet都用不同的初始化方法训练)获得了 14.2%14.2\%14.2% 的准确率,在 181818 个团队中排名第 555。仅使用 ILSVRC13ILSVRC13ILSVRC13 数据的最佳准确度为 11.7%11.7\%11.7%。使用 ImageNetFall11ImageNet Fall11ImageNetFall11 数据集的额外数据进行预训练将这个数字提高到了 11.2%11.2\%11.2%。在赛后工作中,我们通过使用更大的模型(更多的特征和更多的层)将 OverFeatOverFeatOverFeat 的错误率降低到 13.6%13.6\%13.6% 。由于时间限制,这些更大的模型没有经过充分的训练,预计会及时出现更多的改进。

3.5、卷积网络和滑动窗口效率

与许多一次为输入的每个窗口计算整个管道的滑动窗口方法不同,ConvNetsConvNetsConvNets 在以滑动方式应用时天生高效,因为它们自然共享重叠区域的共同计算。当在测试时将我们的网络应用于更大的图像时,我们只需在整个图像的范围内应用每个卷积。这扩展了每一层的输出以覆盖新的图像大小,最终产生输出类别预测图,每个输入“窗口”(视场)有一个空间位置。这在图 555 中示出。卷积是自下而上应用的,因此相邻窗口通用的计算只需要进行一次。

请注意,我们架构的最后几层是全连接的线性层。在测试时,这些层被具有1×11\times11×1空间大小的内核的卷积运算有效地取代。整个 ConvNetConvNetConvNet 仅仅是一系列卷积、最大化池和阈值化操作。

4、定位

从我们的分类训练网络开始,我们用回归网络代替分类层,并训练它预测在每个空间位置和尺度下的对象边界框。然后,我们将回归预测与每个位置的分类结果结合在一起。

4.1、生成预测

为了生成对象边界框预测,我们在所有位置和尺度上同时运行分类器和回归器网络。由于他们共享相同的特征提取层,因此在计算分类网络后,只需要重新计算最终的回归层。CCC 类的最终 softmaxsoftmaxsoftmax 层在每个位置的输出提供了 CCC 类对象在相应视觉区域中存在(尽管不一定完全包含)的置信度分数。因此,我们可以为每个边界框分配一个置信度。

4.2、回归器训练

回归网络将来自第 555 层的池化特征图作为输入。它有两个全连接的隐藏层,大小分别为 409640964096 和 102410241024 个通道。最终输出层有 444 个单位,用于指定边界框边缘的坐标。与分类一样,整个过程中有(3×33\times33×3)个拷贝,这是由 Δx,Δy\Delta_x, \Delta_yΔx​,Δy​ 移位引起的。该体系结构如图 888 所示。


我们固定分类网络中特征提取层(1−5)(1 - 5 )(1−5),并使用每个样本的预测边界框和真实边界框之间的 l2l_2l2​ 损失来训练回归网络。最终回归层是特定类别的,有 100010001000 个不同版本,每个类别一个版本。我们使用与第 333 节所述相同大小的一组图像来训练这个网络。我们将每个空间位置处的回归器网络预测与真实边界框进行比较,该边界框移动到卷积内回归器平移偏移的参考系中(见图 888 )。但是,我们不会在与输入视觉区域重叠少于 5050%50 的边界框上训练回归器,因为对象大部分在这些位置之外,所以最好通过包含对象的回归窗口来处理。

以多尺度方式训练回归器对于跨尺度预测组合很重要。单尺度上的训练在该尺度上表现良好,在其他尺度上性能也尚可。然而,多尺度训练将使预测在不同尺度上正确匹配,并以指数增加合并预测的可信度。反过来,这允许我们仅用几个尺度就能很好地工作,而不是像通常检测中那样用许多尺度。在行人检测 [25] 中,从一个尺度到另一个尺度的典型比率大约是 1.051.051.05 到 1.11.11.1,但是这里我们使用了大约 1.41.41.4 的大比率(这个数字对于每个尺度都不同,因为尺寸被调整到正好适应我们网络的步长),这允许我们更快地运行我们的系统。

4.3、组合预测

我们使用以下算法,通过应用于回归器边界框的贪婪合并策略,将各个预测组合起来(见图 777 )。

  1. 将每个尺度 s∈1...6s\in1...6s∈1...6 的前 kkk 个类别的集合分配给CsC_sCs​,通过获取该尺度的空间位置上的最大检测类输出来找到该集合。
  2. 将回归器网络经过尺度为 sss 的所有空间位置,为 CsC_sCs​中的每一类预测的边界框集合分配给BsB_sBs​。
  3. 将 ⋃sBs→B\bigcup_sB_s\rightarrow B⋃s​Bs​→B
  4. 重复合并,直到完成:
  5. (b1∗,b2∗)=argminb1̸=b2∈Bmatch_score(b1,b2)(b_1^*,b_2^*)=argmin_{b1\not=b_2\in B}\bm{match\_score(b_1,b_2)}(b1∗​,b2∗​)=argminb1̸​=b2​∈B​match_score(b1​,b2​)
  6. Ifmatch_score(b1,b2)>t,stop{\rm If}~\bm{match\_score(b_1,b_2)}>t, {\rm stop}If match_score(b1​,b2​)>t,stop
  7. Otherwise,setB←B{\rm Otherwise,set}~B\leftarrow BOtherwise,set B←B\{b1∗,b2∗}⋃box_merge(b1∗,b2∗)\{b_1^*,b_2^*\}\bigcup\bm{box\_merge(b_1^*,b_2^*)}{b1∗​,b2∗​}⋃box_merge(b1∗​,b2∗​)

在上面,我们使用两个边界框的中心之间的距离以及这些框的相交区域的总和来计算 match_scorematch\_scorematch_score。box_mergebox\_mergebox_merge 计算边界框坐标的平均值。

最终的预测是通过取类分数最大的合并边界框来给出的。这是通过累加与预测每个边界框的输入窗口相关联的检测类输出来计算的。图 666 为将边界框合并为单个高置信度边界框的例子。

在该示例中,一些 turtle\bm{turtle}turtle 和 whale\bm{whale}whale 边界框出现在中间多尺度步骤中,但在最终检测图像中消失。这些边界框不仅具有较低的分类置信度(最多分别为 0.110.110.11 和 0.120.120.12 ),它们的集合也不像 bear\bm{bear}bear 边界框那样一致,无法获得显著的置信度提升。bear\bm{bear}bear 边界框具有很强的置信度(平均每个尺度约 0.50.50.5)并且有很高的匹配分数。因此,在合并后,许多 bear\bm{bear}bear 边界框被融合到一个非常高的置信框中,而假正例 (FP)(FP)(FP) 由于缺乏边界框的一致性和置信度低于检测阈值而消失。这一分析表明,通过奖励边界框一致性,我们的方法对来自纯分类模型的假正例自然比传统的非最大抑制 (NMS)(NMS)(NMS) 方法更加稳健。

4.4、实验

我们将我们的网络应用于 Imagenet2012Imagenet~2012Imagenet 2012 验证集,使用为竞赛指定的本地化标准。其结果如图 999 所示。图 101010 显示了 201220122012 年和 201320132013 年本地化竞赛的结果(这两年的训练和测试数据相同)。我们的方法是 201320132013 年竞赛的赢家,误差为 29.9%29.9\%29.9%。

我们的多尺度和多视图方法对于获得良好的性能至关重要,如图 999 所示:仅使用一个居中的裁剪,我们的回归器网络就达到了 40%40\%40% 的误差。通过在两个尺度上结合来自所有空间位置的回归预测,我们使误差显著降低到 31.5%31.5\%31.5% 。添加第三和第四个尺度将性能进一步提高到 30.0%30.0\%30.0% 的误差。

在每一类的回归器网络(图 999 中的每一类别回归器(PCR)(PCR)(PCR))中对每个类使用不同的顶层,出人意料地没有超过在所有类别之间共享的单一网络(44.1%vs31.3%44.1\%~vs~31.3\%44.1% vs 31.3%)。这可能是因为在训练集中,用边界框标注的每个类的样本相对较少,而网络的顶层参数多了100010001000倍,导致训练不足。这种方法有可能通过仅在相似类别之间共享参数来改进(例如,为所有类别的狗训练一个网络,为车辆训练另一个网络,等等)。)。

5、检测

检测训练类似于分类训练,但是在空间上。可以同时训练图像的多个位置。由于模型是卷积的,所有权重都在所有位置之间共享。与定位任务的主要区别在于,当没有目标对象时,需要预测背景类。传统上,负样本最初是随机抽取用于训练。然后,最令人反感的负面错误会在自举过程中添加到训练集中。独立的自举过程会使训练变得复杂,并有可能导致负样本收集和训练时间之间的不匹配。此外,自举过程的大小需要调整,以确保训练不会在一个小集合上发生过拟合。为了规避所有这些问题,我们通过在每张图像上选择一些有趣的负样本,比如随机样本或最令人反感的样本,来动态地进行负训练。这种方法的计算成本更高,但程序变得更简单。由于特征提取最初是用分类任务来训练的,因此检测微调无论如何都不会花太长时间。

在图 111111 中,我们报告了 ILSVRC2013ILSVRC~2013ILSVRC 2013 竞赛的结果,其中我们的检测系统以 19.4%19.4\%19.4% 的平均精度(mAP)( mAP )(mAP)排名第三。我们后来建立了一种新的检测技术, mAPmAPmAP 达到 24.3%24.3\%24.3% 。请注意,前333种方法和其他团队之间存在很大差距(第444种方法产生11.5%11.5\%11.5%的mAPmAPmAP)。此外,我们的方法与前两个系统有明显不同,前两个系统使用初始分割步骤将候选窗口从大约 200,000200,000200,000 个减少到 2,0002,0002,000 个。这种技术加快了推理速度,并大大减少了潜在的假正例数量。[29][1] 表明当使用密集滑动窗口时,检测精度会下降,而选择性搜索(selectivesearchselective~searchselective search)会丢弃不太可能的目标位置,从而减少假正例。结合我们的方法,我们可以观察到传统密集方法和基于分割的方法之间类似的改进。还应该注意的是,我们没有像 NECNECNEC 和 UvAUvAUvA 那样在检测验证集上进行微调。验证和测试集分布与训练集有足够显著的差异,仅这一点就可以将结果提高大约1个百分点。图 111111 中两个 OverFeatOverFeatOverFeat 结果之间的改善是由于更长的训练时间和上下文的使用,即每个尺度也使用更低分辨率的尺度作为输入。

6、总结

本文提出了一种多尺度滑动窗口方法,可用于分类、定位和检测。我们将其应用于 ILSVRC2013ILSVRC~2013ILSVRC 2013 数据集,目前它的分类排名第四,定位排名第一,检测排名第一。我们论文的第二个重要贡献是解释如何有效地将 ConvNetsConvNetsConvNets 用于检测和定位任务。这些问题在 [15] 中从未被解决,因此,我们是第一个解释如何在 ImageNet2012ImageNet~2012ImageNet 2012 背景下实现这一点的。我们提出的方案涉及对分类网络的大量修改,但清楚地表明 ConvNetsConvNetsConvNets 能够完成那些更具挑战性的任务。我们的本地化方法赢得了 201320132013 年 ILSVRCILSVRCILSVRC 比赛,明显优于 201220122012 年和 201320132013 年的所有方法。检测模型是比赛中表现最好的模型之一,在赛后结果中排名第一。我们提出了一种整体管道,它可以执行不同的任务,同时共享一个共同的特征提取库,完全直接从像素中学习。

我们的方法仍可能在几个方面得到改进:

  1. 就定位任务而言,没有为整个网络进行反向传播训练。
  2. 使用的是 l2l_2l2​ 损失,而不是直接优化衡量性能的交并比 (IOU)(IOU)(IOU) 标准。由于 IOUIOUIOU 仍然是可区分的,如果有一些重叠的话,将损失换为 IOUIOUIOU 可能会提升性能。
  3. 边界框的交替参数化可能有助于对输出去相关,这将有助于训练网络。(不理解~)

学习笔记

  1. 关于 offsetmax−poolingoffset~max-poolingoffset max−pooling 的理解
    从表2表~2表 2 可以看出offsetMax−poolingoffset~Max-poolingoffset Max−pooling 对模型的精度有些许提升,但是并没有很显著的效果。作者声称自己的模型使用不重叠的池化,以我的理解,offsetmax−poolingoffset~max-poolingoffset max−pooling 在大小为 3×33\times33×3,步长为 3×33\times33×3 的不重叠池化的基础上设置偏置为 0,1,20,1,20,1,2 等价于大小为 3×33\times33×3 步长为 1×11\times11×1 的池化方法。本质上还是减小了池化层的步长,从而降低降采样比率,达到提高精度的目的。

更正

  1. 表 111 中卷积层 111 的输入大小为 231×231231\times231231×231 输出大小应该是 28×2828\times2828×28 (即卷积层 222 的输入大小)而不是 24×2424\times2424×24 ,之后的各层输入大小才是正确的。猜测可能是作者论文写作时出现的失误。
  2. 表 555 中尺度 555 的分类器图大小应该为 18×21×C18\times21\times C18×21×C

推荐阅读

  1. 深度学习研究理解6:OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks
  2. 深度学习(二十)基于Overfeat的图片分类、定位、检测
  3. 系统学习深度学习(十六)–Overfeat

欢迎批评,指正。。。

Reference

论文笔记:OverFeat相关推荐

  1. 全卷积神经网络(FCN)论文笔记

    全卷积神经网络(FCN)论文笔记 Fully Convolutional Networks for Semantic Segmentation Abstract 卷积网络是一种功能强大的视觉模型,可以 ...

  2. ORB-SLAM3 论文笔记

    ORB-SLAM3 论文笔记 这篇博客 ORB-SLAM3系统 相机模型的抽象(Camera Model) 重定位的问题 图片矫正的问题 视觉惯性SLAM的工作原理 相关公式 IMU初始化 跟踪和建图 ...

  3. 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION

    一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...

  4. 最新图神经网络论文笔记汇总(附pdf下载)

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 [导读]近年来,图神经网络变得非常火热,每年顶会在该领域内都会出现大量的研究论文,本文为大家提 ...

  5. [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)

    Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...

  6. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  7. 光流 速度_[论文笔记] FlowNet 光流估计

    [论文笔记] FlowNet: Learning Optical Flow with Convolutional Networks 说在前面 个人心得: 1. CNN的光流估计主要是速度上快,之后的v ...

  8. 论文笔记 《Maxout Networks》 《Network In Network》

    原文出处:http://zhangliliang.com/2014/09/22/paper-note-maxout-and-nin/ 论文笔记 <Maxout Networks> & ...

  9. 论文笔记:HKMF-T: Recover From Blackouts in TaggedTime Series With Hankel Matrix Factorization

    论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts_U ...

  10. 论文笔记 A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forecasting

    0 abstract 空间时间序列预测问题出现在广泛的应用中,如环境和交通问题.由于存在特定的空间.短期和长期模式,以及维度的诅咒,这些问题具有挑战性. 在本文中,我们提出了一个用于大规模空间时间序列 ...

最新文章

  1. vue之mapMutaions的使用 vuex中 action 用法示例 api.js的使用
  2. find_all 返回空 python_python小课堂23 - 正则表达式(一)
  3. PAT1048 数字加密 (20 分)
  4. 计算机网络按信息传输介质的性能来划分,大学计算机基础练习题网络技术.doc...
  5. android- Auto Monitor Logcat
  6. 百度之星初赛(A)——T5
  7. Java 字符串常用操作(比较、查找位置、删除字符、替换字符串、反向输出、是否存在、分割字符串、大小写转换,区域比较、拼接字符串)
  8. windows快速搭建activity6.0
  9. ActiveMQ(19):高级特性之独有消费者(Exclusive Consumer)
  10. 维度模型数据仓库基础对象概念一览
  11. Coca语料库的使用方法
  12. VS2017社区版30天到期无法使用,激活方式
  13. 车载电子瞬态浪涌保护用瞬态抑制TVS二极管,如何正确选型?
  14. H5页面在某些手机自带浏览器后退不刷新的问题
  15. 在安装Maven检查版本时出现Please set the JAVA_HOME variable in your environment to match the locat
  16. 计算机重启打印机无法使用,为什么打印机在电脑重启后就不能用了并且也无法添加?-win7添加打印机...
  17. FREE WMA MP3 CONVERTER 1.8缓冲区溢出漏洞
  18. 互联网大数据面试题集锦
  19. 猿创征文|我的Python成长之路
  20. 揭秘udesk智能质检:质检+分析双剑合璧

热门文章

  1. S3C2440裸机------异常与中断__按键中断程序示例
  2. 聊天软件开发_3_数据库表设计
  3. OpenSIPS脚本中的变量
  4. ImageOptim 图片压缩工具
  5. 任正非,“血洗”华为
  6. 大气数据计算机英语,大气数据计算机(ADC)
  7. 新手对vue中特殊的标签属性ref和key的理解
  8. Insyde uefi 隐藏设置_文颐法语:iOS 14安装后发现的9个隐藏的iPhone功能
  9. python识别图像里文字_使用 Python 识别并提取图像中的文字
  10. 简单二阶有源滤波电路分析