AI大模型教程
一起来学习

Unsupervised Semantic CorrespondenceUsing Stable Diffusion论文阅读

题目:Unsupervised Semantic Correspondence Using Stable Diffusion

核心发现:

1.核心思路: 作者发现像 Stable Diffusion(扩散模型) 这样强大的文生图模型,本身就蕴含了对物体语义的理解(比如知道“猫爪”大概在什么位置)。

2.创新方法: 他们提出一种完全无监督的方法:给定一张源图片和一个点(比如猫爪),通过优化模型的“提示词嵌入向量”,让模型在这个点上产生最强的注意力响应。这个优化后的向量就编码了该点的语义信息。

3.语义匹配: 把这个优化好的向量直接应用到另一张目标图片上,模型生成的注意力图就会自动高亮语义上对应的区域(比如另一只猫的爪子),从而实现跨图像的语义点匹配。

4.惊人效果: 这个方法不需要任何标注数据训练,却在多个标准数据集上大幅超过了之前的弱监督/无监督方法(最高提升20.9%),甚至在PF-Willow数据集上追平了需要大量标注的强监督方法。

提示词嵌入向量:

1.文本的“数学替身”:想象一下,像Stable Diffusion这样的文生图模型,并不能直接理解“猫爪”这样的文字。它需要先把文字转换成一种计算机能处理的格式——一串长长的数字列表(比如768个数字),这就是“嵌入向量”。每个单词或短语通常对应一个特定的向量。

2.不是固定单词,是“自定义语义密码”:这篇论文的关键在于,他们使用像“paw”这样现成的单词对应的向量。相反,他们从一个随机的数字列表(随机向量)开始,通过优化(不断调整这些数字),目标是让模型在图片上指定的那个特定点(比如某只猫的爪子)产生最强的“注意力”(模型内部聚焦的信号)。

3.优化出的“语义指纹”:经过优化后得到的这个特定向量,它不一定对应任何人类语言中的单词。但它却神奇地编码了图片上那个特定位置(和周围区域)的语义信息(比如“这是猫的前爪关节”)。你可以把它看作是为图片上那个特定点定制的一个专属的“语义密码”或“激活钥匙”

作用:解锁对应区域:当把这个优化好的向量(语义密码)输入给同一个模型去处理另一张图片时,模型内部机制会根据这个向量,在第二张图片上寻找最能被这个“密码”激活的区域。这个被激活得最强的区域,就被认为是第一张图片上指定点的“语义对应点”(比如另一只猫的爪子)。

输入点(源图): 找到能最大程度“点亮”图片上这个点的数字列表(向量)。

输出点(目标图): 用这个数字列表去“扫描”新图片,找到被它“点亮”得最亮的点,那就是对应点。

所以,这个“提示词嵌入向量”在这里本质上是一个优化出来的、代表图片局部区域语义特征的数学表示(一串数字),是连接两张图片之间语义点的桥梁,而不是传统意义上人类可读的文字提示。

方法论

(上)给定源图像和查询点,图中就是指小猫的猫抓,我们优化嵌入,以便在时间 t 降噪步骤的注意力图突出显示源图像中的查询位置。

优化目标:

Prediction Query (预测查询 – 隐含目标): 我们希望优化嵌入向量,使得生成的源注意力图 (Source Attention Map) 在查询点(Query Point)的位置达到峰值(最亮)

如何优化?: 通过反向传播 (Backpropagation – 图中箭头回指 Text Embedding)。计算当前注意力图与“理想”注意力图(一个以查询点为中心的高斯分布图)之间的误差(损失)。利用这个误差信号不断调整 文本嵌入 向量中的数值

(下)在推理过程中,我们输入目标图像,并复用相同的去噪步骤 t 的嵌入,确定目标图像中的相应点作为注意力图的 argmax。将图像映射到注意力图的架构是一个预先训练的 Stable Diffusion 模型 [30],它在整个过程中保持冻结状态。

方法的具体细节

