detnet: a backbone network for object detection-nhà cái k8

学术资讯 | 2018-11-02

全球计算机视觉三大顶会之一 eccv 2018 (european conference on computer vision)即将于9月8 -14日在德国慕尼黑拉开帷幕。届时,旷视科技首席科学家、研究院院长孙剑博士将带领团队远赴盛会,助力计算机视觉技术的交流与落地。


 论文名称:detnet: a backbone network for object detection

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




导语


人工智能的爆发与深度学习的发轫来自于计算机视觉领域,是从机器之眼开始,正如五亿四千万年之前,寒武纪生物大爆发的一个主要原因是眼睛的出现。能看的机器之眼,是计算机视觉技术与应用的共同目标,只不过技术是第一步。本文创新性地提出 detnet——一个专为物体检测而设计的骨干网络,从底层技术的维度更新了计算机视觉网络,将会进一步推动其相关应用落地,优化产品服务。detnet 将会更快更准地检测和分割一张给定图像之中的物体,完善在智慧城市、新零售、仓储物流、消费终端等诸多领域的技术应用。




背景


物体检测是计算机视觉研究领域的三大基础课题之一,旨在检测一张给定图像中每个物体的位置和分类。传统检测器借助手工设计的物体组件描述子,比如 hog,sift,edge box 等,以从图像提取特征。长久以来,dpm 及其变体成为了传统物体检测领域的主导方法;直到深度神经网络再次崛起,基于 cnn 的方法取得瞩目成果,掀起一股物体检测新风潮。


随着时间推移,基于 cnn 的物体检测器也开始暴漏出一些弊端,其 backbone 往往针对 imagenet 分类任务而设计,并不适用于检测任务,不管是 one-stage(比如 yolo,ssd,retinanet)还是 two-stage(比如 faster r-cnn,rfcn,fpn)的。针对检测任务而设计的 backbone 仍是一项空白,所以才有了 detnet,一个针对物体检测的更优的 backbone。




设计思想


设计 detnet 的起因是图像分类与物体检测任务之间存在的落差,后者不仅要识别物体的分类,还需借助边界框定位物体。具体而言,把分类 backbone 用于物体检测存在两个问题:1)相较于 imagenet backbone,最新的检测器比如 fpn 通常有额外的 stage;2)传统的 backbone 感受野通常较大,这有利于图像分类,却会折中空间分辨率,导致无法精确定位大物体和识别小物体。


detnet 是一个针对上述问题而设计的全新 backbone。详细讲,detnet 针对不同大小的物体而像 fpn 一样使用了更多的 stage。即便如此,它优于 imagenet 预训练模型的地方在于成功保留了特征的空间分辨率,但同时也会增加神经网络的计算和内存成本。为保证 detnet 的效率,本文引入了低复杂度的 dilated bottleneck。由此,detnet 做到了较高分辨率和较大感受野的兼得。





网络架构


--动机


由于分类模型的设计原则并不适用于检测任务,从而在一些标准网络比如 vgg 16 和 resnet 中特征图的空间分辨率逐渐降低。因此一些技术如 fpn(如图 1 a 所示)和 dilation 被应用在这些网络之中以保证空间分辨率。但是依然存在如下三个问题:


    -backbone 网络和检测网络的 stage 数量不同。

    -大物体可视性较差:过大的下采样导致大物体看不清边界地区。

    -小物体不可见:同样过大的下采样也可能会丢失小物体的信息。


图 1:fpn 中使用的不同 backbone。



为解决上述问题,detnet 具有以下特性:1)stage 的数量直接专为物体检测而设计;2)尽管相比传统分类网络,detnet 有更多 stage(比如 6 stages 或者 7 stages),但是同时兼具空间分辨率和感受野。


相较于把传统分类网络用于物体检测而言,detnet 有以下优势:1)detnet stage 的数量与 fpn 相同,因此额外的 stage 比如 p6 可在 imagenet 中完成预训练;2)受益于最后 stage 中的高分辨率特征图,detnet 在定位大物体边界框和发现小物体方面更为强大。




--设计


本节将详细展示 detnet 结构。detnet 基线为 resnet-50,它被广泛用于众多物体检测器的 backbone。为了公平对比 resnet-50,本文让 detnet stage 1,2,3,4 与 resnet-50 相同。


打造一个有效而高效的物体检测 backbone 面临两个挑战:一方面,保证深度神经网络的空间分辨率非常消耗时间和内存;另一方面,减少下采样等于减小有效感受野,这将会影响很多视觉任务,包括图像分类和语义分割在内。


图 2: detnet 及基于 detnet 的特征金字塔网络(fpn)的结构细节。



