读后感:Image Style Transfer Using Convolutional Neural Networks

该文章是研究一个比较有意思的Issue,就是风格迁移问题。风格迁移可以定义为纹路(Texture)迁移问题。之前大多数的工作是用non-parametric(非参数)的算法通过resampling源图片(表示风格的图片)去合成图片的做法,在合成图片时,采用多种不同的方法去保留目标图片(表示内容的图片)的架构。虽然这些过去的方法取得了比较好的效果,但是这些方法都只用了目标图片的低级图片特征,而本文是提出了如何去利用CNN生成的泛化特征(高级语义特征)去独立地处理和操控自然图片的内容和风格(一定程度上吧风格和内容分离开)。


读后感:Image Style Transfer Using Convolutional Neural Networks_第1张图片

Figure 1. Image representations in a Convolutional Neural Network (CNN). A given input image is represented as a set of filtered images at each processing stage in the CNN. While the number of different filters increases along the processing hierarchy, the size of the filtered images is reduced by some downsampling mechanism (e.g.max-pooling) leading to a decrease in the total number of units per layer of the network. Content Reconstructions. We can visualise the information at different processing stages in the CNN by reconstructing the input image from only knowing the network’s responses in a particular layer. We reconstruct the input image from from layers ‘conv1 2’ (a), ‘conv2 2’ (b), ‘conv3 2’ (c), ‘conv4 2’ (d) and ‘conv5 2’ (e) of the original VGG-Network. We find that reconstruction from lower layers is almost perfect (a–c). In higher layers of the network, detailed pixel information is lost while the high-level content of the image is preserved (d,e). Style Reconstructions. On top of the original CNN activations we use a feature space that captures the texture information of an input image. The style representation computes correlations between the different features in different layers of the CNN. We reconstruct the style of the input image from a style representation built on different subsets of CNN layers ( ‘conv1 1’ (a), ‘conv1 1’ and ‘conv2 1’ (b), ‘conv1 1’, ‘conv2 1’ and ‘conv3 1’ (c), ‘conv1 1’, ‘conv2 1’, ‘conv3 1’ and ‘conv4 1’ (d), ‘conv1 1’, ‘conv2 1’, ‘conv3 1’, ‘conv4 1’ and ‘conv5 1’ (e). This creates images that match the style of a given image on an increasing scale while discarding information of the global arrangement of the scene.

作者通过两个实验来发现CNN网络哪里存在内容特征和风格特征,分别是内容重构和风格重构。

内容重构:




读后感:Image Style Transfer Using Convolutional Neural Networks_第2张图片
这里是优化目标函数里各项的变量的解释

风格重构:


读后感:Image Style Transfer Using Convolutional Neural Networks_第3张图片


读后感:Image Style Transfer Using Convolutional Neural Networks_第4张图片
这里与内容重构不同,风格特征是用多层的输出去产生的
读后感:Image Style Transfer Using Convolutional Neural Networks_第5张图片
这是优化目标函数里的各项变量的解释

通过这两个实验可以看出,在内容重构里,随着match的content representation的层级不同,越高层级获取到更高级的内容(关于图片的目标和安排),但是又不限制输入图片的实际像素值。这是我们需要的,因为我们要虽然要表示目标图片的内容,但是我们并不是简单地在目标图片上加一层颜色什么的,我们更需要对目标图片进行重构的同时要保留图片表达的内容。在风格重构的实验中,我们发现通过与越多同时越高层的风格特征的一个match,我们越能保留图片的局部图片结构,和产生一种顺滑和连续的视觉经验。

那么如何去进行风格迁移呢?其实很简单:


读后感:Image Style Transfer Using Convolutional Neural Networks_第6张图片

其实就是左边源图片输入进网络,得到风格特征(是由多层的输出去联合产生的,通过不同的filter responses之间的相关性去构建的一个空间去表示风格表征),右边目标图片输入到网络,得到内容特征(只用某一层的输出产生)。然后再通过构建目标函数:

来反向传播地将一张白噪声的输入转换成一张图片。

图片还做了很多这个算法的一些参数选择会有什么变化:


读后感:Image Style Transfer Using Convolutional Neural Networks_第7张图片
这里是更改内容loss和风格loss的权重


读后感:Image Style Transfer Using Convolutional Neural Networks_第8张图片
这里是改变内容特征层


读后感:Image Style Transfer Using Convolutional Neural Networks_第9张图片
这里是研究初始化x图片的不同


读后感:Image Style Transfer Using Convolutional Neural Networks_第10张图片
这里做写实的风格转换实验

你可能感兴趣的:(读后感:Image Style Transfer Using Convolutional Neural Networks)