change clip架构学习

整个框架主要由四个部分组成:

  1. 多模态数据 (Multimodal Data):准备图像和对应的文本提示。

  2. 多模态编码器 (Multi-modal Encoder):用 CLIP 的图像和文本编码器提取特征,并进行融合。

  3. 差分特征补偿 (Differential Features Compensation, DFC):专门计算两张图的差异特征。

  4. 视觉-语言驱动解码器 (Vision-Language Driven Decoder):结合前面的特征,逐步解码出最终的变化检测结果。


详细数据流向解析

我们将数据流向分为几个阶段来解释:

阶段一:输入准备 (Input Preparation)
  • 输入 (Input)

    • 双时态遥感图像 (Bitemporal Remote Sensing Images) :两张不同时间拍摄的同一地点的图像,我们记为 Image AImage B

    • 文本提示 (Text Prompts):由于现有的变化检测数据集没有文本标签,ChangeCLIP 用了一个巧妙的方法来生成。

      • 利用 CLIP 模型的零样本分类能力,对图像进行预测,找出图像中最可能存在的物体类别(例如"建筑物"、"森林"等)。

      • 根据预测结果构建文本提示。例如,前景描述为 "remote sensing image foreground objects, {预测类别}" ,背景描述为 "remote sensing image background objects"

      • 这样,Image A 和 Image B 就分别有了对应的文本提示,记为 Text AText B

  • 阶段总结 :输入是 (Image A, Text A)(Image B, Text B) 两对图文数据。

阶段二:多模态编码 (Multimodal Encoder)

这一阶段的目的是分别提取图像和文本的特征,并将它们融合起来。为了利用 CLIP 的能力,这里使用了两个并行的编码器流,分别处理 A 时刻和 B 时刻的数据。

