时光荏苒,距离 MMDetection 上一个大版别 V2.0 的发布现已过去了两年。在这两年里,MMDetection 研发团队一直在追寻方针检测的进展,继续支撑前沿 SOTA 算法并拓宽代码库的功用,一同依据社区的需求和算法的进展,不断改进咱们的规划,提高代码的拓宽性和易用性。在咱们的共同尽力下,MMDetection 功用越来越完善,算法模型的支撑越来越全面,也收获了许多的忠诚用户和热心的社区开发者。

最近一年,跨模态和使命的感知算法逐渐成为计算机视觉范畴新的研究趋势。其间,方针检测作为根底视觉使命之一,其打破往往能起到牵一发而动全身的效果(例如 Faster R-CNN,DETR和Pix2Seq 重塑了非常多使命的解决范式),这也对方针检测结构的扩展性和通用性提出了更高的要求。

因而,为了让 MMDetection 能够作为基准继续支撑前沿算法,便利优秀 idea 的完成,通过半年的酝酿与规划,再通过半年的开发打磨,2022 年 9 月 1 日,MMDetection 3.0 终于和咱们碰头了。

谨以此文,向咱们简略介绍一下。

太长不看版: 根据全新的练习引擎 MMEngine,MMDetection 3.0 和其它 OpenMMLab 2.0 的算法库彻底拉通了底层规划,并采用了一致的细粒度笼统与接口,使得练习流程愈加灵敏,架构更具扩展性。在此根底上,MMDetection 3.0 对模型的各个组件接口也进行了重构和简化,以支撑愈加丰厚的检测算法和下游运用。MMDetection 3.0 的运转速度和基准精度也得到了进一步优化,达到了现有结构的最优水平。别的,咱们还研发了高精度模型 RTMDet,并和热心的社区开发者一同协作,开发了 MMYOLO 算法库。

家庭位置

在 OpenMMLab 2.0 算法库的咱们庭中,检测相关算法库的架构层次如下图所示。MMDetection 3.0 作为通用方针检测的根底渠道,是 3D 检测、旋转框检测、OCR 等算法库的中心依赖,当然也支撑了MMYOLO 中 YOLO 系列算法库的功用。

一同,MMFewshot、MMAction2、MMTracking 、MMPose 中的检测组件也是根据 MMDetection 来建立的。MMDetection 3.0 的家庭位置显而易见,以后再也不敢(真的吗?)引进 BC-breaking 了QAQ。。。

MMDet 3.0:目标检测新基准与前沿

MMDetection 的家庭位置

新基准的自我修养

为了向检测社区供给完善强壮的基准,MMDetection 3.0 首要在模型库、基准模型的速度与性能、用户与生态三个方向进行了尽力。

全面的模型库

全面的模型库一方面能够向社区用户供给更多开箱即用的预练习模型,还能以一致的方式对各类算法进行速度和精度的比较和评价。算法完成细节的差异和 trick 也能够在算法配置和同类型笼统的横向比照中一目了然,快速为检测算法供给公平一致的基准。

现在 MMDetection 的官方模型库现已支撑了 75 个主流和前沿模型,为用户供给了逾越 350 个预练习模型。MMDetection 3.0 完整支撑了各类检测器架构、支撑运用各类盛行的骨干网络、高效支撑了 Simple Copy Paste 和 Auto Augmentation 等数据增强技能。使得 MMDetection 3.0 既能够用作学术研究的规范 benchmark,也供给了各种刷(pai)分(lie)利(zu)器(he)。

MMDet 3.0:目标检测新基准与前沿

MMDetection 支撑的各类方法示意图

MMDet 3.0:目标检测新基准与前沿

MMDetection 支撑的各类模型

高性能基准模型

高效的练习推理有助于加速试验和模型生产的流程,高精度的基准模型能够为社区供给更多好用的模型。MMEngine 对数据加载和模型练习的性能与内存瓶颈进行了优化,在此根底上,MMDetection 3.0 进一步对检测模型的练习推理进行了剖析优化,在 RetinaNet、FCOS、Faster R-CNN、Mask R-CNN 4 个常见根底模型的练习和测验速度上均有显著提高,逾越了 Detectron2(Cascade Mask R-CNN 的完成也在优化中)。

MMDet 3.0:目标检测新基准与前沿

MMDetection 3.0 和 Detectron2 练习测验速度比照图

有了更快的练习速度,模型就能够运用更强的数据增强和更长的练习 schedule 了, MMDetection 3.0 为许多模型供给了一套更强的练习配置(Large-Scale Jittering 200e),并发布了一系列高精度模型,便利用户直接运用或作为性能比照。

MMDet 3.0:目标检测新基准与前沿

MMDetection 3.0 经典模型的精度提高

活跃的用户与生态

用户的体验一直是 MMDetection 重视提高的要点。因而,MMDetection 在重视代码质量和易用性的一同,供给了愈加全面的文档和教程,并对文档结构进行了调整,拆分出了根底和进阶教程,期望能帮助用户快速上手 MMDetection 3.0。现在 MMDetection 3.0 还处在初期阶段,中英文文档和教程还有许多能够补充的当地,咱们也约请社区的同学们参加进来,共同完善 MMDetection 3.0 的文档和教程 。

用户文档链接:

mmdetection.readthedocs.io/en/3.x/over…

