基于卷积神经网络的遥感模式识别方法在武汉市土地利用现状分析中的应用毕业论文
2020-04-09 15:34:31
摘 要
随着城市土地遥感图像分类需求的增加,单靠人工解译已无法满足。因此,提高遥感图像的解译效率,具有十分重要的研究意义。深度学习能较快的学习特征,能有效地进行图像的语义识别。
本文针对城市遥感图像在土地利用现状分析上的要求,研究了卷积神经网络在城市遥感图像土地利用分类的应用。通过调整对比模型结果,寻找模型参数的优化方案。实验表明,优化过的卷积神经网络并不能很好的进行城市遥感图像土地利用分类。
关键词:模式识别;土地利用;卷积神经网络;武汉市;
Abstract
With the increasing demand of urban remote sensing image classification, it cannot meet by artificial interpretation. Thus, it has major research significance that enhancing the interpretation efficiency of remote sensing image. Deep learning is capable of learning feature preferably and performing semantic recognition of image.
Aiming at the requirement for analysis of land use using urban remote sensing images, this paper discuss the application of convolution neural network in land use classification of urban remote sensing image. By adjusting the results of comparison model, this paper search the optimization scheme of the model parameters. Experiments show that the optimized convolution neural network can not perform the land use classification of urban remote sensing image very well.
Key Words: Pattern recognition; Land use; conventional neural network; Wuhan;
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 1
第2章 卷积神经网络相关基础知识 3
2.1 卷积神经网络的结构 3
2.1.1 卷积层 3
2.1.2 线性(非线性)整流层 3
2.1.3 池化层 4
2.1.4 全连接层 4
2.2 卷积神经网络的设计 4
2.3 VGGNet 5
2.3.1 VGGNet介绍 5
2.3.2 VGG参数 5
2.4 SegNet 8
2.4.1 SegNet介绍 8
2.4.2 SegNet特征提取过程 9
2.4.3 SegNet特征重建过程 10
2.4.4 SegNet与 VGG16、DeconvNet 的异同 11
第3章 实验及结果分析 12
3.1 实验准备 12
3.1.1数据集概况 12
3.1.2实验环境 12
3.1.3 SegNet结构参数设置 13
3.2 实验结果与分析 14
3.2.1实验情况与简单分析 14
3.3 影响SegNet分类性能的因素 15
3.3.1网络卷积核个数对分类性能的影响 15
3.4 结论 22
第4章 总结与展望 25
参考文献 26
致谢 27
第1章 绪论
1.1 研究背景及意义
武汉,是中部地区六省之中,唯一的副省级市和特大城市,同时也是长江经济带中的核心城市。作为“一带一路”重要节点城市,作为承载产业迁移的重要支撑点,作为华中地区交通枢纽,高素质劳动力中心,城市产业布局、城市空间规划在城市发展中日益重要。数字时代,主要作为土地规划与管理并应用于社会生产当中的基本数据就是遥感图像。它也是地理信息的可视化载体之一。因此,更快更好的对遥感数据进行分析,会为政府在城市发展的决策安排上节省下宝贵的时间。
但是,城市范围越来越大,城市土地覆盖种类逐渐增多,遥感图像转化为土地利用土地覆盖数据的需求也随之增大。单单依托目视解译的人工方法来标定遥感图像,费时费力,并且效率低下,无法提高相关人员的生产效率。近些年,逐渐成为机器学习领域的热门研究方向之一的深度学习方法,采用多层结构结合卷积流程,能较快速的进行特征的学习,从多维度的特征上,更好进行不同地物的分类,从而为遥感数据高精度自动化处理提供了可能。
1.2 国内外研究现状
目前,国内对于遥感图像结合深度学习的研究已经有多人开展,并且取得了一定成
果。从武汉理工大学,超星发现系统上面搜索“模式识别;卷积神经网络”关键词。
2013年到2018年,核心期刊共有55篇,各种文献资料共306篇。
笔者经过归纳,发现绝大部分研究,集中于对图像整体语义的判别,包括手写体数字判别,车牌号判别等,对于像素级别的分类较少。搜索“模式识别;土地分类”与“深度学习;土地分类”关键词。大部分研究采用的是支持向量机的方法,利用深度学习方法进行土地分类的有关文献为18篇,呈逐年上升的趋势。
在土地分类领域结合深度学习方法的这个逐渐被重视的方向上,国内越来越多的学者提出了自己的看法。张伟、郑柯、唐娉、赵理君[1]在《深度卷积神经网络特征提取用于地表覆盖分类初探》中认为,地表的覆盖监测是研究生态环境的变化、更好的管理土地资源和探索可持续发展,这三个方面的重要基础。同时,在全球资源监测、全球变化检测两个领域,深度卷积神经网络也在发挥着越来越重要的作用。为了能更好的利用中等分辨率遥感影像,提高地表覆盖分类的精度,将深度学习引入遥感影像领域,具有非常重要的意义。近些年来,深度卷积神经网络在目标检测、图像分类和图像语义分割等领域取得了一系列重大的进展,相比传统的机器学习方法,它特征学习和特征表达能力更好更强。
麦超、陶迪在文献[2]中认为,遥感图像分类这个问题,是地理信息系统(geographic information system,GIS)之中非常重要的部分,如何对土地进行规划与管理,遥感图像分类起到了很重要的作用。但是,像目视解译这种,通过人工标定遥感图像来进行分类的方式,不仅花时间,效率也不高。近年来,深度学习(deep learning,DL)在机器学习领域的研究越来越火热。通过多层结构的方式,深度学习从低层到高层对数据渐进地进行特征提取,从而发掘数据主要的特征,以提升分类的准确率。Othman, Bazi, Alajlan.et al则在文献[3]中采用了CNN卷积神经网络来进行分类特征的提取,然后采用稀疏编码器进行土地利用分类
本文立足当前的研究现状,进一步尝试将深度学习引入到遥感图像识别领域,讨论该方法在土地分类这个问题上的适应性。
第2章 卷积神经网络相关基础知识
2.1 卷积神经网络的结构
卷积神经网络是结构较为简单的神经网络。各个卷积核分层来进行排列,并且每一个卷积核只与上一层的卷积核相连接,以此来获得上一层神经元的输出,其被称作特征图。之后特征图会经过该层神经元的处理,生成新的特征图,传递给下一层神经元。数据的这种流动方式是单方向的,没有后面一层对之前一层的反馈,通常可以用一个有向无环图表示。
2.1.1 卷积层
卷积层是隐藏层中包含着进行卷积运算的层,由若干卷积单元组成。每个卷积单元被称作“神经元”。其中的权重参数是通过反向传播算法优化得到的,涉及到梯度下降与局部最优的问题。卷积运算是二维数字信号线性处理的方法之一[4],这部分运算能够从输入数据之中,提取出具有特定意义的特征。整个流程类似人的视觉形成,第一层卷积层可能只能提取比如边缘、线条和角这样的初级特征,后面的卷积层,会从这些特征里面继续提取,形成包含更多特征的特征图,提取出更高级的特征,提高分类的精度[5]。采用卷积层的好处在于局部连接和权重共享。通过局部连接,可以减少网络中相邻层的连接参数,显著减少参数数量[6]。
2.1.2 线性(非线性)整流层
线性(非线性)整流层,将分布可能混杂的输入数据,通过线性(非线性)代换,调整数据分布,得到更为容易分类的数据。通常根据代换所用的函数,来区分是否为线性整流层。
常用的有如下几个函数
Sigmoid函数,基本表达式是:
(2.1)
Tanh函数,基本表达式是:
(2.2)
以上两个函数因为其函数图像在平面直角坐标系内,形状为非线性,所以包含这两个激活函数的整流层,被称作非线性整流层。
线性整流层则通常是包含ReLU激活函数[7]的层。其基本表达式是:
(2.3)
该激活函数跟人体内部神经电流激活情况十分类似[8,9]。
2.1.3 池化层
池化层一般情况下被放置在卷积层之后,对产生的特征图进行降采样。这样做能够降低参数数量,防止过拟合现象的发生。池化方法通常有以下几种,最大池化,平均池化和中位池化。考虑到卷积神经网络中,研究者是为了通过特征来对数据进行处理,所以,最大池化是最常用的池化方式。它在降低参数的同时,让更加显著的特征得以保留。最大池化方式除了提取特征外,在平移和旋转的情况下,每一次最大池化运算得到的结果总是一样的,即平移和旋转不变的特性。实验者对某一个区域进行池化操作,即使这部分区域图像平移或者旋转了几个像素,最后得到的输出值也大致一样,
2.1.4 全连接层
全连接层是与最近输出层的每个特征图都有关系的层。它通过把每一个特征图展开,然后相加,从而得到一个综合所有被提取出来的特征的集合。类比统计分类,全连接层通过确认归属于哪一类的特征最多,评判输入应该归为哪一类。这个结构也使得网络的语义分类,停留在了单张图片尺度。
2.2 卷积神经网络的设计
卷积神经网络在设计方面,通常有3种方法来给研究者参考:修剪法、生长法和直接定型法。
直接定型法[10]是比较考验设计者工作经验和理论水平的一种设计方法。它直接针对特定的实际应用问题进行结构设计,需要设计者对问题的关键十分敏感,并且清楚了解影响因素的类别和其相关关系,在准备阶段,就很好的确定网络的各项标准。
卷积神经网络在图像处理上面就利用了直接定型法。每个神经元拥有三个维度,以像素为单位,用来表示图像的长、宽和通道数。假设输入的图片大小是32*32*3(RGB三通道),那么第一层神经元就需要具有32*32*3的维度。
修剪法则是在学习过程中,通过权值的不断更迭,去掉不重要的神经元,从而对网络实现修剪,形成适合的网络结构。神经元里面的权值归为0,在运算中等同于没有起到效果,而被去掉。这是一种被动修剪手段,乔俊飞,李森,刘江在文献[11]中提出了基于扩展傅里叶振幅灵敏度方法的神经元快速修剪算法,在保证灵敏度变化不大的前提下,明显缩短了运行所需时间,加快了学习速度。
生长法则与修剪法相反。初始化的时候生成一个小的网络,允许在训练过程之中,添加新单元,不一定是单一层,也会根据实际问题,添加包含多层神经元的结构,更好地贴合训练数据的特性。与修剪法现状类似,生长法也面临困难,包括如何确定添加新单元的指标,如何添加新单元来保证收敛。
在网络层数设计上,面对越来越复杂的分类问题,设计者也通常会考虑增加层数以提高分类性能,但同时,优化问题也会变得更加严峻。类比二维凹平面拓展到更高维度,且要在多维度上满足最优情景。这个优化问题属于NP-hard,非确定性多项式困难的。1988年J.Stephen Judd就阐述了一个看起来很容易理解,但是实际上是NP-hard的问题。
在给定一批训练集样本和一套广义神经网络的前提下,是否存在一组网络边权重(edge weight),使网络能够为所有的训练样本产生正确的输出结果。
同时,Judd还证明,即使降低要求,在神经网络只需正确输出2/3的训练样本的情形下,它依旧是NP-hard,依旧只能通过增加训练轮数来不断逼近最优解。1993年,Blum 和 Rivest 证明了一个更不为乐观的结论:即便训练一个只需要两层网络和三个节点的简单神经网络也是 NP-hard[12]问题。
因此,一味地加深卷积神经网络,麻烦的优化问题会让研究者更加无法减少训练的时间开销。
2.3 VGGNet
2.3.1 VGGNet介绍
VGGNet是牛津大学计算机视觉组与谷歌DeepMind公司一道,新研发的深度卷积神经网络。其在ILSVRAC 2014上获得了分类项目的第二名和定位项目的第一名,并将Top-5的错误率降低到了7.3%。
VGGNet在卷积神经网络性能和深度的关系上面进行了探究,经过反复实施3*3卷积操作和2*2最大池化操作,研究者们成功的构筑出了16至19层深的卷积神经网络。相比较于之前state-of-the-art的网络结构,VGGNet的错误率是大幅下降的。
同时,由于VGGNet的拓展性很强,当研究者把输入样本替换成其它图片数据时,泛化性能的表现十分优异。
2.3.2 VGG参数
本文采用的SegNet网络,前半部分类似VGGNet-D配置。
VGGNet论文作者为了能够在公平的规则之下,去探究网络深度,对于模型的精确度影响。把所有卷积层配置成一样的,包括卷积核大小,填充方式,步长,最大池化层的参数,全连接层参数。研究者经过实验证明,AlexNet中提出的局部相应归一化(LRN),对网络的性能提升,并没有什么帮助,而且还浪费了计算机的内存空间和处理器计算能力[13]。
在VGGNet的论文中,池化核的大小全部设为2*2,卷积核则全部采用了3*3的规格,旨在通过加深网络的层数结构,来提升网络的分类性能。如表2.1所示。
从A到E,每一级网络存在逐渐加深的趋势,但是,它的总参数量并没有很明显的增长。原因是最后三个全连接层占据整个模型之中大部分参数量。处于全连接层前面的卷积层,虽然参数量占比不大,但是由于是进行的卷积操作,加之深度较大,训练依旧比较耗时。
A配置:网络结构与AlexNet相似,卷积层划分为5个阶段,全连接层3层。只不过卷积核为3*3大小。
A-LRN配置:除了保留了AlexNet里面使用的LRN操作,其它与A配置没有区别。
B配置:在A的卷积层第二阶段和第三阶段分别复制了一个与对应阶段所包含卷积层里面相同规格的卷积层。共有10个卷积层。
C配置:在B的基础上,第三、四、五阶段分别增加了一个卷积核规格为1*1的卷积层。共有13个卷积层。
D配置:在B的基础上,第三、四、五阶段分别增加了一个卷积核规格为3*3的卷积层。共有13个卷积层。
E配置:在D的基础上,第三、四、五阶段分别再去增加了一个卷积核为3*3的卷积层。共有16个卷积层。
这样做的目的前文提到过,确认LRN对于网络性能的效果,探究网络性能和网络深度它们之间的关系。
其中,B、C两个配置之间的比较,采用的是1*1卷积核。这个1*1的卷积核的意义,主要在于线性变化,由于输入通道和输出通道没有改变,没有降维的现象发生,实验依旧公平。
另外,卷积层规格方面,采用的都是多个完全相同的卷积层串联,或者称作堆叠的模式,这种设计意义非凡。两个3*3的卷积层堆叠在一起,相当于一个5*5的卷积层,及一个像素会跟周围一圈,也就是5*5的像素产生关联,这时可认为感受野大小为5*5。3个3*3卷积层堆叠的效果相当于一个7*7的卷积层。除此之外,三个堆叠的3*3的卷积
表2.1. VGGNet结构
卷积网络配置 | |||||
A | A-LRN | B | C | D | E |
11 权重层 | 11权重层 | 13权重层 | 16权重层 | 16权重层 | 19权重层 |
输入图像规格(224*224 图像) | |||||
Conv3-64 | Conv3-64 | Conv3-64 | Conv3-64 | Conv3-64 | Conv3-64 |
LRN | Conv3-64 | Conv3-64 | Conv3-64 | Conv3-64 | |
最大池化 | |||||
Conv3-128 | Conv3-128 | Conv3-128 | Conv3-128 | Conv3-128 | Conv3-128 |
Conv3-128 | Conv3-128 | Conv3-128 | Conv3-128 | ||
Conv3-256 | Conv3-256 | Conv3-256 | Conv3-256 | Conv3-256 | Conv3-256 |
Conv3-256 | Conv3-256 | Conv3-256 | Conv3-256 | Conv3-256 | Conv3-256 |
Conv1-256 | Conv3-256 | Conv3-256 | |||
Conv3-256 | |||||
最大池化 | |||||
Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 |
Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 |
Conv1-512 | Conv3-512 | Conv3-512 | |||
Conv3-512 | |||||
最大池化 | |||||
Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 |
Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 | Conv3-512 |
Conv1-512 | Conv3-512 | Conv3-512 | |||
Conv3-512 | |||||
最大池化 | |||||
4096通道全连接层 | |||||
4096通道全连接层 | |||||
1000通道全连接层 | |||||
Soft-max处理 |
* Convlt;卷积核大小gt;-lt;通道数gt; 加粗只为表达配置变化
表2.2. VGGNet参数个数表(单位:百万)
网络类型 | A,A-LRN | B | C | D | E |
参数个数 | 133 | 133 | 134 | 138 | 144 |