Real-ESRGAN超分辨网络

这篇具有很好参考价值的文章主要介绍了Real-ESRGAN超分辨网络。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

《Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data》

文章目录

一、Real-ESRGAN主要介绍

二、Real-ESRGAN主要内容

1、摘要

2、论文方法

3、方法详细介绍

· Blur

· Noise

· Resize(Downsampling)

· JPEG compression

· High-order Degradation Model

· Ringing and overshoot artifacts

 · U-Net结构判别器

 4、训练方法

5、实验结果

三、结论


前言

论文:https://arxiv.org/abs/2107.10833

参考:超分辨率论文阅读—Real-ESRGAN(2021ICCV) - 知乎Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data-----阅读阶段_MengYa_DreamZ的博客-CSDN博客


一、Real-ESRGAN主要介绍

研究背景:虽然盲超分辨率技术已经在恢复具有未知和复杂退化的低分辨率图像方面进行了许多尝试,但它们仍然远远不能解决一般真实世界的退化图像。

研究目的:这项工作旨在通过纯合成数据扩展强大的ESRGAN到实际恢复应用(即Real-ESRGAN)。通过用更现实的退化过程合成训练对来恢复一般现实世界的LR图像。真正复杂的退化通常来自不同退化过程的复杂组合,如相机成像系统、图像编辑和互联网传输。例如:

  • 拍照时,照片可能会有几个退化,如相机模糊、传感器噪声、锐化伪影和JPEG压缩
  • 编辑并上传到一个社交媒体应用程序,将进一步的压缩和不可预测的噪音
  • 当图像在互联网上共享多次时,上述过程会变得更加复杂。 

研究方法:具体而言,引入了高阶退化建模过程以更好地模拟复杂的现实世界退化。此外,还在合成过程中考虑了常见的振铃和过冲伪影。最后,采用带有光谱归一化的U-Net判别器来增加判别器能力并稳定训练动态。

研究结果: 1、提出了一个高阶降解过程来建模实际的降解,并利用sinc滤波器来建模常见的振铃和过冲伪影2、采用了几个必要的修改(例如,具有光谱归一化的U-Net鉴别器)来提高鉴别器的能力和稳定训练动力学。 3、使用纯合成数据训练的Real-ESRGAN能够恢复大多数真实图像,并实现比以前的工作更好的视觉性能,使其在现实应用中更加实用。       

        广泛的比较表明,它在各种真实数据集上都优于先前的工作。本文还提供了高效的实现来即时合成训练对

数据集:使用了DIV2KFlickr2KOutdoorSceneTraining数据集进行训练。

二、Real-ESRGAN主要内容

1、摘要

blind super-resolution领域中:现实世界中,恢复具有未知和复杂退化的低分辨率图像0restore low-resolution images with unknown  and complex degradations)仍未解决。

本次研究,将强大的ESRGAN扩展到一个实际的恢复应用程序(即Real-ESRGAN),它是用纯合成数据进行训练的。具体地说:

  • 引入了一个高阶降解建模过程来更好地模拟复杂的真实世界退化过程
  • 考虑了合成过程中常见的振铃和超调伪影(the common ringingand overshoot artifacts)
  • 采用了具有光谱归一化的U-Net鉴别器来提高鉴别能力,稳定训练动力学

通过大量的比较表明:它在各种真实数据集上的工作优于以前的视觉性能。

文章也提供了有效的实现(effificient implementations)来合成训练对

2、论文方法

SR算法根据所得LR图像的退化过程分为两类:

算法类型 获得LR图像的退化方式 问题
显式建模 对HR进行退化,例如模糊、下采样、噪声和JPEG压缩 真实数据退化更加复杂和多样,简单的退化组合难cover真实数据,造成训练的模型泛化性不佳
隐式建模 使用GAN学习LR图像的数据分布(eg.cyclegan) 使用gan所得数据也会让生成的数据趋于训练集的分布,当训练集的分布单一时所得LR也单一,造成训练的模型泛化性不佳

上面的两种方法都难以训练一个泛化性强的模型。

论文提到一个真实的复杂退化由不同退化过程的复杂组合,例如camera不同的成像系统,图像编辑和网络的转换。所以在获得LR图像的方法上考虑这样一个场景:

场景:5个人用了不同的手机拍了同一个场景,由于手机采用的算法不同所得图像本身不一样,一般手机成像有jpeg压缩,然后5个人又彼此分享拍摄的图像,在分享过程中网络传送又会又jpeg压缩,要是有人把收到的图像再转发又是一层退化。就5个手机,就这么简单的操作,就可以看到有多少不同的退化。