通过精心设计的 detnet 可攻克这两项挑战。具体而言,detnet stage 1,2,3,4 与 resnet 设置相同;不同的是 stage 5,以及用于图像分类的 detnet 的概览,如图 2 d 所示。下面探讨一下(扩展了 resnet-50 的)detnet-59 的细节:


    -本文在 backbone 中引入额外的 stage,比如 p6,它稍后用于物体检测,正如在 fpn 中一样。同时,在 stage 4 之后把空间分辨率固定为 16x 下采样。

    -由于空间尺寸在 stage 4 之后是固定的,为引入一个新 stage,本文在每个 stage 开始使用一个带有 1x1 卷积投影(图 2 b)的 dilated bottleneck。

    -借助 dilated bottleneck 作为基础模块以加大感受野。由于 dilated conv 依然耗时,detnet stage 5,6 与 stage 4 通道数量相同(bottleneck 有 256 个输入通道),这不同于传统的 backbone 设计,其在新的 stage 需要双倍的通道。




实验结果


--主要结果


本文首先在 imagenet 分类任务中训练 detnet-59,结果如表 1 所示,在计算量为 4.8 g flops 的情况下,detnet-59 top-1 error 为 23.5,性能显著优于 resnet-50(map 涨点 2+)。


表 1:fpn 中使用不同 backbone 的结果。



由于 detnet-59 相比 resnet-50 有更多参数,一个自然的假设是提升主要来自参数的增多。为验证 detnet-59 的有效性,本文在计算量为 7.6 g flops 的情况下也训练了一个 backbone 为 resnet-101 的 fpn,结果 map 为 39.8。可见 detnet 在这方面要优于 resnet。


由于 detnet 直接专为物体检测而设计,为进一步验证其优势,本文分别从头训练了 detnet-59/resnet-50-baesd fpn。结果如表 2 所示。为了从头开始,本文在训练期间使用了跨卡同步批归一化。由结果可知,detnet-59 依然优于 resnet-50 1.8 个点,从而进一步证明 detnet 更适用于物体检测。


表 2:不同 backbone 的 fpn 结果,训练从头开始。



--结果分析


本节将分析 detnet 是如何提升物体检测性能的。


表 3:在不同 iou 阈值和不同边界框大小的情况下,fpn ap 结果的对比。


表 4:在不同 iou 阈值和不同边界框大小的情况下,fpn ar 结果的对比。



相较于 resnet-50,detnet-59 在发现小物体方面更为强大,ar_50 涨点达到 6.4(66.4 vs 60.0);detnet 在较深的 stage 比 resnet 保有更高的分辨率,从而可以检测更小的物体。由于在图 1 a 中使用上采样,浅层也可以获取语义线索以发现小物体。但是 ar_85 @small 涨点并不明显(18.7 vs 19.6)。这是合理的,detnet 无益于小物体定位,因为 resnet-based fpn 已经使用大特征图检测小物体。


detnet 擅长大物体定位,其 ar_85 为 56.3(vs 50.2)。但是 ar_50 并没有变化太多(95.4 vs 95.0)。一般来讲,detnet 更擅长定位大物体而不是查漏大物体。




--对比当前最优


本文在 coco test-dev 上评估 detnet-59-based fpn,并对比表其他当前最优的方法(见表 7)。没有任何花哨的东西,detnet 作为简单而高效的 backbone 在 coco 物体检测上获得了新的当前最优,甚至超过强劲的对手 resnet-101。


表 7:在 coco test-dev 上,本文方法与其他当前最优方法在物体检测结果方面的对比。



为验证 detnet 泛化能力,本文方法也用于了基于 mask r-cnn 的 coco 实例分割任务中。结果如表 8 所示。由于 detnet-59 的优异性能,本文在实例分割方面同样刷新了当前最优结果。


表 8:在 coco test-dev 上,本文方法与其他当前最优方法在实例分割结果方面的对比。



一些可视化结果如图 4、5 所示。本文只展示了分类分值不低于 0.5 的边界框和实例分割。


图 4:detnet-59 based fpn 结果图示。



图 5:detnet-59 based mask r-cnn 结果图示。




结论


本文专门针对物体检测任务设计了一个全新的 backbone——detnet。一般来讲,backbone 多是针对图像分类任务而设计,当迁移至物体检测任务时,两者之间往往存在一定差异。为此,本文提出 detnet,它不仅针对分类任务做了优化,对定位也很友好,并在 coco 上的物体检测和实例分割任务中展现了出色的结果。


参考文献


  1. lin, t.y., doll´ar, p., girshick, r., he, k., hariharan, b., belongie, s.: feature pyramid networks for object detection

  2. he, k., zhang, x., ren, s., sun, j.: deep residual learning for image recognition.

  3. girshick, r., radosavovic, i., gkioxari, g., doll´ar, p., he, k.:. https: //github.com/facebookresearch/detectron (2018)

  4. he, k., gkioxari, g., doll´ar, p., girshick, r.: mask r-.

  5. lin, t.y., maire, m., belongie, s., hays, j., perona, p., ramanan, d., doll´ar, p., zitnick, c.l.: microsoft coco: common objects in context.



网站地图