Skip to content

图像放大器与后处理

扩散模型(Diffusion Model,一种通过逐步去噪来生成图像的生成模型——详见扩散模型)原生分辨率有限:SD 1.5 为 512×512,SDXL 为 1024×1024,Flux 也停留在约 1 百万像素。直接放大往往模糊。图像放大器(Upscaler)和后处理管线让生成图像达到 4K 甚至 8K 级别的细节。本页梳理从传统插值到 AI 高清修复(Hi-Res Fix)的完整技术谱系,并补充 2024–2025 年 transformer 架构与扩散式放大器的最新进展。前置阅读:扩散模型。

想象你画了一张小尺寸的素描——

  • 最近邻 / 双线性插值 = 把小图简单拉大。线条变粗、细节变模糊——因为只是在像素之间填空,不添加任何新信息。
  • ESRGAN / DAT2 = 请一位画师看着模糊的大图,根据经验「补画」细节。纹理、毛发、砖缝被凭空「想象」出来——看起来更真实,但偶尔会”脑补”出原图不存在的东西(伪影 / Artifact)。
  • Hi-Res Fix(高清修复) = 先生成小图,放大后再让扩散模型重新去噪一遍(低强度)。等于让画师先画草稿,放大后拿着草稿精修细节——最强大的方案,但最耗时。
  • Tiled Upscale(分块放大) = 把大图切成小块分别处理,解决显存不够的问题。像拼图一样,每块单独精修再拼回来。
  • SUPIR / StableSR(扩散式放大器) = 直接把放大本身交给一个专门微调过的扩散模型来做,用大模型的语义先验来指导细节生成,画质上限最高,但速度最慢(单图数十秒)。

核心区分:放大 ≠ 增加真实细节。 传统放大只是插值;AI 放大器通过深度学习”幻想”出高频细节;Hi-Res Fix 让扩散模型参与二次生成,细节最真实但也最可能偏离原图。

双线性插值(Bilinear)用相邻 2×2 像素的加权平均填充新像素,权重随距离衰减。双三次插值(Bicubic)用 4×4 邻域配合三次多项式拟合,比双线性更锐利。Lanczos 重采样用 sinc 函数(一种理想低通滤波器的数学近似)做卷积核,在传统方法中频域性质最好,是 Photoshop、ffmpeg 缩放的默认选项。

这些方法的数学本质是多项式 / 卷积拟合——它们不「理解」图像内容,只做空间插值。放大后的图像必然模糊,因为高频信息(纹理细节)在缩小过程中已经永久丢失:这是采样定理(Nyquist–Shannon)决定的,任何确定性算法都无法从纯插值中恢复。

超分辨率网络(SR):学习式放大

Section titled “超分辨率网络(SR):学习式放大”

