APP下载

基于多尺度学习与深度卷积神经网络的遥感图像土地利用分类

2020-12-07王协章孝灿苏程

浙江大学学报(理学版) 2020年6期
关键词:残差土地利用尺度

王协,章孝灿,苏程

(浙江大学地球科学学院空间信息技术研究所,浙江 杭州 310027)

土地利用是指人类对土地自然属性的利用方式,自1995 年“土地利用/土地覆盖变化科学研究计划”拟定以来,土地利用信息的提取逐渐成为全球研究的热点[1]。进入21 世纪,我国社会经济快速发展,土地资源利用问题逐渐凸显,随之而来的还有大量的环境污染和生态破坏等问题[2],因此开展土地利用资源调查与研究有重大的现实意义。

随着航空航天和传感器技术的快速发展,遥感图像的空间分辨率已经从米级向亚米级甚至更高水平突破[3],高分辨率遥感图像拥有更加丰富和细致的空间信息、几何结构和纹理信息[4],从中解译获得的地物信息精度更高,能够实现规划级的土地利用分类。当前应用较多的面向对象的遥感图像分类方法[5],将影像按照区域异质性原则分割成互不相交的各个对象,进而分析和提取每个对象的光谱、纹理、形状等特征信息。此方法的局限在于所利用的空间结构特征以对象自身为主,不同对象之间或者更大尺度区域范围的空间特征利用程度较低,而且这些特征需要人工设计,特征的选择仍需凭借专家的知识和经验,对地物复杂的分布现状[6]表达尚不够充分。

2006 年,HINTON 等[7-8]首次提出深度学习的概念,此后,深度学习技术迅速发展,深度卷积神经网络(deep convolution neural network,DCNN)作为深度学习领域最热门的研究方向之一,其核心是通过多层非线性网络进行特征学习,将原始数据转换为更高层次、更抽象的表达[9],强大的特征提取能力使DCNN 在图像分类、目标识别[10]和语义分割[11]等领域取得了十分显著的成效。相比于传统的遥感图像分类方法,DCNN 利用其强大的拟合及学习能力具有自动提取特征[12-13],突破了人工设计特征的局限性。2016 年,SHERRAH[14]将全卷积网络(fully convolutional networks,FCN)用于遥感图像分类,通过对预训练中的16 层视觉几何组(visual geometry group,VGG)网 络[15]进行微 调(finetuning),并用条件随机场(conditional random field,CRF)对边缘部分进行平滑分类,在国际摄影测量与遥感学会(ISPRS)的高分辨率数据集上取得了较好的分类效果。VOLPI 等[16]提出了一种全图块标记(full patch labeling,FPL)CNN,用反卷积层直接对分类概率图进行逐层采样,并将其与基于图块(patch-based)的分类方法进行了对比,结果表明,端到端的分类方法明显优于前者。

本文融合多尺度学习理念和深度学习特征提取的优势,提出一种基于多尺度学习与DCNN 的多尺度神经网络(multi-scale neural network,MSNet)模型,该模型通过并行输入不同尺度的图像和引入膨胀卷积,增加网络的多尺度特性,设计一种端到端的分类网络。以浙江省0.5 m 分辨率的光学航空遥感图像为例,构建数据集开展实验,并将其与传统FCN 方法和基于支持向量机(support vector machine,SVM)的面向对象方法进行对比。

1 高分辨率遥感图像土地利用分类的特点

在高分辨率遥感图像中,相对于地物,土地利用类型是更抽象的高层语义类别,相当于具有特定含义或按照不同规则组合的地物。具体来说,各土地利用类型均由大量复杂的地物组成,如建筑区不仅包括建筑物,还包括建筑区内的部分道路、绿化植被、小型水体和阴影等;耕地不仅包括农作物,还包括作物间的裸土、田埂小道、水体和阴影等;林地包括树冠、裸土、裸露岩石、水体和阴影等,如图1 所示。在中、低分辨率遥感图像中,各土地利用类型中不同地物的光谱往往混合在一起,无具体边缘,区分困难,而在高分辨率遥感图像中,地物清晰可见,整个场景的复杂性大大增强。同时,由于不同土地利用类型之间存在共同或相似的地物,仅根据局部(例如经过分割后的对象)的光谱、纹理等底层特征无法准确进行土地利用分类。

图1 不同土地利用类型的复杂组成Fig.1 Complex components of different land use types

