Remote Sensing Image Change Detection With Transformers阅读记录

Remote Sensing Image Change Detection With Transformers 阅读记录

论文链接:https://ieeexplore.ieee.org/document/9491802
代码链接:https://github.com/justchenhao/BIT_CD

内容简记

非局部自我注意方法通过对像素间的密集关系建模,显示出良好的性能,但计算效率较低。

最近的一些工作[2], [6], [13]利用自注意机制对时空中任意像素对之间的语义关系进行建模,已经取得了很好的效果。然而,它们的计算效率很低,并且需要较高的计算复杂度,计算复杂度随像素数呈二次增长。

我们的看法是,兴趣变化的高级语义可以用几个视觉口令来表示,即语义token。 我们的BI(双时的图像Transformer)T模型不是在像素空间中建模像素之间的密集关系,而是将输入图像表示为几个高级语义token,并在基于token的紧凑时空中建模上下文。

此外,我们通过利用每个像素和语义token之间的关系来增强原始像素空间的特征表示。图1给出了一个示例,展示了 BIT 模型对图像特征的影响。展示了与建筑概念相关的原始图像特征(见图1(b)),我们的BIT学习通过考虑时空中的全局上下文,进一步一致地突出显示建筑区域(见图1(c))。
在这里插入图片描述

我们将BIT模块合并到基于深度特征差分的变换检测框架中。我们基于BIT的模型的总体框架如图2所示。CNN主干(ResNet)用于从输入的一对图像中提取高级语义特征。我们使用空间注意将每个时间特征映射转换为一组紧凑的语义token。然后,我们使用transformer [15]编码器对两个token集内的上下文进行建模。生成的上下文丰富的token由暹罗变换解码器(TD)重新投影到像素空间,以增强原始像素级特征。最后,我们从两个细化的特征映射中计算特征差异图像(FDIs),然后将它们输入到浅层CNN中,以生成像素级的变化预测。
在这里插入图片描述

工作贡献

  1. 提出了一种非常高效的基于transformer的遥感影像变化检测方法。我们在CD任务中引入了transformer,以便更好地在双时的图像( bitemporal image)中建模上下文,这有助于识别感兴趣的变化并排除不相关的变化。

  2. 我们的BIT模型不是在像素空间中建模任何元素对之间的密集关系,而是将输入图像表示为几个包含视觉信息的单词,即token,并在紧凑的基于token的时空中建模上下文。

  3. 在三个变化检测数据集上的大量实验验证了该方法的有效性和有效性。我们将ResNet18的最后一个卷积阶段替换为BIT,得到的基于BIT的模型优于纯卷积模型,只需使用三倍的计算成本和模型参数即可获得显著的优势。基于一个去复杂结构(如特征金字塔网络(FPN)和UNet)的简单CNN主干,我们的方法在效率和准确性方面比最近几种基于注意的变化检测方法表现出了更好的性能。

BIT的三个主要组件

1)连体语义分词器,它将像素分组为概念,为每个时间输入生成一组紧凑的语义标记;2) transformer编码器(TE),在基于token的时空中对语义信息的上下文建模;3)连体transformer解码器,将对应的语义token重新投射回像素空间,以获得每个时间点的细化特征图。

BIT模型的推理细节

步骤1:使用CNN主干提取两个时间图像的特征
步骤2:使用BIT细化双时图像特征
分别计算两个时间图像特征的token集
使用编码器生成上下文丰富的标记
使用解码器优化原始特征,再将两者的特征split输入到Transformer的Decoder中,分别生成各自的特征图
步骤3:然后将其进行相减找到变化的部分,最后经过几层卷积神经网络生成change map。

Semantic Tokenizer(语义标记器)

我们的想法是,输入图像中注意力的变化可以用几个高级概念来描述,即语义token。双时图像可以共享语义概念。为此,我们使用暹罗标记器从每个时间的特征映射中提取紧凑的语义token。与NLP中的tokenizer 类似,它将输入句子拆分为几个元素(即单词或短语),并用token向量表示每个元素,我们的语义tokenizer 将整个图像拆分为几个视觉单词,每个对应一个token向量。如图3所示,为了获得紧凑的token,我们的tokenizer 学习一组空间注意力映射,以便在空间上将特征映射集中到一组特征,即token集。
在这里插入图片描述

