当前位置: 首页 > news >正文

【AIGC】2024-arXiv-CtrLoRA:一种可扩展且高效的可控图像生成框架

2024-arXiv-CtrLoRA: An Extensible and Efficient Framework for Controllable Image Generation

  • CtrLoRA:一种可扩展且高效的可控图像生成框架
    • 摘要
    • 1. 引言
    • 相关工作
    • 3. 方法
      • 3.1 准备工作
      • 3.3 有效适应新条件
      • 3.4 条件嵌入网络的设计
    • 4. 实验
      • 4.1 实验设置
      • 4.2 与现有方法的比较
      • 4.3 消融研究
      • 4.4 其他实验
    • 5. 结论与局限性
    • 参考文献

CtrLoRA:一种可扩展且高效的可控图像生成框架

作者:Yifeng Xu, Zhenliang He, Shiguang Shan, Xilin Chen
单位:Key Lab of AI Safety, Institute of Computing Technology, CAS, China, University of Chinese Academy of Sciences, China
论文地址:2024-arXiv-CtrLoRA: An Extensible and Efficient Framework for Controllable Image Generation

摘要

 最近,大规模扩散模型在文本到图像(T2I)生成方面取得了令人瞩目的进展。为了进一步使这些 T2I 模型具备细粒度的空间控制能力,ControlNet 等方法引入了一个额外的网络来学习遵循条件图像。但是,对于每一种条件类型,ControlNet 都需要对数百万个数据对进行独立训练,耗费数百个 GPU 小时,这非常昂贵,并且使普通用户难以探索和开发新类型的条件。为了解决这个问题,我们提出了 CtrLoRA 框架,该框架训练 Base ControlNet 以从多个基本条件中学习图像到图像生成的常识,同时训练特定于条件的 LoRA 以捕捉每种条件的不同特征。利用我们预先训练的 Base ControlNet,用户可以轻松地将其适应新条件,在大多数情况下,只需 1,000 个数据对和不到一小时的单 GPU 训练即可获得满意的结果。此外,与 ControlNet 相比,我们的 CtrLoRA 将可学习参数减少了 90%,大大降低了分配和部署模型权重的门槛。在各种条件下进行的大量实验证明了我们方法的效率和有效性。代码和模型权重将在 https://github.com/xyfJASON/ctrlora 发布。

图 1

图 1:我们的单条件生成、多条件生成、风格转换的结果。

1. 引言

 近年来,扩散模型(Sohl-Dickstein et al., 2015; Song & Ermon, 2019; Ho et al., 2020)已成为视觉生成和编辑任务中最流行的生成模型之一。扩散模型的卓越性能和可扩展性鼓励研究人员在数十亿个文本-图像对上训练大型模型(Schuhmann et al., 2022),从而产生了强大且有影响力的文本到图像(T2I)基础模型(Rombach et al., 2022; Saharia et al., 2022; Ramesh et al., 2022; Betker et al., 2023; Chen et al., 2024; Xue et al., 2024)。此外,通过将这些基础模型与 LoRA(Hu et al., 2022; Ryu, 2022)等参数高效微调(PEFT)方法相结合,用户无需大量训练数据和计算资源即可获得个性化模型,这大大降低了将 T2I 基础模型扩展到各种艺术创作的门槛。利用 “Base + PEFT” 范式,尤其是 “Stable Diffusion + LoRA”,包括艺术家在内的众多技术和非技术背景的个人都采用了这种方法进行艺术创作,形成了一个庞大的社区和技术生态系统。

 然而,T2I 模型很难准确控制布局和姿势等空间细节,因为仅靠文本提示不足以精确传达这些细节。为了解决这个问题,ControlNet(Zhang et al., 2023)增加了一个接受条件图像的额外网络,将 T2I 模型转变为图像到图像(I2I)模型。通过这种方式,ControlNet 能够根据特定类型的条件图像(例如 canny edge)生成图像,从而显著提高可控性。然而,对于每种条件类型,都需要使用大量数据和计算资源从头开始训练一个独立的 ControlNet。例如,以 canny edge 为条件的 ControlNet 需要大约 600 个 A100 GPU 小时对 300 万张图像进行训练。如此庞大的预算使得普通用户很难为一种新型条件图像创建 ControlNet,与蓬勃发展的 Stable Diffusion 社区相比,这阻碍了 ControlNet 社区的发展1。因此,值得寻找一个简单而经济的解决方案来扩展有前景的 ControlNet 来处理新型条件图像

1 截至 2024 年 9 月 24 日,在最受欢迎的 AI 艺术模型存储库之一 civitai.com 上,有 1024 个模型带有 Stable Diffusion 标记,而只有 56 个模型带有 ControlNet 标记。

 为了解决这个问题,受 “Base + PEFT” 范式的启发,我们提出了一个 CtrLoRA 框架,使用户可以方便高效地为自定义类型的条件图像建立控制网络。如图 2(a) 所示,我们首先在大规模数据集上跨多个基本条件到图像任务(例如 canny-to-image、depth-to-image 和 Skeleton-to-image)训练一个 Base ControlNet,其中网络参数由所有这些基本条件共享。同时,对于每个基本条件,我们向 Base ControlNet 添加一个特定于条件的 LoRA。通过这种方式,特定于条件的 LoRA 可以捕获相应条件的独特特征,从而使 Base ControlNet 能够专注于同时从多个条件学习图像到图像(I2I)生成的共同知识。因此,通过训练新的 LoRA 层,可以轻松将训练有素且具有通用 I2I 能力的基本控制网络扩展到任何新条件,如图 2(b) 所示。在大多数情况下,借助我们的框架,我们只需 1,000 个训练数据,在单个 GPU 上训练不到一小时,即可学习定制类型的条件。此外,我们的方法每个新条件仅需要 3700 万个 LoRA 参数,与原始 ControlNet 为每个条件所需的 3.61 亿个参数相比,这是一个显着的减少。总之,与原始 ControlNet 相比,我们的方法大大降低了资源需求,如表 1 所示。

