Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文理解


      在这之前只有Fast Patch-based Style Transfer of Arbitrary Style这篇论文是实现任意风格的,然而这篇论文的实现效果并不是很好,处理的结果很像是两张图融合的效果,风格信息保留的不算多,风格特征不明显;另一个很重要的问题是速度比较慢,由于这篇论文的网络核心部分是一个style swap layer,即在这一层,对content的feature maps的每一块使用最接近的style feature 来替换。


      除此之外没有实现任意风格的论文,只有一篇多风格的论文A Learned Representation for Artistic Style,可以最多支持32种风格的。


      这篇论文实现了图像的任意风格转换,同时兼顾了风格灵活性以及计算效率的问题。可以支持任意风格转换,同时也有一个生成网络,生成风格图像的速度比Fast Patch-based Style Transfer of Arbitrary Style这篇论文的速度快1~2个数量级。



创新点:

      支持使用一个前向网络来实现任意的风格转换,同时还保证的效率,能达到实时的效果。


BN

归一化一批样例以一个单一风格为中心。

对一批样例进行计算每通道的均值和方差。

BNlayers在训练和测试时采用的是不同的数据集,训练时是采用小批数据。


IN

每个样例以及每个通道都独立计算均值、方差。

IN layers在训练以及测试时使用相同的数据统计。

归一化每个样例到一个单一的风格。


CIN

  • 条件实例归一化,A learned representation for artistic style论文中主要提到的方法。对归一化的结果进行一个平移和缩放,具体的方法是每个通道都需要进行对的归一化结果进行平移和缩放,且训练多个风格就需要多组数据。如有c个feature maps 和需要训练N个风格,那么总共就有2*N*C个参数需要训练。


AIN

      自适应实例归一化,在feature 空间中,将content图的每通道输入的均值和方差归一化后的结果对齐匹配到风格图的每通道输入的均值和方差。这里的content图和style图的每通道输入的值都是feature空间的,这篇论文中采用的是预训练好的vgg网络relu4_1的feature空间结果作为输入的。

AdaIN和CIN 很大的区别是参数不需要进行训练。


网络结构



      网络结构主要分为两部分:生成网络以及计算损耗网络两个网络。计算损耗网络是用来训练时约束的。生成网络是一个前向网络,后期用来进行风格转换网络。

 

      风格转换生成网络由Encoder-AdaIN-Decoder这3部分组成。

      Encoder 部分是采用预训练好的VGG网络,只使用到了Relu4_1部分,将风格和内容图的图像都从图像空间转到特征空间。


      AdaIN层是对内容图进行归一化,这里是通过对齐内容图的每通道的feature map的均值和方差来匹配风格图每通道feature map的均值和方差。



      这里的xcontent image, ystyle image,将归一化后的内容图的输入进行缩放和平移。


      AdaIN和Fast Patch-based Style Transfer of Arbitrary Style这篇论文中提出的style swap层作用类似,都是把风格信息加入到content中。style swap 比较费时以及费内存,需要每个块和对应的所有块作比较。这两个算法的这部分都是不需要训练的。


      Decoder部分是一个将feature 空间转成图像空间的网络,这部分网络一般是采用和encoder对称的网络结构,整个网络中需要训练的就是这部分网络的权重参数信息,初始可以随机一些初始化参数,通过梯度下降可以不断进行更新参数以使整个损耗函数比较小、网络逐渐收敛。池化层一般是替换成采用最近邻上采样的方式来防止棋盘效应,在encoder 和 decoder部分的padding一般都是采用反射填充避免边界artifacts。decoder中没有使用归一化层,因为IN/BN这些实例归一化和批归一化都是针对单个风格的。

 

      整个生成网络的时间花费基本是content encoding、style encoding、decoding各占三分之一时间。


损耗函数

      损耗函数主要由两部分组成:内容损耗以及风格损耗。和最早Gatys提出的方法一致,也是采用预训练好的vgg网络的特征maps进行计算损耗。

      


      内容损耗:转换后图像在vgg网络中Relu4_1的特征和adaIN输出feature maps的欧式距离。这里论文没有具体说明转换后图像在vgg网络中具体哪层的输出特征进行相减,但是我觉得应该肯定是Relu4_1的,和传统取的层不一致,主要是因为输出的adaIN的结果relu4_1,只能同层进行比较,才有可比性。

           


      风格损耗:没有采用Gram矩阵这种方式,即使会产生相似的结果。因为在AdaIN层只传递了风格特征的均值和方差,所以风格损耗只做了这些数据的匹配。同样也采用了relu1_1,relu2_1,relu3_1,relu4_1四层的feature maps。即风格损耗只是基于IN统计的损耗。

       



论文实验结果






      总体效果与Fast Patch-based Style Transfer of Arbitrary Style相比,有些比它效果好,如第5行;有些效果差不多第1、2行;有些效果差些,第3,4行。但是速度上比它要快不少,1~2个数量级。


      和Improvedtexture networks: Maximizing quality and diversity in feed-forward stylization and texture synthesis以及Image style transfer  using convolutional neural networks相比效果要差些,但是本论文算法支持任意风格,比较灵活。

       

       在不同层进行AdaIN测试(relu2_1、relu3_1、relu4_1)

       在越高的层数上使用AdaIN风格化越明显,层数越低效果也越不明显。这样背景简单的图在越高的层出来的背景越复杂,越底层出来的背景越不复杂,但是风格信息也会不明显





2017年3月20日


论文下载地址

https://arxiv.org/pdf/1703.06868.pdf


代码

https://github.com/xunhuang1995/AdaIN-style


参考网址

http://www.ctolib.com/AdaIN-style.html


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值