Press "Enter" to skip to content

遥感资源大放送(上):用开源代码,训练土地分类模型

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

By 超神经

 

内容概要: 土地分类是遥感影像的重要应用场景之一,本文介绍了土地分类的几个常用方法,并利用开源语义分割代码,打造了一个土地分类模型。

 

关键词: 遥感数据集   语义分割   机器视觉

 

遥感影像是开展测绘地理信息工作的重要数据,对于地理国情监测、地理信息数据库更新等意义重大,在军事、商业、民生等领域发挥了越来越重要的作用。

 

近年来,随着国家卫星影像获取能力的提升,遥感影像数据采集效率大幅提升,形成了低空间分辨率、高空间分辨率、宽视角多角度、雷达等多种传感器共存的格局。

 

 

轨道中的 Landsat 2 正在收集地球遥感数据

 

该卫星是 NASA 陆地卫星计划中的第 2 颗

 

于 1975 年发射 ,旨在以中等分辨率获取全球季节性数据

 

传感器种类齐全,满足了不同用途的对地观测需求, 但是也造成了遥感影像数据格式不统一、耗费大量存储空间等问题, 在图像处理过程中常常面临较大的挑战。

 

以土地分类为例,以往利用遥感影像进行土地分类, 往往依赖大量人力进行标注和统计, 耗时长达数月甚至一年的时间;加上土地类型复杂多样,难免也会出现人为统计失误。

 

随着人工智能技术的发展,遥感影像的获取、加工、分析,也变得更加智能和高效。

 

常用的土地分类方法

 

常用的土地分类方法,基本上分为三类: 以 GIS 为基础的传统分类方法、以机器学习算法为依据的分类方法,以及利用神经网络语义分割的分类方法。

 

 

传统方法:利用 GIS 地理信息系统分类

 

GIS 是处理遥感影像时常需要用到的工具,全称 Geographic Information System,又被称为地理信息系统。

 

它把 关系数据库管理、高效图形算法、插值、区划和网络分析等先进 技术集成起来, 让空间 分析变得 简单易行。

 

 

利用 GIS 对伊丽莎白河东部支流地区进行空间分析

 

利用 GIS 的空间分析技术, 可以获取对应土地类型的空间位置、分布、形态、形成和演变等信息, 识别土地特征并进行判断。

 

机器学习:利用算法分类

 

传统的土地分类方法包括监督分类和非监督分类。

 

监督分类又称训练分类法, 它是指用已确认类别的训练样本像元,跟未知类别像元作比较和识别, 进而完成对整个土地类型的分类。

 

在监督分类中,当训练样本精度不够时,通常会重新选择训练区或人为目视修改,以确保训练样本像元的准确性。

 

 

监督分类后的遥感图像(左)

 

红色为建设用地,绿色为非建设用地

 

非监督分类是指不必提前获取先验类别标准,而是完全按照遥感影像中像元的光谱特性进行统计分类,该方法自动化程度高,人为干预少。

 

借助支持向量机、最大似然法等机器学习算法,可以极大提高监督分类和非监督分类的效率和准确度。

 

神经网络:利用语义分割分类

 

语义分割是一种端到端像素级别的分类方法,可以加强机器对环境场景的理解,在自动驾驶、土地规划等领域应用广泛。

 

基于深度神经网络的语义分割技术,在处理像素级分类任务时,其表现优于传统的机器学习方法。

 

 

利用语义分割算法对某地遥感影像进行识别和判断

 

高分辨率遥感图像场景复杂、细节信息丰富,地物间光谱差异不确定,很容易导致分割精度低,甚至产生无效分割。

 

利用语义分割处理高分辨率、超高分辨率遥感影像, 可以更准确地提取图像的像素特征,迅速且准确地识别特定土地类型,进而提高遥感图像的处理速度。

 

 

常用的语义分割开源模型

 

常用的像素级语义分割开源模型包括 FCN、SegNet 和 DeepLab。

 

1、全卷积网络(FCN)

特性:

端到端语义分割

优点:
不限制图像尺寸,具有通用性和高效率

缺点: 无法快速进行实时推理,处理结果不够精细,对图像细节不敏感

 

2、SegNet

特性:

将最大池化指数转移至解码器中,改善了分割分辨率

优点:训练速度快、效率高,占用内存少

缺点:测试时不是前馈(feed-forward ),需要优化来确定 MAP 标签

 

3、DeepLab

 

DeepLab 由 Google AI 发布, 主张用 DCNN 来解决语义分割任务, 共包括 v1、v2、v3、v3+ 四个版本。

 

DeepLab-v1 为了解决池化引起的信息丢失问题, 提出了空洞卷积的方式, 在增大感受野的同时不增加参数数量,同时保证信息不丢失。

 

 

