《基于深度学习的遥感图像中地面塌陷识别方法研究》由会员分享,可在线阅读,更多相关《基于深度学习的遥感图像中地面塌陷识别方法研究(13页珍藏版)》请在金锄头文库上搜索。
1、基于深度学习的遥感图像中地面塌陷识别方法研究 郑重 张敬东 杜建华 中南财经政法大学信息与安全工程学院 摘 要: 地面塌陷是在开采矿产资源时出现的一种具有很强破坏力的自然灾害, 会导致道路改线、道路污染、居民地及水系的改变, 使矿区不能持续发展。随着传感器技术、遥感技术等一系列技术的快速发展, 极大地提升了遥感图像处理技术, 特别是在地面塌陷识别方面尤为突出。针对传统地面塌陷识别方法效率低下问题, 提出了基于深度学习的地面塌陷遥感识别方法。通过大量实验对比分类精度、Kappa 系数调整深度信念网络模型的参数, 得到适合地面塌陷识别的参数设置, 证明了深度学习在遥感图像中地面塌陷识别方法的可行性
2、和高效性, 为今后地面塌陷的识别方法提供了新思路。关键词: 地面塌陷; 遥感影像; 深度学习; 深度信念网络; 作者简介:郑重 (1982-) , 女, 汉族, 湖北武汉人, 博士, 中南财经政法大学信息与安全工程学院, 实验师, 主要研究方向:安全信息工程;作者简介:张敬东 (1966-) , 女, 汉族, 湖北枝江人, 博士, 中南财经政法大学信息与安全工程学院, 博导、教授, 主要研究方向:环境安全管理;作者简介:杜建华 (1979-) , 男, 汉族, 河北唐山人, 博士, 中南财经政法大学信息与安全工程学院, 副教授, 主要研究方向:岩土工程。基金:基于有限元数值模拟的地铁施工监测预
3、警研究, 省级纵向项目, 项目编号:32517113013;项目单位:中南财经政法大学, 项目负责人为郑重0 引言最近一些年, 伴随着国民经济的快速发展, 建设的力度加大, 煤矿工业也进入了发展的快车道。在采煤过程中出现的矿区沉降的现象非常普遍, 因为它经常导致地面塌陷、裂缝、滑坡等一系列地质灾害。为了防止地质灾害的发生, 需要对煤矿区地面的沉降加大监测力度, 特别是矿区塌陷地的状况已经成为矿区环境综合治理的最主要问题。近些年以来遥感技术一直在快速发展, 但在实际应用中获取遥感影像中的信息仍然十分困难, 基于机器学习的遥感影像识别方法为这个难题的解决提供了可能。2014 年, 高长鑫和桑农提出
4、了一种分层的深度学习模型, 并针对海量高分遥感影像数据进行识别。2015 年, L.L.Wang 等提出了一种用于选择遥感图像中最佳波段的最优索引因子方法, 改善了遥感图像的空间信息以保持多光谱的特征。同年, X.Li 和 G.Wang 提出了一种改进差分演化算法, 解决了高光谱数据最佳频段选择问题, 改善了遥感数据的处理数度。H.Zhang 等以新疆有理罗布村典型不良地质现象为例, 分别使用了极限学习机、支持向量机和 K 均值三种算法进行了遥感图像的分类识别。2016 年, 张浩等针对建筑物的遥感影像特征, 提出了基于 SVM 的交叉验证的方法对参数敏感度进行了分析。同年, 陈冠宇等提出了基
5、于特征融合的 SVM 算法, 探讨了遥感影像中植被识别的方法。安凯等对比了卷积神经网络、K 均值、SVM 算法和贝叶斯算法的分类精度, 探讨了不良地质体识别与分类的方法。1 深度学习基本模型1.1 受限玻尔兹曼机 (Restricted Boltzmann Machine) 受限玻尔兹曼机 (Restricted Boltzmann Machine, 简称 RBM) 是一种玻尔兹曼机的变体, 但限定模型必须为二部图。假如我们有一个二部图, 而且同一层节点之间无连接, 其中一层是输入数据层v, 另外一层为隐藏层 h。如图 1 所示, 显示全部节点都为随机的二值变量 (即只取 0 或者 1) ,
6、同时把全概率分布 p (v, h) 都看作满足玻尔兹曼分布, 则此模型我们就称之为受限玻尔兹曼机 (RBM) 。图 1 受限玻尔兹曼机模型 下载原图RBM 因为隐藏节点间无连接, 所以隐藏节点间条件独立。故在已知 v 的情况下有 p (h|v) =p (h1|v) =.=p (hn|v) 。此外, 可视节点间也是独立的, 故在已知隐藏层 h 的情况下有 p (v1|h) =p (v2|h) =.=p (vn|h) 。同时又由于 v和 h 满足玻尔兹曼分布, 因而, 在输入 v 的时候, 经过 p (h|v) 运算能够获取隐藏层 h, 获得隐藏层 h 以后, 经过 p (v|h) 运算又可以获得
7、可视层。不断训练参数, 让隐藏层获得的 v1与以前可视层 v 几乎毫无差别, 此时的隐藏层可以认为是可视层的一种表现方式了。1.2 深度信念网络 (Deep Belief Networks) DBN 这个网络模型是多层 RBM 构成的, 其网络结构如图 2 所示。图 2 深度信念网络结构图 下载原图训练过程:(1) 起先充分训练第一个受限波尔兹曼机 (RBM) 。(2) 然后我们把第一个 RBM 的权重以及偏移量固定住, 再把它的隐性神经元的状态当作第二个 RBM 输入向量。(3) 再让第二个 RBM 得到足够的训练后, 就把第二个 RBM 堆叠放在第一个 RBM的上面。(4) 把以上三个步骤
8、重复多次。(5) 如果在训练集中出现的数据有标签, 在训练顶层 RBM 的时候, 这个 RBM 的显层中不光有显性神经元, 还必须有代表分类标签的神经元, 来一起训练:假设顶层 RBM 的显层里面有 400 个显性神经元, 我们把训练数据的分类总共分为 10 类。这样顶层 RBM 的显层就会有 410 个显性神经元, 对每一个训练数据, 相应的标签神经元被打开就设为 1, 其他的则被关闭设为 0。(6) DBN 被训练好好如图 3 所示。图 3 训练好的深度信念网络 下载原图2 实验设计2.1 样本库的制作在制作训练样本数据时以像元为单位, 即一个像元为一个训练样本。先采用ENVI 截取选取一
9、张 1000*1000 大小的影像, 如图 4 所示, 这张影像中既要有塌陷区域, 又要有非塌陷区域, 这样能避免制作的训练样本正负标签差异太大。由于待研究区域的遥感影像已经通过人工解译的方式得到塌陷区域分布情况, 所以, 可用程序读取原遥感影像文件和解译结果文件, 将一个像元的三个波段的值和这个像元对应的类标签信息绑定在一起, 这样就能在后续的变换操作中依然保持像元的 RGB 三个波段的值和像元的类标签对应, 而不至于混乱。图 4 制作训练样本的影像 下载原图具体操作步骤如下:(1) 读取 1000*1000 的 3 波段影像文件, 得到 1000*1000*3 的矩阵, 转化为100000
10、0*3 的矩阵 Img, 其中每一行都是一个像元。(2) 读取 1000*1000 的标定数据, 得到 1000*1000 的矩阵, 和影像文件的像元一一对应, 这个矩阵的值只有 1 (塌陷区) 和 2 (非塌陷区) , 同样将矩阵转化为 1000000*2 的矩阵 Labels, 每一行对应一个像元, 第一列的值表示塌陷区, 第二列为非塌陷区。(3) 将矩阵 Img 和矩阵 Labels 合并, 组成新的矩阵 Comb, 这个矩阵的规模为1000000*5, 每一行对应一个像元, 前三列为该像元的三个波段的值, 后两列有且只有一个为 0 和 1, 表示是否属于塌陷区域。(4) 将矩阵 Com
11、b 的行顺序打乱, 并按照样本是否属于塌陷区域, 将矩阵分为正样本矩阵 P 和负样本矩阵 N, 由于负样本明显多余正样本, 所以要删除一些负样本, 由于顺序已经打乱, 可以只保留负样本中排在前面的那部分样本 N1, 使得正负样本一样多, 再将正样本 P 和保留下来的负样本 N1 合并为 Comb1, 再次按行打乱。(5) 将合并后的训练样本 Comb1 按像元和类标签拆分为 n*3 的像元属性矩阵train_x 和 n*2 的类标签矩阵 train_y, 这样就得到带有标签的训练样本了。最终得到的测试数据分为 test_x 和 test_y 两部分, 将以上得到的train_x、train_y
12、、test_x, test_y 都保存到 mnist_uint8.mat 文件中, 以备后续使用。2.2 评价标准分类效果分析是分类实验必不可少的环节, 比较分类效果之前必须制定评价标准。总体分类精度、Kappa 系数是常用的分析分类效果的手段。本文实验也从这两个方面对地面塌陷识别效果进行评价。(1) 总体精度 (OverallAccuracy, OA) 是基本标准, 是对分类结果的通体评价, 总体精度的高低直接决定分类方法的可行性, 一个分类方法的分类精度太低, 就缺乏应用价值了。总体精度等于被正确分类的像素总和除以总的像素个数。计算公式如下:其中, p c表示总体精度, n ij表示第 i
13、 类判别正确的样本数, m 表示类别数, N表示样本总数。(2) Kappa 系数通过把所有地表真实分类中的像元总数 (N) 乘以混淆矩阵对角线 (p ij) 的和, 再减去某一类地表真实像元总数与被误分成该类像元总数之积对所有类别求和的结果, 再除以总像元数的平方减去某一类中地表真实像元总数与该类中被分类像元总数之积对所有类别求和的结果所得到的。Kappa 系数的计算公式是:其中, n i*表示混淆矩阵第 i 行的和, n *j表示第 j 列的和。研究认为, Kappa 系数与分类精度的关系如表 1 所示。表 1 Kappa 系数和分类质量的关系 下载原表 2.3 参数设置2.3.1 网络层
14、数之所以任意的非线性映射可以由神经网络实现, 是因为任意神经网络中都存在隐含层。隐含层的层数可以影响识别的精度、误差大小、网络训练时间以及系统的复杂程度。实验中, 将设置不同的神经网络的层数对比分类效果。2.3.2 隐含层神经元个数隐含层神经元个数的选择非常重要, 如果神经元个数选择过少的话, 不足以训练该神经网络, 如果神经元个数过多的话, 虽然可以提高识别的精度, 但是同样会使系统复杂化, 训练时间也会非常的长, 所以选择一个合理的神经元个数是非常重要的。2.3.3 学习速率的确定在网络训练过程中, 权值的改变量称作学习速率, 其作用影响到分类器的训练时间、收敛时间和稳定性, 故系统中设置
15、过高或过低的学习速率是不妥的。所以综上所述, 实验中设置学习速率为不同的值, 观察学习速率对识别效果的影响。2.3.4 迭代次数根据 Hinton 的研究, 设置 batchsize 大小为 100, 由于样本迭代 20 遍之后分类准确率趋于稳定, 针对不同问题迭代次数对分类结果的影响可能不一样。2.3.5 样本数量样本数量对网络模型的训练也起着极其重要的影响, 样本数量多, 覆盖的特征也越全面。但是随着样本数量的增加, 训练网络就需要更多的时间, 因此训练样本并不是越多越好, 包含特征量相同的情况下, 样本数量越小越有优势。3 实验结果与分析DBN 作为深度学习模型, 网络深度必然会对分类效
16、果有很大的影响, 层数更深的网络设置可以发掘出更为抽象的特征, 但也可能导致过拟合现象。实验设置网络 (不包含输入层和输出层) 从 1 层到 10 层时, 总体分类精度、Kappa 系数的变化情况。实验中设置隐含层神经元个数为 50, 学习速率为 0.01, 迭代次数为 3 次, 样本数量为 10000 个。实验结果如图 5、图 6 和图所示:图 5 总体精度随网络深度的变化 下载原图图 6 Kappa 系数随着网络深度的变化 下载原图因为能力和时间有限, 只对网络深度变化时的总体精度和 Kappa 系数的不同做了研究。根据分类精度和 Kappa 系数随着网络深度变化的柱形图可以看出, 网络深度在 4-6 时能较为准确的识别地面塌陷区域, 分类精度最高为 0.982, Kappa 系数最高为 0.9545, 此时的网络深度为 5。所以本实验中设置隐含层为5 的时候, 总体分类效果比较好。随机选取预处理之后的遥感影像上的 3 片