陈海永,吕承杰,杜 春,陈 鹏
(1.河北工业大学人工智能与数据科学学院,天津 300401;2.国防科技大学电子科学学院,湖南 长沙 410073)
遥感影像变化检测是遥感图像处理研究的重要方向,核心是利用不同时期相同地域的遥感影像,分析与确定地物的变化状况及其特征相关性,其在土地覆盖、土地利用调查、灾害应急和生态环境监测和地理数据更新等方面具有重大的应用价值[1]。然而,实际遥感图像的变化检测任务极其复杂。一方面,遥感图像中的物体背景形态多样,干扰强,要区分目标对象和背景对象并不容易;另一方面,双时相数据之间存在着不相关差异,如光照变化、季节植被变化[2]、建筑物阴影覆盖和噪声干扰[3]等。这些问题导致具有相同语义概念的物体在不同的时间和空间位置可能表现出不同的成像表现。这要求检测方法能够有效地提取到有用信息,抑制干扰信息的传播。
传统的变化检测方法主要利用遥感图像中的光谱信息来检测变化,如变化矢量分析CVA(Change Vector Analysis)和主成分分析PCA(Principal Component Analysis)[4]等。然而,这类方法往往需要选择最优阈值,这使得他们依赖于具体场景且耗时长。传统机器学习方法可以从一部分标记样本中学习,得到自动决策模型,但这种方法严重依赖于手工设计的特征,很难有效地捕获高级特征表示且精度较低[5]。
近年来,随着计算能力的发展、数据的不断积累和大数据挖掘算法的提出,深度学习在许多领域都取得了突破。此外,遥感已经进入了大数据时代,满足了深度学习的大数据要求[6]。深度卷积神经网络由于其强大的特征提取能力,能够从卫星遥感图像中自动提取具有丰富光谱信息的空间多层次特征[7]。基于深度特征的方法将双时相图像转换为高维空间深度特征,这些方法将特征提取和差异识别操作集成到网络中,以端到端的方式直接生成最终的变化图。与传统的变化检测方法相比,基于深度卷积神经网络的方法对输入数据具有更强的鲁棒性,并具有更好的泛化能力。
在遥感图像变化检测领域,FC-EF(Fully Convolutional Early Fusion)、FC-Siam-conc(Fully Convolutional Siamese concatenation)和FC-Siam-diff(Fully Convolutional Siamese difference)[8]是3种典型的全卷积神经网络。Daudt等人[8]探索了早期融合、孪生差异和孪生连接3种不同的图像输入方法,实现了端到端的训练。BiDateNet[9]将LSTM(Long Short-Term Memory) 集成到U-Net(U-shaped Network)[10]的跳跃连接中,以获得更多时间上可区分的特征。DSIFN(Deeply Supervised Image Fusion Network)[11]基于孪生网络,通过完全卷积双流结构提取具有高度代表性的深度特征,并将提取到的深度特征输入到深度监督差分鉴别网络中进行变化检测。SNUNet-CD[12]采用孪生的子网络作为编码器,并将NestedUNet[13]作为解码器,通过使用嵌套的密集跳跃连接,叠加不同层次的U-Net结构,减小编码特征图和解码特征图之间的语义鸿沟。韩星等人[14]基于编码-解码结构,引入注意力机制和金字塔池化模块,有效融合不同阶段和不同分辨率的特征图。上述方法主要利用注意力机制以及密集连接等方式来获取双时相图像之间的特征关联信息,并没有很好地将深层特征与浅层特征结合起来,对于一些由于外部环境干扰所引起的伪变化,仍然难以提取出有效的特征信息来进行区分。因此,应该利用更有效的技术从特征中提取更有区别性的信息,并减轻伪变化的影响。
本文以编码-解码器为基准网络框架,提出一种具有注意力门控融合模块的孪生变化检测网络SAGFNet(Siamese change detection Network with Attention-Gated Fusion module)。使用孪生编码网络,能够并行提取具有高度代表性的双时相图像特征,孪生网络的2个分支之间的权重共享可以将多时相图像映射到相同的特征空间,使提取的特征更容易区分。在编码部分引入了三重注意力网络模块,有助于提取有效变化区域的空间信息,提升对小尺度目标的检测能力。为了进一步解决变化特征关联信息丢失导致的检测图中产生伪变化的问题,本文还提出了注意力门控融合AGF(Attention Gated Fusion)模块,从多个层次选择性地融合特征,有效加强深层特征和浅层特征之间的深度融合,降低特征图中干扰因素对最终变化检测结果的影响。此外,为了进一步提高网络性能,在解码器阶段引入带有中间层变化检测损失的深度监督DS(Deep Supervision)模块。本文所提出的检测网络在遥感影像变化检测公开数据集WHU[15]和LEVIR-CD[16]上取得了有竞争力的结果。
本节从基本网络结构、注意力门控融合模块、深度监督策略和损失函数4个方面来介绍所提出的SAGFNet。
SAGFNet网络结构由2个编码部分和1个解码部分组成,其中所有的卷积层均被替换为残差卷积块,以加快训练收敛速度。SAGFNet结构如图1所示。首先,在编码部分利用孪生网络提取双时相遥感影像特征,通过插值上采样操作重构变化映射,经过注意力门控融合模块输入到解码阶段,并对重构后的不同解码层的变化图进行深度监督,形成最终的变化检测结果。
Figure 1 Structure of SAGFNet
解码器由4层组成,每层也都包含一个残差模块,对不同大小的特征图进行重构。每个解码器层经过上采样后使用跳跃连接和对应层注意力门控融合模块的输出相连接,使用跳跃连接的方式在编码器和解码器之间传递上下文和空间信息,有助于检索在下采样过程中丢失的重要信息。在连接后,输出被传递给一个残差模块,输出的特征图分别表示为{D0,D1,D2,D3}。通过插值上采样的操作来扩大特征图的尺寸,将结果与编码部分中相应尺寸的特征图连接起来,并将其插入到下一个解码步骤中,以实现特征图的最终重构。具体来说,编码器和解码器的表述如式(1)~式(4)所示:
(1)
(2)
(3)
Dj=HDj{cat(Up(Dj-1),
1 (4) 残差模块如图2所示。针对遥感影像背景复杂、干扰因素多等问题,需要更深层次的网络才能从数据中学习到更复杂的特征。然而,随着网络的不断深入,它会丢失更多的空间信息。使用残差模块来代替整个编码-解码网络中的卷积层,能有效解决深度神经网络的退化问题,使信息前后向传播更加顺畅,同时加快了网络的收敛。 Figure 2 Residual module 在编码器下采样过程中,语义信息逐渐增强,特征图分辨率降低,从而导致了变化特征关联信息和空间信息的丢失。一般来说,深层特征图语义丰富,但空间分辨率低,细节信息丢失较多,而浅层特征图空间分辨率高,但语义信息容易淹没在图像的细节中,这意味着不同层根据收缩路径的特征层次结构包含不同层次的语义特征[17]。通常,深层特征在遥感影像变化检测任务中是非常有效的,然而深层特征映射很容易导致小尺度目标变化检测结果较差。为了补偿特征提取过程中可能丢失的特征关联信息和空间信息,先引入注意力模块,对特征信息进行筛选,抑制非目标区域的特征,建立通道和空间之间的依赖关系,改进由标准卷积层生成的特征表示,细化所感知到的信息,同时保留其上下文,再以门控的形式融合多级特征图,控制信息的传播,将无用的信息调节到正确的位置,得到不同尺度的具有高分辨率和丰富语义信息的特征图,缩小编码器中深层特征图和浅层特征图之间的语义差距,更好地保留变化特征之间的关联信息。最后经过多尺度跳跃连接的方式,加强特征表示,降低特征图中的背景噪声。 鉴于上述分析,本文提出了注意力门控融合AGF模块,如图3所示,其中,G表示经过门控操作生成的相对门控掩码图,Z(0)表示最终输出的融合结果。每个注意力门控融合模块都以编码器的前4个阶段得到的特征图L(0)、L(1)、L(2)和L(3)作为输入,以其中一个阶段得到的特征图作为门控融合模块的主输入,例如L(0),则L(1)、L(2)和L(3)为门控辅助输入。整个门控融合过程可以根据式(5)进行,门控操作由一个核大小为1×1的卷积层和Sigmoid激活函数构成,以此来获得主输入特征图的相对门控掩码图G(x,y),当G(x,y)的信号非常强时,表示L(0)(x,y)处的特征向量是非常重要的,此时(1-G(x,y))的值会变得非常小,因此,Z(0)(x,y)处的特征向量主要来自L(0)(x,y)。当G(x,y)的信号非常弱时,注意力门控融合模块更倾向于传播编码阶段的深层特征图,从而弥补了L(0)(x,y)中深层特征的不足。主输入通过门生成相对门控掩码图,来控制信息的传播,辅助输入经过注意力模块,整合图像上下文信息,进一步聚焦目标特征,减弱冗余信息的干扰,提高特征的利用效率,将主输入和辅助输入进行像素级加法融合,最终的融合结果定义如式(5)所示: Figure 3 Attention gated fusion module Z(0)(x,y)=(1+G(x,y))·L(0)(x,y)+ (1-G(x,y))·(L(1)(x,y)+ L(2)(x,y)+L(3)(x,y)) (5) 注意力模块采用的是Triplet Attention[18],结构如图4所示,使用3个并行分支结构,其中2个分支提取2个空间维度和通道维度C之间的维度间依赖关系,另一个分支提取空间特征依赖关系。在前2个分支中,三重注意力分别沿H轴和W轴逆时针旋转原始输入张量90°,并将张量的形状从C×H×W转换为W×H×C和H×C×W。在第3个分支中,不执行旋转操作。然后,通过Z-pool层和标准卷积层进行卷积,再对输出执行Sigmoid 激活函数以获得注意力权重。 Z-pool定义如式(6)所示: Z-pool(x)=[MaxPool0d(x),AvgPool0d(x)] (6) 其中,0d表示旋转后张量的第0维,x表示输入的张量。例如,一个形状为C×H×W的张量,通过Z-pool层会得到一个形状为2×H×W的张量。 将约简张量通过核大小为K×K的标准卷积层,批量归一化层,最后将Sigmoid函数生成的相应维度的注意权重添加到旋转张量中。在最终输出端,第1分支的输出沿H轴顺时针旋转90°,第2分支的输出沿W轴顺时针旋转90°,确保与输入的形状相同。最后,取各个分支输出总和的平均值,得到注意力模块的最终输出。输出张量定义如式(7)所示: (7) 深度监督策略旨在通过对中间层提供直接的监督以提高网络性能。深度学习的关键特点是利用反向传播算法进行权值更新,给定一个神经网络和一个误差函数,反向传播计算误差函数相对于每个神经元权值的梯度。在反向传播过程中,如果激活函数的导数小于1,当误差从最后一层反向传播到中间层,多个小于1的乘法会产生更小的值,在浅层中产生一个更小的权重梯度,被称为梯度消失。前几层的随机初始化神经元是训练速度最慢的,梯度消失会阻止梯度向后流动,使得较低的层无法学习到有用的特征,从而导致早期神经元训练不足。在训练过程中,一般仅在网络的最后一层添加监督,训练错误从最后一层反向传播到更靠前的层。但是,由于网络构建块和注意力门控融合模块的堆叠,导致网络复杂性增加,这可能会造成网络无法学习到有效的特征。 深度监督策略使得网络在训练过程中不仅可以从最后一层监督,而且可以从隐藏层监督中收集梯度,克服了梯度消失问题,提高了收敛性。 典型的解码阶段深度监督策略如图5所示。其中,DS_i中DS表示深度监督策略输出的结果,i表示解码器对应的层级。深度监督策略强制解码器块输出有意义的预测结果, 将解码器阶段中每一层残差模块的输出(D0,D1,D2,D3)利用双线性插值的方法把特征图调整为与输入图像相同尺寸,然后通过一个1×1卷积层和Sigmoid激活函数得到中间层的辅助分类结果,分别表示为DS_0、DS_1、DS_2和DS_3,然后将这些输出与真值标签gt相比较,并计算出损失loss,只有最后一个结果DS_3作为最终的主要预测结果。 Figure 5 Deep supervision strategy of decoding stage 在遥感影像变化检测区域,不变像素的数量往往远远大于变化像素的数量。为了削弱不平衡样本的影响,本文使用一个混合损失函数(交叉熵损失函数和Dice loss),如式(8)所示: L(predict,gt)=Ldice(predict,gt)+ Lwce(predict,gt) (8) 其中,predict表示预测结果,对应前文的DS_i。 交叉熵损失计算如式(9)所示: (9) 其中,tn表示像素n的真实标签类别,当n为变化类像素时tn取值为1,n为不变化类像素时tn取值为0;pn表示像素n属于变化类的预测概率,1-pn表示像素n属于不变化类的预测概率。 Dice loss的定义如式(10)所示: Ldice=1-2*yi*ti/(yi+ti) (10) 其中,yi表示像素i属于变化类的预测概率,ti表示像素i的真实类别标签。 采用深度监督策略,其损失值由解码阶段的4个分支网络共同计算,并将4个损失值相加作为整个网络的损失值,如式(11)所示: Lall=LDS_0+LDS_1+LDS_2+LDS_3 (11) 其中,Lall为网络的总体损失值;LDS_0、LDS_1、LDS_2和LDS_3分别为4个分支网络的损失值。 本文通过一些实验验证本文所提网络的有效性。首先,介绍实验过程中使用的2个遥感变化检测数据集,并描述图像预处理方法。其次,将相关的评价指标用于变化检测的定量分析,并描述本文实验中相关参数的设置。然后,介绍了几种优秀的变化检测网络用于比较。最后,对实验结果进行全面的分析和比较,并通过消融实验,验证了注意力门控融合模块和深度监督策略的有效性。 表1所示为LEVIR-CD数据集和WHU数据集的简要介绍。 Table 1 A brief introduction to LEVIR-CD dataset and WHU dataset (1)LEVIR-CD数据集:LEVIR-CD数据集包含445个训练数据集、64个验证数据集和128个测试数据集,每个数据集包含一对大小为1024×1024的多时态图像。这些图像来自美国德克萨斯州几个城市的20个不同地区,空间分辨率为0.5 m。LEVIR-CD数据集共包含31 333栋已变更的建筑,建筑物类型主要包括别墅、高层公寓、小型车库和大型别墅等。由于图像较大,直接用于网络训练会导致显存不足。将LEVIR-CD数据集中的每幅图像裁剪成16幅不重叠的图像,大小为256×256。图像块被分为训练集、验证集和测试集,其中训练集包含7 120个样本,验证集包含1 024个样本,测试集包含2 024个样本。 (2)WHU建筑变化检测数据集:WHU建筑变化检测数据集涵盖了2011年2月袭击新西兰克赖斯特彻奇的6.3级地震区域。该数据集包含了2012年和2016年在同一区域拍摄的图像对。每幅图像的大小为32507×15354,然后将其裁剪成多个大小为256×256的图像块,重叠率设置为0.1,用于本文实验。图像块集被分为训练集、验证集和测试集,其中训练集包含6 614个样本,验证集包含994个样本,测试集包含1 889个样本。 为了评估所提出的技术有效性,本文采用3个评估指标,包括精确率P(Precision)、召回率R(Recall)和F1分数。在变化检测任务中,精确率表示正确预测为正占全部预测为正的比例,精确率越高,表示检测到越多正确的变化像素;召回率表示正确预测为正占全部实际为正的比例,召回率越高,表示模型找到更多变化像素的能力越强;F1分数是衡量二分类模型精度的一个度量指标,它同时考虑了分类模型的精确率和召回率,是精确率和召回率的调和平均,它可以更好地反映模型的变化检测能力,F1分数越高,代表所提出的网络性能越好。相关的计算公式如式(12)~式(14)所示: R=TP/(TP+FN) (12) P=TP/(TP+FP) (13) F1=2×P×R/(P+R) (14) 其中,TP表示正确检测到的变化像素数,TN表示正确检测到的不变像素数,FP表示检测为非变化但检测错误的像素数,FN表示检测为变化但检测错误的像素数。 实验平台是Ubuntu 20.04系统,CPU为英特尔至强银牌系列,显卡为NVIDIA GeForce RTX 3090,使用的深度学习框架是PyTorch 1.6.0,利用CUDA(Compute Unified Device Architecture) 计算架构和cuDNN库进行加速训练。在训练过程中,批处理大小设置为8,epoch为70,并将Adam作为优化器,学习率设置为1e-3,每8个周期衰减0.5,每个卷积层的权值通过KaiMing归一化进行初始化。 实验过程为:模型训练好后,将测试集数据输入到模型中,模型自动对影像提取特征,并对每个像素进行预测,判断其是否发生变化,最终得到变化检测结果,并统计出精确率、召回率和F1分数等性能指标。为了验证所提出网络的有效性,本文引入了以下7种变化检测基准网络,并比较了它们在2个数据集上的性能。FC-Siam-conc和FC- Siam-diff[8]是2种U型的完全卷积变化检测网络,它们都使用孪生FCN(Fully Convolutional Network)提取多级特征。DSIFN[11]通过通道注意力和空间注意力对原始图像的多层次深度特征与图像差异的深度特征进行融合,并基于全卷积的深度监督差分识别网络进行变化检测。SNUNet[12]采用多尺度特征连接方法,结合孪生网络和NestedUNet来提取高分辨率的深层特征,减少深层定位信息的损失,并使用一个集成通道注意力模块来聚合和细化多个语义层次的特征。BiDateNet[9]将LSTM中的卷积模块集成到U-Net中,使模型能够更好地学习时间变化模式。修改后的孪生Att-UNet(Attention U-Net)[19]模型,Att-UNet将注意力机制引入到U-Net网络结构中,在编码器和解码器特征图进行跳跃连接前,加入注意力机制,生成一个权重因子,来控制不同位置特征的重要程度,为方便叙述,本文称修改后用于变化检测任务的Att-UNet为Att-UNet。 本文使用带有默认超参数的公共代码来实现上述变化检测网络。表2给出了SAGFNet与上述网络在LEVIR-CD和WHU数据集上的各种性能评价指标。其中,在LEVIR-CD数据集上,SAGFNet在召回率(0.897 8)和F1分数(0.904 3)方面都取得了最好的效果,在精确率上SAGFNet略低于DSIFN,但SAGFNet的召回率比其高1%,一个主要原因是在真实标签中存在变化区域被漏检的情况。在WHU数据集上,所提出的SAGFNet在精确率、召回率和F1分数3个指标上都取得了最好的性能,其中F1分数能够达到0.892 4,与其他变化检测网络相比,较次优的网络提升了2.91%。 Table 2 Performance comparison of SAGFNet and other change detection networks on LEVIR-CD and WHU datasets 为了进一步评价上述网络的性能,对实验结果进行了可视化,如图6所示,其中,黑色像素表示不变区域,白色像素表示变化的区域。图6中,在LEVIR-CD测试集和WHU测试集中分别选择3个典型的场景,并可视化了Att-UNet、FC-Siam-diff、FC-Siam-conc、BiDateNet、SNUNet、DSIFN和SAGFNet的检测结果,这些场景主要是在建筑物中发生改变的,并利用不同季节和光照所产生的图像纹理变化作为干扰因素。不同网络的检测结果如图6所示,其中圆圈区域显示了局部的细节,便于观察和比较。可以观察到,SAGFNet能够更好地检测出小尺度变化区域和克服外界干扰所带来的影响,在LEVIR-CD和WHU数据集上均取得了令人满意的结果。对比图6b和图6c的实验结果,针对小尺度变化区域的目标,大多数对比网络都产生了漏检的情况,Att-UNet和SAGFNet通过有效的特征融合方式可以减少这种漏检情况的发生。其次,对比图6a、图6d、图6e和图6f的实验结果,SAGFNet也可以很好地处理由于光照因素和树木遮挡引起的无关变化。 Figure 6 Visualization results of different change detection networks on LEVIR-CD and WHU test sets 通过比较上述实验结果可知,本文所提出的网络可以捕捉到一些细微的变化,与其他对比网络相比,它显著减少了错误检测像素的数量,并能最大程度地克服不同光照时间和气候条件下的不相关变化的影响,准确地检测到感兴趣物体的变化。 为了验证注意力门控融合模块(AGF)和深度监督策略DS的有效性,本文在LEVIR-CD数据集上进行消融实验。具体实验设计以及结果如表3所示,其中加粗字体为每列的最优值。 Table 3 Comparison of the ablation experimental results 在跳跃连接过程中添加AGF模块,模型的精确率、召回率和F1分数分别提高了1.45%,0.47%和1.01%,证明了AGF模块在特征融合中的有效性。使用了AGF模块后,网络的复杂性增加,在此基础上添加DS模块可以将模型的精确率、召回率和F1分数分别提高了0.72%,2.19%和1.53%,这表明AGF和DS可以共同工作提高模型的性能。 为了验证注意力模块(Triplet Attention)对AGF模块的性能影响,本文还设计了对Triplet Attention的消融实验,通过将Triplet Attention从AGF模块中移除来对其进行消融。实验设计及结果如表4所示,其中加粗字体为每列的最优值。 Table 4 Ablation results of Attention module 从表4可以看出,引入的注意力模块使得模型的精确率、召回率和F1分数分别提高了0.45%,0.12%和0.28%,这证明了Triplet Attention在AGF模块中的有效性。 使用AGF和DS模块可以增强网络的抗干扰能力,并更好地区分建筑物和其他具有相似光谱信息的物体,未添加AGF和DS模块的网络已经能够检测出有变化的区域,但它区分伪变化的能力很弱,本文提出的网络能够捕捉详细的信息,从而获得更准确的变化检测结果。 遥感影像变化检测任务涉及到地面类型的变化,变化区域的准确性和细致程度反映了变化检测方法的实用价值。基于现有方法的缺点,本文结合孪生编解码网络、注意力门控融合模块和深度监督策略,提出了SAGFNet。采用孪生网络结构提取双时相图像的特征,以增强特征的代表性,为了克服特征融合中高分辨率图像和低分辨率图像之间的语义鸿沟,将所提出的注意力门控融合模块应用于跳跃连接过程中,测量特征图中每个特征向量的有用性并汇总相应的信息,充分地提取出双时相遥感图像的特征关联信息和空间信息,减少对变化区域的误检以及漏检。此外,为了提高变化检测网络的性能,本文还提出了将解码器变化映射的直接反馈引入网络中间层的深度监督。 本文在LEVIR-CD和WHU 2个数据集上进行了实验,详细验证了SAGFNet网络的有效性。实验结果表明,SAGFNet能够准确检测出不同复杂度的变化区域,且SAGFNet在综合评价指标F1分数方面优于其他对比的先进的变化检测网络。在未来的工作中,将研究对异质双时遥感影像的变化检测的可用性,例如对双时合成孔径雷达和光学图像或者卫星图像和光学图像之间的变化检测任务。2.2 注意力门控融合模块
2.3 深度监督策略
2.4 损失函数
3 实验与结果分析
3.1 实验数据
3.2 参数设置与评价指标
3.3 对比实验
3.4 消融实验
4 结束语