1.注意力的计算

  • 输入: 一张图像 I 和一个文本嵌入向量 e

  • 过程:

    1. 潜在表示: 将图像 I 输入Stable Diffusion的编码器,得到其在特定去噪时间步 t潜在表示 z(t)

    2. Query (Q_l) 和 Key (K_l) 计算: 在Stable Diffusion的U-Net去噪网络的不同层 l :

      • Q_l (查询向量): 由处理图像潜在表示的线性层 Φ_l(z(t)) 计算得出。它代表了图像潜在特征在特定层的“询问”。

      • K_l (键向量): 由处理文本嵌入向量的线性层 Ψ_l(e) 计算得出。它代表了文本提示(嵌入)在特定层的“标识”。

    3. 交叉注意力计算: 计算层 l 的交叉注意力图 M'_l

      • softmax 操作沿着 P 维度(文本token序列维度)进行。

      • d_l 是该层注意力机制的特征维度。

  • 输出 – 注意力图 M'_l

    • 这是一个4维张量 

      • C: 注意力头的数量 (Transformer层有多头注意力)。

      • (h x w): 该层特征图的空间尺寸 (高度 h x 宽度 w)。(不同层 h, w 不同)

      • P: 文本嵌入向量 e 对应的token数量。

    • 物理意义: M'_l 表示在层 l,对于图像潜在特征图上的每个空间位置 (h, w),模型根据文本嵌入 e 中的每个token P,计算出的注意力权重分布。高权重值表示该图像位置与该文本token语义高度相关。

  • 聚合多尺度和多头注意力 (图4 & 相关文本):

    • 动机: U-Net的不同层捕获不同级别的语义信息(浅层:边缘/纹理;深层:物体/部件)。多头注意力也提供不同视角。

    • 操作:

      对于选定的层集合 l和所有注意力头 c,提取对应的注意力图 M'_l

    • 沿着 C (注意力头) 和 l (层) 维度进行平均: 
    • 由于不同层的 h, w 不同,在平均前需要对每个 M'_l 进行双线性插值,统一到一个共同的空间尺寸(通常是输入图像尺寸或某个参考尺寸)。
    • 最终得到一个2D注意力图 M'' ∈ ℝ^{(h x w) x P}
  • 提取像素级注意力值:

    • 为了获得图像空间位置 u (像素坐标) 的注意力值,论文:

      1. 从 M'' 中只取第一个token对应的注意力图因为首尾的Token常是特殊标记

      2. 对这个2D图 M''[1] 进行双线性插值,得到指定像素坐标 u 处的标量值 M(u; e, I)

    • M(u; e, I) 的含义: 它量化了在图像 I 的位置 u 处,模型根据嵌入 e 的第一个token计算出的聚合(跨层、多头)注意力强度。值越高,表明位置 u 的语义与嵌入 e 所代表的语义越相关。


2. 嵌入向量的优化 

  • 目标: 找到一个文本嵌入向量 e*,使得在源图像 I_i 上计算出的注意力图 M(u; e, I_i) 在查询点 u_i 处达到峰值,并在其周围合理分布。

  • “理想”注意力图建模 (公式4):

    • 作者将期望的注意力分布建模为一个以查询点 u_i 为中心的二维高斯分布。

    • σ 控制高斯的宽度(标准差),决定了注意力应聚焦在 u_i 周围多大的区域。σ 是一个超参数。

    • 为什么用高斯? 这提供了一个平滑的、可微的目标分布,鼓励优化后的注意力在 u_i 附近形成单峰,而不是零散分布或聚焦在错误区域。它也反映了语义对应点通常不是像素级精确的模糊性。

  • 优化问题定义 (公式5):

    • 目标是最小化模型产生的聚合注意力图 M(u; e, I_i) 与目标高斯分布 M_s(u) 在所有图像像素位置 u 上的均方误差 (MSE)

  • 优化过程:

    1. 初始化: 随机初始化一个文本嵌入向量 e

    2. 冻结模型: Stable Diffusion模型的所有参数保持冻结(不更新)。

    3. 前向传播: 使用当前的 e 和源图像 I_i,计算聚合注意力图 M(u; e, I_i)

    4. 计算损失: 计算 M(u; e, I_i) 与高斯目标 M_s(u) 在所有像素 u 上的 MSE 损失。

    5. 反向传播: 计算损失相对于可优化变量 e 的梯度。

    6. 更新嵌入: 使用优化器(如Adam)根据梯度更新 e,以减少损失。

    7. 迭代: 重复步骤3-6,直到收敛(损失不再显著下降或达到预设迭代次数)。

  • 结果: 得到优化后的嵌入向量 e*。这个 e* 是专门为源图像 I_i 上的点 u_i “定制”的,它编码了该位置及其周围区域的语义信息,能最大程度地在模型的注意力机制中激活该区域。


