本文档全面概述了 Stable Diffusion Web UI 中控制图像生成的处理参数。处理参数决定了 AI 模型如何解释提示、生成图像以及应用各种效果和修改。有关采样器(samplers)的特定信息,请参阅采样器与调度器。有关图像后期处理的详细信息,请参阅图像输入/输出与后期处理。
Stable Diffusion Web UI 中的处理参数是控制图像生成过程各个方面的配置值。它们被封装在 StableDiffusionProcessing 类及其派生类中,这些类充当在系统不同组件之间传递生成设置的中心数据结构。
参数处理流程图
来源
核心处理参数可以根据其功能和对生成过程的影响分为几类。
| 参数 | 描述 | 典型值 |
|---|---|---|
prompt | 描述所需图像的文本提示 | 文本字符串 |
negative_prompt | 描述图像中应避免的内容的文本 | 文本字符串 |
seed | 用于可重复生成的随机种子 | 整数(-1 表示随机) |
subseed | 用于变化的次级种子 | 整数(-1 表示随机) |
subseed_strength | 次级种子对结果的影响程度 | 0.0-1.0 |
sampler_name | 使用的采样算法 | “Euler a”,“DPM++ 2M Karras”等 |
scheduler | 噪声调度类型 | “Automatic”,“Karras”等 |
steps | 去噪步数 | 20-50 |
cfg_scale | 遵循提示的严格程度 | 7.0-12.0 |
来源
| 参数 | 描述 | 典型值 |
|---|---|---|
width | 生成图像的像素宽度 | 512、768 等 |
height | 生成图像的像素高度 | 512、768 等 |
batch_size | 每批图像的数量。 | 1-8 |
n_iter | 要生成的批次数。 | 1+ |
来源
| 参数 | 描述 | 值 |
|---|---|---|
eta | 某些采样器的噪声乘数 | 0.0-1.0 |
s_churn | Sigma 混乱率 | 0.0-100.0 |
s_tmin | Sigma tmin 值 | 0.0-10.0 |
s_tmax | Sigma tmax 值 | 0.0-999.0 |
s_noise | Sigma 噪声值 | 0.0-1.0 |
s_min_uncond | 用于分类器自由引导的 Sigma | 0.0-10.0 |
这些高级采样参数微调了采样算法的工作方式,并可能极大地影响图像生成的质量和特征。
来源
下图说明了在图像生成过程中参数如何在系统间流动
处理参数流程图
来源
高分辨率修复是一种两阶段生成技术,它首先创建低分辨率图像,然后进行放大和细化。
| 参数 | 描述 | 备注 |
|---|---|---|
enable_hr | 启用高分辨率修复 | 布尔值 |
denoising_strength | 第二阶段添加的噪声强度 | 0.0-1.0 |
hr_scale | 放大比例因子 | 1.0-4.0 |
hr_upscaler | 用于放大的方法 | “Latent”,“ESRGAN”等 |
hr_second_pass_steps | 第二阶段的采样步数 | 整型 |
hr_resize_x / hr_resize_y | 第二阶段的目标分辨率 | 整型 |
hr_checkpoint_name | 第二阶段的可选不同模型 | 模型名称或“使用相同检查点” |
hr_sampler_name | 第二阶段的可选不同采样器 | 采样器名称或“使用相同采样器” |
hr_prompt / hr_negative_prompt | 第二阶段的可选不同提示 | 文本字符串 |
来源
这些参数特定于 img2img 模式,该模式用于转换现有图像。
| 参数 | 描述 | 值 |
|---|---|---|
init_images | 用于转换的源图像 | 图像列表 |
resize_mode | 如何处理调整大小 | 整数(0-3) |
denoising_strength | 改变图像的程度 | 0.0-1.0 |
mask | 用于局部重绘的面罩 | 图像或 None |
mask_blur | 面罩的模糊半径 | 整型 |
inpainting_fill | 用于遮罩区域的填充方法 | 整数(0-3) |
inpaint_full_res | 仅在全分辨率下局部重绘遮罩区域 | 布尔值 |
inpaint_full_res_padding | 局部重绘区域周围的填充 | 整型 |
inpainting_mask_invert | 反转面罩 | 整数(0-1) |
image_cfg_scale | 用于 img2img 的图像 CFG 比例 | 1.5(默认) |
来源
处理参数主要通过 StableDiffusionProcessing 类层次结构进行管理。
处理类层次结构
来源
参数以特定顺序流经系统
参数收集:UI 组件从用户那里收集参数值
处理对象创建:
txt2img_create_processing() 创建一个 StableDiffusionProcessingTxt2Img 对象img2img() 创建一个 StableDiffusionProcessingImg2Img 对象脚本处理:
scripts.before_process(p) 允许脚本修改参数参数覆盖:
override_settings,可能更改模型、VAE 等处理初始化:
process_images_inner(p) 准备处理环境p.fill_fields_from_opts() 应用共享选项中的默认值p.setup_prompts() 处理提示模板和样式条件设置:
p.setup_conds() 将提示转换为模型条件采样:
p.sample() 使用参数来控制采样过程后期处理:
来源
参数可以通过多种方式在会话之间保存和加载
PNG 信息:生成的图像包含使用所有参数的元数据
信息文本:参数值被编码在一个文本字符串中
prompt [parameters] negative prompt一只猫,细节丰富,4k [步数:30,采样器:Euler a,CFG 比例:7,种子:123456789,尺寸:512x512] 丑陋,模糊设置覆盖:特定参数可以为生成覆盖
override_settings 参数设置样式:常见的参数组合可以保存为样式
{} 语法应用于提示来源
不同的参数组合会对输出产生巨大影响。以下是一些常见的参数模式:
| 目标 | 参数组合 |
|---|---|
| 高细节图像 | 更高的步数(30-50),“DPM++ 2M Karras”采样器 |
| 快速草稿 | 较低的步数(15-20),“Euler a”采样器 |
| 创意/艺术性 | 更高的 CFG(8-12),更多的采样器步数 |
| 照片写实 | 较低的 CFG(5-7),“DDIM”采样器 |
| 内存高效 | 较小的尺寸,批次大小为 1 |
| 变化探索 | 相同的种子,改变 CFG 比例或步数 |
处理参数构成了 Stable Diffusion Web UI 的核心配置系统,控制着图像生成的方方面面。理解这些参数对于生成期望的结果和解决问题至关重要。
参数系统设计得非常灵活,允许基本使用和合理的默认值,同时为微调提供了高级选项。参数可以通过多种机制保存、共享和重用,包括 PNG 元数据、信息文本字符串和 UI 的预设系统。
为了获得最佳效果,请尝试不同的参数组合,同时记录哪些设置能产生您偏好的输出。