ENVI实现遥感图像的最小距离、最大似然、支持向量机分类

news2025/3/1 1:21:34

目录

1 分类需求

2 具体操作

2.1 ROI区域绘制

2.2 最小距离法

2.3 最大似然法

2.4 支持向量机

3 精度评定

4 分类后处理

4.1 小斑块处理

4.2 分类统计

4.3 修改类别颜色

5 结果对比


本文介绍基于ENVI软件,实现最小距离法最大似然法支持向量机三种遥感图像监督分类方法的具体操作,同时进行分类后处理操作,并对不同分类方法结果加以对比分析。

1 分类需求

我们先来看一下本文需要实现的需求。现有一景北京部分地区高分一号遥感影像数据,空间分辨率为16米,如下图所示;我们需要对其加以分类操作,因此称其为“待分类影像”。

此外,为了方便我们在进行分类前的目视解译(因为是用监督分类方法),还有一景同地区谷歌地球遥感影像数据,空间分辨率为0.00002 °,如下图所示;将其下称“参考影像”。

这里需要注意,本文中待分类影像数据与参考影像数据之间地理参考信息是匹配的,即同一地物在两景遥感影像中的位置是一致的;因此,我们可以直接开始后续的遥感影像分类操作。而若二者地理参考信息不匹配,则需要进行地理配准。

明确了具体需求,接下来就可以开始监督分类操作。

2 具体操作

2.1 ROI区域绘制

首先,我们需要手动绘制两个感兴趣区(ROI)文件,分别作为本次遥感影像监督分类的训练数据与精度验证数据。

在左侧待分类影像的图层名称处右键,选择“New Region Of Interest”选项。

随后,弹出“Region of Interest (ROI) Tool”窗口。我们首先在该窗口的“ROI Name”选项中输入第一个绘制的地物类型名称,这里就以“林地”为例进行绘制。

随后,选择“Geometry”一栏中的第一个选项,便可以在地图中进行林地地物的绘制;每对一个区域完成绘制,双击鼠标左键即可保存。

绘制过程中,如果在待分类影像中无法看清具体的地物,则可以借助空间分辨率相对更高的参考影像,对地物的具体类型进行辨认。

多次重复上述绘制操作,从而将研究区域不同空间位置的林地地物尽可能均匀地标注出来。

完成对某一类型地物的绘制后,选择“Region of Interest (ROI) Tool”窗口中的“New ROI”选项,开始对下一地物进行绘制。

在这里,我们紧接着以“水体”为例进行第二种地物类型的绘制。

在绘制过程中,为了保证后期监督分类的准确性,一定需要细心。例如,对于需要将“林地”与“草地”加以区分的分类应用需求,在绘制ROI区域时一定需要注意区别树木与草木。例如下图就可以明显看到树木与草木区域之间的差别。

在绘制过程中,可以定时选择“Region of Interest (ROI) Tool”窗口中的“File”→“Save”选项,从而对已经绘制的数据进行保存。

在对不同地物类型进行绘制时,在左侧图层列表的ROI文件处右键,选择“Save As…”,即可对ROI文件实现另存;默认保存格式为.xml格式。如果需要.roi格式的文件,大家可以查看感兴趣区ROI文件由XML格式转换为ROI格式的方法。

通过上述操作,对全部需要进行分类的地物完成ROI的绘制,并在左侧图层列表中ROI文件处右键,选择“Save”,即可保存当前ROI文件。

接下来,我们需要对绘制好的ROI文件进行波谱可分离性计算。这里的波谱可分离性代表ROI文件中每两个地物类型之间的可分离情况,数值越大表示这两个地物类型的差异越大,分类效果越好;如果数值较低(一般认为小于1时就较低),表示两类地物之间的差异较小,分类效果可能不佳,可以重新划分ROI区域或将二者合并。

在“Toolbox”中选择“Region of Interest”→“ROI Separability”选项。

在弹出的文件选择窗口中,输入待分类影像。

随后,选择需要参与计算的ROI地物类型。

随后,即可获取波谱可分离性计算结果页面。

由于波谱可分离性的计算是基于每两个ROI地物类型分别进行的,因此所得结果也是成对出现的;为了更直观地获取计算结果,我们可以直接对结果页面的后半部分进行浏览。其中,这里是按照升序排列的——大于1.9表明两种地物类型的分离情况较好,而较小的数值(比如上图中草地与裸土的波谱可分离性只有1.48)表明两种地物类型的分离情况不太理想。

