Real-ESRGAN超分辨网络

本文介绍了Real-ESRGAN,一种使用高阶降级模型和sincfilter来增强图像复杂度的超分辨率方法。通过引入U-Net鉴别器和光谱标准化正则化,解决了训练不稳定和图像细节的问题。研究对比了RealSR、ESRGAN等方法,并提出使用复杂数据集和多次降级操作来更准确地模拟真实世界的低分辨率图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对超分有兴趣的同学们可直接关注微信公众号,这个号的定位就是针对图像超分辨的,会不断更新最新的超分算法解读。在这里插入图片描述

正文开始

论文:Real-ESRGAN: TrainingReal-World Blind Super-Resolution with Pure Synthetic Data
参考:

  1. Real-ESRGAN超分辨网络
  2. ESRGAN(ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks)超分辨网络

Xintao Wang 2021年7月新出炉的一篇文章,大家最近都在用他的ESRGAN做backbone发文章,大哥估计看不下去了,自己来了一篇。

创新点

  1. 提出了新的构建数据集的方法,用高阶处理,增强降阶图像的复杂度。
  2. 构造数据集时引入sinc filter,解决了图像中的振铃和过冲现象。
  3. 替换原始ESRGAN中的VGG-discriminator,使用U-Net discriminator,以增强图像的对细节上的对抗学习。
  4. 引入spectral normalization以稳定由于复杂数据集和U-Net discriminator带来的训练不稳定情况。

重点提要

目标:解决真实场景下的图像模糊问题。
数据集的构建:模糊核、噪声、尺寸缩小、压缩四种操作的随机顺序。
超分网络backbone:ESRGAN的生成网络+U-Net discriminator判别器。
损失函数:L1 loss,perceptual loss,生成对抗损失。
主要对比方法:RealSR、ESRGAN、BSRGAN、DAN、CDC。

数据集构建

在讨论数据集的构建前,作者详细讨论了造成图像模糊的原因,例如:年代久远的手机、传感器噪声、相机模糊、图像编辑、图像在网络中的传输、JPEG压缩以及其它噪声。原文如下:

For example, when we take a photo with our cellphones, the photos may
have several degradations, such as camera blur, sensor noise,
sharpening artifacts, and JPEG compression. We then do some editing
and upload to a social media APP, which introduces further compression
and unpredictable noises.

所以作者针对以上问题,提出了High-order降级模型。先面我们先介绍first-order降级模型,然后就很好理解High-order降级模型了。

First-order

在这里插入图片描述

First-order降级模型其实就是常规的降级模型,如上式所示,按顺序执行上述操作。

x代表降级后的图像,D代表降级函数,y代表原始图像;
k代表模糊核,r代表缩小比例,n代表加入的噪声,JPEG代表进行压缩。

每一种降级方法又有多种降级方案可以选择,如下图所示:
在这里插入图片描述

对于模糊核k,本方法使用各项同性(isotropic)和各向异性(anisotropic)的高斯模糊核。关于sinc filter会在下文中提到。
对于缩小操作r,常用的方法又双三次插值、双线性插值、区域插值—由于最近邻插值需要考虑对齐问题,所以不予以考虑。在执行缩小操作时,本方法从提到的3种插值方式中随机选择一种。
对于加入噪声操作n,本方法同时加入高斯噪声和服从泊松分布的噪声。同时,根据待超分图像的通道数,加入噪声的操作可以分为对彩色图像添加噪声和对灰度图像添加噪声。
JPEG压缩,本方法通过从[0, 100]范围中选择压缩质量,对图像进行JPEG压缩,其中0表示压缩后的质量最差,100表示压缩后的质量最好。JPEG压缩方法点此处

High-order

First-order由于使用相对单调的降级方法,其实很难模仿真实世界中的图像低分辨模糊情况。因此,作者提出的High-order其实是为了使用更复杂的降级方法,更好的模拟真实世界中的低分辨模糊情况,从而达到更好的学习效果。一阶降级模型构建的数据集训练结果如下:
在这里插入图片描述

