Skip to content

Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.

License

Notifications You must be signed in to change notification settings

luonghuuthanhnam/PaddleSeg

 
 

Repository files navigation

English | 简体中文

A High-Efficient Development Toolkit for Image Segmentation based on PaddlePaddle.

Build Status License Version python version support os

News

  • [2022-04-20] 🔥 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), 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

Models Components Projects
  • ANN
  • BiSeNetV2
  • DANet
  • DeepLabV3
  • DeepLabV3P
  • Fast-SCNN
  • HRNet-FCN
  • GCNet
  • GSCNN
  • HarDNet
  • OCRNet
  • PSPNet
  • U-Net
  • U2-Net
  • Att U-Net
  • U-Net++
  • U-Net3+
  • DecoupledSeg
  • EMANet
  • ISANet
  • DNLNet
  • SFNet
  • PP-HumanSeg
  • PortraitNet
  • STDC
  • GINet
  • PointRend
  • SegNet
  • ESPNetV2
  • HRNet-Contrast
  • DMNet
  • ESPNetV1
  • ENCNet
  • PFPNNet
  • FastFCN
  • BiSeNetV1
  • SETR
  • MLA Transformer
  • SegFormer
  • SegMenter
  • ENet
  • CCNet
  • DDRNet
  • GloRe
  • PP-LiteSeg ⭐
  • Backbones
    • HRNet
    • MobileNetV2
    • MobileNetV3
    • ResNet
    • STDCNet
    • XCeption
    • VIT
    • MixVIT
    • Swin Transformer
    Losses
    • Cross Entropy
    • Binary CE
    • Bootstrapped CE
    • Point CE
    • OHEM CE
    • Pixel Contrast CE
    • Focal
    • Dice
    • RMI
    • KL
    • L1
    • Lovasz
    • MSE
    • Edge Attention
    • Relax Boundary
    • Connectivity
    • MultiClassFocal
    Metrics
    • mIoU
    • Accuracy
    • Kappa
    • Dice
    • AUC_ROC
    Datasets
    • Cityscapes
    • Pascal VOC
    • ADE20K
    • Pascal Context
    • COCO Stuff
    • SUPERVISELY
    • EG1800
    • CHASE_DB1
    • HRF
    • DRIVE
    • STARE
    • PP-HumanSeg14K
    Data Augmentation
    • Flipping
    • Resize
    • ResizeByLong
    • ResizeByShort
    • LimitLong
    • ResizeRangeScaling
    • ResizeStepScaling
    • Normalize
    • Padding
    • PaddingByAspectRatio
    • RandomPaddingCrop
    • RandomCenterCrop
    • ScalePadding
    • RandomNoise
    • RandomBlur
    • RandomRotation
    • RandomScaleAspect
    • RandomDistort
    • RandomAffine
    Interactive Segmentation
    • EISeg
    • RITM
    • EdgeFlow
    Image Matting
    • PP-Matting
    • DIM
    • MODNet
    • PP-HumanMatting
    Human Segmentation
    • PP-HumanSeg
    3D Medical Segmentation
    • VNet
    Cityscapes SOTA
    • HMSA
    Panoptic Segmentation
    • Panoptic-DeepLab
    CVPR Champion
    • MLA Transformer
    Domain Adaption
    • PixMatch

    Model Zoo

    The relationship between mIoU and FLOPs of representative architectures and backbones. See Model Zoo Overview for more details.

    Tutorials

    Practical Projects

    Community

    • If you have any problem or suggestion on PaddleSeg, please send us issues through GitHub Issues.
    • Welcome to Join PaddleSeg WeChat Group

    License

    PaddleSeg is released under the Apache 2.0 license.

    Acknowledgement

    • Thanks jm12138 for contributing U2-Net.
    • Thanks zjhellofss (Fu Shenshen) for contributing Attention U-Net, and Dice Loss.
    • Thanks liuguoyu666, geoyee for contributing U-Net++ and U-Net3+.
    • Thanks yazheng0307 (LIU Zheng) for contributing quick-start document.
    • Thanks CuberrChen for contributing STDC(rethink BiSeNet), PointRend and DetailAggregateLoss.
    • Thanks stuartchen1949 for contributing SegNet.
    • Thanks justld (Lang Du) for contributing DDRNet, CCNet, ESPNetV2, DMNet, ENCNet, HRNet_W48_Contrast, FastFCN, BiSeNetV1, SECrossEntropyLoss and PixelContrastCrossEntropyLoss.
    • Thanks Herman-Hu-saber (Hu Huiming) for contributing ESPNetV2.
    • Thanks zhangjin12138 for contributing RandomCenterCrop.
    • Thanks simuler for contributing ESPNetV1.
    • Thanks ETTR123(Zhang Kai) for contributing ENet, PFPNNet.

    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 Contributors},
        howpublished = {\url{https://github.com/PaddlePaddle/PaddleSeg}},
        year={2019}
    }

    About

    Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

    No packages published

    Languages

    • Python 91.1%
    • Java 3.5%
    • Shell 1.9%
    • C++ 1.4%
    • CMake 0.7%
    • Cython 0.4%
    • Other 1.0%