(2024,SDXL-Turbo,CycleGAN-Turbo,pix2pix-Turbo)使用文本到图像模型的一步图像翻译

研究者提出了一种通用方法,通过对抗学习改进一步扩散模型,解决配对和未配对图像翻译中的速度和依赖问题。新模型能在单步中生成高质量图像,尤其在无配对情况下超越现有技术。
摘要由CSDN通过智能技术生成

One-Step Image Translation with Text-to-Image Models

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

1. 简介

2. 相关工作

3. 方法

3.1 添加条件输入

3.2 保留输入细节

3.3 无配对训练

3.4 扩展

4. 实验

5. 讨论和局限性


0. 摘要

在这项工作中,我们解决了现有条件扩散模型的两个限制:由于迭代去噪过程导致的推断速度缓慢以及模型微调对配对数据的依赖。为了解决这些问题,我们引入了一种通用方法,通过对抗学习目标来调整单步扩散模型以适应新的任务和领域。具体来说,我们将普通潜扩散模型的各种模块整合到一个端到端生成器网络中,该网络具有小的可训练权重,增强了其保留输入图像结构的能力,同时减少了过拟合。我们证明,在未配对的设置下,我们的模型 CycleGAN-Turbo 在各种场景翻译任务(如日夜转换以及添加/删除雾、雪和雨等天气效果)中优于现有基于 GAN 和扩散的方法。我们将我们的方法扩展到配对设置,在那里我们的模型 pix2pix-Turbo 与最近的工作(如 Sketch2Photo 和 Edge2Image 的 Control-Net)不相上下,但推断只需一步。这项工作表明,单步扩散模型可以作为一系列 GAN 学习目标的强大基础。

项目页面:https://github.com/GaParmar/img2img-turbo 

1. 简介

在这项工作中,我们介绍了一种适用于配对和未配对设置的一步图像到图像翻译方法。我们的方法实现了与现有条件扩散模型相媲美的视觉吸引力结果,同时将推断步骤的数量减少到 1。更重要的是,我们的方法可以在没有图像对的情况下进行训练。我们的关键思想是通过对抗学习目标,高效地将预训练的文本条件一步扩散模型,如 SD-Turbo,适应到新的领域和任务中。

不幸的是,直接将标准的扩散适配器,如 Control-Net,应用于一步设置在我们的实验中表现不够有效。与传统的扩散模型不同,我们观察到在一步模型中,噪声图直接影响输出结构。因此,通过额外的适配器分支同时输入噪声图和输入条件会给网络带来冲突的信息。特别是对于未配对的情况,这种策略会导致在训练结束时原始网络被忽视。此外,在图像到图像的翻译过程中,由于 SD-Turbo 模型的多阶段管道(编码器-UNet-解码器)的不完美重构,许多输入图像中的视觉细节会丢失。当输入是真实图像时,这种细节的丢失尤为明显和关键,比如日-夜翻译。

为了解决这些挑战,我们提出了一种新的生成器架构,利用了 SD-Turbo 权重,同时保留输入图像结构。

2. 相关工作

一步生成模型。为了加快扩散模型的推断速度,最近的研究主要集中在使用快速 ODE 求解器 [22, 32] 或将缓慢的多步教师模型蒸馏为快速的少步学生模型 [36, 50] 来减少采样步骤的数量。直接从噪声到图像的回归通常会产生模糊的结果 [33,76]。为此,各种蒸馏方法使用一致性模型训练 [34, 58]、对抗学习 [54, 69]、变分分数蒸馏(variational score distillation) [66, 71]、矫正流(Rectified Flow) [30, 31],以及它们的组合 [54]。其他方法直接使用 GAN 进行文本到图像的合成 [21,53]。

与那些专注于一步文本到图像合成的工作不同,我们提出了第一个同时使用文本和条件图像的一步条件模型。我们的方法击败了直接使用原始 ControlNet 的基线,该基线使用了一步提炼模型。 

(2023,SDXL-Turbo,少步生成,对抗损失,分数蒸馏损失)对抗扩散蒸馏