ESRGAN(Enhanced Super-Resolution GAN)和 Real-ESRGAN 是当前最主流的开源 AI 放大器。其生成器是一个 RRDBNet:

  • 输入:低分辨率图像(3 通道 RGB)。
  • 浅层特征提取:一个 3×3 卷积把输入映射到 64 通道的特征图(feature map——卷积网络中每一层的中间激活值,可理解为”图像在不同特征维度上的表示”)。
  • 深层特征提取:堆叠 **23 个 RRDB(Residual-in-Residual Dense Block)**模块。每个 RRDB 内含 3 个 Dense Block,每个 Dense Block 由 5 个卷积层组成,层与层之间用密集连接(每层都接收前面所有层的输出作为输入)和残差连接(Residual Connection——把输入直接加到输出上,使网络只学习”增量”,缓解深层网络的梯度消失问题)串联。
  • 上采样:用两个 PixelShuffle 模块实现 4× 放大(每个 2×)。PixelShuffle 把通道维重组到空间维:例如把 H×W×(C·r²) 的特征图重排成 (H·r)×(W·r)×C,相比反卷积更不易产生棋盘纹(Checkerboard Artifact)。
  • 重建:最后一个 3×3 卷积输出 3 通道 RGB 的高分辨率图。整个 RRDBNet 约 16.7M 参数。
  1. 数据构造:从高分辨率(HR)图像出发,用模拟退化流程降采样得到低分辨率(LR)版本。Real-ESRGAN 的关键创新是「盲超分辨率(Blind SR)」——退化为两阶段、多因素随机组合(模糊核、噪声、JPEG 压缩、resize),模拟真实世界模糊图,而非简单 bicubic 降采样。这种退化在训练时即时生成(On-The-Fly, OTF),避免离线存储海量数据。
  2. 生成器预训练:只用 L1 像素损失(输出与 HR 的逐像素绝对差)训练,让网络先学会基本的放大映射。
  3. GAN 微调:冻结部分权重后,引入判别器(Discriminator——一个二分类 CNN,负责判断”这张图是真实高清还是生成器造的”)。生成器与判别器对抗训练(GAN, Generative Adversarial Network——两者博弈,生成器越造越真,判别器越辨越准),把高频纹理”逼”出来。
  4. 损失组合:最终损失 = L1 像素损失 + 感知损失(Perceptual Loss) + GAN 损失。感知损失是把生成图和真实图都送进预训练的 VGG 网络(一个在 ImageNet 上训练的经典分类 CNN),取出中间层特征图做差异比较——这比逐像素比较更接近人眼感受,因为 VGG 的中间层学到了”边缘、纹理、形状”等语义特征。配合 USM(Unsharp Masking,锐化掩模)对 GT 做预处理,可让训练目标更锐利。

推理时直接前向传播——速度极快(GPU 上秒级)。缺点是它「脑补」的纹理不一定符合语义——例如可能给猫的毛发添加不存在的花纹。评价指标上,PSNR / SSIM(衡量像素级保真度的传统指标)高的模型往往看起来偏糊,而 GAN 微调后的模型 PSNR 略低但视觉更锐利、更”真实”,这是感知质量与像素保真度的固有矛盾。

Transformer 超分:SwinIR 及其后的新浪潮(2021–2025)

Section titled “Transformer 超分:SwinIR 及其后的新浪潮(2021–2025)”

2021 年 SwinIR 把 Swin Transformer(一种用”移位窗口”做局部注意力的 Transformer 变体)引入图像恢复,开启了 transformer 架构在 SR 领域的扩张。SwinIR 由三部分组成:

  • 浅层提取:3×3 卷积。
  • 深层提取:多个 RSTB(Residual Swin Transformer Block),每个 RSTB 内含若干 Swin Attention Layer + 一个残差连接 + 一个 3×3 卷积。**自注意力(Self-Attention)**机制让每个位置都能与窗口内其他位置交互,从而建模长距离依赖——这是 CNN 局部卷积做不到的。
  • 重建:PixelShuffle 上采样 + 卷积。

相比 ESRGAN,SwinIR 在经典基准(Set5、Urban100)上 PSNR 高 0.14~0.45dB,参数量还更少(SwinIR-S 仅 11.9M vs RCAN 15.6M),但推理慢约 3 倍(注意力计算量大)。社区因此在两条路上继续推进:

  • 更高效的窗口注意力系列:HAT(Hybrid Attention Transformer,2023)融合通道注意力与窗口自注意力,在 Urban100 上首次把 ×4 PSNR 推过 28dB;HAT-L 参数量大、精度高,是高画质放大器的常客。
  • 更紧凑的整流系列:DAT / DAT2(Dual Aggregation Transformer,2024)按通道和空间两个维度交替聚合注意力;**DRCT / DRCT-L(2024)**用”密集残差连接 transformer”大幅简化结构,在同等参数下精度领先;**ATD / ATD-L(2024)**引入自适应 token 维度;realplksr(2024)在 PLKSR 基础上做工程改造,兼顾速度和精度。社区训练框架 neosr(2024 起)和模型仓库 OpenModelDB 把这些架构做成开箱即用的训练 / 推理工具,配合 ChaiNNer / Spandrel(统一的 SR 模型推理库)形成完整生态。
  • 轻量高速系列:SPAN、Compact(SRVGGNetCompact)、SAFMN、SeemoRe 等——参数量小、速度极快,是实时放大和移动端的首选。

