51c视觉~合集20
针对这个问题一直以来,也有非常多的工作在探索加速扩散模型的方法。RePaint: Inpainting using Denoising Diffusion Probabilistic Models 主要是针对图像修复(image inpainting)任务而提出的,它的做法其实与 SDEdit 的 editing with mask(如前面的 Algorithm 3)相似,输入除了参考图像以外还有
自己的原文哦~ https://blog.51cto.com/whaosoft/11813379
#PosFormer
本文简要介绍被ECCV 2024录用的论文PosFormer: Recognizing Complex Handwritten Mathematical Expressions with Position Forest Transformer
,上交推出 PosFormer!优化位置识别任务来辅助表达式识别,复杂公式识别能力再创新SOTA!
- 论文地址:https://arxiv.org/abs/2407.07764
- 代码地址:https://github.com/SJTU-DeepVisionLab/PosFormer
1. 引言
手写数学表达式作为语言和符号之间的桥梁,在数学、物理和化学等领域中很常见。相应的任务,即手写数学表达式识别(HMER),旨在准确地将表达式图像转换为 LaTeX 序列。这个任务在在线教育、手稿数字化和自动评分等人机交互场景中有广泛应用。近期,我们注意到多模态大语言模型
在文本图像领域具有泛化性高的性能,但是大多数大模型在手写数学表达式识别上还不够理想参考MultimodalOCR,如下图红框所示:
这说明当前识别手写数学表达式仍比较困难,具体地,其主要面临着两大挑战:符号间关系的复杂性[1]和手写输入的多样性。
传统方法通常涉及两步流程:识别单个符号并随后根据语法规则进行校正。近年来,随着深度学习的发展,开发了两种主流方法以提高识别性能:基于树的方法和基于序列的方法。
具体来说,基于树的方法遵循 LaTeX 的语法规则,将每个数学表达式建模为树结构[2][3],然后输出基于语法树的完整三元组(父节点、子节点、父子关系)的序列,并将其解码为 LaTeX 序列。这些方法由于表达式中树结构的多样性不足,表现出较低的准确性和较差的泛化能力。基于序列的方法将 HMER 建模为端到端的图像到序列任务[4]。
- 方法(PosFormer)
如图1所示,位置森林变换器(PosFormer)由 DenseNet[5]、位置森林和表达式识别头组成。
首先,DenseNet从输入图像中提取二维视觉特征。这些特征随后被送入基于注意力的Transformer解码器以获取具有辨别力的符号特征。
然后使用并行线性头来识别 LaTeX 表达式。为了促进位置感知的符号级特征表示学习,在表达式识别的同时引入位置森林进行联合优化。
具体来说,这个过程首先将数学表达式的序列编码为标识符集,每个标识符是一个表示其位置信息的字符串。然后使用两个位置森林头分别解析其嵌套层次和相对位置。
2.1 Position Forest
根据 LaTeX 的语法规则,表达式可以分为多个独立或嵌套的子结构,如图2所示,包括上标-下标结构、分数结构、根式结构和特殊运算符结构。在每个子结构内,符号的相对位置关系根据其在图像中的空间位置分为三类:上
、下
和中
。利用这一先验知识,我们将 LaTeX 数学表达式建模为位置森林结构。其构建遵循以下三条规则:
- 这些子结构按从左到右的顺序进行编码;
- 每个子结构根据符号之间的相对位置编码成树,其主体为根节点,上部为左节点,下部为右节点;
- 根据子结构的关系,这些编码的树按顺序或嵌套排列形成位置森林结构。
然后依照上面的规则,我们的编码过程如图3所示,每个符号在森林中被分配一个位置标识符以表示其相对空间位置。对于给定的一个公式图像 ,其对应的标识符集合 被定义为 。H、W、T分别为图像高度、图像宽度、序列长度。例如图3中的 " 2 " 对应的标识符为: " "。
考虑到这些标识符的长度不同,我们将标识符填充组织成矩阵,其中每个向量通过非线性层转换为标识符嵌入,最后将符号顺序的绝对位置编码添加到标识符嵌入中。生成公式如下:
这些嵌入向量 和主干网络提取的视觉特征 (其中 )被输入到基于 Transformer 的三层解码器块中。这些块主要由多头注意力 (MHA) 、隐式注意力校正(IAC,稍后介绍)和前馈网络(FFN)组成,处理这些输入以产生输出特征 ,用于预测表达式识别 (常规分支) 和位置识别(我们设计的分支)。
接着,我们将位置识别任务分为两个子任务:嵌套层级预测任务 和 相对位置预测任务。首先,给定标识符集合 ,我们需要构造其嵌暮层级和相对位置的ground truth。
对于第 个标识符 为标识符长度,可以很容易地确定其嵌套层级为 ,相对位置为 。例如,在分析标识符 MLLR 时,可以推断该符号位于包含三个嵌套级别的子结构中,其相对位置位于最后一个嵌宏子结构的下部 R 。
基于此,嵌套层级的ground truth被构造:
表示嵌套级别的最大数量。相对位置的ground truth被构造:
最终,在解码步骤 ,取 ,预测当前步骤嵌套层级和相对位置为:
2.2 Implicit Attention Correction
如图4所示, 我们将一些LaTeX 符号定义为结构符号
:在图像中没有实体,用于描述实体符号之间的位置和层次关系。
在解码结构符号时,覆盖问题(即过度解析和欠解析)限制了识别能力。为了解决这些问题,CoMER[6] 通过减去所有前一步的注意力来细化当前解码步骤的注意力权重。然而,在解码一些结构符号时,我们观察到模型将注意力分配到尚未解析的区域,甚至是整个图像。
在减法操作之后,这种机制会导致依赖于过去对齐信息的后续解码步骤中校正注意力的不准确性。为此,我们提出了一种简单而有效的校正解决方案,通过引入零注意力作为我们的校正项。具体来说,当一个实体符号被解码时,我们将与前面的结构符号相关的注意力权重重置为零。
这很容易解释:当我们鼓励模型对解码实体符号产生精确的注意力时,只要从已经解析的实体符号中减去这些注意力权重就可以了,因为数学表达式图像上只存在实体符号。
因此,注意力校正过程如下:
设 为第 层解码器产生的注意权重(实验中为 ), 表示这些结构符号的集合,我们提出一个指示函数 来引入相应的修正项 ,
表示Hadamard积, 表示沿通道的拼接操作。
2.3 Loss Function
最终模型在多任务设置下进行端到端川练,其目标是:
其中 表示groundtruth LaTeX序列, 为groundtruth嵌套层级, 表示 groundtruth相对位置。 分别表示三个任务的预测分布。最后,整体的训练损失总结为:
最后,整体的训练损失总结为:
- Experimental Results
首先,我们在单行数据集CROHME
上进行实验。具体来说,为了公平比较,我们提供了 PosFormer 有和没有数据增强的性能结果。我们强调,一些先前的先进方法使用的数据增强方法没有开源,因此我们只在都没有数据增强的情况下与这些方法进行对比。
其次,我们还在大规模单行数据集HME100k
上进行了实验,这里的对比都没有使用数据增强。
与单行数据集相比,多行手写数学表达式数据集M2E
包含更多的复杂结构和长序列图像。为了证明我们模型的有效性和鲁棒性,我们在该数据集上与之前的最先进方法进行了比较。
我们进行消融实验,展示了PosFormer 的两个组件——位置森林(PF)和隐式注意力校正(IAC)带来的性能提升。
位置森林(PF)可以很容易地封装成一个插件组件。为了证明其鲁棒性和通用性,我们将其扩展到基于 RNN 的方法进行了对比实验。
为了与先前的位置增强工作比较,我们在CROHME上与robustscanner[7]进行了比较。另外,引入语言模型是进一步提高性能的方向,一些 HMER 方法(例如,RLFN[8])的视觉输出被输入到语言模型[9]中,以利用语言上下文实现识别校正。尽管 PosFormer 是一种不依赖语言的模型,但它仍然实现了 6.25% 的提升。
另外,我们还构建了一个多层嵌套数据集MNE
,来测试PosFormer在识别复杂嵌套表达式的能力。N1、N2和N3分别表示嵌套层数为1、2和3的子测试集。
最后,本文展示了隐式注意力校正的可视化例子:
4. Conclusions
相比主流的基于树和基于序列的方法,PosFormer提出了一种全新的角度来考虑手写数学表达式中的位置信息和嵌套关系。
本文提出了一种有效的位置森林变换器用于手写数学表达式识别,为基于序列的方法增加了位置理解组件。该方法将每个数学表达式编码为森林结构而无需额外的标注,然后解析其在森林中的嵌套层次和相对位置。
通过优化位置识别任务来辅助表达式识别,PosFormer 在复杂和嵌套的数学表达式中显式地实现了位置感知的符号级特征表示学习。开发板商城 天皓智联 TB上有视觉设备哦 支持AI相关~ 大模型相关也可用 whaosoft aiot自动驾驶也可以哦
大量实验验证了 PosFormer 的性能优越性,同时在推理过程中不会引入额外的延迟或计算成本。这凸显了在基于序列的方法中显式建模表达式位置关系的重要性,希望能带来更深远的意义和更深刻的启发。
#如何使用预训练的无条件扩散生成模型来进行条件生成的指南
预训练无条件扩散生成模型的 training-free 条件生成食谱(一)
对于扩散模型来说,可控(条件)生成和采样加速是两大热门方向,其中 CW 认为前者的可玩性和观赏性会更胜一筹,特别是研究如何利用已经训练好的无条件扩散模型来生成自己想要的图像(而不是随机生成),这点个人觉得非常好玩。于是,在调研了一些广为流传(maybe 好用)的方法之后,CW 决定把它们制成一份食谱,以便日后做(炼)菜(丹)时能够从中借鉴和调配。
既然要为日后重新调配做打算,那么就会涉及代码实现,但食谱中仅收录每种方法里关键操作的代码。另外,本食谱对于每种方法提供偏向直觉性的解释,这是考虑到厨师做菜通常不会纠结分子和原子的化学变化。对于严谨的推导和证明过程,还请各位食客自行参考论文。
注意,这份食谱所收录的方法都是 training-free 的,也就是不会对模型进行二次训练,也可称作 "sampling-based",因为它们仅对模型的采样过程进行改造和调整。并且所用的扩散模型是无条件的,也就是没有不会有条件项作为模型输入。只要手头上有预训练的无条件扩散模型,在给出条件信息(比如参考图像、文本 prompt 等)的情况下,就能够实现可控生成。由于这种方法并没有将条件信息作为输入来进行训练,因此通常也被叫作是 "zero-shot" 和无监督的。
题外话:本文的标题有点 "Engnese" 的味道,因为其实它来自于我脑子里的 "The training-free recipe for conditional generation with pretrained unconditional diffusion models",但纠结一番后还是想接地气一些,于是成了如今这个样子。
keywords: conditional generation, training-free, zero-shot, unsupervised, diffusion models, inverse problems, image inpainting, image restoration, image editing
图生图
这一章介绍的方法都是在给定一张参考图像的条件下进行采样生成。 在这种情况下,通常是希望模型能够生成与参考图像相似的图片,或者对参考图像进行修复(填充)和编辑等。
SDEdit
SDEdit: Guided Image Synthesis and Editing with Stochastic Differential Equations 可谓是出身名门,不信你可以去看看这篇 paper 的作者们,每一位都是不得了的大佬!
但这篇论文的思路却出奇简单,或许这就是所谓的大道至简吧~
SDEdit 巧妙地利用了扩散模型采样过程所对应的 reverse SDE 的性质——采样起点可以从中间任意时刻开始。
the reverse SDE can be solved not only from , but also from any intermediate time
具体地, 先对参考图像(论文中称作 "guide")进行加噪, 噪声强度根据扩散模型的 noise schedule 选择某个时刻 所对应的噪声强度; 然后从该时刻开始根据 reverse SDE 对加噪后的参考图像进行迭代去噪。当采样至最后时刻 , 若感觉效果不满意, 还可以将生成的结果重新加噪回 时刻, 然后再次实施同样的迭代去噪过程, 这样的玩法可以反复多次直至得到满意的效果为止。
对于一些图像编辑和修复的场景,可能我们只想要改变参考图像的某部分,让这部分就用模型采样生成的结果来代替,而另一些部分则希望保持原封不动。对于这种需求,可以在前面的基础上额外利用 mask 来指示参考图像的哪些位置是需要保持不变的,而哪些是希望用模型的生成结果来代替的(比如在 mask 中值为1的部分代表将要用模型的生成结果来覆盖)。
- SDEdit 做法的背后隐藏着什么
CW 觉得上面这幅图很好地阐释了 SDEdit 的原理:真实的图像(扩散模型学到的数据分布)和输入的参考图(上图是油画)本来隶属于不同的数据流形,经过噪声扰动后,两个流形产生了交集(扰动使得流形扩大了范围)。然后从交点开始经由扩散模型(reverse SDE)迭代去噪,从而使数据点不断向真实图像所在的流形区域移动(reverse SDE 决定了这个方向),最终将油画 project 为真实图像。
由于加噪主要破坏的是高频信息,因此在去噪后能保留住参考图的大体结构和语义(低频信息),同时又去掉了纹理等细节,从而生成的图像既能与参考图有一定相似性又显得真实(服从图像数据分布)。
- 真实度与相似性之间的 trade-off
一个需要重点考虑的问题是生成图像的真实度(realistic)与参考图像的相似性(论文中称为 "faithful")之间的 trade-off。由上面那幅图也可以直观感受到,如果将数据点被过份地移动到真实图像的流形区域(从而远离参考图像的流形),那么虽然生成的结果显得很真实,但与参考图的相似性就难免会降低;相反,若数据点太靠近参考图所在的流形(于是离真实图像所在的流形较远),则生成的结果虽然与参考图的相似度很高,但整幅图像看起来就显得不那么真实了。
而影响这个问题的 keypoint 就是采样起始时刻 的选择。极端地考虑, 对应采样过程结束, 于是生成的结果就是参考图本身(完全处于参考图流形中); 相反, 代表经历整个 reverse SDE 过程, 由于这是一个随机过程, 因此最终生成的结果就"不那么受控"、随机性比较大, 可能会严重偏离参考图像(被过份地移动至真实图像的流形, 于是远离参考图像所在的流形)。
于是, 越靠近1,生成图像的真实度就会越高,同时由于采样方差更大,因此多样性也越高;而 越靠近0,生成结果与参考图的相似度就越高,同时因为采样方差较小,所以多样性就会变低。
在作者的实验中, 是比较合适的选择, 而实际在面对不同任务时, 建议通过实验去手动调整看效果如何来确定 的选择。
- 局限性
SDEdit 的局限性首先在于其适用场景有限,若参考图像与扩散模型学到的数据域相差较远,可能难以生成既与参考图像相似又看起来真实的图片(考虑参考图像流形与真实图像流形相距甚远而得不到交集的情况)。
其次,为了兼顾生成图像的真实度与参考图像的相似度,需要手动调整采样起始时刻。
还有,为了获得满意的生成效果,可能要重复多次“加噪-去噪”的采样过程。
- 核心代码
以下是 SDEdit 在面临带 mask 的图像编辑场景时的核心代码实现,CW 在此仅截取关键部分,完整源码请自行参考官方repo(https://github.com/ermongroup/SDEdit/blob/main/runners/image_editing.py%23L119).
# `sample_step` 代表重复 “加噪-去噪” 的采样次数
for it in range(self.args.sample_step):
# 采样起始时刻
total_noise_levels = self.args.t
a = (1 - self.betas).cumprod(dim=0)
e = torch.randn_like(x0)
# 将参考图像加噪至采样起始时刻对应的噪声强度
x = x0 * a[total_noise_levels - 1].sqrt() + e * (1.0 - a[total_noise_levels - 1]).sqrt()
... # 省略
with tqdm(total=total_noise_levels, desc="Iteration {}".format(it)) as progress_bar:
# 迭代去噪采样
for i in reversed(range(total_noise_levels)):
t = (torch.ones(n) * i).to(self.device)
# 扩散模型的去噪采样: p(x_{t-1} | x_t),这里使用的是 VP-SDE
x_ = image_editing_denoising_step_flexible_mask(
x, t=t, model=model,
logvar=self.logvar,
betas=self.betas
)
# 将参考图加噪至当前时刻对应的噪声强度
x = x0 * a[i].sqrt() + e * (1.0 - a[i]).sqrt()
# 把扩散模型的采样结果放到参考图像的对应位置
x[:, (mask != 1.)] = x_[:, (mask != 1.)]
... # 省略
# 将整个采样过程获得的结果放到参考图像对应位置
x0[:, (mask != 1.)] = x[:, (mask != 1.)]
扩散模型 VP-SDE 的去噪采样:
def image_editing_denoising_step_flexible_mask(x, t, *,
model,
logvar,
betas):
"""
Sample from p(x_{t-1} | x_t)
"""
alphas = 1.0 - betas
alphas_cumprod = alphas.cumprod(dim=0)
# 此处模型的输出是估计的噪声
model_output = model(x, t)
# 估计的噪声乘以该项等于 \beta(t) 乘以 score
weighted_score = betas / torch.sqrt(1 - alphas_cumprod)
# 参考 Algorithm 5
mean = extract(1 / torch.sqrt(alphas), t, x.shape) * (x - extract(weighted_score, t, x.shape) * model_output)
logvar = extract(logvar, t, x.shape)
noise = torch.randn_like(x)
mask = 1 - (t == 0).float()
mask = mask.reshape((x.shape[0],) + (1,) * (len(x.shape) - 1))
# 若是采样的最后一步,则无需加上随机噪声,这是根据 Tweedie's formula 计算采样均值去噪的结果
# 为避免最终生成的图像模糊
sample = mean + mask * torch.exp(0.5 * logvar) * noise
sample = sample.float()
return sample
ILVR
ILVR: Conditioning Method for Denoising Diffusion Probabilistic Models 的核心思想与 SDEdit 在一定程度上有相同之处——引入参考图像的低频信息(图像的大体结构和语义)。
ILVR 使用了线性低通滤波器,在采样过程中将每步采样图像的低通部分替换为参考图像的低通部分,对参考图像进行低通滤波前会先对其按当前时间步的噪声强度进行加噪(
) 。另外,也可以不必在采样的全程都使用替换操作,即可以设置采样到某个时间步之后就不再使用参考图像,而是进行无条件采样生成,这样做会促进生成结果的多样性,但同时也会降低与参考图像的相似性(后续统称条件一致性),这是一种 trade-off.
由上展示的算法流程可知,所谓的 "latent variable" 就是指图像经过低通滤波后剩下的低频信息,ILVR 的做法可看作是“带约束的采样过程”—— 要求每步采样结果的低频信息都要与参考图像的低频信息进行对齐。
ILVR 有一个需要重点考虑的因素就是低通滤波器的下采样因子(对应上面的 scale N)。下采样因子的值越小(下采样倍率越小),所保留的高频细节就越多,从而生成的图像就会与参考图像更加相似,但多样性和真实度就会相对降低。
另外,作者的实验结果表明,ILVR 对于低通滤波器的选择还是比较鲁棒(robust)的。
- 局限性与麻烦点
ILVR 的最大限制之一是要求低通滤波器必须是线性的,因而无法使用神经网络来提取参考图像中更为丰富的语义。其次就是为了在多样性和条件一致性之间做 trade-off,需要手工调整下采样因子和采样过程中参考图像注入的时间范围(conditioning range)。
- 核心代码
以下代码展示了 ILVR 的关键操作,截取自官方 repo(https://github.com/jychoi118/ilvr_adm/blob/main/guided_diffusion/gaussian_diffusion.py%23L550).
def p_sample_loop_progressive(...):
... # 省略
# 下采样和上采样操作
if resizers is not None:
down, up = resizers
# T -> 0 迭代采样
for i in indices:
t = th.tensor([i] * shape[0], device=device)
with th.no_grad():
# p(x_{t-1} | x_t)
out = self.p_sample(
model,
img,
t,
clip_denoised=clip_denoised,
denoised_fn=denoised_fn,
cond_fn=cond_fn,
model_kwargs=model_kwargs,
)
#### ILVR ####
if resizers is not None:
# 若当前时间步超过 `range_t` 则不使用参考图像
# 即回归到正常的无条件生成
if i > range_t:
# 由于要适配采样结果的 shape,因此下采样后要再上采样回来
out["sample"] = out["sample"] - up(down(out["sample"])) + \
up(
down(
self.q_sample(
model_kwargs["ref_img"], t,
th.randn(*shape, device=device)
)
)
)
yield out
... # 省略
以上用到的 resizers
包含了下采样(即 ILVR 的低通滤波器)和上采样操作,具体实现可参考这里(https://github.com/jychoi118/ilvr_adm/blob/main/resizer.py%23L8),源头是来自这个库(https://github.com/assafshocher/ResizeRight),其专门针对图像 resize 操作的诸多问题(issue)进行解决,并无缝支持 Numpy & Pytorch(因而完全可微分).
RePaint
RePaint: Inpainting using Denoising Diffusion Probabilistic Models 主要是针对图像修复(image inpainting)任务而提出的,它的做法其实与 SDEdit 的 editing with mask(如前面的 Algorithm 3)相似,输入除了参考图像以外还有一个 mask 用于指示待修复的部分,这部分将用模型采样生成的结果来填充,其余部分则维持与参考图像一致。
(ps: 以上对于 的计算有误, 右边应该对应 , 但结合后文所展示的代码实现后, 或许能够知道为何上面会是 )
由于 mask 内由模型生成的部分与 mask 外参考图像的部分是没有相互进行考虑的,相当于将模型的采样结果“硬塞”到参考图像中被 mask 掉的区域,因此这样难免会造成整幅图像语义上存在不和谐的现象。虽然每次在生成下一步采样结果时,模型都试图对这两部分进行协调,但随着采样过程的进行,采样方差逐渐减小,于是模型对这种不和谐现象进行改造的力度则愈发变小,最终很可能就无法生成一幅语义和谐的图像。
对此, 作者引入 "resampling" 技术, 即对每步采样后的结果重新加噪 (e.g. ), 回到噪声强度更高的阶段, 然后再实施去噪采样, 也可以指定对采样结果加噪多步(e.g. )。因为加噪后采样方差变大了, 所以留给模型纠正这种不和谐现象的空间也就更广了。
以上展示的算法流程是每步采样后仅加噪1步的示例,这个加噪步数在论文中被称为 "jump length"; 代表每个时间步要实施 resampling 多少次, 对应论文中的超参 。
在实际进行采样时,可以预先计算出时间步的变化情况,作者称其为 "time schedule"。这样,每步迭代时,先与下一个时间步进行比较,若比当前时间步大,则代表要实施加噪;否则,就代表要进行去噪采样。
RePaint 的主要局限显而易见 —— resampling 可能导致生成满意的结果需要较长时间,并且也无法保证模型一定就能纠正语义不和谐的问题。另外,适用场景也十分有限,仅仅是 image inpainting with mask 这种。
- 核心代码
以下展示了 RePaint 的核心代码,截取自官方 repo(https://github.com/andreas128/RePaint/blob/main/guided_diffusion/gaussian_diffusion.py%23L510),涉及 time schedule 的计算、结合 mask 的去噪采样 以及 resampling.
# 预先计算 time schedule
times = get_schedule_jump(**conf.schedule_jump_params)
# 把相邻时间步配对
time_pairs = list(zip(times[:-1], times[1:]))
... # 省略
for t_last, t_cur in time_pairs:
... # 省略
t_last_t = th.tensor([t_last] * shape[0], # pylint: disable=not-callable
device=device)
# 去噪采样
if t_cur < t_last: # reverse
with th.no_grad():
image_before_step = image_after_step.clone()
# p(x_{t-1} | x_t)
out = self.p_sample(
model,
image_after_step,
t_last_t,
clip_denoised=clip_denoised,
denoised_fn=denoised_fn,
cond_fn=cond_fn,
model_kwargs=model_kwargs,
cnotallow=conf,
pred_xstart=pred_xstart
)
image_after_step = out["sample"]
pred_xstart = out["pred_xstart"]
sample_idxs[t_cur] += 1
yield out
# 加噪 resampling
else:
# 代表加噪几步,默认是1步
t_shift = conf.get('inpa_inj_time_shift', 1)
image_before_step = image_after_step.clone()
# 回到更噪的水平 p(x_{t+t_shift} | x_t)
image_after_step = self.undo(
image_before_step, image_after_step,
est_x_0=out['pred_xstart'], t=t_last_t+t_shift, debug=False
)
pred_xstart = out["pred_xstart"]
去噪采样:
def p_sample(...):
... # 省略
# 第一步采样之后 `pred_xstart` 才不是 `None`
# 这说明在采样了一步之后(从而当前不是纯噪声)才会将参考图像与采样结果相结合
if pred_xstart is not None:
''' gt 指参考图像,将参考图像加噪至当前时间步的噪声水平 '''
gt_weight = th.sqrt(alpha_cumprod)
gt_part = gt_weight * gt
noise_weight = th.sqrt((1 - alpha_cumprod))
noise_part = noise_weight * th.randn_like(x)
# 加噪后的参考图像
weighed_gt = gt_part + noise_part
# 根据 mask 将参考图像与采样结果相结合
x = gt_keep_mask * weighed_gt + (1 - gt_keep_mask) * x
# p(x_{t-1} | x_t)
out = self.p_mean_variance(
model,
x,
t,
clip_denoised=clip_denoised,
denoised_fn=denoised_fn,
model_kwargs=model_kwargs,
)
... # 省略
由上可知,RePaint 在实现时,是先将参考图像与上一步采样结果相融合,然后再给扩散模型去采样下一步结果的,并非像上面 Algorithm 1 所示是先采样出结果再融合参考图像。并且,第一步采样是不考虑参考图像的,只有待当前采样图像变为非纯噪声之后才会考虑融合参考图像。
resampling 加噪就是正常的扩散模型的加噪过程:
def undo(self, image_before_step, img_after_model, est_x_0, t, debug=False):
return self._undo(img_after_model, t)
def _undo(self, img_out, t):
beta = _extract_into_tensor(self.betas, t, img_out.shape)
img_in_est = th.sqrt(1 - beta) * img_out + th.sqrt(beta) * th.randn_like(img_out)
return img_in_est
总结
SDEdit 应该是最早成功应用预训练无条件扩散模型来实现图生图的 training-free 方法之一,可谓是这个领域的开创性先锋,其后出现的 ILVR 和 RePaint 估计或多或少都有从它那里受到启发。比如 ILVR 的 conditioning range 其实就与 SDEdit 从中间时刻开始采样是相同的原理,限制了条件(即参考图)的影响时间范围;而 RePaint 的 resampling 其实几乎就是 SDEdit 反复 “加噪-去噪”的那一套。
最后就为这三兄弟来个总结叭~
线性逆问题
接下来介绍的这批方法主要是针对图像处理的线性逆问题(linear inverse problem) 而提出的,在数学形式上通常可以将逆问题表示为:
其中 是观测量(measurements), 代表观测噪声, 是线性退化(degradation)算子, 通常以矩阵形式来表示, 则是期望恢复的原图。
构造不同形式的 则可以对应到不同类型的图像修复(restoration)任务, 比如:去噪 (denoising)、编辑和填充(inpainting)、超分(super resolution)、上色(colorization)、去模糊 (deblurring) 等。其实, 上一章所介绍的一些场景都可以被归纳至线性逆问题中。
在这种逆问题的设定下, 生成模型的目标就是要建模后验分布 。为便于求解, 通常会将观测噪声假设为高斯噪声。再进一步结合已知的观测量和退化算子, 使得后验分布的建模变得 tractable.
DDRM
DDRM(Denoising Diffusion Restoration Models) 从变分推断(variational inference) 的角度出发,构造了一种后验采样的方法,从而可以利用预训练的(即无需二次训练)无条件扩散模型来解决任意线性逆问题。
DDRM 将求解逆问题的后验分布定义为以观测量为条件的马尔科夫链,这是模型建模的过程;同时将采样过程构造为以观测量为条件的变分分布,这是模型建模所要对齐的目标。
与正常的扩散模型一样,对齐以上两个过程实质上等价于最大化 ELBO(Evidence Lower BOund),并且作者在论文附录 C 中证明了,在一定条件下这个 ELBO 与无条件训练的 DDPM/DDIM 的 ELBO 是等价的,这是预训练无条件扩散模型能够直接用于 DDRM 求解逆问题的关键之一。
另外, 作者构造的变分分布满足边缘分布 , 即扩散模型 VE-SDE 的形式; 同时在附录 B 中, 作者证明了通过适当转换, 也可使用 VP-SDE 的形式, 只需要在每步采样时将 除以 即可转换到 VP-SDE 的状态。
DDRM 最骚的操作在于对退化算子 进行奇异值分解(SVD), 从而在谱空间(spectral space) 中看待扩散过程。之所以这么做, 是因为奇异值分解能够根据奇异值大小来决定观测量 对于原图 的影响程度, 进一步将观测噪声与扩散过程中 的噪声进行"绑定"(通过构造变分分布的方差来维持原扩散过程的噪声强度), 从而确保无条件扩散模型能够正确去噪。
并且,通过 SVD,我们可以知道观测量中缺失的但原始信号 应该拥有的部分,它们对应为奇异值等于0的那些部分,然后利用扩散模型来生成它们。同时,由于扩散模型的采样过程是去噪过程,因此观测噪声也会被去噪,有利于恢复原图质量。
作者构造的变分分布的具体形式如下:
是 的伪逆,在后者奇异值为 的位置,前者则对应为 。对于以上(4),(5),咋一看容易懵逼,但是冷静下来分析就会发现这波构造还是有理可依的。
从顶层设计来说,分为奇异值大于 0 和等于 0 的情况。等于 0 代表观测量没有对原始信号提供有用信息,因此直接使用扩散模型的无条件采样即可;大于 0 时则取决于谱空间中的观测噪声强度( )与原扩散过程的噪声强度 的情况。但无论两者大小如何, 都保证方差与原来扩散模型的一样是 ,从而满足边缘分布 。
为何说以上构造出来的变分分布维持了方差是 ? 这看上去不像啊..
先让我们把目光聚焦至谱空间:
然后再把上面 (4),(5) 中含有 的地方用上式代进去,就会发现分布的方差是 ,均值是 。至于 (5) 中的第一个分布, 由于使用的扩散过程是 VE-SDE, 因此 , 于是 就是标准高斯噪声, 从而整个分布的方差就是 , 均值则是 。
所以说, 作者所构造出来的变分分布妥妥地满足了边缘分布 , 和扩散过程是一致的, 这也是无条件扩散模型能够直接用于 DDRM 求解逆问题的关键!
OK,变分分布和无条件扩散模型“对齐”了,现在就可以考虑生成模型所建模的分布了。
虽然上面写着 "trainable parameters
",但前面说过,作者证明了将 (7), (8) 和 (4), (5) 进行对齐所对应的 ELBO 等价于无条件扩散模型在训练时所对应的 ELBO。于是,非常幸运地,相当于预训练无条件扩散模型就足以 cover 住 (7), (8) 了!
在论文附录 C 中,作者证明了当 的情况下,DDRM 的 ELBO 能够完美对齐无条件扩散模型的 ELBO,即:
当 选择其它值时, DDRM 的 ELBO 也正比于 , 所以预训练的无条件扩散模型也是一个不错的最优解平替。
顺便吹一下, 作者还在论文附录 H 中证明了 ILVR 可以被看作是 DDRM 在没有观测噪声情况下的特例, 其中退化算子 是下采样矩阵。
- 局限性
DDRM 虽然思路新奇,足够秀,但确实不太“新手友好”,首先难免会吐槽这点。
然后,SVD 虽然对于矩阵分析是很有帮助的,但在高维空间下计算量会比较大。
其次,作者 hand-craft 的变分分布和采样分布难免让人“感觉不稳”,面临实际场景时的效果还有待考量。
最后,DDRM 的只能解决线性的逆问题,并且需要预先知道退化算子的数学形式(当然也可以通过构造来近似)。
- 核心代码
DDRM 涉及的数学公式不少,代码实现当然也比较复杂,有点那种一眼看去还没入门就想放弃的赶脚..
但其实只要耐下心来,对照着论文公式去读代码,就会发现还是“有理可依、有迹可循”的(不对照着论文公式去读的话容易晕,还请三思而后行)。 CW 将 DDRM 的核心代码从官方库(https://github.com/bahjat-kawar/ddrm/blob/master/functions/denoising.py%23L11)截取下来并附上了关键注释,各位友友们要是实在太闲不妨可以看看。
由于 DDRM 在理论上使用的是 VE-SDE,但在代码实现中,扩散模型的采样用的却是 VP-SDE 的形式,因此需要来回在 VE-SDE 和 VP-SDE 之间的状态( )进行切换,这点需要注意一下。
def efficient_generalized_steps(x, seq, model, b, H_funcs, y_0, sigma_0, etaB, etaA, etaC, cls_fn=None, classes=None):
with torch.no_grad():
''' setup vectors used in the algorithm '''
# 退化矩阵 H 的奇异值
singulars = H_funcs.singulars()
# 奇异矩阵
Sigma = torch.zeros(x.shape[1]*x.shape[2]*x.shape[3], device=x.device)
Sigma[:singulars.shape[0]] = singulars
# $U^Ty$
U_t_y = H_funcs.Ut(y_0)
# $\bar{y}$ 观测量在谱空间中的表示
Sig_inv_U_t_y = U_t_y / singulars[:U_t_y.shape[-1]]
''' initialize x_T as given in the paper '''
# VP-SDE 的 \alpha_T
largest_alphas = compute_alpha(b, (torch.ones(x.size(0)) * seq[-1]).to(x.device).long())
# VE-SDE 的 sigma_T,根据论文附录 B 中 \alpha_t 和 \sigma_t 的转换关系计算
largest_sigmas = (1 - largest_alphas).sqrt() / largest_alphas.sqrt()
# 判断奇异值是否足够大
large_singulars_index = torch.where(singulars * largest_sigmas[0, 0, 0, 0] > sigma_0)
inv_singulars_and_zero = torch.zeros(x.shape[1] * x.shape[2] * x.shape[3]).to(singulars.device)
# 奇异值比较大的位置则设为 $\frac{\sigma_y}{s_i}$,否则为0
inv_singulars_and_zero[large_singulars_index] = sigma_0 / singulars[large_singulars_index]
inv_singulars_and_zero = inv_singulars_and_zero.view(1, -1)
''' implement p(x_T | x_0, y) as given in the paper '''
# if eigenvalue is too small, we just treat it as zero (only for init)
init_y = torch.zeros(x.shape[0], x.shape[1] * x.shape[2] * x.shape[3]).to(x.device)
init_y[:, large_singulars_index[0]] = U_t_y[:, large_singulars_index[0]] / singulars[large_singulars_index].view(1, -1)
init_y = init_y.view(*x.size())
# 根据论文(7)的分布计算
remaining_s = largest_sigmas.view(-1, 1) ** 2 - inv_singulars_and_zero ** 2
remaining_s = remaining_s.view(x.shape[0], x.shape[1], x.shape[2], x.shape[3]).clamp_min(0.0).sqrt()
# \bar{x}_T
init_y = init_y + remaining_s * x
# 从 VE-SDE 转换为 VP-SDE 的状态,根据论文附录 B 计算
# 由于 $\sigma_T$ 较大,因此这里将 $\sqrt{1 + \sigma_T^2}$ 近似为 $\sigma_T$
init_y = init_y / largest_sigmas
''' setup iteration variables '''
# 由谱空间转换回来:$V^Tx$ -> $x$
x = H_funcs.V(init_y.view(x.size(0), -1)).view(*x.size())
n = x.size(0)
seq_next = [-1] + list(seq[:-1])
x0_preds = []
xs = [x]
''' iterate over the timesteps '''
for i, j in tqdm(zip(reversed(seq), reversed(seq_next))):
t = (torch.ones(n) * i).to(x.device)
next_t = (torch.ones(n) * j).to(x.device)
at = compute_alpha(b, t.long())
at_next = compute_alpha(b, next_t.long())
xt = xs[-1].to('cuda')
''' 扩散模型估计噪声 '''
if cls_fn == None:
et = model(xt, t)
else:
et = model(xt, t, classes)
et = et[:, :3]
et = et - (1 - at).sqrt()[0,0,0,0] * cls_fn(x,t,classes)
if et.size(1) == 6:
et = et[:, :3]
# prediction of x0
# 根据当前状态 $x_t$ 和 估计的噪声 `et` 预测原图 `x0_t`
x0_t = (xt - et * (1 - at).sqrt()) / at.sqrt()
''' variational inference conditioned on y '''
sigma = (1 - at).sqrt()[0, 0, 0, 0] / at.sqrt()[0, 0, 0, 0]
sigma_next = (1 - at_next).sqrt()[0, 0, 0, 0] / at_next.sqrt()[0, 0, 0, 0]
# 由 VP-SDE 的状态转换至 VE-SDE 的状态以便执行 DDRM 在谱空间的采样过程
# 根据论文附录 B 计算:$x_t = x_t \sqrt{1+sigma_t} = \frac{x}{\alpha_t}$
xt_mod = xt / at.sqrt()[0, 0, 0, 0]
# $\bar{x}_t$
V_t_x = H_funcs.Vt(xt_mod)
SVt_x = (V_t_x * Sigma)[:, :U_t_y.shape[1]]
# $\bar{x}_{\theta, t}$
V_t_x0 = H_funcs.Vt(x0_t)
SVt_x0 = (V_t_x0 * Sigma)[:, :U_t_y.shape[1]]
falses = torch.zeros(V_t_x0.shape[1] - singulars.shape[0], dtype=torch.bool, device=xt.device)
cond_before_lite = singulars * sigma_next > sigma_0
cond_after_lite = singulars * sigma_next < sigma_0
cond_before = torch.hstack((cond_before_lite, falses))
cond_after = torch.hstack((cond_after_lite, falses))
''' 用于 p^{(t)}_{\theta}(\bar{x}^{(i)}_{t-1} | x_t, y) '''
# 用于 $s_i = 0$ 的情况
# $\eta \sigma_{t-1}$
std_nextC = sigma_next * etaC
# \sqrt{1-\eta^2} \sigma_{t-1}$
sigma_tilde_nextC = torch.sqrt(sigma_next ** 2 - std_nextC ** 2)
# 用于 $\sigma_t < \frac{\sigma_y}{s_i}$ 的情况
std_nextA = sigma_next * etaA
sigma_tilde_nextA = torch.sqrt(sigma_next**2 - std_nextA**2)
# 用于 $\sigma_t >= \frac{\sigma_y}{s_i}$ 的情况
diff_sigma_t_nextB = torch.sqrt(sigma_next ** 2 - sigma_0 ** 2 / singulars[cond_before_lite] ** 2 * (etaB ** 2))
# missing pixels, $s_i = 0$
Vt_xt_mod_next = V_t_x0 + sigma_tilde_nextC * H_funcs.Vt(et) + std_nextC * torch.randn_like(V_t_x0)
# less noisy than y (after) $\sigma_t < \frac{\sigma_y}{s_i}$
Vt_xt_mod_next[:, cond_after] = \
V_t_x0[:, cond_after] + sigma_tilde_nextA * ((U_t_y - SVt_x0) / sigma_0)[:, cond_after_lite] + std_nextA * torch.randn_like(V_t_x0[:, cond_after])
#noisier than y (before) $\sigma_t >= \frac{\sigma_y}{s_i}$
Vt_xt_mod_next[:, cond_before] = \
(Sig_inv_U_t_y[:, cond_before_lite] * etaB + (1 - etaB) * V_t_x0[:, cond_before] + diff_sigma_t_nextB * torch.randn_like(U_t_y)[:, cond_before_lite])
# aggregate all 3 cases and give next prediction
# 由谱空间转换回来 \bar{x}_{t-1}=V^Tx_{t-1} -> x_{t-1}
xt_mod_next = H_funcs.V(Vt_xt_mod_next)
# 从 VE-SDE 状态转换至 VP-SDE 状态
# 根据附录 B 计算:x_t = $\frac{x_t}{\sqrt{1+\sigma_{t-1}^2}} = x_t \sqrt{\alpha_t}$
xt_next = (at_next.sqrt()[0, 0, 0, 0] * xt_mod_next).view(*x.shape)
x0_preds.append(x0_t.to('cpu'))
xs.append(xt_next.to('cpu'))
至于退化矩阵 H_funcs
的计算,可以根据不同场景来构造,具体见这部分代码,CW 就不再这里赘述了。
DDNM
如果说前面的 DDRM 让你感到思路新奇,那么即将出场的 DDNM(Zero-Shot Image Restoration Using Denoising Diffusion Null-Space Model) 比起它来可谓是有过之而无不及~
DDNM 可以解决任意形式的线性逆问题,它的核心思想是利用了向量空间的 range-null space decomposition(零值域分解),通过在采样过程中持续校正(refine)零空间的部分(null-space contents),就可以使得预训练无条件扩散模型生成真实且满足条件一致性(data-consistent)的结果,可谓是“novel 感”满满~
OK,CW 知道以上这段话会让大部分友友们感觉说了等于没说,DDNM 究竟是怎么 work 的?什么是 range-null space decomposition?校正 null-space contents 具体又是什么鬼?...
稍安勿躁,接下来 CW 为您一一揭晓~
- Range-Null Space Decomposition
假设有矩阵 , 其伪逆(pseudo-inverse) 为 , 满足 . 那么, 对于向量 就可以把其投影到 的值空间(range-space), 因为: ;另一方面, 则可以将其投影至零空间(null-space), 因为:. 有意思的是, 任意向量 都可以分解为两部分,其中一部分位于矩阵 的 range-space, 而另一部分则位于 null-space:
- Refine Null-Space
先简单考虑不含噪声的线性逆问题 , 其中 代表观测量, 是原图(i.e. groundtruth), 是线性退化 (degradation)矩阵。解决该问题的目标就是要找到(生成)一张图 从而满足:
其中 代表原图所服从的分布。以上目标中的前一项代表了(条件)一致性(consistency),后一项则代表真实性(realness)。如果对原图进行 range-null space decomposition,根据前面的式子,可以得到:
于是不妨遵循以上形式来构造我们想要生成的目标:
这样,我们求解的目标就变为 。并且,无论其取值如何,都不影响 consistency,因为:
于是, consistency 的问题我们不用操心, 只需重点关注
, 也就是 null-space contents, 以便尽可能满足
, 即 realness.
说到生成, 那可是扩散模型的拿手好戏! 由于 是已知量, 因此扩散模型只负责生成 这部分就好。但这部分并非是用每步采样的结果(i.e. ), 因为刚刚在构造目标形式解时是依据原图的 range-null space 启发而来的, 所以 这部分要用扩散模型每步采样时所估计的原图 来代替。若使用 DDPM, 则为:
用上式来代替 并代入到前面所构造的目标形式解中:
这起到了校正无条件扩散模型所估计的 的效果,从而约束其满足 consistency.
DDPM 在采样时所依据的分布 是高斯分布,其中均值和方差为:
将以上 用前面校正后的结果 替代, 便可以得到下一步的采样结果:
整个采样流程如下:
- 同时满足 consistency & realness
通过前面部分可知, 我们对于逆问题所构造的目标形式解 是天然满足 consistency 的, 这点不用担心。并且, 最后一步的采样结果就是 , 于是 consistency 依然满足。而 realness 所对应的 null-space contents, 我们交给了扩散模型来 handle, 即 , 但它与 range-space 所对应的 天然是"割裂"的, 论文中称之为 "disharmony" 现象。
不过,由于 DDNM 在每步采样时都将 range-space contents 和 null-space contents 代入到采样分布中得到下一步采样结果 , 它相当于是 的 noised version. 于是,这其中的 noise 无意间便起到了消除 disharmony 的作用——想象下,将原本是“隔开”的、没有交集的 range-sapce 和 null-space 通过添加噪声来扰动,使它们的覆盖范围都变大,于是便产生了交集,类似于在 SDEdit 那一章所展示的原理图。
这么一来,就会使得 range-space in harmony with null-space,于是最终生成的结果就可以同时满足 consistency & realness.
以上针对的线性逆问题均以不含噪声(noise-free)为前提,如今我们一起来把目光转向到带有观测噪声的情况。
对于含有观测噪声的情况, 由于在 中夹带的噪声 (源于 ) 会被引入到下一步的采样结果 中, 因此作者选择对 这部分进行 scale(于是引入 ), 这部分可看作是 range-space contents 对于 的校正, 是保证 consistency 的关键。然后进一步构造采样方差( )与原本无条件扩散模型的采样方差进行绑定, 这与前面 DDRM 的做法类似, 为的是不改变无条件扩散模型在采样时的噪声强度, 这样模型基于原来每个时间步的 SNR(信噪比) 所估计的噪声就能够适用, 从而可以成功去噪。
那么,对 range-space contents 的 correction 进行 scale 的道理在哪呢?
可以这么想:由于夹带了噪声,就相当于 range-space contents 的校正作用受到了影响(被噪声扰动),从数学表达式来看,以上 (16) 式中的蓝色部分是可以被合并到其前一项的(从而得到 ),这就直接体现了 correction 的程度受到了影响,因此不妨直接引入一个 scale 系数来表达这种影响,同时还能够控制影响程度。
在之前 noise-free 的情况下,原本的下一步采样结果为:
结合 (17),(18) 式, 如今 那部分就会多出一个强度为 的噪声项(想象下 (17) 式括号内还有一项 , 并且 变为 。暂且考虑最简单的情况, 即 , 并假设 具有单位尺度, 同时记上式 的系数为 , 要使得 的方差不改变 (等于 ), 则需满足:
之所以在 的情况下令 是希望在观测噪声不大(对于 range-space contents 的影响较小)的情况下尽量削弱其影响,以尽量与前面 noise-free 的情况接近,从而最大化 range-space contents 的校正作用,以便保证 consistency.
对于一般化的情况,作者在论文附录 I 中给出了详细的解析,原理类似,还请各位靓仔靓女们自行去细细品味,CW 要偷懒一下~
另外,作者不小心发现 DDNM 在面临一些场景时生成结果的真实性(realness)不太能看,比如:大尺度均值池化下的 SR(超分) 任务、低采样率的 CS(压缩感知) 任务以及大部分内容被 mask 掉的 inpainting 任务等。作者对此归因为 range-space contents 过于局部(从而模型看到的内容太少)以至于无法引导模型生成一个全局 harmony(同时满足 consistency & realness) 的结果。
In these cases, the range-space contents A†y is too local to guide the reverse diffusion process toward yielding a global harmony result.
既然生成的结果不够真实,那就“回流再造”,直至 KPI 达标(生成满意的结果)为止,模型还不是如打工人一样是牛马!在这种念头的驱动下,作者发现前辈 RePaint 就这么玩过(RePaint 中提出的 resampling 方法),于是“借鉴”过来小改一下随即对外宣称为 "time-travel" 技术。
具体地,在采样的每个时间步,可以选择重新加噪回前面更 noised 的阶段,然后再继续实施去噪采样。至于具体加噪几步,则可以用一个超参 来控制。直观来看,这是一种“以更好的过去来产生更好的未来”的思路。
Intuitively, the time-travel trick produces a better “past”, which in turn produces a better “future”.
DDNM 在时间步 的采样依赖于 , 在直觉上, 它应该比之前在 时间步所估计的 来得好。于是, 从 加噪回去, 相当于利用了更好的 所携带的信息, 这一步相当于是 , 然后重新由 时间步进行去噪采样直至 时, 就会产生更好的结果, 因为中间每步迭代生成都继承了"更好的产生更好的", 最终生成的结果也就更好。
结合 time-travel 技术,在解决含噪声的逆问题时,DDNM 进化为 ,整个采样流程如下:
- 局限性
DDNM 主要局限在于需要明确知道退化矩阵的数学形式并计算其伪逆(或者人为构造),并且只能解决线性的逆问题。其次,time-travel 会导致生成满意的效果需要较长时间。另外,对于有观测噪声的情况,需要将噪声强度绑定到扩散模型的采样方差,引入了手工设计的参数。
CW 顺便提一嘴,在 DDNM 论文的附录 H 中,作者证明了 RePaint 和 ILVR 都是 DDNM 在 noise-free(不含观测噪声)下的特例;同样,在这种情况(i.e. noise-free)下,DDRM 也可视作是 DDNM 的特例。
- 核心代码
以下代码截取自官方 repo(https://github.com/wyhuai/DDNM/blob/main/guided_diffusion/diffusion.py%23L368),对应以上 Algorithm 2.
至于线性退化矩阵的实现,作者给出了一些简单场景的参考:
def color2gray(x):
coef=1/3
x = x[:,0,:,:] * coef + x[:,1,:,:]*coef + x[:,2,:,:]*coef
return x.repeat(1,3,1,1)
def gray2color(x):
x = x[:,0,:,:]
coef=1/3
base = coef**2 + coef**2 + coef**2
return th.stack((x*coef/base, x*coef/base, x*coef/base), 1)
def PatchUpsample(x, scale):
n, c, h, w = x.shape
x = torch.zeros(n,c,h,scale,w,scale) + x.view(n,c,h,1,w,1)
return x.view(n,c,scale*h,scale*w)
# Implementation of A and its pseudo-inverse Ap
if IR_mode=="colorization":
A = color2gray
Ap = gray2color
elif IR_mode=="inpainting":
A = lambda z: z * mask
Ap = A
elif args.deg =='denoising':
A = lambda z: z
Ap = A
elif IR_mode=="super resolution":
A = torch.nn.AdaptiveAvgPool2d((256 // scale, 256 // scale))
Ap = lambda z: PatchUpsample(z, scale)
elif IR_mode=="old photo restoration":
A1 = lambda z: z * mask
A1p = A1
A2 = color2gray
A2p = gray2color
A3 = torch.nn.AdaptiveAvgPool2d((256 // scale, 256 // scale))
A3p = lambda z: PatchUpsample(z, scale)
A = lambda z: A3(A2(A1(z)))
Ap = lambda z: A1p(A2p(A3p(z)))
y = A(x_orig)
此外,作者还给出了一个应用 SVD 来实现线性退化矩阵 AA 的版本,具体可参考https://github.com/wyhuai/DDNM/blob/main/functions/svd_operators.py%23L211,该版本的采样过程对应于论文附录 I 的内容,其代码实现可参考https://github.com/wyhuai/DDNM/blob/main/guided_diffusion/diffusion.py%23L419。
总结
不难发现,DDRM 和 DDNM 在思想上是有些相似的——都是利用了向量/矩阵空间的分解技术,在那个空间去看待扩散过程,以便将观测信息注入至无条件扩散模型(的采样过程)中。为了能够成功利用扩散模型进行去噪,二者都通过 hand-craft 的方式来与原来无条件的情况(无条件扩散模型预训练时)对齐每个时间步的噪声强度。另外,两篇论文的作者们都偏好将以往的方法视作它们的特例,就有一种喜欢强调自己方法更 general 的调性(不带褒贬地说出事实)~
Guidance 的影子
在本文介绍的所有方法中,除了 SDEdit 以外,其余或多或少都瞥见了 guidance 的影子。ILVR 和 RePaint 是对每步的采样结果 进行校正,而 DDRM 和 DDNM 则是对每步所估计的原图 进行校正。校正是为满足一致性(consistency),这本质上同属 guidance 的效果。
具体地,对于 ILVR:
对于 RePaint:
对于 DDRM 来说, guidance term 则更为明显一把采样分布均值中的 单独提取出来, 其余部分便可视作 guidance term, 只不过这是在 spectral space 中对 做引导(即对 进行校正)。
最后,对于 DDNM,前面的式 (17) 更是将“guidance 风范”展露无遗,连 guidance scale 都用上了:
嗯,相信各位友友们都猜到了 —— CW 将会在下一篇文章里大(吹)聊(水) guidance 方法,从而继续为这份食谱增添一些诱人的配方~
#SPLAM
基于子路径线性近似的扩散模型加速方法
本工作主要解决扩散模型在采样过程中需要多步导致推理速度较慢,针对现有的LCM存在的累积误差较大的问题进行优化,通过提出线性ODE采样方法,进一步提升了生图的质量和速度。在四步推理的设置下,在COCO30k和COCO5k上分别取得了10.06和20.77的FID分数,在加速模型方法中达到了SOTA效果。
本文介绍南京大学和阿里巴巴在扩散模型加速任务上的新工作:SPLAM: Accelerating Image Generation with Sub-Path Linear Approximation Model。本工作主要解决扩散模型在采样过程中需要多步导致推理速度较慢,针对现有的LCM存在的累积误差较大的问题进行优化,通过提出线性ODE采样方法,进一步提升了生图的质量和速度。在四步推理的设置下,在COCO30k和COCO5k上分别取得了10.06和20.77的FID分数,在加速模型方法中达到了SOTA效果。
目前我们的工作已被 ECCV 2024 接收为 Oral,论文、代码、模型均已开源:
项目主页:https://subpath-linear-approx-model.github.io/
论文:https://arxiv.org/abs/2404.13903
代码:https://github.com/MCG-NJU/SPLAM
引言
扩散模型目前已经成为文本生成图片领域使用最为广泛的模型,其通过逐步去噪步骤来从一张高斯噪声采样生成真实分布中的图片。然而,扩散模型一直存在的一个问题是其运行速度,因为需要多步迭代推理,导致图片生成速度缓慢,计算开销大。针对这个问题一直以来,也有非常多的工作在探索加速扩散模型的方法。在最初的DDPM中,模型的推理需要和训练时相同的1000步迭代,生成一张图片通常需要数分钟。一系列工作着重研究推理时的采样方法,如DDIM,DPM-Solver等,这些方法通过ODE等技术优化,将采样步数从1000步降低到了20~50步量级,大大提升了图片生成速度。另外一系列的工作着重研究基于现有预训练模型(比如Stable Diffusion),通过蒸馏等方法将步数进一步压缩,实现到了10步以下的采样迭代次数。如一致性模型,通过将PF-ODE上的采样点映射到原点的思想,实现了2-4步的推理,然而压缩步数也会导致一定程度的图片质量下降。我们的论文主要分析了一致性优化学习的过程中的难点和导致性能下降的因素,提出了子路径线性近似模型(SPLAM)尝试缓解这些问题,实现了更小的累积误差,提升了模型性能。
方法简介
一致性模型
一致性模型(Consistency Model)[1] 是 OpenAI 的 Song Yang 博士在 ICML2023 提出的扩散模型加速方法,是这个领域中非常重要的一项工作,基于此在Stable Diffusion上开发的LCM模型 [2] 也是在用户社区中热度非常高加速功能插件,我们首先来回顾一下一致性模型的原理。
根据 Song Yang [3] 的理论,一个扩散模型的去噪过程可以建模为一条常微分方程ODE路径,称为概率流Probability-Flow ODE (PF-ODE):
而一致性模型的想法其实也非常简单,就是将ODE路径上每一个点都映射到原点,而原点来源于真实图片的分布,从而做到一步生成,如图所示:
具体地, 我们希望学习一个函数 , 对于一条ODE上的采样点 。在训练中, 从 逐步采样到 通常时间开销过大, 所以CM采取了一个训练技巧, 在每一步训练迭代中通过缩小相邻两个点间的映射误差, 来逐渐最终达到一致性。然而这也带来了问题, 逐步的收玫导致了较大的累积误差:
使得在生图时的图片的细节丢失较多,生图质量较差。我们的方法也是针对这个问题,通过在每个子路径上通过随机线性插值采样,来进行连续的渐进式的误差估计,做到累计误差更小的去噪映射。
问题分析
对于上面提到的一步生成模型,我们通常把映射函数参数化为:
根据EDM中的理论, 我们可以设计一个 canonical denoiser function: ,而其去噪目标就为 : 。这时会存在一个问题, 这个目标其实比较难以优化,原因在于随着时间步 的增加, 会逐渐趋向于零,这会使得训练不稳定有可能塌缩。一致性模型其实一定程度上缓解了这个问题, 当我们假设模型理想地收敛, 即 , 这个性质能够对于上式进行一个预估: 。然后我们把 的表达式代入,得到一个基于 的误差估计:
因为额外有了系数 ,所以上面所提到的问题被一定程度的缓解。
现在我们再来具体分析一下这个优化目标,我们可以把它解耦为两项:
(1) , 这一项衡量了由于漂移和扩散过程导致的从 到 的增量距离。
(2) , 这一项衡量了前一时间步的去噪贡献, 这些贡献会连续地传播到后续时间步。
这时,我们我们就可以把这个优化目标重写为一个子路径(Sub-Path)的优化目标:
在这个目标式中,这项是导致累积误差的关键,我们也着重对于这项进行优化。
SPLAM
基于此,我们提出了我们的加速方法子路径线性近似模型(Sub-Path Linear Approximation Model,SPLAM),如图所示。
首先, 我们提出了子路径线性 ODE(Sub-Path Linear ODE, SL-ODE), 来近似原始PF-ODE上的子段, 由此来进行对于 的递进式估计。具体来说, 对于原始路径上的一段 , 基于 我们对两个端点 进行插值形成线性路径, 在这个线性路径上的采样点可以表示为:
因为 符合由PF-ODE控制的分布, 我们的线性变换有效地定义了一个对于 的线性 ODE:
即为SL-ODE。注意到这里对于端点多了一项漂移系数 , 这项系数的引入具体可参考我们论文中的详细推导。据此, 我们也有了对应 的Denoiser和生成表达式:
将这个式子代入上面的子路径优化目标,便得到了我们SPLAM的最终优化目标:
这个目标对于原本较难优化的 dist 项提供了一种递进式的拟合,这也使得我们我们的训练可以使用更大的推理步长。
由此,我们也以预训练好的Stable Diffusion模型作为PF-ODE,来建立我们的SL-ODE,并提出了基于SPLAM目标的蒸馏方法(Sub-Path Linear Approximation Distillation,SPLAD)。我们依然沿用CM中的生成函数的参数表达式,除了额外增加了一个维度 :
与CM的优化方法结合,SPLAD最小化的目标为:
其中 为使用的教师模型作为 ODE Solver。
具体训练流程如下算法所示:
在推理时, 我们只需设置 即可实现预测出图: ,同样地,我们也采用和CM同样的多步推理策略来实现更好的生成质量。
实验结果
定量指标
在常用的学术指标基准 COCO FID上,我们的SPLAM超过了LCM和其他的加速方法。具体地,在COCO-30k和COCO-5k两个常用的benchmark上,我们都比较了CFG=3时的最优FID分数。此外,在实际使用中我们通常使用较高的CFG值来提升图片质量,我们也测试了在CFG=8下和其他模型的对比,同样取得了最好的FID分数。
定性可视化
- 由于LCM官方只放出了基于DreamShaper训练的LCM权重,我们也基于DreamShaper训练了一版SPLAM,对比结果如下。
- 同时我们也基于SD2.1对齐了训练配置复现了LCM和我们的SPLAM对比。
可以明显地看出,SPLAM由于优化了更小的累积误差,相比 LCM 明显能够保留更多的细节,画出更加清晰的线条和纹理,效果有显著提升。更多的可视化例子可见我们的论文。
总结
本文提出了一个对于扩散模型的加速方法SPLAM,通过子路径线性近似策略来优化一致性学习过程中的累积误差,提升了图片生成质量。我们方法的数学形式推导比较多,但是核心思想还是比较自然,对于原始一致性训练过程中相邻两点的映射误差较难以优化的问题,我们引入额外的一个维度 ,通过建立线性插值进行连续的渐进式的误差估计。在这样的子路径上进行优化使得 SPLAM 的学习更加平滑,能够做到累计误差更小的去噪映射,从而提升更少步数生图的图片质量。
#SCNet
北大、哈工大、清华联合提出无需GT的自监督图像重建网络学习方法
本文提出了一种新颖的自监督可扩展深度压缩感知(CS)方法,名为SCL和SCNet,能够在不需要真实标签的情况下,通过训练在部分测量集上处理任意采样比率和矩阵,显著提升压缩感知的有效性和灵活性。
一、论文信息
论文作者:Bin Chen(陈斌), Xuanyu Zhang(张轩宇), Shuai Liu(刘帅), Yongbing Zhang†(张永兵), and Jian Zhang†(张健)(†通讯作者)
作者单位:北京大学深圳研究生院、清华大学深圳国际研究生院、哈尔滨工业大学(深圳)
发表刊物:International Journal of Computer Vision (IJCV)
发表时间:2024年8月13日
正式版本:https://link.springer.com/article/10.1007/s11263-024-02209-1
ArXiv版本:https://arxiv.org/abs/2308.13777
开源代码:https://github.com/Guaishou74851/SCNet
二、任务背景
作为一种典型的图像降采样技术, 自然图像压缩感知 (Compressed Sensing, CS) 的数学模型可以表示为 , 其中 是原始图像真值(Ground Truth, GT), 是采样矩阵, 是观测值, 是噪声。定义压缩采样率为 。
图像CS重建问题的目标是仅通过观测值 和采样矩阵 来复原出GT x 。基于有监督学习的方法 多现实应用中, 获得高质量的GT数据需要付出高昂的代价。
本工作研究的问题是自监督图像 重建, 即在仅给定一批压缩观测值 和采样矩阵 的情况下, 训练一个图像重建网络
。现有方法对训练数据的利用不充分, 设计的重建网络表征能力有限, 导致其重建精度和效率仍然不足。
三、主要贡献
- 技术创新点1:一套无需GT的自监督图像重建网络学习方法。
如图1 (a) 所示, 在训练过程中, 我们将每组观测数据 )随机划分为两个部分 和 , 并输入重建网络, 得到两个重建结果 和 。我们使用以下观测值域损失函数约束网络产生符合"交叉观测一致性"的结果:
进一步地, 如图1 (b) 所示, 为了增强网络的灵活性和泛化能力, 使其能够处理任意采样率 和任意采样矩阵 的重建任务, 我们对 和 进行随机几何变换(如旋转、翻转等), 得到数据增广后的 和 , 然后使用以下图像域损失函数约束网络, 使其符合"降采样一重建一致性":
其中 和 、 和 , 以及 和 分别是随机生成的采样矩阵、噪声和采样率。最终, 结合以上两个损失函数, 我们定义双域自监督损失函数为 。
图1:提出的损失函数。
在训练阶段, 我们使用 以无需GT的自监督方式, 学习一个支持任意采样率和采样矩阵的重建网络; 在测试阶段, 除了可以直接使用训练好的网络重建图像外, 也可以使用 在单个或多个测试样本上微调网络, 以进一步提升重建精度。
- 技术创新点2:一个基于协同表示的图像重建网络。
如图2所示,我们设计的重建网络首先通过一个卷积层从观测值、采样矩阵与采样率()中提取浅层特征,并依次注入可学习的图像编码和位置编码。接着,使用多个连续的深度展开网络模块对特征进行增强,每个模块对应于近端梯度下降算法的一个迭代步骤。最后,重建结果由一个卷积层和一个梯度下降步骤产生。
图2:提出的图像重建网络。
我们设计的重建网络结合了迭代优化算法的显式结构设计启发与神经网络模块的隐式正则化约束,能够自适应地学习待重建图像的深度协同表示,展现出强大的表征能力,在重建精度、效率、参数量、灵活性和可解释性等方面取得了良好的平衡。
四、实验结果
得益于提出的双域自监督损失函数与基于协同表示的重建网络,我们的方法在多个测试集(Set11、CBSD68、Urban100、DIV2K、我们构建的数据集)、多种数据类型(模拟/真实数据、1D/2D/3D数据)以及多个任务(稀疏信号恢复、自然图像压缩感知、单像素显微荧光计算成像)上均表现出优异的重建效果。同时,我们的方法展现出了对训练时未见过的采样矩阵与采样率的出色泛化能力。
图3:我们的方法与现有其他方法的对比结果。
更多方法细节、实验结果与原理分析可参考我们的论文。
五、实验室简介
视觉信息智能学习实验室(VILLA)由张健助理教授于2019年创立并负责,专注于AI计算成像与底层视觉、可控内容生成与安全、三维场景理解等研究领域,已在Nature系列子刊Communications Engineering、SPM、TPAMI、IJCV、TIP、NeurIPS、ICLR、CVPR、ICCV和ECCV等高水平国际期刊和会议上发表了50余篇论文。
在计算成像与底层视觉方面,张健助理教授团队的代表性成果包括优化启发式深度展开重建网络ISTA-Net、COAST、ISTA-Net++,联合学习采样矩阵压缩计算成像方法OPINE-Net、PUERT、CASNet、HerosNet、PCA-CASSI,以及基于信息流增强机制的高通量广义优化启发式深度展开重建网络HiTDUN、SODAS-Net、MAPUN、DGUNet、SCI3D、PRL、OCTUF、D3C2-Net。团队还提出了基于自适应路径选择机制的动态重建网络DPC-DUN和用于单像素显微荧光计算成像的深度压缩共聚焦显微镜DCCM,以及生成式图像复原方法Panini-Net、PDN、DEAR-GAN、DDNM,受邀在信号处理领域旗舰期刊SPM发表专题综述论文。本工作提出的自监督重建网络学习方法SCNet进一步减少了训练重建网络对高质量GT数据的依赖。
更多信息可访问VILLA实验室主页(https://villa.jianzhang.tech/)或张健助理教授个人主页(https://jianzhang.tech/)。
#人类的未来是实现 AGI 自由的未来
揭露 DeepMind 对 AGI 的思考与想象。
DeepMind的创始人Demis Hassabis加入AI行业大辩论来分享新观点了。
随着AI技术的突飞猛进,行内人对AI的看法也越来越多样复杂。前有马斯克四处宣扬“AI可能使人类灭亡”,后有Andrew Ng嗤之以鼻“担心超级智能AI的人就像是在担心火星人口太多”,还有奥特曼坚持“加速AI研发才能解决全球挑战”,李飞飞反复强调“必须确保AI为人服务”。
各种论点争得热火朝天,Demis Hassabis也闪亮登场,发表了自己的观点。
Hassabis冷静地指出,现在有些初创公司和投资者已经被 AI 的短期潜力冲昏了头脑。虽然AI 未来的发展潜力无限,但目前那些听起来像科幻电影的目标,其实大多只是噱头,技术远未成熟。要识别这些 AI 公司宣传是真是假,Hassabis 的秘诀是:了解他们的技术背景和趋势,尽量远离那些盲目跟风的公司。
面对当前的 AI 热潮,Hassabis心情复杂。一方面,他怀念AI尚未受到太多关注时的宁静,没有那么多喧嚣和干扰;另一方面,他也认可如今的关注推动了 AI 在现实世界中的积极应用。
虽然Hassabis支持 AI 开源,但也清醒地意识到这背后的巨大风险,特别是 AI 被用作不良目的的潜在威胁。他提出了一个折中方案:延迟发布开源模型,让它们落后于前沿技术一两年,以减少安全隐患。
Hassabis特别强调了对AGI和AI管控的担忧。他认为开源模型一旦发布便无法收回,需更严格的安全措施和测试环境。他提议开发 AI 助手以监控和测试下一代 AI 系统,同时建议在发布 AI 系统时附带使用说明,帮助用户理解其功能和风险。
虽然也有担忧,但Hassabis对实现AGI的未来抱有极其乐观的态度。他相信,AGI将帮助人类解决重大科学难题,通过帮助人类治疗疾病、开发清洁能源等方式提升人类社会生活质量。Hassabis描绘了一个梦幻的未来场景,“未来的AI将让我们彻底告别工作,尽情享乐,专注于探索生活的意义。”
以下是 Demis Hassabis 的播客内容,AI 科技评论作了不改原意的整理:
1 炒作还是低估
Hannah Fry:我想知道,现在公众对AI的兴趣激增,你的工作是更容易还是更困难?
Demis Hassabis:我认为这是一把双刃剑。我认为这更难,因为整个领域都有太多的审查、关注,而且还有很多噪音。其实,我更喜欢之前关注的人更少的时候,也许会更专注于科学。
但这也是好事,因为它表明该技术已经准备好以许多不同的方式影响现实世界,并以积极的方式影响人们的日常生活。所以我认为这也很令人兴奋。
Hannah Fry:您对这件事如此迅速地引起公众的想象力感到惊讶吗?我的意思是,我猜您预料到了人们最终会加入到AI行业。
Demis Hassabis:是的,完全正确,尤其是像我们这些一样致力于这个工作许多年,甚至几十年的人。所以我想在某个时候,公众会意识到这个事实。事实上,每个人都开始意识到AI有多重要。
但看到它真正实现并发生仍然是相当超现实的。我想这是因为聊天机器人和语言模型的出现。每个人都在使用语言,都能理解语言。因此,对于公众来说,这是一种简单的办法来理解并衡量人工智能的发展方向。
Hannah Fry:我想问你一些关于炒作的问题。你认为我们现在所处的位置,目前(AI)的情况是被夸大了还是低估了?或者它只是大肆宣传,也许方向上发生了错误。
Demis Hassabis:是的,我认为更多的是后者。所以我认为在短期内,这是过度炒作。人们声称可以做各种不能做的事情。有各种各样的初创公司和风险投资公司在追逐尚未准备好的疯狂的想法。
另一方面,我认为它仍然被低估了。我认为即使是现在认为它仍然被低估了,或者说甚至现在都还没有得到足够的重视。当我们进入AGI时代和后AGI时代会发生什么?我仍然觉得人们还不太了解这将会是多么的巨大(的一件事)。因此也没有理解其责任。
所以两者都有,真的。目前短期内它有点被夸大了,我们正在经历这个循环。
Hannah Fry:不过我想就所有这些潜在的初创公司和风险投资公司等而言,正如你所说,你在这些领域已经工作和生活了几十年,有足够的能力去辨别哪些初创公司有现实的目标,哪些不是。但是对其他人来说,他们要如何区分什么是真实的,什么是虚假的?
Demis Hassabis:我认为显然你必须进行完全的技术调查,对技术和最新趋势有一定的了解。
我认为也可以看看说这些话的人的背景,他们的技术背景如何,他们是从去年才加入AI领域的吗?可能他们去年在做加密货币。这些可能是他们在跟风追随潮流的一些线索。当然,这并不意味着他们不会有一些好的想法。
很多人都会这样做,但我们应该说,这更像是彩票。
我认为当一个地方突然受到大量关注时,这种情况总是会发生的,金钱也会随之而来。每个人都感觉自己错过了什么。这创造了一种机会主义的环境,这与我们这些几十年来一直专注于深度技术、深度科学的人相反。我认为这正是我们需要的理想方式,尤其是当我们越来越接近AGI时。
2 开源与AI 智能体的双刃剑
Hannah Fry:我想到的下一个问题是关于开源的。因为当事情掌握在人们手中时,正如你所提到的,真正非凡的事情可能会发生。我知道Deep Mind过去有很多开源项目,但现在随着我们的前进,这种情况似乎略有改变。所以请告诉我您对开源的立场。
Demis Hassabis:正如你所知,我是开源和开放科学的大力支持者。
我们已经放弃并发布了我们几乎所做的所有事情,包括transformers和AlphaGo之类的东西。我们在Nature和Science上发表了所有的东西。正如我们上次介绍的那样,AlphaGo是开源的。这是不错的选择,你会觉得它是绝对正确的。
这也是所有工作都能顺利进行的原因,因为通过共享信息,技术和科学才能尽快进步。所以,我们几乎总是这样做,这是一个普遍的好处。
科学就是这样运作的。例外的情况是,当你在面对AGI和强大的AI时(确实会陷入这种情况),就是当你拥有双重用途的技术时。你想要让所有的使用案例都从好的方向出发,所有真正的科学家都能善意地采取行动,让技术建立在想法之上,对想法进行批判等等。这样,这才是社会进步最快的方式。
但问题是,如何同时限制不良分子的访问权限,他们会拿走相同的系统,将它们重新用于不良目的,把它们滥用在武器系统等地方。这些通用系统可以像这样被重新调整用途。
现在还好,因为我认为现在的系统没有那么强大。但是在两到四年的时间里,特别是当你开始使用智能体系统或者用AI做一些行为时,那么我认为,如果它被某人或甚至是流氓国家滥用,可能会造成严重的伤害。而且我没有办法解决这个问题。
但作为一个社群,我们需要思考这对开源意味着什么?或许我们需要对前沿模型进行更多的检查,然后只有在它们发布一两年后,才能开源。
这就是我们正在遵循的模式,因为我们有自己的Gemini开放模型,名为Gemma。因为它们更小,所以它们不是前沿模型。它们的功能对开发人员仍然非常有用。因为它们有更少的参数数量,很容易在笔记本电脑上运行。虽然它们不是前沿模型,但它们只是不如最新的,Gemini 1.5那么强大。
所以我认为这可能是我们最终会采取的方法,我们将拥有开源模型,但它们会落后于最先进的模型,也许落后一年,这样我们就可以真正评估通过以下方式进行公开评估:用户了解这些模型可以做什么,前沿模型可以做什么。
Hannah Fry:我想你真的可以测试出随机的边界在哪里。
Demis Hassabis:是的,我们会看到边界在哪里。开源的问题是,如果出了问题,你就想不起来了。
而在闭源模型方面,如果你的操作者开始以不良方式用它,你只需要像关闭水龙头一样关闭它即可。在特殊情况下,你可以把它关闭。
但你一旦开源了某些东西,你就无法收回了。所以这是一个单向门。所以当你这样做时,你应该非常确定。
Hannah Fry:但是在一个模型中有包含AGI的可能性吗?
Demis Hassabis:这是一个完全独立的问题。我认为当你开始谈论强大的AGI级别的时候,我们现在不知道该怎么做。
Hannah Fry:那关于中间的过渡呢?
Demis Hassabis:关于这一点,我认为我们对于如何做到这一点有很好的想法。其中之一就是一个类似安全沙盒的东西。我想在游戏环境或尚未完全联网的互联网版本中测试智能体行为。在这个领域,我们可能会借鉴金融科技领域的理念,构建这类系统。
但是,我们也知道,这并不足以容纳 AGI(一种可能比我们更聪明的东西)。所以我认为我们必须更好地理解这些系统,这样才能为人工智能设计协议。到那时候,我们就会有更好的办法来控制它,也有可能使用AI和工具来监控下一版本的AI。
Hannah Fry:关于安全问题,我知道您是2023年由英国政府在布莱切利公园举行的AI安全峰会的重要参与者。从外界来看,我认为很多人只是在说监管这个词,就好像它会自己进来解决一切问题一样。但是你对于如何构建监管体系有什么看法?
Demis Hassabis:我认为各国政府加快参与其中的速度是件好事。
最近公众对AI的兴趣爆发的一个好处就是,政府正在关注这个话题,尤其是英国政府。我认为这很棒,我和他们谈过很多次,还有美国政府。他们的政府工作人员中有很多非常聪明的人,他们现在已经对这项技术了解得很清楚了。
我也很高兴看到英国和美国成立了人工智能安全机构,我认为许多其他国家也会效仿。我认为在AI风险变得非常高之前,这些都是我们需要遵守的很不错的先例和协议。
这也是一个证明的阶段。我认为国际合作确实是必要的,最好是围绕监管、安全护栏和部署规范等方面进行合作。
因为AI是一种数字技术,所以很难将它控制在国界内。当我们开始接近AGI时,我的观点是你必须这样做。因为技术变化如此之快,我们必须非常灵活和轻松地进行监管,以便适应最新技术的发展方向。
如果你在五年前对AI进行监管,你监管的东西与我们今天看到的完全不同。而且五年后可能会再次不同,这些基于智能体的系统可能是风险最高的系统。所以现在我建议加强已经存在的领域的现有法规,比如健康、交通等。
我认为可以像之前为互联网更新一样进行实时更新。同时,做一个像简报一样的东西,这也可能是我要做的第一件事情。简报用于确保人们能理解并测试前沿系统。
当人们对AI系统的使用变得更加清晰和明确时,就能更好地围绕这些行为对AI系统进行监管。
3 AI 智能体幻想成真?
Hannah Fry:你可以给我们概述一下什么是Grounding吗?
Demis Hassabis:Grounding是80年代和90年代在特斯拉和麻省理工学院建立经典的AI系统,一些大型逻辑系统,的原因之一。你可以把它想象成一个单词与其他单词关联的巨大语言库。
比如说,“狗有腿”就在这个库里面。但问题是,如果你给它展示了一张狗的图片,它根本不知道这些像素的集合指的是那个符号。这就是Grounding问题。
在语言库里面有一个象征的抽象表达,但是无法确定这个抽象的东西在现实世界真正意味着什么。人们尝试解决这个问题,但永远也无法做到完全正确的对应。
当然,现在的系统不是这样的,它直接从数据中学习,所以从某种程度上来说,现在的系统从一开始就建立了这种联系。
Hannah Fry:Astra计划,Google新的通用AI助手项目,可以接收视频和音频数据。之前你举了Astra帮你记住眼睛放在哪里的例子,所以我想知道这个产品的定位,是之前的Google眼镜的一个全新版本吗?
Demis Hassabis:当然,Google在开发眼镜型设备上有着悠久的历史,可以追溯到2012年,在这方面可以说是遥遥领先的,但他们只是缺少这样一种技术。
通过Astra,你能真正理解,一个AI 智能体或者说AI助手所看到的一切。所以我们对数字助理能够陪伴您并了解您周围的世界感到非常兴奋。当你使用它时,它真的能给你提供非常自然的体验。
Hannah Fry:大语言模型还有一段路要走,这些模型还不太擅长一些事情。
Demis Hassabis:是的。实际上这就是现在主要的争论。最新的这些模型其实是从五六年前发明的技术中诞生的。问题是,它们仍然有很多问题需要改进。我们都知道,大语言模型会产生幻觉,还不擅长做规划。
Hannah Fry:什么意义上的规划?
Demis Hassabis:长期规划。他们无法解决问题,尤其是一些长期的事情。如果你给它一个目标,它们其实无法真正为你在世界上采取行动。它们很像被动的问答系统。你向它提出问题,然后它会给你某种回应,但它们无法为你解决问题。
你可能会想象这样一个场景。你对AI助手说给我计划意大利的假期,预订好所有的餐馆和博物馆。它知道你喜欢什么,随后它就会帮你处理好机票等所有东西。
其实现在的AI助手做不到这样的事情。但我认为这是在下一个时代可以实现的,我称之为“基于智能体的系统”或“具有类似智能体行为的代理系统”。这是我们所擅长的东西。
这也是我们从过去做游戏智能体AlphaGo开始就一直想要做的事情,我们正在做的很多事情都是将这些我们出名的工作成果与新的多模态模型结合起来。我认为这将会是下一代系统,你可以把它看作是Alpha和Gemini的结合。
Hannah Fry:是的,我猜AlphaGo非常擅长做规划?
Demis Hassabis:没错,它非常擅长做规划,当然仅限于游戏领域。我们还需要把它推广到日常工作和语言的一般领域。
4 AGI的未来
Hannah Fry:在你描述的未来图景中,如果我们到了AGI的阶段,专注科学研究的机构还存在吗?
Demis Hassabis:我认为是的。在AGI阶段,社会、学术界、政府和工业实验室都会在一起合作进行研究。我认为这是我们到达最后阶段的唯一途径。如果是在AGI之后,我认为我们可以用它来回答一些物理学中的原理、现实的本质、意识等方面的最基本的问题。
Hannah Fry:你认识计算机科学家Stuart Russell吗?他告诉我他有点担心,一旦我们进入人工智能时代,我们可能会变得像过去的皇家王子一样,那些从来不需要登上王位或者做任何工作的人,只是过着肆无忌惮的奢华生活而没有任何目的。
Demis Hassabis:是的,这是一个有趣的问题。它超出了AGI的范围,更像是人们称之为ASI的超级AI。
那时候我们应该拥有彻底的富足。假设我们公平公正地分配这些资源,那么我们将有更多的自由来选择做什么。到那时候,意义将成为一个重大的哲学问题。我们需要哲学家,甚至是神学家,去思考这个问题。
回到我们之前说的炒作,我认为即使那些炒作也绝对低估了AI可能带来的转变。我认为在极限范围内会变得特别好。我们将会治愈许多疾病或者说所有的疾病,解决我们的能源问题、气候问题。
接下来的问题就只是,这有意义吗?
各位读者是否赞同Hassabis的观点呢?欢迎在评论区分享你对未来AI的设想~
参考资料:
https://x.com/GoogleDeepMind/status/1823744111821623722
https://deepmind.google/technologies/gemini/project-astra/
#ObjectRelator
打通第一人称与第三人称的视觉鸿沟
在计算机视觉中,如何连接第一人称视角(ego-centric, 如佩戴者视角)和第三人称视角(exo-centric, 如旁观者或上帝视角)一直是个长期存在的难题。本文介绍的这篇论文 “ObjectRelator: Enabling Cross-View Object Relation Understanding Across Ego-Centric and Exo-Centric Perspectives”,就针对这一前沿挑战提出了一个全新的解决方案。
该论文聚焦于一个新兴的任务:Ego-Exo 物体对应(Ego-Exo Object Correspondence)。简单来说,就是给定一个物体在第一人称(Ego)视角视频中的样子(例如,一个戴着摄像头的厨师看到的某个碗),模型需要在第三人称(Exo)视角的视频中准确地找到并分割出同一个碗。这项技术对于虚拟现实(VR)、机器人技术(如通过观察演示来学习操作)等领域具有巨大的应用潜力。
论文提出的 ObjectRelator 框架,通过两大创新模块,有效解决了第一和第三人称视角之间因剧烈视角变化、物体外观差异和复杂背景干扰导致的目标定位与分割难题,在大型基准测试中取得了当前最佳(SOTA)性能。
- 论文标题:ObjectRelator: Enabling Cross-View Object Relation Understanding Across Ego-Centric and Exo-Centric Perspectives
- 作者:Yuqian Fu, Runze Wang, Bin Ren, Guolei Sun, Biao Gong, Yanwei Fu, Danda Pani Paudel, Xuanjing Huang, Luc Van Gool
- 机构:INSAIT, 索非亚大学, 复旦大学, 特伦托大学, 比萨大学, 苏黎世联邦理工学院, 蚂蚁集团
- 论文链接:https://arxiv.org/abs/2405.19083
- 项目主页:http://yuqianfu.com/ObjectRelator
研究背景:第一人称与第三人称的“隔阂”
尽管现有的分割模型层出不穷,但它们大多在单一视角下工作,难以应对跨视角物体关联的挑战。最近提出的PSALM模型虽然在该任务上展示了零样本(zero-shot)学习的能力,但由于Ego和Exo视角之间存在巨大的差异,PSALM在精确定位和分割物体时仍然会遇到困难,尤其是在背景复杂或物体外观变化显著的情况下。
具体挑战如下:
- 视角剧变:第一人称视角通常视野较窄、物体较大且可能不完整;而第三人称视角视野开阔、物体较小且背景复杂。同一个物体在两个视角下的形状、大小和姿态可能完全不同。
- 外观变化:光照、遮挡等因素会导致物体在不同视角下的外观(颜色、纹理)产生显著差异。
- 背景干扰:第三人称视角中可能包含大量与目标物体相似的干扰物,导致模型错误分割。
ObjectRelator:跨视角物体关联的新方法
为了克服以上困难,研究者们在PSALM基线模型的基础上,提出了 ObjectRelator。该框架引入了两个核心模块:多模态条件融合(Multimodal Condition Fusion, MC-Fuse) 和 基于自监督学习的跨视角对象对齐(SSL-based Cross-View Object Alignment, XObjAlign)。
整体架构
ObjectRelator的整体框架如下图所示。它以PSALM(粉色块)为基础,输入一个查询视角(如Ego视图)的图像和物体掩码(mask),以及一个目标视角(如Exo视图)的图像。其目标是在目标视角中预测出对应物体的掩码。创新的MC-Fuse(橙色)和XObjAlign(绿色)模块是实现精确关联的关键。
多模态条件融合 (MC-Fuse)
为了解决仅靠视觉掩码不足以区分相似物体的问题,MC-Fuse 模块 首次将自然语言描述引入到该任务中。它首先利用一个强大的视觉语言模型(如LLaVA)为查询物体生成文本描述(例如“一个篮球”)。然后,通过一个轻量级的交叉注意力机制,将视觉掩码提示和文本描述提示进行融合。
这种多模态输入的策略,使得模型能够同时利用物体的视觉特征和语义信息,从而更准确地锁定目标,避免与背景中的干扰物混淆。
跨视角对象对齐 (XObjAlign)
为了增强模型对物体外观变化的鲁棒性,XObjAlign 模块采用了一种自监督学习策略。其核心思想是:同一个物体,无论在哪个视角下,其高级特征表示(embedding)应该尽可能相似。
具体来说,该模块在训练过程中,会同时提取查询物体在Ego视角下的特征和它在Exo视角下的真实特征,并通过一个一致性损失函数(如欧氏距离)来拉近这两个特征向量的距离。这种方式强制模型学习一种视角不变的物体表示,从而能够更好地处理因视角变化导致的外观差异。
实验与结果分析
论文在两个大规模数据集上验证了ObjectRelator的有效性:Ego-Exo4D 和一个新构建的、适用于机器人操作的 HANDAL-X 数据集。
主要结果
实验结果表明,ObjectRelator在各项指标上均显著优于包括PSALM在内的所有基线方法。例如,在Ego-Exo4D数据集上,相比于PSALM,ObjectRelator在Ego2Exo任务上的IoU提升了 4.6% (44.3 vs 39.7),在Exo2Ego任务上提升了 5.1% (49.2 vs 44.1)。
消融研究
为了验证每个模块的贡献,论文进行了详细的消融实验。结果证明,单独加入MC-Fuse或XObjAlign模块都能带来明显的性能提升,而将两者结合使用时效果最好,证明了两个模块的有效性和兼容性。
进一步的分析还表明,即使在测试时没有文本输入,经过多模态训练的ObjectRelator性能仅有轻微下降,依然远超基线模型,显示了其良好的鲁棒性。
更多的消融实验也验证了模型设计中各个细节的合理性。
可视化结果
可视化结果直观地展示了ObjectRelator的优势。在PSALM模型会因为背景中存在形状相似物体而分割错误的情况下,ObjectRelator借助文本描述可以准确识别并分割出正确的目标。
在各种复杂的室内外场景中,ObjectRelator都能成功地在不同视角之间关联物体,即使物体发生严重形变、尺寸变化或部分遮挡。
当然,模型也存在一些失败案例,例如当物体表面不连续或与背景融为一体时,分割效果会打折扣。
以下是更多的可视化结果。
总结与贡献
ObjectRelator作为对Ego-Exo物体对应任务的早期探索,其贡献是多方面的:
- 深入分析了任务挑战:对这一新兴任务的独特困难进行了分析,并构建了多个基线模型。
- 提出了创新框架:设计了ObjectRelator框架,其两大核心模块MC-Fuse和XObjAlign分别从引入额外语义信息和加强视角一致性两个角度,有效地提升了模型的性能。
- 树立了新的SOTA:在Ego-Exo4D和HANDAL-X两个数据集上均取得了当前最优结果,为后续研究提供了强有力的基准。
CV君认为,这项工作为理解和关联不同视角下的视觉信息提供了新的思路和有效的工具,是迈向更高级的人机交互和场景理解的重要一步。未来,将时间信息融入模型以更好地捕捉物体动态将是一个值得探索的方向。
#Dynamic-DINO
MoE-Tuning革新实时目标检测,超越经典Grounding DINO性能极限!
开集检测既要快又要准?Dynamic-DINO用“专家混合”新思路,把小模型训练出大能耐,通过 MoE-Tuning 与粒度分解设计,在效率与性能之间取得突破性平衡。
01 精简阅读版本
本文主要解决了什么问题
- 探索专家混合(MoE)架构在实时开集目标检测器中的应用潜力,这类检测器虽然利用大规模视觉语言数据集,但模型规模较小。
- 解决传统密集模型在实时开集目标检测中面临的挑战,包括模型学习速度慢、梯度冲突和长尾问题。
- 在有限训练数据条件下,如何高效扩展模型搜索空间,提升模型性能,同时保持推理效率。
本文的核心创新是什么
- 提出了Dynamic-DINO框架,通过MoE-Tuning策略将Grounding DINO 1.5 Edge从密集模型扩展为动态推理框架。
- 设计了粒度分解机制,将基础模型的FFN分解为多个较小的专家网络,在不增加总参数量的情况下扩展了子网络搜索空间。
- 提出了专家预训练权重分配策略和特定的路由器初始化方法,防止微调初期性能下降,确保初始激活专家的输出之和精确匹配预训练FFN的输出。
结果相较于以前的方法有哪些提升
- 仅使用1.56M开源数据进行预训练的Dynamic-DINO,性能优于在私有Grounding20M数据集上预训练的Grounding DINO 1.5 Edge,且推理速度相当。
- 显著提升了罕见类别的检测性能,有效缓解了长尾问题。
- 在COCO、LVIS和ODinW等多个基准数据集上的零样本性能评估中,Dynamic-DINO取得了与官方Grounding DINO 1.5 Edge相当或更好的结果。
局限性总结
- 由于计算资源限制(仅8块NVIDIA 3090 GPU),无法在扩展后的Grounding DINO 1.5 Pro模型上训练和验证Dynamic-DINO。
- 无法利用充足的数据集探索MoE-Tuning的性能边界。
- 当前实现中将token顺序转发到不同专家网络的方式降低了推理效率,多专家前馈过程的并行加速仍需进一步优化。
02 深入阅读版本
导读
专家混合(MoE)架构在大型视觉语言模型(LVLMs)中表现出色,然而其在实时开集目标检测器中的潜力尚未被探索,这类检测器同样利用大规模视觉语言数据集,但模型规模较小。本研究探讨了这一领域,揭示了引人入胜的见解。在浅层,专家倾向于与多样化的同伴合作以扩展搜索空间。而在深层,固定协作结构出现,其中每个专家保持2-3个固定合作伙伴,不同的专家组合专门处理特定模式。
具体而言,作者提出了Dynamic-DINO,通过高效的MoE-Tuning策略将Grounding DINO 1.5 Edge从密集模型扩展为动态推理框架。此外,作者设计了一种粒度分解机制,将基础模型的 FFN (FFN)分解为多个较小的专家网络,扩展了子网络搜索空间。为防止微调初期性能下降,作者进一步提出了专家预训练权重分配策略,并配合特定的路由器初始化。在推理过程中,仅激活与输入相关的专家以形成紧凑的子网络。实验表明,仅使用1.56M开源数据进行预训练的Dynamic-DINO,其性能优于在私有Grounding20M数据集上预训练的Grounding DINO 1.5 Edge。
代码将公开发布在:https://github.com/wengminghe/Dynamic-DINO
1. 引言
近年来,开集目标检测[15, 19, 27, 45, 47, 53]已成为基础视觉任务的关键范式。与仅限于检测预定义固定类别中目标的通用目标检测器[32]不同,此类模型通过融合语言模态灵活定位任意目标。值得注意的是,由于其实际价值显著,已在异常检测、机器人与自动驾驶等多个领域[13, 25]得到广泛应用,实时开集目标检测器[5, 23, 33, 34]正受到越来越多的关注。
当前的实时开集目标检测器[5, 23, 34, 44, 54]主要采用具有固定推理架构的密集模型。相比之下,专家混合模型(MoE)[1, 6, 18, 21]在推理过程中仅激活神经网络的一部分,以同时提升模型容量并确保高效计算,这与该领域高度兼容,但其集成仍待探索。从另一个角度来看,MoE已在大型视觉语言模型(LVLMs)[21, 46]中展现出成功应用。类似地,实时开集目标检测器在规模较小的视觉语言数据集上进行训练。探索MoE在这样紧凑的多模态模型中的潜力同样是一个引人入胜的问题。因此,本研究探讨了该领域。
具体而言,MoE用多个专家网络替换了每个Transformer层中的 FFN (FFN),通过扩大模型容量来提升性能。在推理过程中,它采用路由器仅激活一部分专家,确保计算高效。在之前的目标检测器中,每层需要一个FFN来处理所有token,这些token包含开放场景中的广泛模式,包括视觉模式(例如类别和属性)和上下文模式(例如相对位置和关系)。这不仅减缓了模型学习速度,还导致了梯度冲突和长尾问题。在探索MoE方法时,作者观察到深层发展出稳定的专家协作,针对特定token模式形成专业组合,如图2所示。直观上,更细粒度的专家划分扩展了子网络搜索空间,使MoE能够更精确地划分输入token。这简化了模型学习,使得强大的网络可以用相对有限的数据进行训练。因此,高效扩展搜索空间至关重要。
对于一个包含 个专家的MoE网络,在推理过程中激活前 个专家,其搜索空间大小为 ,其中 表示层数。为了扩展搜索空间,直观上存在两种方法。首先,增加激活的专家数量 。然而,这种方法不可避免地会导致推理过程中的计算成本增加。其次,增加专家数量 。但这种方法会导致内存成本增加和训练速度变慢。此外,当训练数据量有限时,可能会引发过拟合问题。
为应对这一挑战,作者提出了一种名为Dynamic-DINO的新型动态推理框架,用于实时开集目标检测。为提高成本效率,作者采用基于复制的Grounding DINO 1.5 Edge的高效微调范式。在MoE(Mixture of Experts)的启发下,作者将Transformer层中的FFN(Feed-Forward Network)复制N次以扩展模型参数,形成一个超网络,同时使用预训练的FFN参数初始化扩展的FFN。受DeepSeekMoE [6]的启发,作者引入了一种粒度分解策略,将单个FFN分解为多个专家网络。独特之处在于,作者分解FFN的参数并将其分配给初始化专家网络,确保每个token的专家网络输出总和等于FFN输出。这种方法在不增加总参数量的情况下增加了专家数量,有效扩展了搜索空间。在前向推理过程中,使用路由网络选择性地激活一组专家,形成紧凑的超网络,同时严格保持激活参数相当于单个FFN。
为验证Dynamic-DINO的有效性,作者在多个基准数据集上评估了其零样本性能,包括COCO [22]、LVIS [11]和ODinW [19]。仅使用包含Object365 [35]、GoldG [17]和V3Det [41]数据集的1.56M开源数据进行训练,Dynamic-DINO在推理速度相当的情况下,性能优于在私有Grounding20M数据集上预训练的Grounding DINO 1.5 Edge。为促进进一步研究,作者强调可复现性和可访问性。
作者的贡献可以总结为:
- 作者验证了将MoE集成到实时开集目标检测任务中的潜力。
- 作者提出了一种新颖的MoE-Tuning方法,通过FFN的粒度分解,在保持参数数量不变的情况下扩展了搜索空间,从而促进了对广泛模式的建模。
- Dynamic-DINO仅使用1.56M开源训练数据,便超越了Grounding DINO 1.5 Edge,且推理速度相当。
2. 相关工作
2.1. 开集目标检测
开集目标检测[10, 51]一直吸引着研究界的关注。代表性工作包括GLIP[19]、OpenSeeD[53]、OWL-ViT[26]、OWLST[27]、Grounding DINO[24]、DetCLIP[48-50]、OVDINO[40]、UniDetector[45]等。值得注意的是,实时检测器正受到越来越多的重视。YOLOWorld[5]和YOLO-UniOW[23]继承了YOLO系列[29-31]检测器的计算效率,并将其扩展到开集领域。Grounding DINO 1.5[34]提出了Edge模型,专注于计算效率。Grounding DINO 1.6和DINO-X[33]通过基于Grounding DINO 1.5 Edge扩展预训练数据集进一步提升了性能。此外,OmDet-Turbo[54]和OVLW-DETR[44]也实现了实时检测。与上述方法不同,作者创新性地引入MoE驱动的动态推理,在不牺牲效率的前提下显著提升了准确率。
2.2. 专家混合模型
专家混合(MoE)是条件计算领域的一种突出架构[14, 38, 39, 43],已在模型扩展方面展现出潜力[36]。MoE的核心原理在于使用路由器将token分配给专家。早期研究采用了硬路由模式[2, 20, 37, 42],其中每个专家通常被分配特定角色。相比之下,近期的大语言模型(LLM)和视觉语言模型(LVLM)工作则聚焦于软路由器,实现了在不同专家间的动态token分配,包括Gshard[18]、Lifelong-MoE[4]、MoE-LLaVA[21]、LLaVA-MoLE[3]、MoCLE[9]、DEMIX[12]等。其中,DeepSeekMoE[6]和QwenMoE[1]通过分割 FFN (FFN)中间隐藏维度来划分专家。作者采用这种最新设计,但存在关键差异。不同于他们为全预训练随机初始化专家的方法,作者通过分割预训练FFN参数来生成专家,用于增量微调。作者工作的另一项关键贡献是验证了MoE微调在开集目标检测中的有效性。
3. 方法
3.1. 概述
整体流程如图3所示。Dynamic-DINO基于Grounding DINO 1.5 Edge [34]构建,通过MoE-Tuning将其从密集模型扩展为动态推理框架。由于其闭源状态,作者在公开数据集上复现并训练了基础模型。在MoE-Tuning中,作者将SparseMoE结构应用于解码器,原因如下。首先,在语言引导 Query 选择后,仅保留900个token,显著少于先前模块,这最小化了路由选择引入的计算成本。其次,解码器的最终输出直接影响边界框回归,使其更适合微调。为了在MoE-Tuning期间平衡准确性和训练效率,作者允许特征增强器中的CrossAttention、跨模态MoE解码器中的MoE层以及检测Head参与训练,同时冻结所有其他参数。
3.2. 跨模态MoE解码器
超网络扩展。遵循MoE[8]范式,作者通过将解码器每一层的FFN扩展为 个相同大小的FFN来扩展模型。对于每个FFN,其中间隐藏维度被均匀划分为 个分区,从而构建 个专家。图2展示了 的情况。通过这种方式,模型的容量被扩展形成超网络。同时,专家更细的粒度导致子网络的搜索空间更大。子网络推理。在前向推理过程中,路由器 作为子网络选择的关键组件,是一个单线性层,如图3所示,其中 是输入 Token。其输出通过softmax函数进行归一化,为每个专家获得得分 ,其公式表示为:
接下来,通过门控机制选择得分最高的前 位专家进行激活,确保激活的参数与单个 FFN (FFN)的参数保持一致。门控 的计算公式为:
SparseMoE层 的输出是所选专家 输出的总和,该总和满足 为确保形式上的清晰,该过程表示为:
3.3. MoE-Tuning
专家初始化。每个 FFN(FFN)使用预训练基础模型的参数进行初始化,该基础模型包含两个线性层,表示为 ,其中 。其中 表示输入token的维度, 代表FFN的隐藏层维度。FFN的前馈过程计算如下:
其中 是激活函数。每个细粒度专家的参数根据每个 FFN 进一步细分。具体来说,第一层线性层的参数水平分为 个块,如下所示:
接下来,第二个线性层的参数垂直分为:
第 个专家 在形式上是一个较小的前馈神经网络,其参数为 。这种权重分配策略如图4所示。这种参数分割确保了 个细粒度专家的输出之和与原始前馈神经网络的输出相匹配:
路由初始化。路由被实现为一个单一的线性层,其参数表示为 ,其中 和 。为了在微调期间对基础模型实现增量性能提升,必须确保初始激活专家的输出之和精确匹配预训练 FFN 的输出,即 。
因此,必须对路由初始化施加特定的约束。如图5所示,作者首先随机初始化权重 和 ,然后将 和 中的每个质心向量复制 次以形成路由权重 和 。通过这种初始化,路由在微调开始时保证选择来自相同 FFN 的 个专家。如图6所示,Dynamic-DINO在微调期间实现了增量性能提升
。
损失函数。总损失 由检测损失 和辅助损失 组成,表示为:
其中 是 和 的平衡系数 包含边界框回归损失和分类损失。遵循 DETR 类工作 [52],边界框回归分支使用 L1 损失和 GIOU 损失。对于分类分支,作者使用 focal loss 作为预测边界框和语言 Token 之间的对比损失。因此, 的计算公式为:
在MoE-Tuning过程中,需要采用负载均衡损失来确保每个专家得到充分利用。遣循MoE- LLaVA[21],作者将负载均衡损失整合到Cross-Modality MoE Decoder中的每个 SparseMoE层中,其公式表述为:
其中 是专家的数量, 表示每个专家 处理的token的比例,而 表示分配给专家 的平均路由概率
4. 实验
4.1. 实验设置
预训练数据。作者的Dynamic-DINO在包含Objects365(V1)[35]、GoldG [17]和V3Det [41]数据集的检测和 grounding 数据集上进行了训练。遵循[19],作者从GoldG中排除了COCO数据集中的图像(GQA [16]和Flickr30k [28])。
基准测试。作者在COCO [22]、LVIS [11]和ODinW [19]数据集上以零样本设置评估了所提出的Dynamic-DINO的性能。遵循先前方法 [19, 24],作者使用标准的平均精度(AP)评估COCO和ODinW的性能,并在LVIS上使用固定AP [7]进行公平比较。
实现细节。Dynamic-DINO基于复制的Grounding DINO 1.5 Edge。作者采用EfficientViT-L1作为图像主干,并使用Hugging Face的BERT-base作为文本主干。作者提取了三个图像特征尺度,从到,并将特征图下采样到作为额外的特征尺度。默认情况下,作者设置 Query 数量为900,并使用6个解码器层。在预训练阶段,作者采用AdamW优化器,所有模型参数(除图像主干和文本主干)的基础学习率为 ,图像主干和文本主干的学习率为 。总批处理大小为128。分配给 、 和 的权重分别为2.0、5.0和2.0.预训练阶段持续7个epoch。在MoE-Tuning朌段,作者从预训练的基模型初始化参数。MoE-Tuning阶段持续 10 个 epoch。平衡系数 。所有模型均在8块NVIDIA 3090 GPU上进行训练。
4.2. 与当前最优方法的比较
为了全面评估,作者将作者的DynamicDINO与最先进的实时开集检测器进行比较,包括YOLO-World v2 [5]、OmDet-Turbo [54]、OVLW-DETR [44]和Grounding DINO 1.5 Edge [34]。如表1所示,Dynamic-DINO在不同分辨率下均实现了与官方Grounding DINO 1.5 Edge相当的性能。
值得注意的是,Dynamic-DINO显著提升了罕见类别的检测性能,表明MoE-Tuning有效缓解了长尾问题。由于官方Grounding DINO 1.5 Edge未报告ODinW上的性能,作者在表2中仅比较了作者复现的Grounding DINO 1.5 Edge和Dynamic-DINO的性能。此外,速度比较结果如表3所示。由于复现的Grounding DINO 1.5 Edge是闭源版本,其速度略慢于官方版本。经过MoE-Tuning后,推理速度略有下降,因为当前实现将token顺序地转发到不同的专家网络,显著降低了效率。未来工作将优化这一问题以实现加速。
4.3. 统计分析
路由分布。在图9中,作者展示了通过Dynamic-DINO -Top2在COCO-val和LVIS-minival基准测试中推理时专家负载的统计结果,其中每种颜色代表1个专家。专家的动态选择在不同层之间表现出显著差异,表明专家已经学习到某种机制来以特定方式划分任务。
专家协作。图7通过Dynamic-DINO Top进一步揭示了专家之间的协作动态。作者在LVIS-minival基准上量化了所有可能专家对之间的共同选择频率,并对结果进行了归一化处理。在浅层,专家倾向于与多样化的同伴合作以探索更广阔的搜索空间。相比之下,在深层,专家逐渐细化他们的偏好,专注于与2-3个特定伙伴进行一致的协作以处理不同的模式。
Token路由示例。图8展示了最后解码器块中MoE层图像块的路由机制的可视化。结果表明,不同的专家组合专门用于处理特定的模式。例如,专家0和3主要管理与冰箱相关的token,而专家1和7专门处理与服装相关的token。这些发现证实了作者的假设,即具有相似模式的token倾向于选择相同的专家组合。因此,更细粒度的专家划分能够实现更广泛的专家组合,从而减少每个专家组处理的模式数量。这种内在效率解释了作者如何利用相对有限的数据实现了优越的网络性能。
4.4. 消融研究
不同子集参数调优的影响。表4中的结果表明检测Head在MoE-Tuning过程中起着关键作用,在LVIS-val上实现了+1.3 AP的显著提升。此外,联合微调特征增强器中的交叉注意力机制能够进一步提升性能。
搜索空间的影响。图10表明,更大的参数量能够持续提升性能。同时,在参数固定的情况下,将单个 FFN 解耦成两个专家能够进一步提升性能,但过度细分会导致性能下降,如图11所示。作者将此归因于有限的训练数据,其中过大的搜索空间增加了过拟合风险,从而损害了零样本性能。
训练效率的影响。如表5所示,在相同训练数据和GPU条件下,MoETuning相较于预训练方案实现了 的加速。此外,扩展预训练提供了微小的性能提升,而MoE-Tuning则实现了显著的增强,如图6所示。
数据集的影响。虽然Dynamic-DINO在有限数据下能取得优异结果,但表6显示其性能随着训练数据的增加而显著提升。值得注意的是,本研究中使用的所有数据集均为开源,这保证了可复现性和可访问性。
5. 局限性讨论
这项工作以Grounding DINO 1.5 Edge作为基础模型,通过MoE-Tuning将其从密集模型扩展为动态推理模型。在有限开源数据的情况下,Dynamic-DINO在性能上与官方Grounding DINO 1.5 Edge相匹配。然而,由于计算资源限制,仅限于8块NVIDIA 3090 GPU,作者无法在扩展后的Grounding DINO 1.5 Pro模型上训练和验证Dynamic-DINO,也无法利用充足的数据集探索MoE-Tuning的性能边界。多专家前馈过程的并行加速在未来仍需进一步优化。
6. 结论
在本文中,作者提出了Dynamic-DINO,一个探索实时开集目标检测与专家混合(Mixture of Experts, MoE)集成的新型框架。作者证明了多样化的专家组合能够自适应地处理特定模式。因此,Dynamic-DINO在推理过程中根据输入数据模式仅激活相关专家,即使训练数据有限也能取得出色的性能。具体而言,Dynamic-DINO基于作者复现的Grounding DINO 1.5 Edge构建,通过MoE-Tuning将其从密集模型扩展为动态推理框架。此外,作者设计了一种粒度分解机制来分割专家网络,在严格保持激活参数与基础模型中单个 FFN (FFN)等效参数的同时,扩展了子网络搜索空间。为防止微调初期性能下降,作者进一步提出了针对专家的预训练权重分配策略,并结合特定的路由器初始化方法。大量实验验证了作者提出方法的有效性。
参考
[1]. Dynamic-DINO: Fine-Grained Mixture of Experts Tuning for Real-time Open-Vocabulary Object Detection
#POSE
100倍加速视频生成,腾讯混元提出单步对抗平衡蒸馏框架
近日,视频生成领域迎来一项重要突破。来自腾讯混元与加州大学洛杉矶分校的研究团队,共同发布了一种名为 POSE (Phased One-Step Adversarial Equilibrium) 的创新蒸馏框架。该框架旨在解决当前视频扩散模型采样效率低下的核心痛点,特别是针对大规模模型和长视频序列的生成场景。
POSE 的核心贡献在于,它能够将大规模视频扩散模型的采样步数从数十上百步锐减至 单步 ,在将推理延迟降低约 100倍 (例如,从1000秒缩短至10秒)的同时,依然保持了极具竞争力的视频生成质量。这一成果意味着高质量视频的实时生成距离我们又近了一步。
- 论文标题:POSE: Phased One-Step Adversarial Equilibrium for Video Diffusion Models
- 作者:Jiaxiang Cheng, Bing Ma, Xuhua Ren, Hongyi Jin, Kai Yu, Peng Zhang, Wenyue Li, Yuan Zhou, Tianxiang Zheng, Qinglin Lu
- 机构:腾讯混元、加州大学洛杉矶分校 (UCLA)
- 论文地址:https://arxiv.org/abs/2508.21019
- 项目主页:https://pose-paper.github.io
研究背景与意义
近年来,视频扩散模型在生成高保真视频方面取得了显著进展,但其巨大的计算成本和缓慢的采样速度成为了实际应用的瓶颈。例如,使用拥有140亿参数的 WanI2V-14B
模型生成一段5秒的视频,在高端GPU集群(8xH20)上也需要近15分钟。
为了解决这一问题,学术界提出了多种模型加速(蒸馏)技术,主要分为三类:
- 一致性蒸馏 (Consistency Distillation)
- 分布匹配蒸馏 (Distribution Matching Distillation)
- 对抗蒸馏 (Adversarial Distillation)
然而,这些方法大多源于图像生成领域,直接应用于视频时存在根本性缺陷:它们未能有效建模视频帧之间的时间连贯性,也难以将大型视频模型直接蒸馏到一步生成,导致在处理长序列或大模型时性能下降,出现模糊、闪烁等问题。
上图直观对比了POSE 与其他主流蒸馏方法在VBench-I2V分数和推理延迟上的表现。可以看到,POSE 在保持高生成质量(VBench分数)的同时,实现了最低的延迟。
POSE:分阶段一步平衡蒸馏法
为了克服现有方法的局限,研究者提出了 POSE,一个精心设计的两阶段蒸馏框架,专门用于大规模视频模型的高效单步生成。
第一阶段:稳定性引导 (Stability Priming)
对抗蒸馏在从纯高斯噪声开始的单步生成任务中极易训练失败,因为生成的“假”视频与“真”视频之间差距过大,判别器可以轻易区分,导致生成器无法获得有效梯度。
为解决此问题,POSE 设计了“稳定性引导”阶段。此阶段是一个热启动机制,它通过一种温和的方式(类似变分分数蒸馏),首先将单步生成器的输出分布“预对齐”到真实视频的分布上,尤其是在信噪比(SNR)较低的区域。这确保了即使从纯噪声出发,生成器也能产生一个合理的初始视频,为下一阶段的对抗训练打下稳定基础。
上图展示了不同对抗蒸馏策略的训练机制。现有方法(如ADD, DMD2)要么避开从纯噪声开始训练,要么仅在高信噪比区域应用对抗损失,导致推理时出现不匹配。而 POSE 的稳定性引导阶段解决了这一问题。
第二阶段:统一对抗性平衡 (Unified Adversarial Equilibrium)
在模型经过第一阶段的“预热”后,第二阶段引入了一个灵活的自对抗蒸馏机制。其核心思想是:将生成器自身的参数重用为判别器的骨干网络。
这种设计有两大优势:
- 参数高效:无需为判别器设计和训练一个庞大的独立网络,极大地节省了内存,使得对十亿级参数的大型视频模型进行蒸馏成为可能。
- 动态平衡:生成器和判别器共享骨干,迫使它们“共同进化”。判别器必须学习更鲁棒、更深层次的视频特征来区分真假,从而推动生成器产生更逼真的视频,最终达到纳什均衡。
扩展:条件对抗性一致性 (Conditional Adversarial Consistency)
对于图生视频(Image-to-Video)等条件生成任务,POSE 还提出了“条件对抗性一致性”模块,以确保生成视频与输入条件(如图像、文本)在语义和帧级别上保持高度一致。该模块包含一个语义一致性判别器头和一个帧一致性损失,有效防止了条件帧信息丢失和时序不连贯的问题。
实验结果与分析
POSE 在权威的视频生成基准 VBench-I2V 上进行了全面评估,并与其他主流蒸馏方法(如DMD2, PCM, APT等)进行了公平对比。
性能全面超越
实验结果表明,在单步生成设置下,POSE 在语义对齐、时序连贯性和帧质量等多个维度上,平均优于其他加速方法约 7.15%。值得注意的是,POSE 的单步生成质量甚至超过了其他方法的多步(4-NFE)生成质量。
上图为 POSE 与其他蒸馏方法的定性比较。可以看出,POSE 生成的视频(第一行)在清晰度、细节和动态范围上均表现出色,而其他方法则可能出现模糊或伪影。
上表展示了量化实验结果。在相同采样步数条件下,POSE方法在质量评分和I2V评分指标上均显著优于其他蒸馏方法。值得注意的是,即使采用单步采样,POSE在时序连贯性和语义对齐度方面仍优于多数多步蒸馏方法,且整体质量评分仅下降1.5%。此外,采用少量步数采样的POSE方法在整体质量评分上比基准模型的多步采样表现高出3.3%。
消融研究
消融实验进一步验证了 POSE 各个组件的必要性。例如,移除“稳定性引导”阶段会导致对抗训练崩溃;而采用参数共享的“统一判别器”相比于其他判别器范式(如冻结参数或全参数训练),在保证性能的同时显著降低了内存消耗(IM vs OOM)。
论文贡献与价值
POSE 的提出,为视频生成领域带来了以下核心贡献:
- 首次实现大型视频模型的单步蒸馏:它突破了现有技术无法对>10B参数模型进行单步对抗蒸馏的瓶颈。
- 创新的两阶段蒸馏框架:“稳定性引导”和“统一对抗性平衡”的组合,有效解决了单步对抗训练的不稳定性问题。
- 显著的效率与质量提升:实现了约 100倍 的推理加速,同时在生成质量上超越了其他加速方法,为高质量视频的实时或近实时应用铺平了道路。
CV君认为,POSE 的设计哲学,特别是其参数重用和分阶段稳定训练的思想,不仅对视频生成,也对其他生成模型的加速研究具有重要的借鉴意义。这项工作无疑将推动视频生成技术在短视频创作、虚拟人、电影预览等领域的加速落地。
#全景拼接的一般步骤
图像拼接可以概括为以下几个主要步骤:
- 计算两幅图像的关键点和描述符。
- 计算一幅图像中每个描述符与另一幅图像中每个描述符之间的距离。
- 为图像的每个描述符选择前“m”个匹配项。
- 执行比率测试以保留最准确的匹配对。
- 运行RANSAC来估计 Homography。
- 变换图像以对齐拼接。
- 现在将它们缝合在一起。
全景拼接是将多张视野重叠的图像组合起来,生成全景图或高分辨率图像的过程。要组合视野重叠的图像,我们需要检测图像对中的匹配特征和关键点。
从上面的两张图片很容易看出,如果我们选择海洋作为兴趣点,很难将左图的海洋斑块与右图进行具体匹配(因为海洋在广阔的空间区域中看起来相同)。我们还注意到,选择诸如小岩石的顶峰(橙色圆圈)等区域能够为我们以后的匹配提供更有价值的信息。
重点特征
a) 可重复的兴趣点
b)兴趣点的独特性
c) 尺度和旋转不变性
事实证明,角点实际上是一个很好的特征,可以作为兴趣点!有一种名为 Harris Corner Detector 的算法可以帮助我们在图像中找到这样的角点作为兴趣点。
Harris Corner 对旋转(因为 H 矩阵的特征值在旋转后保持不变)、平移和强度的附加变化具有不变性。但是,它对强度和比例的缩放不具有不变性。
其他方法如 SIFT 使用高斯差 (DoG) 来检测不同尺度的兴趣点,并且对尺度具有不变性。
描述符基本上是矢量表示,以数学方式描述图像中的某个区域。描述符也应该对旋转、缩放和平移具有不变性。
特征匹配
一旦检测到每个查询和训练图像的关键点和特征,就需要一个匹配器对象来匹配图像对的相应特征。这称为特征对应。有各种匹配器对象,如强力匹配器、基于 FLANN 的匹配器等。
暴力匹配器 (BF) 的作用正如其名称所示。给定 2 组特征(分别来自图像 A 和图像 B),将 A 组中的每个特征与 B 组中的所有特征进行比较。默认情况下,BF 匹配器会计算两点之间的欧几里得距离。
然而,如果我们想要考虑多个候选匹配,我们可以使用基于 KNN 的匹配程序。KNN 不会返回给定特征的单个最佳匹配,而是返回 k 个最佳匹配。
匹配率测试
为了确保 KNN 返回的特征具有很好的可比性,SIFT 论文的作者提出了一种称为比率测试的技术。基本上,我们迭代 KNN 返回的每一对并执行距离测试。对于每对特征(f1,f2 ),如果f1和f2之间的距离在某个比率范围内,我们保留它,否则,我们将其丢弃。此外,必须手动选择比率值。
单应性矩阵
想象两种场景。
(1) — 每次拍照时,向左走一步,同时保持相机静止。
(2) — 站在固定位置,手持相机旋转身体,在旋转的同时捕捉不同的照片。
如果我们想在 (1) 中将图像拼接在一起,我们可以简单地将一张照片叠加在另一张照片上,这样就能得到很好的效果。然而在 (2) 中,如果我们想通过简单地将图像叠加在一起来将图像拼接在一起,我们会发现拼接的结果很糟糕(由于捕获图像的平面不同,某些区域会被遗漏)。因此,我们需要使用单应性将一幅图像投影到另一幅图像的同一平面上,然后再将它们拼接在一起。
因此,一旦找到最精确、最准确的特征对,就会应用变换矩阵将两幅图像放在同一平面上。这种变换称为单应性矩阵。简而言之,单应性是一个 3x3 矩阵,可用于许多应用,例如相机姿势估计、透视校正和图像拼接。单应性是一种 2D 变换。它将点从一个平面(图像)映射到另一个平面。
计算单应性矩阵
然而,单应性矩阵对异常值很敏感。我们可以使用随机样本一致性 (RANSAC) 产生稳健的结果,其中我们在 H 矩阵的计算中只包括内点(True positive matches)。
我们可以使用随机样本共识 (RANSAC) 产生稳健的结果,其中我们在 H 矩阵的计算中只包括内点(True positive matches)。
线性回归等模型使用最小二乘估计来将最佳模型与数据拟合。我们可以看到,线性回归模型很容易受到异常值的影响。这是因为它试图减少平均误差。因此,它倾向于选择最小化所有数据点与模型本身的总距离的模型。这包括异常值。
因此,如果异常值的数量很大,它可能会失败。RANSAC 通过仅使用数据中的内点子集来估计参数来解决此问题。
图像变换
一旦我们得到了估计的单应性矩阵,我们就需要将其中一张图片变换到一个公共平面上。
在这里,我们将对其中一张图片应用透视变换。基本上,透视变换可以结合一个或多个操作,如旋转、缩放、平移或剪切。其理念是变换其中一张图片,使两张图片合并为一张。
#DINOv3
DINOv3确实很“类脑”!Meta 深度研究揭示模型、训练与数据的三重影响
近年来,一个引人入胜的现象是,先进的AI视觉模型在处理图像时,其内部的表征(representations)与人脑的神经活动惊人地相似。但这背后深层的驱动力是什么?是模型架构、训练数据,还是训练时长?为了解开这个谜题,来自Meta AI和巴黎高等师范学院的研究者们进行了一项系统性的研究,深入剖析了这三大因素如何独立及共同作用,推动AI模型向“类脑”的视觉系统演化。
这项研究的核心是,通过系统地训练一系列自监督视觉Transformer模型(DINOv3),并将其与高时空分辨率的人脑活动数据(fMRI和MEG)进行对比,从而“解耦”(Disentangle)各个因素的影响。研究结果不仅证实了AI与大脑的趋同性,更揭示了这种趋同性背后遵循着特定的时空规律,甚至与大脑皮层的结构和功能属性息息相关。
- 论文标题: Disentangling the Factors of Convergence between Brains and Computer Vision Models
- 作者天团: Joséphine Raugel, Marc Szafraniec, Huy V. Vo, Camille Couprie, Patrick Labatut, Piotr Bojanowski, Valentin Wyart, Jean-Rémi King
- 机构: Meta AI, 巴黎高等师范学院-PSL大学 (Ecole Normale Supérieure - PSL Université)
- 论文地址: https://arxiv.org/abs/2508.18226
研究背景:AI与大脑的“不谋而合”
现代深度学习模型,尤其是在计算机视觉领域,已经在许多任务上达到了甚至超越了人类的水平。更令人惊讶的是,这些模型的内部工作方式似乎在模仿大脑。大量研究通过功能性磁共振成像(fMRI)、脑磁图(MEG)等技术发现,AI模型的激活模式可以线性地预测出大脑在看到相同图像时的神经响应。
然而,之前的研究大多使用预训练好的模型,这些模型在架构、训练目标和数据上各不相同,使得很难弄清楚究竟是哪个因素导致了这种“不谋而合”。本研究的重大意义就在于,它首次通过严格控制变量的方法,系统地探究了模型尺寸、训练量和图像类型这三个关键因素的作用。
研究方法:如何量化“类脑”程度?
为了精确衡量AI模型与大脑的相似度,研究者采用了三种互补的度量指标:
- 编码分数 (Encoding Score): 这是最核心的指标,通过线性回归模型,衡量从AI模型各层的激活值预测大脑神经活动(fMRI或MEG信号)的准确度。分数越高,代表AI的表征与大脑的表征越相似。
- 空间分数 (Spatial Score): 基于fMRI数据,该指标衡量AI模型的层次结构是否与大脑视觉皮层的空间组织结构相对应。一个“类脑”的模型,其浅层应该更好地预测初级视觉皮层(如V1)的活动,而深层则应更好地预测高级视觉区域(如前额叶皮层)的活动。
- 时间分数 (Temporal Score): 基于MEG数据,该指标衡量AI模型的层次结构是否与大脑处理视觉信息的时间动态相对应。即,模型的浅层应与大脑的早期神经响应(~100ms)对齐,深层则与晚期响应对齐。
研究团队基于强大的自监督模型 DINOv3,训练了多个变体,系统地改变其模型尺寸、训练步数以及训练数据的类型(人类中心的自然图像、卫星图像、细胞图像)。
核心发现:解耦三大因素的影响1. DINOv3确实很“类脑”
首先,研究证实了完全训练好的DINOv3模型与人脑视觉通路具有高度的相似性。其表征能够显著预测从初级视觉皮层到高级前额叶区域的fMRI信号,以及图像出现后长达3秒的MEG信号。
更重要的是,模型的计算层次与大脑的时空处理层次完美对应:模型浅层对应大脑的初级、快速响应;模型深层对应大脑的高级、慢速响应。
2. “类脑”特性的涌现过程
研究的关键发现来自于对模型训练过程的分析。结果表明,“类脑”特性不是一蹴而就的,而是遵循着一个特定的“发育”轨迹。在训练初期,模型首先与大脑的初级感觉皮层(如V1, V2)对齐。随着训练的进行,与更高级皮层的相似性才逐渐涌现。
研究者引入了“半衰期”(half time)的概念,即相似度分数达到其最终值一半所需的训练量。分析发现,大脑中距离V1越远的区域,其对应的“半衰期”越长,意味着需要更多的训练才能与模型对齐。这个过程完美复现了大脑视觉通路从后到前的处理流。
3. 模型尺寸的影响:越大越“聪明”
研究发现, 模型尺寸越大,其与大脑的相似度越高。更大的模型不仅在最终的编码、空间和时间分数上表现更好,而且这种优势在高级皮层(如BA44, IFS)上尤为明显。这表明,增加模型容量是实现与大脑高级功能对齐的关键。
4. 图像类型的影响:生态有效性至关重要
研究比较了在三种不同类型图像(人类中心的自然图像、卫星图像、细胞图像)上训练的模型。结果显示,尽管所有类型的图像都能让模型学习到一些通用的低级视觉特征,但 只有在人类中心的自然图像上训练的模型,才能与大脑达成最高度的整体相似性。这强调了训练数据的“生态有效性”(ecologically valid)——即数据需要反映生物体在自然环境中接收的视觉输入——对于构建类脑模型至关重要。
5. 与大脑皮层属性的深刻关联
最令人惊叹的发现是,AI模型学习“类脑”表征的“发育”速度,与大脑皮层本身的多种生物属性高度相关。模型学习最慢的那些表征,恰好对应于那些在人类发育中成熟最晚、皮层最厚、髓鞘化程度最低、内在时间尺度最慢的脑区。
这一发现强有力地表明,AI模型的学习轨迹可能在无意中模拟了人类大脑视觉功能的发育过程,为理解大脑如何“学会”看世界提供了一个全新的计算视角。
总结与展望
这项研究系统地解耦了模型尺寸、训练量和数据类型对塑造类脑表征的影响,得出了清晰的结论:更大、在更生态化的数据上训练更久的模型,会变得更像大脑。
CV君认为,这项工作意义非凡。它不仅深化了人们对AI与大脑相似性背后原因的理解,更重要的是,它展示了如何利用AI模型作为一种“计算工具”来探索大脑组织的基本原则。通过观察机器如何“学会”像人一样观看,或许能最终揭示人类大脑视觉系统发育和成熟的奥秘。这项研究为连接人工智能和神经科学两大领域架起了一座坚实的桥梁。
#FastFit
中大联合LavieAI等提出FastFit:快如闪电的多参考虚拟试穿,速度与质量双飞跃
虚拟试穿技术潜力巨大,但其在真实世界的应用面临两大瓶颈:一是现有方法难以支持包含多件服装和配饰的复杂穿搭组合;二是其核心的扩散模型在生成图像时,因反复计算参考特征而效率低下。
为攻克这些难题,来自中山大学、LavieAI和鹏城实验室的研究者们提出了 FastFit,一个基于新型 可缓存扩散架构(Cacheable Diffusion Architecture) 的高速多参考虚拟试穿框架。FastFit通过引入半注意力(Semi-Attention)机制,并用类别嵌入(Class Embedding)替代传统的时间步嵌入(Timestep Embedding),成功地将参考服装的特征编码过程与耗时的去噪过程完全解耦。
这一创新使得参考特征只需计算一次,便可在所有去噪步骤中无损复用,从根本上解决了效率瓶颈,实现了比同类方法平均 3.5倍 的惊人加速。此外,为了推动该领域的发展,团队还构建并发布了一个全新的大规模多参考虚拟试穿数据集 DressCode-MR。在多个数据集上的大量实验证明,FastFit不仅在推理效率上遥遥领先,更在图像生成质量的关键指标上超越了当前最先进的方法。
- 论文标题:FastFit: Accelerating Multi-Reference Virtual Try-On via Cacheable Diffusion Models
- 作者:Zheng Chong;Yanwei Lei;Shiyue Zhang;Zhuandi He;Zhen Wang;Xujie Zhang;Xiao Dong;Yiling Wu;Dongmei Jiang; Xiaodan Liang
- 机构:中山大学;LavieAI;鹏城实验室
- 论文地址:https://arxiv.org/pdf/2508.20586
- 代码地址: https://github.com/Zheng-Chong/FastFit
1. 引言 (Introduction)
虚拟试穿(Virtual Try-On, VTO)旨在将任意服装图像“穿”到指定的人物模特身上,这项技术有望彻底改变时尚电商和数字内容创作的形态。近年来,基于扩散模型的方法因其出色的图像生成质量,已成为VTO领域的主流。然而,现有技术仍存在两个亟待解决的挑战:
- 缺乏多参考能力:现实中的穿搭(outfit)往往是多件单品的组合,如上衣、裤子、鞋子和包包。但现有VTO方法大多只支持单件服装的试穿,无法应对这种更复杂、更实用的多参考组合场景。
- 推理效率低下:扩散模型在生成图像时需要执行多步迭代的去噪过程。在每一步,模型都需要将参考服装的特征与当前步的噪声图像、时间步信息结合起来进行计算。这意味着参考服装的特征在整个生成流程中被重复编码了数十次,造成了巨大的计算资源浪费,严重阻碍了VTO技术的实时应用。
为了同时应对这两个挑战,本文提出了FastFit框架。它不仅能够处理包含多件衣物的复杂试穿任务,还通过一种创新的可缓存扩散架构,实现了前所未有的推理速度。
上图展示了FastFit强大的通用性,无论是单参考、跨人物还是复杂的多参考试穿,它都能以更快的速度生成高保真结果。
2. 相关工作 (Related Work)
虚拟试穿技术经历了从基于GAN到基于扩散模型的发展。扩散模型虽然在保真度和细节还原上表现更优,但其固有的迭代特性带来了严重的效率问题。在标准的VTO扩散模型中,UNet去噪器的输入通常包含四部分:带噪潜变量、目标姿态、时间步嵌入和参考服装特征。由于时间步嵌入在每一步都会变化,导致整个输入都随之改变,模型必须在每个去噪步骤中重新计算所有部分的注意力图,尤其是计算成本高昂的参考服装特征,从而导致了严重的效率瓶颈。
上图对比了不同VTO方法的架构。传统方法(a)和(b)在每个去噪步骤中都将参考特征与时间步t耦合,导致重复计算。FastFit(c)通过解耦实现了参考特征的缓存和复用。
3. DressCode-MR:一个新的多参考试穿数据集
为了更好地研究和评估多参考虚拟试穿,研究团队构建了一个全新的大规模数据集——DressCode-MR。该数据集的发布填补了该领域在复杂、多品类组合穿搭场景下的数据空白。
- 规模与内容:包含28,179组高质量的图像对,每组图像都由一张全身人物照和其身上穿着的单品(上衣、下装、连衣裙、鞋子、包袋五大类)的“标准照”构成。
- 构建流程:通过一个“专家模型+人工反馈”的流程精心构建。首先利用先进的分割、修复和姿态估计模型自动处理原始图像,然后由人工进行严格的筛选和修正,确保了数据的高质量和准确性。
上图展示了DressCode-MR数据集中的样本示例,每组样本都包含人物图和对应的多件单品图。
4. 方法 (Methodology)
FastFit的核心在于其创新的 可缓存UNet架构,它通过两大关键设计实现了参考特征与去噪过程的解耦。
上图为FastFit的整体架构。其核心是一个可缓存的UNet,通过将参考特征的条件从时间步改为类别嵌入,并使用半注意力机制,实现了参考特征的KV缓存,从而避免了重复计算。
4.1 类别嵌入替代时间步嵌入
FastFit做出的第一个关键改动是,在对参考服装进行特征编码时,不再使用变化的时间步t
作为条件,而是使用一个固定的 类别嵌入(Class Embedding)。例如,对于一件上衣参考图,模型会输入“上衣”这个类别的嵌入向量。由于类别嵌入是固定不变的,这意味着编码后的参考特征(在注意力机制中表现为Key和Value)也变成了与时间步t
无关的常量。因此,这些特征可以在去噪过程开始前计算一次,然后被“缓存”起来,在后续所有去噪步骤中直接调用,彻底消除了重复计算的开销。
4.2 半注意力机制 (Semi-Attention)
仅仅替换嵌入向量还不够,还需要一种新的注意力机制来配合。FastFit为此设计了 半注意力(Semi-Attention) 机制。在这种机制下,不同特征的“注意力权限”是不同的:
- 去噪特征(Query):拥有最高权限,可以关注(attend to)网络中所有的特征,包括它自身以及所有参考服装的特征。
- 参考特征(Key/Value):权限受限,每个参考单品(如上衣、裤子)的特征只能关注其自身内部的特征,不能“看到”其他参考单品或去噪特征。
上图可视化了半注意力机制的掩码。去噪特征X可以关注所有特征,而每个参考特征Ri则被限制在自身范围内。
这种非对称的注意力设计,既保证了去噪过程能充分从各个参考服装中提取所需信息,又防止了不同参考服装间的信息不当串扰,同时完美地配合了特征缓存策略,实现了效率和质量的统一。
5. 实验 (Experiments)
5.1 效率对比
效率是FastFit的最大亮点。如下表所示,在与同样基于扩散模型的SOTA方法(如LaDI-VTON、OOTDiffusion)的对比中,FastFit在几乎不增加模型参数量的前提下,将单张图像的生成时间从十几秒大幅缩短至几秒,平均加速比达到了 3.5倍。
5.2 多参考试穿质量对比
在专门为多参考场景设计的DressCode-MR数据集上,FastFit不仅速度最快,其生成质量(以KID、SSIM、PSNR等指标衡量)也全面超越了其他方法。
定性结果也同样令人信服。如下图所示,FastFit能够高质量地合成包含多件衣物的复杂穿搭,细节清晰,伪影更少。
5.3 单参考试穿质量对比
为了证明其通用性,FastFit也在传统的单参考数据集VITON-HD和DressCode上进行了测试。结果表明,即便是在单参考场景下,FastFit的生成质量依旧能与顶尖方法相媲美,甚至在部分指标上更优。
5.4 消融研究
消融实验证明了FastFit中各个设计的重要性。移除可缓存机制会导致速度大幅下降,而用标准的全注意力机制替换半注意力机制则会导致生成质量的显著降低,验证了FastFit设计的精妙与高效。
6. 结论
本文提出了FastFit,一个为多参考虚拟试穿量身打造的高速生成框架。通过引入创新的可缓存扩散架构,FastFit成功地将参考特征的编码与去噪过程解耦,实现了革命性的 3.5倍 推理加速,同时在生成质量上达到了SOTA水平。此外,本文还贡献了首个大规模多参考虚拟试穿数据集DressCode-MR,为社区的后续研究铺平了道路。FastFit的提出,无疑将极大推动虚拟试穿技术从实验室走向真实世界应用的进程。
#OneReward
字节跳动提出:一个奖励模型统一多任务图像生成,效果全面超越PS!
图像修复、内容扩写、无痕移除、文字生成……这些强大的图像编辑功能,我们通常需要在不同的软件或模型中切换使用。有没有可能用一个统一的模型,同时精通所有这些任务,并且在各项指标上都做到顶尖水平?
来自字节跳动的研究团队给出了肯定的答案。他们推出了一个名为 OneReward 的统一强化学习框架,旨在解决多任务图像生成中的“众口难调”问题。其核心思想是,仅使用一个强大的视觉-语言模型(VLM)作为通用的“奖励裁判”,就能指导一个生成模型在图像填充、扩展、移除、文字渲染等多个任务中,同时满足美学、一致性、准确性等多种评价标准。
基于该框架,团队打造了名为 Seedream 3.0 Fill 的统一图像编辑模型。实验结果显示,该模型在多项任务和评估维度上,持续优于Adobe Photoshop、Ideogram、FLUX Fill [Pro] 等一系列顶尖的商业软件和开源模型。目前,该工作的代码和模型均已开源。
- 论文标题: OneReward: Unified Mask-Guided Image Generation via Multi-Task Human Preference Learning
- 作者团队: Yuan Gong, Xionghui Wang, Jie Wu, Shiyin Wang, Yitong Wang, Xinglong Wu
- 作者机构: 字节跳动 (ByteDance Inc.)
- 论文地址: https://arxiv.org/abs/2508.21066
- 项目主页: https://one-reward.github.io
背景:多任务图像编辑的“众口难调”
基于掩码的图像生成是一个涵盖多种子任务的广阔领域,例如:
- 图像填充(Image Fill):在指定区域内根据文本生成内容,考验的是文本对齐和结构合理性。
- 图像扩展(Image Extend):在图像外部生成内容,考验的是美学和风格一致性。
- 对象移除(Object Removal):无痕地抹除物体,考验的是纹理一致性和移除质量。
- 文字渲染(Text Rendering):准确地在图中生成文字,考验的是文字渲染准确率。
这些任务虽然都使用“掩码”作为输入,但其底层数据分布和评价标准却截然不同。一个在美学上出色的扩图结果,可能在文本对齐上是失败的。现有方法通常依赖于任务特定的监督式微调(SFT),即为每个子任务单独训练模型或进行微调。这种方式不仅成本高昂、效率低下,而且严重限制了模型的泛化能力,难以构建一个“十项全能”的统一编辑模型。
OneReward:用一个统一奖励模型搞定一切
为了打破任务壁垒,研究者提出了OneReward框架,其核心是用一个统一的奖励模型来取代针对不同任务和指标的多个分离的奖励信号。
核心思想:VLM作为通用偏好裁判
OneReward的基石是一个强大的、经过人类偏好数据对齐的视觉-语言模型(VLM)。这个VLM被训练成一个通用的“品鉴师”或“裁判”,它能够理解复杂的指令,并对生成结果进行多维度的评估。
具体来说,在训练时,可以向这个VLM裁判提问:“对于[任务类型],在[评价维度]上,图A和图B哪个更好?”。例如:
- “对于图像填充,在美学上,图A和图B哪个更好?”
- “对于文字渲染,在文本对行上,图A和图B哪个更好?”
由于VLM强大的语言理解能力,它可以用一个统一的模型架构,灵活地处理这些来自不同任务、不同维度的偏好判断。实验表明,这个单一的奖励模型在各项任务和指标上都能准确地分辨出人类偏好中的“赢家”和“输家”,准确率普遍超过70%,为后续的强化学习提供了可靠的信号。
训练流程:多任务强化学习
拥有了全能裁判后,训练流程变得清晰而统一。如下图所示,整个过程是一个多任务强化学习(RL)循环:
- 随机采样任务:从图像填充、扩展、移除等任务中随机选择一个。
- 生成与对比:让当前正在训练的策略模型(Policy Model)和作为基准的参考模型(Reference Model)分别生成结果。
- 获取奖励:将两个结果提交给OneReward模型,并随机指定一个评估维度(如美学、一致性等),由OneReward模型判断策略模型的结果是否更优,并给出奖励分数。
-
- 模型优化:根据奖励信号,通过梯度上升优化策略模型,使其生成的图像更符合OneReward裁判的“口味”。
通过在这个统一框架下不断循环,策略模型被驱使着在所有任务、所有评价维度上同时进步,最终进化成一个无需任何任务特定SFT的、强大的统一编辑模型。
实验结果:全面超越SOTA
基于OneReward框架训练出的 Seedream 3.0 Fill 模型,在实验中展现了惊人的全能表现。
Seedream 3.0 Fill:统一编辑模型的强大实力
下图直观展示了Seedream 3.0 Fill在四大编辑场景中的能力,无论是复杂的图像填充、自然的场景扩展、干净的物体移除,还是精准的文字渲染,模型都表现得游刃有余。
定量与定性对比
在与业界顶尖模型和商业软件的“头对头”比较中,Seedream 3.0 Fill几乎取得了压倒性胜利。 如下方的雷达图和表格所示,无论是在可用率(Usability Rate)这样的总体指标上,还是在文本对齐、纹理一致性、美学等细分维度上,Seedream 3.0 Fill在绝大多数评测中都名列前茅,显著优于Adobe Photoshop, Ideogram, FLUX Fill [Pro]等强劲对手。
下图的视觉对比也进一步证实了其优越性,在各种复杂的编辑场景下,Seedream 3.0 Fill的生成结果往往更自然、更符合用户意图。
总结与贡献
OneReward的提出,为解决多任务生成模型的训练困境提供了一个极具开创性的思路。其核心贡献在于:
- 提出了OneReward框架:一个新颖、统一的强化学习框架,通过单个VLM奖励模型,实现了对多任务、多评价维度的统一优化。
- 验证了RL替代SFT的可行性:成功证明了可以直接在预训练模型上通过多任务强化学习进行优化,完全绕过繁琐且低效的任务特定SFT,为未来生成模型的训练范式提供了新思路。
- 打造了SOTA统一编辑模型:基于该框架开发的Seedream 3.0 Fill,在多个任务上全面超越现有商业和开源方案,展示了该框架的巨大潜力。
- 全面开源:团队将开源模型和代码,为社区研究和应用统一生成模型提供了宝贵的资源。
CV君认为,OneReward的思路极具启发性,它将VLM的语言理解能力巧妙地转化为可泛化的奖励信号,优雅地解决了多任务学习中的核心矛盾。这不仅对图像编辑领域,对其他需要进行多目标优化的生成任务(如视频、3D等)也具有重要的借鉴意义。
#InterVLA
聚焦第一视角感知决策,大规模通用人-物-人交互数据集与评测基准
近日,上海交通大学联合宁波东方理工大学、南京航空航天大学以及联想的一篇关于第一视角人-物-人交互的研究工作被计算机视觉顶级会议ICCV 2025录用,论文、代码、数据均将开源。
- 论文标题:Perceiving and Acting in First-Person: A Dataset and Benchmark for Egocentric Human-Object-Human Interactions
- 论文地址:https://arxiv.org/abs/2508.04681
- 项目主页:https://liangxuy.github.io/InterVLA/
本文的主要贡献为:
- 采集了首个大规模包含多种交互类别和第一视角数据的人-物-人交互数据集,包含11.4小时和1.2M帧交互数据;
- 构建多任务评测基准,赋能第一视角人体姿态估计、交互生成、交互预测等下游任务。
图1. InterVLA基于视觉-语言-动作范式采集了大规模人-物-人交互数据,共计3.9K交互序列和11.4小时超过1.2M帧的多模态交互数据,包含第一视角、第三视角视频数据,语言指令和高精度人/物动作轨迹。
01. 简介
我们始终怀揣憧憬,通用人形智能机器人能够走进千家万户为人们的日常生活提供极大便利。尽管随着大模型、具身智能的飞速发展,机器人的自身控制、感知操控、导航能力不断突破极限,但是迈向真正通用的服务机器人仍然有很长一段路要走。
由于直接采集机器人数据成本较高,因此很多方法改为采集真人数据并迁移应用到真机上。从数据的角度来看,通用服务机器人往往需要泛化的交互类别以及第一视角的感知数据,然而目前的数据集往往只针对特定的交互类别(例如只有人物交互),而没有提供一个通用的交互场景。同时,已有的大部分数据集忽略了一个事实,即机器人通常是通过第一视角来感知与决策。因此,构建一个同时拥有多样的交互类别以及第一视角感知数据的数据集很有必要。
02. 数据集构建
InterVLA数据集采用精心设计的视觉-语言-动作流程构建,模拟真实日常场景中的人-物-人交互行为,两个人分别扮演<指令者>和<助手>的身份,其中指令者通过语言和肢体动作表达需求,助手理解意图并提供相应的服务,例如“请帮我把桌上的杯子递给我”。其中一个数据集的例子可以参见图2。
图2. InterVLA数据样本。包括2个第一视角视频、5个第三视角视频、语言指令和人体动作/物体运动轨迹。
场景设置方面,我们首先在场地中随机布置桌椅等家具作为简易的场景设定,同时,我们选取多个可操作物体(例如苹果、刀具、杯子等)并随机摆放在场景中。我们一共收集了50个真实物体或者高保真塑料物体制品,其中35种为小型物体,15种为大型物体,每个场景中包含2-3个家具和5个随机物体,确保多样性。图3展示了我们采用的视觉-语言-动作采集系统。
图3. InterVLA数据集采集系统。(a) 我们在人身上粘贴光学反光点,并佩戴第一视角相机;(b) 我们选取的物体设定;(c) 光学动捕场地以及多视角RGB相机设定。
视觉方面
InterVLA数据集提供高质量的第一视角和第三视角视频数据,我们通过采用真实物体以及在人体皮肤上粘贴反光点(而非穿紧身动捕服)的策略,充分保证了RGB数据的高保真度。助手会在前胸和额头各绑定一个第一视角GoPro相机,以5312x2988的高分辨率采集第一视角画面。此外,我们还在场景周围均匀布置了五个高低错落的Kinect相机以1920x1080的分辨率采集多视角第三视角交互数据。第一视角和第三视角视频通过时间戳进行时许对齐,GoPro相机的内参、Kinect相机的内外参均进行了标定。
语言方面
InterVLA数据集采用了大语言模型来设计多样化的场景布置和操作指令。给定50种物体类别,我们提示大语言模型根据物体的功能性以及不同物体之间的功能组合来生成合理且多样的物体摆放、以及对物体的操作指令,每个场景会包含2-3个家具物体,5个可操作物体,以及8条连续的操作指令。所有生成的剧本结果都经过了仔细的人工检查和微调,最终我们收集了100条剧本。
动作方面
InterVLA数据集使用20台相机的高精度OptiTrack光学动捕系统采集人体动作和物体运动轨迹。如上所述,我们用医用胶带在人体表面粘贴反光点来捕捉人肢体动作,物体作为刚体来处理,在其表面粘贴不少于4个反光小球来捕捉物体的运动轨迹。在采集过程中,所有的人、物体都经过了精细的构建和标定。动捕数据通过额外的时间码与视觉数据进行时序对齐。
最终,我们将动捕得到的人体动作拟合成SMPL参数,同时将所有涉及到的物体通过高精度物体扫描仪扫描出物体的几何表征。所有的视频数据被归一化为1920x1080分辨率,30FPS。我们一共召集了47个参与者,组成27对<指令者,助手>进行了数据采集,最终得到3,906个交互片段,共计11.4小时和1.2M帧的交互数据,与现有数据集比较的表格如下图4所示。
表1. InterVLA与已有数据集的比较。包含人人、人物、人景、多物体操作,以及第一和第三视角数据。
03. 下游实验
通用人形机器人需要具备第一视角感知推理与决策的能力,因此我们在InterVLA数据集上定义了四种下游任务和评测指标,分别为1. 第一视角人体姿态估计,2. 交互生成,3. 基于动作的交互预测,4. 基于视觉-语言的交互预测,如下图4所示。
图4. InterVLA数据集能够赋能多种下游任务。包括第一视角人体动作估计,文本驱动的交互生成,以及基于动作的交互预测和基于视觉-语言的交互预测。
04. 结果分析
我们对提出的四个下游任务分别构建了完善的评测基准,并均选取了3-4个主流算法进行了充分实验。对于第一视角全局人体动作姿态估计任务,我们选取了TRACE、GLAMR、TRAM、WHAM等四个算法进行实验,结果如表2所示,体现了第一人称视角的遮挡、高速相机移动、人体捕捉不全等问题对动作姿态估计任务带来了挑战。
表2. 第一视角全局人体动作估计结果对比。
对于文本驱动的人-物-人交互序列生成任务,本文选取了MDM、priorMDM、HIMO等三个算法进行了实验,结果如表3所示,其中HIMO取得了最好的生成效果。
表3. 文本驱动的人-物-人交互序列生成量化结果对比。
对于基于动作的交互预测任务,本文选取了MDM、InterDiff和CAHMP三个算法进行了实验,结果如表4所示。
表4. 基于动作的交互预测量化结果对比。
对于基于视觉-语言的交互预测任务,本文选取了FHOI、OCT、USST等三个算法进行了实验,结果如表5所示。
表5. 视觉-语言驱动的交互预测量化结果对比。
05. 总结与展望
InterVLA数据集通过整合第一人称视角、多模态数据和通用交互场景,为构建真实世界中的智能AI助手奠定了基础。其独特的VLA框架和多样化的交互类型弥补了现有数据集的不足,为机器人交互、AR/VR和动作预测等领域提供了数据资源。然而,数据集目前局限于室内场景,物体种类和数据量仍不足以训练大型通用交互模型,未来可扩展至室外场景并增加数据规模。此外,动作捕捉的复杂性(如反光标记的安装)增加了数据采集成本,需探索更高效的采集方法。
#MPAE
首个适用于复杂场景的无监督子部件分割的新范式
本文介绍了悉尼科技大学的最新研究成果MPAE(Unsupervised Part Discovery via Descriptor-Based Masked Image Restoration with Optimized Constraints)
。MPAE致力于在复杂场景中发现不同类别物体中具有相似语义的子部件,并为其生成像素级掩膜,作为细粒度分类、3D重建等下游任务的重要中间特征。该方法通过改进现有无监督框架的学习目标和约束机制,使模型在无需任何标注的情况下,能够依据物体部件间的语义相似性挖掘出共享子部件,其性能不仅大幅优于现有无监督方法,也超过了部分弱监督方法。
论文第一作者为悉尼科技大学博士后夏家豪(Jiahao.Xia-1@uts.edu.au),通讯作者为悉尼科技大学Multimedia Data Analytics实验室主任张健教授(Jian.Zhang@uts.edu.au)。
- 论文标题:Unsupervised Part Discovery via Descriptor-Based Masked Image Restoration with Optimized Constraints
- Arxiv链接:https://arxiv.org/abs/2507.11985
- 开源代码:https://github.com/Jiahao-UTS/MPAE
研究背景与意义
物体子部件掩膜可以有效辅助计算机视觉系统对场景环境理解,提升细粒度分类,行人重识别以及3D重建等下游任务的性能。然后,针对复杂场景中每个物体子部件标注像素级掩膜通常是费时费力,难以大范围推广。因此,大量研究希望基于物体间各子部件的语义相似度在无需人为标注的情况下训练获得可以稳定预测物体像素级子部件掩膜的模型。
由于缺乏人工标注,现有无监督模型通常通过利用提取到的子部件描述子(descriptors)重建图像,以使物体边缘的外观信息与描述子对齐,从而生成像素级掩膜。然而,为确保所发现子部件具有语义一致性,这些描述子应捕捉高阶语义信息而非低阶外观特征,这在一定程度上削弱了它们与物体边缘的对齐能力,导致生成的掩膜不够贴合。此外,由于缺乏类别信息的监督,模型难以判断不同物体应包含哪些子部件(例如四足动物不应包含鱼鳍),因此现有无监督模型往往局限于单一类别,难以推广至多类别的复杂场景。
MPAE:核心方法与创新
为了解决上述调整,研究人员提出了一种全新的无监督子部件分割范式MPAE(Masked Part AutoEncoder)。其核心创新点在于:
1. 优化学习目标以促进表述子对齐
为克服以图像重建为学习目标所带来的局限性,MPAE基于图像修复任务重新设计学习目标,从而在无需人工标签的情况下,实现更加稳健的子部件描述子与部件边缘外观的对齐。
不同于以往方法,MPAE通过随机遮挡图像,并使用MPAE Encoder将未遮挡的图像块提取为tokens,保留部分低阶外观信息。随后,模型利用表述子对缺失图像块进行修复,借此引导其对齐至子部件边缘。具体而言,MPAE采用一个可训练的Vision Transformer (ViT) 提取 K 个前景表述子与一个背景表述子。
然后,将这 K+1个表述子与由预训练自监督模型(如DINO v2)生成的特征图 F 计算相似度,得到相似度图 P ,以确定各个表述子的空间位置。通过最大化特征图中区域与对应表述子之间的相似度,模型进一步增强了表述子的语义表达能力。
最后,基于相似度图 P ,将各表述子分配至被遮挡区域以完成修复过程。
2. 优化约束机制以适应多类别复杂场景
由于缺乏类别标签,传统方法无法判断不同物体应包含哪些子部件,通常默认所有子部件在每个物体中均存在,限制了其在多类别复杂场景中的适用性。
为此,MPAE引入了一种宽松且有效的约束机制:将一个训练 batch 划分为多个 mini-group,并鼓励每个子部件在每个 mini-group 中至少出现一次,同时每张图像至少包含一个子部件。该机制使模型能够根据图像语义自适应地确定物体应包含的子部件种类。
此外,为防止模型退化为实例级分割模型,MPAE进一步限制 K 个前景描述子仅与特征图 F 中高相似度区域对齐,从而确保每个目标被解析为多个具有更高语义细粒度的子部件。
实验设计与结果分析
MPAE在主流的单类别与多类别数据集上均取得了显著成果。实验表明,MPAE不仅大幅超越现有的无监督方法,在归一化互信息(NMI)和调整兰德指数(ARI)两个指标上也分别相比最新的弱监督方法提升了25.1%和22.3%。这些结果充分验证了MPAE各项设计改进的有效性。
结论与展望
MPAE通过优化现有无监督子部件分割模型的学习目标与约束机制,成功实现在多类别复杂场景中的鲁棒子部件发现与表征学习,同时生成对应的像素级掩膜。该方法不仅为无监督学习提供了更为丰富的理论支持,也为各类下游任务提供了高细粒度的中间特征,有助于视觉模型从更精细的层面理解场景语义。
#DescriptiveEdit
描述替代指令:南大联合vivo发布DescriptiveEdit,定义语义图像编辑新范式
最新工作 DescriptiveEdit 提出了一种基于“描述”的新范式,不仅能实现全局和局部的高质量编辑,还能与 ControlNet、LoRA 等扩展无缝兼容。它在指令遵循度与结构保真之间找到了更理想的平衡,为语义图像编辑带来了更灵活的解决方案。
文章链接:https://arxiv.org/abs/2508.20505
项目链接:https://twinkle-ce.github.io/DescriptiveEdit/
- 基于描述的图像编辑新范式:与现有方法依赖指令(instruction)表达编辑意图不同,本文提出描述(description)直接引导的语义编辑框架DescriptiveEdit。
- 参考图控制策略:DescriptiveEdit在去噪过程中实现参考图控制,并通过零初始化的线性层学习自适应权重,有效缓解了图像编辑中精准编辑与结构保真的冲突。
- 兼容良好且编辑性能卓越:DescriptiveEdit不仅可以同时支持全局与局部编辑,还可以直接兼容在基础文生图模型上训练的ControlNet、IP-Adapter、LoRA等生态扩展。
图1:DescriptiveEdit编辑效果展示
01 解决的问题
本文主要想解决基于指令的图像编辑范式的以下三个问题:
- 指令编辑数据瓶颈:基于指令的方法需要(参考图,编辑指令,目标图)三元组数据,但现有数据集在规模与多样性上远不及T2I训练数据,限制了模型的泛化能力。
- 架构兼容难:现有基于训练的方法通常需修改扩散模型主干结构,不仅带来高昂的微调成本,还影响与社区扩展模型(如ControlNet,LoRA)的兼容性。
- 编辑灵活性与结构保真的权衡困境:现有方法难以同时兼顾指令遵循度和编辑一致性,经常导致无法遵循编辑指令或者修改非编辑区域的问题。
1.提出的方案
针对上述问题,本文提出了以下解决方案:
- 建立描述(description)直接引导的语义图像编辑框架DescriptiveEdit,在保留扩散模型原本生成能力、降低训练开销的同时,避免了构造高质量指令编辑三元组数据(参考图,编辑指令,编辑图)的问题。
- 引入Attention Bridge在去噪过程中进行参考图控制,并结合零初始化的可学习线性层实现参考图与目标图特征的自适应融合。同时,通过LoRA微调减少了可训练参数量,从而实现高效模型训练。
- 推理阶段引入双系数可控机制,通过参考图保真度系数和文本描述影响力系数调节编辑幅度。
2.应用的技术
DescriptiveEdit框架包含两个技术核心:
- 参考图控制策略:在并行Unet(CrossAttentive Unet和Ref-Unet)之间引入 Attention Bridge进行参考图控制,通过零初始化的线性层逐步学习最优融合系数避免早期冲突, 并结合 LoRA 微调保证训练效率。
- 可控推理策略:通过调整参考图保真度系数和文本描述影响力系数,可在结构保真与语义修改之间灵活切换。
3.达到的效果
- 全局和局部编辑均表现优异,编辑结果在指令遵循度和编辑一致性上取得了最佳平衡。在 Emu Edit test基准测试集上,多个关键指标上领先现有方法。
- 用户可根据需求在“轻微修改”与“大幅变更”之间自由切换,且在不同编辑场景下均保持稳定表现。
- 该架构可扩展至DiT架构,并可与 ControlNet、IP-Adapter 等社区扩展模型良好兼容。
02 方法概述
图2:方法框架图
传统指令驱动的语义图像编辑以“参考图 + 编辑指令 → 编辑图像”为核心流程(如“在天空中添加烟花”)。我们将其重构为“两阶段”:指令 → 编辑描述 → 编辑图像,其中编辑描述(如“天空中烟花绽放”)可由用户直接提供,或由视觉语言模型根据参考图与指令自动生成。于是核心挑战就在于:如何设计高效的参考图控制机制?
由于 T2I 模型本身并不支持图像条件,我们需引入参考图控制机制,同时避免对架构和预训练权重的改动。潜空间扩散模型常用两种条件控制方式:(1)交叉注意力(cross attention):轻量高效,仅编码高层语义(如 Stable Diffusion, IP-Adapter)(2)Unet特征提取:低层对齐好,但需通道拼接并大规模微调(如 ControlNet)。我们结合两者优势,设计了并行Unet网络,其中Cross-Attentive UNet负责去噪,Ref-Unet负责提取条件特征。然后,我们在两者的自注意力层中引入Attention Bridge负责高效条件控制,其中 Query 来自 Ref-UNet,Key和Value 来自Cross-Attentive UNet。我们将Attention Bridge输出的参考特征 Z' 与原自注意力输出 Z 融合,从而在不改变主干结构的前提下实现参考图控制。
然而我们发现直接将 Z 与 Z' 相加易导致参考特征过强、削弱生成效果。为此,我们引入零初始化的可学习线性映射:Zout=Z+Linear(Z′) ,初始时 Linear(Z')=0,保留生成先验;训练中逐步学习平衡生成与参考,引导效果可控。
在训练时,我们采取了以下策略:(1)参考 classifier-free guidance,随机置空编辑描述或参考图(概率 5%);(2)仅对编辑图像加噪(参考图不加噪);(3)Attention Bridge 权重初始化自预训练 Self-Attention,并用 LoRA 微调;可学习映射层采用 ControlNet 零初始化策略。推理时,我们引入两个可调系数 λ 与 λ 控制参考图条件与文本条件权重,实现从轻微修改到大幅变更的灵活编辑。
03 实验
1.实验设置
训练细节:为了确保公平比较,我们与大多数基于训练的方法保持一致,采用 Stable Diffusion v1.5 作为基础模型。模型使用 AdamW 优化器进行训练,学习率设为1e-5。为了实现参数高效微调,我们对 Attention Bridge 层应用 LoRA ,并将rank设置为 64,α设置为 64。
数据集: DescriptiveEdit在 UltraEdit 数据集上进行训练,该数据集包含约 400 万对文本-图像样本。在评估阶段,我们使用 Emu Edit test 基准测试集。然而我们发现该基准测试集存在不一致性,例如源图像与目标图像可能具有相同的文本描述(如 "a train station in a city")。为保证评估的公平性与合理性,我们在计算指标前对这些样本进行了过滤。
对比方法:我们将DescriptiveEdit与两类具有代表性的基线方法进行比较:(1)Training-free 方法:包括 MasaCtrl、RF-Edit、PnPInversion、FPE和 TurboEdit。(2)Training-based 方法:包括 InstructPix2Pix、MagicBrush、EmuEdit、AnyEdit和BrushEdit。
评估指标: 我们从三个维度评估语义图像编辑模型的性能:(1)指令遵循度:使用 CLIP-T 衡量编辑描述与生成图像的一致性。(2)图像一致性:通过 L1 与 L2 距离衡量参考图与编辑图的差异;采用 CLIP-I与 DINO-I特征相似度评估;使用 SSIM评估结构保真度;采用 LPIPS衡量感知质量。(3)图像质量:使用 PSNR 评估像素级重建精度。
2.定量比较
表1:Descriptive与基线方法的定量对比结果
DescriptiveEdit在图像一致性上表现出色,生成结果在结构和语义上都与参考图像高度对齐,确保编辑后的内容与参考图保持合理关联。同时,在指令遵循度方面,生成图像能够精准反映文本描述的意图,无论是局部细节修改还是整体风格调整,都能与指令紧密匹配。整体来看,编辑效果兼顾细节与视觉效果,使得该方法在实际语义图像编辑任务中具有较高的实用价值。
3.定性比较
图3:Descriptive与基线方法的定性对比结果
图3展示了全局与局部编辑任务的对比结果。与训练型和非训练型基线方法相比,DescriptiveEdit在语义一致性与高保真度上均表现出显著优势。全局编辑中,模型能够自然改变图像风格或替换背景,同时保持关键前景元素完整;局部编辑中,模型能平滑修改目标物体,如替换或添加细节,而整体结构与语义保持连贯,这些都是现有方法难以兼顾的。
4.消融实验
图4:描述输入和指令输入的定性对比结果
描述(Description) vs. 指令(Instruction): 为了验证在图像编辑任务中,使用描述引导的编辑是否比指令引导的编辑更有效,我们设计了可控实验:保持其他条件一致,仅将文本输入类型从指令改为描述。图4结果表明,基于描述的方法能更准确传达编辑意图,避免非编辑区域的改变从而提升编辑效果。
图5:不同强度的 对图片编辑结果的影响
λ对图像编辑的影响:为了分析 λ 对编辑结果的影响,我们通过改变 λ 强度进行消融实验。从图5中,我们可以观察到较小的 λ 强度增强了编辑效果但降低了参考图像相似度,而较大的 λ 保留更多细节但编辑能力减弱。实验结果表明,将 λ 设在 1~2.5 范围内可以在编辑强度与参考保真度之间取得良好平衡,并可根据需求灵活调整。
表2:不同注意力融合方式的定量对比结果
自适应注意力融合:我们通过与直接替换或直接相加参考特征的策略比较,验证了自适应注意力融合的有效性。表2中的实验结果显示,直接替换会破坏图像保真与结构一致性,直接相加虽有所改善但缺乏平衡控制。DescriptiveEdit通过可学习的线性层动态调节参考特征融合,实现了图像保真与生成能力的最佳平衡,验证了自适应特征融合在高质量图像编辑中的作用。
5.与社区扩展的兼容性
图6:DescriptiveEdit与社区扩展的兼容性测试
DescriptiveEdit核心优势之一是与社区扩展方法无缝兼容,可在不修改基础模型或重新训练的情况下灵活集成外部控制信号。通过在 IP-Adapter、ControlNet 和 RealCartoon3D 等三种代表性模型上验证,图6中的结果显示DescriptiveEdit始终能保持结构一致性,同时实现风格转换且无明显伪影,证明了DescriptiveEdit具备即插即用的适应性,提高了模型通用性与实用性。
6.跨架构鲁棒性
图7:DescriptiveEdit在Flux上的编辑效果展示
为了验证DescriptiveEdit在不同扩散架构上的鲁棒性,我们将其应用到 Flux中。结果显示,DescriptiveEdit在保持结构完整性的同时,始终能生成高保真编辑结果。这表明DescriptiveEdit在不同扩散模型框架中均具有可靠性能,消除了对特定架构的依赖,进一步强化了其实用价值。
04 结论
本文提出了一种基于描述(description)的语义图像编辑方法 —— DescriptiveEdit,将语义图像编辑统一到文生图框架中。通过引入 Attention Bridge 实现高效参考图控制,并结合 LoRA 微调保证了训练效率与兼容性。实验结果表明,该方法在指令遵循度与编辑一致性等方面均优于现有方案,建立了一个可扩展、即插即用的语义图像编辑新范式。
05 参考文献
[1] Mingdeng Cao, Xintao Wang, Zhongang Qi, Ying Shan, Xiaohu Qie, and Yinqiang Zheng. Masactrl: Tuning-free mutual self-attention control for consistent image synthesis and editing. In ICCV, pages 22560–22570, 2023. 2, 5, 6
[2] Jiangshan Wang, Junfu Pu, Zhongang Qi, Jiayi Guo, Yue Ma, Nisha Huang, Yuxin Chen, Xiu Li, and Ying Shan. Taming rectified flow for inversion and editing. CoRR:2411.04746, 2024. 1, 2, 5, 6
[3] Xuan Ju, Ailing Zeng, Yuxuan Bian, Shaoteng Liu, and Qiang Xu. Pnp inversion: Boosting diffusion-based editing with 3 lines of code. International Conference on Learning Representations (ICLR), 2024. 5, 6
[4] Bingyan Liu, Chengyu Wang, Tingfeng Cao, Kui Jia, and Jun Huang. Towards understanding cross and self-attention in stable diffusion for text-guided image editing, 2024. 5, 6
[5] Gilad Deutch, Rinon Gal, Daniel Garibi, Or Patashnik, and Daniel Cohen-Or. Turboedit: Text-based image editing using few-step diffusion models, 2024. 5, 6
[6] Tim Brooks, Aleksander Holynski, and Alexei A Efros. Instructpix2pix: Learning to follow image editing instructions. In CVPR, pages 18392–18402, 2023. 2, 4, 5, 6
[7] Kai Zhang, Lingbo Mo, Wenhu Chen, Huan Sun, and Yu Su. Magicbrush: A manually annotated dataset for instruction-guided image editing. NeurIPS, pages 31428–31449, 2023. 2, 5, 6
[8] Shelly Sheynin, Adam Polyak, Uriel Singer, Yuval Kirstain, Amit Zohar, Oron Ashual, Devi Parikh, and Yaniv Taigman. Emu edit: Precise image editing via recognition and generation tasks. In CVPR, pages 8871–8879, 2024. 2, 5, 6
[9] Qifan Yu, Wei Chow, Zhongqi Yue, Kaihang Pan, Yang Wu, Xiaoyang Wan, Juncheng Li, Siliang Tang, Hanwang Zhang, and Yueting Zhuang. Anyedit: Mastering unified high-quality image editing for any idea. CoRR, 2024. 2, 5, 6
[10] Yaowei Li, Yuxuan Bian, Xuan Ju, Zhaoyang Zhang, Ying Shan, Yuexian Zou, and Qiang Xu. Brushedit: All-in-one image inpainting and editing. CoRR, abs/2412.10316, 2024. 5, 6
[11] Describe, Don't Dictate: Semantic Image Editing with Natural Language Intent
#One More Glance with Sharp Eyes
锐眼”再看一眼:125M轻量模型挑战大模型,实现高精度端侧图像描述
当将目光投向辅助机器人、视频指令系统等前沿应用时,让机器“看懂”并描述世界的能力显得至关重要。然而,当前主流的多模态大语言模型(MLLM)虽然强大,但其巨大的计算和内存需求,使得在手机、机器人等本地设备上部署它们成为一个几乎不可能完成的任务。
为了打破这一僵局,来自韩国科学技术院(KAIST)、蔚山科学技术院(UNIST)和卡内基梅隆大学(CMU)的研究者们,对轻量级图像描述(Lightweight Captioning)进行了重新思考。他们首先构建了一个参数量仅为 125M 的“专家”模型,其大小仅为LLaMA-7B的1/56,但性能却出人意料地可以与许多大型通用模型相媲美。更进一步,针对小型模型普遍存在的“视觉盲点”问题,他们提出了一种全新的 “锐眼”精炼(Sharp-Eyed Refinement) 框架,模拟人类“再看一眼”的观察习惯,显著提升了描述的准确性和细节。
- 论文标题: One More Glance with Sharp Eyes: Rethinking Lightweight Captioning as a Practical Visual Specialist
- 作者团队: Junha Song, Yongsik Jo, So Yeon Min, Quanting Xie, Taehwan Kim, Yonatan Bisk, Jaegul Choo
- 作者机构: 韩国科学技术院 (KAIST)、蔚山科学技术院 (UNIST)、卡内基梅隆大学 (CMU)
- 论文地址: https://arxiv.org/abs/2508.21451
- 项目主页: https://sites.google.com/view/junha/lightweightcaptioner
研究背景:端侧部署的“不可能三角”
在图像描述领域,我们似乎陷入了一个“不可能三角”:想要高性能,就得用大模型,但大模型算力要求高、速度慢;想要速度快、能上端侧,就得用小模型,但小模型性能又往往不尽人意。
如下图所示,本文提出的125M轻量级描述器,与7B参数的LLaVA-1.5相比,参数量减少了 93%,推理速度提升了 97%,这对于资源受限的本地设备而言是巨大的优势。问题是,它的性能能否一战?
研究者首先通过实验证明,一个精心设计的轻量级“专家”模型,在图像描述这个特定任务上,确实可以达到与大型“通才”模型相近的性能。下表展示了本文的125M专家模型(Our Specialist)与其它小型专家(S)和大型通才(G)的性能对比,在多项指标上都展现了强大的竞争力。
然而,研究者也发现,即便是这样表现优异的小模型,也和许多大模型一样,存在“视觉盲点”(Visual Blindness)问题,偶尔会产生与图像内容不符的语义错误。
“视觉盲点”的根源诊断
为了对症下药,团队通过实验探究了产生语义错误的根本原因,最终定位到两大问题:
- 无效的注意力机制: 如下图左侧所示,当模型生成描述时,文本(如“motorcycle”)对应的注意力权重(Attention Map)在图像上是分散的,没有准确聚焦到摩托车本身,导致“脚下不稳”,容易产生幻觉。
-
- 有限的视觉表示: 视觉编码器(如CLIP)在编码图像时,为了形成高度概括的特征,会丢失大量细节。如下图所示,从CLIP的视觉特征中重建出的图像(左/右),远不如原图清晰,很多细节都已模糊不清。这意味着模型在生成描述时,压根就“看”不到那么多细节。
-
“锐眼”精炼框架:模仿人类“再看一眼”
人类描述一幅画时,通常会先扫一眼形成大概印象,然后针对感兴趣或不确定的区域再仔细看几眼以获取细节。受此启发,研究者提出了Sharp-Eyed Refinement框架,让模型也学会“再看一眼”。
该框架的流程如下图所示,分为两步:
- 初始生成(Initial Glance): 模型首先对图像进行一次快速“扫视”,生成一个初步的、可能存在错误的描述。
- 精炼描述(Refinement): 然后,模型利用初步生成的描述作为“线索”,对图像进行第二次、更有针对性的“扫视”,修正错误、补充细节,生成最终的高质量描述。
核心组件:DeepLens
实现“再看一眼”的关键是本文提出的 DeepLens 模块。它的作用就像一个可调节的“深度镜头”。在精炼阶段,DeepLens会结合初始描述的文本信息和视觉编码器多个中间层的视觉特征。这样做的好处是,它不仅知道要“看哪里”(由初始描述引导),还能“看得更清”(利用包含更多细节的中间层特征),从而提取出更丰富、更详细的视觉信息来指导最终描述的生成。
实验结果:小模型也能有“锐眼”
实验结果有力地证明了该框架的有效性。如下图所示,经过“锐眼”精炼后,模型生成的描述质量得到了显著提升。例如,初始描述可能只是“斑马吃草的特写”,而精炼后的描述则能准确地指出“一只斑马在墙边吃草的特写镜头”。
论文贡献与价值
CV君认为,这项工作为解决大模型时代下“模型能力”与“端侧算力”之间的尖锐矛盾,提供了一个非常实用且富有启发性的思路。
- 证明了轻量级“专家”模型的潜力: 它挑战了“模型越大越好”的固有观念,证明了在特定任务上,小而精的模型同样能发挥巨大作用,是实现强大端侧AI的可行路径。
- 提出了创新的“二次审视”框架: “锐眼”精炼框架模仿人类认知过程,通过“再看一眼”的机制,有效改善了模型的视觉接地(visual grounding)能力,缓解了“视觉盲点”问题,该思想同样可以启发其他多模态任务。
- 为端侧多模态应用铺平道路: 通过提供一个高性能且高效的轻量级图像描述方案,该研究为需要实时视觉理解能力的机器人、可穿戴设备等应用场景的落地提供了坚实的技术基础。
总而言之,这项研究不仅贡献了一个具体的模型和框架,更重要的是,它鼓励我们重新思考大小模型的关系,探索如何让小模型变得更“聪明”、更“敏锐”,从而在AI普及化的道路上迈出坚实一步。
#USO
鱼与熊掌亦可兼得,字节跳动提出统一框架,完美融合主体与风格生成
在AIGC图像生成领域,有两个非常主流且看似“对立”的需求:主体驱动生成(Subject-driven)和风格驱动生成(Style-driven)。
- 主体驱动:类似于制作“数字分身”,追求的是让特定的人物、宠物或物品(主体)在不同场景、不同姿势下保持高度的一致性,代表技术有LoRA、InstantID等。
- 风格驱动:类似于“滤镜”或“画风迁移”,追求的是将一张图片的艺术风格(如梵高油画、吉卜力动画)应用到新的内容上,代表技术有IP-Adapter、StyleAlign等。
传统上,这两个任务被视为“鱼和熊掌不可兼得”的独立赛道。专攻主体的模型,风格泛化能力往往不尽人意;而专攻风格的模型,又很难保证主体人物不“走形”。
近日,来自字节跳动智能创作团队的研究者们挑战了这一固有观念,他们认为,这两个任务的本质核心都是内容与风格的解耦与重组,完全可以在一个统一的框架下实现。基于此,他们提出了 USO (Unified Style-Subject Optimized) 模型,一个通过解耦学习和奖励学习,成功统一并同时精通两项任务的定制化生成模型。
- 论文标题:USO: Unified Style and Subject-Driven Generation via Disentangled and Reward Learning
- 作者:Shaojin Wu, Mengqi Huang, Yufeng Cheng, Wenxu Wu, 等 (字节跳动UXO团队)
- 机构:ByteDance (字节跳动)
- 论文地址:https://arxiv.org/abs/2508.18966
- 项目主页:https://bytedance.github.io/USO/
- 代码与模型:https://github.com/bytedance/USO
核心思想:从“对立”到“统一”的跨任务协同解耦
现有方法通常只在单一任务内部进行“内容-风格”解耦,这是一种“孤立”的解耦。例如,风格迁移模型只关心如何提炼“风格”,而将“内容”视为需要排除的噪声;反之,主体驱动模型只关心如何提炼“主体特征”,而将“风格”视为噪声。
USO的作者们认为,这种方式是片面的。他们提出了一个更深刻的见解:一个任务中需要被“排除”的特征,恰恰是另一个任务中需要被“包含”的特征。学习如何为风格迁移任务排除主体特征,反过来能帮助主体驱动任务更好地识别和保留主体特征。这是一种跨任务的协同互补式解耦(Cross-task Co-disentanglement)。
基于这一思想,USO框架旨在通过联合学习,让模型同时理解“什么是风格”和“什么是主体”,从而在生成时能够根据需求自由地组合它们,实现从风格驱动、主体驱动到二者结合的全面统一。
USO的技术实现:三步走策略
为了实现上述目标,USO采用了一套环环相扣的技术方案,主要包括三大部分:
1. 构建大规模跨任务三元组数据集
高质量的数据是模型学习解耦能力的基础。研究者首先构建了一个大规模的三元组数据集,每条数据包含 <内容参考图,风格参考图,风格化的内容图>。这个数据集的巧妙之处在于它的构建过程:
他们先利用一个先进的主体驱动模型(UNO)和两个专门训练的“专家模型”(一个负责风格化,一个负责去风格化),系统性地生成了大量高质量的风格化图像。这些数据不仅包含了保留原始布局的风格化结果,还包含了布局发生改变的样本,这使得模型能够学习到更深层次、与布局无关的内容与风格解耦。
2. 两阶段解耦学习方案
有了高质量的数据集,USO通过一个两阶段的训练框架来学习解耦能力。
- 阶段一:风格对齐训练 (Style Alignment Training)此阶段的目标是让模型学会“认识”风格。研究者使用一个强大的语义编码器(SigLIP)来提取风格参考图的特征,并通过一个轻量级的“分层投影仪”(Hierarchical Projector)将其注入到预训练的T2I模型(如FLUX.1或SD)中。这一步使得模型具备了根据参考图生成相应风格的能力。
- 阶段二:内容-风格解耦训练 (Content-Style Disentanglement Training)这是实现解耦的核心。在这一阶段,模型同时接收内容参考图和风格参考图的输入。关键在于,内容和风格由两个独立的编码器处理,这从结构上就促进了特征的分离,避免了“内容泄露”(即风格参考图中的内容串扰到最终生成结果中)。模型在精心构建的三元组数据集上进行训练,学会将指定的内容(主体)与指定的风格进行融合。
3. 风格奖励学习 (Style Reward Learning, SRL)
为了进一步提升风格的保真度和生成的质量,USO引入了类似强化学习的奖励学习机制。
他们训练了一个奖励模型,该模型专门用于判断生成图像与目标风格的相似度。在USO的训练过程中,这个奖励模型会给出一个“奖励信号”,引导生成模型向着“风格更逼真”的方向进行优化。这个过程(如上算法流程所示)显著提升了模型的最终性能,不仅风格更像,连主体一致性和画面美学质量也得到了改善。
实验效果:全面领先的SOTA性能
为了全面评估USO的性能,研究者们还发布了首个能够同时评估主体一致性和风格相似性的基准测试集——USO-Bench。
定量比较
在USO-Bench上,无论是在主体驱动任务(左侧)还是风格驱动任务(右侧)中,USO的各项指标(如CLIP-I, DINO, CSD)均显著优于现有的所有开源SOTA模型。
在更具挑战性的风格-主体联合驱动任务上,USO同样大幅领先,证明了其强大的统一生成能力。
定性比较
通过生成效果图可以更直观地感受到USO的强大。
- 主体驱动生成:给定人物照片,USO能生成主体一致性极高且质感真实自然的图像,优于其他方法。
-
- 风格驱动生成:无论是细腻的笔触还是抽象的艺术风格,USO都能精准捕捉并迁移,效果惊人。
-
- 风格-主体联合生成:这是最能体现USO统一能力的地方。模型可以完美地将任意主体和任意风格进行自由组合。
-
总结与价值
USO的提出,为个性化、定制化的图像生成领域带来了重要的突破。其核心贡献在于:
- 提出了创新的协同解耦范式:打破了风格和主体生成任务各自为战的局面,证明了通过跨任务的联合学习可以实现更彻底的内容-风格解耦,并相互促进。
- 构建了强大的统一生成模型:USO是首个在单一框架内同时实现SOTA级别主体一致性和风格相似性的模型,其效果和通用性都令人印象深刻。
- 引入了奖励学习增强:将奖励学习范式成功应用于风格生成,为进一步提升生成模型的精细控制力和美学质量提供了有效途径。
- 发布了首个联合评估基准:USO-Bench填补了该领域在综合评估上的空白,为后续研究提供了公平、全面的比较平台。
CV君认为,USO不仅是一个强大的AIGC工具,更重要的是它背后“协同演进、互为增益”的解耦思想。这项工作无疑会将定制化图像生成技术推向一个新的高度,让“鱼与熊掌兼得”的创作体验变得触手可及。
#TokLIP
让图像会说话!腾讯 ARC × 中科院重磅联手,视觉Token注入CLIP语义,TokLIP重塑多模态理解与生成
TokLIP 把 CLIP 的语义直接“写”进 VQGAN 的离散 token,让图像 token 既会说人话又能还原像素;仅用 20% 数据就在分类、图文检索、MLLM 理解和图像生成全线 SOTA。
腾讯 ARC Lab 联合中科院自动化所、香港城市大学、浙江大学等机构提出 TokLIP,在视觉 token 与统一多模态理解生成之间,架起了一座语义桥梁,训练数据量仅需同类方法的 20%,还可以在图像分类、图文检索和多模态理解等多项任务中达成 SOTA。
论文标题: TokLIP: Marry Visual Tokens to CLIP for Multimodal Comprehension and Generation
论文地址: https://arxiv.org/abs/2505.05422
论文代码: https://github.com/TencentARC/TokLIP
模型权重: https://huggingface.co/TencentARC/TokLIP
01 背景问题与研究动机
过去几年里,人工智能的发展已经从单一模态走向多模态。无论是图像、视频,还是文本,人们都希望机器能够像人类一样,既能“看懂”世界,也能“说清”所见。这背后的关键问题是:如何在同一个模型中实现统一的理解(comprehension)与生成(generation)能力。
目前的自回归多模态大模型对图像的编码大多依赖两类核心部件。一类是视觉编码器(如 CLIP),它擅长把图像转化为高层语义表征,从而实现跨模态对齐,但是难以支持视觉生成任务。
另一类是视觉 tokenizer(如 VQ-VAE 系列),它能把图像离散化成 token,使其在形式上与文本一致,方便自回归 Transformer 联合建模。
比如 Emu3 和 Chameleon 采用了“全模态离散化”的方案,把图像、文本甚至其他模态统一转化为离散 token,交给大语言模型直接处理,这种方法在形式上实现了统一,但缺点在于:离散 token 包含的信息大多为图像底层特征,导致语义信息不足,统一训练的代价高昂,多模态理解任务性能受限。
另一方面,VILA-U 等工作则强调通过离散化 CLIP 特征来增强视觉理解,但往往在语义对齐与底层重建的统一之间产生冲突,加大训练损失的优化难度,可能出现“理解强但生成弱”或者“生成顺畅但语义模糊”的问题。
因此,多模态领域迫切需要一种新的方法,能够既保留视觉 tokenizer 的形式统一性,又融入 CLIP 级别的语义理解力,从而打破“理解与生成割裂”的瓶颈。
02 TokLIP的结构与核心设计
2.1 视觉Token语义化:让图像“能说话”
TokLIP 的关键创新在于引入 CLIP 的语义来对视觉 token 进行语义化处理。这意味着,图像被分解为的每一个离散 token,不仅携带底层结构信息,还被注入了与语言对齐的高层语义信息。
这样,后续的自回归模型不再面对“无意义的符号串”,而是直接处理带有语义标签的 token,从而在跨模态对齐和任务泛化能力上都显著提升。换句话说,TokLIP 让视觉 token 不再只是“图像的残片”,而是变成了“会说话的语义单元”。
2.2 TokLIP框架与训练流程
在模型架构上,TokLIP 采用了视觉 tokenizer 与ViT-based token encoder相结合的方式,并通过语义监督损失学习图像高层特征。
具体而言,图像先经过一个预先加载的 VQGAN 进行离散化编码,离散 Tokens 再通过一个 MLP 层被投影到从 CLIP 初始化的 ViT-based token encoder,得到高层语义特征后,我们使用蒸馏和对比学习的损失函数优化 MLP 层和 token encoder。
为了保证自回归生成任务的能力,我们使用了 Causal 的 Token encoder,保证自回归生成图像过程不存在信息泄漏。
与以往将连续图像高层特征离散化训练的方案不同,TokLIP 在训练过程中直接将语义注入到视觉 token 中,这种设计的好处在于:
- 不需要专门的重构损失来保证 token 的可逆性,避免了重构损失和语义监督的训练冲突,降低了训练复杂度;
- Freeze VQGAN 的设计保留了生成能力和框架的灵活替换性,模型能够在训练过程中自适应地调整 token 的语义表达,使其既保留图像细节,又兼顾语义对齐;
- 继承预训练的 CLIP 权重,在相同算力资源下能够更快收敛,整个 pipeline 更加简洁高效,并取得更优的性能。
这种“轻量而统一”的训练范式,使 TokLIP 在兼顾理解与生成能力的同时,降低了训练优化难度和资源需求,同时可以随着 VQGAN 和 CLIP 的技术更迭而得到进一步增强。
训练得到的 TokLIP 在嵌入 MLLM 的时候,我们会将 low-level 的 tokens 和 high-level 的 clip features 进行 concat 后,送入 MLLM 进行自回归编码,这样的架构设计在增强视觉 tokens 语义的前提下保证了离散化方案的统一理解生成能力。
03 实验效果
3.1 实验设置
TokLIP 基于 预训练 VQGAN,提供三种版本:TokLIP-B(256×256,VQGAN 来自 LlamaGen);TokLIP-L(384×384,同样来自 LlamaGen);TokLIP-XL(512×512,采用 IBQ,26 万 codebook)。
所有模型都用 16 倍下采样,encoder 初始化自 SigLIP2,并通过两层 MLP 将 VQGAN 特征映射到语义空间。训练数据涵盖 CapsFusion、CC12M、LAION-high-resolution,其中 TokLIP-B 额外加入 LAION400M 子集。
3.2 图像分类与图文检索任务
在图像分类与跨模态检索中,TokLIP超越了 VILA-U、QLIP 等离散语义方法,并超过了部分连续的视觉编码器,证明语义化 VQ token 的有效性。更重要的是,TokLIP 所需训练数据远少于同类方案,却依然取得领先性能,展现出一种轻量而高效的解决路径。
3.3 多模态理解任务
当 TokLIP 被接入多模态大语言模型(MLLM)时,其语义 token 能无缝嵌入现有的语言建模框架。实验中,我们在常用的 7 个下游任务上进行了评估,结果表明:TokLIP 在离散化方案中取得了很有竞争力的结构,证明了 TokLIP 能够提供带有语义信息的输入,使得 MLLM 在问答与推理时更加准确。
3.4 自回归图像生成任务
在自回归生成(AR Generation)任务上,TokLIP 的语义化 token 在这一环节提供了语义信息,实验表明,TokLIP 比仅使用 VQGAN 在不同训练设置下都取得了更低的 FID 效果,证明了语义信息可以帮助生成任务。
04 结语
TokLIP 通过创新性地将语义化 VQ token 与 CLIP 级语义对齐相结合,为离散 tokens 注入高层语义,有效提升了离散化方案的理解与生成的能力。
凭借独特的架构设计和高效的数据利用,TokLIP 在分类、检索、MLLM 理解及自回归生成等多模态任务中均展现出优异表现。它为统一的理解与生成范式提供了一种轻量而高效的解决方案,也为未来多模态模型的发展开辟了新的方向。
更多推荐
所有评论(0)