图 2

图 2:CtrLoRA 框架概览。“CN” 表示 Base ControlNet,“L” 表示 LoRA。(a)我们首先在包含多个基本条件的大规模数据集上结合条件特定 LoRA 训练共享 Base ControlNet。(b)训练后的 Base ControlNet 可以轻松适应新条件,且所需数据、设备和时间明显更少。

表 1

表 1:模型大小、数据集大小和训练时间成本的比较。对于 $N$ 个条件,ControlNet 的参数总数为 361${\rm M}×N$,而我们的 CtrLoRA 的参数总数为 360${\rm M}$+37${\rm M}×N$。

 我们的贡献总结如下:

  1. 我们提出了一个有效且高效的可扩展图像到图像生成框架。该框架利用共享的 Base ControlNet 来学习图像到图像生成的常识,同时采用特定于条件的 LoRA 来捕获每个图像到图像任务的独特特征。
  2. 通过训练新的 LoRA 层,我们的 Base ControlNet 可以轻松且经济地适应新条件,与原始 ControlNet 相比,这需要的资源要少得多,包括减少训练数据、缩短训练时间和减小模型大小。因此,我们的方法大大降低了普通用户创建自定义 ControlNet 的门槛。
  3. 无需额外训练,我们的 Base ControlNet 和 LoRA 就可以无缝集成到公共社区的各种基于 Stable Diffusion 的模型中。此外,针对不同条件训练的 LoRA 可以轻松组合以实现更精细、更复杂的控制。
  4. 我们优化了条件嵌入网络的设计和初始化策略,大大加快了训练收敛速度。而且,通过这种方式,我们就不会观察到原始ControlNet中出现的突然收敛现象。

相关工作

扩散模型。扩散模型最初由 Sohl-Dickstein et al. (2015) 提出,并由 Song & Ermon (2019); Ho et al. (2020); Song et al. (2021b); Dhariwal & Nichol (2021); Ho & Salimans (2022); Bao et al. (2023); Peebles & Xie (2023), etc. 进行了实质性开发,作为一种生成模型,已广受欢迎。为了进一步增强扩散模型的表现力,研究人员提出在变分自动编码器(Kingma & Welling, 2013)的潜在空间(Vahdat et al., 2021; Rombach et al., 2022)中对扩散过程进行建模,从而实现高分辨率图像生成。本文提出的 CtrLoRA 建立在广泛使用的潜在扩散模型 Stable Diffusion(Rombach et al., 2022)的基础上。

条件生成。为了推进文本到图像(T2I)生成,研究人员将 CLIP(Radford et al., 2021)或 T5(Raffel et al., 2020)中的文本嵌入纳入扩散模型,从而形成强大的大规模 T2I 模型(Nichol et al., 2022; Ramesh et al., 2022; Rombach et al., 2022; Balaji et al., 2022; Saharia et al., 2022)。为了实现更细粒度的控制,一些方法(Li et al., 2023; Zhang et al., 2023; Mou et al., 2024)将空间条件注入模型,显著增强了可控性。例如,ControlNet(Zhang et al., 2023)引入了一个辅助网络来处理条件图像,并将该网络集成到 Stable Diffusion 模型中。然而,为每个单一条件训练一个ControlNet需要大量的数据和时间,造成了相当大的负担。为了解决这个问题,ControlNet-XS(Zavadski et al., 2023)优化了网络架构以加快训练收敛速度。UniControl(Qin et al., 2024)和 Uni-ControlNet(Zhao et al., 2024)训练一个统一的模型来管理多个条件,大大减少了模型数量。然而,这两种方法缺乏一种直接、方便用户添加新条件的方式,这限制了它们在实际场景中的实用性。相比之下,我们的方法可以用更少的数据和更少的资源有效地学习新条件。

低秩自适应。低秩自适应(LoRA)是一种众所周知的技术,用于对大型语言模型(Hu et al., 2022)和图像生成模型(Ryu, 2022)进行参数高效的微调。该方法遵循以下假设:在微调过程中,模型权重的更新具有较低的 “固有秩”,可以用低秩分解 Δ W = B A \Delta W=BA ΔW=BA 表示,其中 B ∈ R d × r , A ∈ R r × d B \in \mathbb{R}^{d \times r}, A \in \mathbb{R}^{r \times d} BRd×r,ARr×d,且 r ≪ d r\ll d rd。在实践中,LoRA 显著减少了可优化参数的数量,同时保持了良好的性能。尽管 LoRA 广泛与 Stable Diffusion(Rombach et al., 2022)结合用于定制图像生成,但它很少与另一种著名的图像生成技术 ControlNet(Zhang et al., 2023)一起使用。我们认为主要原因是 ControlNet 是针对不同条件单独训练的,因此不适合作为可在各种条件下共享的基础模型。在本文中,我们研究了一种与 LoRA 技术合作训练 Base ControlNet 作为基础模型的新方法。

3. 方法

 在本节中,我们介绍了可扩展图像到图像(I2I)生成的 CtrLoRA 框架的设计和训练策略。在第 3.1 节中,我们介绍了基本公式并阐明了相关符号。在第 3.2 节中,我们提出了 Base ControlNet,作为各种 I2I 生成任务的基础模型。在第 3.3 节中,我们说明了如何使用 LoRA 有效地将 Base ControlNet 适应新条件。在第 3.4 节中,我们解释了条件嵌入网络的设计,以加速训练收敛。

3.1 准备工作

 在扩散模型(Ho et al., 2020; Rombach et al., 2022)中,每个数据样本 x 0 \mathbf{x}_0 x0 通过马尔可夫过程扩散到高斯噪声中,而生成模型则经过训练以使用以下损失函数来逆转此过程:

