24 Star 226 Fork 92

PaddlePaddle / PaddleSeg

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_CN.md 27.05 KB
一键复制 编辑 原始数据 按行查看 历史
Ccc 提交于 2023-02-27 11:22 . [doc] Add FastDeploy to News

简体中文 | English

飞桨高性能图像分割开发套件,端到端完成从训练到部署的全流程图像分割应用。

License Version python version support os stars

最新动态

  • [2023-02-27] :fire: PaddleSeg集成高性能、全场景模型部署方案FastDeploy,欢迎参考指南试用(注意切换成develop分支)。
  • [2022-11-30] :fire: PaddleSeg 2.7版本发布!详细发版信息请参考Release Note
    • 发布实时人像抠图模型PP-MattingV2:推理速度提升44.6%,平均误差减小17.91%,完美超越此前SOTA模型,支持零成本开箱即用。
    • 发布3D医疗影像分割方案MedicalSegV2:涵盖3D医疗影像交互式标注工具EISeg-Med3D、3个高精分割模型,集成并优化前沿分割方案nnUNet-D。
    • 官方发布轻量级语义分割模型RTFormer:由百度提出并发表于NeurIPS 2022,在公开数据集上实现SOTA性能。
  • [2022-07-20] PaddleSeg 2.6版本发布实时人像分割SOTA方案PP-HumanSegV2、高性能智能标注工具EISeg v1.0正式版、ImageNet分割伪标签数据预训练方法PSSL,开源PP-MattingV1代码和预训练模型。
  • [2022-04-20] PaddleSeg 2.5版本发布超轻量级语义分割模型PP-LiteSeg,高精度抠图模型PP-MattingV1,3D医疗影像开发套件MedicalSegV1,交互式分割工具EISeg v0.5。
  • [2022-01-20] PaddleSeg 2.4版本发布交互式分割工具EISeg v0.4,超轻量级人像分割方案PP-HumanSegV1,以及大规模视频会议数据集PP-HumanSeg14K

简介

PaddleSeg是基于飞桨PaddlePaddle的端到端图像分割套件,内置45+模型算法140+预训练模型,支持配置化驱动API调用开发方式,打通数据标注、模型开发、训练、压缩、部署的全流程,提供语义分割、交互式分割、Matting、全景分割四大分割能力,助力算法在医疗、工业、遥感、娱乐等场景落地应用。

特性

  • 高精度:跟踪学术界的前沿分割技术,结合高精度训练的骨干网络,提供40+主流分割网络、140+的高质量预训练模型,效果优于其他开源实现。

  • 高性能:使用多进程异步I/O、多卡并行训练、评估等加速策略,结合飞桨核心框架的显存优化功能,大幅度减少分割模型的训练开销,让开发者更低成本、更高效地完成图像分割训练。

  • 模块化:源于模块化设计思想,解耦数据准备、分割模型、骨干网络、损失函数等不同组件,开发者可以基于实际应用场景出发,组装多样化的配置,满足不同性能和精度的要求。

  • 全流程:打通数据标注、模型开发、模型训练、模型压缩、模型部署全流程,经过业务落地的验证,让开发者完成一站式开发工作。

技术交流

  • 如果大家有PaddleSeg的使用问题和功能建议, 可以通过GitHub Issues提issue。
  • 欢迎加入PaddleSeg的微信用户群👫(扫码填写简单问卷即可入群),大家可以领取30G重磅学习大礼包🎁,也可以和值班同学、各界大佬直接进行交流。
    • 🔥 获取深度学习视频教程、图像分割论文合集
    • 🔥 获取PaddleSeg的历次直播视频,最新发版信息和直播动态
    • 🔥 获取PaddleSeg自建的人像分割数据集,整理的开源数据集
    • 🔥 获取PaddleSeg在垂类场景的预训练模型和应用合集,涵盖人像分割、交互式分割等等
    • 🔥 获取PaddleSeg的全流程产业实操范例,包括质检缺陷分割、抠图Matting、道路分割等等

产品矩阵

模型 组件 特色案例
骨干网络
损失函数
评估指标
  • mIoU
  • Accuracy
  • Kappa
  • Dice
  • AUC_ROC
支持数据集
数据增强
  • Flipping
  • Resize
  • ResizeByLong
  • ResizeByShort
  • LimitLong
  • ResizeRangeScaling
  • ResizeStepScaling
  • Normalize
  • Padding
  • PaddingByAspectRatio
  • RandomPaddingCrop
  • RandomCenterCrop
  • ScalePadding
  • RandomNoise
  • RandomBlur
  • RandomRotation
  • RandomScaleAspect
  • RandomDistort
  • RandomAffine
模型选型工具
人像分割模型
3D医疗分割模型
Cityscapes打榜模型
CVPR冠军模型
领域自适应

产业级分割模型库

高精度语义分割模型

高精度模型,分割mIoU高、推理算量大,适合部署在服务器端GPU和Jetson等设备。

