基于深度学习的高分辨率遥感影像解译技术研究

2020-03-18 11:04杨少敏
江苏科技信息 2020年4期
关键词:池化卷积神经网络

杨少敏,张 戬,高 雅

(1.常州市自然资源局,江苏常州 213003;2.江苏省测绘研究所,江苏南京 210013)

0 引言

随着对地观测技术的快速发展,亚米级甚至厘米级空间分辨率的遥感影像被不断获取,为基础测绘、地理国情监测、城市规划等部门进行精细化制图提供了数据基础。然而,随着高分辨率遥感影像以每日TB级数据量的持续增加,当前面向对象的高分辨率遥感影像解译方法仍然难以有效地处理海量高分辨率遥感影像数据,无法对测绘地理信息数据进行准确更新,存在使用范围有限、迁移能力较弱、增量学习困难、依赖人工设计特征等缺陷。

近年来,以深度学习为代表的人工智能技术快速发展,目前已经在图像分类、目标检测、语义分割、人脸识别、语音识别、视频分类和自然语言处理等多个领域成功运用。近年来,图像处理方面的研究大多集中于卷积神经网络,并发展了一系列卷积神经网络基础模型。采用深度学习进行影像解译主要有以下几个优点。

(1)具有增量学习能力。目前,主流的深度学习优化方法往往利用基于小批量样本的随机梯度下降法,无须一次将所有样本供给与模型进行训练,通过增量迭代的方式令模型进行学习,因此可以利用大量的历史数据进行训练。

(2)模型迁移能力强。深度学习在进行具备小数据量的领域或任务时,可以基于相近领域或任务的大数据进行预训练,采用小数据量的领域数据对于深度神经网络进行微调,从而实现不同领域或任务的迁移学习。

(3)无须人工设计特征。深度学习与传统机器学习的最大不同就在于,无须人工设计特征,由深度学习模型自动提取并进行训练,因此可以避免大量的特征工程工作以及人为设计对训练精度的影响。

深度学习采用卷积神经网络将像素特征转化为边缘特征,再转化为基元特征,最后转化为训练目标的特征,形成分类器,流程如图1所示。

1 全卷积神经网络模型构建

1.1 卷积神经网络

卷积神经网络[1]是神经网络的一种,主要用来处理可以表示为多维数组的数据,如彩色图像等可以表示为3通道的二维数组。卷积神经网络的主要特点在于:局部连接、权值共享、池化以及层次化。局部连接源于局部相关性理论,即采用部分神经元接受图像信息;权值共享,即整张图片使用同一个卷积核内的参数,此种设计方式大大降低了网络模型的参数规模。卷积神经网络最先被成功应用于手写字体识别,而后随着计算机技术的发展,卷积神经网络在ImageNet 2012挑战赛中一举夺冠,引起图像处理领域的广泛关注,之后成为目标检测、场景识别、语义分割等众多领域的基准模型。

图1 深度学习影像解译流程

池化操作源于局部不变性,即图像经过简单的平移、旋转、缩放,池化操作在相同位置依旧可以提取到相同的特征,最常用的池化操作有最大池化和平均池化,最大池化保留池化核内最大值,平均池化保留池化核内所有值的均值。最大池化对影像纹理提取较好,平均池化对背景信息保留较好,通过池化可以降低卷积层输出的特征维度,但保留了大部分的重要信息,从而可以降低网络复杂度,提高网络计算效率,缓解过拟合现象。全连接层连接所有特征,将结果输入到分类器中。在卷积神经网络的最后,会有一两个全连接层,全连接层上的每个神经元同上一层所有神经元相连,将上层输出的二维特征图转化为一维向量,输入到分类器中。

卷积神经网络的主要构成包括卷积层、池化层和全连接层[3]。卷积操作的作用类似一个滤波器,如公式(1)所示:

其中I(i-m,j-n)表示输入影像I在坐标(i-m,jn)处的像素值,K(m,n)代表相应的卷积核权重。卷积核的权重经过学习得到,对于一张图片,卷积滑动过程中卷积核权重不变,即通过同一卷积核提取图片不同位置的相同特征。单个卷积核只能提取一种类型的特征,为了提取多个特征,会并行使用多个卷积核进行卷积操作,卷积和池化运算如图2所示。

1.2 全卷积网络

影像解译基于影像语义分割技术,而语义分割是一种像素级别的处理图像方式,对比于目标检测其更加精确,能够自动从图像中划分出对象区域并识别对象区域中的类别。全卷积网络(FCN)是一种语义分割的模型,FCN是通过扩展普通的卷积网络(CNN)建立的,因此FCN有更多参数而且训练时间更长。FCN能够对图像进行像素级的分类,与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样(upsampling),使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测,同时保留了原始输入图像中的空间信息,最后在上采样的特征图上进行逐像素分类,从而解决语义分割问题。全卷积网络的结构如图3所示[2]。

1.3 基于VGG神经网络的全卷积网络模型构建

