ENVI实战—一文搞定监督分类

2024-06-20 23:12

本文主要是介绍ENVI实战—一文搞定监督分类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验1:利用ROI建立样本训练集和验证集

目的:学会利用ROI建立计算机分类时的样本集

过程:

①导入影像:打开ENVI,选择“打开→打开为→光学传感器→ESA→Sentinel-2”,将Sentinel-2影像导入到ENVI平台中。

图1

②建立ROI区域:选择ROI工具,在影像中寻找一个包含植被、水体、建筑和道路等主要地物的区域,绘制矩形,建立ROI区域。

图2

③空间裁剪:按照“打开→另存为→另存为ENVI....”,在弹出的窗口中选择“空间裁剪”,导入ROI文件,对整幅Sentinel-2影像进行裁剪,得到子影像。

图3

④绘制训练样本集:点击新建ROI绘制自由形状,按照样本在影像范围内全覆盖,且同一地物不同特征全覆盖,大小样本全覆盖的原则,在影像中各绘制植被、建筑、道路、水体、农田各20个样本,将其另存为Train.xml。(图4)

图4

⑤绘制验证样本集:点击新建ROI,与训练样本集类似,针对水体、植被、田地、建筑、道路等地物,根据与此前的训练样本不重复的原则,各绘制10个验证样本,将结果另存为evaluate.xml。(图5)

图5

⑥计算ROI可分离性:找到工具箱中的工具“感兴趣区”,找到其中的工具“计算ROI可分离性”,导入影像,选择四类样本,进行分离性计算,得到任意两类样本之间的可分离性。

图6

结果:

①如下展示了本次绘制的训练样本集和精度验证集,在空间上尽可能保持不重叠。

图1 左图是训练样本集,右图是精度验证集

②图2展示了建筑、水体、植被和道路之间的分离性,其中,绝大部分地物之间都超过1.9以上,表明两种分离情况较好。而建筑和道路之间的可分离性仅占0.99,由于建筑和道路都是硬化路面,因此二类地物之间难以区分。

图2

实验2:使用最小距离法对影像进行分类

目的:学会使用最小距离法对影像进行分类

过程:

①建立训练样本集和验证样本集:基于实验1的步骤,重新就原影像进行空间裁剪,针对植被、水体、建筑、道路各绘制10个训练样本和验证样本。(实验3和实验4以及实验五采取的均为该幅影像)

②工具箱使用:找到ENVI工具箱中的图像分类工具,选择“监督分类”,选择“最小距离法”工具。

③导入影像:导入裁剪好的监督分类影像,此时ENVI会将该影像作为分类的参考依据,根据最小距离法的分类规则,自动对影像进行分类。

④最小距离法分类:,接着选中实验1中已经备选好的道路、水体、植被、建筑等训练样本集,该数据集为监督分类的参考,设置输出路径。

图1

结果:

图1展示最小距离法的分类结果。从图中可以看出,大部分的地物基于所选的训练样本进行了区分。

图1

实验3使用最大似然法对影像进行分类

目的:学会基于最大似然法对影像进行分类

过程:

①工具箱使用:找到ENVI工具箱中的图像分类工具,选择“监督分类”,选择“最大似然法”工具。

②导入影像:导入裁剪好的监督分类影像,此时ENVI会将该影像作为分类的参考依据,根据最大似然法的分类规则,自动对影像进行分类。

③最小距离法分类:,接着选中实验1中已经备选好的道路、水体、植被、建筑等训练样本集,该数据集为监督分类的参考,设置输出路径。

图2

结果:

图1展示了最大似然法下影像的分类结果,对比原图像,整体的分类效果还是较好的,在颜色的显示上,最大似然法最后显示的颜色相对明亮,对地物的区分度高。

图1

实验4使用支持向量机对影像进行分类

目的:学会基于支持向量机对影像进行分类

过程:

①工具箱使用:找到ENVI工具箱中的图像分类工具,选择“监督分类”,选择“支持向量机”工具。

②导入影像:导入裁剪好的监督分类影像,此时ENVI会将该影像作为分类的参考依据,根据支持向量机的分类规则,自动对影像进行分类。

③最小距离法分类:,接着选中实验1中已经备选好的道路、水体、植被、建筑等训练样本集,该数据集为监督分类的参考,设置输出路径。

图1

结果:

图1展现了支持向量机的分类结果,从分类的结果来看,相较于最大似然法,该影像的分类效果较差,没能很好地将建筑物和道路进行较好地区分,存在较多的错分现象。

图1

实验5使用分类结果进行精度评估

目的:学会对分类结果进行精度评估

过程:

①选择工具箱:在图像分类工具箱下找到“分类后处理”,找到“利用地面真实感兴趣进行混淆矩阵分析”,对影像的分类结果进行整体评估

图1

②样本匹配:在弹出的链接验证样本的窗口中,将水体评估、建筑评估、植被评估、道路评估与水体、建筑、植被、道路一一建立匹配关系。点击确定,即可计算影像的分类效果。依据上述过程对三种方法的结果进行一一对应,得到三种分类的精度评估结果。

图2

结果:

图1展示的最小距离法的精度评估结果,总体精度为91.4096%,其中Kappa系数的结果为0.8526;图2展示的是最大似然法的精度评估结果,总体精度为89.0603%,其中Kappa系数的结果为0.8131;图3展示的是支持向量机的精度评估结果,总体精度为91.5994%,其中Kappa系数的结果为0.8542。从评估结果可以看出,本次监督分类中,使用支持向量机方法得到了最好的分类结果,而最大似然法的分类效果相对较差。

值得注意的是,由于本次用于监督分类的样本仅包含4类地物,因此最终的分类结果中,会存在错分的现象,且由于建筑和道路难以区分,二者无论是从建筑用材还是从空间距离上都具有高度的相似性,以后进行分类时,可以尝试将二者统一,另外,将地物类别扩充,如增加农田,山体等,提高分类与实际影像的匹配程度。

图1

图2

图3

这篇关于ENVI实战—一文搞定监督分类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079525

相关文章

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版