论文标题:Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data

论文地址:https://arxiv.org/abs/2107.10833v2

作者代码:https://github.com/xinntao/Real-ESRGAN


原文概述

在单张图片超分辨率(Single Image Super-resolution)的问题中,许多方法都采用传统的 Bicubic 方法实现降采样,但是这与现实世界的降采样情况不同,太过单一。

盲超分辨率(Blind Super-resolution)旨在恢复未知且复杂的退化的低分辨率图像。根据其使用的降采样方式不同,可以分为显式建模(explicit modeling)和隐式建模(implicit modeling)。

  • 显式建模:经典的退化模型由模糊、降采样、噪声和 JPEG 压缩组成。但是现实世界的降采样模型过于复杂,仅通过这几个方式的简单组合无法达到理想的效果。

  • 隐式建模:依赖于学习数据分布和采用 GAN 来学习退化模型,但是这种方法受限于数据集,无法很好的泛化到数据集之外分布的图像。

在现实世界中,图像分辨率的退化通常是由多种不同的退化复杂组合而成的。

例如,当我们使用手机拍照时,照片可能会发生多种退化,比如相机模糊、传感器噪声、锐化伪影和 JPEG 压缩。然后,我们进行一些编辑,并上传到一个社交媒体程序,这将引入进一步的压缩并增加未知的噪声。当图像在互联网上被多次分享时,上述过程会变得更加复杂。

因此,作者将经典的一阶退化模型(“first-order” degradation model)拓展现实世界的高阶退化建模(“high-order” degradation modeling),即利用多个重复的退化过程建模,每一个退化过程都是一个经典的退化模型。但是为了平衡简单性和有效性,作者在代码中实际采用的是二阶退化模型(“second-order” degradation model)。

但是因为采用了高阶退化模型,使得退化空间相比于 ESRGAN 来说大得多,训练也就更加具有挑战性。因此作者在 ESTGAN 的基础上做了两个改动:1)使用 U-Net 判别器替换 ESRGAN 中使用的 VGG 判别器;2)引入 spectral normalization 来使得训练更加稳定,并减少 artifacts。

综上所述,在这篇文章中作者做出了如下研究,1)提出使用高阶退化模型,并利用 sinc 滤波器来建模常见的振铃(ringing)和超调效应(overshoot artifacts)。2)采用了一些基本的修改(例如,带 spectral normalization 的 U-Net 判别器)来增加判别器的能力和训练稳定性。3)使用纯合成数据训练的 Real-ESRGAN 能够恢复大部分真实世界的图像,比以往的作品具有更好的视觉性能,在现实世界中更具有实用性。

经典退化模型(Classical Degradation Model)

其中,yyy 表示原始图像,kkk 表示模糊函数,↓r\downarrow_r↓r​ 表示下采样因子,nnn 表示噪声, []JPEG[]_{JPEG}[]JPEG​表示将得到的结果使用 JPEG 方式压缩处理。

因此,整个式子的含义就是将一张高分辨率图像 yyy 通过模糊处理之后进行下采样,然后添加噪声,最后通过 JPEG 压缩处理得到低分辨率图像 xxx。

高阶退化模型(High-order Degradation Model)

高阶退化模型是在一阶退化模型的基础上,重复多次得到,但是每一次退化过程中使用的参数都不尽相同。比如 Blur 这个操作可以选用多种核函数间的一个,每一个取得的概率不同。作者在代码中实际采用的是二阶退化模型。

网络结构

Generator:采用 ESRGAN 中的 Generator,即使用 Residual-in-residul Dense Block(RRDB)。

Discriminator:使用有 spectral normalization(SN) 的 U-Net。使用 SN 是为了稳定训练过程,并且使用 SN 有助于缓和 oversharp 和 artifacts。

训练方法

1)预训练一个以 PSNR 为目标的模型,并采用 L1 loss,得到 Real-ESRNet

2)用 Real-ESRNet 初始化 Real-ESRGAN 中的 Generator,然后训练 Real-ESRGAN,采用 L1 loss、perceptual loss 和 GAN loss 三种组合的 loss。

实验效果

