style transfer/domain adaption简介

Posted 爆米花好美啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了style transfer/domain adaption简介相关的知识,希望对你有一定的参考价值。

style transfer和domain adaption还是有很多相似之处的,本文挑选几篇文章进行简略介绍

Texture Synthesis Using Convolutional Neural Networks

从噪音开始合成纹理,用L2约束合成图与目标图的gram矩阵,通过梯度反传一步一步合成纹理。

Image Style Transfer Using Convolutional Neural Networks 16年cvpr

和A neural algorithm of artistic style. 15年8月一样的吧

利用DNN进行style transfer的开篇之作,也是上一篇Texture Synthesis的扩展,Texture Synthesis只有style(纹理),这一篇再加上content。
做法:送入一张噪音图片,然后通过content和style loss约束,梯度下降更改输入使其content和内容图片一致,style和样式图片一致。

缺点:每次生成图片,都要经历这样一个训练过程,太慢了

Perceptual Losses for Real-Time Style Transfer and Super-Resolution

融合两派好处

  1. 做超分那一派,图像生成问题(Feed-forward image transformation),原图-》增强图,后面有pixel loss监督
  2. style transfer这一派,用perceptual loss但是当成了优化问题,速度慢

前向图像生成且用perceptual loss,速度快效果好,消除了上一篇那种看成优化问题每次都要重新训练的缺点。

Texture Networks: Feed-forward Synthesis of Textures and Stylized Images

与上一篇异曲同工,都是用生成的方式来做风格化

Ada BN

Adaptive Batch Normalization for practical domain
本文有个假设:
We hypothesize that the label related knowledge is stored in the weight matrix of each layer, whereas domain related knowledge is represented by the statistics of the BN.
翻译就是:标注知识存储在学习好的各层参数中,而各个域的特性是由各层参数的统计量里如BN的统计量。
正常的BN是每个batch减自己batch的均值除自己batch的方差,然后再维护一个running mean和running var用于test时用。即训练时每个batch只管自己,而test的mean var是融合了整个数据库的。
Adaptive BN是在源域上正常用BN训练,但是在目标域test前,需要先将已有的所有目标域图片送入网络进行一次前传,统计出一个running mean和running var,然后将这个mean和var用于目标域的test

Ada IN

Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
本文做法很简单:
AdaIN simply adjusts the mean and variance of the content input to match those of the style input. 换句话就是我们只需要把content图像在encoder后输出的均值和方差归一到style图像就行。(我还做了一点小实验,随意扰动mean var的顺序(本来是按channel算好的),可以得到不同的transfer结果,从结果中可以看到扰动mean影响大扰动var影响小,mean更多地代表着风格,而var则是细节的一些变化)

AutoDIAL

AutoDIAL: Automatic DomaIn Alignment Layers
adabn没有见过target 图片,target不能参与训练
AutoDIAL:训练时送入source和target,然后分别统计source和target的mean和std,更新时用
两者有个alpha融合,然后source利用label进行监督更新网络,target不能学习但是照样跟着更新bn的参数。
test时,只有target了,bn就用训练时统计的参数


以上是关于style transfer/domain adaption简介的主要内容,如果未能解决你的问题,请参考以下文章

Ada 和 Python 之间的 TCP 套接字

从 Ada 调用 scanf

Ada -- 啥是模块化类型

CLIPS 的 Ada 包装器

由于复制粘贴而使用啥工具来查找重复的 Ada 代码

图像处理和机器学习中的 Ada 状态 [关闭]