Skip to content

执行监督分类

来源: https://vis-webcontent.s3.amazonaws.com/quickguides/Classification/Supervised+Classification/index.html#/

课程内容

第 1 课,共 1 课

执行监督分类

在本快速指南中,您将:

  • • 打开并显示 Sentinel-2 图层堆叠影像。
  • • 恢复包含预定义类别训练数据的感兴趣区文件。
  • • 预览多种监督分类器的分类结果。
  • • 运行监督分类并创建 ENVI 分类栅格和 Shapefile。
  • • 编辑 Shapefile 属性,使每个类别具有唯一的线条和填充颜色。

样本数据

下载下方的样本数据。然后将 .zip 文件的内容解压缩到本地目录。

[Sentinel2_LandCoverClassification.zip

1.7 GB

下载 Arrow down with horizontal line beneath it](assets/Sentinel2_LandCoverClassification.zip)

背景

当您熟悉影像覆盖的区域并且知道它包含哪些地物时,可以执行监督分类。

监督分类的一个关键组成部分是使用训练数据来提供您感兴趣地物的样本。这些样本具有已知的类别属性,因为它们是从影像中(或在实地)以高度确定性选出的,对应于特定的地物。然后,分类算法使用训练数据的光谱属性将未知类别的像素分类到您定义的其中一个类别中。训练数据可以直接来自影像像素。在 ENVI 中,您可以使用 ROI(感兴趣区)从影像像素中收集训练数据。

打开并显示 Sentinel-2 多光谱影像

  1. 1 从菜单栏选择 File > Open。出现一个打开对话框。
  2. 2 转到保存样本数据的位置,选择文件 Sentinel2_LayerStack_Montana.dat
  3. 3 点击 Open。影像被添加到图层管理器并显示在影像窗口中。
  4. 4 点击工具栏中的 Zoom to Full Extent 按钮。

这是一个图层堆叠影像,意味着 10 米和 20 米多光谱波段被组合在一个影像中,而不是分开的波段组中。更多信息请参见 Build Band and Layer Stacks 快速指南。

启动分类工作流

  1. 1 在工具箱中,展开 Classification 文件夹并双击 Classification Workflow。工作流从文件选择面板开始。Raster File 字段已自动填入 Sentinel2_LayerStack_Montana.dat。
  2. 2 点击 Next 按钮进入分类类型面板。
  3. 3 选择 Use Training Data 选项,然后点击 Next 按钮进入监督分类面板。

恢复训练数据 ROI 文件

在本练习中,您将使用美国地质调查局的 LCMAP Level-1 方案(在新标签页中打开) 对不同的土地覆盖类型进行分类。土地覆盖类型包括:建设用地、农田、草地/灌木、树木覆盖、水体、湿地、冰雪和贫瘠地。

LCMAP 一级土地覆盖类别。来源:美国地质调查局,公共领域。

您将恢复一个已为您创建好的 ROI 文件,其中包含每个地物类别的训练数据。有关如何创建此类训练数据 ROI 文件的示例,请参见 Collect Classification Training Data From Image Spectra 快速指南。

  1. 1 点击 Load Training Data Set 按钮。

出现选择训练数据文件对话框。

  1. 2 转到保存样本数据的位置,选择文件 TrainingDataROIs.xml
  2. 3 点击 Open。ROI 会列在分类工作流中,添加到图层管理器,并显示在 Sentinel-2 影像上方。

  1. 4 在图层管理器中,取消勾选 Regions of Interest 文件夹以隐藏 ROI。

接下来,您将预览四种不同监督分类器的分类结果。

  1. 5 点击 Algorithm 选项卡。
  2. 6 点击 Probability Threshold 上方的下拉列表,选择 Minimum Distance

最小距离分类

最小距离分类器是其他监督方法的基础。它计算每个像素与每个类别的均值向量之间的欧几里得距离,然后将每个像素分配给最近的类别。它的速度相当快。它对影像中的每个像素进行分类,直到达到指定的最大距离或标准差阈值。

  1. 1 启用 Preview 选项。一个预览窗口出现在影像窗口中。它显示最小距离分类的结果,未设置标准差或最大距离。
  2. 2 点击 ENVI 工具栏中的 Select 按钮(箭头图标)。
  3. 3 将光标移动到预览窗口顶部,直到出现四向箭头图标。然后点击并拖动 Preview Portal影像窗口中移动。
  4. 4 要放大预览窗口,点击并拖动其右下角进行扩展。

  1. 5 将光标移动到预览窗口顶部以显示工具栏,然后选择绿色的 Play 按钮。预览窗口在分类结果和 Sentinel-2 影像之间闪烁。这是一种比较两张影像的便捷方法。
  2. 6 要停止闪烁,点击预览窗口工具栏中的 Pause 按钮。
  3. 7 点击 Standard Deviations from Mean 下的 Single Value 单选按钮。默认值是 10,000,000。
  4. 8 将 Standard Deviations from Mean 值改为 3,然后按下 Enter 键。预览窗口相应更新。反射率值超出类别均值(针对所有类别)三个标准差的像素将不被分类。它们是您在预览窗口中看到的黑色像素。该值越低,未被分类的像素就越多。