【论文精读系列】Real-ESRGAN相关推荐

  1. 李沐论文精读系列四:CLIP和改进工作串讲(LSeg、GroupViT、VLiD、 GLIPv1、 GLIPv2、CLIPasso)

    文章目录 一.CLIP 1.1 简介 1.1.1 前言 1.1.2 模型结构 1.1.3 模型效果 1.1.3.1 对自然分布偏移的鲁棒性 1.1.3.2 StyleCLIP 1.1.3.3 CLIP ...

  2. 【推荐系统论文精读系列】(八)--Deep Crossing:Web-Scale Modeling without Manually Crafted Combinatorial Features

    文章目录 一.摘要 二.介绍 三.相关工作 四.搜索广告 五.特征表示 5.1 独立特征 5.2 组合特征 六.模型架构 6.1 Embedding层 6.2 Stacking层 6.3 Residu ...

  3. 李沐论文精读系列五:DALL·E2(生成模型串讲,从GANs、VE/VAE/VQ-VAE/DALL·E到扩散模型DDPM/ADM)

    文章目录 一. 前言 1.1 DALL·E简介 1.2 DALL·E2简介 1.3 文生图模型进展 二. 引言 2.1 摘要 2.2 引言&模型结构 三. 算法铺垫 3.1 GANs 3.2 ...

  4. 【推荐系统论文精读系列】(一)--Amazon.com Recommendations

    文章目录 一.摘要 二.推荐算法 三.传统协同过滤 四.聚类模型 五.基于搜索方式 六.基于物品的协同过滤 七.怎样工作? 八.可扩展性 九.总结 References 论文名称:Amazon.com ...

  5. 【推荐系统论文精读系列】(二)--Factorization Machines

    文章目录 一.摘要 二.介绍 三.稀疏性下预测 四.分解机(FM) A. Factorization Machine Model B. Factorization Machines as Predic ...

  6. 【推荐系统论文精读系列】(五)--Neural Collaborative Filtering

    文章目录 一.摘要 二.介绍 三.准备知识 3.1 从隐式数据中进行学习 3.2 矩阵分解 四.神经协同过滤 4.1 总体框架 4.1.1 学习NCF 4.2 广义矩阵分解(GMF) 4.3 多层感知 ...

  7. 李沐论文精读系列一: ResNet、Transformer、GAN、BERT

    文章目录 一. ResNet 1.0 摘要,论文导读 1.1 导论 1.1.1 为什么提出残差结构? 1.1.2 实验验证 1.2 相关工作 1.3 实验部分 1.3.1 不同配置的ResNet结构 ...

  8. SLAM论文精读系列:(第二篇)通过Wi-Fi传感增强视觉SLAM的室内应用

    本篇博文由 南湖游子 原创,转载请注明出处! 文献来源: Zakieh H, Charuvahan A, Anand B, et al. Augmenting visual SLAM with Wi- ...

  9. 可视化论文精读系列:Relaxed Dot Plots

    论文题目:<Relaxed Dot Plots: Faithful Visualization of Samples and Their Distribution> 论文作者:Nils R ...

最新文章

  1. 中级统计师基础知识中计算机,2009年全国中级统计专业技术资格考试大纲
  2. linux shell 日期比较大小,在Shell中使用日期运算和比较详解
  3. vue项目搜索历史功能的实现
  4. 华为平板能运行python吗_我是如何使用华为平板的
  5. 反向传播与梯度下降概念
  6. 存储相关知识-DAS/SAN/NAS
  7. NLTK在python中文字所表达的情感预测
  8. sql server小知识
  9. Quartz-第二篇 使用quartz框架定时推送邮件
  10. 不要老盯着存储,存储的价值在于数据流:Filenet
  11. 【JavaScript】 数组 重要方法详解篇(一)
  12. rn源码ios_携程开源RN开发框架CRN
  13. Redis的客户端Jedis
  14. jquery在线扫雷
  15. 程序设计方法学-python
  16. spoolsv.exe重启脚本-(spoolsv错误处理)
  17. 田中耕一:一个奇怪的诺贝尔奖获得者
  18. 尝试用python解概率题,并祝大小朋友儿童节快乐
  19. ORCAD CAPTURE 软件自带元件库介绍
  20. python爬虫天气

热门文章

  1. Android 设备管理概览-DevicePolicyManager
  2. python程序设计基础试题及答案_智慧职教2020Python程序设计基础试题及答案
  3. 为什么要用babylonJS
  4. UCHome安装中遇到的问题
  5. 带后台的IM即时通讯App 全程MVP手把手打造总结
  6. Python爬取4K图片
  7. 汇编语言学习和常见错误(个人总结)
  8. java中的++与--运算符
  9. 【转载】浅谈米之思想
  10. 知识小科普,电苍蝇拍的工作原理,如何将3V电压升到上千伏