基于上述退化,Real-ESRGAN提出扩展经典的“一阶”退化模型(“一阶”退化是经典的退化模型)为“高阶”退化模型。“高阶”退化就是进行多次“一阶”退化。第一次“一阶”退化的结果是第二次“一阶”退化的输入。由此,论文期望通过”高阶“退化可以得到和真实退化更接近的LR数据。

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

”高阶“退化过程(该图是”二阶“退化)

 除了退化过程,Real-ESRGAN对振铃效应和过冲artifacts通过sinc filter进行模拟。

”高阶“退化过程更加复杂,所得退化空间比ESRGAN大很多,这样训练更加困难。

主要表现为:

1)判别器需要有更强的能力从复杂的训练输出上判别出图像的真实性,同时为了局部细节增强判别器需要回传更精确的梯度。因为Real-ESRGAN使用了U-Net代替VGG-style的判别器,U-Net的输出结果尺寸和输入的宽高一致,每一个像素值可表示真实的概率。它相比VGG-style的判别器最终输出一个值表示整幅图像要更加细致;

2)U-Net结构和复杂的退化都增加了训练难度,因为论文使用spectral normalization(SN)正则项约束判别器网络的参数,以使训练过程相对稳定。

3、方法详细介绍

SR中鲜有成对数据,一些算法采用的成对数据是经由HR数据经过退化模型生成的LR数据。经典的退化模型如下:

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 D(.)表示退化过程,主要表现为HR数据(用y表示)先和模糊核做卷积使整个图像模糊,再下采样,然后加入噪声,最后做JPEG压缩。JPEG压缩在真实场景中广泛应用(画质损失可接受,但内存可大幅度减少)。

· Blur

高斯模糊核是常用的模糊退化核,但是他们可能并不能很好逼近真实camera模糊,论文采用各项同性和各项异性高斯核,论文发现使用了这些模糊核对一些真实样本输出更加sharpen。

高斯退化是对以某一个像素为中心的周围区域像素做加权平均,其周围像素的权重符合高斯概率密度函数,表现就是离要处理的中心数据距离越近权重越大,相反权重越小。通过这种方式,高频信息像素值会被低频信息像素值拉低,从而表现高频信息不足,整体图像呈现模糊状态。

· Noise

噪声采用了两种:加性高斯噪声和泊松噪声。加性高斯噪声的概率密度函数等于高斯分布的概率密度函数。泊松分布通常被用来逼近sensor噪声。

· Resize(Downsampling)

采样常用的算法有nearest-neighbor interpolation(最近邻插值), area resize(区域调整大小), bilinear interpolation(双线性插值),bicubic interpolation(双三次插值)等。一些方法常用bicubic方法生成LR。但论文问了包含多样核复杂的采样,设置从常用的采样算法中随机选择操作。nearest包含不对齐问题,所以仅考虑了人area、bilinear、bicubic算法。

· JPEG compression

JPEG压缩在数字图像上应用较为广泛,表现则是当JPEG压缩因子大时,图像会有明显的Unpleasing block artifacts。JPEG的压缩图像的质量由质量(压缩)因子决定,质量(压缩)因子取值范围为[0,100],值越小表示压缩力度越大,block artifacts越明显。

· High-order Degradation Model

利用上面的操作组合可以得到退化图像,但是这样的退化和真实的退化仍存比较大的gap。论文对经典的退化模型进行扩展得到高阶退化模型。高阶退化模型中的高阶表示的是多次经典退化模型。n阶退化模型就表示n次经典退化模型操作。论文中采用的是二阶退化模型,这已经可以在保持简洁的同时cover大部分的场景。

· Ringing and overshoot artifacts

Ringing artifacts(振铃伪影)通过在图像中锐化过渡附近作为伪边缘存在,视觉上它像是边缘附近的条纹或者鬼影。Overshoot artifacts(过冲伪影)通常与振铃伪影相结合,振铃伪影表现为边缘过渡处增加的跳跃。产生这些伪影的主要原因是信号没有高频限制。这些artifacts是常见的,并且通常由锐化算法、JPEG压缩产生。

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

  从前两幅图中可以看到文字或者线条周围的百变,后两幅图中可以看到线条核文字周围的噪点。锐化容易使高频信息周围产生振铃artifacts(白边),JPEG压缩产生了过冲artifacts(跳跃的噪点)

论文使用sinc filter来切断高频信息(前面说产生z和两个问题的原因使高频没有被限制,切断表示限制高频信息)。sinc filter公式:

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

(i,j)表示filter核坐标(类似高斯模糊也有的这么一个核坐标)。Wc表示的是截断频率。论文对比了不同的Wc值产生的效果,从效果中可看出,使用sinc filter可以模拟上图中前两幅图的效果。

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 sinc filter不同截断频率的设置得到的不同图像

实验在两个地方设置了sinc filter:

1)  模糊操作中设置sinc filter

