指导 Pix2Pix:使用文字编辑和风格化照片

Instruct pix2pix 能做什么?

这是一种创新的照片编辑方式,只需告诉它您想要更改的内容即可。例如,假设我们要将马变成下图中的龙。

指导 Pix2Pix:使用文字编辑和风格化照片

我们可以简单地把图像给模型,然后说“把马变成龙”。该模型将通过手术将马变成龙,同时保持图像的其余部分完好无损。

指导 Pix2Pix:使用文字编辑和风格化照片

Instruct pix2pix 是如何工作的?

有两个部分可以了解模型的工作原理:(1) 模型架构和 (2) 训练数据。

模型架构

Instruct pix2pix 模型是一个稳定的扩散模型。很像图像到图像,它首先将输入图像编码到潜在空间中。

扩散过程是有条件的。回想一下,Image-to-image 有一个条件,即文本提示,用于引导图像生成。Instruct pix2pix 有两个条件,文本提示和输入图像。(如果您需要复习稳定扩散的模型架构,请阅读文章“稳定扩散如何工作?”。)

扩散由通常的分类器自由指导 (CFG) 机制指导。但由于 Instruct pix2pix 模型有两个条件(提示和图像),它有两个 CFG 参数,一个用于提示,另一个用于图像。因此,您将在 AUTOMATIC1111 GUI 中看到文本 CFG 和图像 CFG,我将向您展示如何使用它们。

指导 Pix2Pix:使用文字编辑和风格化照片

这两个结的含义与香草稳定扩散中的相同:当CFG值较低时,提示或图像在很大程度上被忽略。当 CFG 值高时,紧跟提示或图像。

请注意,当您增加文本 CFG 和图像 CFG 时,效果是相反的:增加文本 CFG 会更多地改变图像;增加图像 CFG 对图像的改变较小。通常需要调整这两个值以调入效果。

训练

现在我们已经看到模型本身是具有两个条件(文本提示和图像)的稳定扩散模型的简单扩展,他们是如何教模型理解编辑指令的?我想说这项工作的真正创新在于他们合成训练数据的方式。

研究论文中的下图很好地总结了它。

指导 Pix2Pix:使用文字编辑和风格化照片

他们首先教授专门的 GPT-3 语言模型,以根据输入字幕生成编辑指令和编辑后的字幕。作为 ChatGPT 等技术背后的大型语言模型,这项任务轻而易举。在图中,当你告诉 GPT-3 标题“骑马的女孩的照片”时,你会得到两条消息(1)指令:“让她骑龙”和(2)编辑后的标题:“照片骑龙的少女”。

现在标题和编辑后的标题对仍然只是纯文本。(它们毕竟是语言模型的输入和输出)我们需要把它们变成图像。你可能认为你可以将它们用作 Stable Diffusion 的提示来得到两张图像,但问题是它们不会像编辑前后的照片那样非常相似。下面左侧的一对图像(也来自研究论文)说明了这一点。

指导 Pix2Pix:使用文字编辑和风格化照片

相反,他们所做的是使用 Prompt-to-prompt 模型(一种用于合成相似图像的扩散模型)来生成“编辑”前后的图像。现在他们有了前图(输入)、编辑指令(输入)和后图(输出)。他们可以将它们作为训练示例输入到模型中。

由于这种生成训练数据的方法是完全合成的,他们可以一次又一次地运行它来生成数十万个训练示例。这正是他们所做的。这就是该模型训练有素的原因。

与其他方法的区别

Prompt-to-prompt 可以生成具有特定编辑的高度相似的图像,但所有图像都是从文本提示生成的。与 instruct pix2pix 不同,它不能编辑非生成的图像。

图像到图像(又名 SDEdit)可以使用非生成的图像作为输入,您可以使用不同的提示编辑图像。但是在不改变图像其他部分的情况下很难进行精确的编辑。

现在你知道它是如何工作的了。让我们学习如何运行它。

在网络上运行 Instruct pix2pix

Instruct pix2pix 运行得非常快(毕竟它是一个稳定的扩散模型)。如果您不使用 AUTOMATIC1111,则有多个 Web 选项可用。

抱脸

