核心思想

采用深层卷积网络提取图像风格特征与内容,并将其进行融合生成效果很好的艺术图。

引言部分

将一幅图像的风格迁移到另一副图像可以看作是纹理迁移的一个分支。对于纹理迁移,它的目标是从源图合成一种纹理同时施加一定的限制条件来保留目标图像内容的显著性。在采用神经网络进行风格迁移之前有很多研究方法,但效率或者效果都不尽如人意。

以前传统的方法普遍存在的弱点在于:

they use only low-level image features of the target image to inform the texture transfer.

即传统方法只是使用了目标图像的低级特征来进行转移。但是完备的风格迁移算法应该能提取目标图像的语义内容,之后再进行纹理迁移,从而达到即保留了目标图像的语义特征又囊括了源图像的风格或者纹理。

以上的一个先觉条件是:

a fundamental prerequisite is to find image representations that independently model variations in the semantic image content and the style in which it is presented.

即找到图像的特征:图像风格的特征,图像内容的特征。

在过去,想要把图像内容从图像风格分离是极其困难的。然而利用CNN(例如在目标检测任务上训练好的网络,因为这些网络具备一定的学习能力,能够提取高层的特征)。

It was shown that Convolutional Neural Networks trained with sufficient labeled data on specific tasks such as object recognition learn to extract high-level image content in generic feature representations that generalise across datasets and even to other visual information processing tasks.

接下来作者简要介绍了CNN是如何处理图像的内容和风格的,作者提出了一种新颖的方法称之为A Neural Algorithm of Artistic Style.

实际上该算法可看作是通过CNN提取特征进行纹理合成的一种方法。该模型依靠深层次的图像特征,因此风格迁移方法也变为了神经网络的优化问题。该算法总结下来就是:将一个基于CNN的参数化纹理提取模型和根据图像特征反求图像的方法结合起来的一种算法。

In fact, our style transfer algorithm combines a parametric texture model based on Convolutional Neural Networks with a method to invert their image representations

模型实现细节

作者对VGG-19 网络进行了稍许修改:

  • scale the networks
  • replacing the maximum pooling operation by average pooling
  • do not use any of the fully connected layers

深层次图像特征—图像内容特征

了解CNN的学者都知道,一副图像x⃗ x→\vec x在CNN的每一层都被编码,如假设一个卷积层有NlNlN_l个卷积核,那么就会输出NlNlN_l个特征图,每个特征图大小为MlMlM_l,因此我们可以用矩阵FlFlF_l存储每一层结果,矩阵大小为Nl×MlNl×MlN_l \times M_l。那么其每个矩阵元素FlijFijlF_{ij}^l的含义为:在第lll层,第i" role="presentation" style="position: relative;">iii个卷积核在位置jjj的结果。

