用图像来引导 Stable Diffusion
主要内容
扩散模型在文本到图像生成领域有显著进展,但在生成个性化内容时,因文本的有限性与抽象性难以满足复杂需求。图像引导能弥补文本描述不足,可更直观具体地引导模型生成个性化图像。图像引导文本生成图像扩散模型的可控生成方法主要分为基于模型微调方法与基于适配器方法两类。本文简要阐述扩散模型相关理论,总体介绍研究现状与方法分类,详细剖析各细分方法的框架内容,通过实验从定性定量角度比较差异,细致说明各方法特点。
关键词:扩散模型; 可控生成; 图像引导; 文本生成图像
1. 引言
扩散模型作为一种新兴的生成模型,在文本到图像生成领域取得了显著进展。然而,如果我们想要生成自己在各个场景下的图像或者某一特定风格的图像等个性化内容,文本生成图像的扩散模型就无法实现。这是由于文本的有限性和抽象性,使得仅依赖文本引导图像生成难以满足不同应用场景的复杂需求。
利用文本生成具有明显视觉特征的图像是困难的,而用图像来引导模型生成则可以更加直观和具体地引导生成过程。图像提供了丰富的视觉信息和细节,能够有效地弥补文本描述的不足。在用图像来引导文本生成图像的扩散模型进行可控生成的任务中,模型允许用户输入一组图像,这样模型可以更准确地理解用户的需求和偏好,从而生成更加符合预期的个性化图像。
用图像来引导文本生成图像的Stable Diffusion进行可控生成\的方法,大体上可以分为基于模型微调的方法和基于适配器的方法。基于模型微调的方法每次遇到新的参考图像都要微调模型以生成符合参考图像的个性化图像,而基于适配器的方法只需要开始用参考图像训练适配器,然后新的参考图像接入适配器就可以引导模型生成。基于模型微调的方法主要有 Textual Inversion、DreamBooth、LoRA,基于适配器的方法主要有 T2I adapter、Controlnet、IP adapter。还可以按照应用参考图像的不同,将研究方法分为自然图像引导的个性化生成方法和视觉特征图像引导的生成方法。
本文首先简要说明去噪扩散概率模型和文本生成图像的稳定扩散模型的相关理论,然后介绍研究任务的基本定义,紧接着说明目前研究现状,介绍现有研究方法的基本分类,详细分析每个细分研究方法的主要框架和内容,用实验从定性和定量的角度比较不同方法之间的差异,最后总结整篇文章。
2. 相关理论
2.1 去噪扩散概率模型
去噪扩散概率模型(Denoising Diffusion Probabilistic Model, DDPM)在图像生成任务中取得了显著的成功。去噪概率扩散模型主要分为前向扩散过程和反向去噪过程两个阶段,它采用前向过程将噪声添加到数据中,然后在反向过程中学习去噪,从而完成训练数据分布的拟合。
前向扩散过程:给定一个初始训练数据分布 ,前向扩散过程遵循马尔科夫链的方式,通过在每个时间 添加方差为 的高斯噪声来生成潜变量 到 ,当时间 足够大时, 的分布就可以被看为标准正态分布,具体过程如下:
反向去噪过程:在 DDPM 的反向过程中,模型的目标是逐步对噪声数据进行去噪,从而逼近马尔可夫链的反向过程。这个过程从噪声向量 开始,并逐步过渡到原始数据分布 。生成模型将反向去噪 参数化为正态分布,如下面公式:
反向去噪过程通常利用深度神经网络 UNet 模型架构来预测噪声。具体而言,UNet 将噪声数据 和时间步长 作为输入,预测模型在扩散过程中添加的噪声 ,进而计算 时刻数据分布的均值 ,具体计算公式如(2-4)。利用 Unet 我们可以对 进行去噪得到 的数据,从 开始,逐步利用 Unet 得到前一时刻的数据,最终就可以生成原始数据 。
损失函数:在训练开始,模型进行前向扩散过程,将输入图像 添加噪声 得到噪声图像 ,然后进行反向去噪过程,UNet 将噪声图像 和时间步长 作为输入,得到预测添加的噪声 ,最后将真实噪声与预测噪声之间的均方误差作为训练的损失函数,如下面公式。
2.2 文本生成图像的稳定扩散模型
随着开源模型 Stable Diffusion 的发布,文本生成图像的稳定扩散模型受到人们的广泛关注。Stable Diffusion 和传统 DDPM 十分相似,都包含扩散过程和去噪过程,但是它有两个明显的进步。首先,Stable Diffusion 的正向扩散过程和反向去噪过程发生在潜在空间而非像素空间,降低了资源消耗,提升了训练效率;其次,Stable Diffusion 引入了文本作为条件输入,可以利用文本来生成图像,提高了对生成过程的控制。
基础组件:Stable Diffusion 主要包含四个基础组件,分别是变分自编码器(Variational Autoencoder)、文本编码器(CLIP text encoder)、UNet、调度器(Scheduler)。变分自编码器主要的功能是将图像从像素空间转换到潜在空间或者将图像从潜在空间转换到像素空间,在潜在空间运算提高训练效率。文本编码器的主要功能是将输入文本编码为特征向量,方便后续将特征信息注入 Unet 中。Unet 的主要功能是根据噪声图像、当前时刻、文本特征向量来预测添加的噪声。调度器的主要功能是在前向扩散阶段为图像添加噪声以及反向去噪阶段中为图像去除预测的噪声。
损失函数:在训练过程中,该模型首先使用变分自编码器将输入图像 压缩成潜在特征 。同时,文本编码器 将文本分词后的提示 转换为文本嵌入向量 。在正向扩散过程中,调度器逐步向潜在特征 添加高斯噪声 ,经过 个时间步骤后得到 ,随着 的增加, 逐渐接近纯高斯噪声。在反向(去噪)过程中,UNet 被训练以根据带有噪声的潜在特征 、时间步骤 以及文本嵌入向量 来预测添加的噪声 。损失 被计算为实际噪声 和预测噪声 之间的均方误差,如下面公式。
3. 研究任务
传统的去噪扩散概率模型只能从噪声逐渐去噪得到图像,这一生成过程是无条件控制的,可能无法生成我们想要的物体或风格。目前流行的文本生成图像的稳定扩散模型 Stable Diffusion 尽管可以利用文本来控制图像的生成,但是文本描述的有限性和抽象性可能导致生成的图像与期望不符,难以捕捉到细节和复杂的物体特征和艺术风格。
文本引导图像生成有其局限性,而用图像来引导模型生成则具有极强的可控性。这是因为图像引导模型生成的方法可以直接提供视觉信息,帮助模型更好地理解期望生成的图像特征和风格。通过使用图像引导的方式,可以更准确地指导模型生成与输入图像相似的图像。
本文研究用图像来引导文本生成图像的扩散模型进行可控生成,其目标是:给定参考图像和预训练好的 Stable Diffusion,能够用参考图像来引导 Stable Diffusion 的生成,使得最终生成的图像包含参考图像的物体、风格或空间信息等特征。
4. 研究问题现状
4.1 总览现存研究方法
针对用图像来引导文本生成图像的扩散模型进行可控生成的方法,大体上可以分为基于模型微调(finetune)的方法和基于适配器(adapter)的方法。基于模型微调的方法利用多组参考图像以及对应的文本描述来微调 Stable Diffusion,使得微调后的 Stable Diffusion 具有生成特定物体或风格的能力。
基于适配器的方法会先利用多组参考图像和冻结参数的 Stable Diffusion 来训练适配器,训练完成适配器后,给定参考图像,参考图像会先进入适配器,然后由适配器将处理后的信息注入 Stable Diffusion,最终可以生成与参考图像相似的物体。两大类方法最大的不同点在于,模型微调方法每次遇到新的参考图像都要重新微调 Stable Diffusion,而适配器方法通常仅在开始训练一次,然后遇到新的参考图像直接推理生成即可。还可以按照应用参考图像的不同,将研究方法分为自然图像引导的个性化生成方法和视觉特征图像(例如边缘图、姿势图、深度图)引导的生成方法。
4.2 基于模型微调的方法
基于模型微调的方法利用参考图像来微调 Stable Diffusion 文本生成图像模型。目前基于模型微调的方法大体分为 Textual Inversion、DreamBooth、LoRA 三种。
4.2.1 Textual Inversion
Stable Diffusion 这种预训练的文本生成图像的模型通常都很粗范,也就是说当遇到想要生成特殊风格的图像时,往往很难通过提示词来让大模型生成。因为大模型在当初训练时难以做到面面俱到,对于特殊的新概念的风格并没有单独训练过,所以当我们用这个大模型想生成某种只有我们或少数人才知道的特殊的新风格时,对应的提示词在这个大模型上就无法起到作用。
普通的文本无法生成特定的物体或风格,Textual Inversion 的核心思路将参考图像和特定的文本建立联系,使得我们可以通过特定的文本生成特定的物体或风格。