公式 1

 其中 x t = α ˉ t x 0 + 1 − α ˉ t ϵ \mathbf{x}_{t}=\sqrt{\bar{\alpha}_{t}}\mathbf{x}_{0}+\sqrt{1-\bar{\alpha}_{t}}\mathbf{\epsilon} xt=αˉt x0+1αˉt ϵ 表示步骤 t t t 处的噪声样本, ϵ θ \mathbf{\epsilon}_{\theta} ϵθ 是用于预测扩散噪声 ϵ \mathbf{\epsilon} ϵ 的神经网络。

对于条件生成,损失函数可以修改如下(Zhang et al., 2023):

公式 2

 其中 c \mathbf{c} c 表示条件信号,例如,对于文本到图像生成, c \mathbf{c} c 表示文本;对于图像到图像(I2I)生成, c \mathbf{c} c 表示图像。具体来说,用于 I2I 生成的 ControlNet (Zhang et al., 2023) 设计了噪声预测网络 ϵ θ ( x t , c ) \mathbf{\epsilon}_{\theta}\left(\mathbf{x}_t,\ \mathbf{c}\right) ϵθ(xt, c),如下所示:

公式 3

 其中 E \mathcal{E} E D \mathcal{D} D 表示在 Stable Diffusion(Rombach et al., 2022)中预训练的 UNet 的编码器和解码器, C θ \mathcal{C}_\theta Cθ 表示控制网络, F θ \mathcal{F}_\theta Fθ 表示条件嵌入网络。

在原始控制网络(ControlNet)中,等式 (3) 中的 C θ \mathcal{C}_\theta Cθ 针对每种类型的条件图像进行独立训练,并且不能在不同条件之间共享,这导致对训练数据和计算资源的需求巨大。在以下部分中,我们将介绍将 C θ \mathcal{C}_\theta Cθ 训练为共享且可扩展的基础控制网络(Base ControlNet)的 CtrLoRA 框架,并解释如何以更少的数据和更少的设备将其有效地扩展到各种新条件。

2 下文中,我们重点讨论 I2I 生成,并假设文本条件为默认条件。因此,为了简化符号,我们省略文本条件,并使用 c \mathbf{c} c 来表示图像条件。

3.2 可扩展 I2I 生成的基础控制网

 要为各种图像到图像(I2I)生成任务建立一个通用模型,就需要全面了解 I2I 生成。为此,我们建议同时对多种条件图像进行共享的基础控制网训练,以获得不同 I2I 任务的共同知识。同时,为了防止基础控制网因不同条件而混淆,我们建议在基础控制网的每个线性层中添加特定条件的 LoRA 层。通过这种方式,不同条件特定的 LoRA 负责捕获相应任务的独特特征,因此共享的基础控制网可以专注于 I2I 生成的共同知识。整个架构如图 3(a) 所示。

图 3

图 3:我们的 CtrLoRA 框架的训练和推理。“SD” 表示 Stable Diffusion,“CN” 表示 Base ControlNet,不同颜色的 “L” 表示不同条件下的 LoRA。

 具体来说,假设我们有 K K K 种不同类型的基本条件 { c ( k ) } k = 1 K \left\{\mathbf{c}^{\left (k\right)}\right\}_{k=1}^{K} {c(k)}k=1K,其对应的数据子集为 { D ( k ) } k = 1 K \left\{\mathcal{D}^{\left (k\right)}\right\}_{k=1}^{K} {D(k)}k=1K C θ \mathcal{C}_\theta Cθ 表示基本控制网, L ψ ( k ) \mathcal{L}_\psi\left(k\right) Lψ(k) 表示负责第 k k k 个条件的条件特定 LoRA。在此背景下,我们建议调整等式 (3) 中的噪声预测网络,如下所示:

图 4

 实际上,每个训练批次中只选择一个条件,并且不同条件按批次迭代,因此可以使用相同数量的训练迭代来优化所有条件。对于每个批次,将打开并更新与当前条件相对应的 LoRA 层,如图 3(a) 所示。

 为了确保 Base ControlNet 的有效性和通用性,训练过程在 9 个基本条件下进行,包含数百万个数据(Qin et al., 2024),大约需要 6000 个 GPU 小时。尽管耗费资源,但该过程为有效适应新条件铺平了道路,如第 3.3 节所示。

3.3 有效适应新条件

 由于训练有素的 Base ControlNet 学习了足够的 I2I 生成的一般知识,因此可以通过参数高效的微调有效地适应新条件。与第 3.2 节中针对基本条件的 LoRA 类似,我们也可以在冻结 Base ControlNet 的同时为任何新条件训练新的 LoRA,如图 3(b) 所示。因此,当将 LoRA 等级设置为 128 时,只有 3700 万个可优化参数,与全参数微调的 3.6 亿个参数相比大幅减少。此外,在大多数情况下,只需 1,000 个数据对和在单个 RTX 4090 GPU 上进行不到一小时的训练就足以获得令人满意的结果。

 此外,针对不同条件训练的 LoRA 可以组合起来用于多条件生成。具体来说,我们可以通过将配备相应 LoRA 的 Base ControlNet 的输出相加来生成满足多种条件的图像,如图 3© 所示。

3.4 条件嵌入网络的设计

 在原始的 ControlNet(Zhang et al., 2023)中,使用一个随机初始化的简单卷积网络将条件图像映射到嵌入中,这被称为条件嵌入网络。然而,随机初始化的网络在训练开始时无法从条件图像中提取任何有用的信息,从而导致收敛速度慢

 为了解决这个问题,我们建议使用 Stable Diffusion 的预训练 VAE(Rombach et al., 2022)作为条件嵌入网络,而不是随机初始化网络,如图 3 和公式 (4) 所示。一方面,由于预训练的 VAE 已被证明能够有效地表示和重建图像(Rombach et al., 2022),它已经可以从条件图像中提取有意义的嵌入而无需额外的学习。另一方面,由于 Base ControlNet 被初始化为 Stable Diffusion 编码器的可训练副本,因此预训练 VAE 的嵌入空间与 Base ControlNet 的初始输入空间无缝匹配。总之,与随机初始化的网络相比,使用预训练 VAE 作为条件嵌入网络不需要额外的努力来学习合适的嵌入空间,因此可以实现更快的收敛。此外,使用这种方法,不再观察到与原始 ControlNet 相关的突然收敛现象。

