2020-07-07 20:52:19 +08:00
< div align = "center" >
< img src = "resources/mmseg-logo.png" width = "600" / >
< / div >
2020-07-10 16:55:47 +08:00
< br / >
2020-07-14 14:41:52 +08:00
[](https://pypi.org/project/mmsegmentation)
2020-07-10 16:55:47 +08:00
[](https://mmsegmentation.readthedocs.io/en/latest/)
[](https://github.com/open-mmlab/mmsegmentation/actions)
[](https://codecov.io/gh/open-mmlab/mmsegmentation)
[](https://github.com/open-mmlab/mmsegmentation/blob/master/LICENSE)
2020-09-29 19:54:32 +08:00
[](https://github.com/open-mmlab/mmsegmentation/issues)
[](https://github.com/open-mmlab/mmsegmentation/issues)
2020-07-10 16:55:47 +08:00
Documentation: https://mmsegmentation.readthedocs.io/
2020-07-07 20:52:19 +08:00
## Introduction
MMSegmentation is an open source semantic segmentation toolbox based on PyTorch.
It is a part of the OpenMMLab project.
2020-09-29 19:54:32 +08:00
The master branch works with **PyTorch 1.3 to 1.6** .
2020-07-07 20:52:19 +08:00

### Major features
- **Unified Benchmark**
We provide a unified benchmark toolbox for various semantic segmentation methods.
- **Modular Design**
We decompose the semantic segmentation framework into different components and one can easily construct a customized semantic segmentation framework by combining different modules.
- **Support of multiple methods out of box**
The toolbox directly supports popular and contemporary semantic segmentation frameworks, *e.g.* PSPNet, DeepLabV3, PSANet, DeepLabV3+, etc.
- **High efficiency**
The training speed is faster than or comparable to other codebases.
## License
This project is released under the [Apache 2.0 license ](LICENSE ).
2020-07-13 20:54:32 +08:00
## Changelog
2021-01-03 07:29:56 +08:00
v0.10.0 was released in 01/01/2021.
2020-08-11 19:23:35 +08:00
Please refer to [changelog.md ](docs/changelog.md ) for details and release history.
2020-07-13 20:54:32 +08:00
2020-07-07 20:52:19 +08:00
## Benchmark and model zoo
Results and models are available in the [model zoo ](docs/model_zoo.md ).
Supported backbones:
2020-10-07 19:50:16 +08:00
2020-07-07 20:52:19 +08:00
- [x] ResNet
- [x] ResNeXt
2020-08-17 00:54:01 +08:00
- [x] [HRNet ](configs/hrnet/README.md )
- [x] [ResNeSt ](configs/resnest/README.md )
2020-09-25 17:44:34 +08:00
- [x] [MobileNetV2 ](configs/mobilenet_v2/README.md )
2020-12-26 16:02:50 +08:00
- [x] [MobileNetV3 ](configs/mobilenet_v3/README.md )
2020-07-07 20:52:19 +08:00
Supported methods:
2020-10-07 19:50:16 +08:00
2020-07-07 20:52:19 +08:00
- [x] [FCN ](configs/fcn )
- [x] [PSPNet ](configs/pspnet )
- [x] [DeepLabV3 ](configs/deeplabv3 )
- [x] [PSANet ](configs/psanet )
- [x] [DeepLabV3+ ](configs/deeplabv3plus )
- [x] [UPerNet ](configs/upernet )
- [x] [NonLocal Net ](configs/nonlocal_net )
2020-07-10 16:55:47 +08:00
- [x] [EncNet ](configs/encnet )
2020-07-07 20:52:19 +08:00
- [x] [CCNet ](configs/ccnet )
- [x] [DANet ](configs/danet )
2020-12-18 15:23:45 +08:00
- [x] [APCNet ](configs/apcnet )
2020-07-07 20:52:19 +08:00
- [x] [GCNet ](configs/gcnet )
2020-12-24 14:16:34 +08:00
- [x] [DMNet ](configs/dmnet )
2020-07-07 20:52:19 +08:00
- [x] [ANN ](configs/ann )
- [x] [OCRNet ](configs/ocrnet )
2020-08-19 15:52:46 +08:00
- [x] [Fast-SCNN ](configs/fastscnn )
2020-09-07 16:22:00 +08:00
- [x] [Semantic FPN ](configs/sem_fpn )
2020-09-07 19:59:44 +08:00
- [x] [PointRend ](configs/point_rend )
2020-09-07 16:22:00 +08:00
- [x] [EMANet ](configs/emanet )
- [x] [DNLNet ](configs/dnlnet )
2020-11-03 16:05:25 +08:00
- [x] [CGNet ](configs/cgnet )
2020-07-20 15:17:18 +08:00
- [x] [Mixed Precision (FP16) Training ](configs/fp16/README.md )
2020-07-07 20:52:19 +08:00
## Installation
Please refer to [INSTALL.md ](docs/install.md ) for installation and dataset preparation.
## Get Started
Please see [getting_started.md ](docs/getting_started.md ) for the basic usage of MMSegmentation.
There are also tutorials for [adding new dataset ](docs/tutorials/new_dataset.md ), [designing data pipeline ](docs/tutorials/data_pipeline.md ), and [adding new modules ](docs/tutorials/new_modules.md ).
2020-07-10 16:55:47 +08:00
A Colab tutorial is also provided. You may preview the notebook [here ](demo/MMSegmentation_Tutorial.ipynb ) or directly [run ](https://colab.research.google.com/github/open-mmlab/mmsegmentation/blob/master/demo/MMSegmentation_Tutorial.ipynb ) on Colab.
2020-07-07 20:52:19 +08:00
## Contributing
We appreciate all contributions to improve MMSegmentation. Please refer to [CONTRIBUTING.md ](.github/CONTRIBUTING.md ) for the contributing guideline.
## Acknowledgement
MMSegmentation is an open source project that welcome any contribution and feedback.
We wish that the toolbox and benchmark could serve the growing research
community by providing a flexible as well as standardized toolkit to reimplement existing methods
and develop their own new semantic segmentation methods.