《MMDetection: Open MMLab Detecti
论文发表时间:2019.6.17。MMDet 队获得了 2018 年 COCO 的 detection track 比赛,基于此他们逐渐完善并开源了 MMDetection。MMDetection 是一个基于 PyTorch 的 object detection toolbox,它涵盖了当前众多流行的目标检测以及 instance segmentation 方法。
MMDetection 中所有基本的 bbox and mask operations 都是在 GPU 上运行的。
MMDetection 中包含的目标检测方法:
One-stage 方法:
名称 | 特色 | 时间 |
---|---|---|
SSD | classic & widely used | 2015 |
RetinaNet | high-performance & Focal Loss | 2017 |
GHM | gradient harmonizing mechanism | 2019 |
FCOS | fully convolutional anchor-free | 2019 |
FSAF | feature selective anchor-free | 2019 |
Two-stage 方法:
名称 | 特色 | 时间 |
---|---|---|
Fast R-CNN | classic; but requires pre-computed proposals | 2015 |
Faster R-CNN | classic; widely used; end-to-end | 2015 |
R-FCN | fully convolutional; faster than Faster R-CNN | 2016 |
Mask R-CNN | classic and widely used; both for OJ and IS | 2017 |
Grid R-CNN | grid guided localization mechanism | 2018 |
Mask Scoring R-CNN | predicting the mask IoU | 2019 |
Double-Head R-CNN | different heads for classification and localization | 2019 |
OJ: object detection; IS: instance segmentation
Multi-stage 方法:
名称 | 特色 | 时间 |
---|---|---|
Cascade R-CNN | powerful | 2017 |
Hybrid Task Cascade | multi-branch; both for OJ and IS | 2019 |
OJ: object detection; IS: instance segmentation
Batch Normalization (BN) 非常依靠大的 batch size 来精确的估计出 以及 。但是在目标检测中,batch size 通常会比在分类任务中小得多(比如 batch size = 1 or 2),这会严重影响检测器 的性能。一种典型的解决方法是使用 FrozenBN,即使用预训练的 backbone 的数据并且在训练期间不更新它们的参数值。
最近还出现了一些其他的解决方法,如 SyncBN (Synchronized BN) 以及 GN (Group Normalization)。其中,SyncBN 在多 GPU 之间计算 mean 以及 variance,GN 将 feature 的通道数分成不同的组,然后在每一组内分别计算 mean 和 variance (均值和方差),以解决 small batch size 带来的问题。
在 MMDetection 中,图片的尺寸都预先被 resize 成 。
什么是 multi-scale training ?(图片的尺寸在这篇论文中也被称为图片的 scale)
When multi-scale training is adopted, a scale is randomly selected in each iteration, and the image will be resized to the selected scale.
大多数的检测方法都是将 Smooth L1 Loss 当做回归损失。