ENVI54扩展工具:全新图像分类工具
ENVI 54版本新增了一个全新图像分类框架,基于机器学习方法实现了分类器的重复利用、批处理等功能。详细信息请访问http://blog.sina.com.cn/s/blog_764b1e9d0102xxj7.html
但是官方仅提供了对应的API,需要IDL调用才能实现,相当不方便。现在以扩展工具的方式提供用户界面,能够通过人机交互使用全新图像分类技术了~
注:由于API是在ENVI 54版本提供的,所以本工具仅支持ENVI 54及以上版本。
安装方法
方法1:使用 ENVI App Store 进行 ENVI 扩展工具的安装与管理。
App Store 下载地址:envi.geoscene.cn/appstore
方法2:手动下载 https://envi.geoscene.cn/appstore/claiomkion
下载 zip 压缩包并解压,将得到的 extensions 和 custom_code 文件夹拷贝到如下 ENVI 安装路径,覆盖同名文件夹即可:
-
ENVI 5.4.1 及以上 - C:\Program Files\Harris\ENVI5x\
重启 ENVI 即可使用。
功能简述
本工具提供了4个功能,如下图所示:
工具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;
参数介绍:
- Input Raster:输入栅格图像。
- Input Trainging ROIs:输入训练样本。
- Convergence Criterion:收敛判定标准。当本次迭代与上一次的损失差值小于指定阈值时,迭代停止。这个阈值成为收敛判定标准,默认为0.00001。
- Learning Rate: 学习速率。每次迭代时的梯度下降步长。默认值为100。
- Maximum Iterations:最大迭代次数。在没有达到收敛标准时的最大迭代次数,默认为100。
- Output Classifier:输出Softmax分类器文件路径。
- Output Class Raster:输出分类图像文件路径。
在Softmax分类器训练完毕之后,会弹出损失曲线(Loss Profile)和提示。
当损失曲线看起来效果不错时,点击“是”将继续进行分类器评估和图像分类。
当损失曲线看起来并没有收敛的很好时,点击“否”将弹出上一步的界面,然后可以修改参数重新训练,以得到好的收敛效果。
一般需要反复试验来确定最优的学习速率(learning rate)、最大迭代次数(maximum number of iterations)、收敛判定阈值(convergence criterion)。 如果我们设置学习速率为较小值(如10),我们就需要增加最大迭代次数(如800)来保证收敛。但是这样会增加处理时间。损失曲线如下图所示:
如果我们设置学习速率为10,而没有增加最大迭代次数,那么损失曲线将类似下图。曲线已经开始下降并接近最小值,但是最终并没有达到设定的阈值。 如果我们设置学习速率太高(如5000),很大概率会跳过最小值。损失曲线将类似下图所示。所以当我们得到类似的损失曲线时,就表明学习速率设置的太高,即便增加最大迭代次数也于事无补。
当损失曲线看上去比较合理时,就可以继续了。 |
当处理结束后,将得到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。
参数介绍:
- 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分类器不需要判断损失曲线。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?