加载中…
个人资料
ENVI-IDL技术殿堂
ENVI-IDL技术殿堂 新浪机构认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:12,527,465
  • 关注人气:7,394
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息

(2020-01-09 11:09:41)
标签:

深度学习

envi深度学习

分类: ENVI

为扬尘治理和保护环境,城市的裸露地表、易扬尘物料等要求覆盖防尘网。防尘网一般由聚乙烯材料制作的网状物,颜色主要为黑色和绿色。

本文介绍利用遥感影像和ENVI深度学习工具快速提取防尘网覆盖信息,数据和处理环境如下:

l  数据源:标准景高分二号3.84波段多光谱数据,16bit

l  处理软件:ENVI5.5.2+ENVI Deep Learning深度学习模块,软件试用可访问:http://blog.sina.com.cn/s/blog_764b1e9d0102ycm2.html

l  处理计算机:ThankPAD P52笔记本,NVIDIA Quadro P3200 6G显存。

提取效率和结果如下:

内容

时间

样本选择

小于10分钟

模型训练

34分钟

图像分类

小于2分钟

总共36分钟

     由于防尘网覆盖信息特征比较明显,采用验证样本方式得到生产者精度达到0.93F1=0.72。通过目视查看,发现覆盖比较长时间的防尘网有漏分情况,操场塑胶跑道被错分情况,总体来看效果非常不错,可选择更多样本提高精度。

【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息

图:结果1
【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息

图:结果2
【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息

图:结果3

ENVI Deep Learning深度学习工具操作步骤主要分为三步,下面我们详细介绍整个操作过程。

【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息
图:操作步骤

1 选择样本

从整景影像中选择小部分区域来选择样本和训练模型。

(1)    ENVI中打开图像,之后放大和定位到需要选择的样本的区域。

(2)    选择File –>Save As->>Save As….

(3)    在文件选择对话框中,选择图像文件,单机Spatial Subset按钮,选择当前视图作为子区选择源,选择输出路径保存。

(4)    在图上确认防尘网解译标志,如下图所示即为防尘网,覆盖时间较短和较长情况下的防尘网。

【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息

图:图像上的防尘网

(5)    利用ROI工具在上一步裁剪图像上选择防尘网作为样本,沿着防尘网边界绘制多边形。

【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息
图:样本分布(黄色区域)。

(6)    Toolbox中,启动/Deep Learning/Deep Learning Guide Map 流程化工具。

注:ENVI Deep Learning工具有两种操作方式:流程化和分布式,本文选择的是流程化操作方式。分布式选择相应的工具即可,如本步骤选择/Deep Learning/Build Label Raster from ROI

(7)    ENVI Deep Learning面板中,单击Train a New Model按钮。

(8)    Train a New Model面板中,单击Build Label raster form ROI

(9)    Build Label raster form ROI面板上,分别选择裁剪图像、样本ROI文件、输出文件,单击OK执行,完成样本选择步骤。

注:Build Label raster form ROI工具是将ROI格式的样本文件转成标签文件,标签文件中的一个波段其实就是一个二值图,样本区值为1,其他区域值为0。该步骤生成一个裁剪图像(4个波段)与标签图像合成的一个5波段图像文件。

(10)重复上述步骤,在另外一块图像上选择样本作为验证样本,本步骤为可选项。

 

【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息
图: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对话框中:

l  Number of bands(样本文件的波段数):4

l  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值。

【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息
图:Train TensorFlow Mask Model面板

表:Train TensorFlow Mask Model主要参数说明

参数

说明

Patch Size

l  此值与GPU显存有关

l  值越大,效率越高,对显存要求越高

l  切片大小不能大于标签图像行列数

Number of Epochs

迭代数,建议在 16 32 之间

Number of Patches per Epoch

每次迭代训练的切片数

l  此值一般在 200 1000 之间

l  训练数据集数量越少,设置此值越小

Number of Patches per Batch

一次处理使用的切片数

l  Batch 是指一次迭代使用的一组切片

l  如果为空,ENVI 将自动确定合适的值

Patch Sampling Rate

切片采样比率

l  当特征稀疏时,增加该值可能会有所帮助

l  对于较小的切片大小,增加此参数

Solid Distance

固定距离(单位像素)

对于宽度一致的线性特征(如道路、道路中心线和运输集装箱)或尺寸一致的紧凑型特征(汽车和停车标志),建议定义该参数。

Blur Distance

模糊距离(单位像素)

l  深度学习算法很难学习诸如建筑物等特征的锐利边缘。模糊边缘,并在训练过程中减少模糊距离可以帮助模型逐渐聚焦于特征。

l  模糊距离最大值必须小于70

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按钮。

l  Input Raster:输入整景高分二号影像。

l  Input Model:输入上一步获取的模型文件(自动输入)。

l  Output Raster:选择输出结果。

(21)单击OK执行。

 得到的结果是一个单波段的灰度图,像素值(0~1范围)表示与样本的相似程度,像素值越大表示属于该类别的可能性越大。我们可以采用密度分割方法进一步提取结果。

(22)执行完分类后,自动跳转到Post-Classification面板。单击Class Activation to Classification按钮。

注:也可以直接生成Shapefile矢量结果,单击Class Activation to polygon Shapefile按钮。

(23)Class Activation to Classification面板中,可以手动设置分割阈值,也可以选择自动方法,这里选择Otsu自动阈值分割。

(24)选择输出结果名称和路径,单击OK执行。

【ENVI深度学习】利用ENVI深度学习工具提取防尘网覆盖信息
图:Class Activation to Classification面板


0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有