3. 目标点的推理 

  • 目标: 利用在源图像上优化好的嵌入 e*,在目标图像 I_j 上找到与 u_i 语义对应的点 u_j

  • 过程:

    1. 固定嵌入: 使用优化阶段得到的 e*不再更新

    2. 计算目标注意力图: 将目标图像 I_j 和固定嵌入 e* 输入同一个冻结的 Stable Diffusion模型。

    3. 相同设置: 使用相同的去噪时间步 t 和相同的层/头选择与聚合方法,计算目标图像上的聚合注意力图 M(u; e*, I_j)

  • 预测对应点:

    • 在计算出的目标注意力图 M(u; e*, I_j) 上,找到空间位置 u 使得注意力值 M(u; e*, I_j) 最大的那个点:

    • 原理: 因为 e* 被优化为在源图像上强烈激活 u_i 及其语义区域,当应用于目标图像时,该嵌入 e* 应该最强烈地激活目标图像中语义上最相似的区域。因此,注意力值最高的位置 u_j 就被认为是 u_i 的语义对应点

      实现高精度与鲁棒性

    • 核心问题背景

      • 3.2节的优化过程只使用单张源图像 I_i 来优化嵌入向量 e

      • 风险:优化过程可能“死记硬背”源图像上查询点 u_i 周围的特定噪声、纹理或无关背景细节,而不是学习该点真正的通用语义特征

      • 后果:这样优化出的 e* 在应用到目标图像 I_j 时,可能无法正确激活真正的语义对应点,而是错误地激活源图像特有的局部模式,导致匹配失败。

    • 优化过程的不稳定性:

      • 优化嵌入向量 e 存在许多局部最优解。

      • 优化结果强烈依赖于初始随机值 e_init。不同的随机初始化可能收敛到不同的局部最优解。

      • 风险:即使在同一张源图像和同一个查询点上,多次运行优化可能得到不同的 e*,进而导致在目标图像上预测的对应点 u_j 不一致且不可靠


    • 解决方案1:随机裁剪平均 (Averaging across crops – 公式7, 8)

    • 目标: 提高优化出的嵌入 e* 的泛化能力,使其编码的语义特征更通用,减少对源图像特定背景或偶然性细节的依赖。

    • 核心思想: 在优化过程中,对源图像进行随机裁剪 (Random Cropping)。这相当于在不同的局部上下文中观察同一个语义点 (u_i),迫使模型学习该点更本质的、上下文无关的语义特征。

    • 具体操作 (公式7 – 优化阶段):

      1. 定义裁剪操作:

        • C_c(I): 对图像 I 进行裁剪操作。参数 c 定义了裁剪的位置和尺寸

        • U_c(I): 逆操作,将裁剪后的图像放置回原图坐标系。满足 C_c(U_c(x_c)) = x_c (裁剪再放回原处等于没变)。

      2. 采样裁剪参数 c

        • 每次迭代时,从分布 D 中随机采样一个裁剪参数 c ~ D

        • 论文中 D 的设定:将图像尺寸缩小到93%(保留中心大部分区域),并在原图范围内均匀随机采样平移量(缩放是为了保留一些边界上下文,平移是为了提供多样性)

      3. 裁剪源图像: 应用裁剪 C_c(I_i) 得到裁剪后的源图像块。

      4. 映射查询点: 查询点 u_i 也会随着图像被裁剪。需要计算其在裁剪后图像坐标系中的位置 u_i_crop

      5. 构建裁剪空间的高斯目标: 在裁剪后的图像空间,构建以 u_i_crop 为中心的高斯目标图 M_s_crop(u) (类似公式4)。

      6. 计算裁剪图像的注意力图: 使用当前嵌入 e 和裁剪后的图像 C_c(I_i),计算其注意力图 M(u; e, C_c(I_i))。注意:这个图是在裁剪后图像的坐标系中。

      7. 计算裁剪空间损失: 计算裁剪图像上的注意力图 M(u; e, C_c(I_i)) 与裁剪空间高斯目标 M_s_crop(u) 的 MSE 损失。

      8. 期望损失 (关键): 最终的优化目标不是一次裁剪的损失,而是所有可能裁剪的期望损失 (取平均)

        • 注意符号: 公式中 C_c(M(u; e, I_i)) 和 C_c(M_s(u)) 有点令人困惑。更准确的理解是:

          • M(u; e, I_i) 是在完整源图坐标系下计算的注意力图(未裁剪)。

          • C_c(·) 操作是裁剪这个完整的注意力图(和对应的完整高斯图 M_s(u)),相当于只取图中对应于裁剪区域 c 的那部分像素。

        • 等价操作 (更直观): 在实践中,通常是直接对裁剪后的图像块 C_c(I_i) 计算注意力图 M(u; e, C_c(I_i))(在裁剪坐标系),并与在裁剪坐标系构建的高斯图 M_s_crop(u) 计算损失。然后对所有采样的裁剪 c 的损失取平均。这等价于公式7的意图。

    • 效果:

      • 迫使优化过程关注那些在不同局部视图(裁剪)下都能稳定激活查询点 u_i 的语义特征。

      • 显著提高了 e* 的泛化性,使其更少依赖源图像特定的全局布局或背景。

    • 推理阶段也应用裁剪 (公式8):

      • 在目标图像 I_j 上预测对应点时,也应用同样的随机裁剪策略:

      1. 采样裁剪参数 c ~ D

      2. 裁剪目标图像:C_c(I_j)

      3. 裁剪后的图像 C_c(I_j) 上,使用优化好的 e* 计算注意力图 M(u; e*, C_c(I_j)) (在裁剪坐标系)。

      4. 使用逆操作 U_c(·) 将裁剪坐标系下的注意力图映射回完整目标图像坐标系,得到 U_c(M(u; e*, C_c(I_j)))

      5. 对所有采样的裁剪 c 得到的完整坐标系下的注意力图取平均

      6. 在最终的平均注意力图上取最大值位置 argmax_u 作为预测点 u_j

    • 推理阶段裁剪的作用:

      • 一致性: 与训练策略匹配。

      • 鲁棒性: 减少目标图像中背景或无关区域的干扰,使注意力更集中在物体主体上(尤其是在物体尺寸或位置变化大的情况下)。

      • 处理边界: 如果查询点在源图像边缘,裁剪可以模拟它在目标图像中可能出现在边缘的情况。

    • 解决方案2:多重优化轮次平均 (Averaging across optimization rounds – 公式9)

    • 目标: 克服嵌入优化结果对随机初始化 e_init 的敏感性,提高预测对应点 u_j 的稳定性和可靠性

    • 核心思想: 既然单次优化结果不稳定,那就进行 N 次独立优化(每次从不同的随机初始化 e_init 开始),得到 N 个不同的优化嵌入 {e*_1, e*_2, ..., e*_N}。然后利用这些嵌入在目标图像上产生 N 个注意力图,并平均这些注意力图,最后在平均图上取最大值点。

    • 具体操作 (公式9 – 推理阶段):

      1. 抽象优化函数: 将公式7的优化过程(带裁剪)抽象为一个函数 e* = O(ē, I_i),其中 ē 是初始随机嵌入。

      2. 多重初始化: 独立采样 K 个不同的随机初始嵌入 {ē_1, ē_2, ..., ē_K} ~ 分布 (通常是标准正态分布)。

      3. 多重优化: 对每个初始嵌入 ē_k,运行完整的优化过程(带裁剪),得到一个优化嵌入 e*_k = O(ē_k, I_i)

      4. 计算多重注意力图: 对于目标图像 I_j,使用每一个优化好的嵌入 e*_k,计算其对应的(聚合后的,可能也带推理裁剪平均)注意力图 M(u; e*_k, I_j)

      5. 平均注意力图: 对所有 K 个注意力图进行逐像素平均。

      6. 预测对应点: 在平均后的注意力图 ¯M(u; I_j) 上取最大值位置作为最终预测。

    • 效果:

      • 平滑局部最优解: 不同的初始化可能收敛到不同的 e*,每个 e* 可能强调查询点语义的不同方面(例如,一个强调形状,一个强调纹理)。平均它们的注意力图相当于融合了这些互补的语义视角

      • 减少随机性: 平均操作显著降低了最终预测点 u_j 对单一优化结果随机性的依赖。

      • 提高鲁棒性和准确性: 如图9b所示,使用更多优化轮次(更大的 K)持续提升PCK(Percentage of Correct Keypoints)精度。这是获得高性能的关键因素之一。


    • 总结3.3节的核心贡献与重要性

    • 解决核心挑战: 直接针对基础方法(3.2节)在单图像优化场景下固有的过拟合风险优化过程不稳定性问题。

    • 随机裁剪平均:

      • 机制: 在优化和推理阶段对图像进行随机裁剪与坐标映射

      • 作用: 增强优化嵌入 e* 的泛化性,使其编码的语义特征更本质、更鲁棒于背景变化和物体位置。是防止过拟合的关键。

    • 多重优化轮次平均:

      • 机制: 从多个随机初始化独立优化嵌入,在目标图像上平均它们产生的注意力图

      • 作用: 显著降低预测结果对初始化的敏感性提高稳定性和准确性。通过融合不同优化路径捕获的语义信息提升鲁棒性。

    • 协同效应: 这两个正则化技术通常同时使用。它们共同作用,使得这种在单张图上优化嵌入的“脆弱”过程,能够产生高度泛化、稳定且精确的语义对应结果。

    • 总而言之,3.3节的正则化策略是将一个有趣但可能不实用的概念(单图优化嵌入找对应)转化为一个强大且达到SOTA性能的无监督方法的核心工程。它们确保了方法在实际应用中的鲁棒性和可靠性。


文章来源于互联网:Unsupervised Semantic CorrespondenceUsing Stable Diffusion论文阅读

相关推荐: ai写作软件哪个好用?让论文写作变得更轻松

论文写作是学术研究的重要组成部分,但过程繁琐且耗时。 你可能会遇到资料搜集不全、逻辑结构混乱、语言表达不精准等问题,这些问题严重影响了写作效率和质量。 幸运的是,AI写作论文软件的出现,为解决这些问题提供了新的思路和工具。它们能够帮助你高效整合资料、优化结构、…

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » Unsupervised Semantic CorrespondenceUsing Stable Diffusion论文阅读
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们