Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network 

2016.10.23

  摘要:本文针对传统超分辨方法中存在的结果过于平滑的问题,提出了结合最新的对抗网络的方法,得到了不错的效果。并且针对此网络结构,构建了自己的感知损失函数。先上一张图,展示下强大的结果:

  Contributions

  GANs 提供了强大的框架来产生高质量的 plausible-looking natural images。本文提供了一个 very deep ResNet architure,利用 GANs 的概念,来形成一个 perceptual loss function 来靠近 human perception 来做 photo-realistic SISR

  主要贡献在于:

  1. 对于 image SR 来说,我们取得了新的顶尖效果,降低 4倍的分辨率,衡量标准为:PSNR 和 structure similarity (SSIM)。具体的来说,我们首先采用 fast feature learning in LR space and batch-normalization 来进行训练残差网络。

  2. 提出了结合 content loss 和 adversarial loss 作为我们的 perceptual loss。

  Method

  首先是几个概念:

    super solved image $I_{SR}$: W * H * C ;   low-resolution input image $I_{LR}$: rW * rH * C ;   high-resolution image $I_{HR}$ : rW * rH * C.

  我们的终极目标是:训练一个产生式函数 G 能够预测给定的输入图像 LR input image 的 HR 部分。我们达到这个目的,我们训练一个 generator network 作为一个 feed-forward CNN $G_{\theta_{G}}$ 参数为 $\theta_{G}$ , 此处的 $\theta_{G} = {W_{1:L} ; b_{1:L}}$ 表示一个 L 层 deep network 的 weights 和 biases,并且是通过优化一个 SR-specific loss function $l^{SR}$ 得到的。对于一个给定的 训练图像 $I^{HR_{n}}$ ,n =  1,...,N 对应的低分辨率图像为:$I^{LR}_n$ ,我们优化下面这个问题:

  1. Adversarial Network Architecture 

  产生式对抗网络的训练学习目标是一个 minmax problem :

  作者也将图像超分辨看作是这么一个过程。通过 generator 产生一张超分辨图像,使得 discriminator 难以区分。

  上图就是本文所涉及的大致流程。

  

  2. Perceptual Loss Function 

  本文所设计的感知损失函数 是本文算法性能的保证。

    2.1. Content Loss 

    像素级 MSE Loss 的计算为:

    这个是最经常使用的优化目标。但是,这种方式当取得较高的 PSNR的同时,MSE 优化问题导致缺乏 high-frequency content,这就会使得结果太过于平滑(overly smooth solutions)。如图2 所示:

    我们对此做了改进,在 pre-trained 19-layer VGG network 的 ReLU activation layers 的基础上,定义了 VGG loss

    我们用 $\phi_{i,j}$ 表示 VGG19 network 当中,第 i-th max pooling layer 后的 第 j-th 卷积得到的 feature map。然后定义 the VGG loss 作为重构图像 和 参考图像之间的欧氏距离 :

    其中,$W_{i, j}$  and $H_{i, j}$ 表示了 VGG network 当中相应的 feature maps 的维度。

    

    2.2. Adversarial Loss 

    在所有训练样本上,基于判别器的概率定义 generative loss :

    此处,D 是重构图像是 natural HR image 的概率。

  

    2.3. Regulatization Loss 

    我们进一步的采用 基于 total variation 的正则化项 来鼓励 spatially coherent solutions。正则化损失的定义为:

  


  3. Experiments

     

  


  总结 :  本文给出了一种比较直观的利用 产生式对抗网络的方法,结合 GANs 的比较好的应用到 Super-Resolution 上。

      主要是利用了 GANs 可以创造新的图像的能力。

      

  

  

  

