English | 简体中文
PaddleSeg
[2020-12-18] PaddleSeg has released the v2.0.0-rc version, which supports the dynamic graph by default. The static-graph codes have been moved to legacy. See detailed release notes.
Welcome to PaddleSeg! PaddleSeg is an end-to-end image segmentation development kit developed based on PaddlePaddle, which covers a large number of high-quality segmentation models in different directions such as high-performance and lightweight. With the help of modular design, one can conveniently complete the entire image segmentation application from training to deployment through configuration calls or API calls.
Core features
High performance model: Based on the high-performance backbone trained by Baidu's self-developed semi-supervised label knowledge distillation scheme (SSLD), combined with the state of the art segmentation technology, we provides 50+ high-quality pre-training models, which are better than other open source implementations.
Modular design: PaddleSeg support 15+ 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.
Model Zoo
Model\Backbone | ResNet50 | ResNet101 | HRNetw18 | HRNetw48 |
---|---|---|---|---|
ANN | ✔ | ✔ | ||
BiSeNetv2 | - | - | - | - |
DANet | ✔ | ✔ | ||
Deeplabv3 | ✔ | ✔ | ||
Deeplabv3P | ✔ | ✔ | ||
Fast-SCNN | - | - | - | - |
FCN | ✔ | ✔ | ||
GCNet | ✔ | ✔ | ||
GSCNN | ✔ | ✔ | ||
HarDNet | - | - | - | - |
OCRNet | ✔ | ✔ | ||
PSPNet | ✔ | ✔ | ||
U-Net | - | - | - | - |
U2-Net | - | - | - | - |
Att U-Net | - | - | - | - |
U-Net++ | - | - | - | - |
EMANet | ✔ | ✔ | - | - |
ISANet | ✔ | ✔ | - | - |
DNLNet | ✔ | ✔ | - | - |
Dataset
- Cityscapes
- Pascal VOC
- ADE20K
- Pascal Context
- COCO stuff
Installation
step 1. Install PaddlePaddle
System Requirements:
- PaddlePaddle >= 2.0.0rc
- Python >= 3.6+
Highly recommend you install the GPU version of PaddlePaddle, due to large overhead of segmentation models, otherwise it could be out of memory while running the models. For more detailed installation tutorials, please refer to the official website of PaddlePaddle。
step 2. Install PaddleSeg
pip install paddleseg
step 3. Download PaddleSeg repo
git clone https://github.com/PaddlePaddle/PaddleSeg
Quick Training
python train.py --config configs/quick_start/bisenet_optic_disc_512x512_1k.yml
Tutorials
Feedbacks and Contact
- The dynamic version is still under development, if you find any issue or have an idea on new features, please don't hesitate to contact us via GitHub Issues.
- PaddleSeg User Group (QQ): 850378321 or 793114768
Acknowledgement
- Thanks jm12138 for contributing U2-Net.
- Thanks zjhellofss (Fu Shenshen) for contributing Attention U-Net, and Dice Loss.
- Thanks liuguoyu666 for contributing U-Net++.
Citation
If you find our project useful in your research, please consider citing:
@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 Authors},
howpublished = {\url{https://github.com/PaddlePaddle/PaddleSeg}},
year={2019}
}