HuggingFace 为 Instruct pix2pix 提供了一个不错的演示页面。您可以免费试用 Instruct pix2pix。它基本上是 AUTOMATIC1111 接口的简单版本。我们将要讨论的许多参数都可以在这个网页上找到。

指导 Pix2Pix:使用文字编辑和风格化照片

复制

Replicate 有一个 Instruct pix2pix 的演示页面。提供了相当多的参数列表。速度也很不错。一次最多可生成 4 张图像。

指导 Pix2Pix:使用文字编辑和风格化照片

在 AUTOMATIC1111 中安装 Instruct pix2pix

我们将介绍如何在 AUTOMATIC1111 中安装 Instruct pix2pix。这些说明适用于在 Google Colab、Windows 和 Mac 上运行。

如果您使用快速入门指南中的 1-click Google Colab Notebook 来启动 AUTOMATIC1111,只需选择instruct_pix2pix_modelat startup。

指导 Pix2Pix:使用文字编辑和风格化照片

如果您在自己的计算机上运行 AUTOMATIC1111,可以从 Instruct pix2pix 的 Hugging Face 页面下载该模型。使用以下链接直接下载 Instruct pix2pix 模型。

直接下载链接

将检查点文件(7GB!!)放在以下文件夹中

stable-diffusion-webui/models/Stable-diffusion

刷新检查点下拉框后,您应该会看到新的检查点文件。

在 AUTOMATIC1111 中使用 Instruct-pix2pix

要使用 Instruct Pix2Pix:

  1. 选择 Instruct Pix2Pix 模型:instruct-pix2pix-.....ckpt

2. 切换到 img2img 选项卡。

3. 将图像拖放到 img2img 子选项卡的输入画布中。请注意,并非所有图像格式都受支持,尽管它们看起来都已上传。请务必使用 PNG 或 JPG 格式。您可以使用下面的按钮下载测试图像。

下载测试图像

4. 在提示框中输入指令。例如,“给她戴上太阳镜。”

5. 按生成。

指导 Pix2Pix:使用文字编辑和风格化照片

Instruct pix2pix 的参数

以下是您可能需要更改的重要参数

输出批次:4 – 每次的编辑都可能非常不同。确保一次至少生成几个并选择一个有效的。

采样步骤:我可以将它设置在 20 – 30 之间。

种子:编辑会随着种子值的变化而变化。当您想要生成不同的编辑时,请使用随机种子。在拨入参数(提示、文本 CFG 和图像 CFG)时使用修复种子。

文本 CFG:与文本到图像中的 CFG 比例相同。如果您希望编辑符合提示,请增加。如果您希望它跟随更少,请减少。

图像 CFG:文本 CFG 的图像副本。如果减少编辑量,则增加。如果您希望它编辑更多,请减少。

下面是一个图像矩阵(来自研究论文),显示了改变文本 CFG 和图像 CFG 的效果。查看最后一列:高文本 CFG 值使模型遵循指令。现在看最后一行:高图像 CFG 值恢复原始图像或减少编辑。

指导 Pix2Pix:使用文字编辑和风格化照片

GUI 还允许您处理一批图像。但根据我的经验,你真的想一次调整一个图像的参数。

使用 instruct pix2pix 的一些想法

图片修改

Instruct pix2pix 接受过编辑照片的培训,并且表现非常好。我将使用我在潜在空间遇到的朋友的照片。

指导 Pix2Pix:使用文字编辑和风格化照片

这里有一些照片编辑的例子。

把她的衣服换成白色

指导 Pix2Pix:使用文字编辑和风格化照片

把她换成男人

指导 Pix2Pix:使用文字编辑和风格化照片

把她的手臂换成机器人

指导 Pix2Pix:使用文字编辑和风格化照片

把她换成乐高

指导 Pix2Pix:使用文字编辑和风格化照片

把她的衣服换成蛇

指导 Pix2Pix:使用文字编辑和风格化照片

给她戴上墨镜

意外更改

一些编辑,尤其是与颜色相关的编辑可能会产生出血效果。例如,将女人的衣服换成白色也会使背景变白。

我还看到了一些意外的编辑。当女人的衣服换成蛇时,她的头发颜色也随之改变。

总的来说,这些意想不到的变化在美学上仍然令人愉悦。(毕竟这是经过训练的稳定扩散)在这些变化是不可接受的应用程序中,我们总是可以使用掩码来限制变化的区域。

