这是2015年的一篇论文,做者首次提出使用卷积神经网络生成具备人工艺术风格的做品。做者认为,卷积神经网络中的卷积层能够理解为收集图像特定特征的滤波器集(filters),即生成了输入图像各类版本滤波结果,把普通影像重构成具备艺术风格的做品,既须要保持普通图像内容布局上保持不变,又要使其具备与参考艺术做品具备相同的风格,此分别为文中所述的content reconstructions 和 style reconstructions.git
做者发现,较深层的卷积特征能获取图像高级(high-level)的、目标级的内容信息以及在原图像上的位置信息,可是却不能约束准确的像素重构,也就是详细的像素信息丢失(如图 1,content reconstructions 的 d,e);相反地,浅层的卷积特征却能很容易的生成准确的像素值(如图 1,content reconstructions 的 a,b,c),所以,做者使用较深层的卷积进行内容重构,实验中是在relu4_2
上进行content representation.github
在风格化的问题上,为了表示参考艺术做品的风格,做者使用特征空间获取纹理信息。这一特征空间基于卷积神经网络的各个卷积阶段获得的特征,它由不一样卷积特征图之间的相关性构成。经过引入卷积层之间的相关性,做者得到了对原图稳定的,多尺度的表示,可以获得参考艺术做品的纹理信息(不包含全局的排布信息)。算法
所以,做者的思路很是简单,经过输入原图,在较深层的卷积层中获得的特征进行图像内容约束,使用参考艺术做品,在卷积不一样阶段的卷积特征学习获得图像纹理,进行纹理约束,从而优化获得最终结果。markdown
图 2展现了算法的约束简图,其中包含两个主要约束:content constrain 和 style constrain。网络
做者使用的是VGG-19 network, 包含16个卷积层(分为5个卷积阶段),每一个阶段末尾都有 pooling 层,全链接层被抛弃掉,另外Pooling阶段使用average pooling。布局
content loss:
学习
style loss:
计算不一样滤波响应之间的相关性,表示在 Gram 矩阵中:
所以,风格的损失代价为:
即,使用多层的卷积特征,进行总体约束,(其中conv1_1
, conv2_1
, conv3_1
, conv4_1
和 conv5_1
中
测试
total loss:
其中
1e−3
或 1e−4
.优化
论文以及开源代码中具备实验结果,可自行查看或测试,这里不贴出。atom