我们可以对分离情况不太理想的地物类型区域加以修改,从而提升其与其它地物类型的波谱可分离性。例如,我这里就对裸土的区域加以再一次的修改,以期获取更高的波谱可分离性。

对修改后的ROI文件重新计算波谱可分离性,得到新的结果如下图所示(这里我将原本“林地”类型的名称修改为“Forest”了)。

可以看到,修改后ROI文件的波谱可分离性最小值由原先的1.48升至1.68,说明对地物类型区域的修改是有效果的。

通过以上方法,我们获取了一个完整的ROI文件。我们选择将这一文件作为后续监督分类过程中的输入数据,即分类的标准依据,因此将其文件名称命名为Classification.xml。此外,由于后期还需要对不同方法的分类结果加以精度评定,因此需要再一次执行上述操作,再生成一个包含有与第一个ROI文件相同的地物类型的新ROI文件,作为精度评定的依据;我们这里将其命名为Test.xml。这里需要注意,两个ROI文件中各地物类型的区域尽量不要绘制到同一个地物。

2.2 最小距离法

接下来,我们就开始基于最小距离法的监督分类操作。

在“Toolbox”中选择“Classification”→“Supervised Classification”→“Minimum Distance Classification”选项。

在弹出的分类数据输入窗口中,我们选择待分类影像数据。

随后,进入“Minimum Distance Parameters”窗口。首先,在左上角“Select Classes from Regions”一栏中选择需要进行分类的地物类型。接下来,“Set Max stdev from Mean”与“Set Max Distance Error”表示分类的阈值,前者表示以在平均值上加减一个标准差的范围作为阈值,后者表示以某个像元的像素作为阈值;超出上述范围的像素都不会纳入分类。随后,在右侧配置分类结果图像与分类结果规则图像的保存路径。关于分类方法的原理与参数的详细解释,大家可以点击左下角的“Help”查阅;我这里就直接用了默认的参数。

随后,单击“OK”执行对应操作;获取的分类结果图像如下图所示。

2.3 最大似然法

接下来,我们就开始基于最大似然法的监督分类操作。

在“Toolbox”中选择“Classification”→“Supervised Classification”→“Maximum Likelihood Classification”选项,如下图所示。

在弹出的分类数据输入窗口中,我们选择待分类影像数据。

随后,进入“Maximum Likelihood Parameters”窗口。首先,在左上角“Select Classes from Regions”一栏中选择需要进行分类的地物类型。接下来,“Set Probability Threshold”一栏表示分类阈值,小于指定可能性的像元都不参与分类。随后,“Data Scale Factor”用以将带有缩放系数的遥感影像像元数值恢复至原先的数值。随后,在右侧配置分类结果图像与分类结果规则图像的保存路径。关于分类方法的原理与参数的详细解释,大家可以点击左下角的“Help”查阅;我这里就直接用了默认的参数。

随后,单击“OK”执行对应操作;获取的分类结果图像如下图所示。

2.4 支持向量机

接下来,我们就开始基于支持向量机的监督分类操作。

在“Toolbox”中选择“Classification”→“Supervised Classification”→“Support Vector Machine Classification”选项,如下图所示。

在弹出的分类数据输入窗口中,我们选择待分类影像数据。

随后,进入“Maximum Likelihood Parameters”窗口。首先,在左上角“Select Classes from Regions”一栏中选择需要进行分类的地物类型。接下来,在“SVM Options”一栏中对支持向量机的参数进行配置。

其中,“Kernel Type”表示核函数,其每一个下拉选项均表示为一种在数学上表示核函数的不同方法;这里核函数描述的就是对目标地物类型进行预测时,以其周围数据点为参考时的权重。选择不同的核函数,就需要对不同的参数加以进一步的配置。一般的,我们选择“Radial Basis Function”即可,这个核函数可以适用于大部分分类场景。