2)  合成数据的最后一步设置sinc filter。一般合成图像的最后一步是JPEG压缩,为了cover更大退化空间,最后一步的sinc和JPEG是随机选择的,这是因为有的图像先做了锐化再进行JPEG压缩的,而有的图像是先做的JPEG压缩后进行的锐化(参考blog,在这里论文表述sinc是为了解决锐化产生的artifacts)。

加入sinc filter后的退化模型成了这样(注意红框):

        1)blur部分最后加了sinc filter;

        2) 一阶退化的JPEG压缩模块仍保留原来的设置,没有加sinc filter;

        3) 二阶退化的JPEG压缩模块加入了sinc filter(和jpeg的顺序随机)。

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 · U-Net结构判别器

ESRGAN中采用了VGG-style的判别器,损失函数采用了相对GAN loss,虽然比原生GAN损失多了更多的信息,但最终仍是对一张图做整体的判断。Real-ESRGAN论文认为现在数据的退化空间更大了,原始的ESRGAN判别器不合适了,需要使用对复杂输入有更强能力的判别器,这个判别器可对局部纹理有更精确的梯度。论文使用了U-Net结构。U-Net的输出是一个和输入图像尺寸一样大小的feature map,每一个像素都会和真实数值做比较回传梯度。

U-Net和更复杂的退化都加大了训练的不稳定性。为缓解该问题,论文采用SN(spectral normalization)正则项约束判别器让其网络参数变动在一个范围内从而稳定判别器的训练。论文也发现,SN还有助于由gan产生的过锐和artifacts问题。通过这些设置,论文实现了局部细节增强和artifacts压制的一种平衡。这些设置包含了两方面:1. U-Net的结构;2. SN的约束。其实都是在说判别器更好的话生成器生成的结果更好。

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 4、训练方法

网络结构上采用ESRGAN相同的生成器(由RRDB模块构成),同时除了支持4倍超分还扩展到2倍和1倍超分。在x2和x1设置下,先采用pixel unshuffle来降低输入的空间尺度(扩大了通道数量)。将pixel unshuffle后的结果再送入ESRGAN网络中。这样可以减少GPU内存和计算机资源的消耗。

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

        1、仍然采用两个阶段训练方法:先用L1 loss监督训练一个PNSR-oriented模型,然后这个稳定后用作base模型训练带gan的模型,损失采用L1 loss+ perceptual loss + Gan loss。

        2、训练细节:HR尺寸为256,batch_size = 48,采用Adam。为了更快收敛,Real-ESRGAN是在ESRGAN上进行微调的。

        3、退化细节:采用二阶退化(也就是修改后的经典退化模型退化两次)。

        4、训练过程中sharpen GT:论文使用了一个trick,它对GT进行sharpen以使得label更加清晰,这个模型被称为Real-ESRTGAN+。实验确实表明了Real-ESRGAN+得到的结果更加sharpen。

5、实验结果

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 Real-ESRGAN缓解了其他算法的白边,但是Real-ESRGAN+的白边比不+的要明显

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 墙体更加整齐、规则

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 山和树木等更加真实

消融实验

说明了二阶退化、sinc filter的作用:

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 上图:包含和不包含二级降解过程的Real-ESRNet结果。下图:带和不带sinc过滤器的Real-ESRNet结果。放大以获得最佳视图

判别器:

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 鉴别器设计上的消融。放大以获得最佳视图

更多模糊核:(使用更多模糊核函数(广义模糊核函数和平台形核函数)进行消融)

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

 Limitations

 退化严重的混叠纹理难恢复;由gan产生的artifacts难约束;未知的和超出退化分布的图像难恢复。

real-esrgan,超分辨率,深度学习,生成对抗网络,GAN,超分辨率重建,人工智能

局限性:1)绞合线;2)由GAN训练引起的令人不愉快的伪影;3)未知和分布外退化


三、结论

在本文中,我们用纯合成的训练对来训练用于真实世界盲超分辨率的实用Real-ESRGAN,为了合成更实用的退化我们提出了一个高阶退化过程,并使用sinc滤波器来模拟常见的振铃和过冲伪影。我们还使用了一个具有频谱归一化正则化的U-Net鉴别器来提高鉴别器的能力并稳定训练动态。使用合成数据训练的ESRGAN能够增强细节,同时消除大多数真实世界图像的恼人伪影。文章来源地址https://www.toymoban.com/news/detail-840448.html