设X1、X2为双时特征映射的输入,其中H、W和C分别为特征映射的高度、宽度和通道数。设T1,T2是两组tokens,其中L是token向量集的个数。

对于特征层X上的每个像素Xp,我们使用点卷积来获得L个语义组,每个组表示一个语义概念。然后,我们使用softmax函数对每个语义组的H W维度进行操作来计算空间注意力。最后,我们使用注意力特征图计算X上像素的加权平均和,以获得大小为L的紧凑的词汇集、这就是语义token T。公式如下:

在这里插入图片描述

其中τ(·)表示一个具有可学习内核的逐点卷积,σ (·)是用softmax函数正则化每个语义组,以获得注意力图A。T由A和X相乘得到。

Transformer Encoder

在为输入的双时图像获得两个语义token集T1、T2之后,我们使用transformer编码器对这些token之间的上下文进行建模。我们的动机是,transformer可以充分利用基于token的时空中的全局语义关系,从而为每个时间的图像生成上下文丰富的token表示。如图4(a)所示,我们首先将两组token连接到一个令牌集T 中,并将其馈送到transformer编码器中以获得一个新的令牌集Tnew。最后,我们将令牌分为两组Ti new(i = 1, 2)。
在这里插入图片描述

TE由NE层的多头自我注意(MSA)和多层感知机(MLP)块组成,见图4(a)。与使用后范数残差单元的原始变压器不同,我们遵循ViT 33采用前范数残差单元(prenorm),即,层归一化发生在MSA/MLP之前。PreNorm已被证明比对应的52更稳定和更有能力。

在每一层l中,自我注意的输入是一个三元组(查询Q,键K,值V),由输入T(l-1)通过以下公式计算得出:

在这里插入图片描述

其中Wq、Wk、Wv 是三个线性可学习参数的全连接层,d是三重投影层的通道尺寸。注意力头的公式如下:

在这里插入图片描述

其中σ (·)表示在通道维度上使用softmax函数。transformer编码器的核心思想是MSA(多头自注意力)。MSA并行执行多个独立的注意力头,并将输出串联起来,然后通过线性映射得到最终值。MSA的优点是它可以联合处理来自不同位置的不同子空间表示的信息。公式表示如下:

在这里插入图片描述

其中Wqj,Wkj,Wvj,WO是线性映射矩阵,h是注意头的数量。MLP模块由两个全连接层组成,其中激活函数为高斯误差线性单元(GELU)。输入和输出的维数为C,内层的维数为2C。公示表示:

在这里插入图片描述

where W1 ∈ RC×2C ,W2 ∈ R2C×C are the linear projection matrices.

其中W1、W2 是线性映射矩阵。

请注意,在将token序列T馈送到transformer层之前,我们将可学习的位置嵌入Wpe添加到token序列T。我们的实验结果(第IV-D节)表明有必要将PE补充到token中。PE对基于token的时空中元素的相对或绝对位置信息进行编码。这样的位置信息可能有利于上下文建模。例如,时间位置信息可以引导transformer利用时间相关上下文。

Transformer Decoder

到目前为止,我们已经为每个时间图像获得了两组上下文丰富的tokenTi new。这些上下文丰富的标记包含紧凑的高级语义信息,很好地揭示了网络感兴趣区域的变化。现在,我们需要将概念的表示投影回像素空间,以获得像素级的特征。为了实现这一点,我们使用改进的暹罗transformer解码器来细化不同时间序列的图像特征。如图4(b)所示,给定特征序列Xi,transformer解码器利用每个像素和token集Ti之间的关系,以获得细化的新特征层Xi new。我们把Xi中的像素当作queries,token当做keys。我们的想法是,每个像素都可以由紧凑的语义token组合来表示。

在这里插入图片描述

我们的TD由ND层的多头交叉注意(MA)和MLP块组成。与[15]中的原始实现不同,我们去掉了MSA块,以避免Xi中像素之间密集关系的大量计算。我们采用PerNorm和与TE相同的MLP配置。在MSA中,query、key和value是从相同的输入序列中导出的,而在MA中,query来自图像特征Xi,key和value来自tokenTi new。正式地,在每层l中,MA被如下定义:
在这里插入图片描述

其中Wqj,Wkj,Wvj,WO是线性映射矩阵,h是注意头的数量。请注意,我们没有将PE添加到输入queries中,因为我们的实验结果(第IV-D节)显示,添加PE时没有显著的收益。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值