风格迁移 Style transfer

Posted 莫失莫忘Lawlite

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了风格迁移 Style transfer相关的知识,希望对你有一定的参考价值。

一、介绍

  • 将一张图片的艺术风格应用在另外一张图片上

  • 使用深度卷积网络CNN提取一张图片的内容和提取一张图片的风格, 然后将两者结合起来得到最后的结果

二、 方法


- 我们知道 CNN 可以捕捉图像的高层次特征,如上图所示,内容图片经过CNN可以得到对应的图像表述(representation, 就是经过卷积操作的feature map),然后经过重构可以得到近似原图的效果
- 特别是前面几层经过重构得到的结果和原图更接近,也说明前几层保留的图片细节会更多,因为后面还有pooling层,自然会丢弃调一些信息
- 这里的网络使用的是VGG-16 (如下图),包含 13 个卷积层,3 个全连接层

1、内容损失

  • 假设一个卷积层包含 Nl N l 个过滤器 filters,则可以得到 Nl N l feature maps,假设 feature map的大小是 Ml M l (长乘宽),则可以通过一个矩阵来存储 l 层的数据 FlRNl×Ml F l ∈ R N l × M l
    • Fli,j F i , j l 表示第 l 层的第 ifilterj 位置上的激活值
  • 所以现在一张内容图片 p p → ,一张生成图片 x x → (初始值为高斯分布), 经过一层卷积层l可以得到其对应的特征表示: Pl P l Fl F l , 则对应的损失采用均方误差: Lcontent(p,x,l)=12ij(FlijPlij)2 L c o n t e n t ( p → , x → , l ) = 1 2 ∑ i j ( F i j l − P i j l ) 2
    • F F P是两个矩阵,大小是 Nl×Ml N l × M l ,即l层过滤器的个数 和 feature map 的长乘宽的值

2、风格损失