本文提供了在 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)
通过这样做,您将看到模型对测试样本的预测。