3. 方法

我们从一个预先训练的一步文本到图像模型开始,该模型能够生成逼真的图像。然而,我们的目标是将输入的真实图像从源领域转换到目标领域,比如将白天驾驶图像转换为夜晚。 

3.1 添加条件输入

要将文本到图像模型转换为图像翻译模型,我们首先需要找到一种有效的方式将输入图像 x 合并到模型中。

噪声和条件输入之间的冲突。一个常见的策略是将条件输入合并到扩散模型中,这可以通过引入额外的适配器分支来实现 [38, 73],如图 3 所示。具体而言,我们初始化第二个编码器,记为条件编码器,可以使用稳定扩散编码器的权重[73],也可以使用一个轻量级网络,并使用随机初始化的权重[38]。该控制编码器接收输入图像 x,并通过残差连接将特征图输出到预训练的稳定扩散模型的多个分辨率。这种方法已经为控制扩散模型产生了显著的成果。

然而,如图 3 所示,在一步模型的背景下,使用两个编码器(U-Net 编码器和条件编码器)来处理噪声图和输入图像会带来挑战。与多步扩散模型不同,一步模型中的噪声图直接控制生成图像的布局和姿态,通常与输入图像的结构相矛盾。因此,解码器接收两组残差特征,每组代表不同的结构,使训练过程更具挑战性。

直接条件输入。图 3 还说明了预训练模型生成的图像结构受噪声图 z 的显着影响。基于这一观察,我们提出应直接将条件输入馈送到网络中。图 7 和表 4 另外显示,使用直接条件输入比使用额外编码器获得更好的结果。为了让骨干模型拟合新的条件,我们在 U-Net 中的各个层中添加了几个 LoRA 权重 [17](见图 2)。

3.2 保留输入细节

在多对象和复杂场景中使用潜在扩散模型(LDM [47])的关键挑战是缺乏细节保留。

为什么会丢失细节。潜在扩散模型(LDM)的图像编码器将输入图像在空间上压缩了 8 倍,同时将通道数从 3 增加到 4。这种设计加快了扩散模型的训练和推断速度。然而,对于需要保留输入图像的细节的图像翻译任务来说,这可能并不理想。我们在图 4 中说明了这个问题,我们将一个输入的白天驾驶图像(左侧)翻译成一个相应的夜间驾驶图像,使用了一个不包含跳跃连接的架构(中间)。观察到,诸如文本、街道标志和远处的汽车等细微的细节没有被保留。相比之下,使用包含跳跃连接的架构(右侧)使翻译后的图像更好地保留这些复杂的细节。(跳连对于保留细节的重要性)

连接第一阶段编码器和解码器。为了捕获输入图像的细微视觉细节,我们在编码器和解码器网络之间添加了跳跃连接(见图 2)。具体而言,我们在编码器内的每个降采样块之后提取四个中间激活,通过一个1×1零卷积层 [73] 进行处理,然后将它们馈送到解码器中相应的上采样块中。这种方法确保了在整个图像翻译过程中细微的细节得到保留。

3.3 无配对训练

我们使用 Stable Diffusion Turbo (v2.1) 作为所有实验的基础网络,其具有一步推断。在这里,我们展示了我们的生成器可以在一个修改过的 CycleGAN 公式 [77] 中用于无配对翻译。具体而言,我们的目标是将来自源域 X ⊂ R^(H×W×3) 的图像转换到所需的目标域 Y ⊂ R^(H×W×3),给定一个无配对数据集 X = {x ∈ X},Y = {y ∈ Y}。

我们的方法包括两个翻译函数 G(x, c_Y):X → Y 和 G(y, c_X):Y → X。这两个翻译使用了与第 3.1 节和第 3.2 节描述的相同网络 G,但使用了对应于任务的不同标题 cX 和 cY。例如,在白天 → 夜晚翻译任务中,cX 是“白天驾驶”,cY 是“夜晚驾驶”。如图 2 所示,我们保持大多数层冻结,并只训练第一个卷积层和添加的 LoRA 适配器。

