菜单

处理参数

相关源文件

本文档全面概述了 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_churnSigma 混乱率0.0-100.0
s_tminSigma tmin 值0.0-10.0
s_tmaxSigma tmax 值0.0-999.0
s_noiseSigma 噪声值0.0-1.0
s_min_uncond用于分类器自由引导的 Sigma0.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 类层次结构进行管理。

处理类层次结构

来源

参数工作流程

参数以特定顺序流经系统

  1. 参数收集:UI 组件从用户那里收集参数值

  2. 处理对象创建:

    • 对于 txt2img:txt2img_create_processing() 创建一个 StableDiffusionProcessingTxt2Img 对象
    • 对于 img2img:img2img() 创建一个 StableDiffusionProcessingImg2Img 对象
  3. 脚本处理:

    • scripts.before_process(p) 允许脚本修改参数
    • 自定义脚本参数被处理
  4. 参数覆盖:

    • 应用 override_settings,可能更改模型、VAE 等
  5. 处理初始化:

    • process_images_inner(p) 准备处理环境
    • p.fill_fields_from_opts() 应用共享选项中的默认值
    • p.setup_prompts() 处理提示模板和样式
  6. 条件设置:

    • p.setup_conds() 将提示转换为模型条件
    • Token 被编码并为模型处理
  7. 采样:

    • p.sample() 使用参数来控制采样过程
    • 参数会影响步数、噪声水平、引导比例等
  8. 后期处理:

    • 根据参数处理生成的图像
    • 根据配置保存和显示

来源

参数持久化和传递

参数可以通过多种方式在会话之间保存和加载

  1. PNG 信息:生成的图像包含使用所有参数的元数据

    • 用于重建精确的生成设置
    • 可通过“发送到 txt2img/img2img”按钮访问
  2. 信息文本:参数值被编码在一个文本字符串中

    • 格式:prompt [parameters] negative prompt
    • 示例:一只猫,细节丰富,4k [步数:30,采样器:Euler a,CFG 比例:7,种子:123456789,尺寸:512x512] 丑陋,模糊
  3. 设置覆盖:特定参数可以为生成覆盖

    • 适用于批量作业或脚本工作流程
    • 通过 override_settings 参数设置
  4. 样式:常见的参数组合可以保存为样式

    • 使用 {} 语法应用于提示
    • 影响正面和负面提示

来源

常见的参数组合和效果

不同的参数组合会对输出产生巨大影响。以下是一些常见的参数模式:

目标参数组合
高细节图像更高的步数(30-50),“DPM++ 2M Karras”采样器
快速草稿较低的步数(15-20),“Euler a”采样器
创意/艺术性更高的 CFG(8-12),更多的采样器步数
照片写实较低的 CFG(5-7),“DDIM”采样器
内存高效较小的尺寸,批次大小为 1
变化探索相同的种子,改变 CFG 比例或步数

结论

处理参数构成了 Stable Diffusion Web UI 的核心配置系统,控制着图像生成的方方面面。理解这些参数对于生成期望的结果和解决问题至关重要。

参数系统设计得非常灵活,允许基本使用和合理的默认值,同时为微调提供了高级选项。参数可以通过多种机制保存、共享和重用,包括 PNG 元数据、信息文本字符串和 UI 的预设系统。

为了获得最佳效果,请尝试不同的参数组合,同时记录哪些设置能产生您偏好的输出。