高阶降级模型公式如下:
在这里插入图片描述

上式,其实就是对First-order进行多次重复操作,也就是每一个D都是执行一次完整的First-order降级。作者通过实验得出,当执行2次First-order时生成的数据集训练效果最好。所以,High-order的pipeline如下:
在这里插入图片描述

sinc filter

为了解决超分图像的振铃和过冲现象(振铃和过冲在图像处理中很常见,此处不过多介绍),作者提出了在构建降级模型中增加sinc filter的操作。先来看一下振铃和过冲伪影的效果:
在这里插入图片描述

上图表示实际中的振铃和过冲伪影现象,下图表示通过对sinc filter设置不同的因子人工模仿的振铃和过冲伪影现象。过于如何构造sinc filter,详细细节建议看原文。
sinc filter在两个位置进行设置,一是在每一阶的模糊核k的处理中,也就是在各项同性和各项异性的高斯模糊之后,设置sinc filter;二是在最后一阶的JPEG压缩时,设置sinc filter,其中最后一阶的JPEG和sinc filter执行先后顺序是随机的。

网络结构

生成网络

在这里插入图片描述

生成网络是ESRGAN的生成网络,基本没变,只是在功能上增加了对x2和x1倍的图像清晰度提升。对于x4倍的超分辨,网络完全按照ESRGAN的生成器执行;而对于X2和X1倍的超分辨,网络先进行pixel-unshuffle(pixel-shuffl的反操作,pixel-shuffle可理解为通过压缩图像通道而对图像尺寸进行放大),以降低图像分辨率为前提,对图像通道数进行扩充,然后将处理后的图像输入网络进行超分辨重建。举个例子:对于一幅图像,若只想进行x2倍放大变清晰,需先通过pixel-unshuffle进行2倍缩小,然后通过网络进行4倍放大。

对抗网络

在这里插入图片描述

由于使用的复杂的构建数据集的方式,所以需要使用更先进的判别器对生成图像进行判别。之前的ESRGAN的判别器更多的集中在图像的整体角度判别真伪,而使用U-Net 判别器可以在像素角度,对单个生成的像素进行真假判断,这能够在保证生成图像整体真实的情况下,注重生成图像细节。

光谱标准正则化

通过加入这一操作,可以缓和由于复杂数据集合复杂网络带来的训练不稳定问题。

训练

分为两步:

  1. 先通过L1 loss,训练以PSRN为导向的网络,获得的模型称为Real-ESRNet。
  2. 以Real-ESRNet的网络参数进行网络初始化,损失函数设置为 L1 loss、perceptual loss、 GAN loss,训练最终的网络Real-ESRGAN。