为了对图像信息进行可视化,可以进行如下操作,首先有几个变量定义:

  • p→" role="presentation" style="position: relative;">p⃗ p→\vec p:原图像

    • x⃗ x→\vec x:初始化的白噪声图像
    • PlPlP^l:原图像的内容特征
    • FlFlF^l:白噪声图像的内容特征
    • 然后对图像x⃗ x→\vec x运用梯度下降,可以生成与原图特征相对应的人造图,使用如下的损失函数:

      Lcontent(p⃗ ,x⃗ ,l)=12∑i,j(Flij−Plij)2Lcontent(p→,x→,l)=12∑i,j(Fijl−Pijl)2

      L_{content}(\vec p,\vec x, l) = \frac{1}{2} \sum_{i,j}(F_{ij}^l-P_{ij}^l)^2
      通过后向传导可以计算出图像 x⃗ x→\vec x的梯度,跟据梯度调整白噪图( x⃗ x→\vec x)直到其产生的特征描述矩阵与原图一致。

      作者发现:对于在目标识别上训练出来的CNN网络有这种潜质——它的层次越深,对物体信息的描述就越明显。即存在如下特性:

      higher layers in the network capture the high-level content in terms of objects and their arrangement in the input image but do not constrain the exact pixel values of the reconstruction very much

      即深层网络可以捕获到高等级的图像内容,但却不能对具体像素值是否接近原图像进行很好限制,以此类比:

      In contrast, reconstructions from the lower layers simply reproduce the exact pixel values of the original image

      浅层次的网络则可以重构与原图接近的像素值,如下图:

      深层次图像特征—图像风格特征

      为了获取风格特征(a representation of the style),作者主要使用了用于捕捉纹理信息的特征空间。而这个特征空间(feature space)之所以可以用来描述风格,在于它包含了不同卷积层间的联系:

      This feature space can be built on top of the filter responses in any layer of the network. It consists of the correlations between the different filter responses

      可以通过Gram矩阵计算得出:

      Glij=∑kFlikFljkGijl=∑kFiklFjkl

      G_{ij}^l = \sum_k F_{ik}^l F_{jk}^l
      其中 GlijGijlG_{ij}^l表示第 lll层中第i" role="presentation" style="position: relative;">iii个feature map与第 jjj个feature map的联系,即部分风格特征。

      通过获取多个层之间的feature correlations,便可以获得图像的总体风格特征:

      By including the feature correlations of multiple layers, we obtain a stationary, multi-scale representation of the input image.

      同生成图像内容特征的方法一样,作者先初始化一个白噪声图像x→" role="presentation" style="position: relative;">x⃗ x→\vec x,用 a⃗ a→\vec a代表风格图像,用 AlAlA^l和 GlGlG^l表示白噪声图像和风格图像在第 lll层的风格特征,通过让梯度下降的方式来让白噪声图像逐渐逼近风格图像,损失函数如下:

      El=14Nl2Ml2∑i,j(Gijl−Aijl)2Lstyle(a→,x→)=∑l=0LwlEl" role="presentation">El=14N2lM2l∑i,j(Glij−Alij)2Lstyle(a⃗ ,x⃗ )=∑l=0LwlElEl=14Nl2Ml2∑i,j(Gijl−Aijl)2Lstyle(a→,x→)=∑l=0LwlEl

      E_l = \frac{1}{4N_l^2M_l^2}\sum_{i,j}(G_{ij}^l-A_{ij}^l)^2\\ L_{style}(\vec a,\vec x) = \sum_{l=0}^L w_lE_l
      其中 wlwlw_l代表每一层网络的权重。

      风格转换

      整个风格转换流程如论文中的Fig.2:

      其中有:

      • (artwork)风格图像:a⃗ a→\vec a
      • (photograph)内容图像:p⃗ p→\vec p
      • 最终生成的图像(初始为白噪声):x⃗ x→\vec x

      对如下的损失函数进行梯度下降,minimise即可生成想要的结果:

      Ltotal(p⃗ ,a⃗ ,x⃗ )=αLcontent(p⃗ ,x⃗ )+βLstyle(a⃗ ,x⃗ )Ltotal(p→,a→,x→)=αLcontent(p→,x→)+βLstyle(a→,x→)

      L_{total}(\vec p,\vec a,\vec x) = \alpha L_{content}(\vec p,\vec x) + \beta L_{style}(\vec a, \vec x)
      其中 α,βα,β\alpha,\beta用于调节风格特征和内容特征损失函数各自的权重。作者在论文中展示了一些结果:

      结果与讨论

      风格和内容的一些权衡

      通过修改超参数,可以使得生成的图像more content matching或者more style matching.首先作者探讨了α/βα/β\alpha / \beta对图像生成的影响:

      不同卷积层的生成效果

      As outlined above, the style representation is a multi-scale representation that includes multiple layers of the neural network

      We find that matching the style representations up to higher layers in the network preserves local images structures an increasingly large scale, leading to a smoother and more continuous visual experience

      深层的网络可以更好保留图像结构,给人更好的视觉体验,对于风格特征来说。作者通过match不同卷积层得出的content representation来说明深层的网络结果可以跟好的融合风格和内容:

