深度学习|飞桨图像分割利器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具备高性能、丰富的数据增强、工业级部署、全流程应用的特点:
丰富的数据增强,基于百度视觉技术部的实际业务经验,内置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%