ENVI:如何进行遥感图像的分类?(支持向量机模型)

目录

01 阅读前要

02 支持向量机分类

2.1 加载需要进行分类的影像

2.2 影像的假彩色合成

2.3 创建ROIs

2.3.1 为什么要创建ROI?(涉及机器学习的相关知识)

2.3.2 创建训练样本

2.3.3 保存训练样本的ROI

2.3.4 创建验证样本 + 保存验证样本的ROI

2.4 加载训练样本

2.5 去除异常值

2.5.1 计算各种标签的ROI分离度

2.5.2 分析ROI分离度报告并进行相关处理

2.6 训练支持向量机模型

2.6.1 找到支持向量机算法的工具并点击

2.6.2 输入需要进行分类的影像文件

2.6.3 支持向量机模型的各项参数设置

2.7 分类好之后的影像结果展示

2.8  模型评估

2.8.1 关闭训练样本(分类样本)ROI文件

2.8.2 打开验证样本ROI文件 

2.8.3 加载的验证样本ROI展示

2.8.4 找到混淆矩阵分析的工具并点击打开

2.8.5 选择需要进行混淆矩阵分析的图像

2.8.6 将分类图像的标签与验证样本ROI的标签一一对应

2.8.7 输出的形式设置

2.8.8 混淆矩阵输出和简单分析

2.8.9 保存混淆矩阵


01 阅读前要

这里主要列举了监督分类中的支持向量机的操作,以及对分类之后的图像分类效果分析(其实是对模型分类效果的评估)。

另外,支持向量机是机器学习里面的一种,那么了解机器学习的流程步骤就显得尤为重要。

1.获取数据                ====>        创建ROIs
2.数据基本处理         ====>        去除异常值等
3.特征工程                ====>        特征值标准化等等
4.模型训练                ====>        确定好机器学习模型的各项参数而后进行训练
5.模型评估                ====>        分类后处理

(其中3,4在你选择某一个模型工具时就会融入其中,你只需要指定一些参数即可。)

当前博客操作数据分享

链接:https://pan.baidu.com/s/1i0UYaYBZDkJnL99BYKznWg?pwd=Love 
提取码:Love  --来自百度网盘超级会员V3的分享

另外我百度网盘分享的文件不仅包含原始数据还有处理好的一些数据,但是如果你嫌下载麻烦只需要原始影像的话,那么你可以在你ENVI的安装路径(D:\ENVI\ENVI53\classic\data\can_tmr.img)找到这幅影像即为我当前博客操作的影像,这张影像只要是安装了ENVI都会默认有的。

 

02 支持向量机分类

2.1 加载需要进行分类的影像

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第1张图片

 ENVI:如何进行遥感图像的分类?(支持向量机模型)_第2张图片

加载的影像展示

(这是进行了2%的线性拉伸)

 2.2 影像的假彩色合成

为什么要进行假彩色合成? ====> 为了能肉眼更好的区分各种地物的颜色,使之更为突出明显。

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第3张图片

 ENVI:如何进行遥感图像的分类?(支持向量机模型)_第4张图片

进行假彩色合成之后的影像展示

2.3 创建ROIs

2.3.1 为什么要创建ROI?(涉及机器学习的相关知识)

一个ROI就是一个小样本。这个ROI所在区域的像素颜色等等就是这个ROI的一个个特征项(这些特征项无需用户自己进行计算和挑选,ENVI会自行进行分辨并得出)。另外对于每一个ROI都应该对应有一个标签或者说是目标值(譬如这个ROI对应是林地,林地就是这个ROI的标签或者说是目标值。但是,请注意,并不是所有的分类中样本都需要标签,这取决于你的分类是否属于监督分类,监督分类就需要每一个样本拥有标签或者说是目标值)。

那么机器学习模型(此处是支持向量机)在干什么呢?实际上,支持向量机模型就是根据你给出的样本去分析为什么这个样本拥有这样子的特征值就会带有这个标签,然后从众多的样本中找出规律(此时模型就训练完毕了)。那么你再给出整幅影像给模型让其分辨出哪一个像素应该属于哪一个标签,这样子模型会根此前在你给出的样本中找出的规律进行分辨,对每一个像素打上一个标签。最后整幅图像就是分类好了的图像。

