菜单

图像到图像修改

相关源文件

目的与范围

本文档解释了如何使用 Stable Diffusion 通过文本提示修改现有图像。与从头开始生成图像的文本到图像生成不同,图像到图像修改(img2img)以现有图像为起点,并根据文本指导进行转换。此功能支持各种应用,例如将草图转换为详细的艺术作品、更改艺术风格和图像放大。

来源: README.md169-173

图像到图像修改工作原理

Stable Diffusion 中的图像到图像修改基于 SDEdit 提出的扩散-去噪机制。该过程包括向现有图像添加噪声(由“强度”参数控制),然后根据文本提示进行去噪。

扩散机制

来源: README.md169-173

强度参数

“强度”参数控制图像修改的程度

  • 值范围从 0.0 到 1.0
  • 较低的值(接近 0.0)保留了原始图像内容和结构的更多部分
  • 较高的值(接近 1.0)允许更多变化,但可能产生与输入语义不一致的结果
  • 值为 1.0 时,实际上会忽略输入图像的内容(尽管可能会保留一些结构方面)

来源: README.md177-179

技术实现

img2img.py 脚本在代码架构上与 txt2img.py 共享许多代码,关键区别在于初始潜在表示的生成方式。

来源: txt2img.py1-352

与文本到图像的主要区别

  1. 初始潜在表示:

    • txt2img:从随机噪声开始
    • img2img:将输入图像编码到潜在空间,然后根据强度参数添加噪声
  2. 采样过程:

    • txt2img:运行完整的采样步骤
    • img2img:根据强度参数值跳过初始步骤
  3. 参数:

    • img2img 需要额外的参数,例如 --init-img--strength

来源: README.md169-190 txt2img.py98-248

使用 img2img.py

基本用法

命令行参数

基于 txt2img.py 的实现和 README 中的信息,img2img.py 可能接受以下关键参数

参数描述默认
--prompt指导图像修改的文本描述必填
--init-img要修改的输入图像的路径必填
--strength控制转换程度(0.0-1.0)必填
--outdir保存结果的目录"outputs/img2img-samples"
--ddim_steps去噪步数50
--scale无条件引导比例7.5
--n_samples每个提示生成的样本数量1
--seed用于可重现性的随机种子根据请求属性(IP、URL 等)的哈希值进行路由
--ddim_etaDDIM eta 参数0.0
--plms使用 PLMS 采样而不是 DDIM
--dpm_solver使用 DPM-Solver 采样

来源: README.md176-177 txt2img.py98-234

详细流程

来源: txt2img.py245-348 README.md169-190

实际示例

将草图转换为艺术作品

img2img 的主要用例之一是将简单的草图或图画转换为详细的艺术作品。README 通过一个将山脉草图转换为详细风景的例子进行了演示。

输入草图

在 Pinta 等绘图程序中制作的粗略草图。

命令

输出

该脚本会生成多个输出图像版本,每个版本都保持草图中山脉的基本结构,但根据提示添加了细节、纹理和艺术风格。

来源: README.md174-189

放大生成的图像

img2img 的另一个应用是放大或增强模型先前生成的图像

  1. 首先,使用 txt2img.py 生成图像
  2. 将该图像作为输入,使用 img2img.py,并使用类似的提示但较低的强度值
  3. 此过程可以增强细节,同时保持整体构图

来源: README.md190-191

最佳实践

  1. 强度参数调整:

    • 从中间值(0.5-0.7)开始,并根据结果进行调整
    • 较低的值(0.3-0.5)适用于风格迁移,同时保留内容
    • 较高的值(0.7-0.9)更适用于显著的内容更改
  2. 提示工程:

    • 包含风格描述以获得一致的结果
    • 具体说明您想要保留或更改的元素
    • 使用“详细”、“高质量”或特定艺术家风格等限定词
  3. 输入图像准备:

    • 对于草图,使用清晰的线条和良好的对比度
    • 对于照片,请考虑进行预处理以增强您想要保留的特征
    • 尺寸接近模型训练大小(512x512)的输入图像效果最佳

来源: README.md177-190

结论

Stable Diffusion 中的图像到图像修改功能为引导式图像编辑提供了强大的工具。通过平衡强度参数和精心制作适当的提示,用户可以实现从微妙的风格迁移到戏剧性的内容转换的各种效果。该过程基于与文本到图像生成相同的潜在扩散架构,但将其适应于处理现有的视觉内容。