MMDetection: Open MMLab Detection Toolbox and Benchmark

Abstract:

        本文提出了一个包含丰富的目标检测与实力分割算法以及相关组件与模块的目标检测工具箱,称为MMDetection。这个工具箱最开始是作为COCO Challenge2018检测跟踪冠军队伍的codebase。最终这个工具箱演化成了一个包括许多流行的目标检测方法与相关模块的统一平台。它不仅包括训练与推理代码,还提供了超过200种网络模型权重。我们认为这个工具箱是目前最完善的检测工具箱。本文中,我们会介绍这个工具箱的多样化特征。此外,我们还对不同方法、组件以及超参数进行了benchmark的研究。我们希望这个工具箱与benchmark可以快速发展的研究社区提供灵活的工具箱进行现有方法的复现与新检测器的开发。代码与模型可以在https: //github.com/open-mmlab/mmdetection找到。这个项目还在活跃的开发进程中,我们会保持这个文档的更新。

1、Introduction

        目标检测与实例分割都是计算机视觉任务的基础。目标检测框架往往比分类任务要复杂的多,不同的实现设置可能导致结果很大的不同。为了实现提供高质量codebase与统一benchmark的目标,我们构建了MMDetection,一个基于PyTorch【24】的目标检测与实例分割CodeBase。

        MMDetection的主要特征包括:(1)模块化设计。我们将目标检测框架分解成不同组件,使得可以很容易的通过不同模块的组合来构建一个用户化目标检测框架。(2)支持多个开箱即用的框架。工具箱支持流行的与最新的目标检测框架,见第二节中的详细列表。(3)高效。所有的基础bbox与mask操作都是跑到GPU上的。训练数据比其他codebase,例如Detectron【10】、maskrcnn-benchmark【21】与SimpleDet【6】等更快或者相当。(4)State of the art。这个工具箱源于由赢得COCO Detection Challenge 2018比赛的MMDet队的codebase,我们持续向前推进。

        除了引入codebase与benchmark的结果,我们还报告了我们训练目标检测器过程中的经验与最好方式。我们还进行并讨论了超参数、结构、训练策略的消融实验。我们希望这些研究可以对后续的研究有用并且促进不同方法见的对比。

        余下章节组织如下。我们首先介绍了MMDetection支持的一系列方法与其重要的高光特征,并展示了benchmark结果。最后,我们展示基于一些选出来baseline的消融研究。

2、Supported Frameworks

         MMDetection包含了流行目标检测与实力分割方法的高质量复现。表1展示了MMDetection与其它框架相比的框架支持与特点。MMDetection比其它codebase支持更多的方法与特征,特别是新方法。下面给出了一个列表。

2.1 Single-stage Methods

  1. SSD【19】:一个典型且广泛应用简单模型结构的单阶段目标检测器,于2015年提出。
  2. RetinaNet【18】:2017年提出的一种使用Focal Loss的高性能单阶段目标检测器。
  3. GHM【16】:2019年提出的一种基于梯度协调机制优化单阶段目标检测器的方法。
  4. FCOS【32】:2019年提出的一种无锚点全卷积的单步检测器。
  5. FSAF【39】:2019年提出的一种基于无锚点特征选择模块的单步检测器。

2.2 Two-stage Methods

  1. Fast R-CNN【9】:2015年提出的一种需要预先计算proposal的一种经典目标检测器。
  2. Faster R-CNN【27】:2015年提出的一种经典切广泛使用的可以端到端训练的检测器。
  3. R-FCN【7】:2016年提出的一种比Faster R-CNN速度更快的全卷机检测器。
  4. Mask R-CNN【13】:2017年提出的一种广泛使用经典目标检测与实力分割方法。
  5. Grid R-CNN【20】:2018年提出的一种网格引导定位机制作为bbox回归的选择之一。
  6. Mask Scoring R-CNN【15】:2019年提出的一种通过预测mask IoU的基于mask R-CNN的改进。
  7. Double-Head R-CNN【35】:2019年提出的一种分类与定位利用不用head实现的方法。

2.3 Multi-stage Methods

  1. Cascade R-CNN【2】:2017年提出的一种强大的多阶段目标检测方法。
  2. Hybrid Task Cascade【4】:2019年提出的一种多阶段多分支检测与实力分割方法。

2.4 General Modules and Methods

  1. Mixed Precision Training【22】:2018年提出的一种利用半精度FP16训练的方法。
  2. Soft NMS【1】:2017年提出的一种新的NMS方法。
  3. OHEM【29】:2016年提出的一种在线挖掘困难样本的训练方法。
  4. DCN【8】:2017年提出的可行变卷积与可行变RoI Pooling方法。
  5. DCNv2【42】:2018年提出的模块化可形变操作。
  6. Train from Scratch【12】:2018年提出的一种用随机初始化代替ImageNet预训练模型的训练方法。
  7. ScratchDet【40】:2018年提出的从头训练另外一种尝试。
  8. M2Det【38】:2018年提出的用于构建更加有效的特征金字塔的新特征金字塔网络。
  9. GCNet【3】:2019年提出的可以高效建模全局上下问的全局上下文模块。
  10. Generalized Attention【41】:2019年提出的通用注意力机制。
  11. SyncBN【25】:跨GPU的同步BN方法,我们将官方实现适配到了PyTorch上了。
  12. Group Normalization【36
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值