Improved Textured Networks: Maximizing quality and diversity in Feed-Forward Stylization and Texture Synthesis

https://arxiv.org/abs/1701.02096v1

本文最主要的贡献有两点: 1. 引入instance normalization 代替 batch normalization 2. 通过使得生产器从Julesz ensemble无偏采样来增加texture 的多样性.

一、背景知识

texture synthesis中generator目标是:

将 I.I.d. noise  vector $z~N(0,I) 映射成 图像x, x = g(z)$, 记 生成图像x分布为$q(x)$, 真实目标texture 的分布为p(x); 那么生成器的目标应该是使得q(x)无限逼近p(x).

这里有一个问题:在训练generator的过程中我们的目标函数:p(x)没有一个具体的形式. 

二、uniformly sample the Julesz ensemble:

1. Julesz 的发现: 

视觉系统通过不同 image filters 的 average response 来区分不同的texture.

2. 什么是Julesz ensemble?

定义:

设$x$为image, $ x: \Omega \rightarrow R^3 $, \Omega = {1,...,H} x {1,...W} $.

设$ F_l $为滤波器, $F_l: \chi x \Omega \rightarrow  R, l = 1,...,L, F_l(x,u)表示F_l在图像x,u$处的响应.

Loss function定义为: $L(x) = \sum_{l=1}^{L}(\mu_l(x) - \hat{\mu}_l)^2$.

对于图像x. Julesz ensemble是满足 $\tau_{\epsilon} = \left\{ x \in \chi: L(x) \leq \epsilon \right\}$的x的集合.

Julesz ensemble 的分布为: $p(x) = \frac{e^{-L(x)/T}}{\int e^{-L(y)/T}dy} $.

这使得$p(x)$具有具体的分布形式.

3. KL散度(Kullback-Leibler divergence):用来衡量两个概率分布之间的偏离度记作:$D_{KL}(P||Q)$在实际应用中P常代表数据真实分布,Q代表理论模型对P分布的近似. 可以通过最小化KL散度来使得Q逼近P.

对于连续变量:

$$D_{KL}(P||Q) = \int_{-\infty}^{\infty} p(x) log \frac{p(x)}{q(x)} dx$$

对于离散变量

$$D_{KL}(P||Q) = \sum_i p(i) log \frac{P(i)}{Q(i)} .$$

三、instance normalization/constract normalization

batch normalization: 全局

instance normaliztion: 局部

【Paper Reading】Improved Textured Networks: Maximizing quality and diversity in Feed-Forward Stylization and Texture Synthesis的更多相关文章

  1. 【Paper Reading】Deep Supervised Hashing for fast Image Retrieval

    what has been done: This paper proposed a novel Deep Supervised Hashing method to learn a compact si ...

  2. 【Paper Reading】Learning while Reading

    Learning while Reading 不限于具体的书,只限于知识的宽度 这个系列集合了一周所学所看的精华,它们往往来自不只一本书 我们之所以将自然界分类,组织成各种概念,并按其分类,主要是因为 ...

  3. 【Paper Reading】Object Recognition from Scale-Invariant Features

    Paper: Object Recognition from Scale-Invariant Features Sorce: http://www.cs.ubc.ca/~lowe/papers/icc ...

  4. 【Paper Reading】Bayesian Face Sketch Synthesis

    Contribution: 1) Systematic interpretation to existing face sketch synthesis methods. 2) Bayesian fa ...

  5. 【Semantic Segmentation】U-Net: Convolutional Networks for Biomedical Image Segmentation 论文解析(转)

    目录 0. 前言 1. 第一篇 2. 第二篇 3. 第三篇keras实现 4. 一篇关于U-Net的改进 0. 前言   今天读了U-Net觉得很不错,同时网上很多很好很详细的讲解,因此就不再自己写一 ...

  6. Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

    Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 20 ...

  7. Paper Reading - Long-term Recurrent Convolutional Networks for Visual Recognition and Description ( CVPR 2015 )

    Link of the Paper: https://arxiv.org/abs/1411.4389 Main Points: A novel Recurrent Convolutional Arch ...

  8. 【文献阅读】Self-Normalizing Neural Networks

    Self-Normalizing Neural Networks ,长达93页的附录足以成为吸睛的地方(给人感觉很厉害), 此paper提出了新的激活函数,称之为 SELUs ,其具有normaliz ...

  9. 【论文笔记】Progressive Neural Networks 渐进式神经网络

    Progressive NN Progressive NN是第一篇我看到的deepmind做这个问题的.思路就是说我不能忘记第一个任务的网络,同时又能使用第一个任务的网络来做第二个任务. 为了不忘记之 ...

随机推荐

  1. nginx学习地址

    http://www.cnblogs.com/magicsoar/p/5817734.html

  2. node——Commonjs

    ECMA只规范了js最近的一些能力,并没有规范当要用js写一个庞大的项目如果使用模块化开发. CommonJS规范了当我们想开发大型程序的时候如何模块化来开发,以及模块化的时候,不同文件的通讯. Co ...

  3. PAT 天梯赛练习集 L2-022. 重排链表

    题目链接:https://www.patest.cn/contests/gplt/L2-022 给定一个单链表 L1→L2→...→Ln-1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln-1→L ...

  4. PHP SOAP 使用示例

    soap_client.php <?php try { $client = new SoapClient( null, array('location' =>"http://lo ...

  5. linux下安装Tomcat和java jdk

    1:上传jdk的gz文件到linux’系统 2:解压缩这个文件 tar –zxvf  文件名.tar.gz –C  指定目录 比如我这里解压到 /root/apps/jdk tar –zxvf  jd ...

  6. [luogu] P2569 [SCOI2010]股票交易 (单调队列优化)

    P2569 [SCOI2010]股票交易 题目描述 最近 \(\text{lxhgww}\) 又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,\(\te ...

  7. [WPF] 圆形等待效果

    原文:[WPF] 圆形等待效果 自己做着玩儿的,留着以后用,效果类似下面的 GIF 动画. <Grid Width="35" Height="35"> ...

  8. js数字转换为float,取N个小数

    javascript中的变量都是弱类型,所有的变量都声明为var,在类型转换过程中就没有java那么方便,它是通过 parseInt(变量).parseFloat(变量)等方法来进行类型转换的.注意: ...

  9. ASP.NET-Active Direcotry编程示例

    查找指定的AD帐号 using (DirectoryEntry de = new DirectoryEntry("LDAP://RootDSE")) { string DCName ...

  10. C#-GC基础(待补充)

    Finalize方法与Dispose方法区别 1. Finalize只释放非托管资源: 2. Dispose释放托管和非托管资源: // D 是神的天敌3. 重复调用Finalize和Dispose是 ...