说白了,就是看图识物。图就是ROI,物就是图的标签。让你分辨你也可以分辨出来(假定你就就是一个机器学习模型),我先告诉你这种颜色风格的图表示林地,那种颜色风格的图表示耕地,下次我只告诉你图的颜色风格,那么我请你告诉我这幅图表示什么地物?想必你应该可以回答出来。对于颜色风格,ENVI里面会用多种特征项去衡量,即每一个样本都会由几个种类的特征值;对于图表示什么,其实对应于图的标签或者就是ROI的标签。

其实你觉得上面就完成了模型的全部吗?其实不然,我们还没有衡量这个模型的好坏或者说这个模型对图像的区分效果到底如何?这就还需要用到我们创建的ROI,不过这次用来验证的ROI绝对不能是之前用来训练模型的ROI,否则这次训练是无效的(这很显然是无效的,这类似于考试,平时的训练我给你出了一些题目,然后还给了你标准答案,让你去分析除这一类题目的解法。考试的时候我当然不应该还将之前出过的题目用来考试了,而是应该用类似的题目来考考你,看看你和标准答案之间的区别,如果区别不大那么说明你已经领悟到了这类题目是如何进行计算处理的,如果你给出的答案和标准答案出入很大,那么说明你还没有理解这类题目到底该如何进行计算。这对应于模型也是类似的。)

最后我其实是想告诉你,我们的ROI应该分为两类,一类是训练样本,另一类是验证样本。但是比例需要控制一下,一般是训练样本的数量占7成,验证样本的数量占3成,当然这并不是一定的,但大致在这个范围。

2.3.2 创建训练样本

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第5张图片

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第6张图片

2.3.3 保存训练样本的ROI

 ENVI:如何进行遥感图像的分类?(支持向量机模型)_第7张图片

 

2.3.4 创建验证样本 + 保存验证样本的ROI

这两项操作的步骤和之前的创建训练样本+保存训练样本的ROI是完全一样的步骤,所以你无需更改任何步骤,除了保存时路径名不要和之前重叠将其覆盖即可。这里不再演示。

2.4 加载训练样本

现在模型还没有训练,所以需要先将训练样本加载进来用于训练支持向量机模型。

 ENVI:如何进行遥感图像的分类?(支持向量机模型)_第8张图片

 加载进来的训练ROI展示

 2.5 去除异常值

对于一些ROI,我们可能绘制的不是很好,但是怎么评判呢? ==> 使用ROI分离度。所谓ROI分离度,就是指不同标签的ROI之间可以区分的概率或者说是明显度,说通俗点就是ENVI通过算法有多大把握可以将各种标签的ROI正确的区分开来。

ROI分离度范围是[0, 2]之间,当两种ROI的分离度小于1.9时,你需要考虑你绘制的ROI有没有出现纰漏,然后修改或者删除某一个或者某一些ROI。

2.5.1 计算各种标签的ROI分离度

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第9张图片

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第10张图片

2.5.2 分析ROI分离度报告并进行相关处理

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第11张图片

 ENVI:如何进行遥感图像的分类?(支持向量机模型)_第12张图片

 ENVI:如何进行遥感图像的分类?(支持向量机模型)_第13张图片

2.6 训练支持向量机模型

2.6.1 找到支持向量机算法的工具并点击

2.6.2 输入需要进行分类的影像文件

 ENVI:如何进行遥感图像的分类?(支持向量机模型)_第14张图片

 2.6.3 支持向量机模型的各项参数设置

 

 2.7 分类好之后的影像结果展示

2.8  模型评估

现在要对分类好之后的图像进行混淆矩阵分析,需要使用到我们之前的验证样本ROI。差不多理解就是对于支持向量机模型分类号的图像,我们拿到参考答案(验证样本ROI)一个一个像素去对照,看看有没有像素分类错误。当然,我现在说的其实并不是太标准,但是大致思路就是如此。

2.8.1 关闭训练样本(分类样本)ROI文件

2.8.2 打开验证样本ROI文件 

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第15张图片

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第16张图片

 2.8.3 加载的验证样本ROI展示

 2.8.4 找到混淆矩阵分析的工具并点击打开

2.8.5 选择需要进行混淆矩阵分析的图像

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第17张图片

 2.8.6 将分类图像的标签与验证样本ROI的标签一一对应

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第18张图片

2.8.7 输出的形式设置

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第19张图片

2.8.8 混淆矩阵输出和简单分析

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第20张图片

 2.8.9 保存混淆矩阵

如果你有必要保存混淆矩阵,可以参照下面步骤。

ENVI:如何进行遥感图像的分类?(支持向量机模型)_第21张图片

炒茄子

你可能感兴趣的:(ENVI,分类,经验分享,图像处理)