风格化照片

Instruct pix2pix 比图像到图像和使用模型更好地风格化照片。这是因为它在编辑后很好地保留了原始内容。应用样式后,您会看到女人看起来仍然像原来的人。

要对照片进行风格化,您可以使用以下提示并填写您喜欢的风格。

更改为 _______ 样式

您可以引用样式名称。这里有些例子。

更改为 [style_name] 风格

木炭

指导 Pix2Pix:使用文字编辑和风格化照片

水彩

指导 Pix2Pix:使用文字编辑和风格化照片

铅笔素描

指导 Pix2Pix:使用文字编辑和风格化照片

3D

指导 Pix2Pix:使用文字编辑和风格化照片

卡通片

指导 Pix2Pix:使用文字编辑和风格化照片

点彩派

你也可以引用艺术家的名字。

更改为 [artist_name] 风格。

梵高

指导 Pix2Pix:使用文字编辑和风格化照片

约翰萨金特

指导 Pix2Pix:使用文字编辑和风格化照片

达芬奇

指导 Pix2Pix:使用文字编辑和风格化照片

阿尔丰斯穆夏

Instruct pix2pix 现在是我对图像进行风格化的首选方法。

模型页面中有一个很好的示例目录。

指令模板

以下是您可以用来帮助您入门的说明模板列表。

  • 将风格更改为(艺术家或风格名称)
  • 让她/他(做某事)
  • 让她/他看起来像(一个物体或人)
  • 将(照片中的某物)变成(新物体)
  • 添加一个(对象)
  • 在(照片中的某物)上添加(对象)
  • 用(另一个对象)替换(对象)
  • 将它们放入(场景或背景)
  • 做它(一个地方,背景或天气)
  • 应用(对一个人的情绪或某事)

附录:在 AUTOMATIC1111 中使用带扩展名的 Instruct-pix2pix

Instruct-pix2pix 在最新版本的 AUTOMATIC1111 中集成了 img2img 选项卡。不再需要安装扩展,但仍然可以工作。

安装 Instruct-pix2pix 扩展

在自动 1111 中,

  1. 转到扩展选项卡。
  2. 选择可用选项卡。
  3. 单击加载自:按钮。这将检索可供安装的扩展列表。
  4. 应显示扩展名列表。单击 Install-pix2pix 扩展的安装按钮。
指导 Pix2Pix:使用文字编辑和风格化照片

5. 选择已安装选项卡。您应该会在已安装列表中看到 instruct-pix2pix 插件。单击应用并重新启动 UI 按钮以重新启动 GUI。

指导 Pix2Pix:使用文字编辑和风格化照片

6. 如果您在 Google Colab 上运行,Gradio 链接可能会在这一步后发生变化。返回 Google Colab 页面并单击新的 Gradio 链接以重新启动 AUTOMATIC1111。

7. 选择模型 instruct-pix2pix-…ckpt 和新选项卡 Instruct–pix2pix 开始使用 Instruct pix2pix。

指导 Pix2Pix:使用文字编辑和风格化照片

如果您在 Colab Notebook 中选择 SAVE_IN_GOOGLE_DRIVE 选项,该扩展程序也会保存在您的 Google 云端硬盘中。下次启动时无需再次安装。

与扩展一起使用

  1. 选择模型 instruct-pix2pix-…ckpt 和选项卡 Instruct–pix2pix 以开始使用 Instruct pix2pix。
  2. 将图像拖放到输入画布中。请注意,并非所有图像格式都受支持,尽管它们看起来都已上传。请务必使用 PNG 或 JPG 格式。您可以使用下面的按钮下载测试图像。
下载测试图像

3. 在提示中输入指令。例如,“添加太阳眼镜。”

指导 Pix2Pix:使用文字编辑和风格化照片
声明:本站部分文章来源于网络,如有侵犯您的合法权益,请您即时与我们联系,我们将在第一时间处理。如需转载本站文章,请在转载时标明出处并保留原文链接,否则我们将保留追究法律责任的权利。

给TA打赏
共{{data.count}}人
人已打赏
AI教程

Stable Diffusion 提示:权威指南

2023-5-4 18:23:01

AI教程

如何使用outpainting扩展图像

2023-5-4 18:23:07

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