题目: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。 -
过程:
-
潜在表示: 将图像
I输入Stable Diffusion的编码器,得到其在特定去噪时间步t的潜在表示z(t)。 -
Query (
Q_l) 和 Key (K_l) 计算: 在Stable Diffusion的U-Net去噪网络的不同层l:-
Q_l(查询向量): 由处理图像潜在表示的线性层Φ_l(z(t))计算得出。它代表了图像潜在特征在特定层的“询问”。 -
K_l(键向量): 由处理文本嵌入向量的线性层Ψ_l(e)计算得出。它代表了文本提示(嵌入)在特定层的“标识”。
-
-
交叉注意力计算: 计算层
l的交叉注意力图M'_l:-
softmax操作沿着P维度(文本token序列维度)进行。 -
d_l是该层注意力机制的特征维度。
-
-
-
输出 – 注意力图
M'_l:-
这是一个4维张量
。-
C: 注意力头的数量 (Transformer层有多头注意力)。 -
(h x w): 该层特征图的空间尺寸 (高度hx 宽度w)。(不同层h, w不同) -
P: 文本嵌入向量e对应的token数量。
-
-
物理意义:
M'_l表示在层l,对于图像潜在特征图上的每个空间位置(h, w),模型根据文本嵌入e中的每个tokenP,计算出的注意力权重分布。高权重值表示该图像位置与该文本token语义高度相关。
-
-
聚合多尺度和多头注意力 (图4 & 相关文本):
-
动机: U-Net的不同层捕获不同级别的语义信息(浅层:边缘/纹理;深层:物体/部件)。多头注意力也提供不同视角。
-
操作:
对于选定的层集合
l和所有注意力头c,提取对应的注意力图M'_l。 - 沿着
C(注意力头) 和l(层) 维度进行平均:
- 由于不同层的
h, w不同,在平均前需要对每个M'_l进行双线性插值,统一到一个共同的空间尺寸(通常是输入图像尺寸或某个参考尺寸)。 - 最终得到一个2D注意力图
M'' ∈ ℝ^{(h x w) x P}。
-
-
提取像素级注意力值:
-
为了获得图像空间位置
u(像素坐标) 的注意力值,论文:-
从
M''中只取第一个token对应的注意力图,因为首尾的Token常是特殊标记。 -
对这个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):
-
-
优化过程:
-
初始化: 随机初始化一个文本嵌入向量
e。 -
冻结模型: Stable Diffusion模型的所有参数保持冻结(不更新)。
-
前向传播: 使用当前的
e和源图像I_i,计算聚合注意力图M(u; e, I_i)。 -
计算损失: 计算
M(u; e, I_i)与高斯目标M_s(u)在所有像素u上的 MSE 损失。 -
反向传播: 计算损失相对于可优化变量
e的梯度。 -
更新嵌入: 使用优化器(如Adam)根据梯度更新
e,以减少损失。 -
迭代: 重复步骤3-6,直到收敛(损失不再显著下降或达到预设迭代次数)。
-
-
结果: 得到优化后的嵌入向量
e*。这个e*是专门为源图像I_i上的点u_i“定制”的,它编码了该位置及其周围区域的语义信息,能最大程度地在模型的注意力机制中激活该区域。
3. 目标点的推理
-
目标: 利用在源图像上优化好的嵌入
e*,在目标图像I_j上找到与u_i语义对应的点u_j。 -
过程:
-
固定嵌入: 使用优化阶段得到的
e*,不再更新。 -
计算目标注意力图: 将目标图像
I_j和固定嵌入e*输入同一个冻结的 Stable Diffusion模型。 -
相同设置: 使用相同的去噪时间步
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 – 优化阶段):

-
定义裁剪操作:
-
C_c(I): 对图像I进行裁剪操作。参数c定义了裁剪的位置和尺寸。 -
U_c(I): 逆操作,将裁剪后的图像放置回原图坐标系。满足C_c(U_c(x_c)) = x_c(裁剪再放回原处等于没变)。
-
-
采样裁剪参数
c:-
每次迭代时,从分布
D中随机采样一个裁剪参数c ~ D。 -
论文中
D的设定:将图像尺寸缩小到93%(保留中心大部分区域),并在原图范围内均匀随机采样平移量。(缩放是为了保留一些边界上下文,平移是为了提供多样性)
-
-
裁剪源图像: 应用裁剪
C_c(I_i)得到裁剪后的源图像块。 -
映射查询点: 查询点
u_i也会随着图像被裁剪。需要计算其在裁剪后图像坐标系中的位置u_i_crop。 -
构建裁剪空间的高斯目标: 在裁剪后的图像空间,构建以
u_i_crop为中心的高斯目标图M_s_crop(u)(类似公式4)。 -
计算裁剪图像的注意力图: 使用当前嵌入
e和裁剪后的图像C_c(I_i),计算其注意力图M(u; e, C_c(I_i))。注意:这个图是在裁剪后图像的坐标系中。 -
计算裁剪空间损失: 计算裁剪图像上的注意力图
M(u; e, C_c(I_i))与裁剪空间高斯目标M_s_crop(u)的 MSE 损失。 -
期望损失 (关键): 最终的优化目标不是一次裁剪的损失,而是所有可能裁剪的期望损失 (取平均):
-
注意符号: 公式中
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上预测对应点时,也应用同样的随机裁剪策略:
-
采样裁剪参数
c ~ D。 -
裁剪目标图像:
C_c(I_j)。 -
在裁剪后的图像
C_c(I_j)上,使用优化好的e*计算注意力图M(u; e*, C_c(I_j))(在裁剪坐标系)。 -
使用逆操作
U_c(·)将裁剪坐标系下的注意力图映射回完整目标图像坐标系,得到U_c(M(u; e*, C_c(I_j)))。 -
对所有采样的裁剪
c得到的完整坐标系下的注意力图取平均。 -
在最终的平均注意力图上取最大值位置
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 – 推理阶段):

-
抽象优化函数: 将公式7的优化过程(带裁剪)抽象为一个函数
e* = O(ē, I_i),其中ē是初始随机嵌入。 -
多重初始化: 独立采样
K个不同的随机初始嵌入{ē_1, ē_2, ..., ē_K} ~ 分布(通常是标准正态分布)。 -
多重优化: 对每个初始嵌入
ē_k,运行完整的优化过程(带裁剪),得到一个优化嵌入e*_k = O(ē_k, I_i)。 -
计算多重注意力图: 对于目标图像
I_j,使用每一个优化好的嵌入e*_k,计算其对应的(聚合后的,可能也带推理裁剪平均)注意力图M(u; e*_k, I_j)。 -
平均注意力图: 对所有
K个注意力图进行逐像素平均。 -
预测对应点: 在平均后的注意力图
¯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写作论文软件的出现,为解决这些问题提供了新的思路和工具。它们能够帮助你高效整合资料、优化结构、…
5bei.cn大模型教程网










