版权声明:本教程涉及到的数据提供仅练习使用,禁止用于商业用途。
目录
分类后处理
1. 概述
2. 分类后处理
2.1 小斑块去除
2.1.1 Majority和Minority分析
2.1.2 聚类处理(Clump)
2.1.3 过滤处理(Sieve)
2.2 分类统计
2.3 分类叠加
2.4 分类结果转矢量
2.5 ENVI Classic分类后处理
2.5.1 浏览结果
2.5.2 局部修改
2.5.3 更改类别颜色
3. 精度评价
监督分类和决策树分类等分类方法得到的一般是初步结果,难于达到最终的应用目的。因此,需要对初步的分类结果进行一些处理,才能得到满足需求的分类结果,这些处理过程就通常称为分类后处理。常用分类后处理通常包括:更改分类颜色、分类统计分析、小斑点处理(类后处理)、栅矢转换等操作。
本课程将以几种常见的分类后处理操作为例,学习分类后处理工具。
以ENVI自带数据"can_tmr.img"的分类结果"can_tmr_class.dat"为例。数据位于"...13.分类后处理数据"。其他数据描述:
应用监督分类或者非监督分类以及决策树分类,分类结果中不可避免地会产生一些面积很小的图斑。无论从专题制图的角度,还是从实际应用的角度,都有必要对这些小图斑进行剔除或重新分类,目前常用的方法有Majority/Minority分析、聚类处理(clump)和过滤处理(Sieve)。
Majority/Minority分析采用类似于卷积滤波的方法将较大类别中的虚假像元归到该类中,定义一个变换核尺寸,主要分析(Majority Analysis)用变换核中占主要地位(像元数最多)的像元类别代替中心像元的类别。如果使用次要分析(Minority Analysis),将用变换核中占次要地位的像元的类别代替中心像元的类别。
下面介绍详细操作流程:
(1)打开分类结果——"13.分类后处理数据can_tmr_class.dat";
(2)打开Majority/Minority分析工具,路径为Toolbox /Classification/Post Classification/Majority/Minority Analysis,在弹出对话框中选择"can_tmr_class.dat",点击OK;
(3)在Majority/Minority Parameters面板中,点击Select All Items选中所有的类别,其他参数按照默认即可,如下图所示。然后点击Choose按钮设置输出路径,点击OK执行操作。
图:Majority/Minority Parameters面板参数设置
(4)查看结果如图所示,可以看到原始分类结果的碎斑归为了背景类别中,更加平滑。
注:参数说明如下
图:原始分类结果(左),Majority分析结果(右)
聚类处理(clump)是运用数学形态学算子(腐蚀和膨胀),将临近的类似分类区域聚类并进行合并。分类图像经常缺少空间连续性(分类区域中斑点或洞的存在)。低通滤波虽然可以用来平滑这些图像,但是类别信息常常会被临近类别的编码干扰,聚类处理解决了这个问题。首先将被选的分类用一个膨胀操作合并到一块,然后用变换核对分类图像进行腐蚀操作。
下面介绍详细操作流程:
(1)打开分类结果——"13.分类后处理数据can_tmr_class.dat";
(2)打开聚类处理工具,路径为Toolbox /Classification/Post Classification/Clump Classes,在弹出对话框中选择"can_tmr_class.dat",点击OK;
(3)在Clump Parameters面板中,点击Select All Items选中所有的类别,其他参数按照默认即可,如下图所示。然后点击Choose按钮设置输出路径,点击OK执行操作。
图:Clump Parameters面板参数设置结果
(4)查看结果如下图所示,可以看到原始分类结果的碎斑归为了背景类别中,更加平滑。
注:参数说明如下
图:原始分类结果(左),聚类处理结果(右)
过滤处理(Sieve)解决分类图像中出现的孤岛问题。过滤处理使用斑点分组方法来消除这些被隔离的分类像元。类别筛选方法通过分析周围的4个或8个像元,判定一个像元是否与周围的像元同组。如果一类中被分析的像元数少于输入的阈值,这些像元就会被从该类中删除,删除的像元归为未分类的像元(Unclassified)。
下面介绍详细操作流程:
(1)打开分类结果——"13.分类后处理数据can_tmr_class.dat";
(2)打开过滤处理工具,路径为Toolbox /Classification/Post Classification/Sieve Classes,在弹出对话框中选择"can_tmr_class.dat",点击OK;
(3)在Sieve Parameters面板中,点击Select All Items选中所有的类别,Group Min Threshold设置为5,其他参数按照默认即可,如下图所示。然后点击Choose按钮设置输出路径,点击OK执行操作;
图:Sieve Parameters面板参数设置
(4)查看结果如下图所示,可以看到原始分类结果的碎斑归为了背景类别中,更加平滑。
注:参数说明如下
图:原始分类结果(左),过滤处理结果(右)
分类统计(Class statistics)可以基于分类结果计算源分类图像的统计信息。基本统计包括:类别中的像元数、最小值、最大值、平均值以及类中每个波段的标准差等。可以绘制每一类对应源分类图像像元值的最小值、最大值、平均值以及标准差,还可以记录每类的直方图,以及计算协方差矩阵、相关矩阵、特征值和特征向量,并显示所有分类的总结记录。
下面介绍详细操作流程:
(1)打开分类结果和原始影像——"13.分类后处理数据can_tmr_class.dat"和"can_tmr.img";
(2)打开分类统计工具,路径为Toolbox/Classification/Post Classification/Class Statistics,在弹出对话框中选择"can_tmr_class.dat",点击OK;
(3)在Statistics Input File面板中,选择原始影像"can_tmr.img",点击OK;
(4)在弹出的Class Selection面板中,点击Select All Items,统计所有分类的信息,点击OK;
注:可根据需要只选择分类列表中的一个或多个类别进行统计。
(5)在Compute Statistics Parameters面板可以设置统计信息(如下图所示),按照图中参数进行设置,点击Report Precision…按钮可以设置输入精度,按默认即可。点击OK;
图:统计结果参数设置面板
注1:统计功能包含三种统计类型,分别为:
注2:输出结果的方式有三种:输出到屏幕显示(Output to the Screen)、生成一个统计文件(.sta)和生成一个文本文件。其中生成的统计文件可以通过以下工具打开:
(6)如下图所示为显示统计结果的窗口,统计结果以图形和列表形式表示。从Select Plot下拉命令中选择图形绘制的对象,如基本统计信息、直方图等。从Stats for标签中选择分类结果中类别,在列表中显示类别对应输入图像文件DN值统计信息,如协方差、相关系数、特征向量等信息。在列表中的第一段显示的为分类结果中各个类别的像元数、占百分比等统计信息。
图:显示统计结果的窗口
分类叠加(Overlay Classes)功能,可以将分类结果的各种类别叠加在一幅RGB彩色合成图或者灰度图像上,从而生成一幅RGB 图像。如果要想得到较好的效果,在叠加之前,背景图像经过拉伸并保存为字节型(8bit)图像,下面是具体操作过程。
(1)打开分类结果和原始影像——"13.分类后处理数据can_tmr_class.dat"和"can_tmr.img";
注:这里将原始影像的真彩色图像作为背景图像。
(2)打开拉伸工具(Toolbox/Raster Management/Stretch Data),在弹出的对话框中选择"can_tmr.img"文件,然后点击下方的Spectral Subset(如下图所示),在弹出面板中选择波段1、2、3,点击OK;
图:选择拉伸文件和波段选择
(3)在Data Stretching面板中,按照下图进行参数设置,点击OK即可;
图:拉伸参数设置
(4)打开分类叠加工具,路径为Toolbox/Classification/Post Classification/Overlay Classes;
(5)在打开的Input Overlay RGB Image Input Bands面板中,R、G、B分别选择拉伸结果"can_tmr_background.dat"的band 3、2、1,点击OK;
注:如果需要一个灰度背景,为RGB三个通道输入同样的波段即可。
图:选择背景图像的RGB波段组合
(6)在Classification Input File面板中选择分类图像"can_tmr_class.dat",点击OK;
(7)在Class Overlay to RGB Parameters面板中选择要叠加显示的类别(如下图所示),这里选择林地、裸地、沙地三个类别,设置输出路径,点击OK即可。
注:按住Ctrl键,点击鼠标左键可以实现多选。
图:选择要叠加显示的类别
(8)查看叠加结果,如下图所示。
注:可以通过File > Save As将"can_tmr_overlay.dat"转换为TIFF格式,这样使用普通图片查看器便可以进行浏览,并保持了背景拉伸效果与原始类别颜色。
图:叠加效果
可以利用ENVI提供的Classification to Vector工具,将分类结果转换为矢量文件,下面介绍详细操作步骤:
(1)打开分类结果——"13.分类后处理数据can_tmr_class.dat";
(2)打开转矢量工具,路径为Toolbox /Classification/Post Classification/Classification to Vector;
(3)在Raster to Vector Input Band面板中,选择"can_tmr_class.dat"文件的波段,点击OK;
(4)在Raster to Vector Parameters面板中设置矢量输出参数。这里选择林地和沙地两个类别,设置输出路径,点击OK即可。
注:Output可选Single Layer和One Layer per Class两种情况。如果选择Single Layer,则所有的类别均输出到一个evf矢量文件中;如果选择One Layer per Class,则每一个类别输出到一个单独的evf矢量文件中。
图:输出矢量参数设置
(5)查看输出结果,打开刚才生成的evf文件,并加载到视图中。可以在图层列表右键点击矢量文件名(如下图左),选择Properties,在弹出面板中可以根据Class_Name修改不同类别的颜色,如下图(右)所示,修改林地和裸地分别为红色和蓝色,点击OK,最终效果如图所示。
图:设置矢量图层属性
图:矢量显示最终效果
以上的分类后处理在ENVI Classic和ENVI 5.x版本中均能完成,操作步骤基本一致。本节的操作需要在ENVI Classic下完成的,主要为局部手动修改、更改类别颜色等。
打开ENVI Classic,使用File > Open Image File打开"can_tmr.img"和"can_tmr_class.dat"。在显示"can_tmr.img"的Display中,选择Overlay > Classification,打开Interactive Class Tool Input File面板中选择"can_tmr_class.dat",将分类结果叠加显示在Display上。如下图所示,可以勾选复选框进行类别的叠加显示。
图:Interactive Class Tool面板
对于局部错分、漏分的像元,可以手动进行修改。在Interactive Class Tool面板可利用两个工具进行修改。
(1)在Interactive Class Tool面板中,选择Edit > Mode: Polygon Add to Class;
(2)在Interactive Class Tool面板中,鼠标左键单击"Unclassified"前面的方型色块,让"Unclassified"类别处于激活状态;
(3)选择一个编辑窗口:Image,在Image窗口中绘制多边形,多边形以内的像元全部归于"Unclassified"一类。
图:设置激活类别
(1)在Interactive Class Tool面板中,选择Edit > Mode: Polygon Delete from Class;
(2)选择Edit > Set delete class Value,选择并入的目标类,以林地为例,如下图所示;
图:设置删除归入的目标类别
(3)在Interactive Class Tool面板中,鼠标左键单击"Unclassified"前面的方型色块,让"Unclassified"类别处于激活状态。
(4)选择一个编辑窗口:Image,在Image窗口中绘制多边形,多边形以内的类别"Unclassified"全部归于"林地"。
(5)选择Edit > Undo Changes,可以取消修改,选择File > Save changes to File,可以将修改结果保存。
(1)在Interactive Class Tool面板中,选择Option > Edit class colors/names,如下图所示,直接在对应的类别中修改颜色。
(2)在Class Color Map Editing面板中选择RGB、HLS或HSV其中一种颜色系统。单击"Color"按钮选择标准颜色,或者通过移动颜色调整滑块分别调整各个颜色分量定义颜色。选择 Options >Reset Color Mapping,可以恢复初始值。
注:也可以根据一个显示的RGB影像来自动分配类别颜色,打开主菜单> Classification > Post Classification > Assign Class Colors。
图:分类颜色和名字的更改
常用的精度评价的方法有两种:一是混淆矩阵;二是ROC曲线。其中,比较常用的为混淆矩阵,ROC曲线可以用图形的方式表达分类精度,比较形象。
真实参考源可以使用两种方式:一是标准的分类图;二是选择的感兴趣区(验证样本区)。两种方式的选择都可以通过以下工具实现:
真实的感兴趣区参考源的选择可以是在高分辨率影像上选择,也可以是野外实地调查获取,原则是确保类别参考源的真实性。验证样本选择方法和训练样本的选择过程是一样的,这里不再赘述,直接使用"13.分类后处理数据can_tmr_验证.roi"作为验证样本。
下面以ENVI 5.1为例,介绍详细操作步骤:
(1)打开分类结果影像——"13.分类后处理数据can_tmr_class.dat";
(2)打开验证样本,打开File > Open,选择"13.分类后处理数据can_tmr_验证.roi",在弹出的File Selection对话框(如下图所示)中选择"can_tmr_class.dat",点击OK;
图:选择与ROI绑定的文件
(3)选择混淆矩阵计算工具,路径为Toolbox/Classification/Post Classification/Confusion Matrix Using Ground Truth ROIs,在弹出面板中选择"can_tmr_class.dat",点击OK;
(4)软件会根据分类代码自动匹配,如不正确可以手动更改(下图左)。点击ok后选择混淆矩阵显示风格(像素和百分比,下图右);
图:验证操作面板
(5)点击OK,就可以得到精度报表(如下图所示)。
图:分类精度评价混淆矩阵
这里说明一下混淆矩阵中的几项评价指标,如下:
等于被正确分类的像元总和除以总像元数。被正确分类的像元数目沿着混淆矩阵的对角线分布,总像元数等于所有真实参考源的像元总数,如本次精度分类精度表中的Overall Accuracy = (2258/2346) 96.2489%
它是通过把所有真实参考的像元总数(N)乘以混淆矩阵对角线(XKK)的和,再减去某一类中真实参考像元数与该类中被分类像元总数之积之后,再除以像元总数的平方减去某一类中真实参考像元总数与该类中被分类像元总数之积对所有类别求和的结果。Kappa计算公式如下:
指被分为用户感兴趣的类,而实际属于另一类的像元,它显示在混淆矩阵里面。本例中,总共划分为林地有441个像元,其中正确分类418个,23个是其他类别错分为林地(混淆矩阵中林地一行其他类的总和),那么其错分误差为23/441=5.22%。
指本身属于地表真实分类,当没有被分类器分到相应类别中的像元数。如在本例中的林地类,有真实参考像元419个,其中418个正确分类,其余1个被错分为其余类(混淆矩阵中耕地类中一列里其他类的总和),漏分误差1/419=0.24%
是指分类器将整个影像的像元正确分为A类的像元数(对角线值)与A类真实参考总数(混淆矩阵中A类列的总和)的比率。如本例中林地有419个真实参考像元,其中418个正确分类,因此林地的制图精度是418/419= 99.76 %。
是指正确分到A类的像元总数(对角线值)与分类器将整个影像的像元分为A类的像元总数(混淆矩阵中A类行的总和)比率。如本例中林地有418个正确分类,总共划分为林地的有441,所以林地的用户精度是418/441=94.78%。
注:监督分类中的样本选择和分类器的选择比较关键。在样本选择时,为了更加清楚的查看地物类型,可以适当的对图像做一些增强处理,如主成分分析、最小噪声变换、波段组合等操作,便于样本的选择;分类器的选择需要根据数据源和影像的质量来选择,比如支持向量机对高分辨率、四个波段的影像效果比较好。
教程下载:http://pan.baidu.com/s/1dD1phJz
数据下载:http://pan.baidu.com/s/1bn0DoZH
视频下载:http://pan.baidu.com/s/1jGCAqDw