【RSICRC】Towards a multimodal framework for remote sensing image change retrieval and captioning

摘要

  • 最近,将文本与其他模式(如图像、音频和视频)集成的多模态应用程序越来越流行,目前,仍缺乏对遥感数据等特定数据模式的研究,现有的解决方案主要是分类、字幕和检索,这些解决方案往往忽略了遥感数据的特性。
  • 为此,提出一种新的双时态RS图像的基础模型,利用对比学习和LEVIR-CC数据集进行字幕和文本图像检索。通过联合训练一个对比编码器和字幕解码器,使模型增加了文本图像检索能力,同时保持了与现有技术相媲美的字幕性能。
  • 文章链接:https://arxiv.org/abs/2406.13424
  • 代码链接:https://github.com/rogerferrod/RSICRC

动机

  • 从用户角度来看,当前大多数变化检测方法交互水平有限。给定一对图像,主要突出显示变化的空间区域,没有任何额外的信息或策略指导用户查询。为了充分表达潜力并允许适当的与用户交互,必须有效的描述和搜索和变化区域相关的特征。因此,希望开发简单的变化检测模型,试图准确描述发生的变化,或检索与给定的文本提示相关联的一对图像。这可以通过多模态基础模型实现,但是遥感领域的相关数据集短缺。当前,很多工作集中于特定的任务——如分类、字幕或检索,但基础模型在遥感领域仍处于起步阶段。
  • 但之前的遥感领域的多模态基础模型研究多数是在单张遥感图像上进行的研究,缺乏管理双时态变化检测信息多的遥感应用的视觉-语言模型。因此,本文提出一个专门为双时态遥感图像设计的基础模型,以同时处理字幕和文本-图像检索任务。

方法