论文阅读之:Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network的更多相关文章

  1. 论文阅读:Single Image Dehazing via Conditional Generative Adversarial Network

    Single Image Dehazing via Conditional Generative Adversarial Network Runde Li∗ Jinshan Pan∗ Zechao L ...

  2. ASRWGAN: Wasserstein Generative Adversarial Network for Audio Super Resolution

    ASEGAN:WGAN音频超分辨率 这篇文章并不具有权威性,因为没有发表,说不定是外国的某个大学的毕业设计,或者课程结束后的作业.或者实验报告. CS230: Deep Learning, Sprin ...

  3. Speech Super Resolution Generative Adversarial Network

    博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/10874993.html 论文作者:Sefik Emre Eskimez , Kazuhito K ...

  4. Face Aging with Conditional Generative Adversarial Network 论文笔记

    Face Aging with Conditional Generative Adversarial Network 论文笔记 2017.02.28  Motivation: 本文是要根据最新的条件产 ...

  5. 【论文学习】A Fuzzy-Rule-Based Approach for Single Frame Super Resolution

    加尔各答印度统计研究所,作者: Pulak Purkait (pulak_r@isical.ac.in) 2013 年 代码:CodeForge.cn http://www.codeforge.cn/ ...

  6. 《MIDINET: A CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORK FOR SYMBOLIC-DOMAIN MUSIC GENERATION》论文阅读笔记

    出处 arXiv.org (引用量暂时只有3,too new)2017.7 SourceCode:https://github.com/RichardYang40148/MidiNet Abstrac ...

  7. CSAGAN:LinesToFacePhoto: Face Photo Generation from Lines with Conditional Self-Attention Generative Adversarial Network - 1 - 论文学习

    ABSTRACT 在本文中,我们探讨了从线条生成逼真的人脸图像的任务.先前的基于条件生成对抗网络(cGANs)的方法已经证明,当条件图像和输出图像共享对齐良好的结构时,它们能够生成视觉上可信的图像.然 ...

  8. 生成对抗网络(Generative Adversarial Network)阅读笔记

    笔记持续更新中,请大家耐心等待 首先需要大概了解什么是生成对抗网络,参考维基百科给出的定义(https://zh.wikipedia.org/wiki/生成对抗网络): 生成对抗网络(英语:Gener ...

  9. DeepPrivacy: A Generative Adversarial Network for Face Anonymization阅读笔记

    DeepPrivacy: A Generative Adversarial Network for Face Anonymization ISVC 2019 https://arxiv.org/pdf ...

随机推荐

  1. fifter常见的运用场景

    没配置过滤器 package servlet; import java.io.IOException; import javax.servlet.ServletException; import ja ...

  2. POM.xml 标签详解

    pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以 ...

  3. C++ do{...}while(0)的好处

    在开源软件里面经常可以看到这样的写法. #define X(a) do { f1(a); f2(a); } while(0) 1. 主要作用是放在宏定义里面,避免宏带来的语法问题. 比如 #defin ...

  4. Deep Learning 3_深度学习UFLDL教程:预处理之主成分分析与白化_总结(斯坦福大学深度学习教程)

    1PCA ①PCA的作用:一是降维:二是可用于数据可视化: 注意:降维的原因是因为原始数据太大,希望提高训练速度但又不希望产生很大的误差. ② PCA的使用场合:一是希望提高训练速度:二是内存太小:三 ...

  5. 【转】浅析python 中__name__ = '__main__' 的作用

    原文链接:http://www.jb51.net/article/51892.htm 举例说明解释的非常清楚,应该是看到的类似博文里面最简单的一篇: 这篇文章主要介绍了python 中__name__ ...

  6. javascript内置属性——arguments

    arguments是javascript中的内置属性,可以直接调用函数的参数,作用类似Array,但本身并不是数组.这次发现它是为了实现封装函数,将不确定数量的数字乘积.比如function mult ...

  7. 用JDBC访问MySQL

    /* 在数据库中创建一个Employee的类 create table Employee( id int primary key, name varchar(20), age int); */ imp ...

  8. MFC List Control 控件添加单元格编辑,实现可编辑重写

    在实现随机生成四则运算的个人项目中,目前已经完成基本功能,想要把程序变成一个Windows界面的程序.原本以为学习过MFC,应该很快就能完成.但是由于以前用的都是VC6.0,这次用了VS2010,稍微 ...

  9. 使用NodeJS、GruntCLI遇到的问题

    运行环境CMD NODEJS版本v0.8.4  node --version 需求:需要用到Grunt的JS编译功能,各位别笑我. 使用代理 npm config set proxy http://i ...

  10. SSM框架学习之高并发秒杀业务--笔记1-- 项目的创建和依赖

    在慕课网上看了Java高并发秒杀API视屏后,觉得这个案例真的让我学到了很多,现在重新自己实现一遍,博客记下,顺便分析其中的要点. 第一步是项目的创建和依赖 利用Maven去创建工程然后导入Idea中 ...