Detectron2用于物体检测、分割的视觉识别的平台

Detectron2 是 Facebook AI Research 的下一代库,提供最先进的检测和分割算法。它是 Detectron 和 maskrcnn-benchmark 的后继者。它支持 Facebook 的众多计算机视觉研究项目和生产应用程序。

了解更多关于 Detectron2 的信息

  • 包含全景分割、Densepose、Cascade R-CNN、旋转边界框、PointRend、
    DeepLab、ViTDet、MViTv2 等新功能。
  • 用作库,支持在其上构建研究项目
  • 模型可以导出为 TorchScript 格式或 Caffe2 格式进行部署。
  • 训练速度更快

安装

请参阅安装说明

入门

请参阅Detectron2 入门
以及Colab Notebook
了解基本用法。

请参阅我们的文档
并参阅projects/,了解一些基于 detectron2 构建的项目。

Detectron2 模型库和基线

简介

本文件记录了 2019 年 9 月至 10 月期间使用 detectron2 训练的大量基线模型。
所有数据均在配备 8 块 NVIDIA V100 GPU 和 NVLink 的 Big Basin
服务器上获取。速度数据会定期使用最新的 PyTorch/CUDA/cuDNN 版本进行更新。
您可以使用 detectron2.model_zoo API 从代码中访问这些模型。

除了这些官方基线模型外,您还可以在 projects/ 中找到更多模型。

如何解读表格

  • “名称”列包含配置文件的链接。可以使用 tools/train_net.py 及其对应的 yaml 配置文件,
    tools/lazyconfig_train_net.py(适用于 Python 配置文件)来复现模型。

  • 训练速度是整个训练过程的平均值。
    我们会根据 detectron2/pytorch 等软件的最新版本持续更新速度,
    因此它们可能与 metrics 文件有所不同。
    不提供多机作业的训练速度。

  • 推理速度通过 tools/train_net.py --eval-onlyinference_on_dataset() 测量,
    并在 detectron2 中直接使用批量大小 1 进行测量。
    使用自定义代码测量可能会带来其他开销。
    由于进行了更多优化,实际生产部署通常应该比给定的推理速度更快。

  • 模型 ID 列是为了方便参考而提供的。
    为了检查下载文件的完整性,本页面上的任何模型在其文件名中都包含其 md5 前缀。
    *您可以在每个模型的“指标”中找到训练曲线和其他统计数据。

COCO 模型的常用设置

  • 所有 COCO 模型均在 train2017 上训练,并在 val2017 上进行评估。
  • 默认设置与 Detectron 的标准设置__不可直接比较__。
    例如,我们的默认训练数据增强除了水平翻转外,还使用了尺度抖动。

为了与 Detectron 的设置进行公平比较,请参阅
Detectron1-Comparisons 进行准确率比较,
以及 benchmarks
进行速度比较。

  • 对于 Faster/Mask R-CNN,我们基于__3 种不同的骨干网络组合__ 提供基准:
  • FPN:使用 ResNet+FPN 骨干网络,搭配标准卷积头和全连接头,分别进行掩膜预测和边界框预测。
    它获得了最佳的
    速度/准确率权衡,但其他两种方法仍然可用于研究。
  • C4:使用 ResNet conv4 主干网络和 conv5 头网络。Faster R-CNN 论文中的原始基线。
  • DC5 (Dilated-C5):使用 ResNet conv5 主干网络,并在 conv5 中使用扩张,并使用标准 conv 和 FC 头网络
    分别进行掩膜和边界框预测。
    Deformable ConvNet 论文也使用了这种方法。
  • 大多数模型都采用 3 倍训练计划(约 37 个 COCO epoch)。
    尽管 1 倍训练计划的模型严重训练不足,但我们提供了一些采用 1 倍训练计划(约 12 个 COCO epoch)的 ResNet-50 模型,
    以便在进行快速研究迭代时进行比较。

ImageNet 预训练模型

通常使用在 ImageNet 分类任务上预训练的主干模型进行初始化。以下是可用的主干模型:

请注意,上述模型的格式与 Detectron 提供的格式不同:我们没有将 BatchNorm 融合到仿射层中。
Detectron 格式的预训练模型仍然可以使用。例如:

  • X-152-32x8d-IN5k.pkl
    ResNeXt-152-32x8d 模型,在 Facebook 上使用 Caffe2 在 ImageNet-5k 上训练(有关 ImageNet-5k 的详细信息,请参阅 ResNeXt 论文)。
  • R-50-GN.pkl
    带有群组归一化的 ResNet-50。
  • R-101-GN.pkl
    带有群组归一化的 ResNet-101。

这些模型在归一化和架构方面需要略有不同的设置。请参阅模型库配置以获取参考。

许可证

本文档中可供下载的所有模型均遵循
知识共享署名-相同方式共享 3.0 许可证 的许可。

COCO 目标检测基线

Faster R-CNN:

