首页教程
【Stable Diffusion进阶教程】After Detailer:自动修复面面部
159

【Stable Diffusion进阶教程】After Detailer:自动修复面面部

AI知识学习小助手
AI知识学习小助手
2023-07-26 14:39

After Detailer (adetailer) 是一个Stable Diffusion Automatic11111 Web UI 扩展,可自动执行修复等操作。它可以节省您的时间,并且非常适合快速修复常见问题(例如乱码)。在这篇文章中,您将了解它的工作原理、使用方法以及一些常见用例。

软件

我们将使用 AUTOMATIC1111 稳定扩散 GUI。您可以在Windows、  Mac或 Google Colab上使用此 GUI  。

如果您是Stable Diffusion的新手,请查看快速入门指南。

安装 After Detailer 扩展

谷歌合作实验室

在我们的Google Colab笔记本中使用 After Detailer非常简单。您所需要做的就是选择“扩展”部分中的“ADetailer”选项。

Windows 或 Mac

按照以下步骤在 AUTOMATIC1111 中安装区域提示器扩展。

1.正常启动 AUTOMATIC1111 Web-UI。

2. 导航至 扩展 页面。

3. 单击 从 URL 安装 选项卡。

4. 在扩展的 git 存储库的 URL 字段中输入以下 URL 

https://github.com/Bing-su/adetailer 5. 等待安装完成的确认消息。

6. 重新启动Web-UI。

修复面部修复

在学习如何使用 After Detailer 之前,先了解一下如果没有它您会做什么,会很有帮助。

生成小脸的问题

假设您生成了一个人的全身图像。由于您使用的是 v1 模型,因此不应将分辨率设置得太高(比 512 像素大太多)。否则,你就会有重复的人

型号:现实视觉 v2

提示词:一个女人坐在一个巨大的冰淇淋上,冰淇淋上装饰着鲜艳的色彩、令人愉悦的彩虹糖珠。甜蜜与欢乐、幸福、迷人的融合、想象与奇幻的世界、幻想、高对比度、水墨笔触、爆炸、过度曝光、紫红色调印象、抽象、负空间

负面提示:未成年的, 不成熟的, 毁容的, 畸形的, 丑陋的

尺寸:512×768

由于人脸较小,分辨率较低,覆盖人脸的像素并不多。VAE没有足够的像素来生成良好的脸部所以脸是乱码。

您通常要做的就是使用“发送到修复”按钮将图像发送到修复。

在“修复”选项卡中,在乱码面周围绘制蒙版

使用以下设置:

  • 遮罩模式:Inpaint 遮罩
  • 屏蔽内容:原创
  • 修复区域:仅被遮盖
  • 去噪强度:0.5

按生成。

你会看到脸部固定得很好。仅修复遮罩选项尤其重要,因为它使用整个分辨率(512×768)来重新生成遮罩区域。实际上,它以更高的分辨率重新生成面部,然后将其缩小到原始分辨率。这就是为什么现在脸看起来好多了

使用 After Detailer 自动修复

After Detailer 自动化了这个过程以及更多。它的作用是使用人脸识别模型检测人脸自动创建修复蒙版

然后,扩展程序仅使用遮罩区域执行修复,就像上一节中所做的那样。结果是:

所以它本质上是一个节省时间的扩展。

使用后期细节处理工具

在 Txt2img 中使用

要在 txt2img 中使用 After Detailer,请展开 ADetailer。

选择启用 ADetailer

ADetailer 模型下拉菜单中选择face_yolo8n.pt模型。

这就是使用恢复面部的基本功能所需要做的全部工作。

生成。您会得到以下图像。您无法获得与手动修复完全相同的脸部的原因是修复蒙版的绘制方式不同。

在img2img中使用

您还可以将 After Detailer 与image-to-image结合使用。好处是您可以恢复面部并同时为整个图像添加细节。

在 txt2img 页面中,使用发送到 img2img按钮将图像发送到 img2img 页面。应自动填充生成参数,例如提示和否定提示。

去噪强度(img2img 的,而不是 ADetailer 的)设置为较低值,例如 0.1。

在ADetailer部分中启用 After Detailer 。

点击生成。更多细节已添加到图像中!

调整去噪强度以控制添加的细节级别

去噪强度0.1

去噪强度0.2

您还可以在修复选项卡中使用 ADetailer 。如果遮罩区域改变。

ADetailer 参数解释

现在您已经了解了基本功能,让我们学习一些额外的参数来微调其功能。

检测型号

在 ADetailer 模型下拉菜单中选择检测模型。这些模型分为几个不同的组:

  • Face_xxxx:检测并重绘脸部
  • Hand_xxxx:检测并重画手
  • Person_xxxx:检测并重画整个人
  • Mediapipe_face_xxxxx:检测并重绘面部

最有用的是face_yolo 和 person_yolo 模型。YOLO(You Only Look Once)模型擅长检测人脸和物体,修复效果也很好。

