简体中文 | English
- [2023-04-11] 🔥 PaddleSeg 2.8版本发布!详细发版信息请参考Release Note。
- 开源飞桨版本视觉大模型Segment Anything Model,提供演示Demo,支持全图分割的功能、使用提示输入分割的功能。
- 发布超轻量级语义分割SOTA模型PP-MobileSeg:在ADE20K数据集上,PP-MobileSeg对比此前最优模型,精度提升1.5%、速度提升42.3%、参数量减少34.9%。
- 发布工业质检全流程解决方案QualityInspector v0.5:提供统一可配置的算法Pipeline,集成检测和分割模型库,支持3种无监督异常检测算法,支持工业级指标评测、分析、调优等功能。
- 发布通用的全景分割解决方案PanopticSeg v0.5:提供全景分割的全流程开发功能,集成2个前沿高精模型,具备灵活的二次开发能力。
- [2022-11-30] PaddleSeg 2.7版本发布实时人像抠图模型PP-MattingV2、3D医疗影像分割方案MedicalSegV2、轻量级语义分割模型RTFormer。
- [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、全景分割四大分割能力,助力算法在医疗、工业、遥感、娱乐等场景落地应用。
-
高精度:跟踪学术界的前沿分割技术,结合高精度训练的骨干网络,提供45+主流分割网络、150+的高质量预训练模型,效果优于其他开源实现。
-
高性能:使用多进程异步I/O、多卡并行训练、评估等加速策略,结合飞桨核心框架的显存优化功能,大幅度减少分割模型的训练开销,让开发者更低成本、更高效地完成图像分割训练。
-
模块化:源于模块化设计思想,解耦数据准备、分割模型、骨干网络、损失函数等不同组件,开发者可以基于实际应用场景出发,组装多样化的配置,满足不同性能和精度的要求。
-
全流程:打通数据标注、模型开发、模型训练、模型压缩、模型部署全流程,经过业务落地的验证,让开发者完成一站式开发工作。
- 如果大家有PaddleSeg的使用问题和功能建议, 可以通过GitHub Issues提issue。
- 欢迎加入PaddleSeg的微信用户群👫(扫码填写简单问卷即可入群),大家可以领取30G重磅学习大礼包🎁,也可以和值班同学、各界大佬直接进行交流。
- 🔥 获取深度学习视频教程、图像分割论文合集
- 🔥 获取PaddleSeg的历次直播视频,最新发版信息和直播动态
- 🔥 获取PaddleSeg自建的人像分割数据集,整理的开源数据集
- 🔥 获取PaddleSeg在垂类场景的预训练模型和应用合集,涵盖人像分割、交互式分割等等
- 🔥 获取PaddleSeg的全流程产业实操范例,包括质检缺陷分割、抠图Matting、道路分割等等
模型 | 组件 | 特色案例 | |
语义分割模型交互式分割模型 |
骨干网络损失函数评估指标
|
支持数据集数据增强
|
分割一切模型模型选型工具人像分割模型Cityscapes打榜模型CVPR冠军模型领域自适应 |
高精度语义分割模型
模型名称 | 骨干网络 | 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 🌟 | 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。
轻量级语义分割模型
模型名称 | 骨干网络 | Cityscapes精度mIoU(%) | V100 TRT推理速度(FPS) | 骁龙855推理速度(FPS) | 配置文件 |
---|---|---|---|---|---|
PP-LiteSeg 🌟 | STDC1 | 77.04 | 69.82 | 17.22 | yml |
PP-LiteSeg 🌟 | 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。
超轻量级语义分割模型
模型名称 | 骨干网络 | ADE20K精度mIoU(%) | 骁龙855推理延时(ms) | 参数量(M) | 配置文件 |
---|---|---|---|---|---|
TopFormer-Base | TopTransformer-Base | 38.28 | 480.6 | 5.13 | config |
PP-MobileSeg-Base | StrideFormer-Base | 41.57 | 265.5 | 5.62 | config |
TopFormer-Tiny | TopTransformer-Tiny | 32.46 | 490.3 | 1.41 | config |
PP-MobileSeg-Tiny | StrideFormer-Tiny | 36.39 | 215.3 | 1.61 | config |
测试条件:
- 针对小米9手机,使用PaddleLite预测库的CPP API,ARMV8编译,单线程,输入图像维度是1x3x512x512。测试模型在带有最后一个argmax算子的条件下进行测试。
模型名称 | 骨干网络 | Cityscapes精度mIoU(%) | V100 TRT推理速度(FPS) | 骁龙855推理速度(FPS) | 配置文件 |
---|---|---|---|---|---|
MobileSeg | MobileNetV2 | 73.94 | 67.57 | 27.01 | yml |
MobileSeg 🌟 | 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。
入门教程
基础教程
-
准备数据集
-
模型导出
-
模型部署
进阶教程
欢迎贡献
- 使用PP-HumanSegV2进行人像分割
- 使用PP-HumanSegV1进行人像分割
- 使用PP-LiteSeg进行遥感道路分割
- PaddleSeg实战之人脸部件分割与变妆
- PaddleSeg实战之小数据集3D椎骨分割
- PaddleSeg实战之车道线图像分割
- PaddleSeg动态图API使用教程
- 10分钟上手PaddleSeg
- 车路协同:交互式分割技术在智慧建图中的应用和实践
- 基于PaddleSeg的美甲预览机
- 基于PaddleSeg的钢筋长度超限监控
更多范例项目可参考:『图像分割经典项目集』用PaddleSeg能做什么?
本项目的发布受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}
}