社区实测推理速度排序(256×256 输入,单 GPU,越靠前越快):Compact ≈ SPAN > SAFMN > SeemoRe > PLKSR > SwinIR-S > ESRGAN > DRCT-S > SwinIR-M > DRCT > DAT2 > HAT-M > DRCT-L > ATD > HAT-L。GAN 训练后视觉锐度排序大致相反——HAT-L / DRCT-L / DAT2 这些大模型配合 GAN + 感知损失微调后,画质天花板最高。

Hi-Res Fix 是 Stable Diffusion WebUI(A1111 / Forge)中最重要的高清功能,流程为:

  1. 正常生成低分辨率图像(如 512×512)。
  2. 用放大器(如 Latent 放大或 ESRGAN / DAT2)放大到目标尺寸(如 1024×1024)。
  3. 将放大后的图像用 VAE(Variational Autoencoder,扩散模型中的”编解码器”,负责像素与潜空间转换)编码回潜空间(Latent Space——一个压缩过的低维连续表示空间,SD 的潜空间是像素空间的 1/8 分辨率、4 通道)。
  4. 再次运行扩散去噪——但只用低步数(如 20 步)和低去噪强度(Denoising Strength 0.3–0.6)。

去噪强度(Denoising Strength) 是关键参数——0 表示完全不改(只跑原 latent),1 表示完全重新生成(相当于纯文生图)。0.3–0.6 的区间意味着「保留 40–70% 的原图结构,重新精修剩余部分」。直觉上:放大后的图已经基本正确,扩散模型只需在语义引导下重画高频细节,不需要从头推导构图。这也是为什么 Forge / ComfyUI 的 Hi-Res Fix 通常用比首 pass 更低的 CFG Scale(classifier-free guidance 的引导强度)——过强的引导会把细节推向提示词的字面,反而失真。

扩散式放大器:SUPIR / StableSR / CCSR

Section titled “扩散式放大器:SUPIR / StableSR / CCSR”

2023–2024 年出现了一类把放大本身交给扩散模型的新方法,是 GAN 放大器与 Hi-Res Fix 之外的第三条路:

  • StableSR(2023):在 SD 的 U-Net 上微调,加入”时间感知编码器”和可控特征调制(CFW),让扩散过程直接输出高分辨率图,而非先生成再放大。
  • CCSR(2023):用”一致性模型”思想大幅减少扩散步数,几步即可完成放大,兼顾画质和速度。
  • SUPIR(2024):SDXL 级别的扩散放大器,参数量大、退化建模更精细,可利用大模型更强的语义先验(对图像内容的”理解”)恢复极端退化输入。配套的 SDXL encoder + 修复-oriented 的提示词(如 “cinematic, high detail, dslr”)能显著提升观感。SUPIR 已有 ComfyUI 节点,是 2024 年以来画质上限最高的开源放大方案之一。

扩散式放大器的代价是慢(单图数秒到数十秒),且因为生成性强,输入一致性问题比 GAN 放大器更突出——常被当作”img2img 放大器”使用。社区常见做法是先用 transformer 放大器(如 DAT2 / DRCT-L)保持一致性,再用低强度 SUPIR 做最终精修,兼顾保真度和细节丰富度。

  • 像素放大:在像素空间操作——先解码出图像,用 ESRGAN / DAT2 放大,再编码回潜空间。兼容性好,往返编码有轻微精度损失但几乎不可见。
  • Latent 放大:直接在潜空间操作——把潜变量做双三次插值放大(潜空间分辨率 = 像素 / 8,所以 64×64 latent → 128×128 对应 1024×1024 像素)。省去编解码往返,速度更快,但因为 latent 各通道没有明确空间语义,纯插值效果略逊于像素放大。

