A Learned Representation for Artistic Style论文理解

A Learned Representation for Artistic Style论文理解

      这篇论文是在Perceptual losses for real-time style transfer and super-resolution的基础上提出了更灵活的风格迁移模型,Justin 提出的模型解决了训练单一风格的耗费时间比较长的问题,提出了一个图像转换网络和图像损耗网络的概念,训练和生成采用了两种不同的网络。即使这样只是实现了实时风格变换,提高了测试速度,但是训练的速度还没有提高,且仍然需要一个风格训练一个模型,存在训练慢以及浪费空间的局限性,本篇论文提出了N个风格共用一个模型的方式,缓解了模型存储所耗费的空间大问题。

       艺术风格的神经元算法提出了如下的定义:

 如果通过一个预训练好的分类网络中提取出来的高层特征是比较接近的(欧氏距离),就说明两张图的内容是相似的。

如果通过一个预训练好的分类网络中提取出来的底层特征有共同的统计特性(gram矩阵),就说明两张图的风格是相似的。

N-styles前向风格变换网络

        多种风格训练网络应该是很多种风格的一些计算是可以共享的,譬如一些印象派的绘画其实有相似的笔触只是颜色不同而已,如果用之前的方法训练一系列N个风格单独的模型肯定是比较浪费的。因此,论文提出了训练一个条件风格转移网络来支持多种风格。这里主要的区别就是这一个网络是一个条件网络,它的输入是除了之前的content 图片还需要有个需要应用的style的id,但同时支持N-style风格。具体做法就是在模型化一个风格时,对每个具体的风格在归一化之后进行特定的缩放和平移,一个风格变换网络中所有的卷积权重是可以多风格共享的。所以这个网络中增加了γ和β这两个参数,一个是缩放一个事平移。对N风格的模型,只用一个网络,只是增加了N *C*2个参数,N表示风格数,C表示feature maps,2是代表γ和β这两个参数。

,在整个网络中只有0.2%的大小是存储的不同风格数据,而且参数个数随着风格个数是成线性增加。

网络模型

      这篇论文基本的网络模型还是和Perceptual losses for real-time style transfer and super-resolution的网络模型一致

具体的网络模型采用的和Perceptual losses for real-time style transfer and super-resolution的网络模型一致,由3层卷积层、5个残差块、2个上采样块和1个卷积层组成。每个残差块是由两个卷积层组成的。总共有16层。

        此网络和Justin的网络有以下几点区别:

        填充不是采用0填充而是采用了镜像填充,避免了在卷积事有时用0填充造成的边界伪边现象;另上采样是采用了先进行最近邻插值再进行卷积代替了之前的步长位1/2的转置卷积,这样处理避免了棋盘现象。而且由于进行了这两个点的改进,损耗函数不再需要有一个总变差的损耗,之前在Johnson提出的风格迁移模型中损耗函数计算时需要加入这项来减少高频噪声。

       下图是这个论文中采用的网络,注意网络结构中除了上面说的两点之外,最后一层卷积层的激励函数是Sigmoid,不是relu了,需要注意,如果仍然使用relu会发现棋盘效应好了,但是会存在黑块。


损耗函数

        损耗函数由两部分构成:content的损耗和style的损耗,都是计算的vgg网络卷积层的feature map的损耗。content只选择了高层信息中的一层,即只要整个内容信息,不考虑边缘纹理等低层信息,生成图片与content图片输入网络的feature map对比计算。style的损耗是计算了每个大的卷积层,计算gram矩阵,生成图片与style图片输入网络的feature map对比计算。

实验相关总结

1.15、100个风格图片可以保存出图片的风格,即风格的信息通过神经网络训练可以在生成网络中保存下来信息。具体能最多能支持到多少种风格没有试验。

2.即使1中能够支持很多,甚至任意种,但是需要定义相应的每个map的缩放和平移尺寸,也是一个很大的数据量,考虑内存的问题,可能实际使用中会保存比较多个,但不会无限制个。

3.训练试验过程中发现风格图片越多时,达到收敛时需要迭代的次数也越多,譬如15个style图可能在coco的8万张数据集上大约是2个轮回就能基本收敛,但是100个styles在2个轮回时风格信息已经很明显了,但是风格效果会没有15个风格收敛的好,由于关注了训练过程中的模型生成图片情况,发现整个迭代过程中效果是越来越好的,所以收敛时没有什么问题的。

4.风格信息保存下来的结果和风格图片的分辨率关系很大,对分辨率很敏感,譬如style.jpg是1000*1000的,如果训练时时1000*1000大小,训练出的模型进行生成此风格图片效果和style.jpg基本差不多,若缩放成200*200,有可能出现基本没什么效果。若风格图片是纹理图片,那么训练的结果,若同一张风格图片,缩放成不同比例,出来的风格效果图的纹理也是会显示不同大小。

github代码:

https://github.com/tensorflow/magenta/tree/master/magenta/models/image_stylization

https://github.com/Heumi/Fast_Multi_Style_Transfer-tensorflow

参考资料

谷歌增强型风格迁移新算法

http://view.inews.qq.com/a/20161027A04FWH00?refer=share_recomnews
--------------------- 
作者:玉兔金兔 
来源:CSDN 
原文:https://blog.csdn.net/wyl1987527/article/details/66472349 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/c2a2o2/article/details/83409944