paper:DetNet: A Backbone network for Object Detection
存在的问题
最近的目标检测模型通常依赖于在ImageNet分类数据集上预训练的骨干网络。由于ImageNet的分类任务不同于目标检测,后者不仅需要识别对象的类别,而且需要对边界框进行空间定位。由于VGG16和Resnet等标准网络的特征图的空间分辨率逐渐降低,因此图像分类的设计原则不利于定位任务。
本文的创新点
本文提出了一个专门为检测模型设计的骨干网络DetNet,具有以下特征:(1)阶段的数量是直接为目标检测而设计的。(2)尽管和传统的分类网络相比DetNet包含了更多的stage(比如stage 6和stage 7),但保持了高分辨率的特征图,同时保持了较大的感受野。
与ResNet相比,DetNet在目标检测方面有几个优势。首先,DetNet与检测模型使用的stage数量完全相同,因此额外的stage比如P6可以在ImageNet数据集上进行预训练。其次,由于最后阶段是高分辨率的特征图,DetNet在定位大物体的边界和寻找缺失的小物体方面更为强大。
方法介绍
下面介绍一下DetNet的具体结构。我们采用ResNet-50作为baseline,它被广泛用于各种检测模型的backbone。为了公平比较,前4个stage与原始的ResNet-50保持一致。
为目标检测设计一个有效的骨干网络存在两个挑战。一方面,保持深度神经网络的空间分辨率会消耗大量的时间和内存。另一方面,减少降采样比例等价于减少有效的感受野,这对许多视觉任务,如图像分类和语义分割都是有害的。
DetNet 经过精心设计,以解决这两个挑战。具体来说,DetNet从第一阶段到第四阶段遵循与ResNet相同的设置。区别从第五阶段开始,用于分类的DetNet如图2d所示。DetNet59是基于ResNet50进行的扩展。类似地,DetNet可以很容易地用像ResNet101这样的深层网路进行扩展。DetNet59的设计细节如下:
- 我们在backbone中引入了额外的stage,如P6,后续将会像FPN一样用于检测。同时,stage 4之后的阶段分辨率都固定为16倍的降采样率。
- 由于stage 4之后的分辨率是固定的,为了引入一个新的stage,在每个stage的开始我们采用了一个带有1x1卷积映射的dilated bottleneck,如图2B所示。我们发现图2B中的模型对于像FPN这样的multi-stage detector是很重要的
- 我们使用膨胀卷积的bottleneck作为网络的basic block,以有效地扩大感受野。由于膨胀卷积仍然很耗时,stage5, 6的通道数保持和stage 4一样(256通道)。这与传统的backbone设计不同,其中每经过一个stage通道数都会翻倍。
实验结果
采用FPN检测模型,不同backbone在分类和检测任务上的对比如表1。可以看出DetNet-59与ResNet-50相比,mAP超过了2个点,与ResNet-101相比,FLOPs更低的情况下,mAP更高。
和其它SOTA检测模型相比,采用DetNet-59作为backbone的FPN取得了最高的mAP。