具有感知损失的循环一致性。循环一致性损失 L_cycle 强制要求对于每个源图像 x,两个翻译函数应将其带回自身。我们将 L_rec 表示为 L1 差异和 LPIPS [74] 的组合。请参阅附录 D 来了解权重。

对抗损失。我们为两个域使用对抗损失 [13],以鼓励翻译输出与相应的目标域匹配。我们使用两个对抗鉴别器 DX 和 DY,它们旨在将来自相应域的真实图像与翻译后的图像分类。两个鉴别器都使用 CLIP 模型作为骨干,遵循 Vision-Aided GAN [26] 的建议。对抗损失可以定义为:

完整目标。完整的训练目标由三种不同的损失组成:循环一致性损失 Lcycle,对抗损失 LGAN 和身份正则化损失 Lidt:

3.4 扩展

虽然我们的主要重点是无配对学习,但我们还展示了两个扩展,以学习其他类型的 GAN 目标,例如从配对数据中学习和生成随机输出。

配对训练。我们将我们的翻译网络 G 调整到配对设置,例如将边缘或草图转换为图像。我们将我们方法的配对版本称为 pix2pix-Turbo。在配对设置中,我们的目标是学习一个单一的翻译函数 G(x, c):X → Y,其中 X 是源域(例如,输入草图),Y 是目标域(例如,输出图像),c 是输入标题。对于配对训练目标,我们使用

  • 重构损失作为感知损失和像素空间重构损失的组合
  • GAN 损失,类似于方程式 2 中的损失,但仅针对目标域,
  • CLIP 文本-图像对齐损失 LCLIP [45]
  • 请在附录 D 中找到更多细节。

生成多样化输出。生成多样化的输出在许多图像翻译任务中很重要,例如,草图到图像的生成。然而,使一步模型能够生成多样化的输出是具有挑战性的,因为它需要利用额外的输入噪声,这经常被忽略 [18,78]。我们提出通过将特征和模型权重插值到预训练模型中,从而生成多样化的输出,该预训练模型已经生成了多样化的输出。具体来说,给定一个插值系数 γ,我们进行以下三个更改。

  • 首先,我们将高斯噪声和编码器输出结合在一起。我们的生成器 G(x, z, r) 现在接受三个输入:输入图像 x,一个噪声图 z 和系数 γ。更新的函数 G(x, z, γ) 首先将噪声 z 和编码器输出组合起来:γG_enc(x) + (1 − γ)z。然后,我们将组合信号馈送到 U-Net。
  • 其次,我们还根据 θ = θ_0 + γ · Δθ 缩放 LoRA 适配器权重和跳跃连接的输出,其中 θ_0 和 Δθ 分别表示原始权重和新增权重。
  • 最后,我们根据系数 γ 缩放重构损失。

值得注意的是,γ = 0 对应于预训练模型的默认随机行为,此时不强制执行重构损失。γ = 1 对应于第 3.3 节和第 3.4 节中描述的确定性翻译。我们用不同的插值系数对我们的图像翻译模型进行微调。图 9 显示了这样的微调使得我们的模型能够通过在推断时采样不同的噪声生成多样化的输出。 

4. 实验

5. 讨论和局限性

我们的工作表明,一步预训练模型可以作为许多下游图像合成任务的强大而多才多艺的骨干模型。通过各种 GAN 目标来适应这些模型到新的任务和领域,无需多步扩散训练。我们的模型训练仅需要少量额外的可训练参数。

局限性。尽管我们的模型可以通过一步生成产生视觉上吸引人的结果,但它确实存在一些局限性。

  • 首先,我们无法指定指导的强度,因为我们的骨干模型 SD-Turbo 不使用无分类器引导。引导蒸馏 [36] 可能是实现指导控制的一个有希望的解决方案。
  • 其次,我们的方法不支持负提示,这是减少伪影的一种方便的方式。
  • 第三,具有循环一致性损失和高容量生成器的模型训练消耗内存。

探索用于更高分辨率图像合成的单侧(one-sided)方法 [40] 是一个有意义的下一步。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值