然而,由于修复整个人需要更多像素,因此面部修复的细节不如使用面部模型时那么多。大面积修复通常不是一个好主意。如果你有这样的图像,你最好一次手动修复脚、裙子等。 Mediapipe_face时好时坏。当面孔出现乱码时,它们的表现就不太好,这就是我们首先需要它们的原因……

模型用于重画手。但不要对这个抱有太大希望,因为稳定扩散仍然不擅长绘制手,无论它重画多少次。

最后,您可能想知道YOLO 8n 和 8s 模型之间的区别。8n 型号速度更快,但比 8s 型号小约 3 倍(因此功能较弱)。我发现 8n 型号做得很好。如果 After Detailer 难以检测人脸,请切换到 8s 型号。

最后,您每次最多可以使用两个检测模型。只需切换到第二个选项卡并选择其他模型即可。

现在它先检测脸部,然后检测手。然后它会一次修复两个。

检测人脸。

检测手。

修复脸部和手部。

在修复中使用不同的提示

例如,使用不同的提示可以在修复后更改脸部。在下面的 ADetailer 部分中输入修复的提示和否定。

一种常见的技巧是使用多个名人的名字来打造你想要的外观。例如,我希望这张脸是两位女演员的混合体。

(艾玛·沃森:0.8)、安娜·德·阿玛斯 关键词权重被用来降低艾玛·沃特森的效果,因为艾玛·沃特森通常更强大。

调整修复去噪强度(ADetailer 中的去噪强度,而不是 txt2img)以调整效果。现在您将获得新的混合外观!

如果您发现脸部风格不一致,请使用名人姓名和原始提示,而不是单独使用姓名。

您可能想知道为什么不能在原始提示中使用名人的名字。你当然可以,但是由于关联效应,你会无意中获得与这些强大的名称关联的对象和样式。

最后,您也可以在提示中使用LoRA 。下面是用Tifa Lockhart LoRA修复的脸部。

<洛拉:tifa-nvwls-v1:1>

检测

默认值运行良好,但它们的含义如下。

检测模型置信度阈值:还记得脸部周围顶部有数字的框吗?该数字称为置信度分数。0.8 表示模型有 80% 的信心认为这是一张脸。阈值是所需的最低置信度分数。如果将其设置为 0.9,则不会考虑置信度得分为 0.8 的人脸。将其保持在 0.3 的低水平。如果您在检测脸部时遇到问题,请将其降低。如果检测到太多,请增加它。

掩模最小/最大面积比:检测到的掩模允许的最小和最大面积。例如,如果将最小面积比设置为 0.1,则扩展程序将拒绝掩模小于图像大小 10% 的检测。如果检测到不需要的小物体,请增加最小值。

掩模预处理

您通常不需要更改它们。

这些用于在修复之前移动蒙版并调整其大小。为了获得最佳结果,请在“设置”> “ADetailer”中启用“保存蒙版预览”以了解蒙版的更改方式。每次检测都会保存一个掩模预览图像

蒙版 x/y 偏移:在 x/y 方向移动蒙版(以像素为单位)。

蒙版腐蚀 (-) / 膨胀 (+):缩小/放大蒙版。

蒙版合并模式

  • :修补每个面具。
  • 合并:合并蒙版然后修复。
  • 合并和反转:修复未遮罩的区域。

修复

“修复”部分中最重要的设置是“修复”去噪强度。它控制自动修复中使用的降噪强度。增加做出更多改变。减少改变。

您几乎总是想仅使用 Inpaint来修复脸部。

您可以最佳地定义图像宽度高度CFG 比例以及修复中使用的采样步骤数。但默认就可以了。

将 ADetailer 与 ControlNet 结合使用

ControlNet是精确控制图像生成不可或缺的工具。如果您不熟悉ControlNet 文章,请查看它。要将 ADetailer 与 ControlNet 结合使用,您必须在 AUTOMATIC1111 上安装 ControlNet。

您可以在最后一部分中选择 ControlNet 模型。

ControlNet Openpose

使用 ControlNet Oopenpose 模型以相同的姿势修复人物。将 openpose 模型与 person_yolo 检测模型结合使用。

例如,在没有启用任何 ControlNet 且具有高去噪强度 (0.74) 的情况下,姿势可能会以与全局图像不一致的方式发生变化。请参阅下面的示例。

启用ControlNet Openpose后,女孩的姿势在修复后保持不变。

ControlNet 平铺

启用 ControlNet Tile 可以使修复更好地遵循原始图像。

下面是不使用和使用 ControlNet Tile 的结果。

如果您希望修复由原始内容引导,​​请启用 ControlNet Tile。

ControlNet修复

带有global_inpaint_harmonious预处理器的ControlNet修复模型 ( control_xxxx_inpaint )提高了修复区域与图像其余部分之间的一致性

例如,在 After Detailer 中将修复去噪强度设置为 1(最大值)是灾难性的。

修复过程有太多的自由来改变遮罩区域并且已经搞砸了。

这个问题可以通过打开ControlNet修复模型和global_inpaint_harmonious预处理器来解决。

使用 global_inpaint_harmonious 修复去噪强度 = 1。

