English | [](README_CN.md)
**A High-Efficient Development Toolkit for Image Segmentation based on [PaddlePaddle](https://github.com/paddlepaddle/paddle).**
[](https://travis-ci.org/PaddlePaddle/PaddleSeg)
[](LICENSE)
[](https://github.com/PaddlePaddle/PaddleSeg/releases)


## News
- [2022-04-20] :fire: PaddleSeg v2.5 is released! More details in Release Notes.
- Release PP-LiteSeg, a real-time semantic segmentation model. It achieves SOTA trade-off between segmentation accuracy and inference speed. [techical report]
- Release PP-Matting, a trimap-free image matting model for extremely fine-grained segmentation. It achieves SOTA performance on Composition-1k and Distinctions-646. [techical report]
- Release MedicalSeg, a newly easy-to-use toolkit for 3D medical image segmentation. It supports the whole process including data preprocessing, model training, and model deployment, and provides the high-accuracy models on lung and spine segmentation.
- Upgrade the interactive annotation tool EISeg v0.5 with supporting new areas in chest X-Ray, MRI spine, and defect inspection.
- Add 5 semantic segmentatioin models, including variants of PP-LiteSeg.
- [2022-01-20] We release PaddleSeg v2.4 with EISeg v0.4, and PP-HumanSeg including open-sourced dataset PP-HumanSeg14K.
- [2021-10-11] We released PaddleSeg v2.3 with the improved interactive segmentation tool EISeg v0.3, two matting algorithms, and segmentation model compression.
## Introduction
PaddleSeg is an end-to-end high-efficent development toolkit for image segmentation based on PaddlePaddle, which helps both developers and researchers in the whole process of designing segmentation models, training models, optimizing performance and inference speed, and deploying models. A lot of well-trained models and various real-world applications in both industry and academia help users conveniently build hands-on experiences in image segmentation.
* #### Four segmentation areas: semantic segmentation, interactive segmentation, panoptic segmentation and image matting.
---------------
* #### Various applications in autonomous driving, medical segmentation, remote sensing, quality inspection, and other scenarios.
---------------
## Features
*

**High-Performance Model**: Based on the high-performance backbone trained by semi-supervised label knowledge distillation scheme ([SSLD]((https://paddleclas.readthedocs.io/zh_CN/latest/advanced_tutorials/distillation/distillation.html#ssld))), combined with the state of the art segmentation technology, we provide 80+ high-quality pre-training models, which are better than other open-source implementations.
*

**Modular Design**: PaddleSeg supports 40+ mainstream *segmentation networks*, developers can start based on actual application scenarios and assemble diversified training configurations combined with modular design of *data enhancement strategies*, *backbone networks*, *loss functions* and other different components to meet different performance and accuracy requirements.
*

**High Efficiency**: PaddleSeg provides multi-process asynchronous I/O, multi-card parallel training, evaluation, and other acceleration strategies, combined with the memory optimization function of the PaddlePaddle, which can greatly reduce the training overhead of the segmentation model, all this allowing developers to lower cost and more efficiently train image segmentation model.
## Overview
## Model Zoo
The relationship between mIoU and FLOPs of representative architectures and backbones. See [Model Zoo Overview](./docs/model_zoo_overview.md) for more details.
## Tutorials

* [Installation Guide](./docs/install.md)
* [Quick Start](./docs/whole_process.md)
* Data Preparation
* [Annotated Data Preparation](./docs/data/marker/marker.md)
* [Annotation Tutorial](./docs/data/transform/transform.md)
* [Custom Dataset](./docs/data/custom/data_prepare.md)
* [Model Training](/docs/train/train.md)
* [Model Evaluation](./docs/evaluation/evaluate/evaluate.md)
* [Prediction](./docs/predict/predict.md)
* Model Export
* [Export Inference Model](./docs/model_export.md)
* [Export ONNX Model](./docs/model_export_onnx.md)
* Model Deploy
* [Paddle Inference (Python)](./docs/deployment/inference/python_inference.md)
* [Paddle Inference (C++)](./docs/deployment/inference/cpp_inference.md)
* [Paddle Lite](./docs/deployment/lite/lite.md)
* [Paddle Serving](./docs/deployment/serving/serving.md)
* [Paddle JS](./docs/deployment/web/web.md)
* [Benchmark](./docs/deployment/inference/infer_benchmark.md)
* Model Compression
* [Quantization](./docs/slim/quant/quant.md)
* [Distillation](./docs/slim/distill/distill.md)
* [Prune](./docs/slim/prune/prune.md)
* Easy API
* [API Documention](./docs/apis/README.md)
* [API Tutorial](./docs/api_example.md)
* Baisc Knowledge
* [Data Augmentation](./docs/module/data/data.md)
* [Loss Description](./docs/module/loss/losses_en.md)
* Advanced Development
* [Detailed Configuration File](./docs/design/use/use.md)
* [Create Your Own Model](./docs/design/create/add_new_model.md)
* Pull Request
* [PR Tutorial](./docs/pr/pr/pr.md)
* [PR Style](./docs/pr/pr/style_cn.md)
* [Static Graph Version](./docs/static/static.md)
* [Community](#Community)
* [FAQ](./docs/faq/faq/faq.md)
## Practical Projects
* [Interactive Segmentation](./EISeg)
* [Image Matting](./Matting)
* [PP-HumanSeg](./contrib/PP-HumanSeg)
* [3D ](./contrib/MedicalSeg)
* [Cityscapes SOTA](./contrib/CityscapesSOTA)
* [Panoptic Segmentation](./contrib/PanopticDeepLab)
* [CVPR Champion Solution](./contrib/AutoNUE)
* [Domain Adaptation](./contrib/DomainAdaptation)
## Community

* If you have any problem or suggestion on PaddleSeg, please send us issues through [GitHub Issues](https://github.com/PaddlePaddle/PaddleSeg/issues).
* Welcome to Join PaddleSeg WeChat Group
## License
PaddleSeg is released under the [Apache 2.0 license](LICENSE).
## Acknowledgement
* Thanks [jm12138](https://github.com/jm12138) for contributing U
2-Net.
* Thanks [zjhellofss](https://github.com/zjhellofss) (Fu Shenshen) for contributing Attention U-Net, and Dice Loss.
* Thanks [liuguoyu666](https://github.com/liguoyu666), [geoyee](https://github.com/geoyee) for contributing U-Net++ and U-Net3+.
* Thanks [yazheng0307](https://github.com/yazheng0307) (LIU Zheng) for contributing quick-start document.
* Thanks [CuberrChen](https://github.com/CuberrChen) for contributing STDC(rethink BiSeNet), PointRend and DetailAggregateLoss.
* Thanks [stuartchen1949](https://github.com/stuartchen1949) for contributing SegNet.
* Thanks [justld](https://github.com/justld) (Lang Du) for contributing DDRNet, CCNet, ESPNetV2, DMNet, ENCNet, HRNet_W48_Contrast, FastFCN, BiSeNetV1, SECrossEntropyLoss and PixelContrastCrossEntropyLoss.
* Thanks [Herman-Hu-saber](https://github.com/Herman-Hu-saber) (Hu Huiming) for contributing ESPNetV2.
* Thanks [zhangjin12138](https://github.com/zhangjin12138) for contributing RandomCenterCrop.
* Thanks [simuler](https://github.com/simuler) for contributing ESPNetV1.
* Thanks [ETTR123](https://github.com/ETTR123)(Zhang Kai) for contributing ENet, PFPNNet.
## Citation
If you find our project useful in your research, please consider citing:
```latex
@misc{liu2021paddleseg,
title={PaddleSeg: A High-Efficient Development Toolkit for Image Segmentation},
author={Yi Liu and Lutao Chu and Guowei Chen and Zewu Wu and Zeyu Chen and Baohua Lai and Yuying Hao},
year={2021},
eprint={2101.06175},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{paddleseg2019,
title={PaddleSeg, End-to-end image segmentation kit based on PaddlePaddle},
author={PaddlePaddle Contributors},
howpublished = {\url{https://github.com/PaddlePaddle/PaddleSeg}},
year={2019}
}
```