EN

图生图:以初始图像作为起点生成图像

图生图在提示词之外传入初始图像,经编码、去噪、解码得到新图像。

核验日期

定义

图生图与文生图类似,但除提示词外,还可以传入一张初始图像,作为扩散过程的起点。Stable Diffusion v1.5 是一个潜在扩散模型,由更早的检查点初始化,并在 512x512 图像上进一步微调了 595K 步。Kandinsky 模型与 Stable Diffusion 模型不同,因为它使用图像先验模型来创建图像嵌入。

Diffusers 的图生图文档称,Kandinsky 图像先验模型产生的嵌入有助于让文本与图像更好地对齐,使潜在扩散模型生成更好的图像。将文生图与图生图管线串联,可以从文本生成图像,并把生成的图像用作图生图管线的初始图像。

一图看懂

提示词加权允许你缩放提示词中每个概念的表示。

  • 将检查点加载到 AutoPipelineForImage2Image 类中,该管线会根据检查点自动处理并加载正确的管线类。
  • 加载一张图像,传给管线。
  • 向管线传入提示词和图像,以生成图像。
  • 初始图像被编码到潜在空间,并向其添加噪声。
  • 随后,潜在扩散模型接收提示词和带噪的潜在图像,预测所添加的噪声,并从初始潜在图像中去除预测的噪声,得到新的潜在图像。
  • 最后,解码器把新的潜在图像解码回图像。
  • Compel 库提供简单的语法,用于调整提示词权重并生成嵌入。
  • AutoPipelineForImage2Image 有 prompt_embeds 参数(使用负面提示词时还有 negative_prompt_embeds 参数),可传入嵌入以替代 prompt 参数。

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

工作原理

strength 值越高,模型越有“创造力”,生成与初始图像不同的图像;strength 值为 1.0 表示初始图像或多或少被忽略。strength 值越低,生成的图像与初始图像越相似。strength 与 num_inference_steps 参数相关,因为 strength 决定要添加的噪声步数。

例如,若 num_inference_steps 为 50 且 strength 为 0.8,就是向初始图像添加 40(50 * 0.8)步噪声,然后去噪 40 步,得到新生成的图像。guidance_scale 参数用于控制生成图像与文本提示词的贴合程度。guidance_scale 值越高,生成图像与提示词越一致;值越低,生成图像有更多偏离提示词的空间。

可以将 guidance_scale 与 strength 结合,以更精确地控制模型的表现力。负面提示词使模型不在图像中包含某些内容,可用于提升图像质量或修改图像。链式管线若让输出保持在潜空间以避免多余的解码再编码,只有在这些链式管线使用同一个 VAE 时才行得通。

例子

另一种串联方式是把图生图管线与放大器和超分辨率管线相连,以真正提高图像中的细节水平。将其串联到放大器管线,以提高图像分辨率。最后,再串联到超分辨率管线,以进一步提升分辨率。通过将 ControlNet 生成的图像与图生图管线串联,可以为其应用新风格。

来源

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

核验日期 ·

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