如何使用Dreambooth将任何内容放入Stable Diffusion?

Dreambooth是一种将任何内容(你所爱的人、你的狗、你最喜欢的玩具)放入Stable Diffusion模型的方法。我们将介绍Dreambooth是什么,它是如何工作的,以及如何进行训练。

本教程旨在面向已经使用过Stable Diffusion但尚未使用过Dreambooth的人群。

您将按照逐步指南准备训练图像,并使用我们的一键式Colab笔记本进行Dreambooth训练 - 无需编码!

您将首先了解Dreambooth是什么以及它是如何工作的。如果您只对训练感兴趣,可以跳到逐步指南。

什么是Dreambooth?

Dreambooth是由Google研究团队于2022年发布的一种技术,通过将自定义主题注入模型来微调扩散模型(如Stable Diffusion)。

为什么称其为Dreambooth?根据Google研究团队的说法,

就像一个照相亭,但一旦捕捉到主题,它就可以在你的梦想中合成到任何地方。

听起来很棒!但是它的效果如何呢?下面是研究文章中的一个示例。仅使用特定狗的3张图片(我们称她为Devora)作为输入,Dreambooth模型可以在不同环境中生成Devora的图像。

图1

Dreambooth是如何工作的?

您可能会问,为什么不能简单地使用这些图片进行模型训练的额外步骤?问题在于这样做会导致灾难性的失败,因为训练集非常小,容易出现过拟合和语言漂移。

Dreambooth通过以下方式解决这些问题:

  1. 使用一个罕见的单词作为新主题(请注意,我在狗的例子中使用了一个罕见的名字Devora),这样它在模型中本来就没有太多含义。
  2. 对类别进行先前保护:为了保留类别(在上述例子中是狗)的含义,模型在注入主题(Devora)的同时保持了类别(狗)的图像生成。

还有一种类似的技术称为文本反转。不同之处在于Dreambooth微调整个模型,而文本反转则注入一个新词而不是重用罕见词,并仅微调模型的文本嵌入部分。

训练Dreambooth所需的内容

您将需要以下三样东西:

  1. 几张自定义图像
  2. 一个唯一的标识符
  3. 一个类别名称

在上述示例中,唯一标识符是Devora,类别名称是狗。

然后,您需要构建您的实例提示:

a photo of [unique identifier] [class name]

以及一个类别提示:

a photo of [class name]

在上述示例中,实例提示是

a photo of Devora dog

由于Devora是一只狗,类别提示是

a photo of a dog

现在您了解所需内容,让我们开始训练吧!

逐步指南

获取训练图像

与任何机器学习任务一样,高质量的训练数据是取得成功的最重要因素。

拍摄3-10张自定义主题的图片。图片应从不同角度拍摄。

主题还应处于各种背景中,以便模型能够将主题与背景区分开。

我将在教程中使用这个玩具。

图2

调整图像大小

为了在训练中使用这些图像,您首先需要将它们调整为512×512像素,以适应v1模型的训练。

BIRME是一个方便的网站,用于调整图像大小。

  1. 将您的图像拖放到BIRME页面上。
  2. 调整每个图像的画布,以使其适当显示主题。
  3. 确保宽度和高度都为512像素。
  4. 点击“SAVE FILES”将调整后的图像保存到计算机上。

图3

或者,如果您只想完成教程,也可以下载我调整后的图像。

训练

我建议使用Google Colab进行训练,因为它可以节省设置的麻烦。以下笔记本是根据Shivam Shrirao的存储库进行修改的,但更加用户友好。如果您喜欢其他设置,请按照存储库的说明进行操作。

整个训练过程大约需要30分钟。如果您不经常使用Google Colab,您可能可以在不断开连接的情况下完成训练。购买一些计算资源以避免断开连接的烦恼。截至2022年12月,10美元可以获得50小时的计算资源,因此成本不高。

笔记本将模型保存到您的Google Drive。如果您选择fp16(推荐),请确保您至少有2GB,如果不选择,则为4GB。

  1. 获取此Dreambooth指南并打开Colab笔记本。
  2. 如果您要从Stable Diffusion v1.5模型(推荐)进行训练,无需更改MODEL_NAME。
  3. 输入实例提示和类别提示。对于我的图像,我将我的玩具兔子命名为zwx,因此我的实例提示是“zwx玩具的照片”,我的类别提示是“一个玩具的照片”。

4.png

  1. 点击左侧单元格上的播放按钮(▶️)开始处理。
  2. 授予访问Google Drive的权限。目前,除了将模型文件保存到Google Drive中,没有其他简单的下载模型文件的方法。

图5

  1. 点击“选择文件”上传调整大小后的图像。

图6

  1. 完成训练大约需要30分钟。训练完成后,您将看到一些由新模型生成的示例图像。

图7

  1. 您的自定义模型将保存在您的Google Drive中的Dreambooth_model文件夹下,请下载模型检查点文件并在您喜欢的GUI中安装它。

测试模型

您还可以使用笔记本的第二个单元格来测试使用模型。

图8

使用提示

oil painting of zwx in style of van gogh

使用模型

您可以在AUTOMATIC1111 GUI中使用模型检查点文件。它是一个免费且功能齐全的GUI,您可以在Windows、Mac上安装,或在Google Colab上运行。

如果您尚未使用过GUI,并且模型文件已保存在Google Drive中,最简单的方法是选择Google Colab选项。您只需要将模型的路径放入Google Drive即可使用。有关详细信息,请参阅逐步教程。

如何从不同的模型进行训练

您需要更改MODEL_NAME和BRANCH。

图10

目前,笔记本仅支持训练半精度v1和v2模型。您可以通过查看模型大小来判断。对于v1模型,它的大小应约为2GB。

您可以在Huggingface页面上找到模型名称和分支名称。下面显示的页面在这里。

图11

标签: AI绘画教程, AI绘画教程网, AI绘画, Stable Diffusion, Stable Diffusion教程, Stable Diffusion社区, Stable Diffusion社群, Stable Diffusion中文社区, Stable Diffusion入口, Stable Diffusion注册, Stable Diffusion注册教程, Stable Diffusion共享账号