无需编码即可使用 ArcGIS Pro 中的深度学习进行基于像素的分类

本文提供了在 ArcGIS Pro 中使用深度学习执行基于像素的分类的简明指南,而不是编写代码来构建深度学习模型。

我们将介绍从数据准备和模型训练到分类和可视化的基本步骤。无论您是 GIS 专业人员还是遥感专家,本教程都将帮助您利用深度学习完成地理空间项目。

我的训练图像来自 2022 年 4 月,覆盖台湾整个 石门水库集水区。它使用具有 4 个波段(R、G、B、NIR)的 Spot-6 影像。我添加了一个 5m DEM 来计算坡度作为附加波段,使其总共有 5 个波段。图像经过预处理,单元大小为 1.5m,深度为 8 位。

由于测试影像为2024年3月拍摄,覆盖石门水库集水区部分区域,波段排列相同,已进行预处理,确保所有栅格信息与训练样本相符。

步骤 1.下载深度学习包

第一步,我们需要下载DL包。下载链接

选择与您的ArcGIS Pro版本匹配的版本,
然后双击**.msi**文件解压并安装。

步骤2.数据准备和预处理

确保图像正确预处理(例如,缩放像素值),以便训练和测试图像共享相同的参数,包括像素大小、像素深度、波段数和坐标系。

您可以将特征图层添加到训练样本中 ,然后合成它们。
只需确保测试样本具有相同的波段排列即可。

步骤3.将对象标记为训练样本。

成功安装该软件包后,"深度学习"功能将在"图像"选项卡中可用。

加载训练样本前,请确保同一类别的所有样本拥有相同的类别编码、类别名称、类别值(类别值不能为0)。(编辑完成后记得导出样本。)

单击"标注深度学习对象",然后选择现有影像图层。然后单击加载训练样本。
加载样本后,选择所有类别 并单击**"编辑类别属性"**。

单击**"标注深度学习对象"** 并选择现有影像图层,然后加载训练样本。
加载后,选择相同的类 并单击**"编辑类属性"**。

在"定义类"面板中,选择**"添加新类"** ,输入类Name和Value(值不能为0),然后单击"确定"。

单击导出训练数据 ,将输出文件夹更改为您的位置,并将元数据格式 更改为基于像素的分类。Classified Tiles

其他参数可以调整,我保持默认**,** 然后点击运行。
输出文件夹将包含两个文件夹和四个文件。

步骤 4.开始训练你的深度学习模型

打开训练深度学习模型工具。
(Image Analyst 工具/深度学习)

选择包含训练数据的文件夹(4 个文件和 2 个文件夹)。
设置输出模型位置。
将模型类型更改为U-Net (Pixel Classification)。
在数据参数中,将"mixup"从 false 更改为True。

保持其他所有参数为默认设置。

您可以访问网站查看每个论点的详细解释!!

训练深度学习模型 (影像分析师) --- ArcGIS Pro | 文档深度学习参数 --- ArcGIS Pro | 文档

训练完成后,输出文件夹将包含四个文件和一个文件夹。
该**.dlpk**文件是主模型,我们将使用它来测试样本。
我们可以打开 html 文件,它显示了模型的性能。

我使用的真实数据由于图像扭曲而存在一些问题;但是,我们可以看到该模型仍然可以检测到正确的滑坡覆盖区域。

在损失图 中,我们观察到两条线:蓝线表示训练损失 ,橙线表示验证损失 。
随着训练周期数的增加,两条曲线都呈现下降趋势,表明模型正在学习并逐渐提高其性能。当损失值稳定时,表明模型的训练已达到收敛并且没有过拟合。

至于Precision、Recall 和F1(F1-score),则来自于混淆矩阵的概念,都是用来评估模型性能的。

来源:性能指标 | Vaibhav Jayaswal 著 | Towards Data Science

Presion = TP / (TP + FP),
表示在所有预测的阳性结果中,有多少百分比是真正的阳性。

召回率 = TP / (TP + FN),
表示在全部阳性样本中,预测为阳性的占比。与 TPR(真实阳性率)相同。

F1-Score = (2 * 准确率 * 召回率) / (准确率 + 召回率)
它是准确率和召回率的调和平均值。它同时考虑了假阳性和假阴性。因此,它在不平衡的数据集上表现良好。

步骤 5. 现在是测试的时候了!

打开使用深度学习分类像素 工具。
(图像分析工具/深度学习)

输入预处理后的测试影像,确保其与训练样本的栅格信息相匹配。

设置输出位置并将**.dlpk上一步中的文件输入到模型定义中。
保留其他参数为
默认值** ,然后单击运行 。
(此外,如果可用,请转到环境并将处理类型设置为 GPU)

通过这样做,您将看到模型对测试样本的预测。

相关推荐
成为深度学习高手9 分钟前
xLSTM-Mixer:用标量记忆同时混合时间与变量,把循环网络带回多元时序预测
人工智能·python·深度学习·数据挖掘·transformer
结局无敌20 小时前
React Native for OpenHarmony 实战:三方库 react-native-modal-dialog 的鸿蒙化适配指南
深度学习·算法·react native·react.js·harmonyos
DeeGLMath20 小时前
optimtool最新版加速训练分类任务
人工智能·分类·数据挖掘
在所不辞兄20 小时前
为什么神经网络对对抗扰动和分布偏移往往比较脆弱,而人类感知相对更鲁棒?
人工智能·深度学习·神经网络·机器学习
tomwang032221 小时前
路径优化建模、优化算法分类及工程化小结
算法·数学建模·分类
szxinmai主板定制专家21 小时前
储能 EMS、微网控制器选型:RK3588、RK3576、RK3568+FPGA 怎么选?多网、多 CAN、EMC 设计权衡
人工智能·深度学习·机器学习·fpga开发·工业网关·rk3576·电力网关
鬼手点金1 天前
Harness 工程:模型之外的竞争力
服务器·人工智能·深度学习·机器学习·bug
结局无敌1 天前
React Native for OpenHarmony 实战:三方库 react-native-paper 的鸿蒙化适配指南
javascript·人工智能·深度学习·react native·react.js·ecmascript·harmonyos
在所不辞兄1 天前
【神经网络干货】把指数级计算拆成四条一维路径:可分离 PI-DeepONet 如何破解高维 PDE
人工智能·深度学习·神经网络·机器学习
CV爱数码1 天前
论文精读|FBPConvNet:先 FBP 再 U-Net,深度学习 CT 重建的起点
人工智能·深度学习·ct·重建