当您想要将修复去噪强度设置为高时,请使用global_inpaint_harmonious 。稍微调整值或更改种子以获得不同的一代。

ControlNet 线条艺术

ControlNet 线条艺术让修复过程遵循原始图像的总体轮廓。

如果您希望修复的图像遵循原始内容的轮廓,请使用 ControlNet 线条艺术。

ADetailer 与面部修复

ADetialer 和面部修复选项都可以用于修复乱码面部。在 Detailer 以更高分辨率使用修复并将其缩小以修复面部后。人脸恢复使用另一种AI模型,例如CodeFormerGFGAN,来恢复人脸。

首选使用修复(例如使用 ADetailer),因为

  • 面部修复模型可能会产生与稳定扩散模型不一致的风格。
  • 您可以通过修改提示和 ControlNet 进一步指导修复。

何时使用 ADetailer

在 ADetailer 中,没有什么是您无法手动完成的。ADetailer 会自动执行以下过程。

  1. 将图像发送至修复
  2. 创建修复蒙版
  3. 设置 ControlNet(可选)
  4. 生成修复

使用此扩展最有价值的方面是自动化,以便您可以使用相同的设置创建多个图像(批量大小大于 1)。这对于手动工作流程来说是很乏味的。

就是这样了。我希望您喜欢本教程。如果您有任何意见或反馈,请在下面的评论中告诉我。

尖端

将 ADetailer 与 img2img 结合使用时,需要设置两个降噪强度。img2img 的去噪强度设置了整个图像的值。ADetailer 中的修复去噪强度设置修复的去噪强度。

您可以选择在“设置”>“ADetailer”中打开保存检测模型的结果。它将保存包含检测到的区域和置信度分数的附加图像。

参考

Bing-su/adetailer:使用检测模型自动检测、屏蔽和修复。– 官方 GitHub 页面。

转载自查看原文
合集导航
合集
# 1 【Stable Diffusion进阶教程】After Detailer:自动修复面面部
# 2 【Stable Diffusion进阶教程】如何运行 SDXL 模型
# 3 【Stable Diffusion进阶教程】加速Stable Diffusion
# 4 【Stable Diffusion进阶教程】Stable Diffusion中控制光照的 3 种方法
# 5 【Stable Diffusion进阶教程】在Stable Diffusion中放大图像的 3 种方法(ControlNet 平铺放大、SD 放大、AI 放大)
# 6 【Stable Diffusion进阶教程】负面提示如何发挥作用?
# 7 【Stable Diffusion进阶教程】Stable Diffusion如何发挥作用?
# 8 【Stable Diffusion进阶教程】Stable Diffusion工作流程(分步示例)
# 9 【Stable Diffusion进阶教程】Stable Diffusion2中的图像深度:您需要了解的一切
# 10 【Stable Diffusion进阶教程】区域提示器:控制Stable Diffusion中的图像合成
# 11 【Stable Diffusion进阶教程】如何使用Stable Diffusion (Deforum) 制作视频
# 12 【Stable Diffusion进阶教程】Stable Diffusion SDXL Beta 模型
# 13 【Stable Diffusion进阶教程】Stable Diffusion采样器:综合指南
# 14 【Stable Diffusion进阶教程】Midjourney 与 Stable Diffusion您应该选择哪一个?
# 15 【Stable Diffusion进阶教程】什么是超网络以及您应该了解的超网络
# 16 【Stable Diffusion进阶教程】如何在Stable Diffusion中使用嵌入
# 17 【Stable Diffusion进阶教程】如何使用Stable Diffusion将照片卡通化
# 18 【Stable Diffusion进阶教程】如何使用 Dreambooth 将任何东西放入Stable Diffusion(Colab 笔记本)
# 19 【Stable Diffusion进阶教程】如何使用AI图像放大器来改善细节
# 20 【Stable Diffusion进阶教程】WebUI AUTOMATIC1111:初学者指南
# 21 【Stable Diffusion进阶教程】什么是 LoRA 模型以及如何在 AUTOMATIC1111 中使用它们
# 22 【Stable Diffusion进阶教程】ControlNet v1.1:完整指南
# 23 【Stable Diffusion进阶教程】如何使用 Stable Diffusion AI 对图像进行风格化
# 24 【Stable Diffusion进阶教程】利用图像 AI 生成时尚创意的 4 种方法
# 25 【Stable Diffusion进阶教程】使用Stable Diffusion制作动画 GIF(分步)
# 26 【Stable Diffusion进阶教程】AI 图像中的常见问题及其解决方法
# 27 【Stable Diffusion进阶教程】使用这些简单的提示技巧微调您的 AI 图像
# 28 【Stable Diffusion进阶教程】如何通过Stable Diffusion修复去除多余的肢体
# 29 【Stable Diffusion进阶教程】如何使用outpainting来扩展图像
# 30 【Stable Diffusion进阶教程】如何在 Google Colab 上运行稳定扩散 (AUTOMATIC1111)
 

全部讨论

no data来都来了,坐下聊聊