Code Monkey home page Code Monkey logo

haroldliuj / paddleseg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paddlepaddle/paddleseg

0.0 0.0 0.0 349.45 MB

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.

Home Page: https://arxiv.org/abs/2101.06175

License: Apache License 2.0

Shell 2.81% JavaScript 0.12% C++ 1.87% Python 90.09% C 0.18% Java 2.82% TypeScript 0.02% Cuda 1.08% HTML 0.04% CMake 0.63% Jupyter Notebook 0.14% Cython 0.20%

paddleseg's Introduction

简体中文 | English

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

License Version python version support os stars

最新动态

  • [2023-09-01] 🔥🔥 飞桨AI套件 PaddleX 发布全新版本,围绕飞桨精选模型提供了一站式、全流程、高效率的开发平台,希望助力AI技术快速落地、使人人成为AI Developer!欢迎大家使用和共建。
  • [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、多卡并行训练、评估等加速策略,结合飞桨核心框架的显存优化功能,大幅度减少分割模型的训练开销,让开发者更低成本、更高效地完成图像分割训练。

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

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

技术交流

飞桨AI套件PaddleX —— 精选产业实用模型的一站式开发平台,具有如下特色:

  • 【丰富的算法库】PaddleX提供36个精选模型,覆盖了10大AI任务场景,并附带模型推理benchmark数据。开发者可以根据业务需求轻松选择合适的模型,并进行开发和部署。
  • 【简便的开发方式】PaddleX支持无代码和低代码开发,只需四个简单步骤,即可完成全流程AI开发,包括数据处理、模型训练、验证和部署。
  • 【高效的模型部署】PaddleX平台提供强大的部署能力,支持快速实现产业级部署,实现跨平台、跨硬件的部署。
  • 【多样的硬件支持】PaddleX不仅能够在AI Studio云端使用,还支持在Windows本地环境使用,并正在积极扩展支持Linux版本、昆仑芯版本、昇腾版本和寒武纪版本。
  • 【共赢的合作机会】除了提供便捷的AI应用开发工具,PaddleX还为企业提供商业收益机会,共同探索更多商业空间,实现共同成长和共赢。

作为一款高效的开发神器,PaddleX值得每一位开发者拥有(官网)。

欢迎微信扫描下方二维码或者点击链接,进入AI Studio【PaddleX社区频道】获得更高效的技术答疑~

产品矩阵

模型 组件 特色案例
骨干网络
损失函数
评估指标
  • 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 🌟 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 🌟 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。
超轻量级语义分割模型

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

模型名称 骨干网络 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。

使用教程

入门教程

基础教程

进阶教程

欢迎贡献

特色能力

产业实践范例

更多范例项目可参考:『图像分割经典项目集』用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}
}

paddleseg's People

Contributors

michaelowenliu avatar wuyefeilin avatar lutaochu avatar nepeplwu avatar juncaipeng avatar zeyuchen avatar shiyutang avatar sjtubinlong avatar haoyuying avatar geoyee avatar bobholamovic avatar lielinjiang avatar yellowlight021 avatar joey12300 avatar txyugood avatar cuberrchen avatar justld avatar marshall-dteach avatar kazusaw1999 avatar sunting78 avatar yzl19940819 avatar tianlanshidai avatar furao123 avatar harryoung avatar yanhuidua avatar pennypm avatar 0x45f avatar mmglove avatar parap1uie-s avatar neonhuang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.