这里我们就以“Radial Basis Function”为例来设置。选择“Radial Basis Function”后,需要对“Gamma in Kernel Function”进行配置,其表示核函数中的一个参数。随后,需要对“Penalty Parameter”参数进行配置,这个值代表惩罚参数。接下来,需要对“Pyramid Levels”参数进行配置,从而决定支持向量机分类过程中所用的图像分辨率。此外,还需要对“Classification Probability Threshold”参数进行配置,其表示分类概率阈值,如果某些像元对于任何一个地物类型的概率都小于此值,则该像元将不参与分类。随后,在右侧配置分类结果图像与分类结果规则图像的保存路径。关于分类方法的原理与参数的详细解释,大家可以点击左下角的“Help”查阅;我这里就直接用了默认的参数。

随后,单击“OK”执行对应操作;获取的分类结果图像如下图所示。

以上完成了最小距离法、最大似然法与支持向量机三种遥感图像分类方法的具体操作。

3 精度评定

接下来,我们需要对三种不同的遥感影像分类方法进行分类结果的精度评定。

首先,需要将我们在本文2.1部分完成手动绘制的、作为精度评定依据的ROI文件Test.xml导入ENVI软件中;此时,需要将其添加到待计算精度的分类结果图像上,我们这里就先以最小距离法所得结果为例介绍。

接下来,在“Toolbox”中选择“Classification”→“Post Classification”→“Confusion Matrix Using Ground Truth ROIs”选项。

在弹出的分类数据输入窗口中,我们选择待计算分类结果精度的图像数据,在这里也就是最小距离法所得结果图像。

随后,弹出“Match Classes Parameters”选项窗口。

在这一窗口中,我们需要将Test.xml文件所对应的地物类型与所得分类结果图像中地物类型两两相匹配;匹配结果出现在窗口下方的“Matched Classes”栏中。我这里由于Test.xml文件所对应的地物类型与所得分类结果图像中地物类型命名是一致的(除了分类结果图像中的“Unclassified”),因此在“Matched Classes”栏中已经自动生成匹配好的地物类型。

随后,点击“OK”,出现如下所示的参数配置窗口。我们在第一行中勾选全部选项,并在第二行中选中Yes,从而使得精度报告的呈现的数据、指标更多。

点击“OK”,即可获得如下所示的精度报告。其中,我们可以重点关注分类的总体精度“Overall Accuracy”与Kappa系数“Kappa Coefficient”。

随后,我们对最大似然法与支持向量机所得到的分类结果图像依次执行以上操作,得到三种图像分类方法各自的精度评价指标如表1所示。

关于最小距离法、最大似然法与支持向量机三种遥感图像分类方法各自精度的对比分析,置于本文第5部分讨论。

4 分类后处理

通过前述最小距离法、最大似然法与支持向量机三种分类方法,我们获得了各分类方法得到的直接结果图像。而为了使得分类得到的结果得以更为广泛的应用,我们往往还需要对其加以进一步处理,即分类后处理。分类后处理一般包括小斑块处理、分类统计、修改各类别显示颜色等步骤。

4.1 小斑块处理

我们首先进行小斑块处理操作。通过这一操作,我们可以将原有分类结果图像中零碎的地物类别加以消除,使得分类结果图像变得平滑。这一操作有很多方法,包括“Majority/Minority Analysis”“Clump Classes”“Sieve Classes”等。我们这里就对第一种方法进行操作。

在“Toolbox”中选择“Classification”→“Post Classification”→“Majority/Minority Analysis”选项。

在弹出的分类数据输入窗口中,我们选择待进行小斑块处理的分类结果影像数据。这里以最小距离法得到的分类结果为例进行介绍,如下图所示。

随后,弹出“Majority/Minority Parameters”窗口,如下图所示。首先在“Select Classes”一栏中选中全部的地物类型;随后,调整“Analysis Method”,这一参数表示具体执行主要分析还是次要分析。接下来,调整“Kernel Size”,其表示执行小斑块处理的单个范围大小,数值越大得到的处理结果越平滑。随后,调整“Center Pixel Weight”,其表示中心像元的权重。

随后,点击“OK”,即可获得小斑块处理后的结果图像。

随后,我们对最大似然法与支持向量机所得到的分类结果图像依次执行以上操作。

4.2 分类统计

接下来,如果需要实现分类统计,我们可以在“Toolbox”中选择“Classification”→“Post Classification”→“Class Statistics”选项。

从而可以实现对分类情况的基本统计值、直方图、协方差、协方差图等加以计算或绘制。

4.3 修改类别颜色

最后,我们进行修改各类别显示颜色这一步骤。在左侧图层列表中,对任意一张分类结果图的任意一个地物类型名称右键,选择“Edit Class Names and Colors”选项。

