目录
引言
Real-ESRGAN 是对 ESRGAN 的改进版本,旨在解决真实场景超分辨率(Real-World Super-Resolution)中的复杂降质问题。传统超分网络通常只在“合成降质”场景(如双三次下采样)下训练,实际中却往往出现高斯模糊、噪声、压缩伪影等多重退化。Real-ESRGAN 通过引入多步随机降质模型、改进后的 RRDB 网络、多尺度 / 相对式对抗损失以及针对真实图像的训练策略,使网络在真实低分辨率图像(如手机拍摄、网络抓取等)上依旧能生成更自然、更细腻的高分辨率结果。
Real-ESRGAN 的核心思路
- 真实场景降质模拟
- 不再只做简单下采样,而是综合模糊、噪声、JPEG 压缩、随机核下采样等多步退化,模拟真实 LR 的形成过程;
- RRDB 主体网络改进
- 使用 “残差中的残差” + Dense 连接的网络主体,去除 BN 并对残差输出乘缩放因子 ( ≈ 0.2 \approx0.2 ≈0.2),适应深层训练;
- 多尺度 / 相对判别器
- 判别器在多个尺度 / Patch 大小上学习区分真图与生成图的纹理细节;
- 可采用“相对判别” (Relativistic Discriminator) 提升对局部差异的敏感度;
- 感知损失 + 对抗损失 + 像素损失
- 与 ESRGAN 类似的 VGG 感知损失 (Perceptual Loss);
- 结合对抗损失(多尺度 / 相对)和少量像素级监督,以兼顾视觉质量与稳定性。
网络结构与数学表达
多步真实降质模型 (Real Degradation Model)
在真实场景中,低分辨率图像往往由多重退化叠加形成。Real-ESRGAN 通过在训练数据准备时,对高分辨率图像 I HR I_{\text{HR}} IHR 施加随机的模糊、噪声、下采样、压缩等操作,以生成模拟真实情况的低分辨率图 I LR I_{\text{LR}} ILR。
从数学角度,可将此过程抽象为:
I LR = ( f 4 ∘ f 3 ∘ f 2 ∘ f 1 ) ⏟ T ( I HR ) , I_{\text{LR}} = \underbrace{(f_4 \circ f_3 \circ f_2 \circ f_1)}_{\mathcal{T}} (I_{\text{HR}}), ILR=T
(f4∘f3∘f2∘f1)(IHR),
其中:
- f 1 f_1 f1 :随机核或运动模糊 k blur k_{\text{blur}} kblur;
- f 2 f_2 f2 :噪声 (如高斯/泊松), σ noise \sigma_{\text{noise}} σnoise;
- f 3 f_3 f3 :随机比例与插值方式下采样 (双三次 / 最近邻 / 混合核);
- f 4 f_4 f4 :JPEG 压缩 ( quality ∈ [ 30 , 95 ] \text{quality} \in [30, 95] quality∈[30,95]) 等。
通过对以上各退化操作的参数随机采样(如模糊核大小 / 方差、噪声强度、压缩质量因子等),能生成更贴近真实退化场景的 LR 图像,增强网络的鲁棒性。
RRDB 网络主体
Real-ESRGAN 的生成器与 ESRGAN 类似,采用 RRDB(Residual in Residual Dense Block) 作为基本单元。对输入特征 x x x,RRDB 写作:
RRDB ( x ) = x + β ⋅ ( F RDB 3 ∘ F RDB 2 ∘ F RDB 1 ( x ) ) , \text{RRDB}(x) = x + \beta \cdot \bigl(\mathcal{F}_{\text{RDB}_3}\circ\mathcal{F}_{\text{RDB}_2}\circ\mathcal{F}_{\text{RDB}_1}(x)\bigr), RRDB(x)=x+β⋅(FRDB3∘FRDB2∘FRDB1(x)),
- β ≈ 0.2 \beta\approx0.2 β≈0.2 为残差缩放因子;
- F RDB i \mathcal{F}_{\text{RDB}_i} FRDBi 表示第 i i i 个 RDB 的映射;
- RDB 本身包含Dense 连接和局部残差。去除 BN 层,可降低训练不稳定并减少伪影。
生成器(Generator)
若记生成器参数为 θ \theta θ,则对低分辨率输入 I LR I_{\text{LR}} ILR 输出:
I ^ SR = G θ ( I LR ) . \hat{I}_{\text{SR}} = G_\theta(I_{\text{LR}}). I^SR=Gθ(ILR).
其主要流程:
- 头部卷积 (初步特征提取);
- 堆叠 N N N 个 RRDB 块 (深度特征提取);
- 全局残差:将 RRDB 块输出与头部特征相加;
- 上采样 (PixelShuffle / 转置卷积);
- 输出卷积到 3 通道 (RGB)。
判别器(Discriminator)
- Real-ESRGAN 可使用多尺度或相对判别器:
D Ra ( x r , x f ) = σ ( D ϕ ( x r ) − E [ D ϕ ( x f ) ] ) , D_{\text{Ra}}(x_r, x_f) = \sigma\bigl(D_\phi(x_r) - \mathbb{E}[D_\phi(x_f)]\bigr), DRa(xr,x