模型名称 骨干网络 Cityscapes精度mIoU(%) V100 TRT推理速度(FPS) 配置文件
FCN HRNet_W18 78.97 24.43 yml
FCN HRNet_W48 80.70 10.16 yml
DeepLabV3 ResNet50_OS8 79.90 4.56 yml
DeepLabV3 ResNet101_OS8 80.85 3.2 yml
DeepLabV3 ResNet50_OS8 80.36 6.58 yml
DeepLabV3 ResNet101_OS8 81.10 3.94 yml
OCRNet :star2: HRNet_w18 80.67 13.26 yml
OCRNet HRNet_w48 82.15 6.17 yml
CCNet ResNet101_OS8 80.95 3.24 yml

测试条件:

  • V100上测速条件:针对Nvidia GPU V100,使用PaddleInference预测库的Python API,开启TensorRT加速,数据类型是FP32,输入图像维度是1x3x1024x2048。
轻量级语义分割模型

轻量级模型,分割mIoU中等、推理算量中等,可以部署在服务器端GPU、服务器端X86 CPU和移动端ARM CPU。

模型名称 骨干网络 Cityscapes精度mIoU(%) V100 TRT推理速度(FPS) 骁龙855推理速度(FPS) 配置文件
PP-LiteSeg :star2: STDC1 77.04 69.82 17.22 yml
PP-LiteSeg :star2: STDC2 79.04 54.53 11.75 yml
BiSeNetV1 - 75.19 14.67 1.53 yml
BiSeNetV2 - 73.19 61.83 13.67 yml
STDCSeg STDC1 74.74 62.24 14.51 yml
STDCSeg STDC2 77.60 51.15 10.95 yml
DDRNet_23 - 79.85 42.64 7.68 yml
HarDNet - 79.03 30.3 5.44 yml
SFNet ResNet18_OS8 78.72 10.72 - yml

测试条件:

  • V100上测速条件:针对Nvidia GPU V100,使用PaddleInference预测库的Python API,开启TensorRT加速,数据类型是FP32,输入图像维度是1x3x1024x2048。
  • 骁龙855上测速条件:针对小米9手机,使用PaddleLite预测库的CPP API,ARMV8编译,单线程,输入图像维度是1x3x256x256。
超轻量级语义分割模型

超轻量级模型,分割mIoU一般、推理算量低,适合部署在服务器端X86 CPU和移动端ARM CPU。

模型名称 骨干网络 Cityscapes精度mIoU(%) V100 TRT推理速度(FPS) 骁龙855推理速度(FPS) 配置文件
MobileSeg MobileNetV2 73.94 67.57 27.01 yml
MobileSeg :star2: MobileNetV3 73.47 67.39 32.90 yml
MobileSeg Lite_HRNet_18 70.75 10.5 13.05 yml
MobileSeg ShuffleNetV2_x1_0 69.46 37.09 39.61 yml
MobileSeg GhostNet_x1_0 71.88 35.58 38.74 yml

测试条件:

  • V100上测速条件:针对Nvidia GPU V100,使用PaddleInference预测库的Python API,开启TensorRT加速,数据类型是FP32,输入图像维度是1x3x1024x2048。
  • 骁龙855上测速条件:针对小米9手机,使用PaddleLite预测库的CPP API,ARMV8编译,单线程,输入图像维度是1x3x256x256。

使用教程

入门教程

基础教程

进阶教程

欢迎贡献

特色能力

产业实践范例

许可证书

本项目的发布受Apache 2.0 license许可认证。

社区贡献

  • 非常感谢jm12138贡献U2-Net模型。
  • 非常感谢zjhellofss(傅莘莘)贡献Attention U-Net模型,和Dice loss损失函数。
  • 非常感谢liuguoyu666贡献U-Net++模型。
  • 非常感谢yazheng0307 (刘正)贡献快速开始教程文档。
  • 非常感谢CuberrChen贡献STDC (rethink BiSeNet) PointRend,和 Detail Aggregate损失函数。
  • 非常感谢stuartchen1949贡献 SegNet。
  • 非常感谢justld(郎督)贡献 UPerNet, DDRNet, CCNet, ESPNetV2, DMNet, ENCNet, HRNet_W48_Contrast, BiSeNetV1, FastFCN, SECrossEntropyLoss 和PixelContrastCrossEntropyLoss。
  • 非常感谢Herman-Hu-saber(胡慧明)参与贡献 ESPNetV2。
  • 非常感谢zhangjin12138贡献数据增强方法 RandomCenterCrop。
  • 非常感谢simuler 贡献 ESPNetV1。
  • 非常感谢ETTR123(张恺) 贡献 ENet,PFPNNet。

学术引用

如果我们的项目在学术上帮助到你,请考虑以下引用:

@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}
}
Python
1
https://gitee.com/paddlepaddle/PaddleSeg.git
git@gitee.com:paddlepaddle/PaddleSeg.git
paddlepaddle
PaddleSeg
PaddleSeg
release/2.7

搜索帮助