来源:https://arxiv.org/abs/2201.01293 代码地址:https://github.com/wgcban/ChangeFormer 作者:Wele Gedara Chaminda Bandara, Vishal M. Patel 内容整理:陈梓煜 本文提出了一种基于 Transformer 的孪生网络架构 ChangeFormer,用于对一对配准的遥感图像进行变化检测(Change Detection,简称 CD)。与最近基于全卷积网络的变化检测框架不同,本文所提出的方法将分层结构的 Transformer 编码器与孪生网络架构中的多层感知解码器统一起来,以有效地渲染多尺度远程准确变化检测所需的详细信息。在两个变化检测数据集上的实验表明,所提出的端到端可训练 ChangeFormer 架构实现了比以前的同类方法更好的变化检测性能。
目录
- 简介
- 方法
- 分层级 Transformer 编码器
- MLP 解码器
- 实验设置
- 实验结果
简介
变化检测目的是检测在不同时间获取的一对匹配图像的相关变化。变化的定义通常因应用而异,例如人为设施(如建筑物、车辆等)的变化、植被变化和环境变化(如极地冰盖融化、森林砍伐、灾害造成的破坏)通常被视为产生了变化。更好的变化检测模型要求能够识别这些相关变化,同时避免由季节变化、建筑物阴影、大气变化和照明条件变化引起的复杂的无关变化。
现有的 SOTA 变化监测方法主要基于深度卷积网络 (ConvNets),因为它们能够提取强大的判别特征。由于必须在空间和时间范围内捕获远程前后内容信息以识别多时相图像中的相关变化,因此最新的变化监测研究一直集中在增加变化监测模型的感受野上,基于此许多具有堆叠卷积层、扩张卷积和 Attention 机制(通道和空间 Attention)的变化监测模型被提出。尽管基于 Attention 的方法在捕获全局细节方面很有效,但它们很难将时空中的远程细节联系起来,因为它们使用 Attention 来重新加权通过通道和空间维度上的 ConvNets 获得的双时态特征。
Transformers 在自然语言处理 (NLP) 领域的巨大成功让研究者将 Transformers 应用于各种计算机视觉任务。继 NLP 中的 Transformer 设计之后,研究者针对各种计算机视觉任务提出了不同的 Transformer 架构,包括图像分类和图像分割,例如 Vision Transformer (ViT)、SEgmentation TRAns-former (SETR)、Vision Transformer using Shifted Windows (Swin)、Twins 和 SegFormer。这些 Transformer 网络具有比深度 ConvNet 更大的有效感受野,即在图像中的任何一对像素之间提供比 ConvNet 更强的前后内容建模能力。
尽管 Transformer 网络具有更大的感受野和更强的前后内容塑造能力,但针对变化检测的 transformer 研究很少。 最近的一项工作将 Transformer 架构与 ConvNet 编码器 (ResNet18) 结合应用,以增强特征表示,同时保持基于 ConvNet 的整体特征提取过程。 在本文中,我们表明这种对 ConvNets 的依赖是不必要的,并且带有轻量级 MLP 解码器的分层 transformer 编码器可以很好地处理变化监测任务。
方法
所提出的 ChangeFormer 网络由三个主要模块组成,如图 1 所示:Siamese 网络中的一个分层 transformer 编码器,用于提取双时相图像的粗细特征,四个特征差异模块用于计算在多个尺度下计算特征差异,轻量级 MLP 解码器来融合这些多级特征差异并预测变化检测结果(Mask)。
图1 ChangeFormer网络结构
分层级 Transformer 编码器
给定一对输入双时相图像,分层 Transformer 编码器生成类似 ConvNet 的多级特征,具有高分辨率粗特征和变化检测所需的低分辨率精细特征。具体来说,给定一个分辨率为 H×W×3 的变化前或变化后图像,transformer 编码器输出具有分辨率为
的特征图
,其中
,并且
满足
,特征图将通过差分模块进一步处理,然后由 MLP 解码器获得变化图。
Transformer 块
Transformer 编码器的主要构建块是自 self-attention 模块。在 Transformer 原始工作中,self-attention 通过以下公式被估计:
其中 Q、K 和 V 分别表示 Query、Key 和 Value,并且具有相同的维度 HW×C。 但是上述公式的计算复杂度是
,因此难以在高分辨率图像上应用。为了减少计算复杂度。我们采用序列缩减过程利用缩减比 R 来减少序列 HW 的长度,如下所示:
其中
表示将被压缩的序列,即 Q、K 和 V,
表示对形状为 (h, w) 的一个 Reshape 操作,
表示一个具有
输入通道和
输出通道的线性层。这产生了一组新的尺寸为
的 Q、K 和 V。因此降低了等式的计算复杂度从
至
。
为了为 Transformer 提供位置信息,我们使用两个 MLP 层以及一个 3×3 深度卷积,如下所示:
其中
是自注意力的特征,
表示高斯误差线性激活层。不同于 ViT 等以前的 Transformer 网络中使用的固定位置编码,我们的位置编码方案支持 ChangeFormer 获取分辨率与训练期间使用的图像不同的测试图像。
差异模块
我们利用四个差异模块来计算来自分层 Transformer 编码器的变化前和变化后图像的多级特征的差异,如图 1 所示。更准确地说,我们的差异模块包括 Conv2D,ReLU, BatchNorm2d(BN) 如下:
其中
和
表示来自第 i 层的变化前和变化后图像的特征图,Cat 表示张量级联。与计算
和
的绝对差异不同,所提出的差异模块在训练期间学习每个尺度的最佳距离度量从而获得更好的变化检测性能。
MLP 解码器
我们利用带有 MLP 层的简单解码器聚合多级特征差异图来预测变化图。所提出的 MLP 解码器包括三个主要步骤。
MLP 和上采样
我们首先通过 MLP 层处理每个多尺度特征差异图以统一通道维度,然后将每个图像上采样到 H/4 × W/4 的大小,如下所示:
拼接和融合
然后通过 MLP 层连接和融合上采样的特征差异图,如下所示:
上采样和分类
我们通过使用
和
的 2D 转置卷积层将融合特征图
上采样到
的大小。最后,上采样融合特征图通过另一个 MLP 层处理以预测变化掩码
的分辨率,其中
是类的数量,即变化和未变化。这个过程可以表述如下:
实验设置
我们使用两个公开的变化检测数据集进行实验,即 LEVIR-CD 和 DSIFN-CD。LEVIR-CD 是一个建筑变化检测数据集,其中包含分辨率为 1024 × 1024 的 RS 图像对。我们从这些图像中裁剪出大小为 256 × 256 的非重叠块,并将它们随机分成三部分以制作 train/val/test 样本集 7120/1024/2048。DSIFN 数据集是一个通用的变化检测数据集,包含不同土地覆盖对象的变化。对于实验,我们使用作者的默认 train/val/test 集从 512 × 512 图像创建大小为 256 × 256 的非重叠块。 因此 DSIFN 数据集分别有 14400/1360/192 个样本用于 train/val/test。
实验结果
我们将 ChangeFormer 的变化检测性能与现有的 SOTA 方法进行比较:
- FC-EF:连接双时相图像并通过 ConvNet 处理它们以检测变化。
- FC-Siam-Di:是一种特征差异方法,它从 Siamese ConvNet 中提取双时相图像的多级特征,并使用它们的差异来检测变化。
- FC-Siam-Conc:是一种特征连接方法,它从 Siamese ConvNet 中提取双时态图像的多级特征,并使用特征连接来检测变化。
- DTCDSCN:是一种基于注意力的方法,它利用双重注意力模块来利用通道之间的相互依赖性和 ConvNet 特征的空间位置来检测变化。
- STANet:是另一个基于孪生网络的变化检测时空注意网络。
- IFNet:是一种多尺度特征连接方法,它通过注意力模块融合双时态图像的多层次深度特征和图像差异特征,用于变化图重建。
- SNUNet:是一种多级特征连接方法,其中使用密集连接孪生网络进行变化检测。
- BIT:是一种基于变换器的方法,它使用 Transformer 编码器-解码器网络通过语义标记增强 ConvNet 特征的上下文信息,然后进行特征差分以获得变化图。
表 1 显示了不同变化检测方法在 LEVIR-CD 和 DSIFN-CD 测试集上的结果。从表中可以看出,所提出的 ChangeFormer 网络在 F1、IoU 和 OA 指标方面实现了更好的变化检测性能。 特别是,对于 LEVIR-CD 和 DSIFN-CD,我们的 ChangeFormer 分别将 F1/IoU/OA 中的先前 SOTA 提高了 1.2/2.2/0.1% 和 20.0/44.3/6.4%。此外,图 2 比较了不同 SOTA 方法在 LEVIR-CD 和 DSIFN-CD 测试图像上的视觉质量。正如以红色突出显示的那样,与其他 SOTA 方法相比,我们的 ChangeFormer 捕获了更精细的细节。这些定量和定性比较表明我们提出的变化检测方法优于现有的 SOTA 方法。
表1 不同变化检测量化对比
图2 不同变化检测效果对比