DetNet: A Backbone network for Object Detection

论文链接:https://arxiv.org/pdf/1804.06215.pdf

摘要:无论是当前 YOLO、SSD、RetinaNet 这样的一阶段方法,还是 Faster R-CNN、R-FCN 和 FPN 这样的二阶段检测器,这些基于 CNN 的目标检测器通常都尝试直接从 ImageNet 预训练模型进行微调。而很少有研究探讨用骨干特征提取器专门做目标检测。更重要的是,图像分类和目标检测任务间有多个区别:(i)FPN 和 RetinaNet 这样的目标检测器通常要比图像分类任务有更多阶段,从而处理多尺度的物体。(ii) 目标检测不只需要识别物体样例的类别,也需要空间定位其位置。大的下采样因子带来大的有效感受野,这对图像分类有好处,却会折损目标定位的能力。因为图像分类和目标检测间的差距,我们在此论文中提出了 DetNet,这是一种专门为目标检测设计的全新骨干网络。此外,在更深层中维持高空间分辨率的同时,DetNet 还包含与传统图像分类骨干网络不同的额外阶段。基于我们提出的 DetNet(4.8G FLOPs)骨干,在 MSCOCO 数据集基准上取得了目标检测和示例分割的当前最佳结果。复现代码将在近期发布。

基于当前用预训练分类器开发目标检测器的方法的固有缺陷,来自清华大学和旷视的研究者提出了专用于目标检测的骨干网络 DetNet。DetNet 可在保持高分辨率特征图和大感受野的同时,高效地执行目标检测任务,并可以自然地扩展到实例分割任务上。在 MSCOCO 数据集的目标检测和实例分割任务上,DetNet 都取得了当前最佳的结果。

目标检测是计算机视觉中最基础的任务之一。由于深度卷积神经网络(CNN)的快速发展,目标检测的性能也随着显著提升。

近期的基于 CNN 的目标检测器可以被分类为 1 阶段检测器(例如 YOLO、SSD 和 RetinaNet),以及 2 阶段检测器(例如 R-CNN、R-FCN、FPN)。它们都是基于在 ImageNet 分类任务上预训练的骨干网络。然而,图像分类和目标检测问题之间有一个显著的区别,后者不仅仅需要识别目标实例的类别,还需要对边界框进行空间定位。具体来说,使用分类骨干网络对于目标检测任务有两个问题:

(1)近期的检测器如 FPN,包含额外的阶段以在不同尺度上进行目标检测;

(2)传统的骨干网络基于大的下采样因子可以生成更高的感受野,这对于视觉分类很有帮助。然而,这却牺牲了空间分辨率,从而使网络难以准确地定位大型目标和识别小型目标。

一个设计良好的检测骨干应该解决以上所有问题。在此论文中,研究者提出了 DetNet,这是专门来做目标检测的全新骨干。更特别的是,因为不同的物体尺度,DetNet 具体来说,由于不同的目标尺度,DetNet 包含了额外的阶段,在其它目标检测器中的作用类似于 FPN。和传统的利用在 ImageNet 分类任务上预训练的模型不同,即使包含了额外的阶段,DetNet 也能保持特征的空间分辨率。然而,由于计算和内存开销,高分辨率的特征图给建立深度神经网络带来了更大的挑战。为了保持 DetNet 的效率,研究者部署了一个低复杂度的扩张瓶颈结构。通过整合这些改进,DetNet 不仅保持了高分辨率的特征图,还保持了大的感受野,两者对目标检测任务都很重要。

本研究的贡献如下:

  1. 本文首次分析了传统的将 ImageNet 预训练模型微调来开发目标检测器的固有缺陷。
  2. 本研究通过保持空间分辨率和扩大感受野,提出了一种新型的专为目标检测任务而设计的骨干网络 DetNet。
  3. 作者利用基于低复杂度的 DetNet59 骨干网路,在 MSCOCO 目标检测和实例分割追踪任务上取得了当前最佳结果。

DetNet: A Backbone network for Object Detection_第1张图片

图 1:FPN(特征金字塔网络)中使用的不同骨干网络的对比。(A)FPN 结合传统骨干网络;(B)传统图像分类网络;(C)本文提出的 DetNet 骨干网络,其拥有更高的空间分辨率,和 FPN 有完全相同的各阶段。由于图像尺寸限制,图中没有显示阶段 1 的特征图(步幅=2)。

3.2 DetNet 设计

这部分介绍 DetNet 的结构细节。研究者使用 ResNet-50 作为基线模型,其作为骨干网络广泛用于大量目标检测器中。为了公平地与 ResNet-50 进行对比,研究者使 DetNet 的阶段 1、2、3、4 与原始 ResNet-50 的阶段保持一致。