4. 实验

4.1 实验设置

数据集。为了训练基础控制网络,我们使用了大规模数据集 MultiGen-20M(Qin et al., 2024),其中包含 9 个图像到图像任务中的 2000 多万个图像条件对。为了训练 LoRA 以适应新条件,我们基于 COCO2017(Lin et al., 2014)训练集创建了多种类型的图像条件对。对于所有定量评估,我们使用 COCO2017 验证集。此外,我们使用 HazeWorld 数据集(Xu et al., 2023)进行去雾任务,使用 Raindrop 数据集(Qian et al., 2018)进行去雨滴任务,使用 Yang et al. (2020) 的数据集进行低光图像增强,使用 Danbooru2019 数据集(Branwen et al., 2019)进行动漫生成。

评估指标。我们使用 LPIPS(Zhang et al., 2018)在两种情况下测量生成的图像对条件图像的忠实度。对于包括 Canny、HED、Sketch、Depth、Normal、Segmentation、Skeleton、Lineart 和 Densepose 在内的条件,目标是生成与条件图像匹配的图像。因此,我们从生成的图像中重新提取条件并将其与真实条件图像进行比较。对于包括 Outpainting、Inpainting 和 Dehazing 在内的条件,目标是从退化图像中生成高保真图像。因此,我们将生成的图像与真实图像进行比较。此外,我们使用 FID 分数(Heusel et al., 2017)来评估图像质量。

实施细节。为了与其他方法进行公平比较,我们在所有实验中都使用 Stable Diffusion v1.5。在训练基本控制网时,我们将每个基本任务的 LoRA 等级设置为 128。基本控制网使用 AdamW 优化器(Loshchilov & Hutter, 2017)训练,700k 步,学习率为 1 × 1 0 − 5 1×10^{−5} 1×105,批次大小为 32,在 8 个 RTX4090 GPU 上大约需要 6000 GPU 小时。对于所有新条件,LoRA 等级均设置为 128。此外,我们还对规范化层和零卷积进行了微调。我们使用 AdamW 优化器,学习率为 1 × 1 0 − 5 1×10^{−5} 1×105,批次大小为 1。在此阶段,只需要一个 GPU,这比训练原始控制网的要求要便宜得多。对于采样,我们应用 DDIM(Song et al., 2021a)采样器,步长为 50。无分类器指导的权重(Ho & Salimans, 2022)设置为 7.5,ControlNet 的强度设置为 1.0。我们不使用任何额外提示或负面提示进行定量评估。

4.2 与现有方法的比较

基础条件下的性能。为了展示基础控制网的容量,我们评估了它在基础条件下的性能,如表 2 和图 4 所示。我们将结果与 UniControl(Qin et al., 2024)进行了比较,UniControl 是一种最先进的方法,它训练一个统一的模型来管理所有基础条件,类似于我们的基础控制网。可以看出,对于基础条件,我们的基础控制网的性能与最先进的 UniControl 相当,展示了其强大的基本能力。此外,我们的基础控制网可以轻松高效地扩展到新条件,而使用 UniControl 则并非易事

表 2

表 2:基础条件的定量比较。

图 4

图 4:基准条件下的视觉比较。

适应新条件。对于新条件,我们将我们的方法与 ControlNet(Zhang et al., 2023),ControlNet-LITE(Zhang et al., 2023)和ControlNet-XS(Zhang et al., 2023)进行了比较。后两者是 ControlNet 的轻量级替代品,旨在优化网络架构并加速训练过程。为了评估数据效率和可扩展性,我们分别在 1k 和 100k 训练图像上进行实验,如表 3 和图 5 所示。在有限的训练集(1k)下,CtrLoRA 的表现始终远远优于竞争对手,凸显了其在快速适应新条件方面的优势。在大型训练集(100k)下,CtrLoRA 取得了更好或相当的结果。综上所述,在适应新条件方面,我们的 CtrLoRA 不仅数据效率高,而且随着数据规模的增加也能取得令人满意的性能

表 3

表 3:新条件下的定量比较。每个单元格代表 “LPIPS↓ / FID↓”。

图 5

图 5:新条件下的视觉比较。

收敛速度。我们根据训练步骤将结果可视化,并在图 6 中绘制收敛曲线。可以看出,我们的 CtrLoRA 仅在 500 个训练步骤后就开始遵循条件,而其他方法需要超过 10,000 步才能达到收敛。

图 6

图 6:收敛速度的视觉比较。

4.3 消融研究

每个组件的效果。我们从原始 ControlNet 开始,逐个添加我们提出的组件,以验证组件的效果,从而得到表 4 中的三个增量设置(A-C)。在表 4 和图 7 的设置(A)中,我们评估了使用预训练 VAE 作为条件嵌入网络的效果,如第 3.4 节所述。可以看出,使用预训练 VAE 可以提高 LPIPS 和 FID 分数,并加快训练收敛速度。在设置(B)中,我们进一步将 ControlNet 的初始化从稳定扩散切换到训练有素的基础 ControlNet,并执行全参数微调,以验证基础 ControlNet 的通用性。如图所示,我们的基础 ControlNet 可以在有限的训练集(1k 张图像)下更快地适应新条件,并且在大型训练集(100k 张图像)下仍能实现领先的性能。这一结果表明,我们的 Base ControlNet 学习了足够的 I2I 生成常识,确实有助于适应新条件。最后在设置(C)中,我们用条件特定的 LoRA 代替全参数训练,这代表了我们方法的完整实现。如图所示,尽管 LoRA 将可优化参数减少了 90%,但它并没有损失太多性能,并且在大多数情况下保持了第二好的性能,证明了我们的 CtrLoRA 框架的有效性和效率