放大到 4K 以上时,显存往往不够。Tiled Upscale 将图像切成重叠的小块(如 512×512,重叠 64 像素),每块单独用 SR 模型处理,重叠区按距离权重做线性混合(feathering)消除拼缝。代价是全局一致性略差(每块独立处理,跨块的纹理可能不连贯),但显存占用大降,是 4K+ 放大和视频逐帧放大的标配。Ultimate SD Upscale 把它和 Hi-Res Fix 结合,在 ComfyUI / A1111 里做”分块 + 每块二次去噪”,是生成超高清图(4K–8K)的标准工作流。

import torch
from PIL import Image
from realesrgan import RealESRGANer
from basicsr.archs.rrdbnet_arch import RRDBNet
# 加载 Real-ESRGAN 模型(x4 放大)
# RRDBNet 参数:64 个基础通道、23 个 RRDB 块、每个 Dense Block 增长 32 通道
model = RRDBNet(num_in_ch=3, num_out_ch=3, num_feat=64,
num_block=23, num_grow_ch=32, scale=4)
upsampler = RealESRGANer(
scale=4, model_path="weights/RealESRGAN_x4plus.pth",
model=model, tile=0, tile_pad=10, pre_pad=0, half=True # half 用 FP16 加速
)
# 读取低分辨率图并放大
img = Image.open("output.png").convert("RGB")
import numpy as np
img_np = np.array(img, dtype=np.uint8)
output, _ = upsampler.enhance(img_np, outscale=4)
Image.fromarray(output).save("output_4x.png")
print(f"放大完成: {img.size} -> {output.shape[:2][::-1]}")

在 ComfyUI 中用 DAT2 / DRCT-L 做一致性放大 + SUPIR 精修

Section titled “在 ComfyUI 中用 DAT2 / DRCT-L 做一致性放大 + SUPIR 精修”

ComfyUI(节点式生成界面,详见ComfyUI 与节点式生成)2024 年后已原生支持加载 neosr / OpenModelDB 的 .safetensors SR 模型(通过 Load Upscale Model 节点 + Spandrel 后端),典型工作流:

  1. Load Checkpoint → KSampler 生成 1024×1024 基础图。
  2. Load Upscale Model(选 4xBHI_dat2_otf.safetensors 或 4xNomos2_hq_drct-l.safetensors)→ Upscale Image (using Model),得到 4096×4096 放大图。 3.(可选)SUPIR 节点以低重绘强度(如 0.3)做最终精修。
  3. Save Image 输出。