DeepLab-v1 模型流程演示

 

DeepLab-v2 在 v1 的基础上, 增加了多尺度并行, 解决了对不同大小物体的同时分割问题。

 

DeepLab-v3 将空洞卷积应用在了级联模块, 并且改进了 ASPP 模块。

 

DeepLab-v3+  在 encoder-decoder 结构上采用 SPP 模块, 可以恢复精细的物体边缘。细化分割结果。

 

模型训练准备

 

目的 :在 DeepLab-v3+ 基础上,开发用于土地分类的  7 分类模型

 

数据: 源自 Google Earth 的  304 张某地区遥感图像。除原图外,还包括 经过专业标注 的 配套 7 分类图、7 mask、25 分类图、25 分类 mask 图像。 图像分辨率为 560*560,空间分配率为 1.2m。

 

原图及对应 7 分类图拼接示例

 

上半部分为原图,下半部分为 7 分类图

 

调参代码如下:

 

net = DeepLabV3Plus(backbone = 'xception')
criterion = CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.05, momentum=0.9,weight_decay=0.00001) 
lr_fc=lambda iteration: (1-iteration/400000)**0.9
exp_lr_scheduler = lr_scheduler.LambdaLR(optimizer,lr_fc,-1)

 

训练详情

 

算力选择:NVIDIA T4

 

训练框架:PyTorch V1.2

 

迭代次数:600 epoch

 

训练时长:约为 50h

 

IoU:0.8285(训练数据)

 

AC:0.7838(训练数据)

 

数据集链接:

 

https://openbayes.com/console/openbayes/datasets/qiBDWcROayo

 

详细训练过程直达链接:

 

https://openbayes.com/console/openbayes/containers/dOPqM4QBeM6

 

 

遥感图像土地七分类公共教程详情

 

教程使用

 

教程中的样例展示文件是 predict.ipynb,运行这个文件,会安装环境,并展示已有模型的识别效果。

 

项目路径

 

– 测试图片路径:

 

semantic_pytorch/out/result/pic3

 

– 掩膜图片路径:

 

semantic_pytorch/out/result/label

 

– 预测图片路径:

 

semantic_pytorch/out/result/predict

 

– 训练数据列表: train.csv

 

– 测试数据列表: test.csv

 

使用说明

 

训练模型进入 semantic_pytorch,训练的模型被保存在 model/new_deeplabv3_cc.pt。

 

模型采用 DeepLabV3plus,训练参数中,Loss 采用二进制交叉熵。Epoch 为600,初始学习率0.05。

 

训练指令:

 

python main.py

 

如果使用我们已经训练好的模型,则使用保存在 model 文件夹中 fix_deeplab_v3_cc.pt,在 predict.py 中直接调用即可。

 

预测指令:

 

python predict.py

 

教程地址:

 

https://openbayes.com/console/openbayes/containers/dOPqM4QBeM6

 

模型作者

 

 

王岩鑫

 

黑龙江大学

 

软件工程 研二

 

现于 OpenBayes 实习

 

 

问题 1:为了开发这个模型,你都通过哪些渠道,查阅了哪些资料?

 

王岩鑫:主要是通过技术社区、GitHub 等渠道,查看了一些 DeepLab-v3+ 的论文和相关项目案例,提前了解了一下都有哪些坑、怎幺克服,为后续模型开发过程中随时遇到问题随时查询解决,做了比较充分的准备。

 

问题 2:过程中遇到了哪些障碍?怎幺克服的?

 

王岩鑫:数据量不是很够,导致 IoU 和 AC 的表现一般,下次可以用数据量更丰富的公开遥感数据集试试。

 

问题 3:关于遥感还想尝试哪些方向?

 

王岩鑫:这一次是对土地进行分类,接下来我想利用结合机器学习和遥感技术,对海洋景观和海洋要素进行分析,又或者结合声学技术尝试对海底地形进行识别和判断。

 

此次训练所用数据量较小,在训练集上 IoU 及 AC 表现一般,大家也可以尝试用已有公共遥感数据集进行模型训练,一般情况下训练越充分、训练数据越丰富,模型表现越好。

 

本系列的(下)篇文章中, 我们汇总了 11 个主流的公共遥感数据集,并将其做了归类整理。 大家可以依据本文提供的训练思路,按需选用,训练更完善的模型。

 

参考:

 

http://tb.sinomaps.com/CN/0494-0911/home.shtml

 

file:/

 

https://zhuanlan.zhihu.com/p/75333140

 

http://www.mnr.gov.cn/zt/zh/zljc/201106/t20110619_2037196.html

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注