创建高效的目标检测骨干网络存在两项挑战:

 

  1. 保持深度神经网络的空间分辨率需要耗费大量时间和内存;
  2. 降低下采样因子等于减少有效的接受野,这对很多视觉任务都是有害的,如图像分类和语义分割任务。

DetNet 经过仔细设计以解决这两项挑战。具体来说,DetNet 遵循 ResNet 的 4 个阶段。区别从第 5 个阶段开始,用于图像分类的 DetNet 图示详见图 2D。下面我们来看从 ResNet50 扩展而来的 DetNet59 实现细节。类似地,DetNet 可以使用深度层(正如 ResNet101)轻松扩展。DetNet59 的设计细节如下:

DetNet: A Backbone network for Object Detection_第2张图片

  • 研究者引入了额外的阶段,例如 P6,其在骨干网络中的作用与 FPN 中一样。同时,研究者固定空间分辨率为 16x 下采样,即使在第 4 阶段之后也是如此。
  • 由于第 4 阶段后的空间分辨率是固定的,为了引入新的阶段,研究者在每个阶段刚开始时使用了扩张 [29,30,31] 瓶颈和 1x1 的卷积投影(图 2B),并发现图 2B 中的模型对于多阶段检测器(如 FPN)非常重要。
  • 研究者使用扩张瓶颈作为基础网络模块,以高效扩大感受野。由于扩张卷积仍然消耗大量时间,阶段 5 和阶段 6 保持与阶段 4 相同的通道(瓶颈模块有 256 个输入通道)。这与传统的骨干网络设计不同,后者会在后面的阶段中将通道数量扩展为之前的 2 倍。
  • 将 DetNet 和任意具备/不具备特征金字塔的检测器整合到一起是很容易的。在不损害代表性的前提下,研究者采用检测器 FPN 作为基线网络,来验证 DetNet 的效用。由于 DetNet 只改变了 FPN 的骨干网络,因此研究者不改变 FPN 的其他结构(除了骨干网络)。由于在阶段 4 之后并未减少 Resnet-50 的空间分辨率大小,因此只需按照自上而下的路径将所有阶段的输出相加即可。

4 实验

图 2:DetNet(D)和基于 DetNet 的 FPN(E)的细节结构。(A,B)展示了 DetNet 中使用的不同的瓶颈模块。(C)展示了原始瓶颈模块。在阶段 4 之前,DetNet 和 ResNet 的设计是相同的,而在阶段 4 之后将保持空间分辨率(例如阶段 5 和 6)。

表 1:FPN 结合不同的骨干网络得到的结果。包括在 ImageNet 分类任务上的标准 top-1 误差。FLOPs 是指计算复杂度。还展示了 FPN 在 COCO 数据集上的结果以探索这些骨干网络对目标检测的有效性。

 

DetNet: A Backbone network for Object Detection_第3张图片

 

表 3:FPN 在不同 IoU 阈值和不同边框尺度上的平均精度(AP)的对比。AP50 是一个有效的评估分类能力的指标。AP85 的评估需要对边框预测的准确定位。因此它可以验证本文方法的回归能力。上表还展示了不同尺度的 AP 以捕捉骨干网络中高分辨率特征图的影响。

 

DetNet: A Backbone network for Object Detection_第4张图片

 

图 3:DetNet-59-NoProj 的细节结构,它使用了图 1A 中的模块以分离阶段 6(而原始的 DetNet-59 使用图 1B 中的模块来分离阶段 6)。设计 DetNet-59-NoProj 的目的是验证包含一个新型的语义阶段用于目标检测(正如 FPN)的重要性。

 

DetNet: A Backbone network for Object Detection_第5张图片

 

图 4:基于 DetNet-59 的 FPN 检测器结果。

 

DetNet: A Backbone network for Object Detection_第6张图片

 

表 7:在 MSCOCO 数据集上,本文的方法与其他顶尖方法目标检测结果的对比,基于简单、有效的骨干 DetNet-59,该模型超越了先前所有的顶尖方法。值得注意的是,DetNet-59 在更少 FLOPs 情况下就得到了更好的结果。

表 8:在 MSCOCO 数据集上,本文的方法与其他顶尖方法做实例分割的结果对比。得益于 DetNet-59,在实例分割任务上 DetNet 取得了新纪录。

 

DetNet: A Backbone network for Object Detection_第7张图片

 

图 5:基于 DetNet-59 的 Mask R-CNN 的实例分割结果展示。

 

你可能感兴趣的:(论文.读书.视频,计算机视觉和数字图像处理,深度学习和目标检测论文阅读)