在监督分类或者挖掘决策树规则时,需要选择训练样本,训练样本的好坏直接影响分类精度。因此ENVI提供了分析样本质量的工具:Compute ROI Separability,计算样本可分离性。

问题来了

为了提高分类精度,有时会在多光谱图像中增加其他波段,如NDVI、非监督分类结果、PCA变换结果等等。那么问题来了,使用ROI Tool中的Compute ROI Separability计算样本可分离性时候报错,如下图所示:

envi随机森林法监督分类 envi随机森林分类失败_envi随机森林法监督分类

图:计算样本可分离性报错

最好得到的样本可分离性报表都是0,如下图所示:

envi随机森林法监督分类 envi随机森林分类失败_归一化_02

图:结果异常的样本可分离性报表

原因分析

造成这个原因主要是参与分类各个波段值范围相差太远,如影像波段为0~255(8bit),NDVI为-1~1,非监督分类结果为0~5整数,等等。

这些数据范围不一致就会造成Jeffries-Matusita算法的"溢出",出现上述的错误。

解决方法

通过分析原因,我们可能会想到,将影像波段以外的波段使用线性拉伸的方法归一化为0~255范围内。但是归一化后的数据有可能会有信息的损失,与"增加多源数据提高分类精度的初衷"相违背。

另外一种思路是增加样本的数量,这个倒是能解决算法"溢出"的问题。但是这个数量不好把握。

其实我们可以从样本的本质考虑,样本就是不同地物的集合,一般通过目视解译方式从影像上选择。因此我们直接在多光谱影像数据上选择样本,并计算样本的可分离度,当可分离度满足要求时候,将该样本应用于包括NDVI、PCA变换等多源数据文件上进行相应的分类。

注:1、如果在classic或者5.1之前的版本上选择ROI作为样本,需要使用ROI Tool上的Reconcile ROIS 或者Reconcile ROIS via Map工具,将当前选择的ROI样本转到别的文件上,如这里的多源数据文件上。

2、ENVI5.1版本的ROI文件带有坐标,可用于任何与之有地理重叠的栅格数据,支持坐标自动重投影。