表 4

表 4:所提成分的效果。每个单元格代表 “LPIPS↓ / FID↓”。

图 7

图 7:ControlNet 与设置(A)之间的收敛速度比较。

LoRA 等级的影响。我们用 32、64、128 和 256 的 LoRA 等级来评估 CtrLoRA 性能,并且我们还评估全参数训练作为上限。如图 8 所示,LPIPS 随着等级的增加而提高,而 FID 分数在等级 64 时趋于稳定。为了平衡性能和可优化参数的数量,我们在所有条件下选择 128 的等级。

训练集大小的影响。我们分别在包含 1k、3k、5k、10k 和 50k 图像的数据集上训练我们的 CtrLoRA,每个数据集大小运行 5 个 epoch。如图 9 所示,LPIPS 和 FID 都会随着数据集大小的增加而提高。尽管如此,在我们的实践中,对于大多数新条件,少量的训练数据(1k 张图像)通常足以获得令人满意的视觉感知

图 8

图 8:LoRA 等级的影响。

图 9

图 9:训练集大小的影响。

4.4 其他实验

更多新奇条。件我们在图 10 中提供了更多新奇条件的视觉结果,包括调色板、带颜色提示的线性图、像素、去雨滴、低光图像增强和幻觉。尽管这些条件之间存在显著差异,但我们的方法在所有这些条件下都取得了不错的结果,这证明了我们的 CtrLoRA 对各种条件的普遍性

集成到社区模型中。我们的 CtrLoRA 可以直接应用于基于稳定扩散 1.5 的社区模型。在图 11(a) 中,我们将我们的 CtrLoRA 集成到四个风格截然不同的社区模型中。结果表现出不同的风格,但与给定的条件保持一致,这表明我们的方法可以灵活地用作即插即用模块,而无需额外的训练

结合多种条件。通过为 Base ControlNet 配备不同的 LoRA 并对其输出求和,我们可以执行多条件生成而无需额外的训练。可以手动调整分配给每个条件的权重,以控制其对最终结果的影响,在大多数情况下,权重为 1 通常就足够了。如图 11(b) 所示,我们的 CtrLoRA 可以生成同时符合两个条件的视觉吸引力图像

图 10

图 10:我们的 CtrLoRA 针对各种新条件的视觉结果。

图 11

图 11:无需额外训练,训练有素的 CtrLoRA 可以直接集成到各种社区模型中并组合进行多条件生成。

5. 结论与局限性

在本文中,我们提出了 CtrLoRA,这是一个旨在使用最少的数据和资源为任何新条件开发可控生成模型的框架。在这个框架中,我们首先训练一个基础 ControlNet 以及特定于条件的 LoRA,以捕获图像到图像生成的常识,然后通过训练新的 LoRA 使其适应新条件。与 ControlNet 相比,我们的方法显著降低了对数据和计算资源的要求,并大大加快了训练收敛速度。此外,训练后的模型可以无缝集成到社区模型中,并结合进行多条件生成,而无需进一步训练。通过降低开发门槛,我们希望我们的研究能够鼓励更多人加入社区,促进可控图像生成的发展

我们通过经验发现,与颜色相关的条件(例如带有颜色提示的 Palette 和 Lineart)往往比仅涉及空间关系的条件收敛得更慢。这种现象似乎是一个常见问题,不仅出现在我们的方法中,也出现在其他基于 ControlNet 的竞争对手中。我们推测这个问题可能源于网络架构的功能,特别是 VAE、基于 UNet 的 Stable Diffusion 和 ControlNet 的架构。为了增强我们框架的功能,值得使用更先进的基于 DiT(Peebles & Xie, 2023)的主干(例如 Stable Diffusion V3(Esser et al., 2024)和 Flux.1)来开发我们的 CtrLoRA,我们将留待将来再研究