高分辨率遥感图像的复杂性导致土地利用分类需要多重尺度的特征信息。一方面,同种土地利用类型中不同地物的大小和形状差别较大,需要不同尺度范围的特征信息;另一方面,土地利用类型是不同地物的复杂组合,这种空间分布的抽象特征超过了地物本身的尺度局限,需要在更大的尺度范围内获取。为了跨越这种复杂场景分类中的“语义鸿沟”,处理方法从基于底层的特征分类方法,如纹理、形状、尺度等不变特征变换(scale-invariant feature transform,SIFT)演变到中层语义的视觉词袋(bag of visual word,BoVW)[17]等方法,而新的趋势是基于DCNN的特征学习方法。

DCNN 并不局限于某个地物或对象,而是能够自动提取一定区域范围内的特征,同时其特征层的数量可达数千个,突破了人工设计特征数量和形式上的局限。将DCNN 引入土地利用分类中,能够有效解决空间特征利用不足的问题,但特征提取尺度仍然相对固定。在DCNN 中,用感受野表示网络内部不同神经元对原图像的感受范围,即网络中各层输出的特征图(feature map)中的像素点在原始图像中的映射区域,感受野的大小决定了提取特征的区域尺度[18]。为了更有效地将高分辨率遥感图像应用于土地利用分类任务,本文将多尺度学习与DCNN相结合,增加网络感受野的多尺度特性,获取更多尺度的特征信息,以实现更好的分类效果。

2 基于多尺度学习和DCNN的MSNet模型

2.1 MSNet 模型的设计

基于多尺度学习和DCNN,构建了MSNet 模型。其总体结构如图2 所示。该模型包含3 条并行输入流,每条并行输入流包括由100 个卷积层组成的编码网络,以及由4 个膨胀卷积层和1 个上采样层组成的分类预测网络,图2 中标示的输入、输出数据和各特征图的参数均为数据大小×维度。输入端同时输入3 个不同缩放尺度的图像数据,实现输入图像的多尺度学习;编码网络基于深度残差网络(deep residual network,ResNet)进行设计,通过膨胀卷积进行改进以减少下采样次数,实现网络对图像的抽象特征提取;分类预测网络,利用膨胀卷积实现对特征图像的多尺度学习,并利用卷积化和上采样得到最终的分类结果。

图2 MSNet 模型总体结构Fig.2 Structure of MSNet model

2.1.1 卷积化

卷积化(convolutionalization)的概念来自于全卷积网络,即将传统卷积神经网络中最后数个全连接层全部转换为卷积核为1×1 的卷积层[19]。传统CNN 在卷积层之后接到1 至数个全连接层,将卷积层产生的特征图映射到一维特征向量上,输入至分类器,这种方式能够实现图像级分类,即得到该图像归属于各类别的概率。为实现像素级分类,通常使用基于图块的分类方法,即使用该像素周围的一个图像块作为CNN 的输入,用于训练和预测,但这种方法存储开销较大、计算效率较低,并且图像块的大小限制了分类效果。通过卷积化的方式对传统CNN 进行改进,使其接受任意尺寸的输入图像并直接得到逐像素分类结果。

2.1.2 膨胀卷积

膨胀卷积(dilated convolution),可改进普通卷积核的卷积步长,扩大一次卷积操作中的感受野。膨胀卷积的结构如图3 所示。图3 中,(a)的膨胀系数为1,与普通卷积操作相同;(b)的膨胀系数为2,卷积核为7×7,除黄点位置的9 个权值不为零外,其余全部为零,相当于卷积核膨胀并出现“空洞”,也可看作3×3 的卷积核与7×7 的图像区域进行卷积,但只有黄点位置的9 个像素与卷积核发生作用,因此感受野扩大到了7×7;(c)的膨胀系数为4,卷积核为15×15,由于只有黄点位置的9 个权值不为零,所以感受野扩大到了15×15。

图3 不同膨胀系数的膨胀卷积Fig.3 Dilated convolution with different dilation factors

在传统CNN 中,通过池化等下采样操作帮助网络获取图像的抽象特征,但在下采样的同时损失了大量信息,例如VGGNet 最后一层池化后的输出尺寸缩小为原图的1/32,这将导致分类结果过于抽象,而边缘部分较为粗糙。减少池化层可以降低下采样的倍数和信息损失,使分类结果更加精细,但会减小感受野,使网络提取特征的区域受影响。膨胀卷积可以缓解此类问题,在保持较大感受野的同时减少下采样次数。

2.1.3 残差网络

2015年,HE等[20]提出了ResNet,通过引入深度残差学习框架解决退化问题,开创性地将深度神经网络的层数提高了数倍,使训练数百层甚至数千层的神经网络成为可能,并且网络性能相当优异。笔者参考残差网络设计了网络编码器,以实现图像特征的提取。

