融合多尺度特征注意力的遥感影像变化检测方法
2022-05-31梁哲恒姜福泉
梁哲恒,黎 宵,邓 鹏,盛 森,姜福泉
广东南方数码科技股份有限公司,广东 广州 510665
在现实场景中,检测当前位置的历史图像是否发生变化或者识别相同区域的不同时相遥感影像的差异被称为变化检测,变化检测主要是为同一区域不同时间的遥感影像分配一个二值标签,正值表示像素对应的区域在两次采集的过程中发生了变化[1]。遥感影像变化检测是遥感影像分析中基础的研究方向之一,具有广泛的应用场景,例如检测土地使用、城市变化追踪和森林砍伐等[2-4]。由于相同区域不同时相的遥感影像存在的差异,如光照、对比度、质量、分辨率和噪声等,这些因素干扰了遥感影像特征提取,而遥感影像本身包含丰富的地物类别和复杂的场景关系,这使得遥感影像变化场景理解是一个具有挑战性的研究领域。
自动变化检测已经引起了人们的广泛关注,并且推动了遥感影像的应用发展。传统的变化检测方法一般采用图像处理手段来获取图像的低级特征信息,例如边缘、轮廓和纹理信息等,这很难适应复杂的遥感影像变化检测场景[5]。由于深度卷积神经网络能够提取层级特征,并且高层特征具有抽象的语义信息,低层特征包含丰富的空间细节信息,而高层语义信息对复杂变化场景的理解至关重要,这导致了基于深度学习的变化检测方法的兴起[6]。由于深度卷积神经网络强大的特征表示以及非线性建模能力,使得深度学习成为了解决遥感影像变化检测问题的主流方法。遥感影像变化检测需要像素级预测,而全卷积神经网络[7]主要用于密集预测任务,因此基于深度学习的变化检测方法主要使用类似全卷积网络结构,然后通过深度特征比较生成差异图或者变化向量。文献[8]使用深度孪生卷积神经网络以捕获双时相遥感影像的相似特征,然后使用K近邻方法聚类特征图中相似的像素点以获得变化区域,这些方法是将深度神经网络与机器学习算法相结合,虽然取得了较好的结果,但整个过程不能实现端到端训练。深度学习方法能够实现端到端的训练,可以分为早期融合和后期融合两种方法。在早期融合方法中,文献[9]将两个不同时相街景图像拼接为一张输入图像,然后送入全卷积网络以实现变化特征提取。文献[10]将双时相遥感影像合并为一张输入图像,并对U-Net[11]网络结构进行修改,在U-Net网络进行跳层连接时使用循环神经网络来获取时序变化信息。文献[12]通过改进语义分割网络UNet++[13]以适应于变化检测任务,在编解码结构中使用密集跳层连接和深度监督策略,以获取全局信息和精细的边界信息,显著提升了高分辨率遥感影像的变化检测性能,但早期融合方法缺乏单个图像的深度特征信息。在后期融合方法中,两张双时相遥感影像分别作为两个独立网络结构的输入并提取特征信息,然后进一步合并和比较提取的特征并生成变化特征图。文献[14]将卷积神经网络和循环神经网络作为整体提出了一种对称的网络结构,让双时相遥感影像同时通过此网络,前面的卷积神经网络用于学习光谱-空间特征表示,后面的循环神经网络用于学习双时相影像之间的时间依赖关系。文献[15]提出了一种孪生的全卷积网络结构,以共享权重的方式使用两个相同的网络结构分别提取影像对的特征信息,然后对特征进行比较以获得变化特征。在孪生全卷积网络基础上,一些工作通过设计损失函数来提升网络学习能力,文献[16]使用带权双边对比损失函数来学习具有区分性的深度特征。由于变化样本和非变化样本不平衡问题,文献[17]使用三元组损失函数来提升变化区域的语义一致性。目前,由于注意力机制能够关注图像中某些重要特征,一些工作开始引入注意力机制来处理变化检测任务,文献[18]通过使用空间注意力和通道注意力模块来提升变化特征图的边界完整性和语义一致性。文献[19]探究不同时空像素点之间的关系来提升变化检测性能,通过自注意力机制为不同时间位置的两个像素点计算权重以生成具有判别性的特征。虽然后期融合方法能够显著地提升变化检测的性能,但存在异构特征融合问题。
基于以上启发,本文提出了一种融合多尺度特征注意力的遥感影像变化检测方法,这是一种后期融合方法。由于遥感影像变化场景的复杂性,为了保留变化区域的空间细节信息及获取多尺度语义信息,首先利用特征金字塔网络[20]的多尺度特性来构建深度神经网络模型,在特征金字塔网络的特征提取网络中,使用孪生的ResNet[21]网络和扩张卷积空间金字塔模块[22]来提取双时相遥感影像的不同层级特征,并且孪生的特征提取网络共享权重。然后,将孪生的特征提取网络中对应的层级特征进行级联并通过变换函数获得多个尺度的金字塔变化特征。在特征金字塔网络自顶向下的路径中,不同层级的变化特征会进行融合,由于不同层级的变化特征具有明显的差异,有效地融合不同层级变化特征会带来模型性能的提升,现有的融合方法采用简单的求和或级联的操作,这些方式忽视了不同层级变化特征的差异。因此,本文提出了一种变化特征融合模块,有选择性地融合不同层级变化特征中有用的特征信息用于后续处理。最后,通过门控融合模块将多尺度变化特征上采样到相同尺度,并使用门控单元从多尺度变化特征图中融合有用的变化特征以产生最终的变化特征图。
1 本文方法
本文方法网络结构如图1所示,其中ASPP表示扩张卷积空间金字塔模块,CFM表示变化特征融合模块,Conv表示卷积层,Up表示双线性上采样,gate表示门控单元。
1.1 整体框架
本文方法的网络模型是基于特征金字塔网络结构,它包含两个共享训练权重的特征提取网络和自顶向下的特征融合路径及门控融合模块。基于效率和性能考虑,使用相同结构的两个预训练的ResNet-50[21]网络结构作为所提出网络模型的特征提取网络,它包含4个层级模块,以获取图像的多层级特征{Li|i=1,2,3,4}。为了增加网络感受野和利用全局上下文信息,在两个ResNet-50网络末端引入扩张卷积空间金字塔模块[22],该模块有4个分支,其中有3个分支为扩张卷积层[23],扩张率R分别为1、2、3,从而增加了网络感受野。为了获取整个特征图的全局信息,另一个分支为全局平均池化层,并使用双线性插值进行上采样处理。整个特征提取网络共享相同的权重参数以学习相同类型的特征信息。将相同结构的两个特征提取网络对应层级的特征进行级联,即两个特征图在通道维度上进行拼接,并使用变换函数提取对应层级级联特征的变化特征图,这里使用通道数为256的1×1卷积层来实现。
图1 网络框架Fig.1 Network framework
在特征金字塔网络自顶向下的特征融合路径中,不同层级的变化特征编码了不同的特征信息,为了使高层变化特征包含浅层的空间细节信息及使浅层的变化特征具有语义判别信息,本文提出了一种变化特征融合模块(图2),能够学习不同层级变化特征中可能的变化区域信息,形成空间注意力图,并重新与变化特征相乘得到优化的变化特征图,然后将不同层级优化的变化特征进行逐像素点求和,并用一个3×3卷积层来消除求和过程中的混叠效应,最终产生具有多个尺度的变化特征图。在门控融合模块中,对得到的多尺度变化特征图分别进行滤波和上采样操作,使多尺度变化特征{P5,P4,P3}上采样到P2的大小,对P5的处理是使用3×3卷积滤波和2倍的上采样,并迭代3次,同理,P4迭代两次,P3迭代一次。最后使用一个门控单元,对4个多尺度变化特征图以加权和的方式获得最终的变化特征图。
本文采用二元交叉熵损失函数作为整个网络模型的损失函数
(1)
式中,N表示样本数;yi表示真实标签;pi表示预测为变化区域的概率值。
1.2 变化特征融合模块
在特征金字塔网络自顶向下的路径中,存在不同层级变化特征之间的融合,高层变化特征具有丰富的语义信息,而中、低层变化特征携带精细的空间细节信息。为了实现高层变化特征中包含浅层的空间细节信息及在中、低层变化特征中嵌入高层变化特征的语义信息,常见的处理方式是直接对这两种变化特征进行求和或者拼接操作,但忽视了不同层级变化特征之间明显的特征差异。本文提出的变化特征融合模块能够有效地融合变化区域信息及抑制非变化区域信息(图2)。首先,将高层级的变化特征进行2倍上采样处理,再将两种不同层级的变化特征进行级联得到特征图M,然后采用空间注意力机制思想产生两种不同的注意力图S1和S2,用得到的注意力图来控制这两种不同变化特征图之间的信息流动,即突出变化区域的特征信息。具体地,定义两个映射函数,将融合的变化特征映射到两个不同空间注意力图,如式(2)所示
(2)
图2 变化特征融合模块Fig.2 Change feature fusion module
为了简单实现,本文使用1×1卷积来实现这种映射函数,其中W1、W2分别表示学习参数。然后将这两种注意力图在对应空间位置上使用softmax函数,如式(3)所示
(3)
式中,A1为变化特征图F1中每一个空间位置分配的权重;A2为变化特征图F2中每一个空间位置分配的权重,并且A1(i,j)和A2(i,j)的概率和为1,即
A1(i,j)+A2(i,j)=1
(4)
式中,(i,j)表示像素位置。接着,将变化特征F1和F2分别与A1和A2逐像素点相乘并求和以产生融合特征。最后,采用3×3卷积层对融合特征进行处理,以避免求和融合带来的混叠效应。
1.3 门控融合模块
设计门控融合模块的原因是恢复高层变化特征中丢失的空间细节信息以及产生最终的变化特征图,详细结构如图1所示。通过自顶向下的特征融合路径产生多尺度变化特征{Pi|i=2,3,4,5},并且尺度大小分别为原始图像的1/4、1/8、1/16和1/32。其中,变化特征图Pi(i=3,4,5)通过迭代卷积、Relu[24]激活函数和上采样操作以恢复到P2的尺度大小,而P2使用1×1卷积层缩减通道数为128。对于变化特征图Pi(i=3,4,5)使用3×3卷积层来过滤无用的特征信息起到滤波的作用,然后使用双线性插值上采样到变化特征图P2的大小。由于多尺度变化特征图Pi(i=2,3,4,5)分别表示不同时相遥感影像在不同尺度下得到的比较结果,本文对每一个尺度变化特征图使用共享卷积确保能够提取到类似的特征表达。使用一个门控单元对得到的多尺度变化特征图进行加权求和,目的是从多尺度变化特征图中融合有用的特征信息以形成最终的特征比较图,具体实现是将多尺度变化特征图在通道维度上进行拼接,然后使用3×3卷积层对不同特征通道相同空间位置的像素点进行加权求和,使用3×3卷积层以考虑到周围特征信息。最后,通过一个分类器得到具有变化区域的预测图,以及使用一个4倍双线性插值上采样到原始图像大小。
2 试 验
2.1 试验设计
为了验证本文方法的有效性,分别在CDD[25]和LEVIR-CD[19]数据集上进行试验,比较不同数据集下本文提出方法的效果;然后,对模型进行消融试验,以验证各个子模块的贡献情况。下面分别对试验环境、试验数据和质量指标进行详细描述。
2.1.1 试验环境
本文在遥感影像变化检测数据集CDD[25]和LEVIR-CD[19]上进行试验评估。所提出的模型迭代100次,初始学习率设置为0.01,并使用固定长度衰减策略来更新学习率,如式(5)所示
newlr=baselr×gammaepoch/step_size
(5)
式中,newlr表示更新后的学习率;baselr表示初始学习率;gamma表示衰减因子设置为0.1;epoch表示当前迭代次数;step_size表示学习率衰减步长设置为15。使用随机梯度下降法来优化模型参数,权重衰减为0.000 1以及动量设置为0.9。为了增加数据多样性以及提升模型的稳定性,在训练时,对训练数据集进行数据增强,包括了水平镜像翻转,图像旋转90×i(i=1,2,3,4)度以及对遥感影像进行色彩和对比度的图像增强处理。所提出的方法基于深度学习框架Pytorch实现,硬件环境为Tesla-V100显卡。
2.1.2 试验数据
CDD[25]是一个开源遥感变化检测数据集,该数据集由11个原始图像对的多源遥感影像组成,其中包含了7对大小为4725×2200的季节变化图像和4对大小为1900×1000的图像,图像分辨率为3~100 cm。通过裁剪和旋转处理原始图像数据,生成了10 000张训练样本、3000张验证样本和3000张测试样本,其中样本大小为256×256[25]。
试验所采用的遥感影像变化检测数据集LEVIR-CD[19]具有637张大小为1024×1024像素的影像对,这些遥感影像来自美国得克萨斯州几个城市的20个不同区域。图像数据的捕获时间从2002年至2018年不等。随机将数据集分离为3个部分:70%的样本用于训练、10%的样本用于验证和20%的样本用于测试,并且将每一个样本裁剪为16张大小为256×256的图像块[19]。
2.1.3 质量指标
遵循常用度量方法评估所提出的方法,本文使用4个评估指标:准确度(precision,P)、召回率(recall,R)、F1score(F1)、整体精度(OA)。在变化检测任务中,更高的准确度值表明预测结果中产生更少的错误检测,更大的召回率值表明更多的正样本被检测出来,而F1score和整体精度是对预测结果进行整体度量,它们的值越大,预测结果就越好。表达式如式(6)—式(9)所示
(6)
(7)
(8)
(9)
式中,TP表示预测正确的正样本数;FP表示预测错误的正样本数;TN表示预测正确的负样本数;FN表示预测错误的负样本数。
2.2 遥感图像变化检测试验
2.2.1 在CDD数据集上结果比较
为了验证所提出方法的有效性和稳定性,在CDD数据集上的定量比较见表1。由表1可以看出,本文方法在基本不损失准确度的情况下,召回率比当前最好方法IFN[18]高出6.58%,这对实际应用具有重要意义,因为实际应用中更看重召回率。此外在F1和OA上也取得了最佳结果,说明本文方法能够有效地完成遥感影像变化检测任务。可视化结果如图3所示,在第2行中,本文方法相比FC-Siam-conc[15]和IFN[18]能够预测出较多的变化区域并且变化区域的边界较完整;在第3行中,FC-Siam-conc[15]未能很好地检测出变化区域,IFN[18]则存在明显的错误预测,而本文方法能基本准确地识别出建筑物和车辆的变化区域。
表1 在CDD数据集上的定量比较
2.2.2 在LEVIR-CD数据集上结果比较
在LEVIR-CD数据集上定量比较结果见表2,其中Baseline表示在所提出模型中去除扩张卷积空间金字塔模块、变化特征融合模块及门控单元变为求和方式,即保留特征金字塔网络结构的基准模型。由表2可以看出,Baseline使用特征金字塔网络结构在F1上已经超过当前最好方法STANet[19],说明多尺度策略能够有效提升变化检测性能,而本文方法相比STANet[19]在准确度和F1上均有大幅度提升,并且召回率比Baseline提升了5.26%,说明本文方法能够较好地适应遥感影像变化检测任务。可视化结果如图4所示,在第1行中,与STANet[19]相比,本文方法能够有效地检测出较小尺度的建筑物变化区域;在第2行中,STANet[19]存在明显的错误检测,而本文方法能够检测出实际存在的变化区域;在第3行中,STANet[19]会将多个距离较近的变化区域识别为单个变化区域,而本文方法能够有效的区分不同的变化区域,并且每个变化区域边界较完整。
图3 在CDD测试集上本文方法与其他方法的测试结果Fig.3 The test results of our method and other methods on the CDD test dataset
图4 在LEVIR-CD测试集上本文方法与其他方法的测试结果Fig.4 The test results of our method and other methods on the LEVIR-CD test dataset
表2 在LEVIR-CD数据集上的定量比较
2.2.3 变化特征融合模块的可视化结果
为了解释变化特征融合模块的有效性,本文在CDD数据集上可视化图1中3个变化特征融合模块(CFM_1,CFM_2,CFM_3)中学习到的注意力图,如图5所示,图5第5列高亮的部分,表明CFM_3层中的注意力图在真实变化区域附近的位置具有更大的注意力权重,说明其捕获到真实变化区域相关的高层语义信息,这与深度神经网络在高层学习到语义信息相一致;图5第6列,中间层CFM_2中的注意力图强调了不同时相遥感影像中存在的真实变化区域的像素点权值,并突出了变化区域的边界信息;而在图中第7列,处于低层CFM_1中的注意力图则更关注于低级特征信息的变化,比如颜色、纹理等特征信息。通过可视化结果表明本文提出的变化特征融合模块中的注意力图能够从不同层级的特征图中学习到与变化特征相关的信息,并加强了相应变化区域像素点的权值以对预测结果产生影响,即突出变化区域的特征信息。
图5 变化特征融合模块的注意图在CDD数据上的可视化结果Fig.5 The visualization results of the attention map of the change feature fusion module on the CDD dataset
2.3 消融试验
本文在LEVIR-CD数据集上进行消融试验,以验证所提出方法的有效性和稳定性。通过消融试验,在特征金字塔网络中同时使用变化特征融合模块和门控单元能够取得最佳的模型性能。
(1) 验证变化特征融合模块的有效性。为了验证变化特征融合模块的有效性,本文设置了两组对比试验进行验证:①使用变化特征融合模块;②使用特征金字塔融合方式。试验结果见表3,由表3可以看出使用变化特征融合模块在召回率和F1上都有明显提升,说明在不同层级变化特征融合时,控制它们之间的信息流动能够优化融合特征,从而提升模型性能。
表3 变化特征融合模块的有效性
(2) 验证门控单元的有效性。本文通过两组对比试验来验证门控单元的有效性:①使用门控单元;②使用求和方式。试验结果见表4,由表4可以看出,使用门控单元对模型整体性能没有变化特征融合模块提升大,但对召回率和F1均有提升。
表4 门控单元的有效性
3 总 结
本文提出的融合遥感影像变化检测方法,利用了特征金字塔网络固有的金字塔结构产生多个尺度的变化特征,所采用的变化特征融合模块利用空间注意力机制来控制不同层级变化特征信息之间的传播,从而减小特征融合差异,并采用门控单元对多尺度变化特征进行筛选得到最终的变化特征图。通过试验数据和可视化结果图,本文方法能够检测不同尺度大小的变化区域,在变化检测公开数据集上均取得了有竞争力的结果,在F1上分别提高了3.02%和2.31%,并且在召回率上分别提高了6.58%和5.26%,本文方法有效地解决了遥感影像变化检测场景中变化区域尺度多样性问题,对解决实际生产中的建筑物变化检测具有应用价值。本文主要贡献如下。
(1) 通过探究特征金字塔网络的特性,提出了一种融合多尺度特征注意力的遥感影像变化检测方法,能够有效地解决遥感影像变化检测场景中存在的多尺度变化区域问题。
(2) 为了提升特征提取网络的感受野和获取全局信息,在特征提取网络末端引入了扩张卷积空间金字塔模块;针对不同层级变化特征融合时存在的差异性,提出了一种变化特征融合模块,学习从不同层级的变化特征中提取出变化区域的特征信息。
(3) 本文提出的门控融合模块,通过使用门控机制从多尺度变化特征图中融合有用的特征信息以形成最终的特征变化图,能够有效地提升模型的召回率。
通过可视化预测结果图,本文方法对变化区域的边界拟合还不够精准,较小变化区域未能检测出来,今后工作将探究其原因并改进模型结构。