到了这里,关于Real-ESRGAN超分辨网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python - Real-ESRGAN 提升图像、视频清晰度 - 最高可达 4 K

    目录 一.引言 二.Real-ESRGAN 理论 1.模型简介 2.经典退化模型 ◆ 退化过程全览 ◆ K - 高斯滤波 ◆ N - 噪声 ◆ ↓r - Resize ◆ jpeg - 压缩 3.高阶退化模型 4.环形和超调伪影 5.网络结构 ◆ ESRGAN 生成器 ◆ U-Net 鉴别器 三.Real-ESRGAN 实战 1.快速体验 2.环境搭建 ◆ Package 安装 ◆ 预训练

    2024年02月04日
    浏览(27)
  • 来自腾讯AI实验室的Real-ESRGAN将模糊老照片和视频修复成高清晰(一些错误处理)

            Real-ESRGAN:Enhanced Super-Resolution GAN: 增强的超分辨率的对抗生成网络 ,对于GAN相信大家都比较熟悉,前有阿尔法狗,现有很多GAN的延伸版本,StyleGAN1~3系列以及DragGAN对于图片的生成和编辑,出来的效果都很惊艳。         一些旧照片,时代比较久远了,那个时候

    2024年02月08日
    浏览(49)
  • BiSeNet:用于实时语义分割的双边分割网络——BiSeNet:Bilateral Segmentation Network for Real-time Semantic Segmentation

            语义分割需要丰富的空间信息和较大的感受野。然而,现代的方法通常为了实现实时推断速度而牺牲空间分辨率,导致性能下降。本文提出了一种新的双边分割网络(BiSeNet)来解决这个问题。我们首先设计了一个具有小步长的空间路径来保留空间信息并生成高分

    2024年04月28日
    浏览(28)
  • 深度学习神经网络学习笔记-多模态方向-11-Deep Voice: Real-time Neural Text-to-Speech

    本文提出Deep Voice,一种完全由深度神经网络构建的生产质量文本到语音系统。Deep Voice为真正的端到端神经语音合成奠定了基础。该系统由五个主要的构建模块组成:用于定位音素边界的分割模型、字素到音素的转换模型、音素时长预测模型、基频预测模型和音频合成模型。对

    2024年02月06日
    浏览(35)
  • Matlab之对复数使用函数real和abs的区别

    用于 返回复数的实部 。它将返回一个和输入复数具有相同大小的数组,其中每个元素对应输入复数的实部。 例如,real(3+4i)将返回3。 ps:返回复数虚部使用函数imag。 用于返回 复数的绝对值(模) 。 它将返回一个和输入复数具有相同大小的数组,其中每个元素对应输入复数

    2024年01月24日
    浏览(19)
  • Elasticsearch 中的“近实时”(Near Real-time)全面解析

    Elasticsearch(ES)作为一款流行的分布式搜索引擎,以其近实时(Near Real-Time, NRT)特性著称。这种特性使得ES能够在数据写入后极短的时间内(通常在毫秒至秒级别)使其可被搜索到,虽然不是绝对意义上的实时,但对于大多数应用而言已经足够接近实时,从而满足了对快速响

    2024年04月25日
    浏览(24)
  • Why choose Flink for real-time processing

    Why choose Flink [1] Streaming data more truly reflects our lifestyle (real-time chat); [2] Traditional data architecture is based on limited data sets (Spark is based on micro-batch data processing); [3] Our goal: low latency, high throughput (distributed architecture, there may be confusion in the order, for example, within 1 hour of statistics, some data

    2024年03月20日
    浏览(40)
  • 【论文阅读】【yolo系列】YOLACT Real-time Instance Segmentation

    论文链接:https://arxiv.org/pdf/1904.02689.pdf 【 实例分割 】 鉴于其重要性,大量的研究投入到实例分割的准确性。 两阶段 :Mask-RCNN [18]是一种具有代表性的两阶段实例分割方法,它首先生成候选感兴趣区域(roi),然后在第二阶段对这些roi进行分类和分割。后续工作试图通过提

    2024年02月16日
    浏览(28)
  • DETRs Beat YOLOs on Real-time Object Detection

    DETRs在实时目标检测中击败YOLO 问题:DETR的高计算成本,实时检测效果有待提高 解决:提出了一个实时的目标检测器 具体来说,设计了一个高效的混合编码器,通过解耦尺度内的交互和跨尺度融合来有效处理多尺度特征,并提出IoU感知查询选择,通过提供更高质量的初始对象

    2024年02月09日
    浏览(27)
  • Real3D FlipBook jQuery Plugin 3.41 Crack

    Real3D FlipBook 和 PDF 查看器 jQuery 插件 - CodeCanyon 待售物品 实时预览 截图 视频预览 Real3D Flipbook jQuery 插件 - 1    Real3D Flipbook jQuery 插件 - 2    Real3D Flipbook jQuery 插件 - 3 新功能 – REAL3D FLIPBOOK JQUERY 插件的 PDF 到图像转换器 一款用于将 PDF 转换为图像和 JSON 的工具,用于创建带

    2024年02月08日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包