ThunderNet 论文笔记

ThunderNet: Towards Real-time Generic Object Detection

ThunderNet ICCV2019

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

一、 Problem Statement

作者设计一个在计算资源有限的情况下,能达到实时的检测器。
目前的detectors分为两类:

  • two-stage detectors
  • one-stage detectors

two-stage检测器如Light-Head R-CNN,有一个缺点就是weak backbone和strong detection part不匹配。这样的不匹配会引入冗余,也会使得网络容易过拟合。而one-stage检测器没有进行RoI-wise的特征提取,精度会差一点,特别是在轻量化检测模型上。因此作者有下面一个问题:

can two-stage detectors surpass one-stage detectors in real-time detection?

二、 Direction

设计一个two-stage的检测器,带有以下特征:

  • lightweight backbone
  • extremely efficient RPN and detection head

三、 Method

先来看一下整体的网络结构:

  • Backbone
  • Detection head
    • CEM module
      融合多个层级的feature maps,利用好局部和全局的背景信息。
    • SAM module
      使用RPN提取的信息来优化RoI warping的特征

1. Backbone

ThunderNet的输入图像分辨率为320x320来节省计算资源。作者发现: 输入分辨率的大小需要与backbone的容量匹配。小的backbone如果有大的输入或者说,大的backbone有小的输入,都不是最优的。 还有一个观点就是(非本文):小的模型不应该使用strong data augmentation,否则容易过拟合;而大的模型使用strong data augmentation,会有较好的效果。但是在本文,由于输入分辨率是小的,因此使用了heavy data augmentation。

作者分析了下面两个方向:

  • 感知域
    大的感知域可以获得更多的环境信息和编码更大范围的像素间的关系。这对于定位来说是重要的,特别是对于大目标。
  • 早期和晚期的特征
    早期的特征图是比较大的,但是特征是低级的;晚期的特征图是比较小的,特征是高级的,判别度更高的。普遍来说,定位对于低层级的特征图敏感度较好,而分类对于高层级的特征度较好。实际上,对于较大的backbones来说,定位比分类更加困难。 这也就是说明了。早期的特征是很重要的。而对于tiny backbones来说,较差的特征表征能力限制了其定位和分类的精度。ShuffleNet V1/V2感知域较小,MobileNetV2缺少早期特征。

基于上面的分析,作者基于ShuffleNet V2提出了SNet

  • 首先,把所有3x3的深度可分离卷积变为5x5的深度可分离卷积。
    作者认为,5x5深度可分离卷积和3x3的速度是一样的,但是有着更大的感知域(从121到193像素)。
  • 其次,移除Conv5,对早期的层级使用更多的通道数。
    这个设计在没有增加额外的计算量前提下,生成更多的low-level特征。而在SNet49上,只是將Conv5压缩到512个通道数,而不是将其移除;但同时增加早期的通道数,使得早期和晚期的特征有更好的平衡。

2. Detection head

在检测头上,作者做了以下改动:

  • Compressing RPN和Detection head
    • 通常Two-stage检测器都具有大的RPN和heavy detection head。尽管Light Head R-CNN使用了轻量型检测头,但是相对于lightweight backbone来说太大了。这样的不平衡会导致过拟合的问题。因此作者把RPN网络中3x3-256卷积用5x5的深度可分离卷积和一个1x1卷积代替。 增大卷积核的大小来扩大感知域,编码更多的环境信息。anchor boxes使用5个scales和5个aspect ratios。对于RoI warping,使用的是PSRoI align
  • Context Enhancement Module(CEM)
    • Light-Head R-CNN使用的是Global Convolutional Network生成小的feature map,它能增大感知域但是需要较多的计算成本。因此作者不使用GCN,而是利用FPN编码更多的环境信息。

      由于之前的FPN涉及了多个层级的卷积和多个分支的检测,会增大计算量,所以设计了上图的CEM模块,增大感知域的同时,使得计算量增加不大。

  • Spatial Attention Module(SAM)
    • 在RoI warping的时候,我们所期待的是background regions的特征小,而相对于foreground是大的。但是ThunderNet使用的是lightweight backbone,和小的输入图像,很难取学习正确的特征分布。所以设计了SAM模块,放在了RoI warping之前。

      如上图所示,SAM模块的输入是CEM和RPN中间层的输出。公式如下:

      F S A M = F C E M ⋅ s i g m o i d ( θ ( F R P N ) ) F^{SAM}= F^{CEM} \cdot sigmoid(\theta(F^{RPN})) FSAM=FCEMsigmoid(θ(FRPN))
      SAM有两个功能: 一个是通过加强前景特征和抑制背景特征来优化特征分布;第二个是稳定RPN的训练,因为SAM带来了额外的梯度信息到RPN。

3. Experiments

320x320的输入, 2000/200 RoIs for training/testing。SGD optimizer 和 multi-scale training { 240 , 320 , 480 } \{240, 320, 480\} {240,320,480}。heavy data augmentation和online hard example mining,soft-NMS.

四、 Conclusion

提出了ThunderNet,使得two-stage能够实时检测。很多模块设计的思想可以参考。

Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>