4.2.2 DreamBooth
由于 Textual Inversion 在训练时只微调 Stable Diffusion 的 Embedding Lookup 层,所以能学习的参数并不多,导致模型的个性化能力有限,DreamBooth 方法通过增加训练的参数缓解了这一缺陷。

从 DreamBooth 的方法流程中可以发现,其核心同样是将参考图像和特定的文本建立联系。但是与 Textual Inversion 不同的是,DreamBooth 方法不仅会微调 Stable Diffusion 的 Embedding Lookup 层,还会微调 UNet 层。UNet 层是 Stable Diffusion 的核心参数部分,负责根据噪声图像预测输入的噪声。通过微调 UNet 层,DreamBooth 能够更精确地调整生成过程中的细节和特征,使其更符合参考图像的风格和特征。DreamBooth 在训练过程中还添加了 Class-Specific Prior Preservation Loss,使得 Stable Diffusion 模型在学习到生成特定物体能力的同时保持自身原有的生成普通物体的能力。
4.2.3 LoRA
Textual Inversion 方法虽然参数轻量但是个性化能力有限,DreamBooth 方法通过增加训练的参数缓解了这一缺陷,但也引发了新的问题。DreamBooth 由于要微调 Stable Diffusion 的核心参数 UNet 层,导致需要耗费大量的 GPU 资源和时间。LoRA 参数高效微调方法利用低秩矩阵乘积进行权重更新,大大减少需要储存的参数梯度信息,更新少部分关键参数,降低了运算资源,提高了更新效率。

