读书笔记: DetNet: Design Backbone for Object Detection

读书笔记: DetNet: Design Backbone for Object Detection:

之前咱们不是读了adaptive convolution嘛,赶紧学以致用告诉我们为什么要用AC;

Abstract:

背景:CNN已经被广泛应用于目标检测任务,不管是单阶段的还是多阶段的网络,而且他们都经常使用Imagenet之中预训练(为了分类);
但是我们提出的目标检测的backbone一些不同的观点(feature extractor)
Difference classification and object detection:
在classification之中,例如,FPN和RetinaNet 通常有额外步骤针对图像分类任务来处理不同比例的任务;
在object detection,在目标检测之中,我们不仅需要识别图像的分类,同时还需要进行空间定位;
答案:所以说,图像的classification和object dectection上存在差异的,因此我们提出了DetNet,所以我们提出了新颖的backbone DetNet——针对目标检测。同时我们的DetNet也包含了额外阶段针对图像classification问题,保持了在较高较深的层之中空间分辨能力。

Introduction:

背景: 目标检测一般都在ImagNet上做一个预训练(分类任务)。同时检测和分类有着不同,目标检测不仅需要识别对象的实例分类,同时还要识别空间上的定位框。更具体的说(目标检测),使用分类的backbone用作目标检测的任务存在着两个问题:
存在问题:

  1. 最近的detector例如FPN,拥有额外的阶段(extra stages) 比 在Imagenet的分类的backbone 可以检测出更多不同大小的物体;
  2. 传统的卷积运算,通过一次又一次的卷积对砌特征图片(为了最后连接全链接层)从而进行下采样,这样做大大提升图像的分类能力;但 是这样做会使空间分辨率(spatial resolution)受损,从而无法去定位大型物体/小型物体;
    答案:我们提出的DetNet,为了解决以上的问题从而精心设计而来的,是一种新颖的backbone针对目标检测任务。更具体的说,DesNet设计了一个跟FPN一样的额外阶段;即使通过了这个额外阶段,我们仍然保留了位置空间信息。
    但是,空间位置的保留大大的提升了计算量和内存的使用——我们还降低了网络的复杂度——通过我们整合网络——Desnet不仅仅有着高分率特征图,同时还有着较大的观察野;
    文章贡献:
    1.我们分析了传统网络/detector的固有缺点——使用Imagenet预训练模型链接全链接层;
    2.提出了新颖的backbone——Desnet,为目标检测定制——通过保留了空间信息和增大感受野;
    3.我们简化了网络的复杂程度,同时我们低复杂度的网络还取得了不错的结果;

Relate work:

今天的relatework就比较重要了,得好好读一读
背景:我们先聊一聊目标检测,客套话咱们就不说了。目标检测简单来说就是给出一张图像你要告诉我们where和what与目标之间的联系。
早期:
以前的目标检测提取特征是通过hand engineered的组件(例如:HOG和SIFI等等)。很长一段时间DPM都是在目标对象检测器之中占有着主导地位的。
现代:
随着神经网络的快速发展基于CNN的目标检测探测器取得了非凡的成就,成为未来发展的一个全新趋势。在这种网络结构下一般分为两个部分。第一部分是backbone network,另一部分是detection branch;

  1. backbone network
    用于目标检测的backbone通常都会借用imagenet classification之中的backbone。然后的话Imagenet被视为最权威的数据集,所以很多网络都旨在提高imagenet的性能。alexnet是第一个尝试使用加深卷积神经网络的,为了减少计算量和增加感受野,alexnet的特征图与原图相比缩小了32倍,也为后世设定了一个标准。各个公司开始通过各种方法来加深CNN的网络;关于骨干网络有着很多很多的研究,但是他们一般都是针对classification而设计的。
  2. object detection branch
    目标检测分支一般都是附加到image net分类数据集设计和训练而设计的,通常来说又两种截然不同的设计思路。第一种利用backbone直接进行目标预测,例如YOLO用的这个Darknet backbone,然后将检测划为回归问题。第二种就是用的二阶段的方法,先让backbone提出候选的建议(propsals),然后额外的classifier对这些候选的proposal进行分类和回归。例如faster rcnn,先从backboneFPN提出proposal。特征金字塔建立特征通过金字塔等级的深度神经网络,产生多层组合的FPN通过U形结构,能保留空间信息;

总结来说,传统的backbone都通常借用的imagenet的分类网络,适合目标检测的backbone网络这个领域的研究还是比较要少的。目前不管是单阶段还是多阶段,都是先在imagenet上先搞一个分类的预训练模型,没有针对目标检测去进行优化表现。所以说在我们的论文中,我们提出的detnet就是设计一个专门为目标检测而设计的backbone。

DetNet: A Backbone network for Object Detection

