|
<div align="center"> |
|
<img src="resources/mmdet-logo.png" width="600"/> |
|
</div> |
|
|
|
**新闻**: 我们在 [ArXiv](https://arxiv.org/abs/1906.07155) 上公开了技术报告。 |
|
|
|
文档: https://mmdetection.readthedocs.io/ |
|
|
|
## 简介 |
|
|
|
[English](README.md) | 简体中文 |
|
|
|
MMDetection 是一个基于 PyTorch 的目标检测开源工具箱。它是 [OpenMMLab](https://openmmlab.com/) 项目的一部分。 |
|
|
|
主分支代码目前支持 PyTorch 1.3 以上的版本。 |
|
|
|
v1.x 的历史版本支持 PyTorch 1.1 到 1.4,但是我们强烈建议用户使用新的 2.x 的版本,新的版本速度更快,性能更高,有更优雅的代码设计,对用户使用也更加友好。 |
|
|
|
![demo image](resources/coco_test_12510.jpg) |
|
|
|
### 主要特性 |
|
|
|
- **模块化设计** |
|
|
|
MMDetection 将检测框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的检测模型 |
|
|
|
- **丰富的即插即用的算法和模型** |
|
|
|
MMDetection 支持了众多主流的和最新的检测算法,例如 Faster R-CNN,Mask R-CNN,RetinaNet 等。 |
|
|
|
- **速度快** |
|
|
|
基本的框和 mask 操作都实现了 GPU 版本,训练速度比其他代码库更快或者相当,包括 [Detectron2](https://github.com/facebookresearch/detectron2), [maskrcnn-benchmark](https://github.com/facebookresearch/maskrcnn-benchmark) 和 [SimpleDet](https://github.com/TuSimple/simpledet)。 |
|
|
|
- **性能高** |
|
|
|
MMDetection 这个算法库源自于 COCO 2018 目标检测竞赛的冠军团队 *MMDet* 团队开发的代码,我们在之后持续进行了改进和提升。 |
|
|
|
除了 MMDetection 之外,我们还开源了计算机视觉基础库 [MMCV](https://github.com/open-mmlab/mmcv),MMCV 是 MMDetection 的主要依赖。 |
|
|
|
## 开源许可证 |
|
|
|
该项目采用 [Apache 2.0 开源许可证](LICENSE)。 |
|
|
|
## 更新日志 |
|
|
|
最新的月度版本 v2.11.0 在 2021.04.01 发布。 |
|
如果想了解更多版本更新细节和历史信息,请阅读[更新日志](docs/changelog.md)。 |
|
在[兼容性说明文档](docs/compatibility.md)中我们提供了 1.x 和 2.0 版本的详细比较。 |
|
|
|
## 基准测试和模型库 |
|
|
|
测试结果和模型可以在[模型库](docs/model_zoo.md)中找到。 |
|
|
|
已支持的骨干网络: |
|
|
|
- [x] ResNet (CVPR'2016) |
|
- [x] ResNeXt (CVPR'2017) |
|
- [x] VGG (ICLR'2015) |
|
- [x] HRNet (CVPR'2019) |
|
- [x] RegNet (CVPR'2020) |
|
- [x] Res2Net (TPAMI'2020) |
|
- [x] ResNeSt (ArXiv'2020) |
|
|
|
已支持的算法: |
|
|
|
- [x] [RPN (NeurIPS'2015)](configs/rpn) |
|
- [x] [Fast R-CNN (ICCV'2015)](configs/fast_rcnn) |
|
- [x] [Faster R-CNN (NeurIPS'2015)](configs/faster_rcnn) |
|
- [x] [Mask R-CNN (ICCV'2017)](configs/mask_rcnn) |
|
- [x] [Cascade R-CNN (CVPR'2018)](configs/cascade_rcnn) |
|
- [x] [Cascade Mask R-CNN (CVPR'2018)](configs/cascade_rcnn) |
|
- [x] [SSD (ECCV'2016)](configs/ssd) |
|
- [x] [RetinaNet (ICCV'2017)](configs/retinanet) |
|
- [x] [GHM (AAAI'2019)](configs/ghm) |
|
- [x] [Mask Scoring R-CNN (CVPR'2019)](configs/ms_rcnn) |
|
- [x] [Double-Head R-CNN (CVPR'2020)](configs/double_heads) |
|
- [x] [Hybrid Task Cascade (CVPR'2019)](configs/htc) |
|
- [x] [Libra R-CNN (CVPR'2019)](configs/libra_rcnn) |
|
- [x] [Guided Anchoring (CVPR'2019)](configs/guided_anchoring) |
|
- [x] [FCOS (ICCV'2019)](configs/fcos) |
|
- [x] [RepPoints (ICCV'2019)](configs/reppoints) |
|
- [x] [Foveabox (TIP'2020)](configs/foveabox) |
|
- [x] [FreeAnchor (NeurIPS'2019)](configs/free_anchor) |
|
- [x] [NAS-FPN (CVPR'2019)](configs/nas_fpn) |
|
- [x] [ATSS (CVPR'2020)](configs/atss) |
|
- [x] [FSAF (CVPR'2019)](configs/fsaf) |
|
- [x] [PAFPN (CVPR'2018)](configs/pafpn) |
|
- [x] [Dynamic R-CNN (ECCV'2020)](configs/dynamic_rcnn) |
|
- [x] [PointRend (CVPR'2020)](configs/point_rend) |
|
- [x] [CARAFE (ICCV'2019)](configs/carafe/README.md) |
|
- [x] [DCNv2 (CVPR'2019)](configs/dcn/README.md) |
|
- [x] [Group Normalization (ECCV'2018)](configs/gn/README.md) |
|
- [x] [Weight Standardization (ArXiv'2019)](configs/gn+ws/README.md) |
|
- [x] [OHEM (CVPR'2016)](configs/faster_rcnn/faster_rcnn_r50_fpn_ohem_1x_coco.py) |
|
- [x] [Soft-NMS (ICCV'2017)](configs/faster_rcnn/faster_rcnn_r50_fpn_soft_nms_1x_coco.py) |
|
- [x] [Generalized Attention (ICCV'2019)](configs/empirical_attention/README.md) |
|
- [x] [GCNet (ICCVW'2019)](configs/gcnet/README.md) |
|
- [x] [Mixed Precision (FP16) Training (ArXiv'2017)](configs/fp16/README.md) |
|
- [x] [InstaBoost (ICCV'2019)](configs/instaboost/README.md) |
|
- [x] [GRoIE (ICPR'2020)](configs/groie/README.md) |
|
- [x] [DetectoRS (ArXix'2020)](configs/detectors/README.md) |
|
- [x] [Generalized Focal Loss (NeurIPS'2020)](configs/gfl/README.md) |
|
- [x] [CornerNet (ECCV'2018)](configs/cornernet/README.md) |
|
- [x] [Side-Aware Boundary Localization (ECCV'2020)](configs/sabl/README.md) |
|
- [x] [YOLOv3 (ArXiv'2018)](configs/yolo/README.md) |
|
- [x] [PAA (ECCV'2020)](configs/paa/README.md) |
|
- [x] [YOLACT (ICCV'2019)](configs/yolact/README.md) |
|
- [x] [CentripetalNet (CVPR'2020)](configs/centripetalnet/README.md) |
|
- [x] [VFNet (ArXix'2020)](configs/vfnet/README.md) |
|
- [x] [DETR (ECCV'2020)](configs/detr/README.md) |
|
- [x] [Deformable DETR (ICLR'2021)](configs/deformable_detr/README.md) |
|
- [x] [CascadeRPN (NeurIPS'2019)](configs/cascade_rpn/README.md) |
|
- [x] [SCNet (AAAI'2021)](configs/scnet/README.md) |
|
- [x] [AutoAssign (ArXix'2020)](configs/autoassign/README.md) |
|
- [x] [YOLOF (CVPR'2021)](configs/yolof/README.md) |
|
|
|
我们在[基于 MMDetection 的项目](./docs/projects.md)中列举了一些其他的支持的算法。 |
|
|
|
## 安装 |
|
|
|
请参考[快速入门文档](docs/get_started.md)进行安装。 |
|
|
|
## 快速入门 |
|
|
|
请参考[快速入门文档](docs/get_started.md)学习 MMDetection 的基本使用。 |
|
我们提供了 [colab 教程](demo/MMDet_Tutorial.ipynb),也为新手提供了完整的运行教程,分别针对[已有数据集](docs/1_exist_data_model.md)和[新数据集](docs/2_new_data_model.md) 完整的使用指南 |
|
|
|
我们也提供了一些进阶教程,内容覆盖了 [finetune 模型](docs/tutorials/finetune.md),[增加新数据集支持](docs/tutorials/new_dataset.md),[设计新的数据预处理流程](docs/tutorials/data_pipeline.md),[增加自定义模型](ocs/tutorials/customize_models.md),[增加自定义的运行时配置](docs/tutorials/customize_runtime.md),[常用工具和脚本](docs/useful_tools.md)。 |
|
|
|
如果遇到问题,请参考 [FAQ 页面](docs/faq.md)。 |
|
|
|
## 贡献指南 |
|
|
|
我们感谢所有的贡献者为改进和提升 MMDetection 所作出的努力。请参考[贡献指南](.github/CONTRIBUTING.md)来了解参与项目贡献的相关指引。 |
|
|
|
## 致谢 |
|
|
|
MMDetection 是一款由来自不同高校和企业的研发人员共同参与贡献的开源项目。我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户。 我们希望这个工具箱和基准测试可以为社区提供灵活的代码工具,供用户复现已有算法并开发自己的新模型,从而不断为开源社区提供贡献。 |
|
|
|
## 引用 |
|
|
|
如果你在研究中使用了本项目的代码或者性能基准,请参考如下 bibtex 引用 MMDetection。 |
|
|
|
``` |
|
@article{mmdetection, |
|
title = {{MMDetection}: Open MMLab Detection Toolbox and Benchmark}, |
|
author = {Chen, Kai and Wang, Jiaqi and Pang, Jiangmiao and Cao, Yuhang and |
|
Xiong, Yu and Li, Xiaoxiao and Sun, Shuyang and Feng, Wansen and |
|
Liu, Ziwei and Xu, Jiarui and Zhang, Zheng and Cheng, Dazhi and |
|
Zhu, Chenchen and Cheng, Tianheng and Zhao, Qijie and Li, Buyu and |
|
Lu, Xin and Zhu, Rui and Wu, Yue and Dai, Jifeng and Wang, Jingdong |
|
and Shi, Jianping and Ouyang, Wanli and Loy, Chen Change and Lin, Dahua}, |
|
journal= {arXiv preprint arXiv:1906.07155}, |
|
year={2019} |
|
} |
|
``` |
|
|
|
## OpenMMLab 的其他项目 |
|
|
|
- [MMCV](https://github.com/open-mmlab/mmcv): OpenMMLab 计算机视觉基础库 |
|
- [MMClassification](https://github.com/open-mmlab/mmclassification): OpenMMLab 图像分类工具箱 |
|
- [MMDetection](https://github.com/open-mmlab/mmdetection): OpenMMLab 目标检测工具箱 |
|
- [MMDetection3D](https://github.com/open-mmlab/mmdetection3d): OpenMMLab 新一代通用 3D 目标检测平台 |
|
- [MMSegmentation](https://github.com/open-mmlab/mmsegmentation): OpenMMLab 语义分割工具箱 |
|
- [MMAction2](https://github.com/open-mmlab/mmaction2): OpenMMLab 新一代视频理解工具箱 |
|
- [MMTracking](https://github.com/open-mmlab/mmtracking): OpenMMLab 一体化视频目标感知平台 |
|
- [MMPose](https://github.com/open-mmlab/mmpose): OpenMMLab 姿态估计工具箱 |
|
- [MMEditing](https://github.com/open-mmlab/mmediting): OpenMMLab 图像视频编辑工具箱 |
|
- [MMOCR](https://github.com/open-mmlab/mmocr): OpenMMLab 全流程文字检测识别理解工具包 |
|
- [MMGeneration](https://github.com/open-mmlab/mmgeneration): OpenMMLab 图片视频生成模型工具箱 |
|
|
|
## 欢迎加入 OpenMMLab 社区 |
|
|
|
扫描下方的二维码可关注 OpenMMLab 团队的 [知乎官方账号](https://www.zhihu.com/people/openmmlab),加入 OpenMMLab 团队的 [官方交流 QQ 群](https://jq.qq.com/?_wv=1027&k=aCvMxdr3) |
|
|
|
<div align="center"> |
|
<img src="/resources/zhihu_qrcode.jpg" height="400" /> <img src="/resources/qq_group_qrcode.jpg" height="400" /> |
|
</div> |
|
|
|
我们会在 OpenMMLab 社区为大家 |
|
|
|
- 📢 分享 AI 框架的前沿核心技术 |
|
- 💻 解读 PyTorch 常用模块源码 |
|
- 📰 发布 OpenMMLab 的相关新闻 |
|
- 🚀 介绍 OpenMMLab 开发的前沿算法 |
|
- 🏃 获取更高效的问题答疑和意见反馈 |
|
- 🔥 提供与各行各业开发者充分交流的平台 |
|
|
|
干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬 |
|
|