受CoCa启发,且与CoCa处理单张图像不同的是,本文模型处理一对遥感图像,RSICRC整个体系结构如图1所示。

  • Dataset

    • 使用的LEVIR-CC数据集,如图2所示。一些图像对未发生变化,一些图像对描述了变化,如new building或road being built。通常,描述包括详细的空间参考,如“on the top-left” or “at the bottom of the scene”,来识别变化。尽管数据集规模庞大,但是,获得的图像是同一个地理区域(德克萨斯州,美国)发生的变化。因此,利用数据集进行字幕任务自然成功,但是将该数据集用于图像检索更具有挑战性。实际上,给定一个文本查询,可以检索到更多匹配该描述的图像。在一个对比的学习框架中,这些例子被认为是假阴性的,并可能使训练阶段具有挑战性。
  • Encoder
    • 编码器是在 Chg2Cap编码器的基础上进行微小的修改,采用预先训练的孪生网络对图像进行编码,采用分层注意力机制结合这些特征和 一个带有余弦掩模的残余块。原始的Chg2Cap模型主干用的是在ImageNet上预训练的resnet-101,在本文实验中加入特别针对遥感图像预训练过的网络。如果我们的模型被设置为编码器主干进行微调,只需要更新ResNet系结构的最后两个卷积层的权重,或ViT的变压器层的权重。
    • 首先使用主干网络提取图像特征,对于每个图像X_i得到一个嵌入表示F_i
      • F_1=net(X_1);F_2=net(X_2)
    • 然后添加可学习的位置嵌入:F_i=F_i+F_{pos}
    • 将添加了位置嵌入的特征传入分层的自注意力模块,得到:
      • I_i,I_2=HSA(F_1,F_2)
    • 级联两个特征,并使用一个带有余弦掩模的残差块(1x1 conv,3x3 conv,1x1 conv)融合,得到图像对的最终编码特征E_{cap}
      • F_{fus}=[I_1,I_2]+Cos(I_i,I_2)
      • C=conv_{1\times 1}(F_{fus})
      • E_{cap}=ReLU(ResBlock(C)+C)
    • 最后,E_{cap}可以直接作为解码器交叉注意力层的输入,以生成标题。对于用于文本图像检索任务的对比损失,使用单个查询多头注意力层作为注意力池化操作得到表示该图像对的单一嵌入向量:E_{con}=MHA(E_{cap})
  • Decoder
    • 基于Transformer解码器针对字幕和对比学习进行一些修改。我们将解码器分为两部分:第一部分对文本进行编码,可以直接用于对比学习损失,第二部分将文本编码与视觉嵌入结合起来并生成字幕。两者都使用了随机掩码注意力,以防止当前的token关注未来的token,但是只有第二部分采用交叉注意力,结合文本和视觉表征。即
    • 输入tokens使用嵌入层映射到一个单词嵌入中,并添加位置嵌入:
      • E=emb+pos
    • 然后是单模态解码器层,产生两个结果:n\times D大小的自注意力输出和从最后一个token中获取的序列的单一表示:
      • ​​​​​​​S_{seq}=MHA(E)
      • S_{end}=S_{seq}[n]
    • S_{end}直接用于对比损失,对于字幕任务, S_{end}还将通过其他解码器层(交叉注意力层、线性层(LN))得到字幕预测:
      • ​​​​​​​​​​​E_{cross}=MHA(S_{seq},E_{cap})​​​​​​​
      • C=LN(E_{cross})
  • Training
    • ​​​​​​​如前所述,这项工作的目标是将标题功能与仅使用单一模型的文本图像检索相结合。我们通过一个允许两种范例共存的修改架构来实现这一点。
      • ​​​​​​​​​​​​​​Possible issues related to False Negatives
        • ​​​​​​​​​​​​​​从单个图像到一对图像上并不简单,需要一种机制处理假阴性,即被对比损失确定为负的例子,但实际上是正的。根据常见文献,实施假阴性消除(FNE)和假阴性吸引(FNA)策略。使用FNE将检测到的假阴性从损失计算中去除,FNA将假阴性视为一个阳性的例子,并相应地改变其标签。在本文工作中,假阴性检测阶段是通过比较字幕的相似性来完成的。如果属于不同图像对的两个标题的余弦相似度高于给定阈值(θ),则FNE或FNA机制被激活。如图3所示,具有相似语义的两个不同字幕可以被视为相同的字幕(FNA)或从同一批字幕中排除(FNE)。
        • 由于文本解码器是从头开始训练的,对于相似度计算,依赖于专门为句子比较而设计的第三方模型。在应用对比损失之前,用 Sentence-BERT预先计算嵌入,然后计算余弦相似度。
      • Contrastive Learning
        • ​​​​​​​​​​​​​​为了结合视觉表示和文本嵌入(依赖于InfoNCE损失),损失如下:
          • ​​​​​​​
          • 其中,N为 batch大小,τ为温度, e_is_j分别为视觉嵌入和文本嵌入。
        • 详细的说,该 batch有N个三元组 < e_i,s_i,l_i>组成,其中, l_i(e,s)_i对的标签。然后,我们计算对比对的所有可能的组合,并相应地为 l_i分配一个正的或负的标签,如,当 s_ie_i图像对的对应字幕时。在这一点上,我们必须通过检测和去除假阴性来纠正标签。采用预先计算的归一化 Sentence-BERT嵌入(ti),并计算N×N相似度矩阵,在该矩阵中,识别出 batch内相似度高于给定阈值θ的标题组合。正面和消极的例子定义为:
      • Captioning
        • 对比损失将图像对的整个表示和字幕的相似表示进行比较, 而字幕任务的作用范围更细粒度。事实上,解码器的交叉注意力考虑了整个标记序列和图像中的空间特征。 ​​​​​​​给定这些信息,解码器将自动回归地预测令牌的序列:
      • Training Objective
        • ​​​​​​​​​​​​​​最后,将L_{con}L_{cap}结合,对主损失的相对贡献进行加权,对模型进行联合训练:L=L_{cap}+\lambda L_{con}

实验

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值