结合改进混合卷积模型的遥感影像变化检测
2022-03-01代云锋刘丽娜
代云锋,刘丽娜
(1.宁波冶金勘察设计研究股份有限公司,浙江 宁波 315100;2.宁波市鄞州区测绘院,浙江 宁波 315100)
0 引言
变化检测技术是遥感信息科学和影像解译的重要研究领域,探测地球表面的变化对于监测当地、区域和全球环境具有重要的意义[1]。变化检测技术已经被广泛应用于众多研究调查中,包括土地资源利用调查[2]、灾害评估[3]、生态环境监测和地理数据更新[4]等领域。随着对地观测系统技术的显著发展,遥感影像的空间分辨率得到了进一步的提高,高分辨率影像信息已经成为新世纪的基本发展方向,并且针对同一区域数据获取的重访周期日益缩短,这为高分辨率遥感影像的变化检测任务提供了重要的数据基础。
变化检测包括变化范围检测(即二分类)和变化类别检测(即多分类)两部分,是对地物变化进行分类的过程。因此一些经典的分类算法,如支持向量机(support vector machine,SVM)、极限学习机(extreme learning machine,ELM)、随机森林(random forest,RF),以及一些非监督方法,如变化向量分析(change vector analysis,CVA)以及马尔可夫随机场(markov random field,MRF)[5],已被广泛用于多时相遥感影像的变化检测。随着遥感影像空间分辨率的提高,地物的空间信息得到进一步的补充,影像能够记录到更多的空间细节。细节的增加使得同种地物间的光谱差异变大,不同地物间的可分性降低,更容易出现“同物异谱”“异物同谱”的现象。因此以单个像素为研究单元的变化检测方法可能会产生较多的“椒盐噪声”,同时带来较高的误检和遗漏误差,而基于对象的方法以相邻的像素为研究目标,能够充分利用地物的邻域信息,目前已被广泛应用于变化检测任务。如赵生银等[6]联合像素级及对象级的图像特征,引入LightGBM算法进行特征选择,最后利用随机森林得到城市变化检测结果;Li等[7]在CVA的基础上提出了面向对象的变化向量分析,与基于像素的变化检测结果相比,减少了虚检像元数量和椒盐噪声。
在遥感图像变化检测任务中,传统的检测方法,如支持向量机、随机森林,大都需要先验知识,并需要手动设计和提取图像的纹理特征、形态学特征、邻域空间特征构成特征集合来进行变化检测。然而这些方法往往能够提取出图像的浅层特征,对深层次的图像特征表征力不足,同时耗时耗力。而深度学习因其强大的特征提取与深层特征分析能力在图像处理、音频识别等领域取得了突破性进展,将深度神经网络应用于遥感图像变化检测任务中也逐渐成为国内外学者研究的热点。常用的深度学习方法,如卷积神经网络(convolutional neural network,CNN)、去噪自编码器(denoising autoencoder,DAE)、受限玻尔兹曼机(restricted boltzmann machine,RBM)等均受到广泛关注。作为一种主流的深度学习体系结构,深度卷积神经网络的重要性在于提取空间上下文信息,经典架构如VGGNet[8]、FCN[9]和ResNet[10]也被引入了遥感影像变化检测领域[11]。张翠军等[12]提出了改进U-Net的遥感图像建筑物变化检测方法,引入非对称卷积块和注意力机制来增强网络鲁棒性,同时加强网络对变化特征的学习,其结果表明与传统方法相比,深度学习方法具有更好的检测精度。
本文考虑不同大小的卷积核,设计了一种基于改进混合卷积特征提取模块的变化检测模型,采用并行特征提取、深层特征后融合的方式充分学习数据的变化特征;同时结合基于对象的变化检测方法,通过影像分割算法得到对象,提取基于对象的多特征进行样本选择,进而训练深度卷积神经网络模型;最后结合不确定性分析方法得到最终的变化检测结果。
1 结合改进混合卷积的深度网络模型
1.1 混合卷积
卷积神经网络由多层神经网络构成,是深度学习的代表算法之一[13]。作为一种主流的深度学习架构,卷积神经网络具有强大的表征学习能力,采用局部连接的思想,能够充分考虑到数据的空间上下文信息,在自然语言处理等许多领域都取得了非常好的效果,在图像处理领域取得的成绩尤其瞩目。卷积神经网络在结构上具有局部连接、权值共享的特点,且网络参数与全连接网络相比大大减少,不仅能够更好地表征图像中的深层信息,并且训练效率更高[14]。目前在卷积神经网络的改进中,网络架构轻量化设计逐渐成为研究重点,而深度可分离卷积[15]在当前轻量型卷积神经网络中得到广泛运用。该卷积通过拆分后融合的方式降低网络参数量,但在网络设计中,卷积核的尺寸却很少得到关注,甚至被忽视。单一的卷积核尺寸在提取影像特征中具有一定的局限性,模型需要大尺寸核捕获高分辨率模式,同时需要小尺寸核捕获低分辨率模式以及获得更高的精度效率。因此针对这一问题,混合卷积(MixConv)[16]提出将多个不同尺寸的卷积核组合成一个单独的深度卷积,使该深度卷积操作易于从输入图像中获取不同类型的特征模式。
在卷积神经网络中,特征通常是分层提取的,深层结构易导致深浅层特征间的交互性降低,因此本文在混合卷积的基础上同时引入了密集连接,将不同尺寸卷积核应用到同一个卷积单元中,接着在每一支卷积运算中连接前层特征,在此基础上设计了混合卷积特征提取模块,并将其嵌入深度卷积神经网络模型中。改进混合卷积特征提取模块能够在同一卷积单元中融合多尺度特征,并且不同层学习的级联特征图会增加后续层输入的变化并提高网络效率。
改进混合卷积特征提取模块结构如图1所示,设该模块内共有N个卷积核,卷积核大小为Kn,n=1,2,…,N。输入特征大小为[H,W,C],其中H、W分别为输入特征的长度和宽度,C为特征深度,每经过一次卷积运算后的输出特征为Cafter,则特征融合后的输出特征为Cout=Cafter×N。如图1所示,输入特征在分成若干组后分别应用不同大小的卷积核,构成并行分支,卷积运算后特征将与前层特征相级联,最后合并不同分支的特征。
图1 改进混合卷积特征提取模块
为了充分利用样本的空间特征信息,同时避免过拟合现象,本文设计了一个基于改进混合卷积特征提取模块的深度卷积神经网络模型进行变化检测。
1.2 基于多尺度切片及改进混合卷积的网络模型
深度卷积神经网络的独特在于可以利用样本的空间特征信息,自主学习遥感影像中领域空间的特征相关性,显著提升变化检测精度。本文设计的基于多尺度切片及改进混合卷积的网络模型的设计理念如下。
1)本文使用以像素为中心、固定窗口大小的邻域图像块作为该像素样本的输入数据,包括R、G、B 3个波段,模型输入为两时相影像的波段叠加。而领域大小p是一个未知数,在本文中将p设置为5个尺度,分别是9、11、13、15、17,通过对领域大小进行研究能够寻找到不同影像数据的最佳输入大小。
2)通过对输入数据进行多尺度切片,获得影像的多尺度空间特征,并叠加改进混合卷积特征提取模块进一步得到更高维的具有代表性的深度特征。
3)研究表明,采用多个3×3卷积能够达到较大尺寸卷积的效果,在增大感受野的同时减少网络参数[17]。多个3×3卷积相叠加比一个较大尺寸卷积拥有更多的激活函数,因而更能增强网络的非线性学习能力。所以本文将多个3×3卷积用于网络模型设计中,提高模型对数据的特征提取能力。
4)1×1卷积实际上是对每个像素点在不同通道上进行信息整合,在保留数据的原有平面结构的同时完成升维或降维,因此本文模型在网络末端均采用1×1卷积。
如图2所示,该深度卷积神经网络由以下4部分组成。①初始特征提取。利用3×3卷积核对输入数据进行卷积操作。②将网络输入定义为(p-4)×(p-4)和(p-2)×(p-2)两支,p为样本的长宽值,即在提取初始特征后对特征进行切片操作,进一步分为两个网络分支。③在第一支并行网络中采用多个3×3卷积核堆叠的方式来增大感受野;在第二支并行网络中嵌入改进混合卷积特征提取模块,卷积核大小设置为 [3,5],并与3×3卷积核交替采用;在并行网络末端连接1×1卷积核,便于特征融合,特征融合模块如图3所示。④对融合后的特征进一步做卷积运算,输出的卷积特征输入进全连接层中得到对应类别(变化或不变),即变化检测结果。
图2 基于多尺度切片及改进混合卷积的网络模型
图3 特征融合模块
2 实验方法
在本文所提方法中,利用影像分割及多特征提取进行深度卷积模型样本的选择,通过多卷积核混合的方式搭建深度卷积神经网络模型来提取影像输入对的多尺度特征,获得像素级变化检测结果后与分割对象进行融合,得到最终变化检测结果。针对遥感图像变化检测主要有以下6个步骤。
步骤1:影像预处理;
步骤2:影像分取割及多特征提取;
步骤3:训练样本获取;
步骤4:模型设计及训练;
步骤5:面向对象的不确定性分析;
步骤6:变化检测结果获取。
两时相遥感图像的变化检测流程图如图4所示。
图4 变化检测流程图
2.1 基于分割对象特征的样本选择
在本研究中采用基于分割对象的方法进行网络训练的样本提取。假设两时相遥感影像分别为X={X1,X2,…,XN},Y={Y1,Y2,…,YN},N为影像波段数。首先将两时相遥感影像进行波段叠加,即{X,Y}={X1,X2,…,XN,Y1,Y2,…,YN},使用SLIC算法对叠加后的影像进行分割;然后将分割结果分别应用到两时相遥感影像X,Y中,最后提取两时相影像的对象特征,构成多元特征库作为样本选择的依据。
本文采用了原始光谱特征、纹理特征、空间特征作为监督学习中样本选择的依据。这是因为不同类型的特征能够更全面地反映出不同类型的地物特点[18]。
1)基于对象的特征计算。在包含了原始光谱特征的同时,每个对象中也会包含纹理、空间等特征。选取光谱特征、纹理特征(熵entropy)、空间特征(斜率slope、截距intercept和相关性correction)。
2)样本选择。在得到两时相各个对象的多元特征后,经过差值计算后可以获得以对象为单位的特征变化图。本文通过对变化特征进行不确定性分析,选取训练样本。首先将变化特征向量F进行归一化处理,使其拉伸到[0~1]范围内。
对于每种特征,本文利用最大类间方差算法(OTSU)[19]对特征向量进行阈值分割,将对象分为变化和未变化两类。假设变化类别为前景,背景为未变化,当取最佳阈值时,两部分之间的差别应该是最大的,在OTSU算法中所采用的衡量差别的标准就是较为常见的最大类间方差。记T为前景与背景的分割阈值,前景点数占总影像比例为w0,平均灰度值为u0,背景点数占影像比例为w1,平均灰度值为u1,图像的总平均灰度为u,前景与背景影像的方差为g,则有
u=w0×u0+w1×u1
(1)
g=w0×(u0-u)2+w1×(u1-u)2
(2)
联立上式可得
(3)
该变化检测结果CDk为
CDk={cdi,1≤i≤N}
(4)
(5)
式中:0和1分别表示第i个对象在第k个特征上属于非变化和变化对象;T是利用最大类间方差算法得到的阈值。然后采用得分法进行样本选择,对于5项特征的分类结果,每个对象均可以使用五维向量Fj=(fg,fw,fSI,fC,fI)来表示。对于对象Ri,其类别可以由式(6)获得。
(6)
若该对象特征向量的模(即该样本的得分)大于等于4,则标记为变化;若向量的模为0,则标记为不变。最后从确定区域里随机选择一定数量的有标签样本作为训练样本,作为后续深度模型的输入。
2.2 深度神经网络训练
根据前文方法共选取2 000个样本点,在模型训练时,随机选取样本数据集中80%的数据(1 600个)作为训练集,20%的数据(400个)作为验证集。实验使用 Windows 10 操作系统、Intel 酷睿 i7处理器,显卡为 NVIDIA GeForce RTX 2070,软件环境为 Pycharm和Python3.7,深度学习框架为TensorFlow,训练过程共迭代100次。
2.3 基于对象的后处理
在经过深度卷积神经网络后,可得到像素级变化检测结果。但基于像素的变化检测往往会产生大量的椒盐噪声,因此本文在获得像素级变化检测结果后,与超像素分割的分割结果进行融合,利用投票法得到最终的变化检测结果。如式(7)所示,Li=0,1分别表示第i个对象属于变化和非变化类别。
(7)
(8)
3 实验与分析
本次实验采用的数据来自 DEVA 实验室提供的变化检测数据集[20-21],该数据集是来自 Archieve、Szada和Tiszadob 3个不同城市的在不同季节条件下、在不同的时间间隔拍摄光学航空影像,波段为RGB 3个波段,空间分辨率为1.5 m,影像大小为952像素×640像素,两时相影像拍摄间隔为23年,在生成变化信息掩膜时主要将以下差异视为变化:新增建筑、树木种植、新开垦的土地等。在进行实验前,首先对两时相影像进行相对辐射校正、归一化等预处理步骤。实验数据的R、G、B真彩色图像如图5所示。
图5 实验数据真彩色图像
在本实验中选择CVA、K最近邻(k-nearest neighbor,KNN)、SVM、深度卷积神经网络(deep convolutional neural network,DCNN)作为对比实验。同时采用4种评价指标来进行变化检测的精度评定,分别是总体精度、Kappa系数、虚检率和漏检率,以定量地评估所提方法的有效性。
图6至图7分别为基于实验数据一、实验数据二本文所提方法及对比变化检测方法的结果图和参考变化图,其中白色区域表示变化像元,黑色区域表示未变化像元。如图6(a)、图6(b)、图6(c)所示,对于实验数据一,传统的变化检测方法结果存在大量椒盐噪声。另外在结果中,这3种方法均存在大量的虚检像元。由图6(d)可以看出,深度卷积神经网络获得的变化检测结果较传统方法有较大的提升,而图6(e)表明本文设计的基于改进混合卷积的网络模型方法具有较为优秀的特征提取和分类能力,同时在结合分割对象后,椒盐噪声被大大减少,更接近于参考变化图,进一步提高了变化检测精度。
图6 数据一的变化检测结果和参考图
图7 数据二的变化检测结果和参考图
图7显示了分别采用CVA、KNN、SVM、DCNN及本文方法对实验数据二进行变化检测的结果图。从图7(a)、图7(b)、图7(c)可以看出,传统的变化检测方法对于实验数据二效果不明显,往往检测不到正确的变化像元,这是因为该地区耕地分布范围广且受到季节的变化影响,并且在影像中含有较大面积居民地建筑,这些都增加了变化检测的难度。图7(d)显示出DCNN能够较好地提取到变化信息。图7(e)则表明本文设计的基于改进混合卷积的网络模型方法在该数据上具有较为优秀的特征提取和分类能力,同时在结合分割对象后,椒盐噪声被大大减少,进一步提高了变化检测精度。
表1、表2分别列出了实验数据一、实验数据二在不同变化检测方法下的检测精度,其中加粗部分为从整体上获得最好检测结果的方法。通过结果可以看出,本文所提的变化检测方法获得了比其他方法更高的变化检测精度,并且虚检率和漏检率更低。本文方法的总体精度(overall accuracy,OA)在实验数据一中较SVM提高了0.120 2,较DCNN提高了0.025 9,Kappa系数分别提高了0.432 2和0.071 7。由表1可以看出,基于深度学习的变化检测方法较传统方法精度有大幅提升,并且本文所提方法获得了比DCNN更高的Kappa系数和更低的虚检率,漏检率较其有小幅增加,这是因为面向对象的不确定性分析会将小面积的变化检测结果去除,会在降低虚检率的同时增加漏检率,但总体来看本文所提方法取得了最好的效果。在实验二的数据中也同样取得了最好的检测效果,总体精度为0.969 5,较传统的DCNN提高了0.056 3,并且虚检率和漏检率更低。同时未结合后处理的结果精度同样要优于对比方法,这说明本文所提出的模型能够更好地提取与识别出变化地物信息,并且结合面向对象的后处理后精度得到了进一步的提升。
表1 实验数据一中各变化检测方法的精度评定结果
表2 实验数据二中各变化检测方法的精度评定结果
由于变化检测结果受到卷积神经网络的输入块的大小的影响,本文对输入数据的大小p进行了讨论。对于数据一和数据二,实验选择了p=[9,11,13,15,17] 5个大小的输入尺寸,对网络模型与输入大小的关系进行探讨。表3至表4显示了实验数据在不同输入大小下模型结果的评定精度,数据一在p=11时获得最好结果,而数据二在p=13时可获得最好结果。数据二的地物类型与数据一相比更加复杂多样,存在小面积的变化地物,在大尺寸下可以更好地利用空间邻域关系,并且由于第二个数据集中地物表面特征的复杂性,当尺寸大小从9变化到13时,变化检测的精度明显提高。如果输入尺寸过小,网络不能完全了解地物表面特征的变化信息以及其周围区域,导致无法准确检测这些变化。
表3 实验数据一在各输入大小p的精度评定结果
表4 实验数据二在各输入大小p的精度评定结果
4 结束语
本文设计了一种基于改进混合卷积特征提取模块和双切片并行网络的变化检测模型,该模型能够融合多尺度特征用于变化检测,同时结合超像素分割对象得到对象级变化检测结果,减少像素级“椒盐噪声”影响。本文选择了两组数据进行实验,实验结果均表明本文方法比其他方法具有更高的检测精度和更好的鲁棒性,并且进一步对网络输入尺寸进行了探讨。在未来,尝试非监督检测方法来解决样本获取问题将是讨论的重点之一,同时将进一步对地物类型的变化做更为细致的研究。