在弹出的“Edit Class Names and Colors”窗口中,按照每一类地物类型的实际情况对其颜色加以修改。

随后,点击“OK”即可完成对该结果图的颜色配置。

接下来,对其它分类结果图进行同样的颜色修改设置。这里对其它图像进行修改时,可以直接点击“Import…”选项,利用我们设定好颜色的图像进行自动设置。

5 结果对比

通过表1可知,最小距离法、最大似然法与支持向量机所得遥感影像分类结果的总体精度分别为82.02%、96.50%与98.18%,Kappa系数分别为0.7014、0.9318与0.9637。由整体观之,总体精度与Kappa系数的提升是同步的,二者增长趋势与程度较为近似;三种方法中,最小距离法所得结果精度最低,支持向量机方法所得结果精度最高,最大似然法位居二者之间。其中,最小距离法精度明显低于其余二者,其总体进度仅为82%,Kappa系数仅0.70,而其它两种方法总体精度均可达90%以上,Kappa系数均可达0.90以上。支持向量机方法精度水平非常高,总体精度甚至可达98%以上,Kappa系数达0.96以上,说明这一方法较之最小距离法与最大似然法,更加适合对城市遥感影像的分类工作。

由三种方法的参数设定与操作时长来看,最小距离法与最大似然法在方法执行的简单程度与效率方面,较之支持向量机方法更具有优势;支持向量机方法需要调整的参数整体较多,且分类时长显著大于前两种方法。当然这也是三种分类方法在数学运算的复杂程度方面具有显著差异导致的。

由分类后处理的结果来看,经过小斑块处理后的遥感影像分类结果整体更为平滑,但在一定程度上也丢了部分细节信息。这说明在今后的遥感影像分类应用中需要兼顾结果图像平滑程度与细节信息之间的平衡。

参考:参考文献

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/520188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

达索的多领域系统级仿真软件Dymola 2023版本下载与安装配置教程

目录 前言一、Dymola 安装二、使用配置总结 前言 Dymola是由Dassault Systemes公司开发的一款基于物理建模的多领域系统级仿真软件。它包含了多个领域的建模和仿真工具,如机械、电气、液压、热力学、控制等,可以用于对各种系统进行建模和仿真&#xff0…

GcExcel for Java edition 6.1.0 Crack

高速 Java Excel 电子表格 API 库,在 Java 应用程序中以编程方式创建、编辑、导入和导出 Excel 电子表格。几乎可以在任何地方部署。 创建、加载、编辑和保存 Excel 电子表格 保存为 .XLSX、PDF、HTML、CSV 和 JSON 基于具有零 Excel 依赖性的 Excel 对象模型 在本地、内部或云…

利用Facebook群组和页面打造忠实粉丝基础

社交媒体的崛起改变了我们与世界互动的方式,而Facebook作为其中的佼佼者,不仅让我们能够与朋友、家人保持联系,还提供了许多机会用于商业营销。利用Facebook群组和页面来打造忠实粉丝基础是许多品牌成功的关键之一。 一、创建一个引人注目的F…

bat脚本

bat脚本 bat脚本就是DOS批处理脚本,就是将一系列DOS命令按照一定顺序排列而形成的集合,运行在windows命令行环境上。这个文件的每一行都是一条DOS命令 在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.…

Java每日一练(20230513) 输出最值、盛水容器、旋转数组II

目录 1. 输出最值 ※ 2. 盛最多水的容器 🌟🌟 3. 搜索旋转排序数组 II 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 输出最值…

深度学习环境配置系列文章(二):Anaconda配置Python和PyTorch

深度学习环境配置系列文章目录 第一章 专业名称和配置方案介绍 第二章 Anaconda配置Python和PyTorch 第三章 配置VS Code和Jupyter的Python环境 第四章 配置Windows11和Linux双系统 第五章 配置Docker深度学习开发环境 第二章文章目录 深度学习环境配置系列文章目录前言一&…

VMware常用操作

一、vsphere linux虚拟机在线添加磁盘 1、编辑虚拟机设置 添加硬盘 后面步骤下一步即可 然后ssh 到虚拟机 查看/sys/class/scsi_host/ 有几个hostx按下列方法在线认磁盘 echo "- - -" > /sys/class/scsi_host/host2/scan 1、认到磁盘后创建pv pvcreate /dev/sdb …