参考文献

  1. Yogesh Balaji, Seungjun Nah, Xun Huang, Arash Vahdat, Jiaming Song, Qinsheng Zhang, Karsten Kreis, Miika Aittala, Timo Aila, Samuli Laine, et al. ediff-i: Text-to-image diffusion models with an ensemble of expert denoisers. arXiv preprint arXiv:2211.01324, 2022.
  2. Fan Bao, Shen Nie, Kaiwen Xue, Yue Cao, Chongxuan Li, Hang Su, and Jun Zhu. All are worth words: A vit backbone for diffusion models. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pp. 22669–22679, 2023.
  3. James Betker, Gabriel Goh, Li Jing, Tim Brooks, Jianfeng Wang, Linjie Li, Long Ouyang, Juntang Zhuang, Joyce Lee, Yufei Guo, et al. Improving image generation with better captions. Computer Science. https://cdn. openai. com/papers/dall-e-3. pdf, 2(3):8, 2023.
  4. Gwern Branwen, Anonymous, and Danbooru Community. Danbooru2019 portraits: A large-scale anime head illustration dataset. https://gwern.net/crop#danbooru2019-portraits, March 2019. URL https://gwern.net/crop#danbooru2019-portraits.
  5. Junsong Chen, Jincheng YU, Chongjian GE, Lewei Yao, Enze Xie, Zhongdao Wang, James Kwok, Ping Luo, Huchuan Lu, and Zhenguo Li. Pixart-α: Fast training of diffusion transformer for photorealistic text-to-image synthesis. In The Twelfth International Conference on Learning Representations, 2024.
  6. Prafulla Dhariwal and Alexander Nichol. Diffusion models beat gans on image synthesis. Advances in neural information processing systems, 34:8780–8794, 2021.
  7. Patrick Esser, Sumith Kulal, Andreas Blattmann, Rahim Entezari, Jonas Mu ̈ller, Harry Saini, Yam Levi, Dominik Lorenz, Axel Sauer, Frederic Boesel, Dustin Podell, Tim Dockhorn, Zion English, and Robin Rombach. Scaling rectified flow transformers for high-resolution image synthesis. In Forty-first International Conference on Machine Learning, ICML 2024, Vienna, Austria, July 21-27, 2024, 2024.
  8. Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. Gans trained by a two time-scale update rule converge to a local nash equilibrium. Advances in neural information processing systems, 30, 2017.
  9. Jonathan Ho and Tim Salimans. Classifier-free diffusion guidance. arXiv preprint arXiv:2207.12598, 2022.
  10. Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. Advances in neural information processing systems, 33:6840–6851, 2020.
  11. Edward J Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, and Weizhu Chen. LoRA: Low-rank adaptation of large language models. In International Conference on Learning Representations, 2022.
  12. Diederik P Kingma and Max Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114, 2013.
  13. Yuheng Li, Haotian Liu, Qingyang Wu, Fangzhou Mu, Jianwei Yang, Jianfeng Gao, Chunyuan Li, and Yong Jae Lee. Gligen: Open-set grounded text-to-image generation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 22511–22521, 2023.
  14. Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dolla ́r, and C Lawrence Zitnick. Microsoft coco: Common objects in context. In Computer Vision–ECCV 2014: 13th European Conference, Zurich, Switzerland, September 6-12, 2014, Proceedings, Part V 13, pp. 740–755. Springer, 2014.
  15. Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. arXiv preprint arXiv:1711.05101, 2017.
  16. Chong Mou, Xintao Wang, Liangbin Xie, Yanze Wu, Jian Zhang, Zhongang Qi, and Ying Shan. T2i-adapter: Learning adapters to dig out more controllable ability for text-to-image diffusion models. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 38, pp. 4296– 4304, 2024.
  17. Alexander Quinn Nichol, Prafulla Dhariwal, Aditya Ramesh, Pranav Shyam, Pamela Mishkin, Bob Mcgrew, Ilya Sutskever, and Mark Chen. GLIDE: Towards photorealistic image generation and editing with text-guided diffusion models. In Kamalika Chaudhuri, Stefanie Jegelka, Le Song, Csaba Szepesvari, Gang Niu, and Sivan Sabato (eds.), Proceedings of the 39th International Conference on Machine Learning, volume 162 of Proceedings of Machine Learning Research, pp. 16784–16804. PMLR, 17–23 Jul 2022.
  18. William Peebles and Saining Xie. Scalable diffusion models with transformers. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pp. 4195–4205, 2023.
  19. Rui Qian, Robby T Tan, Wenhan Yang, Jiajun Su, and Jiaying Liu. Attentive generative adversarial network for raindrop removal from a single image. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 2482–2491, 2018.
  20. Can Qin, Shu Zhang, Ning Yu, Yihao Feng, Xinyi Yang, Yingbo Zhou, Huan Wang, Juan Carlos Niebles, Caiming Xiong, Silvio Savarese, et al. Unicontrol: A unified diffusion model for con- trollable visual generation in the wild. Advances in Neural Information Processing Systems, 36, 2024.
  21. Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, et al. Learning transferable visual models from natural language supervision. In International conference on machine learning, pp. 8748–8763. PMLR, 2021.
  22. Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. Journal of machine learning research, 21(140):1–67, 2020.
  23. Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, Casey Chu, and Mark Chen. Hierarchical text- conditional image generation with clip latents. arXiv preprint arXiv:2204.06125, 1(2):3, 2022.
  24. Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Bjo ̈rn Ommer. High- resolution image synthesis with latent diffusion models. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pp. 10684–10695, 2022.
  25. Simo Ryu. Low-rank adaptation for fast text-to-image diffusion fine-tuning, 2022. URL https: //github.com/cloneofsimo/lora.
  26. Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily L Denton, Kam- yar Ghasemipour, Raphael Gontijo Lopes, Burcu Karagol Ayan, Tim Salimans, et al. Photo- realistic text-to-image diffusion models with deep language understanding. Advances in neural information processing systems, 35:36479–36494, 2022.
  27. Christoph Schuhmann, Romain Beaumont, Richard Vencu, Cade Gordon, Ross Wightman, Mehdi Cherti, Theo Coombes, Aarush Katta, Clayton Mullis, Mitchell Wortsman, et al. Laion-5b: An open large-scale dataset for training next generation image-text models. Advances in Neural Information Processing Systems, 35:25278–25294, 2022.
  28. Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In International conference on machine learning, pp. 2256–2265. PMLR, 2015.
  29. Jiaming Song, Chenlin Meng, and Stefano Ermon. Denoising diffusion implicit models. In International Conference on Learning Representations, 2021a.
  30. Yang Song and Stefano Ermon. Generative modeling by estimating gradients of the data distribution. Advances in neural information processing systems, 32, 2019.
  31. Yang Song, Jascha Sohl-Dickstein, Diederik P Kingma, Abhishek Kumar, Stefano Ermon, and Ben Poole. Score-based generative modeling through stochastic differential equations. In International Conference on Learning Representations, 2021b.
  32. Arash Vahdat, Karsten Kreis, and Jan Kautz. Score-based generative modeling in latent space. Advances in neural information processing systems, 34:11287–11302, 2021.
  33. Jiaqi Xu, Xiaowei Hu, Lei Zhu, Qi Dou, Jifeng Dai, Yu Qiao, and Pheng-Ann Heng. Video de- hazing via a multi-range temporal alignment network with physical prior. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2023.
  34. Zeyue Xue, Guanglu Song, Qiushan Guo, Boxiao Liu, Zhuofan Zong, Yu Liu, and Ping Luo. Raphael: Text-to-image generation via large mixture of diffusion paths. Advances in Neural Information Processing Systems, 36, 2024.
  35. Wenhan Yang, Shiqi Wang, Yuming Fang, Yue Wang, and Jiaying Liu. From fidelity to perceptual quality: A semi-supervised approach for low-light image enhancement. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2020.
  36. Denis Zavadski, Johann-Friedrich Feiden, and Carsten Rother. Controlnet-xs: Designing an ef- ficient and effective architecture for controlling text-to-image diffusion models. arXiv preprint arXiv:2312.06573, 2023.
  37. Lvmin Zhang, Anyi Rao, and Maneesh Agrawala. Adding conditional control to text-to-image diffusion models. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pp. 3836–3847, 2023.
  38. Richard Zhang, Phillip Isola, Alexei A Efros, Eli Shechtman, and Oliver Wang. The unreasonable effectiveness of deep features as a perceptual metric. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 586–595, 2018.
  39. Shihao Zhao, Dongdong Chen, Yen-Chun Chen, Jianmin Bao, Shaozhe Hao, Lu Yuan, and Kwan- Yee K Wong. Uni-controlnet: All-in-one control to text-to-image diffusion models. Advances in Neural Information Processing Systems, 36, 2024.

