Frequency Separation Extension for WebUI:频率分离新玩法,让 SD WebUI 输出更清晰的图像

web UI6个月前发布 小马良
301 0

在使用 Stable Diffusion 进行图像生成时,我们常常会遇到一个痛点:细节不够清晰、纹理被模糊处理。这通常是由 VAE(变分自编码器)在解码过程中对高频信息的“软化”所导致。

为了解决这一问题,开发者推出了一个新的 WebUI 扩展 —— Frequency Separation(频率分离)。它通过将图像划分为低频、中频和高频三个层次,分别进行扩散处理后再合成,从而显著提升图像的锐度和细节表现力。

本文将带你深入了解这个扩展的工作原理、安装方式以及使用技巧。

为什么需要频率分离?

核心动机

Stable Diffusion 的 VAE 在重建图像时往往会削弱微小纹理,例如皮肤毛孔、布料纹理、微对比度等。这些细节能极大影响视觉真实感。

而频率分离扩展正是针对这一问题设计的。它将图像拆分成:

  • 低频层:主要保留整体构图与明暗分布;
  • 中频层:包含边缘、形状和主要特征;
  • 高频层:专注于纹理和细节。

每个层次都独立进行扩散处理,最后再合并成一张高保真图像。最终输出的 PNG 文件体积通常比原始输出大 80%-100%,因为包含了更多细节信息。

技术原理简述

该扩展基于 傅里叶变换(FFT) 原理,在频域中对图像进行操作:

  1. 频带划分
    • 使用径向掩膜选择特定频率范围:
      • 低频:0 – 0.15 fmax(保留构图)
      • 中频:0.10 – 0.40(边缘与形状)
      • 高频:0.35 – 1.0(纹理)
  2. 信号处理流程
    • 对每张图像执行 2D 傅里叶变换(FFT),提取不同频段。
    • 每个频段使用独立的噪声、CFG 和步数进行扩散处理。
    • 处理完成后再次进行傅里叶变换并合并各频段。
    • 最终通过逆变换(iFFT)还原为清晰图像。
  3. 防振铃设计
    • 各频段之间采用 Sigmoid 软重叠(默认 10% 重叠),避免图像边缘出现伪影。

安装方法

安装过程非常简单,只需几步即可完成:

  1. 克隆仓库
git clone https://github.com/thavocado/sd-webui-frequency-separation.git

放置路径应为你的 WebUI 的 extensions/ 目录。

或者在 WebUI 的 Extensions 页面中点击 “从 URL 安装”,输入如下地址:

https://github.com/thavocado/sd-webui-frequency-separation
  1. 重启 WebUI

重启后,在 txt2img  img2img 界面中就能看到新增的 “Frequency Separation” 面板。

兼容性说明

该扩展已在以下环境中测试通过:

  • Forge:f2.0.1v1.10.1-previous-665-gae278f79
  • AUTOMATIC1111:v1.9.4
  • reForge:f1.7.0-v1.10.1RC-latest-2255-g2b54f24a

虽然其他 WebUI 分支也应兼容,但如遇异常,请前往 GitHub Issues 提交反馈。

内部处理流程详解

阶段描述关键细节
FFT 分割将图像转换为频域表示,并分割出低频、中频、高频区域使用 2D FFT,支持 fftshift、径向/角掩膜,保留 DC 分量
每频带扩散每个频段使用独立参数进行扩散处理动态创建 StableDiffusionProcessingImg2Img,继承提示词/种子,支持频段专属设置
同步模式控制多个频段之间的协同,防止出现重影或不一致支持多种同步策略(详见下文)
图像重建将处理后的频段重新组合成完整图像支持加权频谱合并或 alpha 混合,最终通过 iFFT 还原
批处理钩子保证在 ADetailer 等插件前运行使用 postprocess_batch 修改批次张量,确保后续脚本接收增强数据

同步模式解析

由于图像被拆分为多个频段独立处理,如何保持它们之间的协调至关重要。该扩展提供了以下几种同步策略:

模式同步内容
独立各频段完全独立处理
共享噪声共享种子与噪声 εt
跨注意力低频层的上下文 c 向量传递给高频层
渐进低频作为潜在空间的起点
共享潜在平均潜在空间 + 权重 λ=0.3

建议初学者从 “独立”  “共享噪声” 开始尝试,根据效果逐步调整。

频率掩膜函数

扩展共提供 12 种掩膜函数,用于定义不同频段的边界形状。尽管大部分是实验性质,但推荐使用默认选项:

  •  corner_average:到四个角落的平均距离(推荐)

其他函数包括:

  • center_circular(中心圆形)
  • corner_min_diamond(最小钻石距离)
  • chebyshev(切比雪夫距离)
  • wave_interference(波干涉模拟)
  • gravitational(角落重力势)

⚠️ 除非有特殊需求,否则建议使用默认掩膜函数。

高级频带配置指南

你可以对每个频段进行个性化设置,以达到最佳效果:

默认频段范围

  • 低频:0.00 - 0.15(结构/构图)
  • 中频:0.10 - 0.40(主要特征)
  • 高频:0.35 - 1.00(细微纹理)

每频段控制参数

  • 去噪强度(Denoising Strength)
    • 低频:0.3(保留结构)
    • 中频:0.6(平衡特征与变化)
    • 高频:0.8(强化细节)
  • 自定义步数 & CFG
    • 可启用“使用自定义步数和 CFG 缩放”来覆盖全局设置
    • 否则使用主生成界面中的统一设定

使用建议与注意事项

  • ⏱️ 生成时间增加约 3 倍,建议先用普通模式确定构图,再开启频率分离进行精修。
  • 🧪 当前仅在 reForge 上充分测试,其他 WebUI 版本可能需自行验证。
  •  暂无 ComfyUI 节点支持,如有需求可关注后续更新。
  • 💬 如遇问题,欢迎提交 Issue 到项目页面:GitHub Issues
© 版权声明

相关文章

暂无评论

none
暂无评论...