LoRA 微调方法是目前 Stable Diffusion 社区中最为活跃的微调方法。它兼顾了 Textual Inversion 和 DreamBooth 方法的优势,在模型十分轻量的同时拥有不错的生成效果,让人人都可以在自己电脑上微调出高质量的生成模型,因此社区中不断涌现出经过 LoRA 微调后的新模型,还出现了利用 LoRA 微调进行图像编辑的方法。
4.3 基于适配器的方法
基于模型微调的方法每次遇到新的参考图像都要微调 Stable Diffusion 以生成符合参考图像特征的图像,而基于适配器的方法只需要用参考图像来训练适配器,然后遇到新的参考图像就可以接入适配器中引导模型生成。目前基于适配器的方法大体分为 T2I adapter、IP adapter、Controlnet 三种。
4.3.1 T2I adapter
文本很难为图像合成提供结构指导,导致在一些复杂场景下结果随机且不稳定。这并不是由于生成能力差,而是因为文本无法提供准确的生成指导以充分将 Stable Diffusion 的内部知识与外部控制相结合。
T2I Adapter 是一种简单而小型的适配器模型,利用参考图像可以为预训练的文本到图像模型提供额外的指导(例如颜色、深度、草图、语义分割和关键姿势),同时不影响其原始网络拓扑和生成能力。
下图 4-4 为 T2I Adapter 方法的框架图,其方法主要包含两个部分,第一个部分是固定参数的预训练好的稳定扩散模型,第二个部分是几个适配器,被训练于对齐扩散模型内部的知识和外部的控制信号。通过添加不同的权重,不同的适配器能够被多种组合。T2I Adapter 通过引入适配器模块,成功地增强了文本到图像生成模型对文本描述的控制能力。其创新点在于能够在不改变原始 Stable Diffusion 模型的情况下,通过学习轻量级的适配器,实现对生成图像的精细控制。T2IAdapter 的更新版本中从 CLIP 图像编码器中提图 4-4 T2I adapter 的基本方法框架。

