/PaddleSeg

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, etc.

Primary LanguagePythonApache License 2.0Apache-2.0

English | 简体中文

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

Build Status License Version python version support os

News

  • [2022-04-07] 🔥 We release PP-LiteSeg, a superior real-time semantic segmentation model.
  • [2022-01-20] PaddleSeg v2.4 is released! More details in Release Notes.
    • Upgrade the interactive annotation tool EISeg v0.4 with faster inference speed, supporting new areas in remote sensing and medical segmentation.
    • Publish the PP-HumanSeg paper, and released Semantic Connectivity-aware Learning framework and a Large-Scale Teleconferencing Video Dataset.
    • Release PP-HumanMatting for extremely fine-grained human segmentation, with an Android tutorial.
    • Add 9 semantic segmentatioin models, including a new transformer model SegMenter.
    • Provide a comprehensive performance table for all segmentation models, which helps to choose a better model on the accuracy and the speed.
  • [2021-10-11] We released PaddleSeg v2.3 with the improved interactive segmentation tool EISeg v0.3, two matting algorithms, and segmentation model compression.
  • [2021-09-20] We published an interactive segmentation paper with SOTA performance on several well-known datasets.

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
  • 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
    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
    • DIM
    • MODNet
    • PP-HumanMatting
    Human Segmentation
    • PP-HumanSeg
    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 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 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}
    }