Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记

ECCV 2016

摘要: 许多经典问题可以看做是 图像转换问题(image transformation tasks)。本文所提出的方法来解决的图像转换问题,是以监督训练的方式,训练一个前向传播的网络,利用的就是图像像素级之间的误差。这种方法在测试的时候非常有效,因为仅仅需要一次前向传播即可。但是,像素级的误差 没有捕获 输出和 gt 图像之间的 感知区别(perceptual differences)。

  与此同时,最近的工作表明,高质量的图像可以通过 perceptual loss function 来生成,不依赖于像素之间的差别,而是 高层图像特征之间的差别。图像正是基于这种特征之间的 loss 进行训练的。这种方法可以产生高质量的图像,但是速度却很慢,因为需要解决一个优化问题。

  本文中,我们将两者的优势进行结合,训练一个前向传播的网络进行图像转换的任务,但是不用 pixel-level loss function,而采用 perceptual loss function。在训练的过程中,感知误差 衡量了图像之间的相似性,在测试的时候可以实时的进行转换。

网络的训练:

  网络主要由两个部分构成:一个是 image transformation network 一个是 loss network 用来定义 loss function。图像转换网络 是一个残差网络,它将输入图像转换为输出图像 y^。每个损失函数计算一个 scalar value 衡量输出图像和目标图像之间的不同。图像转换网络 是通过 SGD 进行训练的,利用加权的损失函数,如下所示:

  

  为了解决 per-pixel losses 的缺陷,并且允许我们的 loss function 可以更好的衡量 感知和语义的区别,我们从最近的通过优化来产生图像得到了启发。关键点在于:这些方法用到的网络已经是学习到编码感知和语义信息,这些网络都是在分类的数据集上进行训练后的。我们所以就用这些网络来固定的作为 loss network 来定义我们的损失函数。

  刚开始看那个流程图的时候,比较糊涂的是两个 target,$y_c$ 和 $y_s$ 。其实是这样子的:

  对于每一个图像 x ,我们有一个 content target $y_c$ 和 一个 style target $y_s$。

  

  对于 style transfer 来说,the content target $y_c$ 是输入图像 x,the output image y^ 应该 结合 the content x = $y_c$ 和 $y_s$ 的 style 。

  

  对于 超分辨来说,输入图像 x 是一个低分辨率的图像,the content target $y_c$ 是一个 gt 高分辨率的图像,style reconstruction loss 没有用到。对于一种超分辨的因子,我们就训练一种网络。


  实验结果:

  

Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记的更多相关文章

  1. 《Perceptual Losses for Real-Time Style Transfer and Super-Resolution》论文笔记

    参考 http://blog.csdn.net/u011534057/article/details/55052304 代码 https://github.com/yusuketomoto/chain ...

  2. (转) Supercharging Style Transfer

      Supercharging Style Transfer Wednesday, October 26, 2016 Posted by Vincent Dumoulin*, Jonathon Shl ...

  3. fast neural style transfer图像风格迁移基于tensorflow实现

    引自:深度学习实践:使用Tensorflow实现快速风格迁移 一.风格迁移简介 风格迁移(Style Transfer)是深度学习众多应用中非常有趣的一种,如图,我们可以使用这种方法把一张图片的风格“ ...

  4. 神经风格转换Neural Style Transfer a review

    原文:http://mp.weixin.qq.com/s/t_jknoYuyAM9fu6CI8OdNw 作者:Yongcheng Jing 等 机器之心编译 风格迁移是近来人工智能领域内的一个热门研究 ...

  5. Image Style Transfer:多风格 TensorFlow 实现

    ·其实这是一个选修课的present,整理一下作为一篇博客,希望对你有用.讲解风格迁移的博客蛮多的,我就不过多的赘述了.讲一点几个关键的地方吧,当然最后的代码和ppt也希望对你有用. 1.引入: 风格 ...

  6. 项目总结四:神经风格迁移项目(Art generation with Neural Style Transfer)

    1.项目介绍 神经风格转换 (NST) 是深部学习中最有趣的技术之一.它合并两个图像, 即 内容图像 C(content image) 和 样式图像S(style image), 以生成图像 G(ge ...

  7. DeepLearning.ai-Week4-Deep Learning & Art: Neural Style Transfer

    1 - Task Implement the neural style transfer algorithm Generate novel artistic images using your alg ...

  8. 课程四(Convolutional Neural Networks),第四 周(Special applications: Face recognition & Neural style transfer) —— 2.Programming assignments:Art generation with Neural Style Transfer

    Deep Learning & Art: Neural Style Transfer Welcome to the second assignment of this week. In thi ...

  9. Art: Neural Style Transfer

    Andrew Ng deeplearning courese-4:Convolutional Neural Network Convolutional Neural Networks: Step by ...

随机推荐

  1. uvalive 11865 Stream My Contest

    题意: 有一个网络中心,和许多个城市,网络中心以及城市之间有若干条边,这些边有两个属性,最大带宽和修建费用. 现在要用最多不超过C的费用修建网络,使得每个城市都有网络连接,最大化最小带宽. 带宽限制是 ...

  2. Python学习记录之(五)-----类进阶篇

    静态方法 类方法 属性方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调 ...

  3. ArrayList 底层实现原理

    ArrayList的底层实现原理 1, 属性:private static final int DEFAULT_CAPACITY = 10; private static final Object [ ...

  4. curl 命令简介

    curl命令用于在命令行中发送HTTP请求: curl -i -H 'content-type: application/json' -X POST -d '{"name":&qu ...

  5. MapReduce的map个数调节 与 Hadoop的FileInputFormat的任务切分原理

    在对日志等大表数据进行处理的时候需要人为地设置任务的map数,防止因map数过小导致集群资源被耗光.可根据大表的数据量大小设置每个split的大小. 例如设置每个split为500M: set map ...

  6. android搜索框列表布局,流程及主要步骤思维导图

    android搜索框列表布局,流程及主要步骤思维导图 android搜索框列表布局,流程及主要步骤思维导图 activity_coin_search.xml----------<com.scwa ...

  7. java实现 HTTP/HTTPS请求绕过证书检测代码实现

    java实现 HTTP/HTTPS请求绕过证书检测代码实现 1.开发需求 需要实现在服务端发起HTTP/HTTPS请求,访问其他程序资源. 2.URLConnection和HTTPClient的比较 ...

  8. java连接oracle数据库使用SERVICE NAME、SID以及TNSName不同写法

    格式一: 使用ServiceName方式: jdbc:oracle:thin:@//<host>:<port>/<service_name> 例 jdbc:orac ...

  9. 纯js实现移动端滑动控件,以上下滑动自取中间位置年龄为例;

    <!-- 需求:上下滑动,在一个大的div块里显示5个小的值,滑动过程中自动获取中间位置的值 需要注意的是: 1 touchmove会多次被触发: 2 获取中间位置的值可以通过定位得top值来获 ...

  10. 论文翻译——Rapid 2D-to-3D conversion——快速2D到3D转换

    https://blog.csdn.net/qq_33445835/article/details/80143598  目前想做一个关于2D转3D的项目,由于国内资料比较少而且大部分都是基于国外的研究 ...