ENVI下基于知识决策树提取地表覆盖信息


基于知识的决策树分类是基于遥感影像数据及其他空间数据,通过专家经验总结、简单的数学统计和归纳方法等,获得分类规则并进行遥感分类。分类规则易于理解,分类过程也符合人的认知过程,最大的特点是利用的多源数据。

决策树分类主要的工作是获取规则,本文介绍使用CART算法获取规则,基于规则提取土地覆盖信息。下图是总体技术流程。

图:总体技术流程图

在获取规则过程中,由于计算量较大,我们选择一部分典型的区域作为实验区获取决策树。

1.   准备数据

本文以L1T级的Landsat8OLI数据为例,数据已经过工程区裁剪。这一步主要是构建多元数据集。数据集由Landsat8OLI七个波段、NDVI、ISODATA非监督分类结果、DEM(具体使用那些数据可根据实际情况进行增减)。其中DEM使用30米的G-DEM,使用相同工程区矢量进行裁剪。

  • 在Toolbox中,选择/Spectral/Vegetation/NDVI,使用多光谱影像计算NDVI。
  • 在Toolbox中,选择/Classification/Unsupervised Classification/IsoData Classification,最大分类数量为10,迭代次数为10,选择路径输出分类结果。
  • 在Toolbox中,选择/Raster Management/ Layer Stacking(5版本改名为Build Layer Stack),分别将7个波段、NDVI、ISODATA结果、DEM组合成一个10个波段的文件。
  • 在图层管理器中,打开Edit Metadata,将Band names修改为Band1、2、3、4、5、6、7,NDVI,ISODATA,DEM。

2.   获取规则

这里使用CART算法获取规则,首先安装ENVI下的CART扩展工具,可在ENVI AppStore上安装(https://envi.geoscene.cn/appstore/)。

首先从影像中选择一部分区域作为获取规则的实验区,

  • 显示影像,工具栏上打开ROI Tool。在ROI Tool面板中选择矩形绘制工具,绘制一定大小的实验区,这个区域包含土地覆盖所有类型。
  • 在ROI Tool面板中,选择File-> Subset data via ROIs,裁剪出实验区。

注:ENVI5.6版本采用主菜单->File->Save As->Save as… 方式进行裁剪。

    下面在实验区影像中选择一定数量的训练样本,利用训练样本获取专家知识规则。

  • 显示裁剪的实验区影像,利用ROI Tool工具分别选择5个类型的训练样本,训练样本的可分离度在8以上。

注:由于波段组合图像包括NDVI和ISODATA分类结果,其值范围与Landsat8的7个多光谱波段范围不一致,在计算样本可分离度时候容易报错。可以将NDVI和ISODATA分类结果通过归一化处理成与多光谱数据一致的范围,或直接使用多光谱数据计算分离度。

由于CART扩展工具基于4.4版本开发,需要在ENVI Classic中运行,在开始->程序里选择打开ENVI Classic。

  • 选择ENVI主菜单->Classification->Decision Tree->RuleGen ->Classifier,选择实验区影像。
  • 选择决策树输出路径及文件名,单击OK执行。

注:由于此工具包基于4.4版本开发,在之后版本上运行完得到决策树文件之后会自动退出ENVI,不影响决策树规则文件的使用。

图:运行CART工具

  • 选择ENVI主菜单->Classification->Decision Tree->Edit Existing Decision Tree,打开从实验区获取的决策树规则,如下图。
  • 在ENVI Decision Tree面板中,选择Options->Execute,执行决策树,可以对试验区的范围的进行分类。

图:决策树

  • 对分类结果进行验证,类似选择训练样本,选择一部分ROI作为验证样本。在x界面中,Toolbox中选择/Classification/Post Classification/Confusion Matrix Using Ground Truth ROIs,计算精度验证混淆矩阵。

精度达到要求,规则的获取工作就完成了。

3.   土地覆盖信息提取

这一步是将获取的规则应用于整个图像。下面步骤是在ENVI5.x界面中实现。

  • Toolbox中,选择/Classification/Decision Tree/Edit Decision Tree,打开从实验区获取的决策树规则。
  • 选择Options->Show Variable/File Pairings,单击第一列中的变量,全部替换为整个影像中对应的波段。
  • 选择Options->Execute,执行决策树,得到最终的土地覆盖结果。

图:修改变量

图:地表覆盖分类结果

4.   分类后处理

分类后处理根据需求选择,包括更改类别颜色、分类统计分析、小斑点处理(类后处理)、栅矢转换、精度验证等操作。这里不一一叙述了。