相比老的 ESRGAN_x4plus,DAT2 / DRCT-L 在建筑、毛发等高频纹理上更自然、伪影更少,是 2024 年起社区推荐的首选。

  • 默认首选已从 ESRGAN_4x 迁移到 DAT2 / DRCT-L:ESRGAN_4x 仍是兼容性最好的兜底,但社区(OpenModelDB、Phhofm models)2024 年起大量转向 DAT2 / DRCT-L / realplksr,在退化处理(JPEG、模糊、噪声)和纹理自然度上明显占优。
  • 退化匹配:根据输入质量选模型——干净 AI 出图用无退化模型(如 4xLexicaDAT2_otf),真实网络图片用带 OTF 退化的模型(如 4xNomosWebPhoto_atd / 4xBHI_dat2_real),极端退化用 SUPIR。
  • Hi-Res Fix 去噪强度 0.4 是甜区:低于 0.3 几乎没变化;高于 0.6 会大幅改变构图,有时面目全非。0.35–0.5 是安全区间。
  • 4× 放大几乎总是需要分块:直接放大到 4K 显存需求极高。开启 Tiled Upscale(分块大小 512、重叠 64)可解决。
  • 先放大、后精修的顺序:先 transformer 放大器快速放大得到一致性强的清晰基础,再用低强度 Hi-Res Fix 或 SUPIR 精修。两步比一步效果好。
  • 放大后做 Face Restore:放大后人物面部容易失真,用 GFPGAN 或 CodeFormer 专门修复人脸——这是人像工作流的标准后处理。2024 年起 RestoreFormer / CodeFormer + 可调保真度权重逐渐成为默认选择。
  • 不要无脑放大:如果原生分辨率已经足够(如 Flux 1024×1024),过度放大会添加伪影。先评估是否真的需要。
  • 在 ComfyUI 中串联管线:放大是 ComfyUI 后处理管线的关键节点——详见ComfyUI 与节点式生成。
  • Stable Diffusion WebUI(A1111 / Forge)Hi-Res Fix:内置高清修复功能,生成参数面板直接勾选开启,配合 ESRGAN / DAT2 放大器使用。Forge 在 2024 年优化了大模型(SDXL / Flux)下的 Hi-Res Fix 速度。
  • Topaz Gigapixel AI / Topaz Photo AI:商业图像放大软件,面向摄影师,支持照片、绘画、视频帧放大,2024–2025 持续更新自有模型,效果专业。
  • Upscayl:开源跨平台桌面放大工具(Electron + Real-ESRGAN / UPI models),图形界面友好,支持 AMD/Intel/NVIDIA GPU,是 non-CLI 用户的主流选择。
  • Real-ESRGAN-ncnn-vulkan:开源跨平台命令行放大工具,基于 ncnn + Vulkan,支持 AMD/Intel GPU,无需 NVIDIA 显卡。
  • ComfyUI Ultimate SD Upscale:社区节点,将大图分块后每块做 Hi-Res Fix,最终拼合成超高清图像(4K+)。
  • SUPIR(ComfyUI 节点):2024 年扩散式放大器在 ComfyUI 上的落地,对极端退化输入(老照片、重度压缩图)修复效果显著,但速度慢、显存大。
  • ChaiNNer / Spandrel:节点式图像处理工具与统一的 SR 模型推理库,专门用于串联放大、人脸修复、色彩调整等后处理步骤,支持几乎所有开源 SR 架构(ESRGAN / SwinIR / HAT / DAT / DAT2 / DRCT / ATD / realplksr / SPAN 等)。
  • OpenModelDB:社区维护的 SR 模型仓库,按类别(照片 / 动漫 / AI 生成 / 贴图 / 人脸)和退化类型分类,是目前找开源放大模型的首选入口。
