第五十八回 吴用赚金铃吊挂 宋江闹西岳华山-飞桨图像分割套件PaddleSeg初探

鲁智深被贺太守抓住,押入死牢。武松得信后,正想回梁山报信,正好戴宗来了,就请戴宗赶快回梁山搬救兵。宋江说兄弟有难,怎能不救? 于是带了十六个头领来到少华山。

因为华州城池厚壮,宋江等无计可施。正一筹莫展之际,恰逢一个宿太尉领御赐金玲吊挂来西岳华山降香,宋江就"请"太尉上山,并"借"了太尉一身行头。

宋江等假扮太尉,把贺太守骗出城来,杀掉。然后杀入华州,救出了史进和鲁智深。最后又把御香、金玲等物都还给了宿太尉。

少华山四人也都加入了梁山。

宋江继续引人入伙,AI轮到图像分割。

飞桨图像分割套件PaddleSeg初探

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

PaddleSeg环境安装

源码安装PaddleSeg

复制代码
# 从Github下载PaddleSeg代码。

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

下载源码之后编译安装

复制代码
cd PaddleSeg
pip install -r requirements.txt
pip install -v -e .

也可以

使用pip安装

复制代码
pip install paddleseg

确认环境安装成功

在PaddleSeg目录下执行如下命令,会进行简单的单卡预测。查看执行输出的log,没有报错,则验证安装成功。

复制代码
sh tests/install/check_predict.sh

PaddleSeg快速入门示例

使用眼底分割作为示例进行演示,实际应用中,可以根据自身的业务需求和场景进行相应的调整与适配。数据集可以用自己的,模型也可以选配其它的。

参考:https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.9/docs/whole_process_cn.md

准备数据

本示例将采用视盘分割(optic disc segmentation)数据集进行演示。数据集的原始图像和对应的分割效果图如下所展示。

使用如下命令下载数据集

复制代码
mkdir data
cd data
wget https://paddleseg.bj.bcebos.com/dataset/optic_disc_seg.zip
unzip optic_disc_seg.zip
cd ..

准备配置文件

在PaddleSeg中,我们常用配置化驱动的方式来进行开发,配置文件是模型训练、评估、预测和部署的关键所在。

配置文件中详细定义了分割模型、损失函数、训练超参数、训练数据集以及验证数据集等信息。

本示例使用的配置文件位于:PaddleSeg/configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml

模型训练

在PaddleSeg的根目录下,执行以下命令来启动单机训练。

bash 复制代码
python tools/train.py \
       --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml \
       --save_interval 500 \
       --do_eval \
       --use_vdl \
       --save_dir output

训练完成后,模型在验证集上的mIoU可能达到90.65%(具体数值可能会有所变动),精度最高的模型权重将保存在PaddleSeg/output/best_model目录下。

模型评估

在PaddleSeg根目录下,执行以下命令,使用val.py脚本来评估模型的精度,即计算验证数据集的精度。

bash 复制代码
python tools/val.py \  
       --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml \  
       --model_path output/best_model/model.pdparams

模型预测

在PaddleSeg根目录下,执行以下命令,使用predict.py脚本加载训练好的模型,对图像进行预测,并保存预测结果。

bash 复制代码
python tools/predict.py \  

       --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml \  

       --model_path output/best_model/model.pdparams \  

       --image_path data/optic_disc_seg/JPEGImages/H0002.jpg \  

       --save_dir output/result

预测完成后,可以在PaddleSeg/output/result目录下查看预测结果,具体图像如下所示。

一天,旱地忽律朱贵上报,说徐州沛县芒砀山有一伙儿强人,三人叫混世魔王樊瑞,八臂哪吒项充和飞天大胜李衮,号称要吞并梁山泊。宋江正要下山,九纹龙史进说我们四个去就行了。

史进四人与樊瑞三人一交手,就落了下风,多亏小李广花荣和金枪手徐宁随后就过来帮忙。第二天,宋江亲自带着大队人马赶到。

公孙胜说他们会妖法,我用一个阵法来抓他们。

欲知后事如何,且听下回分解。

相关推荐
数据科学作家15 小时前
学数据分析必囤!数据分析必看!清华社9本书覆盖Stata/SPSS/Python全阶段学习路径
人工智能·python·机器学习·数据分析·统计·stata·spss
CV缝合救星16 小时前
【Arxiv 2025 预发行论文】重磅突破!STAR-DSSA 模块横空出世:显著性+拓扑双重加持,小目标、大场景统统拿下!
人工智能·深度学习·计算机视觉·目标跟踪·即插即用模块
TDengine (老段)18 小时前
从 ETL 到 Agentic AI:工业数据管理变革与 TDengine IDMP 的治理之道
数据库·数据仓库·人工智能·物联网·时序数据库·etl·tdengine
蓝桉80218 小时前
如何进行神经网络的模型训练(视频代码中的知识点记录)
人工智能·深度学习·神经网络
星期天要睡觉19 小时前
深度学习——数据增强(Data Augmentation)
人工智能·深度学习
笑脸惹桃花19 小时前
50系显卡训练深度学习YOLO等算法报错的解决方法
深度学习·算法·yolo·torch·cuda
南山二毛20 小时前
机器人控制器开发(导航算法——导航栈关联坐标系)
人工智能·架构·机器人
大数据张老师20 小时前
【案例】AI语音识别系统的标注分区策略
人工智能·系统架构·语音识别·架构设计·后端架构
xz2024102****20 小时前
吴恩达机器学习合集
人工智能·机器学习
anneCoder20 小时前
AI大模型应用研发工程师面试知识准备目录
人工智能·深度学习·机器学习