4.3.2 Controlnet
T2I Adapter 方法十分轻量,但是其图像引导模型生成的能力有限。ControlNet 复制 Stable Diffusion 的 Unet 核心编码器层和中间层,并将这些复制的层作为可训练的适配器。Controlnet 这种适配器相较于 T2I adapter 的适配器可训练的参数和层的数量更多,并且包含原来 Stable Diffusion 的核心关键层,因此在特征提取和处理能力上要优于 T2I adapter。Controlnet 证明大型适配器可以通过预先训练的文本到图像扩散模型进行训练,以学习特定于任务的输入条件。Controlnet 的强大能力让其在虚拟试衣领域得到广泛应用。

4.3.3 IP adapter
T2I adapter 适配器是轻量级的,但这类方法的性能很难与微调的图像提示模型相媲美。Controlnet 复制原有 Stable Diffusion 的核心关键层并作为适配器,具有极强的图像引导能力,但是也正因为如此,其训练和推理都要耗费大量的 GPU 资源和时间。IP adapter 方法则很好地将图像引导性能与轻量级模型的优势结合起来,其通过引入了一种解耦的交叉注意机制来实现更有效的图像提示适配器,所提出的适配器仍然简单且小,但优于以前的适配器方法,甚至可以与微调模型相媲美。
IP adapter 认为以前的适配器效果不好主要是因为在于其文生图模型的交叉注意力(cross-attention)部分。以前用的方法一般是通过 CLIP 去抽取图像的特征,然后和文本特征向量组合。因为交叉注意力中键和值投影矩阵是在预训练阶段和文本特征进行对齐的。直接将图像特征连接到文本特征本质上是图像特征向文本特征对齐,但是这从一定程度上损失了图像的特有信息,最终文本的控制会很粗糙。

5. 实验
5.1 实验基础设置
为了更加细致地分析不同方法之间的差异,本文开展相关实验从定性和定量角度分析不同方法的特点。如果按照之前的分类角度开展对比实验,会遇到应用图像方式不同而难以定性对比的问题。为了更好地从定性角度开展相关实验,在实验中会从应用参考图像的不同,将用图像来引导文本生成图像的扩散模型进行可控生成的研究方法分为自然图像引导的个性化生成方法和视觉特征图像引导的生成方法。两类方法的主要区别为:第一类方法利用自然图像引导,目的是生成和自然图像特征相似的个性化图像;第二类方法利用视觉特征图像(例如边缘图、姿势图、深度图)引导,目的是生成具有参考视觉特征的图像。自然图像引导的个性化生成方法包括 Textual Inversion、DreamBooth、LoRA、IP adapter,视觉特征图像引导的生成方法包括 T2I adapter、Controlnet。
在定量对比实验的指标设置中,本文选择 FID、LPIPS、Aesthetic Score 作为评价标准。FID 是一种用于衡量生成模型生成的图像与真实图像之间差异的指标,其中较低的值表示差异较小。LPIPS 被用于评估图像之间的感知相似度,值越低表示图像越相似。Aesthetic Score 是一个用于评估图像美学质量的指标,评估分数从 1 到 10,分数越高代表美学质量越好。
5.2 图像引导的个性化生成方法对比

| 方法 | FID ↓ | LPIPS ↓ | Aesthetic Score ↑ |
|---|---|---|---|
| Textual Inversion | 244.04 | 1.18 | 4.16 |
| DreamBooth | 285.78 | 1.06 | 4.98 |
| LoRA | 277.60 | 1.09 | 4.97 |
| IP adapter | 281.24 | 0.82 | 4.95 |
5.3 视觉特征图像引导的生成方法对比

| 方法 | FID ↓ | LPIPS ↓ | Aesthetic Score ↑ |
|---|---|---|---|
| T2I-Adapter | 455.80 | 0.67 | 5.93 |
| ControlNet | 436.33 | 0.64 | 5.89 |
总结
扩散模型作为一种新兴的生成模型,在文本到图像生成领域取得了显著进展。但由于文本的有限性和抽象性,使得仅依赖文本引导图像生成难以满足个性化需求。利用图像来引导文本生成图像的扩散模型可以更直观和具体地引导生成过程。基于图像来引导文本生成图像的扩散模型进行可控生成的方法可以分为基于模型微调和基于适配器的方法,还可以按照应用参考图像的不同,将研究方法分为自然图像引导的个性化生成方法和视觉特征图像引导的生成方法。本文介绍了相关理论、研究任务、研究现状和不同方法的分类,详细分析了各种方法的主要内容,并通过定性和定量实验比较它们的差异,说明了不同方法之间的特点。