|
ENVI 54版本新增了一个全新图像分类框架,基于机器学习方法实现了分类器的重复利用、批处理等功能。
但是官方仅提供了对应的API,需要IDL调用才能实现,相当不方便。现在以扩展工具的方式提供用户界面,能够通过人机交互使用全新图像分类技术了~
注:由于API是在ENVI 54版本提供的,所以本工具仅支持ENVI 54及以上版本。
工具安装
建议使用App Store for ENVI进行工具的安装。
App Store下载地址:www.enviidl.com/appstore
或通过百度云下载:http://pan.baidu.com/s/1gfGgAgr
将下载的zip文件解压,得到extensions和custom_code文件夹,拷贝到ENVI54安装路径(C:\Program Files\Harris\ENVI54\),覆盖同名文件夹,重启ENVI即可。
功能简述
本工具提供了4个功能,如下图所示:
ENVI54扩展工具:全新图像分类工具
工具1:输入栅格图像和训练样本,训练得到Softmax分类器。并利用训练好的Softmax分类器对输入栅格进行图像分类。
工具2:利用训练好的Softmax分类器,批量对其他栅格图像进行分类。
工具3:输入栅格图像和训练样本,训练得到SVM分类器。并利用训练好的SVM分类器对输入栅格进行图像分类。
工具4:利用训练好的SVM分类器,批量对其他栅格图像进行分类。
工具1:Create Softmax Classifier and Classify Raster
在ENVI工具箱中,启动/Extensions/Classification Framework/Create Softmax Classifier and Classify Raster;
ENVI54扩展工具:全新图像分类工具
参数介绍:
Input Raster:输入栅格图像。
Input Trainging ROIs:输入训练样本。
Convergence Criterion:收敛判定标准。当本次迭代与上一次的损失差值小于指定阈值时,迭代停止。这个阈值成为收敛判定标准,默认为0.00001。
Learning Rate: 学习速率。每次迭代时的梯度下降步长。默认值为100。
Maximum Iterations:最大迭代次数。在没有达到收敛标准时的最大迭代次数,默认为100。
Output Classifier:输出Softmax分类器文件路径。
Output Class Raster:输出分类图像文件路径。
在Softmax分类器训练完毕之后,会弹出损失曲线(Loss Profile)和提示。
ENVI54扩展工具:全新图像分类工具
当损失曲线看起来效果不错时,点击“是”将继续进行分类器评估和图像分类。
当损失曲线看起来并没有收敛的很好时,点击“否”将弹出上一步的界面,然后可以修改参数重新训练,以得到好的收敛效果。
一般需要反复试验来确定最优的学习速率(learning rate)、最大迭代次数(maximum number of iterations)、收敛判定阈值(convergence criterion)。
如果我们设置学习速率为较小值(如10),我们就需要增加最大迭代次数(如800)来保证收敛。但是这样会增加处理时间。损失曲线如下图所示:
ENVI54扩展工具:全新图像分类工具
如果我们设置学习速率为10,而没有增加最大迭代次数,那么损失曲线将类似下图。曲线已经开始下降并接近最小值,但是最终并没有达到设定的阈值。
ENVI54扩展工具:全新图像分类工具
如果我们设置学习速率太高(如5000),很大概率会跳过最小值。损失曲线将类似下图所示。所以当我们得到类似的损失曲线时,就表明学习速率设置的太高,即便增加最大迭代次数也于事无补。
ENVI54扩展工具:全新图像分类工具
当损失曲线看上去比较合理时,就可以继续了。
当处理结束后,将得到4个结果文件,分别为:
SoftmaxClassifier.epo:训练好的Softmax分类器文件。
SoftmaxClassifier.json:与分类器文件同名的json文件,记录了栅格数据归一化系数、类别颜色等信息。epo和json文件必须同时存在,才能用于其他栅格图像分类。
Class.dat:图像分类结果。
Class_AccuracyEvaluation.csv:分类器精度评价结果,包含混淆矩阵、总分类精度、用户精度、Kappa系数等。
工具2:Apply Softmax Classifier to Multiple Rasters
在ENVI工具箱中,启动/Extensions/Classification Framework/Apply Softmax Classifier to Multiple Rasters。
ENVI54扩展工具:全新图像分类工具
参数介绍:
Input Rasters:输入待分类栅格图像,支持多选。这些图像的波段数及其含义必须与训练分类器时的栅格图像保持一致!
Input Softmax Classifier:输入之前训练好的Softmax分类器文件(epo后缀),必须保证同路径下存在同名的json文件。
Input Trainging ROIs:可选项,训练样本。当选择输入训练样本时,将进行精度评价,输出csv格式的评价结果文件。
Display Results:是否自动加载显示分类结果图像。
Outfile Extension:输出分类图像文件的后缀标识。
Output Path:输出文件夹路径。
工具3和工具4
工具3和工具4实现了SVM分类器的训练与应用。用法与Softmax分类器类似,这里不再赘述。唯一不同的地方是,SVM分类器不需要判断损失曲线。 |
|