类库/工具语言说明
Real-ESRGANPython当前最流行的开源 AI 放大器,支持动画/真人/通用
ESRGAN / SwinIR / HATPython经典与 transformer 超分架构,社区有大量微调变体
DAT / DAT2 / DRCT / ATDPython2023–2024 的新一代 transformer SR,OpenModelDB 主力
realplksr / SPAN / CompactPython轻量高速 SR,适合实时 / 移动端
SUPIR / StableSR / CCSRPython扩散式放大器,画质上限最高、速度最慢
GFPGAN / CodeFormerPython专攻人脸修复的 GAN / Transformer,常与放大器串联
neosrPython2024 起社区主流的 SR 训练框架,支持上述所有架构
SpandrelPython/C++统一的 SR 模型推理库,ChaiNNer / ComfyUI 后端
OpenModelDBWeb社区 SR 模型仓库,按用途 / 退化类型检索
Topaz Gigapixel AI商业专业级商业放大软件,面向摄影/设计
Upscayl桌面 App开源跨平台 GUI 放大工具,支持多 GPU 厂商
Ultimate SD UpscalePythonComfyUI/A1111 分块高清修复插件
术语英文解释
超分辨率Super-Resolution (SR)用 AI 从低分辨率图像恢复高分辨率细节的技术
高清修复Hi-Res Fix先生成再放大的二次去噪流程,最常用的高清方案
去噪强度Denoising StrengthHi-Res Fix 中控制改动幅度的参数(0–1)
分块放大Tiled Upscale将大图切成小块分别处理以节省显存,重叠区做加权混合
双三次插值Bicubic Interpolation用 4×4 邻域多项式拟合的传统放大方法
Lanczos 重采样Lanczos Resampling用 sinc 函数卷积核的高质量传统重采样方法
ESRGAN / RRDBNetESRGANEnhanced SRGAN,RRDB 块堆叠的主流 AI 放大架构
SwinIR / HAT / DATSwinIR / HAT / DAT基于 Swin Transformer 及其后继的 transformer SR 架构族
感知损失Perceptual Loss用 VGG 等网络的深度特征比较图像差异的损失函数,SR 训练核心
GAN 损失GAN Loss生成器与判别器对抗训练产生的损失,用于逼出锐利高频纹理
判别器DiscriminatorGAN 中判断图像真伪的二分类 CNN
像素重排PixelShuffle把通道维重组到空间维的上采样算子,避免棋盘纹
残差连接Residual Connection把输入直接加到输出,使网络只学习增量、缓解梯度消失
自注意力Self-Attention让序列 / 图像中每个位置与所有其他位置交互的机制,建模长距离依赖
潜空间放大Latent Upscale直接在潜空间做插值放大,省去编解码往返
VAEVAE变分自编码器,扩散模型中负责像素与潜空间转换的编解码器
OTF 退化On-The-Fly Degradation训练时即时随机生成模糊 / 噪声 / 压缩组合,模拟真实退化
盲超分辨率Blind SR退化类型未知情况下的超分,Real-ESRGAN 系列的核心设定
扩散式放大器Diffusion Upscaler用微调过的扩散模型直接做放大的方法(SUPIR / StableSR)
人脸修复Face Restoration专门修复人脸细节的后处理(GFPGAN / CodeFormer)
伪影ArtifactAI 放大时「脑补」出的不真实纹理
PSNR / SSIMPSNR / SSIM衡量像素级保真度的传统指标,数值越高越接近原图
USMUnsharp Masking锐化掩模,训练时对 GT 做锐化以让模型学到更锐利的输出
  • Wang et al.,「ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks」(ECCVW 2018):ESRGAN 原始论文,提出 RRDB 模块和相对判别器,奠定了 AI 放大器的标准架构。(论文)
  • Wang et al.,「Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data」(ICCVW 2021):Real-ESRGAN 论文,用两阶段 OTF 模拟退化训练处理真实世界模糊图,当前社区主流放大器。(论文 / 代码)
  • Liang et al.,「SwinIR: Image Restoration Using Swin Transformer」(ICCVW 2021):SwinIR 论文,用 Swin Transformer 替换 CNN 做 SR,开启了 transformer SR 时代,比 CNN 参数更少、精度更高。(论文 / 代码)
  • Chen et al.,「HAT: Hybrid Attention Transformer for Image Restoration」(CVPR 2023):HAT 论文,融合通道与窗口注意力,首次揭示 SR 训练中”同一 batch 内数据多样性比 batch size 更重要”。
  • 2024 transformer SR 系列:DAT2 / DRCT / ATD / realplksr 等论文与 release,在 neosr 训练框架和 OpenModelDB 模型库的支持下,已成为社区训练高质量放大模型的主力架构。
  • Wang et al.,「GFPGAN: Towards Real-World Blind Face Restoration」(CVPR 2021):GFPGAN 论文,人脸修复经典方案。
  • SUPIR / StableSR / CCSR(2023–2024):扩散式放大器的代表工作,把 SDXL 级别扩散模型用于放大,画质上限最高,是 GAN 放大器与 Hi-Res Fix 之外的第三条路。
  • OpenModelDB(openmodeldb.info):社区 SR 模型仓库,是目前检索和下载开源放大模型的首选入口。
  • neosr(github.com/muslll/neosr):2024 年起社区主流的 SR 训练框架,支持 ESRGAN / SwinIR / HAT / DAT / DAT2 / DRCT / ATD / realplksr / SPAN 等架构,配套 OTF 退化、GAN 微调、预训练流程。
  • Spandrel(github.com/chaiNNer-org/spandrel):统一的 SR 模型推理库,支持几乎所有开源架构,是 ChaiNNer / ComfyUI 加载 .safetensors SR 模型的后端。
  • Lugmayr et al.,「Real-ESRGAN-ncnn-vulkan」(GitHub):跨平台 Vulkan 推理实现,无需 NVIDIA GPU 即可使用。