Name lr
sched
train
time
(s/iter)
inference
time
(s/im)
train
mem
(GB)
box
AP
model id download
R50-C4 1x 0.551 0.102 4.8 35.7 137257644 model | metrics
R50-DC5 1x 0.380 0.068 5.0 37.3 137847829 model | metrics
R50-FPN 1x 0.210 0.038 3.0 37.9 137257794 model | metrics
R50-C4 3x 0.543 0.104 4.8 38.4 137849393 model | metrics
R50-DC5 3x 0.378 0.070 5.0 39.0 137849425 model | metrics
R50-FPN 3x 0.209 0.038 3.0 40.2 137849458 model | metrics
R101-C4 3x 0.619 0.139 5.9 41.1 138204752 model | metrics
R101-DC5 3x 0.452 0.086 6.1 40.6 138204841 model | metrics
R101-FPN 3x 0.286 0.051 4.1 42.0 137851257 model | metrics
X101-FPN 3x 0.638 0.098 6.7 43.0 139173657 model | metrics

RetinaNet:

Name lr
sched
train
time
(s/iter)
inference
time
(s/im)
train
mem
(GB)
box
AP
model id download
R50 1x 0.205 0.041 4.1 37.4 190397773 model | metrics
R50 3x 0.205 0.041 4.1 38.7 190397829 model | metrics
R101 3x 0.291 0.054 5.2 40.4 190397697 model | metrics

RPN & Fast R-CNN:

Name lr
sched
train
time
(s/iter)
inference
time
(s/im)
train
mem
(GB)
box
AP
prop.
AR
model id download
RPN R50-C4 1x 0.130 0.034 1.5 51.6 137258005 model | metrics
RPN R50-FPN 1x 0.186 0.032 2.7 58.0 137258492 model | metrics
Fast R-CNN R50-FPN 1x 0.140 0.029 2.6 37.8 137635226 model | metrics

使用 Mask R-CNN 的 COCO 实例分割基线

Name lr
sched
train
time
(s/iter)
inference
time
(s/im)
train
mem
(GB)
box
AP
mask
AP
model id download
R50-C4 1x 0.584 0.110 5.2 36.8 32.2 137259246 model | metrics
R50-DC5 1x 0.471 0.076 6.5 38.3 34.2 137260150 model | metrics
R50-FPN 1x 0.261 0.043 3.4 38.6 35.2 137260431 model | metrics
R50-C4 3x 0.575 0.111 5.2 39.8 34.4 137849525 model | metrics
R50-DC5 3x 0.470 0.076 6.5 40.0 35.9 137849551 model | metrics
R50-FPN 3x 0.261 0.043 3.4 41.0 37.2 137849600 model | metrics
R101-C4 3x 0.652 0.145 6.3 42.6 36.7 138363239 model | metrics
R101-DC5 3x 0.545 0.092 7.6 41.9 37.3 138363294 model | metrics
R101-FPN 3x 0.340 0.056 4.6 42.9 38.6 138205316 model | metrics
X101-FPN 3x 0.690 0.103 7.2 44.3 39.5 139653917 model | metrics

使用大规模抖动和更长训练时间的新基线

以下基于 Mask R-CNN 的 COCO 实例分割基线,
是使用更长的训练时间以及大规模抖动生成的,具体方法请参阅 Google 的
简单复制粘贴数据增强 论文。
这些模型使用随机初始化从头开始训练。这些基线的性能超越了
之前的 Mask R-CNN 基线。

下表中,一个 epoch 包含 118,000 张 COCO 图像的训练。

Name epochs train
time
(s/im)
inference
time
(s/im)
box
AP
mask
AP
model id download
R50-FPN 100 0.376 0.069 44.6 40.3 42047764 model | metrics
R50-FPN 200 0.376 0.069 46.3 41.7 42047638 model | metrics
R50-FPN 400 0.376 0.069 47.4 42.5 42019571 model | metrics
R101-FPN 100 0.518 0.073 46.4 41.6 42025812 model | metrics
R101-FPN 200 0.518 0.073 48.0 43.1 42131867 model | metrics
R101-FPN 400 0.518 0.073 48.9 43.7 42073830 model | metrics
regnetx_4gf_dds_FPN 100 0.474 0.071 46.0 41.3 42047771 model | metrics
regnetx_4gf_dds_FPN 200 0.474 0.071 48.1 43.1 42132721 model | metrics
regnetx_4gf_dds_FPN 400 0.474 0.071 48.6 43.5 42025447 model | metrics
regnety_4gf_dds_FPN 100 0.487 0.073 46.1 41.6 42047784 model | metrics
regnety_4gf_dds_FPN 200 0.487 0.072 47.8 43.0 42047642 model | metrics
regnety_4gf_dds_FPN 400 0.487 0.072 48.2 43.3 42045954 model | metrics

许可证

Detectron2 基于 Apache 2.0 许可证 发布。

引用 Detectron2

如果您在研究中使用 Detectron2,或希望引用 Model Zoo 中发布的基线结果,请使用以下 BibTeX 条目。

BibTeX 复制代码
@misc{wu2019detectron2,
  author =       {Yuxin Wu and Alexander Kirillov and Francisco Massa and
                  Wan-Yen Lo and Ross Girshick},
  title =        {Detectron2},
  howpublished = {\url{https://github.com/facebookresearch/detectron2}},
  year =         {2019}
}

关于项目

Detectron2 是 Facebook AI Research 的下一代库,提供最先进的检测和分割算法。它是 Detectron 和 maskrcnn-benchmark 的后继者。它支持 Facebook 的众多计算机视觉研究项目和生产应用程序。
Apache-2.0
Python
33,476
7829
390
2019-09-06
2025-08-28

增长趋势 - stars