经典论文重读---风格迁移篇(一):Image Style Transfer Using Convolutional Neural Networks相关推荐

  1. 【读点论文】Image Style Transfer Using Convolutional Neural Networks(将卷积特征图提取语义信息,融合内容和风格的做法)

    Image Style Transfer Using Convolutional Neural Networks 以不同风格呈现图像的语义内容是一项困难的图像处理任务.可以说,以前的方法的一个主要限制 ...

  2. CNN实现图像风格迁移 ---Image Style Transfer Using Convolutional Neural Networks

    目录 1. INTRODUCTION 2. Deep image representations 2.1  内容表示 2.2. Style representation 2.3  风格迁移 3. Re ...

  3. (论文解读)High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks

    目录 论文解读之: High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks ...

  4. 深度模型压缩论文(01)- Meta Filter Pruning to Accelerate Deep Convolutional Neural Networks

    文章目录 1.摘要和介绍 1.1摘要部分 2.背景和方法 2.1 背景 2.2 贡献 2.3 方法 3.实验和结果 3.1 实验 3.2 结果 4.总结和展望 4.1 总结 4.2 展望 本系列是在阅 ...

  5. 论文阅读:Understanding the Effective Receptive Field in Deep Convolutional Neural Networks

    文章目录 论文总述 2.感受野的定义 3.理论感受野大小的计算 4.3种增加感受野的操作 5.感受野中心像素的值对输出feature map 的response影响比边缘的像素更大 6.如何知道fea ...

  6. 论文阅读笔记:Retinal vessel segmentation based on Fully Convolutional Neural Networks

    基于全卷积神经网络的视网膜血管分割 关键词:全卷积神经网络.平稳小波变换.视网膜眼底图像.血管分割.深度学习 摘要 本文提出了一种新的方法,将平稳小波变换提供的多尺度分析与多尺度全卷积神经网络相结合, ...

  7. 每天一篇论文 323/365 Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning

    每天一篇论文汇总list Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning 摘要 ...

  8. 可逆网络风格迁移-解决内容泄漏问题 [CVPR 2021] ArtFlow: Unbiased Image Style Transfer via Reversible Neural Flows

    [CVPR 2021] ArtFlow: Unbiased Image Style Transfer via Reversible Neural Flows Jie An1∗   Siyu Huang ...

  9. 论文阅读2018-Deep Convolutional Neural Networks for breast cancer screening 重点:利用迁移学习三个网络常规化进行分类

    论文阅读2018-Deep Convolutional Neural Networks for breast cancer screening 摘要:我们探讨了迁移学习的重要性,并通过实验确定了在训练 ...

最新文章

  1. oracle常用日期函数
  2. Mnist 0的波函数
  3. c语言输出星期几的英语表达,C语言程序设计: 输入年月日 然后输出是星期几...
  4. Spring整合Quartz定时任务 在集群、分布式系统中的应用
  5. 【学习笔记】认识张量
  6. WPS复选框显示太阳问题解决方法
  7. 逻辑思维训练500题
  8. MyBatis学习笔记三——映射配置文件
  9. vscode连接服务器
  10. t分布的定义和概率密度函数
  11. a4如何打印双面小册子_用word如何打印小册子(一张A4打两张那种的)
  12. 公众号php关键词回复小程序,微信自定义关键词回复信息
  13. illustrator字体设计教程 刘兵克Illustratorai字体设计日记
  14. 时间抖动(jitter)--学习笔记
  15. 最新出炉 csdn最牛最全JMeter+Ant+Jenkins接口自动化测试框架(Windows)
  16. Android_百度地图API_图形“圆形”(正多边形)和多边形是否相交算法
  17. Java 开发实习生面试题(1)
  18. 常用的工业相机及SDK
  19. [导入]《没卵头家》[DVD转RMVB中字][ 台湾经典剧情片]
  20. html学习-html标签图文详解(一)

热门文章

  1. wps上下括号怎么打出来_【wps大括号怎么打出来】wps大括号怎么打两行字_wps大括号怎么打...
  2. 计算机继续教育专业课在哪里学,计算机继续教育学习心得
  3. 计算机动画基础 吴,计算机动画中的视点合成与运动控制
  4. 程序人生:开发,运维,测试,实施哪个好?
  5. 职称计算机 只做模拟题,2017职称计算机考试Dreamweaver模拟练习题
  6. 麻省理工学院,Web3 人才辈出
  7. 全景效果图html5,HTML5+JS实现可交互360°柱状全景图浏览
  8. 技嘉H370 HD3主板的物理机上安装 Linux CentOS7 解决无网卡驱动
  9. 机器人水库涵洞检测_水下机器人(ROV)在水库大坝检测作业的安全分析
  10. 最大公共子串-动态规划