实验数据

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<think>嗯,用户想了解Real-ESRGAN超分辨率重构流程及其可视化表示。首先,我需要回顾一下Real-ESRGAN的相关资料。根据引用[1],Real-ESRGAN是由Xinntao团队开发的,专注于通用图像/视频恢复的实用算法。引用[2]提到,RFB-ESRGAN是针对单幅图像极端感知超分辨率提出的,使用了多尺度感受野和小卷积核来提取特征,并交替使用插值和亚像素卷积进行上采样。引用[3]则讨论了二阶降解过程,模拟真实低分辨率图像。 用户需要的是流程和可视化,所以应该从输入处理开始。Real-ESRGAN的流程可能包括低质量图像输入、降解模拟、特征提取、残差块处理、上采样和重建。可视化部分可能需要描述每个步骤的模块,比如输入、降解模块、特征提取网络、残差密集块、上采样模块、输出等。 要注意引用中的技术点,比如多尺度感受野(引用[2])和二阶降解(引用[3])。需要将这些技术整合到流程图中。例如,降解过程可能包括模糊、噪声、下采样等步骤,而特征提取可能涉及多尺度特征和小卷积核。 用户可能还希望了解如何实现这些步骤,比如代码结构或模块设计。但问题主要是流程和可视化,所以应该重点放在结构上,而不是代码细节。不过,用户提到了流程图,可能需要用文字描述各模块的连接,如输入→降解处理→特征提取→残差块→上采样→输出。 另外,用户的问题可能涉及与其他方法(如传统ESRGAN)的区别,比如二阶降解和交替上采样。需要指出这些创新点,如引用[3]的二阶降解,以及引用[2]的多尺度感受野和交替上采样方法。 总结流程步骤:输入LR图像→模拟真实降解(二阶过程)→特征提取(多尺度和小卷积核)→多个残差密集块处理→交替使用最近邻插值和亚像素卷积上采样→生成HR图像。可视化可以用箭头连接这些模块,每个模块下注明关键技术点。 可能还需要解释每个步骤的作用,比如为什么使用二阶降解,多尺度特征的好处,交替上采样如何减少参数等,以帮助用户理解流程设计的意图。同时,确保引用正确,如降解部分引用[3],多尺度和上采样引用[2]。 最后,生成相关问题时要围绕技术细节、优势、应用场景等展开,比如性能优化、与传统方法的比较、实际应用案例等。</think>### Real-ESRGAN 超分辨率重构流程解析 Real-ESRGAN 是一种针对图像超分辨率重建的先进算法,其核心目标是提升低分辨率(LR)图像的视觉质量,生成高分辨率(HR)图像。以下是其关键流程及可视化表示: --- #### **流程图核心模块** ``` 输入低质量图像 → 降解模拟 → 特征提取 → 残差密集块 → 上采样 → 输出高分辨率图像 ``` --- #### **1. 低质量图像输入与预处理** - **输入**:低分辨率图像(可能包含模糊、噪声、压缩伪影等退化现象)。 - **预处理**:通过二阶降解模型模拟真实世界中的图像退化,包括模糊、噪声、下采样等复合操作[^3]。 --- #### **2. 特征提取网络** - **多尺度感受野设计**: 使用不同尺度的卷积核(例如 $3×3$ 和 $5×5$)提取图像的多尺度特征,增强对不同退化类型的适应性[^2]。 - **小卷积核优化**: 采用 $3×3$ 小核卷积,在减少计算量的同时保留高频细节(如边缘和纹理)。 --- #### **3. 残差密集块(Residual-in-Residual Dense Blocks, RRDB)** - **结构**:堆叠多个残差密集块,通过密集连接增强特征复用能力。 - **公式表示**: $$ F_{out} = F_{in} + \sum_{i=1}^n W_i \cdot \phi_i(F_{in}) $$ 其中 $\phi_i$ 表示第 $i$ 个残差块的非线性变换,$W_i$ 为权重参数。 --- #### **4. 上采样与重建** - **交替上采样策略**: - 最近邻插值:快速扩大图像尺寸,保留局部结构。 - 亚像素卷积(Pixel Shuffle):通过通道重排生成高分辨率特征,减少参数数量。 - **最终重建**:将上采样后的特征图通过卷积层融合,输出高质量 HR 图像。 --- #### **可视化表示** 以下是简化的流程图: ``` 输入 LR 图像 ↓ [二阶降解模拟](模糊+噪声+下采样) ↓ [多尺度特征提取]($3×3$ 和 $5×5$ 卷积) ↓ [残差密集块堆叠](RRDB × 23) ↓ [交替上采样](最近邻插值 + 亚像素卷积) ↓ 输出 HR 图像 ``` --- ### **技术优势** 1. **真实退化建模**:通过二阶降解模拟复杂退化过程,提升模型对真实场景的适应性。 2. **轻量化设计**:交替上采样策略减少计算量,适合移动端部署。 3. **感知质量优化**:结合对抗损失(GAN)和感知损失,增强视觉效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

毋小黑

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值