以 A 时刻的数据流为例(B 时刻同理):

  1. 图像特征提取

    • Image A 被送入一个 图像编码器 (Image Encoder)(初始化自 CLIP 的图像端,可以是 ResNet 或 ViT)。

    • 编码器会输出一个多层级的特征金字塔 {Fa1, Fa2, Fa3, Fa4},分别代表不同分辨率和语义级别的特征图。

    • 其中最高级的特征图(语义最丰富)会被进一步处理:

      • 通过一个注意力池化模块 (Attention Pool Module)(如果是 ResNet)或直接使用(如果是 ViT),得到 全局特征 (global_feature)视觉嵌入 (visual_embedding, V') 。这两个组合起来构成了图像序列特征

      • 同时,为了弥补位置信息的丢失,还会加上位置编码 (pos_embedding)。

      • 「此处,ResNet要多一步的原因是,resnet是cnn,得到的是二维空间结构而不是序列。vit是transformer得到序列,可以直接和文本融合。


  2. 文本特征提取

    • Text A 被送入一个 文本编码器 (Text Encoder)(初始化自 CLIP 的文本端,基于 Transformer)。

    • 编码器输出 文本嵌入 (text embedding, t2),它代表了文本的语义信息。

  3. 图文特征融合 (Vision-Language Feature Fusion)

    • 图像序列特征 (包含 V')文本嵌入 (t2) 一起送入一个 上下文解码器 (Context Decoder, Fcd)(基于 Transformer)。

    • 在这个解码器里,图像和文本特征进行交互,文本信息被融入到图像特征中。

    • 输出的融合特征 t3 既包含了图像的视觉信息,又包含了文本的语义信息。这个 t3 就是这一阶段得到的视觉-语言特征 (Vision-Language Feature) ,记为 VA (对应 Image A) 和 VB (对应 Image B)。

    • 此外,还会计算一个图像像素和文本之间的 得分图 (score_map),用来增强原始高层图像特征的语义信息。

  • 阶段输出

    • 双时态的多层级图像特征图:{Fa1...Fa4}{Fb1...Fb4}

    • 双时态的视觉-语言融合特征序列:VAVB

阶段三:差分特征计算 (Differential Features Compensation, DFC)

这一阶段是变化检测的核心,目的是计算出 Image A 和 Image B 之间的差异。ChangeCLIP 认为传统的简单相减或拼接不够好,因此设计了 DFC 模块。

  1. 输入 :来自编码器阶段的特征图 FaFb(这里指融合了视觉-语言信息后的特征)。

  2. 三种差异计算方式

    • 相减 (Subtraction) :计算 abs(Fa - Fb),然后通过卷积层,得到 Fsub。这种方法直观地反映了像素值的差异。

    • 余弦相似度 (Cosine Similarity) :计算 Fa 和 Fb 在高维空间中的余弦距离,得到差异图 m。这种方法能捕捉特征向量方向上的语义差异。

    • 拼接 (Concatenation) :直接将 FaFb 拼在一起,送入一个 FPN (Feature Pyramid Network) 结构,得到 X。这种方法保留了最原始的信息,让网络自己去学习差异。

  3. 加权融合

    • 将上面三种方式得到的差异特征 Fsub , X * m (用余弦差异图加权拼接特征), 和 X 再次拼接起来。

    • 送入一个 通道注意力模块 (Channel Attention, CA)。这个模块会自动学习三种差异特征的重要性,给予不同的权重。

  4. 阶段输出 :融合并加权后的差分特征图 (Differential Feature Maps) ,记为 D1, D2, D3, D4,对应不同的特征层级。

阶段四:解码与输出 (Vision-Language Driven Decoder)

这一阶段的任务是将前面的差分特征逐步放大(上采样),恢复到原始图像的分辨率,并输出最终的变化检测结果。

  1. 输入

    • 来自 DFC 模块的多层级差分特征图 D1, D2, D3, D4(从低级到高级)。

    • 来自编码器阶段的视觉-语言特征序列 VAVB (统称为 text 特征)。

  2. 逐层解码

    • 解码过程从最高级的特征 D4 开始,自顶向下进行。

    • 在每一层,都会使用一个 Swin Transformer Block (f) 来处理当前层的特征和上一层传下来的特征。Swin Transformer 能建立全局的注意力关系,增强特征表示。

    • 关键点:引入低秩双线性注意力模块 (Low-rank Bilinear Attention Module) 。在每一层,都会用这个模块将编码器传来的 视觉-语言特征 (text) 与当前层的解码特征进行融合。这相当于在解码过程中不断补充语义信息,指导模型更好地识别变化区域。

    • 融合后的特征会与下一级的差分特征(如 D3)进行拼接 (concat),然后送入下一层的 Swin Transformer Block。

    • 这个过程重复进行:F3 = f(D4, text) + D3 -> F2 = f(F3, text) + D2 -> F1 = f(F2, text) + D1

  3. 最终输出

    • 最后一层的特征 F1 经过一个 上采样 (Upsample) 操作,恢复到与原始输入图像相同的大小。

    • 输出 (Output) :一个变化检测掩膜 (Change Detection Mask)。这是一个黑白图像,白色区域表示检测到的变化区域,黑色表示未变化区域。


总的来说,就是image和text都经过encoder,然后特征融合,得到Va Vb;差异计算(只算图的差异)用了三种,然后三种加权,得到diff图;最后把diff图和V一起送进解码器,得到最终的mask图。

changeclip是在算diff的时候这样加权,而mmchange是在text和image特征融合的时候,各种注意力得到一个维度为bchw的权重,调控text和image的融合。

相关推荐
玄微云8 小时前
AI智能体开发公司推荐:玄微科技专注垂直场景的实践者
大数据·人工智能·软件需求
做一道光9 小时前
电机控制——电流采样(三电阻)
单片机·嵌入式硬件·学习·电机控制
JS_GGbond9 小时前
JavaScript入门学习路线图
开发语言·javascript·学习
失败才是人生常态9 小时前
算法题归类学习
学习·算法
Chunyyyen9 小时前
【第二十五周】大模型动手学习01
学习
谷粒.9 小时前
测试数据管理难题的7种破解方案
运维·开发语言·网络·人工智能·python
d111111111d9 小时前
STM32外设学习-WDG看门狗-(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
一RTOS一9 小时前
“智”赋百业 | 东土科技:为工业人工智能铸造“中国根系”
人工智能·科技
周周爱喝粥呀9 小时前
向量检索:AI 是如何进行语义匹配的?
人工智能