除了使用标准差作为阈值,您还可以指定一个距类别均值的最大距离。

  1. 9 点击 Standard Deviations from Mean 下的 None 单选按钮。
  2. 10 点击 Maximum Distance Error 下的 Single Value 单选按钮。同样,默认值是 10,000,000。
  3. 11 将 Distance Error 值改为 2000,然后按下 Enter 键。其欧几里得距离距类别均值(针对所有类别)超过 2000 像素的像素将不被分类。

  1. 12 将分类工作流移开,然后在影像窗口中移动预览窗口以查看不同区域的分类结果。

提示:当预览窗口处于活动状态时,要缩小视图,在影像窗口中单击一次,然后使用鼠标滚轮进行缩放。点击并按住滚轮或鼠标中键进行平移。在预览窗口更新时,您可能会遇到轻微的延迟。

请注意,山区像素的误分类增加了。阴影下的像素被错误地分类为"水体"。明亮的像素被错误地分类为"建设用地"。

让我们尝试另一个监督分类器。

最大似然分类

该分类器假设每个类别在每个波段中的统计数据是正态分布的。它计算给定像素属于特定类别的概率。每个像素被分配到具有最高概率的类别。

  1. 1 点击分类器下拉列表并选择 Maximum Likelihood预览窗口相应更新。

  1. 2 点击 Probability Threshold 下的 Single Value 单选按钮。
  2. 3 尝试介于 0 和 1 之间的不同 Probability Threshold 值。该阈值是纳入类别的最小概率。例如,值 0.9 比设置 0.5 包含的像素更少,因为 90% 的概率要求比基于 50% 的机会允许像素进入类别更为严格。
  3. 4 使用预览窗口中的闪烁操作来比较分类结果与 Sentinel-2 影像。与最小距离相比,最大似然将更多的像素分类为"水体"。此外,水像素很小且分散,这是不正确的。

马氏距离分类

该分类器类似于最大似然,但它假设所有类协方差都相等,因此是一种更快的方法。与最小距离类似,它计算每个未知像素到每个类别平均 ROI 的欧几里得距离。

  1. 1 点击分类器下拉列表并选择 Mahalanobis Distance预览窗口相应更新。
  2. 2 点击 Single Value 单选按钮。
  3. 3 将 Distance Error 值改为 5,然后按下 Enter 键。
    与最小距离分类器相比,Distance Error 参数的作用略有不同。马氏距离考虑了可能的非球形概率分布。Distance Error 是指一个类别必须落在分布中心或均值之内的距离。距离阈值越小,未被分类的像素就越多。

在农业区域,与最小距离或最大似然相比,马氏距离将更多像素分类为"湿地"。此外,与其他两种方法相比,农业区域显示出类别之间更多的变异性。

光谱角制图分类

SAM 使用 n 维角度将像素与训练数据进行匹配,其中 n 是光谱波段的数量。它比较了 n 维空间中训练平均 ROI 与每个像素 ROI 之间的角度。较小的角度表示与参考光谱更接近的匹配。像素被分类到角度最小的类别。

  1. 1 点击分类器下拉列表,选择 Spectral Angle Mapper预览窗口相应更新。请注意,与其他三个分类器相比,山区被误分类为"水体"的像素更少。

  1. 2 点击 Single Value 单选按钮。
  2. 3 尝试介于 0 和 1.5708(Pi/2)弧度之间的不同 Spectral Angle 值。这是像素被视为属于类别一部分时所在的角度范围。该值越低,未被分类的像素就越多。以下屏幕截图显示了将光谱角设置为 0.7 的示例。与马氏距离分类器一样,农业区域显示出类别之间很大的变异性,以及许多小的像素群。

在本练习中,让我们使用最小距离分类器。

  1. 4 点击分类器下拉列表并选择 Minimum Distance
  2. 5 点击 Standard Devations from MeanMaximum Distance Error 下的 None 单选按钮。
  3. 6 点击 Next 按钮进入清理面板。

清理分类结果