本文基于Pytorch框架实现全卷积网络模型(见图4)。首先获取预训练的VGG卷积神经网络。修改VGG网络的最后一层分类层,将最后一层的全连接操作修改为1*1的卷积操作,然后从VGG的最后一层开始,反向运算整个VGG网络,不断对特征图进行上采样,还原至原始图像的大小,同时在每次上采样的过程中,添加上来自于下采样过程中的信息,将底层细节信息传递至高层,并对每个像素进行打分,将预测出分类结果与样本库中的掩膜进行比对,计算损失值,通过反向传播算法进行参数权重的调整。经过多次迭代,分类的损失值收敛,根据此模型进行分类预测,根据预测结果采用滑动窗口算法生成的图像结果,图像中的每个像素都被划分到其中一个类别。

图2 卷积和池化运算

图3 全卷积网络结构

图4 基于VGG的全卷积网络模型架构

2 样本库构建

深度学习遥感影像解译的基础是训练样本库,需要利用大量训练样本对深度神经网络模型进行训练,从而使得深度神经网络模型学习到泛化能力强的语义特征,为影像语义分割奠定基础。因此,在训练之前需要构建大量的高精度训练样本数据。训练样本库构建(见图5)需要矢量与相应的影像数据,矢量数据来源主要来自于测绘成果的DLG数据中抽取的矢量数据,影像数据的来源主要是来自于测绘成果的DOM数据中抽取的影像,如覆盖城市主城区的航拍数据和卫星遥感影像等。

通过分析,发现数据存在以下问题:(1)矢量数据的采集时间与影像的采集时间不一致,两者在语义上存在一定误差。(2)部分矢量数据标注精细程度不足。因此,在制作样本库之前,要通过人工筛选,清洗包含噪声的矢量数据与对应影像区块,对于部分标注精细程度不足的部分,采用人工重新标注的方式完善矢量数据。

数据经过以上处理后,即可构建训练样本库。由于深度学习模型计算是基于栅格数据进行运算的,所以首先要将矢量数据通过格式转换变成栅格数据。然后根据需要模型解译的地物类型,将相应类型的栅格数据进行叠置合并,形成掩膜数据。为了使掩膜数据与影像数据的对应地块准确套合,往往还需要进行投影转换,进行几何配准。样本库的制作到这里就完成了,但是为了便于模型读取和运算,还要将掩膜和影像切割成小块,形成两组栅格数据包,一个是掩膜数据,一个是影像数据。

3 模型训练与验证

模型部署在Nvidia Tesla GPU上,使用准备好的训练样本库进行模型训练,本文模型的编码部分均利用ImageNet预训练参数,设置为VGG作为编码器。实验设置迭代12 800步,利用SGD优化其进行优化,动量设置为0.9,权重衰减为1e-4,利用多项式误差衰减学习策略微调学习率,初始学习率为0.03,学习策略衰减指数为0.9。对于影像进行随机裁剪使得网络输入影像大小为512×512,设置水平与垂直翻转做数据增强,训练批次大小设置为16,训练时采用批次正则化方法(Batch Nornmalization),预测时关闭。

图5 训练样本库构建流程

本文采用GID数据集进行传统人工设计特征解译方法与深度学习解译方法的效果对比。GID数据集(Gaofen Image Dataset)由武汉大学夏桂松团队制作。它包含从中国60多个不同城市获得的150张高分辨率Gaofen-2(GF-2)图像(7 200×6 800)。这些图像覆盖了超过50 000平方千米的地理区域。GID中的图像具有高的类内分集以及较低的类间可分离性。分为建成区、农用地、林地、草地、水系与未标记区域,共6类。采用深度学习模型预测的精度达到95%以上,比对效果如表1所示。

通过对比传统人工设计方法与深度学习土地覆盖分类方法,可以看到除了基于融合特征的方法在草地的提取精度上略高于深度学习模型,其余基于深度学习方法得到的无论是整体还是单一土地覆盖分类精度都远远优于传统人工设计特征。证明了深度学习方法的多层非线性映射更能够表征高分辨率影像中复杂地物的本质特征,解决了复杂地物本质特征难以获取问题。

利用本文所述的模型在常州市影像样本库上训练,采用滑动窗口预测方法对常州市的影像进行解译,提取水系、建筑、植被和道路四类要素,解译结果如图6所示,精度结果如表2所述。

表1 传统人工设计特征与深度学习精度结果对比

图6 影像解译结果

表2 基于深度学习影像解译精度结果

4 结语

基于数据驱动的深度学习方法具有端到端学习,无须人工设计特征,逐层提取高层语义特征等优良特性,深度学习方法现已被广泛应用于遥感影像自动解译中。全卷积神经网络是一种被广泛使用的影像语义分割技术,并被引入到影像解译领域中,全卷积网络的关键是将传统卷积神经网络最后一层全连接层改成了卷积层,并通过上采样将特征图恢复成原始影像的大小,对每个像素进行分类。在使用全卷积模型对影像进行解译之前需要构建大数据量、高精度的训练样本库以提高训练精度。随着深度学习技术的发展,越来越多的传统遥感影像技术可以和深度学习相结合,影像解译的应用也越来越广泛,如利用影像解译技术可以自动对基础测绘地形要素进行更新,可以进行地表覆盖变化检测,快速、高效的提供大范围地表变化信息,不但可以为城市扩张监测、土地利用调查等应用提供数据支持,同时为地形图快速更新提供了可靠的数据来源等。

猜你喜欢
池化卷积神经网络
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
基于傅里叶域卷积表示的目标跟踪算法