摘要: 图像分类技术是现代遥感的核心。图像分类是一种从图像中提取有用信息的方法。如果没有分类,图像只是代表颜色的数字集合,很难从这样的数据中获得关于景观的任何可量化信息。 借助遥感技术,我们可以从图像中提取信息来分析景观及其随时间的变化。最常用的遥感技术之一是监督图像...
图像分类技术是现代遥感的核心。图像分类是一种从图像中提取有用信息的方法。如果没有分类,图像只是代表颜色的数字集合,很难从这样的数据中获得关于景观的任何可量化信息。
借助遥感技术,我们可以从图像中提取信息来分析景观及其随时间的变化。最常用的遥感技术之一是监督图像分类。通过监督分类,用户可以识别代表感兴趣的土地覆盖类别的图像区域。这些区域被标记并用于训练计算机算法,以识别整个图像和其他图像中相同的土地覆盖类别。许多软件公司都提供昂贵的产品来帮助完成这些任务,不过使用 QGIS 可以免费执行此操作。
本教程将引导大家为 Landsat 9 图像创建土地覆盖分类。虽然将在本教程中使用 Landsat 9,但也可以应用相同的工作流程对来自任何其他来源的图像进行分类。
安装半自动分类插件
利用卫星或航空图像执行任何类型的分类都需要大量的数学和数据管理。QGIS 的半自动分类插件(简称 SCP)将在幕后处理这一切。SCP 是免费的,可以直接安装在 QGIS 中。
要安装 SCP,请导航到 QGIS 主菜单上的插件 > 管理和安装插件。这将打开 QGIS 插件管理器窗口。确保选择了左侧的“全部”。现在开始搜索“半自动分类插件”,此时应该看到它出现。单击插件名称后,单击“安装”按钮并等待安装完成。
上图显示为 QGIS 安装半自动分类插件 (SCP)。
安装 SCP 后,应该会看到一个新面板(SCP Dock)和两个新工具栏(SCP 工作工具栏和 SCP 编辑工具栏)已添加到QGIS 界面(见下图)。如果尚未添加这些功能,则可以转到“查看”>“面板”或“查看”>“工具栏”来添加;同时还将在 QGIS 主菜单上看到一个新的“SCP”选项。
上图显示 SCP 面板和工具栏。
现在我们准备好开始进行一些分类了!
打开陆地卫星数据
对于本教程,将使用 Landsat 9 Analysis Ready Data (ARD),Landsat 9 ARD 数据也可以免费下载,并且还可以使用任何其他可用的卫星或航拍图像。请注意,如果使用不同的数据集,本教程中的某些步骤可能会略有不同。
将 Landsat 9 波段 1-7 的 .TIF
文件添加到 QGIS 界面中。需要在 QGIS 中打开这些文件,以便在下一步中创建波段集。
利用 SCP 创建波段集
使用主菜单中的 SCP > Band Set 打开 SCP Band Set 窗口。单击刷新按钮将刚刚加载到 QGIS 中的波段引入。最初,波段将出现在窗口的“单波段列表”部分。选择要用于分类的所有波段(可按住 CTRL 选择多个波段)并单击添加按钮将波段添加到波段集中,屏幕应该类似于下图。
上图显示添加到 SCP 波段集中的图像。
定义感兴趣区域
一旦波段集合准备就绪,我们就可以开始定义感兴趣的区域或 ROI。定义 ROI 是监督分类的监督部分。在这一步中,将绘制多边形来说明想要表示的不同土地覆盖类别。随后将使用 SCP 进行数学运算,该运算使用来自样本 ROI 的信息来训练一种算法,该算法将预测图像其余部分的土地覆盖。
创建培训输入文件
在开始定义 ROI 之前,需要创建一个文件来保存 ROI 信息。转到 SCP Dock 面板并单击“训练输入”选项卡(在左侧,见下图)。现在点击按钮创建一个新的训练输入,为文件选择一个位置并为其命名。创建训练输入文件还将创建一个新的矢量图层,将能够在其中看到创建的 ROI。该图层的名称将与训练输入文件相同,并将自动添加到内容列表(图层面板)中。
上图显示创建一个训练输入文件来存储 ROI 数据。
显示真彩色图像
除非自己进行了一些更改,否则所有图像波段仍以灰度显示。这使得我们很难看到想要识别的土地覆盖类别,接下来让我们使用 SCP 制作真彩色图像。
在 SCP 工具栏上寻找 RGB=
旁边有一个框。在框中输入 4-3-2 并按 Enter/Return(见下图)。这将在 QGIS 目录中创建一个新的虚拟波段集(即图层面板,可能需要切换到图层面板才能看到它)。重新排序图层,使新的虚拟图层位于顶部,那么将拥有彩色图像。请注意,4-3-2 对应于 Landsat 9 的红色、绿色和蓝色波段。如果使用不同的图像源,则必须相应地调整波段编号。
上图显示从 SCP 工具栏创建的真彩色图像。
创建 ROI
现在已准备好开始创建 ROI 的一切,不过需要确保 SCP Dock 和 SCP 工具栏可用且可见。要创建 ROI,请单击SCP 工具栏上的创建 ROI 按钮。现在左键单击以放置多边形的顶点,该多边形勾勒出与单一土地覆盖类型对应的感兴趣区域。当准备好完成多边形时,右键单击以完成该步骤,可在下图中看到创建的代表湖泊一部分的 ROI。
上图显示表示部分湖泊的 ROI 多边形。
一旦 ROI 多边形完成,请返回 SCP Dock。在面板的底部,则会看到四个输入框,分别标有“MC ID”、“MC Name”、“C ID”和“C Name”。将在此处指定主类 (MC) 和类 (C) 的名称和标识符。对于湖泊 ROI,将 MC ID 保持为 1,并将 MC 名称更改为“Water”,同时还将 C ID 保留为 1,并将 C 名称更改为“Lake”。设置这些变量后,单击保存到训练输入按钮,将 ROI 多边形内的光谱特征保存到训练数据文件中。
上图显示设置ROI信息并保存训练数据文件。
只需一分钟即可保存与 ROI 相关的光谱数据。保存后,将会看到 ROI 添加到“ROI 和签名列表”中。
上图显示投资回报率列表。
创建更多 ROI 以表征景观的土地覆盖类别。对于这个示例,本文创建了四个宏类:水、植被、裸土和建筑物,并将使用这些类进行最终分类,同时需要很好地选择能够区分感兴趣土地覆盖类别之间差异的 ROI。可以通过右键单击列表中的宏类或类并调整可用设置来更改 ROI(包括颜色),将在“属性”选项中找到更多信息。
上图显示ROI 示例列表。
生成分类预览
使用 SCP,可生成分类预览,以便在执行完整分类之前,对研究区域的一部分进行初步评估。这让我们有机会确定在对完整图像进行分类之前,是否需要调整 ROI 或添加更多 ROI。
在生成预览之前,请检查 SCP 分类设置。前往 SCP > 波段处理 > 分类。在这里,可调整分类算法以及分类将发生在哪个类级别(宏类或类)。一般设置是使用阈值设置为0.0的“最小距离”算法对宏类进行分类,可使用这些设置来查看它是如何更改生成的分类。
要生成预览,请单击工具栏上的“激活分类预览指针”按钮。现在单击地图上要生成预览的位置。工具栏上的S选项将调整预览区域的大小。一个新的临时图层将添加到“图层”面板中。此图层包含分类预览,它将自动显示。
可调整颜色或分类设置,然后单击预览生成按钮旁边的“刷新”按钮,重新生成预览。
QGIS 中的监督分类预览。
执行完全分类
一旦对分类预览感到满意,就可以将分类应用于整个图像。要执行此操作,请返回 SCP > 波段处理 > 分类。选择要应用的设置。然后单击“运行”。系统将提示为分类指定输出文件,并将执行分类。这需要几分钟才能完成。分类完成后,图像将自动添加到QGIS中,可在其中查看。
在 QGIS 中使用 SCP 进行最终监督分类。完整的步骤就是这样,现已成功在 QGIS 中执行监督图像分类!