<div align="center"> <img src="resources/mmseg-logo.png" width="600"/> </div> <br /> [](https://pypi.org/project/mmsegmentation) [](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) Documentation: https://mmsegmentation.readthedocs.io/ ## Introduction MMSegmentation is an open source semantic segmentation toolbox based on PyTorch. It is a part of the OpenMMLab project. The master branch works with **PyTorch 1.3 to 1.5**.  ### 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). ## Changelog v0.5.1 was released in 11/08/2020. Please refer to [changelog.md](docs/changelog.md) for details and release history. ## Benchmark and model zoo Results and models are available in the [model zoo](docs/model_zoo.md). Supported backbones: - [x] ResNet - [x] ResNeXt - [x] HRNet Supported methods: - [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) - [x] [EncNet](configs/encnet) - [x] [CCNet](configs/ccnet) - [x] [DANet](configs/danet) - [x] [GCNet](configs/gcnet) - [x] [ANN](configs/ann) - [x] [OCRNet](configs/ocrnet) - [x] [Mixed Precision (FP16) Training](configs/fp16/README.md) ## 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). 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. ## 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.