深度学习|飞桨图像分割利器PaddleSeg技术分享

Posted Python学习与数据挖掘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习|飞桨图像分割利器PaddleSeg技术分享相关的知识,希望对你有一定的参考价值。


飞桨(PaddlePaddle)是国内唯一功能完备的端到端开源深度学习平台,集深度学习训练和预测框架、模型库、工具组件和服务平台为一体,拥有兼顾灵活性和高性能的开发机制、工业级应用效果的模型、超大规模并行深度学习能力、推理引擎一体化设计以及系统化服务支持的五大优势,致力于让深度学习技术的创新与应用更简单。


Paddle Fluid v1.5发布——正式发布动态图Preview版并提供 7个模型动态图版本官方实现。PaddleHub共提供40+预训练模型,覆盖文本、图像、视频三大领域八类模型,并全面提升易用性,发布PaddleHub官网。


模型压缩框架PaddleSlim新增基于模拟退火的自动剪切策略和轻量级模型结构自动搜索功能(Light-NAS)。官方模型库正式发布PaddleDetection物体检测统一框架、图像生成库PaddleGAN;升级视频识别与定位工具集PaddleVideo;发布PaddleNLP-Research,包含百度在 NLP 领域最新研究工作。


PaddleSeg是基于PaddlePaddle开发的语义分割库,覆盖了DeepLabv3+, U-Net, ICNet三类主流的分割模型。通过统一的配置,帮助用户更便捷地完成从训练到部署的全流程图像分割应用。

深度学习|飞桨图像分割利器PaddleSeg技术分享


PaddleSeg具备高性能、丰富的数据增强、工业级部署、全流程应用的特点:

  • 丰富的数据增强,基于百度视觉技术部的实际业务经验,内置10+种数据增强策略,可结合实际业务场景进行定制组合,提升模型泛化能力和鲁棒性。

  • 主流模型覆盖,支持U-Net, DeepLabv3+, ICNet三类主流分割网络,结合预训练模型和可调节的骨干网络,满足不同性能和精度的要求。

  • 高性能,PaddleSeg支持多进程IO、多卡并行、跨卡Batch Norm同步等训练加速策略,结合飞桨核心框架的显存优化功能,可以大幅度减少分割模型的显存开销,更快完成分割模型训练。

  • 工业级部署,基于Paddle Serving和PaddlePaddle高性能预测引擎,结合百度开放的AI能力,轻松搭建人像分割和车道线分割服务。


使用教程


提供了一系列的使用教程,来说明如何使用PaddleSeg完成语义分割模型的训练、评估、部署。这一系列的文档被分为快速入门、基础功能、预测部署、高级功能四个部分,四个教程由浅至深地介绍PaddleSeg的设计思路和使用方法。


1.安装PaddlePaddle

pip install paddlepaddle-gpu

2.下载PaddleSeg代码

git clone https://github.com/PaddlePaddle/PaddleSeg

3.训练/评估/可视化

PaddleSeg提供了训练/评估/可视化等三个功能的使用脚本。三个脚本都支持通过不同的Flags来开启特定功能,也支持通过Options来修改默认的训练配置。三者的使用方式非常接近,如下:

# 训练python pdseg/train.py ${FLAGS} ${OPTIONS}# 评估python pdseg/eval.py ${FLAGS} ${OPTIONS}# 可视化python pdseg/vis.py ${FLAGS} ${OPTIONS}

Note:FLAGS必须位于OPTIONS之前,否会将会遇到报错,例如如下的例子:

# FLAGS "--cfg configs/cityscapes.yaml" 必须在 OPTIONS "BATCH_SIZE 1" 之前python pdseg/train.py BATCH_SIZE 1 --cfg configs/cityscapes.yaml


启动TensorBoard命令后,我们可以在浏览器中查看对应的训练数据 在SCALAR这个tab中,查看训练loss、iou、acc的变化趋势:


在IMAGE这个tab中,查看样本的预测情况

模型评估


训练完成后,我们可以通过eval.py来评估模型效果。由于我们设置的训练EPOCH数量为100,保存间隔为10,因此一共会产生10个定期保存的模型,加上最终保存的final模型,一共有11个模型。我们选择最后保存的模型进行效果的评估:

python pdseg/eval.py --use_gpu  --cfg configs/unet_pet.yaml  TEST.TEST_MODEL test/saved_models/unet_pet/final


模型可视化


通过vis.py来评估模型效果,我们选择最后保存的模型进行效果的评估:

python pdseg/vis.py --use_gpu  --cfg configs/unet_pet.yaml  TEST.TEST_MODEL test/saved_models/unet_pet/final

更多内容可见

https://github.com/PaddlePaddle/PaddleSeg/blob/master/docs/usage.md


希望所讲内容可以帮助你,如有兴趣,点击下面「在看」分析给身边好友。

以上是关于深度学习|飞桨图像分割利器PaddleSeg技术分享的主要内容,如果未能解决你的问题,请参考以下文章

基于PaddleSeg实现眼底血管分割——助力医疗人员更高效检测视网膜疾病

PaddleSeg图像分割库再添新武器,新增压缩部署方案FLOPs降低51%

图像分割走进基于深度学习的图像分割

如何使用PaddleSeg 2.0快速测量心胸比?

深度学习核心技术精讲100篇(五十八)- 如何量化医学图像分割中的置信度?

从图像识别走向视频识别,众安科技推出视频深度学习利器