如何用你的脸训练稳定的扩散 AI 以使用 DreamBooth 创作艺术

已发表: 2022-10-10

塔鲁纳布·杜塔的客座文章。

如果说 2021 年是基于单词的 AI 语言模型之年,那么 2022 年已经跨越了文本到图像的 AI 模型。 今天有许多文本到图像的 AI 模型可以生成高质量的图像。 稳定扩散是最受欢迎和知名的选项之一。 这是一个快速稳定的模型,可以产生一致的结果。

how to train stable diffusion

图像生成的过程仍然有些神秘,但很明显,Stable Diffusion 会产生出色的效果。 它可用于从文本生成图像或更改现有图像。 可用的选项和参数允许对最终图像进行大量定制和控制。

虽然处理名人和流行人物的图像相对容易,但纯粹是因为现有的图像集,让人工智能在你自己的脸上工作并不容易。 逻辑是用你的图像为 AI 模型提供数据,然后让它发挥它的魔力,但究竟如何做到这一点呢?

在本文中,我们将尝试演示如何在图片参考上使用 DreamBooth 文本反转来训练稳定扩散模型,以构建您自己的面部或任何其他对象的 AI 表示,并生成具有令人难以置信的结果、精度和一致性的结果照片。 如果这听起来太技术性,请多留一会,我们会尽量让它对初学者友好。

目录

什么是稳定扩散?

让我们摆脱基础知识。 稳定扩散模型是在大型图像集上训练的最先进的文本到图像机器学习模型。 培训费用很高,大约需要 660,000 美元。 但是,稳定扩散模型可用于使用自然语言生成艺术。

深度学习 Text-to-Image AI 模型正变得越来越流行,因为它们能够将文本准确地翻译成图像。 该模型可免费使用,可在 Hugging Face Spaces 和 DreamStudio 上找到。 模型权重也可以在本地下载和使用。

Stable Diffusion 使用称为“扩散”的过程来生成看起来类似于文本提示的图像。

简而言之,稳定扩散算法采用文本描述并基于该描述生成图像。 生成的图像看起来与文本相似,但不会是精确的复制品。 稳定扩散的替代品包括 OpenAI 的 Dall-E 和谷歌的 Imagen 模型。

用你的脸训练稳定扩散 AI 以使用 DreamBooth 创建图像的指南

今天,我将演示如何使用我的面部作为初始参考来训练一个稳定的扩散模型,以便生成具有高度一致和准确风格的图像,既原始又新鲜。

因此,为此,我们将使用名为DreamBoothGoogle Colab来训练稳定扩散。

在启动此 Google Colab 之前,我们必须准备某些内容资产。

第 1 阶段:具有足够可用空间的 Google Drive

为此,您需要一个至少有 9 GB 可用空间的 Google Drive 帐户。

免费的 Google Drive 帐户附带 15 GB 的可用存储空间,足以完成此任务。 因此,您可以为此目的创建一个全新的(一次性)Gmail 帐户。

google drive

第 2 阶段:参考图像训练 AI

其次,您必须准备好至少一打您的脸部或任何目标对象的肖像以用作参考。

  • 请确保在拍摄的图像中面部特征清晰可见且照明充足。 避免使用刺眼的阴影,尤其是在脸上。
  • 此外,拍摄对象应面向相机或侧面轮廓清晰可见,双眼和所有面部特征均清晰可见。
  • 相机应该能够捕捉到高质量的面部特征。 最好的选择是专业级数码单反相机或无反光镜相机。 优质的智能手机相机也足够了。
  • 构图应放置在框架的中心,并留有一点顶部空间。
  • 作为输入图像,至少十二张脸部特写照片、五张从头部到腰部以上的中景照片以及大约三张全身照片就足够了。
  • 为此目的,至少有 20 张参考照片就足够了。

birme faces

就我而言,我拍摄并收集了大约 50 张自画像,我使用在线工具 Birme 将其裁剪为 512 x 512 像素。 您也可以为此目的使用任何替代图像编辑器。

请记住,最终输出的图像必须针对 Web 进行优化,并减小文件大小,同时将质量损失降至最低。

第 3 阶段:Google Colab

现在可以执行 Google Colab 运行时。

Google Colab 平台有免费和付费版本。 Dreambooth 可以在免费版本上运行,但在 Colab Pro(付费)版本上性能明显更快且更加一致,该版本优先使用高速 GPU,并为手头的任务分配至少 15 GB 的 VRAM。

