基于卷积神经网络的高分辨率遥感图像上的水体识别技术
作者:徐文健
作者单位:浙江大学
日期:2017.01
(硕士学位论文)
https://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CMFD&filename=1018259601.nh
本文转载自https://blog.csdn.net/baidu_38306313/article/details/104310931
代码已上传到GitHub:https://github.com/yufeifeiyu/Matlab-Deep-Learning-Toolbox-CNN-Water-image-recognition
也可在CSDN中下载:https://download.csdn.net/download/baidu_38306313/12584271
1.摘 要
本文针对高分二号卫星多光谱遥感数据,利用卷积神经网络的模型,突破传统基于阈值或机器学习的方法,实现了遥感图像的水体识别。
挑战:利用高分辨率遥感图像进行水体识别的研究并不多,大多都是采用光学遥感,或者是较为浅层的模型的方法,不能充分利用遥感图像的空间信息和光谱信息,在水体识别的准确率上都难以达到较高的水平。
数据集:高分二号卫星的多光谱遥感图像数据(杭州西湖及部分钱塘江区域、青海湖区域、太湖区域)
方案:提出九层卷积神经网络的模型,包括三个卷积层和三个池化层,同时对比了其他基于支持向量机、BP神经网络、归一化水体指数等方法的遥感图像的水体识别的方法,并在不同模型层数、不同数据样本数量、不同数据波段、不同数据区域上进行对比试验
结论:水体识别的准确率在数据集上表现出98%以上的准确率
2.绪 论
- 水体识别主要是从图像中提取水体表面,在本文中主要是指从遥感图像中提取内陆湖泊水域区域。
- 遥感技术具有检测距离短、检测范围广的优点,能够快速、反复、准确地获取水体信息,监测地表水资源。
- 水体识别:光学遥感、机器学习
光学遥感:单波段阈值法和多波段阈值法,通过反射率提取水体信息
机器学习:使用深层结构
- 数据源:landsat资源卫星的多光谱图像,空间分辨率在30米左右
- 目前需解决问题
1、如何进行相应的预处理得到清晰、无遮挡的高分辨率遥感图像
2、如何选择分类模型,如何进行神经网络模型的设计,将水体识别问题转化为图像分类问题
3.相关理论与技术介绍
- 图像识别
- 深度学习
- BP神经网络
- 支持向量机
- 卷积神经网络
(一)图像识别
- 图像识别算法可以通过使用3D模型比较或者边缘检测等形式实现
- 图像识别流程
(二)深度学习
- 采用梯度下降算法求解大规模的数据问题
- 卷积神经网络可以用于处理图像中的二维结构
- 递归神经网络可以处理自然语言中的时序结构
(三)BP神经网络
- 监督学习算法
(四)支持向量机
- 监督学习算法
- 用于分类和回归分析
- 支持向量机
(五)卷积神经网络
- 三维排列的神经元
- 每层的神经元都只能链接到上层的一个小区域,而不是以全连接的方式连接到所有神经元
- 卷积神经网络主要由一个输入层、一个输出层以及多个隐藏层组成
- 隐藏层包含:卷积层、池化层、全连接层、规范层
- 训练:前向传播、反向传播
4.技术方案概述
- 存在的问题
1、遥感图像的云层遮挡、明暗亮度等视觉体验因素
2、部分陆地在某些波段和水体有着相同的表现
3、遥感图像中城市房屋、道路、车辆、农田、沙漠、河流、山丘、植被、湖泊等,要从这些场景中区分出水体,需要做大量的工作
- 遥感图像水体识别流程
5.遥感图像预处理
(一)图像预处理
① 图像增强:凸显图像边缘(高斯滤波器),增强水体和陆地之间的区别
② 影像融合:提高多光谱数据的分辨率,变换IHS方法、乘变换融合法、小波变换融合法、Brovey比值变换融合法
(二)数据标记:为了训练卷积神经网络
使用github上开源的图像标注工具labelme来进行图像的水体标记(GitHub地址:https://github.com/wkentaro/labelme)
(三)图像切分