EN

Inpainting:替换或编辑图像的特定区域

Inpainting 替换或编辑图像的特定区域,并依靠蒙版确定要填充的区域。

核验日期

定义

Inpainting 会替换或编辑图像的特定区域。Inpainting 依靠蒙版来确定要填充图像的哪些区域;要修复的区域用白色像素表示,要保留的区域用黑色像素表示。白色像素由提示词填充。

可以对自己的图像进行 inpainting,但需要为其创建一张蒙版图像。在 Diffusers 官方 inpainting 指南的示例 Space 中,先上传要修补的底图,再用该 Space 的草图工具画出遮罩。

一图看懂

Image-to-image 会生成一张与所提供的现有图像相似的新图像。

  • 加载基础图像和蒙版图像。
  • 写一个用于修补图像的提示词,并把它与底图、遮罩图一起传给 inpainting 管线。
  • 串联文生图管线和 inpainting 管线,可以对生成的图像进行 inpainting,并且一开始无需提供基础图像。
  • 如果两个管线都使用 Stable Diffusion v1.5,则可以将所有内容保留在潜在空间,因为它们都使用 AutoencoderKL。
  • 可以在另一个管线(如 image-to-image 或放大器)之前串联 inpainting 管线,以提高质量。
  • 提示词加权提供了一种可量化的方式来缩放提示词中概念的表示。
  • ControlNet 接受额外的条件图像输入,引导扩散模型保留其中的特征。
  • 可以同时使用 strength 和 guidance scale,以更多地控制模型的表现力。

原文没有明确这些要点的先后顺序,因此按要点列出,不画先后箭头。

工作原理

模糊方法提供一个选项,用于决定如何融合原始图像与修复区域。增大模糊系数会增加施加在蒙版边缘的模糊量,从而柔化原始图像与修复区域之间的过渡。较低或为零的模糊系数会保留蒙版更锐利的边缘。

strength 衡量向基础图像添加了多少噪声,这会影响输出与基础图像的相似程度。guidance scale 影响文本提示词与生成图像的对齐程度。高 guidance scale 值意味着提示词与生成图像紧密对齐,因此输出是对提示词更严格的解读;低值意味着对齐更松散,因此输出可能与提示词差异更大。

负面提示词扮演与提示词相反的角色,引导模型避免生成图像中的某些内容。

例子

Stable Diffusion Inpainting 是一个在 512x512 图像上针对 inpainting 微调的潜在扩散模型。SDXL 是 Stable Diffusion v1.5 的更大、更强大的版本。SDXL 可以采用两阶段模型流程(每个模型也可以单独使用):基础模型生成图像,精修模型接收该图像并进一步增强其细节和质量。

Kandinsky 系列与 SDXL 相似,同样使用两个模型:图像先验模型创建图像嵌入,扩散模型据此生成图像。使用非 inpaint 专用检查点的权衡是整体图像质量可能较低,但通常倾向于保留蒙版区域(因此能看到蒙版轮廓)。inpaint 专用检查点经过有意训练,以生成质量更高的修复图像,其中包括在被遮罩区域与未遮罩区域之间创建更自然的过渡。

因此,这些检查点更可能改变未遮罩区域。如果保留未遮罩区域对任务很重要,可以用 Diffusers 的 VaeImageProcessor.apply_overlay() 方法强制让图像的未遮罩区域保持不变,代价是遮罩区与非遮罩区之间的过渡会更不自然。

来源

本页内容整理自以下官方来源,点击可核对原文。

核验日期 ·

本页由 AI 依据上述官方来源整理,并经自动核对,未经本站实测。 发现错误?告诉我们。