如果您不介意花几美元,那么每月包含 100 个计算单元的 10 美元 Colab Pro 订阅对于本次会议来说绰绰有余。

google colab signup

您还可以使用额外的内存 RAM 和相对更强大、更快的 GPU。

让我重申一下:您无需成为技术专家即可运行此 Colab。 您也不需要任何先前的编码经验。

注册 Google Colab(免费或付费版本)后,使用您的凭据登录并前往此链接以打开DreamBooth Stable Diffusion

Google Colab 的“运行时”部分或单元格在左侧带有可点击的播放按钮,这些按钮按顺序排列。 要从顶部开始播放运行时,只需逐个单击播放按钮。 每个段都包含一个必须执行的运行时。 当您单击播放按钮时,相应的部分将作为运行时执行。 一段时间后,播放按钮左侧会出现一个绿色的复选标记,表示运行时已成功执行。

请确保您一次仅手动执行一个运行时,并且仅在当前运行时完成后才转到下一个“运行时”部分。

在顶部菜单栏的运行时部分,您可以选择同时运行所有运行时。 但是,不建议这样做。

change runtime type dreambooth

下面是一个标记为“更改运行时类型”的选项。 如果您订阅了专业订阅,则可以选择并保存“高级”GPU 和高 RAM 以供执行。

choose high ram

现在您已准备好启动 DreamBooth Colab。

run dream booth

在 DreamBooth 上成功完成经过训练的 AI 模型的 10 个步骤

第 1 步:决定 GPU 和 VRAM

第一步是确定可用的 GPU 和 VRAM 的类型。 专业用户将可以使用更快的 GPU 和更稳定的增强显存。

determine GPU VRAM

单击播放按钮后,将显示警告,因为正在访问开发人员的源网站 GitHub。 您只需单击“仍然运行”即可继续。

choose vram

第 2 步:运行 DreamBooth

在下一步中,您必须安装某些要求和依赖项。 您只需要单击播放按钮并让它运行。

dreambooth play

第 3 步:登录拥抱脸

单击播放按钮后,下一步将要求您登录 Hugging Face 帐户。 如果您还没有免费帐户,您可以创建一个。 登录后,从右上角导航到“设置”页面。

hugging face settings

然后,单击“访问令牌”部分和“创建新”按钮以生成新的“访问令牌”并根据需要重命名。

access tokens

复制访问令牌,然后返回 Colab 选项卡并将其输入到提供的字段中,然后单击“登录”。

login to huggingface

第 4 步:安装 xformers

在这一步中,您只需点击播放按钮即可单击运行时安装xformers

install xformers

第 5 步:连接 Google 云端硬盘

单击播放按钮后,系统会在一个新的弹出窗口中询问您是否有权访问您的 Google Drive 帐户。 当询问权限时,单击“允许”。

access google drive folder

授予权限后,您必须确认已选择“保存到 Google Drive ”。 您还必须为“名”变量设置一个新名称。 如果您想提交一个人的参考图像,只需输入“人”、“男人”或“女人”。 如果您的参考图像是狗,请输入“狗”等。 您可以保持其余字段不变。 或者,您可以重命名输入目录 -“INSTANCE DIR”或输出目录 -“OUTPUT DIR”。

dreambooth settings

第 6 步:上传参考照片

在上一步中单击播放按钮后,您将看到上传和添加所有参考照片的选项。

upload images

我建议最少 6 张,最多 20 张照片。 有关如何根据拍摄对象的方式选择最佳参考图片的简要说明,请参阅上面的“第 2 阶段”。

select images

上传所有图像后,您可以在左侧栏中查看它们。 有一个文件夹图标。 单击它后,您将能够查看当前存储数据的文件夹和子文件夹。

在数据目录下,您可以查看您的输入目录,其中存储了您上传的所有照片。 在我的例子中,它被称为“sks”(默认名称)。

此外,请注意,此内容仅临时存储在您的 Google Colab 存储中,而不是 Google Drive。

input directory

start training

第 7 步:使用 DreamBooth 训练 AI 模型

这是最关键的一步,因为您将使用 DreamBooth 根据您上传的所有参考照片训练一个新的 AI 模型。

train images dreambooth

