图像分割之流程总结

标签: 无 分类: 未分类 创建时间:2025-11-02 09:03:00 更新时间:2026-05-27 11:42:29

1.前言

根据图像分割的方法,这篇文章主要就是做一个简单的总结。整体的步骤和目标识别的步骤差不多,主要就是数据处理、训练和预测,最后就是模型部署。因为前面我尝试过用yolo进行了操作,虽然能完整的复现整个过程,但是没有能实际拿的出手的,后来我了解到,使用DeepLab可能效果更好,于是就准备用这个进行测试和训练,看看最终的结果如何。

2.数据处理

(1)矢量标注
创建shp文件,勾绘图形,用arcpro对不同地物进行勾绘,生成标注矢量图层。

(2)赋值属性
根据地物属性,设置id,不同地物类型设置不同的id。

(4)数据质检
对生产的矢量数据进行拓扑检查,处理压盖、空洞问题,数据中不能出现模糊的定义,数据分类越精确,识别效果越好,未知类型赋值为背景id。

(5)格式转换
将shp文件按照id号属性,转为栅格图像,生成Mask图像,

(6)数据对齐
将原始影像和Mask图像用进行校准,用同一个矩形进行裁剪,保证数据范围一致。

(7)数据分割
利用分割代码,将原始影像和Mask影像进行分割,生成 512x512 的切片,并按照 7:3 的比例分成训练集和测试集,供模型训练和测试。

参考文章:
【1】.【实战指南】3步极速上手:用SegFormer实现遥感图像语义分割 SegFormer作为专为语义分割设计的Transformer模型,通过创新的分层编码器和轻量级解码器架构,在保持高精度的同时大幅降低了计算成本,特别适合处理大尺寸遥感图像
【2】.语义分割笔记(一):基于PaddleSeg使用Transfomer模型对航空遥感图像分割

3.数据训练

4.数据预测

5.模型部署

6.后记

小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件(ititchuan@gmail.com)通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
ititchuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。