残差学习指网络的每一层不直接拟合函数,而是尝试拟合函数的残差。假设H(x)表示最优解函数映射,网络的非线性层尝试拟合另一个残差映射F(x)=H(x)-x,此映射更容易被优化。在具体的网络结构中,使用残差块实现残差学习,其定义为

其中,x和y分别表示残差块的输入和输出向量,函数F(x,{Wi})表示被训练的残差映射。以2 层结构为例,F=W2σ(W1x),其中,σ表示稀疏激活函数(ReLU)层。在网络中,加法由一个快捷连接(shortcut connection)实现,此操作不会增加额外的参数和计算量,但可将优化目标函数变为残差,提高网络的学习速度。

本文应用的残差块结构如图4 所示。以256 维的特征层输入为例,第1 层卷积核为1×1、维度为64,此卷积层输出的特征层被降至64 维,使后续3×3 卷积核具有较小的输入、输出尺寸瓶颈,经批标准化(batch normalization,BN)层后输入至ReLU 层;第2 层卷积核为3×3,维度为64,同样经过BN 层和ReLU 层;第3 层卷积核为1×1,维度为256,此卷积层的输出恢复至256 维,并与原始输入进行快捷连接,再将相加后的特征层送入BN 层和ReLU 层,完成一个残差块。用改进的残差块堆叠替换传统网络中的卷积层,可有效提升网络的训练效率。

图4 残差块结构Fig.4 Structure of residual block

在本文使用的每个卷积层和ReLU 层之间添加批标准化层,其作用是使每一层的输入分布规范化并始终落在非线性激活函数较敏感的区域,避免网络层过深带来偏移累加和梯度消失问题[21]。对于包 含m个值的 小批量数据(mini-batch):B={x1…m},批标准化的算法流程为,先计算minibatch 的均值μB和均方差,再进行归一化处理:

然后进行缩放和平移,并输出:

其中,γ和β为自适应参数,通常设定初始值γ≈1,β≈0,在反向传播过程中与其他参数共同参与训练。

2.1.4 MSNet 模型的实现

如图2 所示,首先对输入部分采取尺度变换,对原图像(本文使用的实验图像尺寸为310×310)进行0.5 和0.75 倍缩放,分别输入网络进行训练,然后融合这些不同尺度的特征图,得到每个类别对应的归属概率的分类结果。此操作是将不同尺度的图像分成3 个输入流进行并行传播,每个输入流的网络结构相同,且同时进行反向传播训练,共同训练网络权值。考虑计算存储开销和缩放比例不宜过小,本文选取的输入流为3 个,以确保在尽可能多地获取多尺度特征的同时控制计算量。

基于残差网络对编码网络进行改进,共有100个卷积层。以输入310×310 图像为例,Conv1 模块为卷积核为7×7 的卷积层,输出数据大小为155×155,维度为64;Conv2_x 模块由1 个3×3 的池化层和3 个同样的残差块堆叠组成,输出数据大小为78×78,维度为256;Conv3_x、Conv4_x 和Conv5_x模块分别由4,23,3 个同样的残差块堆叠组成,其中卷积层的维度分别为上一个模块的2 倍,编码网络参数如表1 所示。

将Conv3_x 模块中的第1 个卷积层步长设置为2,实现下采样操作,在Conv4_x 和Conv5_x 模块中,取消第1 个卷积层的下采样,替换为中间3×3 的卷积层(膨胀卷积),输出数据大小均为39×39,最后一层特征图的维度为2 048,网络的下采样率为8 倍。

分类预测部分基于膨胀卷积设计,如图2 所示,将最后一层卷积层得到的特征图像分别输入至膨胀系数为6,12,18,24 的膨胀卷积中,然后对4 个输出数据进行相加融合,得到数据大小为39×39、维度为6 的热度图(heat map),最后3 条输入流经过最大值融合和双线性插值上采样得到最终的分类结果。经膨胀卷积后的热度图大小与普通卷积的相同,需要训练的卷积核参数虽无增加,但不同的膨胀系数可得到不同的感受野,以抵消Conv4_x和Conv5_x 模块下采样层带来的影响。这种网络结构只需增加少量参数和资源,便可一次获取4 个不同大小的感受野。

2.2 MSNet 模型的训练

