Skip to content

UltraFix

UltraFix 是针对放大后图像的分块扩散 img2img 修复流程。普通超分辨率(Real-ESRGAN / UltraSharp)只能把图像放大,无法补出真正的细节;UltraFix 会在放大后的图像上,以重叠的分块(tile)方式重新运行扩散模型,在高分辨率下恢复精细纹理和细节,而不会重新铺排整张图的构图。

仅支持 SDXL DMD2 模型

UltraFix 仅在 SDXL DMD2 模型上可用(NPU 路径),因为它依赖这类模型所用的 CFG 1 / 少步设置。同时要求模型开启 img2img —— 关闭 img2img 时后端没有 VAE 编码器,按钮会隐藏。

同样重要:只在动漫模型上使用。在写实模型上它容易产生多主体(详见使用建议)。

在哪里使用

对一次生成结果做超分辨率后,得到的图会大于模型的常规生成尺寸。当放大结果的最短边不小于模型的生成尺寸时,会出现 UltraFix 按钮:

  • 生成结果页面
  • 历史预览浮层中(门控条件与结果页一致)

修复后的图像会作为新的 ULTRAFIX 历史条目(JPEG)保存,并且可以再次对它运行 UltraFix。

工作原理

UltraFix 基于 PixelRush 论文中的部分反演(partial inversion)+ 噪声注入(noise injection)思路,并改造成固定尺寸的 NPU 分块执行。

放大后的图像被切成重叠的分块。VAE 编码、每一步 UNet 去噪、以及最终的 VAE 解码,都在这些分块上运行固定尺寸的 QNN 计算图;每一步的噪声预测会在分块重叠处混合,再做一次整图范围的调度器步进,因此不会出现可见的分块接缝。

与用随机噪声破坏图像的普通 img2img 不同,UltraFix:

  • 部分反演:把干净图像沿扩散轨迹确定性地反演回去(DDIM 反演),使图像自身的结构存在于起始噪声之内
  • 锁定低频结构:在循环早期把低频结构锁向底图,使各分块保留原始构图,而不是各自把提示词主体重新铺排一遍。
  • 注入少量新噪声:在循环后期注入少量新鲜噪声(PixelRush 公式 4),恢复高频细节 —— 否则近乎重建的反演会让结果偏平。

使用时你无需理解这些原理 —— 但它解释了为什么 UltraFix 是在补细节,而不是重画整张图。

控件

UltraFix 有自己独立的 Steps 和 Denoise 滑块,与主生成参数分开,并按模型持久化:

  • Steps(步数) —— 1–20
  • Denoise(去噪) —— 以步数0 … min(10, steps))而非原始强度表示。去噪步数越高,UltraFix 改动的内容越多;越低则越贴近输入。

恢复默认 按钮会把它们重置为 10 步 / 4 去噪步

其余参数 —— 提示词、负向提示词、CFG、调度器、种子 —— 都取自提示词页面,因此请先在那里设置好再运行 UltraFix。

使用建议

  • 10 步 / 4 去噪步 是推荐的默认值。主要的调节量是 去噪步 / 步数 的比例 —— 保持 ≤ 0.5
  • 由于每个分块只能看到图像的一块裁剪区,模型可能把这块裁剪区当成一个完整场景,从而画出额外的主体(多一张脸、多一个角色、重复的物体)。如果遇到这种情况,提高步数降低去噪步,例如 12 / 410 / 2。这会减少 UltraFix 单次的改动量,但你可以在结果上反复运行 UltraFix 来逐步累积细节。
  • 只在动漫模型上使用 UltraFix。 在写实模型上,上面提到的多主体问题更容易出现,因此不建议在写实模型上使用。
  • 把它当作对你已经满意的图像的精修步骤,而不是用来挽救一张失败的生成。
  • 又慢又热:高分辨率下,每一步都要在每个分块上跑一遍完整 UNet。开始前确认对话框会列出参数,并提示运行时长和设备发热。运行期间请保持应用在前台。
  • UltraFix 准备和运行期间,生成、超分辨率和实时预览都会被禁用。

相关

  • 超分辨率 —— UltraFix 之前的纯 4× 放大步骤。
  • DMD2 模型 —— UltraFix 所针对的 CFG 1 / 少步模型。