使用Stable Diffusion inpainting移除多余肢体

在Stable Diffusion AI图像中,常见的问题是肢体可能生成得不够准确。有时候一个人可能会多出一只手臂,另一次可能会缺少一条腿。最终,我们得到了4条肢体,但解剖结构不完全正确。在本文中,我将向你展示如何使用inpainting修复具有问题肢体的图像。

1.png

软件

在本教程中,我将使用AUTOMATIC1111 GUI。你可以使用"Quick Start Guide"中的Colab笔记本一键运行此GUI。

我们将需要v1.5的inpainting模型。在"Quick Start Guide"中启动Colab笔记本时,请确保勾选inpainting模型。

2.png

按照说明安装inpainting模型,如果你在本地运行AUTOMATIC1111。

我将使用Photoshop在第二个示例中涂鸦特定区域。你可以使用任何其他图片编辑软件。

提示和负面提示

需要修复的两个图像是使用以下提示生成的。

full-body portrait of beautiful female wearing running outfit, highlights in hair, sitting outside restaurant, brown eyes, wearing a dress, side light

负面提示是

disfigured, ugly, bad, immature, two heads

我们将在inpainting示例中使用相同的提示。

inpainting修复肢体

我们将修复以下具有畸形肢体的图像。

3.png

发送图像到inpainting

显然,腿部是最有问题的。这个图像是在AUTOMATIC1111的"txt2img"标签中生成的。我们将仅使用inpainting修复此图像。在图像下方使用方便的"Send to Inpaint"按钮,发送一个新生成的图像到inpainting。

或者,如果你使用的是下载的图像,转到"img2img"标签,并选择"Inpaint"子标签。在相应的输入框中填写提示和负面提示。通过拖放图像到图像画布上上传图像。

无论你使用哪种方法,现在你的GUI设置应如下所示。

图4

inpainting参数

以下是我的inpainting设置的屏幕截图。

图5

有很多设置。重要的设置有:

提示和负面提示:选择"As original"。

Sample step:设置为相当高的值,如25。

Inpaint area:选择"Whole picture"可以生成与整个图像连贯的图像。选择"Only masked"只绘制遮罩区域,但分辨率较高。对于绘制面部等细节很有用。

Batch size:设置为合理的数字,如4,以便你可以挑选最佳的图像。

Denoising strength是一个非常重要的参数。0.75是一个很好的起点。如果你想要更多变化,可以增加它。如果你想要更少的变化,可以减小它。

Masked content:保持为Original。

Seed:-1表示随机。这很重要,因为你希望在每次试验中生成不同的东西。

选择Stable Diffusion v1.5的inpainting模型。

图6

修复肢体

现在,我们准备使用inpainting来修复肢体。让我们先修复腿部,因为它们是最有问题的。在inpainting画布旁边使用画笔工具,创建一个围绕腿部的遮罩。覆盖你想要重生成的部分。

图7

让我们使用0.75的denoising strength。点击"Generate"按钮。我们可以看到生成了4张图像。

图8

你可以看到新生成的图像的效果有所不同。所以生成多张图像并选择最佳的一张是很重要的。尽管不完美,我们选择左上角的图像,因为它朝着正确的方向移动。如果你看不到改进,可以重新生成另一组4张图像(确保seed设置为-1)。

这是我们的第一次迭代:

图9

要在下一轮使用图像,你需要在右侧画布中选择图像,并使用图像下方的"Send to inpaint"按钮将其发送到inpainting画布。

按下按钮后,你可能会想知道为什么似乎什么都没有改变。原因是所有的变化都在被黑色涂料覆盖的遮罩区域下。如果你去除遮罩,你会看到变化。但因为我们想要重复使用同一遮罩,所以我们不会这样做。

使用相同的遮罩和相同的参数,点击"Generate"按钮以获得另外4张图像。这4张图像基于上面改进的图像生成。

右下角的图像是最好的。让我们继续使用它。

图10

修复运动鞋

当使用inpainting修复肢体或其他任何东西时,你应该从较大的区域开始,逐渐转移到较小的区域。假设我们想要更换她穿的运动鞋。

我们将遵循类似的步骤:选择右下角的图像,并使用下方的"Send to Inpaint"按钮将其发送到左侧的inpaint画布。

图11

同样,在inpaint画布上,你会发现没有发生任何变化。

图12

你需要使用右上方的"undo"按钮完全删除遮罩。重新绘制遮罩,但只覆盖运动鞋部分。

图13

使用相同的设置(denoising strength 0.75,原始内容),并在生成约16张图像后,我选择了以下图像:

图14

修复脸部

她的脸有点混乱。这是inpainting非常适合修复的东西。将新图像发送到inpainting,并在她的脸上创建一个遮罩。

图15

现在我们需要使用新的设置:

Denoising strength:0.2。我们需要较低的值,因为脸部情况并不太糟糕。眼睛、鼻子和嘴巴已经在正确的位置上。所以我们希望做出非常小的改变。

Inpaint area:选择"Only masked"。该选项将遮罩区域扩大,执行inpainting,并将其缩小。由于我们正在绘制一个具有许多细节的小区域,这个选项有助于提高质量。

点击"Generate"按钮,生成4张具有新面部的新图像。下面是我选择的图像。

图16

修复肩膀

最后,她的肩膀看起来有点不自然。让我们也修复它。

图17

使用0.5的denoising strength,并将inpaint area保持为只有遮罩区域,我们得到以下图像。

图18

最后,使用类似的方法修复她的手。

图19

比较和总结

让我们比较一下修复前后的图像。

图20

你可以使用inpainting继续修复不完美的小细节。但我希望这是一个很好的例子,演示如何仅使用inpainting修复肢体。

总结一下,这项技术的基本思想是:

  • 重复使用相同的提示和负面提示。
  • 将"Masked Content"保持为"Original",并通过调整"denoising strength"来控制我们想要做多少改变(0表示没有改变,1表示完全不基于原始内容进行改变)。这样,你就不需要对其他"Masked Content"设置进行调整,同时实现类似的控制。
  • 在绘制较大区域时选择"inpaint whole picture",在修复较小区域时选择"masked area only"。
  • 从大的缺陷开始,如肢体,逐渐转移到较小的区域。

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