栅格图像分类:最小距离法、最大似然法、支持向量机的ENVI实现

2,020 阅读15分钟

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

1 分类需求

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

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

  这里需要注意,本文中待分类影像数据与参考影像数据之间地理参考信息是匹配的,即同一地物在两景遥感影像中的位置是一致的;因此,我们可以直接开始后续的遥感影像分类操作。而若二者地理参考信息不匹配,则需要进行地理配准,具体方法可以参考# ENVI栅格图像地理配准的手动实现# ENVI自动地理配准:地面控制点的批量生成这两篇文章。

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

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格式的文件,大家可以查看# ENVI将.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以上,说明这一方法较之最小距离法与最大似然法,更加适合对城市遥感影像的分类工作。

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

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