Abstract

尽管我们已经利用更快更深的卷积神经网络(CNN)突破了单一图像超分辨率的速度和精度,但有一个中心问题仍没有完美解决:当对放大很多倍的图像进行超分辨率时,我们该如何更好的恢复图像的纹理细节? 
以最优化思想为基础的超分辨率方法主要受到目标函数的驱使,最近的一些相关项目均以最小化平均方差重建误差为目标,这样得到的结果有很大的信噪比,但是往往图像会缺失高频细节并且视觉效果很差。 
因此,作者提出了SRGAN,这是第一个对放大四倍自然图像做超分辨率的框架。为了实现这个框架,作者提出了由adversarial loss和content loss组成的perceputal loss function。adversarial loss由判别器生成,使我们生成的图像更加接近自然图像。content loss由图像的视觉相似性生成,而不是像素空间的相似性。并且本文的深度残差网络可以从深度降采样的图像恢复逼真的纹理。作者采用mean-opinion-score(MOS)测试作为图像效果的评判,最后的测试结果表明采用SRGAN获得的图像的MOS值比采用其他顶级的方法获得的图像的MOS值更加接近原始的高分辨图像。

Introduction

超分辨率(SR)指的是由低分辨(LR)图像生成高分辨(HR)图像的技术,SR受到计算机视觉领域的持续关注并且已经有了广泛的应用。 
目前被大多人采用的以最优化目标函数为基础的监督SR算法存在缺失图像高频纹理细节的问题,使生成的图像很模糊。这种算法大多以均方误差(MSE)为目标函数进行优化,在减小均方误差的同时又可以增大信噪比(PSNR)。但是MSE和PSNR值的高低并不能很好的表示视觉效果的好坏。正如在下面图片表现出的,PSNR最高并不能反映SR效果最好。 
 
因此,作者提出以深度残差网络(ResNet)作为生成器的生成对抗网络,与以往不同的是,ResNet的优化目标不止MSE,还有VGG网络与判别器构成的perceptual loss.

Contribution

  • 建立了以PSNR和结构相似性(structural similarty,SSIM)为评判标准的SRResNet来对放大4倍的图像做超分辨率。
  • 提出的SRGAN以perceptual loss为优化目标,我们用VGG网络特征图谱的损失函数取代了以MSE为基础的content loss
  • 我们对生成的图片进行MOS测试。

Method

在训练SRGAN网络的过程中需要提供HR图片,作者首先对HR图片进行降采样得到LR图片,然后将LR图片输入,训练生成器,使之生成对应的HR图片。训练生成器的过程与训练前馈CNN一样,都是对网络参数θG进行优化,如下所示: 
 
需要注意的是在这里用的是perceptual loss—lSR 
进一步,作者定义了判别器DθG,如同跟Following Goodfellow提出的GAN网络一样,生成器和判别器交替优化下面这个式子: 

网络结构如图所示

perceptual loss function

perceptual loss的定义对于生成器的表演十分关键,通过对content loss和adversarial loss分别赋予权重,得到下式: 

  1. Content loss 
    大部分用来做图像超分辨率的算法都用MSE作为损失函数来进行优化,可以得到很高的信噪比,但是这样的方式产生的图像存在高频细节缺失的问题。 
     
    因此,作者定义了以预训练19层VGG网络的ReLU激活层为基础的VGG loss: 
     
    ϕi,j表示VGG19网络当中第i层maxpooling层后的第j个卷积层得到的特征图谱。 
    Wi,j和Hi,j分别表示VGG网络中特征图谱的维度。

  2. Adversarial loss 
    作者将GAN中生成器对perpetual loss的影响通过adversarial loss体现出来。这一部分损失函数使我们的网络通过“欺骗”判别器从而偏向生成输出更接近自然图像的输出。 
     
    这里,DθG(GθG(ILR))表示的是判别器将生成器生成的图像GθG(ILR)判定为自然图像的概率。

Experiment

  1. MOS平均意见得分 
     
    这里表现的人眼对于图像效果的评价

  2. final networks 

《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》阅读笔记相关推荐

  1. trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer

    一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...

  2. VoxelNet阅读笔记

    作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记

  3. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  4. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  5. Mina源码阅读笔记(一)-整体解读

    2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...

  6. “CoreCLR is now Open Source”阅读笔记

    英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...

  7. QCon 2015 阅读笔记 - 团队建设

    QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...

  8. 05《软件需求模式》阅读笔记

    剩下的两个阅读笔记写第二部分.各类需求模式,共八个领域和它的需求模式,这一次写前四个. 基础需求模式,它是所有种类的系统都可能需要的一些东西.系统间接口需求模式使用系统间接口需求模式定义被定义的系统和 ...

  9. [置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

  10. 大型网站技术架构:核心原理与案例分析阅读笔记二

    大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...

最新文章

  1. 基础练习 杨辉三角形
  2. 18个最新的极简主义风格网站
  3. 图形变换动画的小Demo
  4. vb excel遍历列_EXCEL如何把多个表格合并成一个表格
  5. 用C语言编写贪吃蛇项目描述,刚学C语言,想写一个贪吃蛇的代码
  6. Android仿网易新闻导航栏PagerSlidingTabStrip
  7. Fortinet SD-Branch保障医疗服务机构安全组网
  8. 统计学习方法-李航(4)
  9. C语言第七次作业---要死了----
  10. 加拿大第二大行TD Bank是如何践行科技战略的?
  11. 【sklearn第十四讲】决策树之分类篇
  12. 天禾云盘【Fly.Box】2.4.0发布,含Android、IOS客户端
  13. LODOP打印分页出现空白页
  14. Pytorch扫盲 - 安装、训练、测试、可视化、网络结构、finetune、loss
  15. Go面向对象---音乐库案例
  16. 常用的PHP加密方式
  17. OPPO VIVO等多平台官方远程真机测试平台
  18. oracle grid infrastructure 安装,安装Oracle Grid Infrastructure for a Standalone Server
  19. Dubbo - Dubbo的SPI机制
  20. 咸鱼前端—CSS高级技巧

热门文章

  1. 使用VC来操作Excel表格的源码
  2. c位边上还有什么位_站c位是什么位置?众女星合影惠英红C位童瑶站边角,惠英红为何能站C位?...
  3. python创建数据集_使用Python从图像创建数据集以进行人脸识别
  4. iOS 修改网络图片的大小 宽和高
  5. OkHttpClient源码分析(一)—— 同步、异步请求分析和Dispatcher的任务调度
  6. 《从零开始学Swift》学习笔记(Day 52)——Cocoa错误处理模式
  7. 功能强大的 C++ redis 客户端库增加至 acl 项目中
  8. RedHat 7.0 Chrome浏览器 安装
  9. Appium官网Introduction
  10. 2012年 浙工大考研计算机专业课试题C++(学硕)