相关文章:

【AIGC】2024-arXiv-CtrLoRA:一种可扩展且高效的可控图像生成框架

2024-arXiv-CtrLoRA: An Extensible and Efficient Framework for Controllable Image Generation CtrLoRA:一种可扩展且高效的可控图像生成框架摘要1. 引言相关工作3. 方法3.1 准备工作3.3 有效适应新条件3.4 条件嵌入网络的设计 4. 实验4.1 实验设置4.2 与现有方法…...

立仪光谱共焦在玻璃上奥秘与应用

在现代工业和科学研究中,玻璃因其透明、坚硬和易加工的特性被广泛应用于各个领域。然而,玻璃的厚度测量一直是困扰业界的一大难题。传统的千分尺或电容式传感器虽然在一定程度上能满足生产需求,但在精度、效率以及适用范围上存在明显的局限。…...

【天气识别系统】Python+卷积神经网络算法+人工智能+深度学习+TensorFlow+算法模型训练+Django网页界面

一、介绍 天气识别系统,以Python作为主要编程语言,通过收集了4种常见的天气图像数据集(多云、雨天、晴天、日出),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练,最后得到一个识…...

MiniCTX:面向大语言模型定理证明的上下文相关基准测试系统

卡内基梅隆大学的研究人员推出MiniCTX,这是一个强大的基准测试系统,旨在通过整合前所未有的多重上下文元素(包括前提、先前证明、注释、符号以及导入和声明等结构组件)来彻底改变大型语言模型中定理证明能力的评估方式&#xff0c…...

树莓派开发相关知识三PWM控制转速

基于树莓派PWM控制 控制L298N马达驱动转速 马达驱动转速 1、L298N电路图: 2、需要留意的有几点 INA~IND四个引脚分别控制OUTA-OUTD,即,INA高电平则OUTA有电。 ENA,ENB分别使能控制OUTA~OUTB以及OUTC~OUTD。 OUT口有VCC电压驱动…...

SpringBoot最常用的注解

1、RestController 作用:与Controller类似,但是RestController会自动将返回值转换为JSON格式。 2、RequestMapping 作用:用于映射请求URL和处理方法。 RequestMapping是Spring MVC框架中的一个核心注解,它用于映射HTTP请求和控…...

js 获取当前时间与前一个月时间

// 获取当前时间的毫秒数 var currentTimeMillis new Date().getTime();// 获取前一个月的Date对象 var dateLastMonth new Date(); dateLastMonth.setMonth(dateLastMonth.getMonth() - 1);// 获取前一个月的毫秒数 var timeMillisLastMonth dateLastMonth.getTime();conso…...

深度了解flink rpc机制(四) 组件启动流程源码分析

前言 目前已发布了3篇关于Flink RPC相关的文章,分别从底层通信系统akka/Pekko,RPC实现方式动态代理以及Flink RPC相关的组件做了介绍 深度了解flink rpc机制(一)-Akka/Pekko_flink pekko akka-CSDN博客 深度了解flink rpc机制&…...

C++基于opencv的视频质量检测--遮挡检测

文章目录 0.引言1. 原始代码分析1.1 存在的问题 2. 优化方案3. 优化后的代码4. 代码详细解读4.1. 输入检查4.2. 图像预处理4.3. 高斯模糊4.4. 梯度计算4.5. 计算梯度幅值和方向4.6. 边缘检测4.7. 计算边缘密度4.8. 估计遮挡程度4.9. 限定结果范围4.10. 返回结果 0.引言 视频质…...

手机玩潜水员戴夫?GameViewer远程如何随时随地玩潜水员戴夫教程

如果你是潜水员戴夫的忠实玩家,你知道如何在手机上玩潜水员戴夫吗?潜水员戴夫是一个以神秘蓝洞为背景的海洋冒险游戏。在这个游戏里你白天可以在美丽的大海里打鱼,晚上可以经营寿司店。现在这个游戏也能实现用手机随时随地畅玩了!…...

UE5 喷射背包

首选创建一个输入操作 然后在输入映射中添加,shift是向上飞,ctrl是向下飞 进入人物蓝图中编写逻辑,变量HaveJatpack默认true,Thrust为0 最后...

【Vue3】第三篇

Vue3学习第三篇 01. 组件组成02. 组件嵌套关系03. 组件注册方式04. 组件传递数据Props05. 组件传递多种数据类型06. 组件传递Props校验07. 组件事件08. 组件事件配合v-model使用09. 组件数据传递10. 透传Attributes 01. 组件组成 在vue当中,组件是最重要的知识&…...

c++二级指针

如果要通过函数改变一个指针的值&#xff0c;要往函数中传入指针的指针 如果要通过函数改变一个变量的值&#xff0c;那就要往函数中传入这个变量的地址 改变a的值和b的值 #include <iostream>using namespace std;void swap(int* a, int* b) {int temp *a;*a *b;*b …...

客户端存储 — IndexedDB 实现分页查询

