AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读

1. Introduction

在这篇文章中,作者提出了一种简单但是有效的方用来首次实现任意样式的实时风格转换,方法的核心是加入了一个adaptive instance normalization (AdaIN) layer,AdaIN层是对内容图进行归一化,这里是通过对齐内容图的每通道的feature map的均值和方差来匹配风格图每通道feature map的均值和方差。

2. 整体思路

文章大体沿用之前风格迁移的思想,损失函数的定义依旧使用内容损失和风格损失。其中风格网络设计较之前有些复杂,但是只使用了前向网络,速度反而加快了,整体计算变得更加简单。
AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读_第1张图片

风格网络使用encode-decode和AdaIN层组成。其中encode-decode是使用对称的VGG -19网络。
1、Encoder 部分是采用预训练好的VGG网络,只使用到了Relu4_1部分,将风格和内容图的图像都从图像空间转到特征空间。
2、AdaIN层是对内容图进行归一化,这里是通过对齐内容图的每通道的feature map的均值和方差来匹配风格图每通道feature map的均值和方差。在不同层进行AdaIN测试(relu2_1、relu3_1、relu4_1)。在越高的层数上使用AdaIN风格化越明显,层数越低效果也越不明显。
在这里插入图片描述
3、Decoder部分是一个将feature空间转成图像空间的网络,这部分网络一般是采用和encoder对称的网络结构,整个网络中需要训练的就是这部分网络的权重参数信息,初始可以随机一些初始化参数,通过梯度下降可以不断进行更新参数以使整个损耗函数比较小、网络逐渐收敛。池化层一般是替换成采用最近邻上采样的方式来防止棋盘效应,在encoder 和 decoder部分的padding一般都是采用反射填充避免边界artifacts。decoder中没有使用归一化层,因为IN/BN这些实例归一化和批归一化都是针对单个风格的。。生成有了风格的图片T(c,s)
在这里插入图片描述

最终生成图片的函数(不同α下的生成图片可见下图):
AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读_第2张图片

3. 优化点:Adaptive Instance Normalization(AdaIN)

(1)回顾IN与CIN

csdn里有一篇文章对这几种标准化画了直观的图有助于理解AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读_第3张图片

Instance Normailization
假设输入图像的4D tensor 为:x∈R N×C×H×W ,IN会将每个通道的feature map的均值和标准差进行归一化:
AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读_第4张图片
其中γ ,β是可学习的仿射参数;μ(x)、σ(x)分别表示均值和标准差,在空间维度上计算得到,独立于通道和批次。
AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读_第5张图片
Conditional Instance Normalization
IN是学习一个单一的仿射参数集(γ和β )而CIN则是为每一种风格都学习一个仿射参数集(γ s 和βs):
AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读_第6张图片
在生成网络中应用CIN层,使用相同的卷积层参数和不同的IN层仿射参数便可以生成不同风格的图像。
但这种方法存在一个弊端,每一对仿射参数(γ和β)对应一层feature map,一种风格则需要2F个参数,F表示整个网络中的feature map总数。因为仿射参数量和风格数成线性关系,这种方法开销较大,很难扩展出大量的风格。

(2)AdaIN

与上述方法不同,AdaIN中没有可学习的仿射参数,即仿射参数不是通过学习得到。AdaIN接收两个信息源:内容输入x 和风格输入y,将 x 的通道级(channel-wise)均值和标准差匹配到 y 的通道级均值和标准差上:
AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读_第7张图片
简单地来讲,AdaIN在feature map层面上通过改变特征的数据分布来实现风格迁移,计算开销和存储开销都较小,且易实现。

4. 总结

AdaIN是在feature map层面上改变数据分布,可以通过控制改变AdaIN层中的仿射参数来实现风格迁移的效果。因为AdaIN层与BN、IN类似,都是在网络内部改变feature map的分布,所以可以把风格迁移的任务交给AdaIN,在网络结构上实现其他的任务。
【adain的仿射参数就是风格图的均值和方差,均值和方差控制一个图像的风格,目标风格的均值方差套上去就行】

什么时候自己真真感受到大佬写的论文的厉害之处之时,大概也就是我入门之时吧

你可能感兴趣的:(papers,论文阅读,深度学习,神经网络,GAN)