利用ENVI深度学习工具提取防尘网覆盖信息
为扬尘治理和保护环境,城市的裸露地表、易扬尘物料等要求覆盖防尘网。防尘网一般由聚乙烯材料制作的网状物,颜色主要为黑色和绿色。
本文介绍利用遥感影像和ENVI深度学习工具快速提取防尘网覆盖信息,数据和处理环境如下:
-
数据源:标准景高分二号3.8米4波段多光谱数据,16bit - 处理软件:ENVI5.5.2+ENVI Deep Learning深度学习模块,软件试用可访问:http://blog.sina.com.cn/s/blog_764b1e9d0102ycm2.html
-
处理计算机:ThankPAD P52笔记本,NVIDIA Quadro P3200 6G显存。
提取效率和结果如下:
内容 |
时间 |
样本选择 |
小于10分钟 |
模型训练 |
34分钟 |
图像分类 |
小于2分钟 |
总共36分钟 |
ENVI Deep Learning深度学习工具操作步骤主要分为三步,下面我们详细介绍整个操作过程。
1 选择样本
从整景影像中选择小部分区域来选择样本和训练模型。
(1)
(2)
(3)
(4)
图:图像上的防尘网
(5)
图:样本分布(黄色区域)
(6)
注:ENVI Deep Learning工具有两种操作方式:流程化和分布式,本文选择的是流程化操作方式。分布式选择相应的工具即可,如本步骤选择/Deep Learning/Build Label Raster from ROI。
(7)
(8)
(9)
注:Build Label raster form ROI工具是将ROI格式的样本文件转成标签文件,标签文件中的一个波段其实就是一个二值图,样本区值为1,其他区域值为0。该步骤生成一个裁剪图像(4个波段)与标签图像合成的一个5波段图像文件。
(10)重复上述步骤,在另外一块图像上选择样本作为验证样本,本步骤为可选项。
图:Build Label raster form ROI面板
2 训练模型
(11)在Train a New Model面板中,单击Train Model按钮。
(12)在Train TensorFlow Mask Model面板中,单击New Model按钮,新建一个初始化模型文件。
(13)在弹出的Initialize ENVINet5 TensorFlow Model对话框中:
-
Number of bands(样本文件的波段数):4。 -
Output Model:选择输出路径和文件名
(14)在Training Rasters中选择训练标签图像。
(15)在Validation Rasters中选择验证标签图像,如果没有验证样本,这里可以选择训练标签图像。
(16)其他参数先按照默认,参数的详细解释见后表。
(17)选择模型输出路径和文件名,单击OK执行。
注:这一步将会用到GPU运算,如果没有GPU则使用CPU计算,速度会较慢。
(18)最终会得到一个 .h5的规则文件,其实就是一个HDF5格式的文件。通过Deep Learning Guide Map 面板中的Tools->Edit TensorFlow Model Metadata工具可以浏览训练模型的生产精度(validationPrecision)、用户精度(validationRecall)和F1值。
图:Train TensorFlow Mask Model面板
表:Train TensorFlow Mask Model主要参数说明
参数 |
说明 |
Patch Size |
l l l |
Number of Epochs |
迭代数,建议在 16 到 32 之间 |
Number of Patches per Epoch |
每次迭代训练的切片数 l l |
Number of Patches per Batch |
一次处理使用的切片数 l l |
Patch Sampling Rate |
切片采样比率 l l |
Solid Distance |
固定距离(单位像素) 对于宽度一致的线性特征(如道路、道路中心线和运输集装箱)或尺寸一致的紧凑型特征(汽车和停车标志),建议定义该参数。 |
Blur Distance |
模糊距离(单位像素) l l |
Class Weight |
一般来说,为稀疏训练集设置最大值。有效范围在 0.0 和 6.0 之间。 |
Loss Weight |
参数可用于偏差损失函数(bias the loss function),以更加注重正确识别特征像素,而不是识别背景像素。 此参数在特征目标稀疏分布或者没有标记所有特征时很有用。值为0表示模型应同等对待特征和背景像素。增加Loss Weight参数会使损失函数偏向于寻找特征像素。此参数值的有效范围在 0 到 3.0 之间。 |
3 图像分类
(19)Deep Learning Guide Map 流程化工具进入Classify Raster Using a Trained mode面板。
(20)在Classify Raster Using a Trained mode面板中,单击Classify Raster Using a Trained Model按钮。
-
Input Raster:输入整景高分二号影像。 -
Input Model:输入上一步获取的模型文件(自动输入)。 -
Output Raster:选择输出结果。
(21)单击OK执行。
(22)执行完分类后,自动跳转到Post-Classification面板。单击Class Activation to Classification按钮。
注:也可以直接生成Shapefile矢量结果,单击Class Activation to polygon Shapefile按钮。
(23)在Class Activation to Classification面板中,可以手动设置分割阈值,也可以选择自动方法,这里选择Otsu自动阈值分割。
(24)选择输出结果名称和路径,单击OK执行。
图:Class Activation to Classification面板