《image Style Transfer Using Convolutional Neural Networks》论文笔记

来源:互联网 发布:和珅 知乎 编辑:程序博客网 时间:2024/04/30 12:46

1.论文出处:cvpr 2016
2.主要思路:
为了进行图像的风格转换,作者利用CNN提取图像A的内容特征(如物体等)和图像B的风格特征,然后利用这些特征,生成图像C,图像C具有A的内容和B的风格。效果如下:
这里写图片描述
3.详细思路
主要的问题在于如何提取图像的内容特征(content feature) 以及 风格特征(style feature)
3.1总体网络框架
总体模型是基于VGG-network。作者只采用了16个卷基层和5个pooling层提取的特征图,没有采用全连接层。同时,在图像合成时,将原来的max-pooling替换为average-pooling可以让结果更好。
3.2 内容特征的表征:
作者对白噪声图片采用梯度下降法来寻找符合原始图像特征的另外的图像。 和 为原始图像和生成的新图像(由随机图像初始化,即白噪声图像)。 这里写图片描述这里写图片描述为它们在第l层的特征表示。loss函数采用squared-error loss,定义为:
这里写图片描述
直观上理解,便是使得要生成的图像x在VGG的特征图上的响应无限接近于原图p,这样我们可以认为新生成的图像x和原图p在结构和内容上是极其接近的。同时,实验发现,使用CNN的不同层来重构图像x的效果不同,层数越高,更容易损失细节。如下所示:
这里写图片描述
图中a到e是依次用更高的层的特征来重构图x,可以发现,更好的层重构出来,能够保留大部分的结构信息,但是一些细节信息会丢失。
3.3 风格特征的表征
为了生成符合目标风格的纹理,作者采用随机梯度下降方法,从随机图片(白噪声图像)开始,寻找符合目标风格的图像。 这里写图片描述这里写图片描述为目标风格图像和新生成的图像, 这里写图片描述这里写图片描述为它们在l层的特征表示。作者定义loss函数为:
这里写图片描述
所有层loss为:
这里写图片描述
Gij这个特征其实便是各个层之间的特征map的格拉姆矩阵。计算如下:
这里写图片描述
这里写图片描述表示第l层第i位置的激活值,上面的格拉姆矩阵其实就是求相同层内,各个特征图之间的相关程度,这样计算之后,保留主要的特征而除去次要的特征,得到纹理特征。
3.4 风格转换
有了图像的内容特征和风格特征,合起来便是风格转换的特征。
风格转换的目标是生成一张包含照片内容和绘画风格的新图像。作者通过最小化随机图像和照片内容以及绘画风格的距离的方法来实现。
这里写图片描述为输入照片, 这里写图片描述为输入的艺术风格图像,loss函数定义为:
这里写图片描述

阅读全文
0 0
原创粉丝点击