MSNet 模型的训练方式与传统CNN 的类似,采用迁移学习[22]的方式,将在ImageNet 图像数据集上训练得到的ResNet 预训练模型(pre-trained model)作为编码网络的初始权值,训练数据集通过MSNet 网络进行前向传播,将得到的输出值与期望输出值代入损失函数,得到误差值,通过反向传播(back propagation,BP)逐层计算误差梯度,用获得的各节点权值和偏置修正量更新网络。在反向传播训练中,以交叉熵(cross entropy)作为损失函数,并通过加入L2 正则化项对损失函数进行约束,在权值更新方法中,使用动量更新算法(momentum)。本实验根据验证集误差调整参数,得到最优参数设置。最终的参数设置为动量因子0.9,学习率2.5e-4,对网络所有层施加5e-4的权值衰减。通过水平和竖直翻转、随机剪裁、随机缩放等数据增强方法处理模型的样本输入数据,以缓解网络的过拟合现象。

表1 输入图像尺寸为310×310图像时编码网络参数Table 1 Parameters of encoding network when inputs 310×310 image

2.2.1 L2 正则化

L2 正则化(L2 regularization)是一种较为常用的正则化方法。对网络中的每个权重w,在其目标函数中加入一个λw22 的惩罚项,其 中λ是 正则化参数,从而可以有效控制卷积神经网络的容量,防止过拟合。经求导,在所有的权值w的梯度下降结果中都增加了(1-λ)系数,即权值衰减了。同时L2正则化对于大数值的权值向量惩罚更为严厉,由于输入值和权重之间是相乘的,因此网络对于输入特征的使用更加分散和平均,从而避免因某些输入特征影响过大出现过拟合现象。

2.2.2 动量更新算法

采用批量梯度下降(batch gradient descent,BGD)法更新人工神经网络的权值,即沿着梯度下降最快的方向进行更新,此方法很容易陷入鞍点和局部最优点,无法进一步更新。而随机梯度下降(stochastic gradient descent,SGD)法,每次都从训练集中随机选择一个样本进行学习,学习速度很快,但每次更新的方向不一定正确,使得迭代次数增多。小批量梯度下降法综合了BGD 法和SGD 法的优点,在学习速度与迭代次数之间取得平衡,每次更新时,随机选择训练集中m个样本进行学习,将学习到的梯度加权平均后求和,作为此次的下降梯度。

在小批量梯度下降法框架下,采用动量(momentum)更新算法,优化梯度下降方向。为此,引入动量因子ν和动量系数β:

其中,α为学习率。如果上一次的动量因子ν与此次更新的负梯度方向相同,当前的动量因子ν就会增大,梯度下降的幅度也会增加,如果两者方向相反,动量因子ν就会减小,从而实现在更新过程中抑制震荡、加速收敛的目的,还可在网络训练后期摆脱局部限制。

3 实验与分析

3.1 实验数据

采用土地利用分类的常用数据源——浙江省0.5 m 分辨率的光学航空遥感图像,包括红、绿、蓝3个波段。选取其中一幅具有代表性的航空遥感图像进行实验,如图5 所示,该图像图幅编号为H50G042095,尺寸为12 086×9 299,分割成1 170幅尺寸为310×310 的图像,人工标注后组成实验数据集,并随机选取其中990 幅作为训练数据,另外180 幅作为测试数据。为体现测试结果的整体性,180 幅测试数据分别来自20 个区域图块,每个图块由9 幅930×930 的图像组成。土地利用类型分为林地、草地、耕地、建筑区、水体和未利用地6 类。

训练中将批处理尺寸(batch-size)设置为3,最大训练步数设置为20 000,共训练了约51 个周期(epoch),训练用时15 h 23 min,约在第13 000 步时网络的损失函数达到稳定收敛。

3.2 结果与分析

图5 研究区航空遥感图像Fig.5 Remote sensing image of study area

选取深度学习中传统FCN 方法和高分辨率遥感图像应用较多的基于SVM 的面向对象方法这2种较具代表性的图像分类方法进行对比。其中,MSNet 方法和传统FCN 方法使用Python 语言和基于谷歌开发的TensorFlow 框架进行搭建和训练;基于SVM 的面向对象方法用易康eCognition 软件实现,在多尺度对象分割阶段,通过多次实验对比,目视判断分割效果,选择分割参数,最终选定尺度参数为50,形状因子为0.3,紧致度因子为0.5。生成分割对象后,初步选择包括光谱、纹理和几何特征在内的60 个特征,然后采用分离阈值法对60 维的特征空间进行分析,剔除重复和无关特征后选取14 个特征作为分类依据,包括各波段光谱均值和亮度值、对象的密度指数、对象的长宽比、各波段的灰度共生矩阵(gray-level co-occurrence matrix,GLCM)均值和归一化灰度均值。采用SVM 分类器分类,选择径向基函数作为核函数。