如果您计划在工作流的最后一步将分类矢量保存到文件,建议进行清理。执行清理可显著减少导出分类矢量所需的时间。工作流的此步骤使用平滑和聚合操作。平滑可减少斑点噪声。聚合可去除小的、孤立的像素区域。

  1. 1 保持 Smooth Kernel SizeAggregate Minimum Size 的默认值。聚合操作将过滤掉包含少于 9 个像素的像素组。
  2. 2 点击 Next 按钮进入导出面板。

导出分类结果

在本练习中,您将把一种分类器的结果导出到 ENVI 分类栅格和 shapefile。供日后参考,您可以通过点击 Back 按钮返回到定义训练数据面板,将多个分类器的结果导出到磁盘和/或 shapefile。选择不同的分类器,相应地设置其阈值或距离参数,然后点击 Next 继续工作流的其余部分。您需要对每个分类器都执行此操作。

另一个选项是使用 ENVI Modeler 创建一个模型,该模型运行多个监督分类器并在 ENVI 中显示它们。更多信息请参见 ENVI Modeler 快速指南。

  1. 1 保持 Export Classification ImageExport Classification Vectors 选项为勾选状态。
  2. 2 在分类图像的 Output Filename 字段中,输入 Sentinel2_Montana_Classes.dat
  3. 3 在分类矢量的 Output Filename 字段中,输入 Sentinel2_Montana_Classes.shp

  1. 4 点击 Finish 按钮。处理完成后,分类影像和 shapefile 被添加到图层管理器并显示在影像窗口中。
  2. 5 在图层管理器中,取消勾选 Sentinel2_Montana_Classes.datSentinel-2_LayerStack_Montana.dat 图层以隐藏它们。仅显示 shapefile。所有类别都有红色多边形。您无法区分哪个类别是哪个。

接下来,您将编辑 shapefile 属性,使每个类别具有唯一的线条和填充颜色。

编辑类别 Shapefile 属性

  1. 1 在图层管理器中,右键单击 Sentinel2_Montana_Classes.shp 并选择 Properties。出现矢量属性对话框。属性值部分列出了各个类别。它们都有红色轮廓。

  1. 2 在 Shared Properties 部分,点击 Fill Interior 字段。
  2. 3 点击出现的小下拉箭头,选择 True

  1. 4 点击 Apply 按钮。所有 shapefile 记录都变为深红色。稍后您将更改此颜色。
  2. 5 选中 Barren 类别,在 Value: Barren 部分下的 Line Color 字段中点击。

  1. 6 点击小下拉箭头,选择一种深灰色
  2. 7 点击 Fill Color 字段,选择一种中灰色
  3. 8 点击 Apply。"贫瘠地"类别的多边形变为灰色。
  4. 9 使用下面的屏幕截图作为参考,更改剩余类别的 Line ColorFill Color 属性。

对于"湿地"类别的颜色,在颜色选择对话框中点击 Custom 选项卡,并从图表中选择深蓝色和青色。

  1. 10 点击 Apply。类别颜色在影像窗口中更新。

  1. 11 点击 Symbology 下拉列表,选择 Save/Update Symbology File。ENVI 会在 shapefile 所在的同一目录中创建一个 Sentinel2_Montana_Classes.evs 文件。只要这个 .evs 文件保留在同一目录中,当您将来打开分类 shapefile 时,ENVI 将使用它来显示相应的颜色。
  2. 12 本练习到此结束。

总之,监督分类器依赖于训练数据来提供已知的类别数据样本。分类器尝试根据与训练类别均值的相似性度量对每个像素进行分类。根据分类器的不同,相似性度量可以是欧几里得距离、标准差、概率或光谱角。在本快速指南中,您直观地比较了四种不同分类器的结果,并创建了一个最小距离分类影像。

要使用更定量和科学的方法来确定类别精度,您可以评估混淆矩阵。详情请参见 Evaluate Class Statistics and Confusion Matrices 快速指南。

最后,当您确信像素的实际类别时,可以使用 Edit Classification Image 工具来修正误分类的像素。详情请参见 Edit Classification Images 快速指南。

其他资源

  • Collect Classification Training Data from Image Spectra 快速指南
  • Edit Class Names and Colors 快速指南
  • Edit Classification Images 快速指南
  • ENVI 机器学习教程:监督分类(在新标签页中打开) (PDF)
  • Evaluate Class Statistics and Confusion Matrices 快速指南
  • Perform an Unsupervised Classification 快速指南

您的意见对我们很重要,请花几分钟时间填写我们的快速指南反馈(在新标签页中打开)表格。

© 2024 NV5 Geospatial Solutions, Inc. 此信息不受《国际武器贸易条例》(ITAR) 或《出口管理条例》(EAR) 的控制。