动机
背景:最近的目标检测都是依赖在Imagenet中预训练的backbone,但是目标检测和分类任务不同,目标检测不仅要识别而且还要是被出空间定位的BBOX。同时,图像分类的设计原则不太适用于目标检测,例如一般的检测backbone(VGG和Resnet),他特征图的空降分辨率会逐渐的减弱。不过,还是有一些方法例如特征金字塔等方法技术可以应用于这些网络来保留住空间信息。
困难/挑战:

  1. 网络的stage数量不同
    如下图所示,一般的分类网络通常是通过5个stage(F1B,少算了一个2X的),每个阶段都进行下采样。传统的classification network backbone一般下采样到原图的32倍。不过特征金字塔就不一样了,特征金字塔一般采用更多的步骤stage,FPN加了一个X64来处理比较大的物体,Retinanet就更厉害了,为了处理更大的物体在这个基础上又加了一层;
  2. 大object可见性较差
    feature map在stride of 32有着较强的语义信息于较大的接收野,这引领了分类任务的成功。然而,较大的stride对目标定位带来巨大的损失。在特征金字塔之中,大的物体一般预测和产生在较深的网络之中,但是他们的边界会很模糊而来造成回归的损失/难以精准回归。
  3. 小物体的可见性较差
    大的stride的另一个缺点是会遗漏我们图片之中的小物体。小物体的信息会随着特征图的缩小而减小。因此空间金字塔在浅层预测预测小物体,但是在浅层的语义信息较少,不足以识别对象。因此FPN会通过上下文提取特征来提高他的分类能力。如下图(F1A自上而下的途径提取信息)

在这里插入图片描述
为了解决上述问题,我们提出了答案:
答案:我们提出了DesNet 1.DesNet的stage完全是为目标检测所设计;2.DesNet在保留边界和寻找小物体的能力更强;
DetNet Desgin 介绍网络的详细结构,我们采用ResNet-50作为我们的Baseline,这个baseline大量应用于目标检测。
困难和挑战:为了保证优秀的目标检测网络,若保持神经网络中的空间分辨率将占用大量的时间和内存,而且减少下采样因子会导致接收野较小,从而对分类/语义分割任务造成伤害。
方法:DetNet的前四层保持了和ResNet。从第五层开始DesNet59和ResNet50的结构就开始有所不同,具体如下:

  • 我们介绍了额外的阶段stage6,使用了多特征融合FPN的方法,同时我们在stage4之后就一直进行16倍下采样
  • 为了保证从stage4开始的stage到之后的stage的stride是相同的,我们使用了dilated [27, 25, 1] bottleneck with 1x1 convolution projection在每个阶段的开始。(We find the model in Fig. 2 B is important for multi-stage detectors like FPN.鬼知道是什么意思,FPN的stride不是会变小吗????)
  • 我们使用了扩张瓶颈作为网络的基本模块来扩大我们的接收野。由于这种运算很浪费时间,我们第五阶段和第六阶段保持和第四阶段相同的stride。
    而且,讲DetNet集成进/不集成 特征金字塔是很容易实现的。所以说我们也使用杰出的detectorFPN来用作为我们DetNet backbone效果的检测。所以说我们的实验用的是DetNet 的baseline +FPN detector。
    在这里插入图片描述

Experiments

我们采用标准的coco指标来评估我们的方法,包括AP与不同取值的IOU的AP;
所有的实验都使用ImageNet预训练的权重进行初始化。
结果分析:
我们使用ResNet50的FPN backbone作为我们的Baseline,因为FPN是一个很不错的detector。同时为了验证DesNet的有效性,我们还拿出了DetNet59与ResNet50作为对比。
实验一:分类(ImageNet classification)
FLOPS代表计算的复杂性,可以看到DetNet是优于ResNet的;这是为什么呢,一个很自然的假设是由于DetNet的参数更多的原因,因此还涉及了更多参数的ResNet/DetNet101
在这里插入图片描述
实验二:我们直接从头训练基于DetNet/ResNet59/50的FPN
不包含预训练参数的FPN,可以看出DN还是高出1.8个点
在这里插入图片描述
结果分析2:
在下一步之前我们先聊一聊评价指标:AP(average precision)正确定位了多少对象和AR(average recall)表示我们可以找到多少物体,IOU表示对象定位的回归能力(IOU越大,回归要求越准确)
实验3:DetNet-59在大对象定位的性能提升无比巨大
在IOU=85的情况下带来了5.5个点的提升

在这里插入图片描述
实验4:小物体的影响
在发现小物体中,我们的DN提升了6.4个点,但是在IOU85的时候提升的比较小,但是这是较为合理的,因为Detnet已经没有小物体可共定位
在这里插入图片描述
总结:DetNet可以更准确的找到大型物体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值