【C++ 入坑指南】(04)基础语法

文章目录 一、注释二、变量三、常量四、关键字五、标识符 一、注释 作用:在代码中加一些说明和解释,方便自己或其他程序员阅读代码。 C 中有两种注释: 单行注释: // 描述信息 通常放在一行代码的上方,或者一条语句的…

key_vector详解

key_vector是linux网络路由时,非常重要的一个结构,其定义如下: struct key_vector { t_key key; unsigned char pos; /* 2log(KEYLENGTH) bits needed */ unsigned char bits; /* 2log(KEYLENGTH) bits needed */ unsigned char slen; 子网长…

kubernetes❀资源管理

kubernetes❀资源管理 3. 资源管理3.1 资源管理介绍3.2 YAML语言介绍3.3 资源管理方式3.3.1 命令式对象管理3.3.2 命令式对象配置3.3.3 声明式对象配置 3. 资源管理 3.1 资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管…

Git advanced高级操作

这篇文章是继Git概念介绍,常用命令与工作流程整理 配图_TranSad的博客-CSDN博客 之后的一些补充,学习总结一些额外Git操作中的比较常用的操作。所以这篇文章假设你已经有了前面的基础,我就直接说一些没有提到过的部分。 Detached HEAD 在G…

镜面反射BRDF模型(Specular BRDF)

利用这些假设(局部光学平坦表面,没有相互反射),可以很容易推导出一个被称为Microfacet Cook-Torrance BRDF的一般形式的Specular BRDF项。此Specular BRDF具有以下形式: 其中: D(h) : 法线分布函数 &#…

数据结构与算法十一 图的入门

一 图的入门 1.1 图的实际应用 在现实生活中,有许多应用场景会包含很多点以及点点之间的连接,而这些应用场景我们都可以用即将要学习的图这种数据结构去解决。 地图: 我们生活中经常使用的地图,基本上是由城市以及连接城市的道…

【Nginx高级篇】nginx扩容

目录 一、单机垂直扩容:硬件资源增加 二、水平扩展:集群化 (一)会话管理 1、Nginx高级负载均衡 2、使用sticky模块完成对Nginx的负载均衡 3、keepalive (二)upstream的工作流程 (三&…

为什么别人家的ChatGPT比我家的更聪明?

文章目录 引子使用技巧技巧1:使用分隔符技巧2:结构化输出技巧3:整理操作步骤技巧4:做示范技巧5:给定具体的步骤技巧6:生成摘要技巧7:情感分析 好问题的三要素总结 引子 你有没有发现&#xff0…

ENVI自动地理配准栅格图像(至少一一幅图像含有地理信息)

本文就介绍一种在ENVI 5.3 (64-bit) 软件中,自动生成地面控制点,从而对遥感影像进行地理配准的方法。 我们先来看一下本文需要实现的需求。现有以下两景遥感影像,其中一景含有地理参考信息,而另一景则不含有任何地理参考信息。在…

STL常用容器_1

目录 一、string容器 1、基本概念 2、构造函数 3、赋值操作 4、字符串拼接 5、查找和替换 6、字符串比较 7、字符存取 8、插入与删除 9、获取字串 二、vector容器 1、基本概念 2、构造函数 3、赋值操作 4、容量和大小 5、插入和删除 6、数据存取 7、互换容器…

Apache Hive

Hive的概念 Hive是Facebook开源出来,后来贡献给力Apache .宗旨是:提高分析数据的能力降低分析数据的开发成本。 Hive是基于 Hadoop 的一个数据仓库工具,用于分析数据的。 为什么说Hive是基于Hadoop的呢? ​ #作为一款数据仓库软件…

依次对两数组对应位置的元素进行逻辑判断numpy.logical_and()numpy.logical_or()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 依次对两数组对应位置的元素进行逻辑判断 numpy.logical_and() numpy.logical_or() [太阳]选择题 下列代码中np.logical_or(A, B)输出的结果是? import numpy as np A [True, Fa…

R语言 | 正态分布

目录 一、用直方图检验crabs对象 二、用直方图检验beaver2对象 三、用QQ图检验数据是否服从正态分布 四、shapiro.test()函数 所谓正态分布又称高斯分布,许多统计学的理论都是假设所使用的数据服从正态分布。 一、用直方图检验crabs对象 检验数据是否服从正态分…