您必须只关注两个输入字段。 第一个参数是“——实例提示”。 在这里,您必须输入一个非常独特的名称。 就我而言,我将使用我的名字,后跟我的首字母。 整个想法是保持完整名称的唯一性和精确性。

第二个关键输入字段是“-class prompt”参数。 您必须重命名它以匹配您在“第 4 步”中使用的名称。 就我而言,我使用了“男人”这个词。 因此,我将在此字段中重新键入它并覆盖任何以前的条目。

dreambooth parameters

其余字段可以保持不变。 我观察到用户通过将“-num class images”等字段更改为 12 并将“-max train steps”更改为 1000、2000 甚至更高等字段进行实验。 但是请记住,修改这些字段可能会导致 Colab 内存不足和崩溃,需要您从头开始重新启动。 因此,建议不要在初次尝试时对其进行编辑。 在获得足够的经验后,您可以在将来尝试使用它们。

通过单击播放按钮执行此运行时,Colab 将开始下载必要的可执行文件,然后将能够使用您的参考图片进行训练。

训练模型需要 15 分钟到一个多小时。 您必须耐心并跟踪进度,直到运行时完成。 如果您的 Google Colab 闲置时间过长,它可能会重置。 因此,请继续检查进度并偶尔单击选项卡。

colab executing

execution complete

STEP 8:将 AI 模型转换为 ckpt 格式

训练完成后,您可以选择将训练好的模型转换为直接兼容 Stable Diffusion 的 ckpt 格式的文件。

可以在两个运行时阶段执行转换。 第一个是“下载脚本”,第二个是“运行转换”,您可以选择减少训练模型的下载大小。 但是,这样做会显着降低生成的图像质量。

因此,要保持原始大小,必须保持未选中“ fp16 ”选项。

run conversion

在此特定运行时结束时,名为“ model.ckpt ”的文件将保存到您连接的 Google Drive。

model ckpt

我们可以保存此文件以供将来使用,因为您的运行时会在您关闭 DreamBooth Colab 浏览器选项卡时立即删除。 当您稍后重新打开 DreamBooth 的 Colab 版本时,您将不得不从头开始。

假设您将经过训练的模型文件保存到您的 Google Drive。 在这种情况下,您可以稍后检索它以与本地安装的 Stable Diffusion GUI、DreamBooth 或任何需要加载“model.ckpt”文件以使运行时有效运行的 Stable Diffusion Colab 笔记本一起使用。 您也可以将其保存到本地硬盘以供以后使用。

第 9 步:准备文本提示

“推理”类别下的接下来的两个运行时进程为用于图像生成的文本提示准备新训练的模型。 只需按下每个运行时的播放按钮,它就会在几分钟内完成。

inference

第 10 步:生成 AI 图像

这是最后一步,您可以在其中键入文本提示,然后生成 AI 图像。

您必须在文本提示的开头使用 STEP 6 中的“instance_prompt”和“–class_prompt”的确切名称。 例如,在我的案例中,我使用“tarunabhtd 人的肖像,数字绘画”来生成类似于我自己的新 AI 图像。

image prompt

image generation

下面您可以看到使用 DreamBooth 的训练模型生成的一些图像结果。

sample generated images

玩转提示以获得最佳输出

如果您仔细按照上述步骤操作,您将能够生成与参考图像中的面部特征非常相似的 AI 图像。 该方法只需要在线 Google Colab 平台执行升级版的 AI 技术进行文本反转。

有关文本提示的更好想法,您可以查看以下网站:

  • 开放艺术人工智能
  • 韩国人工智能
  • 词汇艺术

您还需要学习使用各种艺术风格和各种组合制作更好、更有效的文本提示的艺术。 Stable Diffusion SubReddit 是一个很好的起点。

Reddit 拥有一个致力于稳定扩散的庞大社区。 还有一些 Facebook 群组和 Discord 社区在积极讨论、分享和探索稳定扩散的新途径。

下面我还分享了一些 DreamBooth 教程视频的链接,您可以在 Youtube 上观看 -

我希望您觉得本指南有用。 如果您有任何问题,请随时在下方发表评论,我们将尽力为您提供帮助。

作者:
Tarunabh Dutta 是一位屡获殊荣的电影制作人,在过去 16 年中,他以独立的旗帜“TD Film Studio”完成了超过 45 个项目,包括故事片、短片、音乐视频、纪录片和商业广告。