选取其中3 组测试图像,对比3 种方法的土地利用分类结果,结果如图6 所示。总体来说,MSNet 方法的分类结果与人工标注最相近,破碎图斑较少,提取的地物对象连续性、整体性较强。例如,在第Ⅰ组中,只有小块林地边缘出现错分,小部分建筑区与耕地出现误分类,在第Ⅱ组中,只有水渠部分不够连续,在第Ⅲ组中,只有夹杂在林地中的一片耕地没有被识别。基于SVM 的面向对象方法的分类结果中,地物边缘提取精度较高,但不同区域的相似地物混淆较多。例如,在第Ⅰ组中,建筑区的绿植被错分为林地,在第Ⅱ组中,城镇建筑区的部分裸地被错分为耕地,在第Ⅲ组中,林地和耕地混合区域出现误分类。而传统FCN 方法和MSNet 方法,对这些区域的分类表现较好,表明获取更大范围的空间特征有助于对复杂组合区域的分类决策。同时,与MSNet方法相比,传统FCN 方法对地物边缘的分类相对较差,例如,在第Ⅰ组中,道路边缘保持较差,在第Ⅱ组中,建筑区与耕地边缘误分类情况较多等,表明MSNet 方法对不同尺度特征的充分利用进一步提升了分类精度。

图6 3 种分类方法结果对比Fig.6 Comparison among three kinds of classification methods

MSNet 方法的分类结果中较少出现破碎的图斑,但图像边界会出现误分类情况,这是因为DCNN 在图像边界处只能通过增加补零的方法进行卷积,降低了分类精度。同时,由于网络通过上采样实现分类预测,边缘信息不可避免地被平滑,地物边缘不像基于SVM 的面向对象方法锐利。

本文随机选取了部分测试图像进行精度评价,3种方法的混淆矩阵分别如表2~表4 所示。由混淆矩阵计算得到,基于SVM 的面向对象方法的总体精度为79.40%,Kappa 系数为0.713;传统FCN 方法的总体精度为86.53%,Kappa 系数为0.809;MSNet方法的总体精度为91.97%,Kappa 系数为0.886,MSNet 方法的总体精度较前两种分类方法分别提高了12.37%和5.44%,Kappa 系数较前两种方法分别提高了0.173 和0.077。总体来说,3 种方法中,本文提出的MSNet 方法分类效果最好,且网络提取多尺度特征的能力较强。

表2 使用MSNet 方法分类的混淆矩阵Table 2 Confusion matrix of classification by MSNet

表3 使用基于SVM 的面向对象方法分类的混淆矩阵Table 3 Confusion matrix of classification by object-oriented method with SVM

表4 使用传统FCN 方法分类的混淆矩阵Table 4 Confusion matrix of classification by traditional FCN

4 结论

分析了高分辨率遥感图像土地利用信息的特点,阐述了进行土地利用分类面临的空间特征利用不足问题。针对此问题,结合多尺度学习理念,通过增加DCNN 感受野的多尺度特性,设计了MSNet模型,实现了输入图像和特征图像层面的多尺度学习,提升了网络的分类性能。以浙江省0.5 m 分辨率的光学航空遥感图像为数据源,对本文提出的MSNet 方法的分类效果进行了验证,得到的总体精度为91.97%,Kappa 系数为0.886,相比传统FCN 方法和基于SVM 的面向对象方法,总体精度分别提高了12.37% 和5.44%,Kappa 系数分别提高了0.173 和0.077。实验结果表明,MSNet 方法分类效果更好,信息提取精度较高。

深度学习在遥感图像分类应用中潜力巨大,但仍面临训练样本数据量不足导致过拟合、下采样导致信息损失等问题。针对MSNet 方法分类结果中边缘过于平滑的问题,可采用后处理的方法对分类结果进行增强,如利用全连接的条件随机场或高斯条件随机场等方法改善分类边缘,提高分类精度。

猜你喜欢

残差土地利用尺度
土地利用变化与大气污染物的相关性研究
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
基于GIS⁃Logistic回归模型的土地利用变化及驱动机制研究
中国地质大学(北京)土地利用与生态修复课题组
土地利用规划的环境影响评价分析
基于残差学习的自适应无人机目标跟踪算法
财产的五大尺度和五重应对
基于深度卷积的残差三生网络研究与应用
宇宙的尺度