要执行 ControlNet tile upscale:
您想使用 Stable Diffusion 创建包含大量细节的大型图像吗?您将需要使用升频器。在本文中,您将学习 3 种放大图像的方法。
- 人工智能升级器
- 标清高档
- ControlNet瓷砖高档
您将看到比较并了解这些方法的优缺点。
如果您不熟悉该主题,则可能需要学习升频器的基础知识。
软件
我们将使用 AUTOMATIC1111 Stable Diffusion GUI 来执行放大。您可以在Windows、 Mac或 Google Colab上使用此 GUI 。
对于最后一种方法,我们需要Ultimate SD Upscale和ControlNet扩展。
Colab 用户
如果您使用本站提供的Colab Notebook,您只需在启动笔记本前选择ControlNet和Ultimate SD Upscale扩展。
Windows 或 Mac 用户
安装 Ultimate SD 高级扩展
Ultimate SD upscale是一个扩展,提供类似于内置SD Upscale脚本的功能,但具有一些高级选项。
在 AUTOMATIC1111 中安装 Ultimate SD upscale:
-
导航到**“扩展”**页面。
-
选择从 URL 安装选项卡。
-
将以下 URL 放入扩展存储库字段的 URL 中。
https://github.com/Coyote-A/ultimate-upscale-for-automatic1111
-
单击安装按钮。
-
等待扩展安装成功的确认消息。
-
重新启动 AUTOMATIC1111。
如果安装成功,您应该会在img2img页面底部的脚本下拉菜单中看到Ultimate SD upscale。
安装 ControlNet 扩展
ControlNet是一个扩展,可让您额外控制图像生成。请参阅ControlNet 教程以了解更多信息。
在 AUTOMATIC1111 中安装 Ultimate SD upscale:
-
导航到**“扩展”**页面。
-
选择从 URL 安装选项卡。
-
将以下 URL 放入扩展存储库字段的 URL 中。
https://github.com/Mikubill/sd-webui-controlnet
-
单击安装按钮。
-
等待说明扩展已安装的确认消息。
-
重新启动 AUTOMATIC1111。
-
访问ControlNet 模型页面。
-
下载所有模型文件(文件名以 结尾
.pth
)。如果您不想全部下载,您可以只下载_tile
本教程的瓦片模型(结尾为 )。 -
将模型文件放入 ControlNet 扩展的模型目录中。
稳定扩散-webui\extensions\sd-webui-controlnet\models
- 重新启动 AUTOMATIC1111。
您应该在 txt2img 页面上看到 ControlNet 部分。瓷砖模型应该可以在模型下拉菜单中进行选择。如果看不到菜单,请按菜单旁边的刷新按钮。
输入图像
我们将使用 Stable Diffusion 生成的以下图像。
型号:Lyriel v1.5
提示与否定提示:
“最后一舞”:在一个盛大的舞厅里,我们命运多舛的恋人共舞。当他们跳华尔兹时,时间似乎变慢了,迷失在彼此的眼中。他们不知道,这将是命运介入之前他们在一起的最后时刻。
(我从 GPT-4 得到了这个提示)
毁容的,变形的
原始尺寸非常小(768×512 像素)。让我们将其放大 4 倍至 3,072×2,048 像素。我们将使用三种放大方法进行测试。
- 人工智能升级器
- 标清高档
- ControlNet瓷砖高档
方法一:AI Upscaler
AI Upscaler是一种AI 模型,经过训练可以放大照片并填充细节,从而使图像保持清晰。这是在 AUTOMATIC1111 中放大图像的基本方法。
-
在 AUTOMATIC1111 中,导航到Extras页面。
-
将图像上传到图像画布。
-
将Resize设置为 4。(将图像放大 4 倍。)
4. 在Upscaler 1中选择一个 upscaler 。我使用了Universal Upscaler v2,但你可以使用任何一个。(请参阅此处下载和安装新的升级器的说明)
- 点击生成。
片刻之后,您将在右侧的输出窗口中看到放大后的图像。
让我们看看进展如何。我们先来看看裙子。
它在忠实地填充裙子的细节方面做得不错。
但是这位女士的脸需要一些超出这个升级器所能做的增强。
当然,你可以开启人脸修复,它使用另一个AI模型来修复人脸。但是因为模型没有用这种特殊的风格进行训练,它可能会引入伪像并使面部看起来不自然。
方法二:标清高档
有没有什么方法可以不使用面部修复来修复面部?
首先,这张脸有点像原始图像中的那张脸。这就是为什么我们在扩大规模时得到了我们所得到的。
但是,如果您接受更多更改,因为原始图像无论如何都是计算机生成的呢?您可以执行一轮额外的图像到图像以重新生成细节。
这正是 SD 高档脚本所做的。
这种方法的好处是
- 可以使用相同的模型和提示生成新的放大细节。
- 移除由 AI upscaler 引入的伪影。
您可以使用AUTOMATIC1111 中 img2img 页面上的SD Upscale脚本轻松地同时执行 AI upscaling 和 SD img2img。该脚本在小块中执行稳定扩散 img2img,因此它适用于低 VRAM GPU 卡。
分步指南
按照以下步骤执行 SD 升级。
- 在img2img页面,将图片上传到 Image Canvas。
2.输入原提示和否定提示。如果您没有原始提示,您可以使用“非常详细”。
备选方案 1:如果您刚刚在txt2img页面上生成图像,请单击发送到 img2img按钮。图像和提示将自动填充。
备选方案 2:如果您将生成的图像保存在本地存储中,则可以将其上传到PNG 信息页面。您应该会看到生成此图像的所有信息,包括提示和模型。单击发送到 img2img。图像和提示将自动填充。
-
在稳定扩散检查点下拉菜单中,选择生成此图像时最初使用的模型
-
将图像宽度和高度都设置为 512。这是用于 SD 放大的图块大小。
-
将去噪强度设置为 0.3。较高的值将导致更多的细节和恢复,但不应将其设置为高于 0.4。否则,您会看到伪影。
5. 在img2img页面的按钮附近找到脚本下拉菜单。选择标清高档。
-
将比例因子设置为 4 以放大 4 倍。
-
选择一个升频器。我选择了与之前方法相同的升频器。但如果没有,您可以选择 ESRGAN 或 R-ESRGAN。
- 单击生成。
结果
这就是我得到的。
得益于 Stable Diffusion img2img,硬木地板有很多细节。
现在让我们比较一下脸。
不错的改进!SD upscale 在不引入伪像的情况下修复面部。
让我们检查一下这件衣服,好吗?
他们也有更多的细节。
您可以尝试使用以下参数。
- 采样步长:设置为更高的值,例如 50 – 100,可以获得更多的细节。
- 抽样法。细节可能不同,尤其是祖先采样器。
- 去鼻强度。控制要添加多少细节。此方法的可行范围在 0.1 和 0.4 之间。
- 种子:改变细节。
细节级别由去噪强度参数控制。正如我之前所说,如果将其设置为高于 0.4,则此方法会失效,因为稳定扩散会使图像改变太多。您将开始看到人工制品。
有什么方法可以在不牺牲原始构图的情况下增加去噪强度?嗯……这听起来非常类似于从参考图像复制构图的扩展功能……
这是正确的。解决方案是使用ControlNet!
方法 3:ControlNet 平铺高档
ControlNet tile是一种用于重新生成图像细节的 ControlNet 模型。如果本地图片详情与提示不符,则忽略提示,填写本地详情。这种行为使其非常适合在图块中放大,因此它适用于低 VRAM 设置。
您需要安装Ultimate SD Upscale和ControlNet扩展才能使用此方法。如果您还没有这样做,请按照软件部分中的说明进行操作。
我不知道为什么这种方法不适用于内置的 SD Upscale 脚本。它应该,但它没有。
分步指南
要执行 ControlNet tile upscale:
-
导航到AUTOMATIC1111 中的img2img页面。
-
将您的图像上传到img2img 画布。
3.输入原提示和否定提示。如果您没有原始提示,您可以使用“非常详细”。
备选方案 1:如果您刚刚在 txt2img 页面上生成图像,则可以单击发送到 img2img按钮。图像和提示将自动填充在img2img页面上。
备选方案 2:如果您在本地图像中保存了生成的图像,请将其上传到PNG 信息页面。您应该会看到生成此图像的所有信息,包括提示和模型。单击发送到 img2img。图像和提示将自动填充。在img2img页面上。
-
将采样步数设置为 50。
-
将去噪强度设置为 0.5。
以下步骤适用于ControlNet部分。
-
将相同的原始图像上传到 ControlNet 的图像画布。
-
选择启用以启用 ControlNet 扩展。
8.在预处理器下拉菜单中选择tile_resample。
9.在模型下拉菜单中选择control_v…_sd15_tile。
以下步骤适用于Ultimate SD Upscale扩展。
-
在页面底部附近的脚本下拉菜单中,选择****Ultimate SD Upscale。
-
在Target size type下拉菜单中,选择Scale from image size。
-
将比例设置为 4。
-
选择一个升频器。我使用了 Universal Upscaler v2。但是您可以为通用升频器选择 ESRGAN 或 R-ESRGAN。
-
确认 Tile 宽度为 512,高度为 0。这将在放大期间使用 512×512 tile。
-
单击生成。
结果
这是放大后的图像。
让我们放大比较。
这是面孔。
惊人的!ControlNet 磁贴升级的质量无异于改变生活。面部和头发的渲染非常清晰,有很多细节。
现在让我们检查一下这件衣服。
看到添加了多少细节让我大吃一惊!
这种方法的缺点可能是添加了太多细节。它可能会以某种方式改变图像,使其不再是原始图像的忠实放大。但这取决于你的目标。
参数调整
您可以尝试使用以下参数。
- 降噪强度:降低它以减少添加的细节量。根据我的经验,最高合理值是 0.5。
- 下采样率(ControlNet):控制对控制块进行多少下采样。增加此值会使控制图像更加模糊。控制图像越隐蔽,模型在制作细节时就越自由。
- 采样步数:增加步数往往会改善细节和清晰度。
- Sampling method : 和SD Upscale一样,sampler可以起到最后细节的作用。
- 种子:更改种子以更改详细信息。
- Seam fix (Ultimate SD Upscale):如果您觉得可以看到 512×512 的拼贴,请启用。此选项会沿着图块的边界运行额外的一轮放大。
你应该使用哪一个?
在三个升级选项中 — AI 升级、SD 升级和 ControlNet tile 升级,您应该使用哪一个?
在开始推荐之前,我认为 SD upscale 和 ControlNet tile upscale 的用例是相似的。ControlNet tile 高档是优越的。在任何情况下,您都不会想要使用 SD upscale 而不是 ControlNet tile upscale。
所以它归结为 2 个选择:(1) AI upscaler,和 (2) ControlNet tile upscale。
由于您通常会在 ControlNet tile 操作之前使用 AI upscale 对图像进行 upscale,因此本质上归结为是否使用 ControlNet tile conditioning 执行额外的图像到图像。
如果您使用的是真实照片或保真度对您很重要,您可能希望放弃 ControlNet tile 并仅使用 AI upscaler。有许多AI 升频器可用于不同类型的图像。
事实上,即使是这些 AI upscalers 也会弥补细节,因此请明智地使用它们。
如果您还可以甚至更喜欢添加细节,ControlNet tile upscale 是您的不二之选。这适用于使用 Stable Diffusion 或其他 AI 图像生成器生成的图像。
[
本文使用 文章同步助手 同步