前言 相信 IndexedDB 大家都有过了解&#xff0c;但是不一定每个人都有过实践&#xff0c;并且其中涉及到事务、游标等概念&#xff0c;会导致在初次使用时会有些不适应&#xff0c;那么本文会通过 IndexedDB 实现分页查询的形式进行实践&#xff0c;在开始之前&#xff0c;可…...

logback 如何将日志输出到文件

如何作 将日志输出到文件需要使用 RollingFileAppender&#xff0c;该 Appender 必须定义 rollingPolicy &#xff0c;另外 rollingPollicy 下必须定义 fileNamePattern 和 encoder <appender name"fileAppender" class"ch.qos.logback.core.rolling.Rollin…...

Files.newBufferedReader和Files.readAllLines

在Java中&#xff0c;Files.newBufferedReader 和 Files.readAllLines 都是用于从文件中读取数据的工具方法&#xff0c;但它们的使用场景和功能有所不同。下面我将详细解释这两个方法的含义、用途、区别、优缺点以及各自的使用场景。 1. Files.newBufferedReader 含义和用途…...

MySQL 数据库备份与恢复全攻略

MySQL 数据库备份与恢复全攻略 引言 在现代应用中&#xff0c;数据库是核心组件之一。无论是个人项目还是企业级应用&#xff0c;数据的安全性和完整性都至关重要。为了防止数据丢失、损坏或意外删除&#xff0c;定期备份数据库是必不可少的。本文将详细介绍 MySQL 数据库的备…...

Appium中的api(一)

目录 1.基础python代码准备 1--参数的一些说明 2--python内所要编写的代码 解释 2.如何获取包名和界面名 1-api 2-完整代码 代码解释 3.如何关闭驱动连接 4.安装卸载app 1--卸载 2--安装 5.判断app是否安装 6.将应用放到后台在切换为前台的时间 7.UIAutomatorViewer的使用 1--找…...

【AI辅助设计】没错!训练FLUX LoRA就这么简单!

前言 得益于开源社区的力量&#xff0c;在各位大佬的努力下&#xff0c;现在16G VRAM的家用电脑也可以训练FLUX的LoRA了 &#x1f44f;。 今天我使用fluxgym这个方法&#xff0c;训练LoRA&#xff0c;并记录过程。 篇幅有限&#xff0c;这里就不一一展示了&#xff0c;有需要的…...

Mac 下安装FastDFS

首先我们需要下载相对应的安装包&#xff1a; libfastcommonFastDFS 下载完成后我们先将其解压到桌面。 1.安装libfastcommon 我们进入到libfastcommon-master目录中执行./make.sh和sudo ./make.sh install&#xff0c;具体代码如下&#xff1a; 2.安装FastDFS 同安装libfa…...

人工智能的未来:重塑生活与工作的变革者

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;我们正处于一个前所未有的变革时代。AI不仅在医疗、企业运营和日常生活中发挥着重要作用&#xff0c;而且正在重新定义我们的生活和工作方式。本文将探讨人工智能技术的应用前景以及它如何改变我们的生活和工…...

【微服务】Java 对接飞书多维表格使用详解

目录 一、前言 二、前置操作 2.1 开通企业飞书账户 2.2 确保账户具备多维表操作权限 2.3 创建一张测试用的多维表 2.4 获取飞书开放平台文档 2.5 获取Java SDK 三、应用App相关操作 3.1 创建应用过程 3.2 应用发布过程 3.3 应用添加操作权限 四、多维表应用授权操作…...

学习threejs,使用粒子实现下雪特效

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.Points简介1.11 ☘️…...

unity3d——Time

在Unity3D中&#xff0c;Time类是一个非常重要的工具类&#xff0c;它提供了一系列与时间相关的属性和方法&#xff0c;帮助开发者在游戏中实现各种时间相关的操作。以下是一些Time类常用的方法及其示例&#xff1a; 一、常用属性 Time.time 含义&#xff1a;表示从游戏开始到…...

天地图实现海量聚合marker--uniapp后端详细实现

本文章详细的讲解了前后端代码来 实现uniapp天地图功能的实现 以及 后端海量数据的聚合查询 和网格算法实现思路。 并对当数据量增加和用户频繁请求接口时可能导致服务器负载过高做了前后端优化。 前端uniapp&#xff1a; 实现了天地图的行政区划边界/地图切换/比例尺/海量数…...

Bug | 项目中数据库查询问题

问题描述 理论上&#xff0c;点击查询后&#xff0c;表头应当显示中文。而不是上面的在数据库中的表头【如上图示】 正常点击查询后&#xff0c;如果没有输入值&#xff0c;应当是查询所有的信息。 原因分析&#xff1a; 这里是直接使用SELECT * 导致的。例如&#xff1a; S…...

C++入门基础知识129—【关于C 库函数 - time()】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C 库函数 - time()的相关内容&#xff0…...

大文件秒传,分片上传,断点续传

大文件分片上传 一 功能描述 1.文件通过web端分片多线程上传到服务端&#xff0c;然后web端发起分片合并&#xff0c;完成大文件分片上传功能 2.上传过的大文件&#xff0c;实现秒传 3.上传过程中&#xff0c;服务异常退出&#xff0c;实现断点续传 二 流程图 三 代码运行…...

多生境扩增子探秘:深度溯源与多样性解析

分析微生物组数据的组成结构的一个主要挑战是确定其潜在来源。在微生物来源分析中&#xff0c;随机森林、SourceTracker和FEAST都有较广泛应用。今天&#xff0c;小编就带大家看一篇发表在《iMeta》的文章&#xff0c;使用溯源技术追踪微生物的来源与去向&#xff0c;揭示生物在…...

Selenium4自动化测试常用函数总结,各种场景操作实战

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 seleninum作为自动化测试的工具&#xff0c;自然是提供了很多自动化操作的函数&#xff0c;下面列举下比较常用的函数&#xff0c;更多可见官方文档&#xff1a;…...