点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
A Position-Temporal Awareness Transformer for Remote Sensing Change Detection
位置-时间感知Transformer用于遥感变化检测
作者:Yikun Liu, Kuikui Wang, Mingsong Li, Yuwen Huang, Gongping Yang
摘要
随着深度学习的发展,遥感(RS)图像变化检测(CD)方法取得了显著进展。然而,许多基于卷积神经网络(CNN)的方法因接受域限制而在捕获长距离依赖性方面受到限制。Transformer依赖于自注意力机制,有效实现全局信息建模,并在CD任务中广泛使用。尽管如此,基于Transformer的CD方法仍然存在诸如伪变化和不完整边缘等问题,这是由于缺乏双时相RS图像中的位置和时间相关性。为了解决这个问题,作者提出了位置-时间感知Transformer(PT-Former),它在双时相图像中建模位置和时间关系。具体来说,连接到位置感知嵌入模块(PEM)的孪生网络作为特征编码器,用于提取变化区域的特征。然后,设计了时间差异感知模块(TDPM)来捕获跨时相移位并增强跨时相交互期间的差异感知能力。同时,通过融合块聚合地面对象的上下文信息,并在双时相特征的指导下重建空间关系。实验结果在三个基准数据集上验证了PT-Former的优越性,包括季节变化CD(SVCD)数据集、学习视觉和RS实验室建筑CD(LEVIR-CD)数据集和WHU-CD数据集,证实了PT-Former在RS图像CD任务中的潜力。Part1方法
在这一部分,我们首先介绍模型的总体结构。PT-Former主要包括四个模块,即Transformer、PEM、TDPM和融合块。我们将在以下详细介绍。此外,我们还将给出模型的损失函数。概述
PT-Former的总体结构如图2所示。PT-Former以三个通道的双时相RS图像为输入,输出两个通道的变化预测图。输入到PT-Former的双时相RS图像逐步输入到具有共享权重的双分支残差茎中。在提出的PT-Former中,使用修改后的ResNet-18[24]进行特征提取。在空间分辨率降低和语义提取后,特征图输入到PEM以生成位置嵌入,并通过PEM和平坦操作嵌入特征。为了捕获跨时相移位并增强跨时相交互期间的差异感知能力,双时相特征输入到TDPM。特征继续通过具有交叉注意力的Transformer交叉编码器,并且特征被重塑。同时,来自残差茎的特征图被下采样并由前融合块融合。接下来,从Transformer编码器提取的特征由后融合块聚合。然后,融合特征输入到Transformer解码器中。此外,为了增强变化区域的特征,由Transformer解码器和后融合块提取的特征被连接。最后,为了推断观察场景的变化图,引入了分类器头以生成变化图。Transformer块
- 重新审视Transformer中的自注意力:在基于Transformer的视觉任务中,特征图F的大小为H×W×C,通常被展平为大小为N×C的标记T,作为Transformer块的输入,其中H代表特征图的高度,W代表特征图的宽度,C代表特征图或标记的通道数,N=HW代表标记序列的长度。在Transformer块中,标记T投影到查询Q、K和V嵌入。Transformer的自注意力计算如下公式:
- 具有交叉注意力的Transformer:为了增强双时相特征交互,我们引入了具有交叉注意力的Transformer交叉编码器。具体来说,我们接收双时相标记T1和T2作为输入,并将它们投影到Q1、K1、V1和Q2、K2、V2。我们对双时相嵌入执行交叉注意力。交叉注意力计算如下:
根据交叉注意力,我们使用Transformer交叉编码器进一步从双时相标记T1和T2中提取变化信息。图1(b)显示了Transformer交叉编码器的架构,用于标记T1。Transformer交叉编码器由两个多头自注意力和两个多头交叉注意力组成。因此,图1(b)中的过程可以表示如下:其中LN(·)是层归一化,MHSA(·)是多头自注意力,MHCA(·)是多头交叉注意力,FF(·)是前馈层。在PT-Former中,图1(a)和(c)中描述的多头机制旨在利用不同子空间的表示。使用多个头可以更有效地探索查询、键和值组件之间的注意力模式。为了简化计算复杂性,投影特征沿特征维度被分成N部分;N表示图1(a)和(c)中的头数。最后,多头自注意力MHSA(·)和多头交叉注意力MHCA(·)表示如下:\text{shead}_i = \text{Self-Attention}(Q, K, V)\text{chead}_i = \text{Cross-Attention}(Q_2, K_1, V_1)
$$T2的处理过程与图1(b)所示相同。为了传递来自融合块的变化信息,构建了具有交叉注意力的Transformer解码器。图1(d)显示了Transformer解码器的架构,用于来自融合块的标记。对于预时相图像,标记T1,1和T1,2分别来自两个融合块。键K1,1和值V1,1的大小为N×C,通过T1,1的线性投影得到。然后,查询Q1,2的大小为N×C,从T1,2获得。Transformer交叉解码器的过程表示为:在Transformer交叉解码器中,投影特征沿水平维度被分成R部分,以降低复杂性。图1(e)显示了解码器的多头交叉注意力;R是头数。多头交叉注意力MHCA(·)表示为:类似地,T2也通过Transformer交叉解码器获得,以细化后时相图像中的变化信息。最后,我们获得了细尺度上的增强变化特征,然后与其他特征连接。位置感知嵌入模块
目前,存在许多基于Transformer的方法来捕获长距离依赖性。然而,这些方法并没有充分利用Transformer的能力,因为它们依赖于空间注意力机制来捕获空间信息。此外,对于CD任务,特征之间的位置关系极其重要;例如,在检测学习视觉和RS实验室建筑CD(LEVIR-CD)数据集中的变化建筑物时,建筑物边缘的一些像素最有可能被遗漏,引入位置嵌入后,边缘像素的位置信息使它们更容易被检测到。为此,设计了PEM来学习双时相特征图中的全局变化相关信息和细粒度的局部上下文。通常,普通的Transformer标记是1-D的,提供有限的位置信息。相比之下,我们的位置嵌入是2-D的,因此包含更丰富的位置信息。这种扩展允许更精确的变化定位,从而增强模型感知空间变化的能力。图3显示了架构,为了增强感知空间变化的能力,我们分别提取局部和全局位置信息,然后将这两部分融合。首先,我们使用卷积块来提取PEM中的局部位置信息,因为与窗口自注意力相比,卷积对局部位置信息的提取表现更好。卷积块表示如下:其中F是大小为H×W×C的输入特征图,DW是内核大小为5的深度卷积,PW1()和PW2()是内核大小为1的点卷积,Fl是带有局部位置信息的输出。为了降低提取全局位置信息的复杂性,局部位置信息F被下采样并聚合到全局位置信息中。下采样过程重复三次,直到特征图大小达到预期的大小(H/16)×(W/16)×C。与一步下采样方法相比,逐步下采样方法可以减少语义信息的丢失,并保留更多有用的信息。整个下采样过程表示如下:其中PW()表示内核大小为3的卷积,DS()表示下采样操作。全局位置信息Fg通过自注意力聚合,我们使用可学习的定位标记来丰富全局位置信息Fg。在融合之前,我们对可学习的定位标记使用MLP。该过程表示如下:其中Qdl、Kdl和Vdl是通过Fdl通过线性投影产生的。α∈[0,1]是预先设定的权重。SA()表示自注意力。MLP()表示MLP层。全局位置信息通过自注意力广播到输入特征图。最后,输出特征图包含局部和全局位置信息:其中Q是通过线性投影从输入特征图产生的,Kg和Vg是通过Fg通过线性投影产生的。时间差异感知模块
双时相图像CD的另一个问题是伪变化,主要是由不同采集时间、照明条件和季节变化等时间相关因素引起的。例如,在阴天和晴天拍摄的同一建筑物也存在很大的视觉和特征差异,这在本文中被定义为跨时相移位,整个数据集中预时相图像和后时相图像之间的跨时相移位往往是相同的。为了解决这个问题,我们试图捕获这种跨时相移位并增强特征交互时的时间判别能力,通过将可学习的时间嵌入整合到预时相和后时相特征中,最终消除跨时相移位。图4显示了架构。通过图2中的补丁嵌入,双时相特征被嵌入并展平为标记T1和T2,形状为N×C。在TDPM中,T1和T2首先被相减以获得绝对操作的跨特征差异标记Td。然后,Td与T1和T2连接以获得差异融合特征。为了从特征中提取时间信息,将差异融合特征输入到时间Transformer编码器中以获得特征T1,d和T2,d:其中TTE()表示时间Transformer编码器。为了减少由跨时相特征移位引起的伪变化,我们定义了可学习的时间嵌入TE1和TE2。TE1和TE2的大小为1×2C。我们将相应的时间嵌入TE1和TE2添加到T1,d和T2,d中,消除了跨时相移位对特征T1,d和T2,d的影响。最后,时间感知特征T1,t和T2,t通过线性投影得到:其中DP()表示域投影。T1,t和T2,t的大小为N×C。融合块
双时相特征的融合在CD中起着至关重要的作用,它在双时相特征的指导下形成了完整的变化信息。此外,为了整合地面对象的上下文信息并重建地面对象的空间关系,设计了融合块在多个阶段融合双时相特征,如图5所示(前融合块和后融合块)。首先,双时相特征F1和F2的大小为H×W×C被展平为标记T1和T2,大小为N×C,其中N=HW。然后,T1和T2被连接,并且使用层归一化。为了捕获双时相标记之间的关系变化,引入自注意力来提取全局上下文信息。该过程可以写成如下:其中Flatten()表示展平操作。接下来,融合特征TS被分割为双时相标记TS1和TS2。然后,对TS1和TS2使用层归一化和前馈层,并引入残差结构以简化模型学习过程:其中S()表示分割操作。前馈层由两个具有高斯误差线性单元(GELU)激活函数的线性层组成。最后,双时相特征F1和F2通过TR1和TR2重塑。损失函数
在RS CD中,我们遇到的一个普遍问题是负阳性像素之间的类别分布不平衡。这种不平衡经常阻碍有效的优化,可能导致网络陷入损失函数的局部最小值。为了应对这一挑战并从复杂场景中学习,我们建议采用混合损失函数,将二元交叉熵(BCE)损失与Dice损失结合起来。混合损失函数的公式如下:其中λ是混合损失函数中定义的系数。为了解释BCE损失和Dice损失的概念,我们考虑预测变化图( \hat{Y} )和参考图Y作为像素集合,分别表示为( \hat{Y} = { \hat{y}_i, i = 1, 2, ..., N } )和Y = ( { y_i, i = 1, 2, ..., N } )。这里,( \hat{y} )表示第i个像素变化的概率,而( y_i )代表第i个像素的参考值。在这个背景下,值为0表示未变化的像素,而值为1表示变化的像素。变化图中的像素总数用N表示。这两个损失函数的组合目标函数可以表示为:Part2实验结果
本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~