Note-DuBox: No-Prior Box Objection Detection via Residual Dual Scale Detectors

Summary

一篇Anchor-free方法,没有预设Box尺寸。

  1. 直接回归Box的四个点,和IoU

  2. FPN的金字塔结构归为两个尺寸

  3. CPRS Loss, 回归和分类的分离导致经常回归正确的框却分类错误,在loss中增加IoU门函数。但是似乎都是这么做的。

  4. 各种tirck。见表1.

正片文章虽然结果优秀但是论述没有重点,每个trick都用相同的篇幅叙述,让人抓不到重点。

Research Objective

Traditional neural objection detection methods use multi-scale features that allow multiple detectors to perform detecting tasks independently and in parallel. At the same time, with the handling of the prior box, the algorithm’s ability to deal with scale invariance is enhanced. However, too many prior boxes and independent detectors will increase the computational redundancy of the detection algorithm.

本文是一个anchor-free方法,但是作者是从多尺度的角度来叙述。说预设anchor和多尺度检测会增加计算开销。因此预设anchor尺寸,减少检测器提升精度和效率是目的。

Problem Statement

多尺度检测器中每层都预设很多anchor box,每层都有一个检测器,造成计算冗余。例如RetinaNet中有超过100K个anchor。作者提出两个疑问:

  1. 使用更少的尺度,实现较好的性能
  2. 不使用anchor也回归精确的box

Method(s)

No-prior Box Detection

只使用hook作为预设的位置,而不预设scale和ratio。在anchor-based方法中先生成anchor然后与gt匹配后选择正负样本。没有了anchor如何选择正样本呢?本文给出的方法是设定一个position range $\Theta$。当hook $(i,j)$ 在此范围中,则此hook应回归此目标box。每个位置回归一个box$(Pr_{\Delta w_1},Pr_{\Delta w_2},Pr_{\Delta h_1},Pr_{\Delta h_2})$ 和一个置信度得分$Pr_{cls}$。
$$
r = \sqrt{(x_2-x_1)^2+(y_2-y_1)^2}/p
$$

Residual Dual Scale Detectors

残差双尺度检测器,如图3所示。

首先原来FPN中是5层特征金字塔,作者认为太多,可以减少,因此采用p3+p4组成detector1, p5+p6组成detector2的形式,这样只有两个尺度进行预测。

Refine module

该模块是一个简单的通道和空间注意力模块[^27],特征图得到一个注意力的加权图后与原特征图相乘。图显示其具体结构,卷积,再反卷积,得到与原特征图相同尺寸的权重图后相乘。作者说该技术能够使得检测器考虑hook周围的特征提升精度。

BBox bridge module

该模块是将低级和高级检测器连接在一起,低级检测器的特征图通过两个卷积后缩小4倍后跟高级检测器特征相加。这使得高级检测器在之前的基础上训练(感觉有点像两阶段)。

Classification-Regression Progressive Strapped Loss

使用IoU loss
$$
L{bbox}=-\sum{i,j\in \Theta}ln(IoU(Pr^{i,j}{bbox},Gt^{i,j}{bbox}))
$$

分类损失在原来的基础上增加一个IoU门函数$\sigma$
$$
L_{cls}=-\sum_{i,j\in \Theta}CE(Pr^{i,j}{cls},T^{i,j}{cls})\sigma(Pr^{i,j}{bbox},Gt^{i,j}{bbox})-\sum_{i,j\notin \Theta}CE(Pr^{i,j}{cls},T^{i,j}{cls})
$$
当门函数大于0.5时取1,否则为0 (这里其实跟anchor-based方法中match方法一样)

Reducing Redundancy Strategy

一些Trick:

  1. detector1中p取10,detector2中p取9,且r最小为3
  2. 当目标的面积/图片面积大于0.3时,此时不统计此box的回归损失

Data Augment and Sample Balance

数据增强

  • 随机裁剪
  • 随机photo-metric distortion
  • 翻转

批次平衡

为每个类别建立一个图片列表,每次batch选择一个类别为主要类别,然后选择相关的图片进行训练,这样保证每个类别的有相同的概率被选中。

正负样本平衡

1:3的比例

Evaluation

实验结果如表1所示,每个模块和trick对结果的影响

在VOC数据集上的比较

在COCO数据集上的比较

Conclusion

Anchor-based目前不是唯一的选择,Dubox不预设box也能work。

双尺度比多尺度启发式选择更有效,且高、低级别级联检测。

一些Trick能有效减少冗余结果,提升性能。

[^27]: S.Woo, J. Park, J.-Y. Lee, and I. So Kweon. Cbam: Convolutional block attention module. In The European Conference on Computer Vision (ECCV), September 2018.