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. addEventListener()与removeEventListener(),追加事件和删除追加事件

    addEventListener()与removeEventListener()用于追加事件和删除追加.所有的DOM节点中都包含这两种方法,并且它们都接受3个参数:要处理的事件名.作为事件处理程序的函 ...

  2. 一篇文章彻底弄懂Base64编码原理(转载)

    在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理又了解多少?今天这篇博文带领大家了解一下Base64的底层实现. Base64的由来 目前Base64已经成为网 ...

  3. React中的setState(obj)

    1.setState(obj)  只能浅merge obj,对于复杂对象结构的不行 比如:  this.state = {   data:{  idx:1 }   }   this.setState( ...

  4. python的迭代器、生成器、三元运算、列表解析、生成器表达式

    一 迭代的概念 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前 ...

  5. php && 运算符使用说明

    “&&” 运算符的用法: ;;echo $test;//输出:000

  6. 在centos里安装Nginx

    (1)下载Nginx的RPM包 wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx ...

  7. Java String 字符串截取和获取文件的上级目录

    public String test() { String root = ServletActionContext.getServletContext().getRealPath("/&qu ...

  8. selenium+xpath获取href的坑

    先上HTML文档 <html> <body> <a href="http://www.example.com">Example</a> ...

  9. [剑指offer] 8+9. 跳台阶+变态跳台阶 (递归 时间复杂度)

    跳台阶是斐波那契数列的一个典型应用,其思路如下: # -*- coding:utf-8 -*- class Solution: def __init__(self): self.value=[0]*5 ...

  10. Mybatis 中 foreach collection 的三种用法

    foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有 item,index,collection,open,separator,close. ...