「想要高清,把宽度改成 2048 不就行了」——这么做的结果通常是一个人有两颗头,或者画面里重复出现同一扇窗。原因不玄学:模型只在训练分辨率附近见过画面。

为什么会重复

扩散模型是在固定分辨率下训练的:SD 1.5 系接近 512×512,SDXL 接近 1024×1024。在这个尺寸附近,卷积的感受野和画面的空间尺度是匹配的。

当你把宽度拉成两倍,模型看到的潜在画布变大了,但它学到的「一个头应该占多少像素」没变。于是它会在新的空间里继续按老尺度排布结构——填不满就再排一个。多头、多手、重复的窗户,都是这么来的。

所以「直接拉高分辨率」不是放大,是让模型在一个它不熟悉的画布上重新构图。

正确路径:先出图,再放大

标准流程分两步:

  1. 在训练分辨率附近生成(512 或 1024),得到构图正确的底图。
  2. 走放大流程,把这张底图放大,同时补细节。

放大又分两条技术路线,差别很大。

路线一:潜空间放大(Hires Fix)

做法是把潜空间张量本身放大,再做一次低强度去噪。

生成 512×768 底图
→ 潜空间插值放大到 1024×1536
→ 以 denoise 0.4–0.55 再采样一次

关键参数是第二次采样的 denoise:

denoise效果
0.2–0.3几乎只是插值,细节变化很小,放大感明显
0.4–0.5补细节的甜点区,纹理变实但构图不变
0.6+开始改内容,可能出现新的结构

潜空间放大的优点是自然、结构一致。缺点是细节上限有限——它是在已有信息上做插值,不会凭空长出真实的纹理。

路线二:像素空间放大(放大模型)

先把潜空间解码成像素图,再用专门的放大模型(如 4x-UltraSharp、ESRGAN 系列)在像素层面放大,最后可选地做一次低强度重绘来软化放大痕迹。

优点是细节锐利、纹理真实感强。缺点是计算慢、文件大,而且放大模型会放大瑕疵——底图里的噪点和错误边缘会被一起放大。

所以路线的顺序很重要:底图有瑕疵时先修,再放大。别指望放大能修问题。

两条路线怎么选

潜空间放大像素放大
细节真实度中高
结构一致性高中(可能改细节)
速度慢(要重新采样)快(一次前向)
适合需要保构图的成品需要输出大图、印刷级细节

实际生产里常用组合:潜空间放大到 2 倍 → 像素放大到 2 倍 → 得到约 4 倍尺寸。中间那次重绘负责补结构,最后那次放大负责锐度。

放大倍数与目标尺寸

目标用途建议成品尺寸建议路径
网页配图1280 宽以内直接按 1024 生成,无需放大
高清壁纸1920×10801024 生成 → 潜空间 2 倍
4K 壁纸3840×21601024 → 潜空间 2 倍 → 像素 2 倍
打印(A4 300dpi)约 3508×2480同上,注意保留 PPI 元数据

超过 4096 之后,收益递减很明显,而且文件体积会失控。除非要印刷,一般到 4K 就够。

宽高比的坑

SD 1.5 常用的宽高比是 512×512、512×768、768×512。用极端比例——比如 512×1024(1:2)——也会触发重复结构,因为模型在训练时很少见到这种比例。

建议比例控制在 1:1 到 3:4 / 4:3 之间。要更长的画幅,先按常规比例生成,再用裁剪或外扩(outpaint)扩展。

分段放大:超大图的稳妥办法

需要 6K 以上的图时,一次性放大往往崩。做法是切块:

  • 用 Tile 类 ControlNet 或分块放大节点,把图切成有重叠的区块。
  • 每块单独放大,块与块之间保留 64–128 像素重叠区。
  • 重叠区做羽化融合,避免接缝。

这个流程慢,但它是唯一能在超大尺寸下保持细节一致的方式。商业出图里很常见。

一句话总结

分辨率要贴着模型的训练尺度走,想要更大的图靠「放大」而不是「拉宽高」。放大前先修瑕疵,放大后别再加高 denoise,否则前面所有控制都会失效。