全球高精度土地利用数据服务 全国作物类型空间分布数据服务 二级分类土地利用数据30m 高精度植被类型分布数据 全国城市功能区划分布数据 全国DEM高程数据服务 全国耕地数据空间分布服务 全国林地分类数据空间分布服务 全国草地类型分类数据空间分布服务 全国水体数据空间分布服务 全国建设用地数据空间分布服务 全国未利用地数据空间分布服务 地形、地貌、土壤理化性质数据服务 全国坡度坡向数据服务 一级分类土地利用数据30m
全国降水量空间分布数据集 全国气温空间分布数据集 太阳辐射量空间分布数据集 全国气象站点观测数据集 全国平均风速空间分布数据集 全国平均水汽压空间分布数据集 全国蒸散量空间分布数据集 全国日照时数空间分布数据集 全国相对湿度空间分布数据集 全国地表温度空间分布数据集 全国气候区划空间分布数据集 全国气象站点空间分布数据集 全国土壤湿度空间分布数据集 全国水文站点地表径流量空间分布数据集
土壤类型空间分布数据服务 土壤质地空间分布数据服务 土壤有机质空间分布数据服务 土壤酸碱度空间分布数据服务 土壤氮磷钾空间分布数据服务 土壤深度空间分布数据服务 土壤侵蚀强度空间分布数据服务 土壤含水量空间分布数据服务 土壤重金属含量空间分布数据服务 中国土壤阳离子交换量空间分布数据 中国土壤容重含量空间分布数据
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国人口密度数据服务 全国poi感兴趣点空间分布数据 全国医院空间分布数据服务 全国学校空间分布数据服务 全国居民点空间分布数据 全国旅游景区空间分布数据 全国机场空间分布数据 全国地铁线路站点空间分布数据 人口调查空间分布数据服务 社会经济统计年鉴数据 中国各省市统计年鉴 中国县级统计年鉴数据 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政区划空间分布数据服务
Landsat陆地资源卫星影像 高分二号遥感影像数据 高分一号遥感影像数据 Sentinel2哨兵2卫星影像 SPOT系列卫星遥感影像数据 WorldView卫星遥感影像数据 资源三号卫星遥感影像数据 GeoEye卫星遥感影像数据 NOAA/AVHRR卫星遥感影像 MODIS卫星遥感影像 环境小卫星 Rapideye快鸟卫星影像
高精度归一化植被指数NDVI空间分布数据 高精度净初级生产力NPP空间分布数据 LAI叶面积指数空间分布数据 全国地表温度LST空间分布数据 全国生态系统服务空间数据集 全国湿地沼泽分类空间分布数据集 全国陆地生态系统类型空间分布数据集 全国农田生产潜力数据集 全国GPP初级生产力数据 全国农田熟制空间分布数据集 中国植被区划数据 中国草地资源数据 全国月度NDVI归一化植被指数空间分布数据 月度净初级生产力NPP空间分布数据 全国年度NDVI归一化植被指数空间分布数据 年度净初级生产力NPP空间分布数据 增强型植被指数EVI空间分布数据 RVI比值植被指数空间分布数据
异常探测是一种用于定位数据集中异常点的数据处理技术。异常值是指与数据集中的已知特征相比被认为不正常的值。例如,如果水是已知的特征,那么除水之外的任何东西都将被视为异常值。
ENVI机器学习异常探测在训练过程中接受单一背景特征。该特征表示被认为是整个数据集正常的像素。任何在分类过程中被认为不正常的像素都被认为是异常的。在训练之前的标记过程中,需要为给定的数据集标记一个背景特征。
标记数据对于生成一个好的异常探测器是至关重要的,对于大多数类型的分类器来说都是如此,特别是对于异常探测而言。例如,如果属于异常目标的标记像素与背景特征相关联,这可能会产生一个质量不高的模型。
ENVI机器学习提供两种类型的异常探测器,孤立森林和局部异常因子。
ENVI机器学习异常探测工具处理步骤如下:
第一步:标记背景特征。绘制ROI进行背景特征的标记;
第二步:模型训练。使用标记数据进行训练,生成模型;
第三步:模型分类。使用训练好的模型进行分类,生成分类结果文件。
第四步:分类后处理(该步可选)。
本教程中以港口中的九艘船作为异常对象,使用异常探测工具进行船只监测。
数据链接:https://pan.baidu.com/s/19vuMgp1XEZqCGXUymviqSg?pwd=envi
提取码:envi
使用软件为ENVI5.6.3+ENVI Deep Learning2.0,硬件为Intel® Core(TM) i7-7700HQ CPU@2.80GHz (用机器学习工具推荐使用Intel CPU)。
ENVI5.6.3试用请访问:https://www.cnblogs.com/enviidl/p/16275745.html。
开始标记过程,至少需要一个输入图像,从中收集图像的主要特征的样本。与选择感兴趣的对象或像素的传统标记不同,异常探测需要相反的方法。例如,在本教程中,图像中的主要特征是水,标记为背景。选择的图像是训练栅格。图像可以是不同的大小,但需要具有一致的光谱和空间特性。使用ENVI ROI标记训练栅格简单的方法是使用机器学习标记工具。使用标记工具创建项目将有助于组织与标记过程相关的所有文件,包括训练栅格和相关的ROI。
第一步:建立一个项目文件
(1)选择一个文件目录,在里面创建一个名为ProjectFiles的空文件夹。
(2)在ENVI Toolbox中,打开/Machine Learning/Machine Learning Labeling Tool工具。
(3)在打开的labeling Tools工具界面选择File->New Project,在Project Type列表中选择Anomaly Detection。
(4)Project Name字段输入背景像元类别,此处输入Water。
(5)单击Project Folder后面的按钮,并选择第一步创建的Project files文件夹,单击“选择文件夹”。
(6)单击OK。
图:创建工程文件
当创建一个新的异常探测项目时,会自动创建Background类。这里无法添加其他标签,而背景标签将用于识别水。使用标注工具,将为输入的每个训练数据创建子文件夹。每个子文件夹将包含在标记过程中创建的ROI和训练栅格。
图:标记工具
第二步:添加训练数据
在Labeling Tool界面,单击Rasters下面的按钮。选择数据文件naip_laharbor_sub .dat,单击OK。
训练数据被添加到机器学习标记工具的Raster列表中。列表有两列:Classes和Label Raster,每个Classes列显示一个红色的分数:0/1。“0”表示还没有绘制任何类标签。“1”表示定义的类别总数。Label Raster列用红色显示“No”,表示尚未创建标签栅格。
图:标记工具界面添加训练数据
第三步:标记背景像元
在为异常探测器标记样本时,有一个重要原则是:质量比数量更重要。标记像元过少可能无法提供足够的信息来找到所有异常目标;标记像元太多会使分类运行时间过长;标记异常目标的像元,将导致混乱和信息丢失。
(1)在Labeling Tool工具中点击naip_laharbor_sub .dat,让其高亮显示;
(2)单击按钮,在ENVI视窗中自动显示该图层,并自动打开了ROI工具;
(3)将Labeling Tool界面最小化,在Layer Manager中点击naip_laharbor_sub .dat图层,使其成为活动层;
(4)在ENVI工具栏中的拉伸类型列表选择Equalization均衡化拉伸,这种拉伸方法对图像进行均衡拉伸,使彩色信息可以突出显示,以便在标记时更容易选择;
图:图像拉伸显示
(5)在ROI工具面板,选择类型,在ROI面板点击下面的Area按钮,可以查看所选择的像元个数;
图:ROI工具
(6)在ENVI工具栏的Go To字段中,输入像素坐标:5480p,9276p(像素坐标),之后按回车键,定位到该像元位置,中心区域的水是较深的绿色。
(7)在ENVI工具栏的Zoom一栏输入1200,按回车键。显示屏放大1200%(12:1),在这个缩放级别下,所有地物都缩放到像元级,便于选择不同颜色的像元。
图:选择水体像元
(8)回到ROI工具界面,设置好选择像素之后,在图像上的水体像元上单击鼠标左键,点击一个或若干个像元后,右键选择Accept points确定。
注:避免标记绿色和白色像素,因为图像中一些船只像元有这两种颜色。标记25个不同颜色的像素,除了白色和绿色,选择尽可能多的其他不同颜色像素。
8、同样的方法,定位到以下三个像元坐标位置:7334p, 10161p ;9934p, 9389p;7920p, 11849p,用上一步的方法在每个区域标记25个像元,这样,一共标记了100个像元。异常探测选择背景像元的原则是:尽量减少标记像元的数量,同时提供足够的信息来识别与水异常的船只。
图:标记像元个数
注:在训练过程中尽量减少标记像元的数量使分类步骤较快运行。
像元标注现在已经完成,下面开始训练过程。
本教程使用Local Outlier Factor algorithm算法,该算法测量给定像元相对于相邻像元的局部偏差。局部离群值基于它周围像素的邻域,通过评估像元值的差异来确定。
(1)回到Labeling Tool界面,点击底部的按钮,打开Train Machine LearningModel对话框。
(2)在Train Model面板,设置参数如下:
图:模型训练
(3)在Train Machine Learning Model面板点击OK。出现模型训练的进度条,在Labeling Tool界面可以看到所有数据的Label Raster列都显示为OK,表明ENVI已经自动创建了用于训练的栅格。生成的训练栅格包含从所有ROI标记点收集的光谱。
图:运行模型训练
本例训练花几秒钟完成,下面用该模型进行分类。
上一步生成了一个区分水像元的异常探测模型,可以在同一类型的栅格数据上使用该模型来识别非水体像元。在本教程中,生成的模型不是通用的,可能在其他数据上运行效果不理想,可以使用上面的步骤,用多个栅格进行模型训练。
(1)关闭ROI和Labeling Tool工具(标签栅格同时也会自动关闭)。
(2)在ENVI Tools中,打开/Machine Learning/Machine Learning Classification工具;
(3)在Machine Learning Classification面板:
图:机器学习分类
(4)在Machine Learning Classification面板上单击OK,进行机器学习分类,几十秒后,分类完成,查看分类结果文件。
图:异常探测分类结果
异常探测的结果,除了提取出船只之外,还有很多噪声点,这是因为我们只使用了100个像元作为背景标记,使用更多的标记像元作为训练输入可以产生更清晰的结果,但分类时间会相应增加。这些噪声点,可以使用分类后处理工具来进行去除。
分类处理完成,下面进行分类后处理。
本例中,我们需要提取的异常信息是船只信息,后处理的目的是去除所有水的像元,只留下船只信息,可以使用ENVI分类后处理的聚类工具。
ENVI Toolbox中选择/Classification/Post Classification/Classification Aggregation工具,在弹出的参数对话框中Input Raster选择分类后结果,设置聚合最小尺度Minimum Size为500,其他保持默认,输出结果。
图:分类结果聚类处理
查看聚类的结果,水体噪声信息被去除,保留了我们需要的船只信息,但是船只内部的一些像元有所丢失,这是因为类似的像元被标记为水体的结果。
图:异常探测结果
除了监测到八艘大船,还有一条小船也被检测出来了,船桨留下的水迹也被归类为异常。如果想改善该结果,可以进行以下尝试:调整背景(水)标记像元,之后在分类结果小斑块聚类的时候减小Minimum Size参数。
图:监测到的小船
可以将分类结果转矢量,再生成矩形框,得到船只轮廓矢量结果。
分类结果转矢量操作如下:
在ENVI工具箱中打开/Classification/Post Classification/Classification to Vector工具,选择上一步输出的聚类结果,Export Classes选择Anomaly类别,其他参数按照默认,设置输出路径点击OK,得到矢量结果。
图:分类结果转矢量工具
图:分类结果转矢量
(3)生成最小外接矩形
对上一步输出的矢量结果生成最小外接矩形,操作如下:
在Toolbox中,选择Vector/Vector to Bounding Box,在弹出的对话框中选择上一步输出的矢量,Oriented Bounding Box选择Yes,根据图斑边界生成最小外接矩形,设置文件输出路径点击OK,得到最终结果。
图:生成最小外接矩形
图:船只外接矩形结果
使用ENVI的机器学习标记工具标记像素级的特征信息,标记的像元越少,模型训练和分类的速度越快。异常探测选择背景像元的原则是:尽量减少标记像元的数量,同时提供足够的信息来识别与背景信息相异的信息。使用多个数据制作背景样本标记,可以为类似的图像生成可复用的通用模型。
机器学习技术为学习数据中的复杂光谱模式提供了一个健壮的解决方案,可以从复杂的背景中提取特征,不考虑其形状、颜色、大小和其他属性。