在文档与教程之外,MMDetection 3.0 支撑了运用 MMClassification 和 TIMM 的模型作为 backbone,便利用户能够第一时间运用到最新的骨干网络;现在咱们正在支撑通过 wrapper 来练习和测验 Detectron2 中的模型,以帮助社区削减跨算法库比较方法或者迁移代码的成本。

由于 License 的不同,MMDetection 的代码库不能直接支撑 YOLO 算法。为了响应社区呼声,在热心的社区开发者的 carry 下,咱们将 YOLO 系列算法完成进一个单独的算法库——MMYOLO 中。它能够为一系列 YOLO 算法供给公平快捷的基准,一同也能助力 YOLO 系列算法直接享受 OpenMMLab 其它算法库的加持,例如运用 MMRazor 中的轻量化算法和 MMDeploy 中完善的模型布置东西链。

让前沿成为习气

技能的抢先性一直是 MMDetection 甚至 OpenMMLab 各个算法库寻求的方针。一同,OpenMMLab 还期望能够为研究员们供给发挥拳脚的渠道。最近一年,跨模态和使命的感知算法逐渐火热,Detection Transformer 和半监督检测的算法也在不断演进,MMDetection 3.0 也重视趋势,在上述方面进行了尽力。

一致接口,灵敏拓宽

得益于 OpenMMLab 2.0 对练习流程的细粒度笼统和对各类笼统的一致接口规划,MMDetection 3.0 的拓宽性大大提高,并进一步一致了各种检测算法的接口。

MMDetection 2.0 中不同使命算法的输入格式并不一致,导致数据流逻辑杂乱,在用户期望增加一个输入接口的时分,几乎需要对一切模块的接口进行拓宽,稍有不慎就简单呈现数据漏传的问题。

MMDetection 3.0 一致了数据流,将一切的信息都放入 DataSample 中,将DataSample 作为数据、模型、评测和可视化之间的接口,一同用InstanceData 来对标示和预测结果中的框、分数、类别等信息进行一致封装。

MMDet 3.0:目标检测新基准与前沿
MMDet 3.0:目标检测新基准与前沿

MMDetection 2.0(左边) 和 3.0(右侧) 模块和数据流示意图比照

得益于一致的接口,MMDetection 3.0 支撑了恣意单阶段检测器作为 Region Proposal Network (RPN) ,用户只需要修改配置文件就能够进行尝试。运用 RetinaNet 作为单阶段检测器的配置如下所示:

MMDet 3.0:目标检测新基准与前沿

简略的 Detection Transformer

MMDetection 3.0 对 Detection Transformer 进行了重新规划,以削减过度封装和模块内的注册器运用。其间 Transformer Encoder、Transformer Decoder、和 Detection Head 属于同级笼统,显著削减了代码的跳转次数和封装层次,提高了代码的可读性和扩展性。

MMDet 3.0:目标检测新基准与前沿

MMDetection 3.0 中 Detection Transformer 逻辑图

通用的半监督练习

随着传统检测算法日趋老练,无标签数据的利用对于模型性能的提高愈发要害。MMDetection 3.0 独家支撑了通用半监督方针检测。用户只需要修改 Config 中的 model 或 dataset 就能够完成不同模型或数据集上的半监督练习,而且还支撑加载预练习模型进行半监督微谐和多源数据集的半监督练习。

一同,MMDetection 3.0 还支撑了 SoftTeacher,用户能够根据 MMDetection 3.0 进行更多半监督检测方向的尝试。

MMDet 3.0:目标检测新基准与前沿

半监督练习流程示意图

高精度实时检测器

MMYOLO 对过往的 YOLO 系列算法进行了整理和一致完成,供给了公平快捷的 benchmark ,而社区对高性能、低延时的方针检测器依旧呼声很高。结合过去两年计算机视觉范畴的最新进展,MMDetection 团队也自研了一个全新的高精度、低延时的单阶段方针检测器 RTMDet。现在 RTMDet 的代码现已放出,敬请期待愈加详细的解读。

MMDet 3.0:目标检测新基准与前沿

总结

在 MMDetection 2.0 发布时咱们提到:“方针检测的代码结构不只需要工程上安稳高效的完成,还需要保持灵敏性来支撑新方法。而 MMDetection 正是在朝着这个方向不断尽力。

MMDetection 3.0 初心不改,一方面为社区继续供给强壮、全面、高效、安稳的基准,另一方面在不断追寻和探究前沿,进行自我迭代和晋级。

以 MMDetection 为代表的,OpenMMLab 2.0 所承载的全新的、敞开的一致架构,蕴含了咱们对未来算法演进的期待,也期望新的架构能够助力新算法的诞生。

后续规划

MMDetection 3.0 将继续更新,在支撑更多前沿算法的一同不断提高易用性。现在,咱们计划在 2023年 1 月 1 日正式发布 MMDetection 3.0.0 版别到 master 主分支,对新版别感兴趣的同学能够运用 3.x 或者 dev-3.x 分支来体验咱们的全新版别。咱们将在本年未来保持双分支的一同保护,首要保护时间线如下所示:

MMDet 3.0:目标检测新基准与前沿

最后,欢迎社区用户来试用 MMDet 3.0,通过提 PR、 issue 和 discussion 参加到 MMDet 3.0 的建设中,让咱们一同把 MMDetection 变得更好。

视频讲解

OpenMMLab 2.0 讲解视频链接