深度学习超分辨率算法(对抗生成网络路线)——Real-ESRGAN方法

目录

  1. 引言
  2. Real-ESRGAN 的核心思路
  3. 网络结构与数学表达
    1. 多步真实降质模型 (Real Degradation Model)
    2. RRDB 网络主体
    3. 生成器(Generator)
    4. 判别器(Discriminator)
  4. 损失函数
    1. 像素损失(Pixel Loss)
    2. 感知损失(Perceptual Loss)
    3. 对抗损失:多尺度 / 相对式
    4. 总体损失
  5. 训练流程
  6. 与 ESRGAN 的主要区别
  7. 详细数学公式说明
  8. 代码示例
  9. 代码简要解读

引言

Real-ESRGAN 是对 ESRGAN 的改进版本,旨在解决真实场景超分辨率(Real-World Super-Resolution)中的复杂降质问题。传统超分网络通常只在“合成降质”场景(如双三次下采样)下训练,实际中却往往出现高斯模糊、噪声、压缩伪影等多重退化。Real-ESRGAN 通过引入多步随机降质模型、改进后的 RRDB 网络、多尺度 / 相对式对抗损失以及针对真实图像的训练策略,使网络在真实低分辨率图像(如手机拍摄、网络抓取等)上依旧能生成更自然、更细腻的高分辨率结果。


Real-ESRGAN 的核心思路

  1. 真实场景降质模拟
    • 不再只做简单下采样,而是综合模糊、噪声、JPEG 压缩、随机核下采样等多步退化,模拟真实 LR 的形成过程;
  2. RRDB 主体网络改进
    • 使用 “残差中的残差” + Dense 连接的网络主体,去除 BN 并对残差输出乘缩放因子 ( ≈ 0.2 \approx0.2 0.2),适应深层训练;
  3. 多尺度 / 相对判别器
    • 判别器在多个尺度 / Patch 大小上学习区分真图与生成图的纹理细节;
    • 可采用“相对判别” (Relativistic Discriminator) 提升对局部差异的敏感度;
  4. 感知损失 + 对抗损失 + 像素损失
    • 与 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 (f4f3f2f1)(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+β(FRDB3FRDB2FRDB1(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).
其主要流程:

  1. 头部卷积 (初步特征提取);
  2. 堆叠 N N N 个 RRDB 块 (深度特征提取);
  3. 全局残差:将 RRDB 块输出与头部特征相加;
  4. 上采样 (PixelShuffle / 转置卷积);
  5. 输出卷积到 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DuHz

喜欢就支持一下 ~ 谢谢啦!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值