基于神经网络的图片风格转移小结

本文概述了基于神经网络的图片风格转移技术的四个阶段,从迭代图像风格转移(IST)到使用Instance Normalization(IN)实现快速、高质量的风格迁移。文章讨论了Gram矩阵在量化风格中的作用,以及如何通过Instance Normalization提升风格转移的质量和速度。此外,还介绍了Conditional Instance Normalization(CIN)和AdaIN,这两种方法实现了任意风格的实时转移。最后,提到了Cycle-GAN在无配对图像到图像转换中的应用,展示了风格转移的多样性。
摘要由CSDN通过智能技术生成

原始文章来自我的个人博客: https://moliam.github.io/2019/05/26/image-style-transfer-based-on-neural-network.html

Foreword

将A图片的风格转移到B图片上,指的是将A图片的抽象艺术风格(如线条、色彩等等)和B图片的内容框架合成为一幅图。自然地,A图片称为风格图,而B图片就称为内容图。就像这样:

在这里插入图片描述

左侧图作为风格, 右侧图作为内容,中间合成图。 (上图是我用Gatys迭代法得到的结果)。

最近做了一段时间风格转移的文献调研,故写此小结以顺思路。图片风格转移在传统图像处理中有不少研究,本文只涉及基于神经网络的方法。个人总结到目前主要有以下4个技术阶段:

  1. 迭代合成法。合成图片质量高,且可以进行任意风格转移,但速度慢;
  2. 前馈网格法。合成速度快,但一个网络只能进行一种风格转移(风格单一),且合成图片质量一般;
  3. 使用IN层替换BN层,提升了合成图片的质量,加速了网络训练,但网络的风格还是单一或局限于几种;
  4. 使用IN层 μ \mu μ σ \sigma σ 匹配的网络前馈法,最终实现任意风格的快速转移。

本文将对这四个阶段进行回顾,之后再涉及另一种风格转移方法:基于GAN的图片集合风格转移。 最后,回顾技术,展望下未来的发展方向。

Stage1:iterative image style transfer (IST)

文章:

Image style transfer using convolutional neural networks, Gatys etc.

一句话总结:这篇文章为风格转移提供了量化标度,提出使用 Gram矩阵来量化图片的风格。并提出了基于VGG网络的迭代式图片合成方法。图片生成质量较高。

将一幅图片的风格转移到另一幅画上,首先要解决的问题自然是如何提取风格?*(也有不需要量化风格的,下面Extra章会讲到)*Gatys 在这篇文章中提出用feature map 的Gram矩阵来量化一幅图片的风格。具体来说 ,一幅图片结过网络后,在第 k k k 层有 M M M 个feature map F i k , 0 &lt; i &lt; M F_{i}^{k}, 0&lt;i&lt;M Fik,0<i<M, 每个feature map的维度为 H × W H\times W H×W, 那么第 k k k层的Gram矩阵值为:

G i j k = 1 H 2 W 2 ∑ ( F i k ⋅ F j k ) G_{ij}^{k} = \dfrac{1}{H^{2}W^{2}} \sum( F_{i}^{k} \cdot F_{j}^{k}) Gijk=H2W21(FikFjk), 其中 ∑ ( X ) = ∑ X i j \sum(X) = \sum X_{ij} (X)=Xij

,即第 k k k 层的Gram矩阵维度为 M × M M \times M M×M 的矩阵, 其坐标 ( i , j ) (i, j ) (i,j)处的元素值为 F i k F_{i}^{k} Fik F i k F_{i}^{k} Fik 点乘后元素求和再归一化得来. 可以笼统认为Gram矩阵是同层的feature map之间的相似关系。

这个量化方法到底能多大程度上提取风格呢? 一种验证的途径是根据一张图 x x x的Gram矩阵 G G G, 如果能重建出具有风格 x x x的图片,则说明 G G G 对风格提取有一定作用(但不是充要条件,最终还是要看用来最后的合成过程中是否能指导图像的生成),这种重建图像的方法其实也是Gatys最后用于生成合成图片的方法。不管怎么样,先实验起来吧。

验证实验是基于VGG网络进行的,VGG网络在图片分类任务中已经取得了公认的成果,所以一般认为其各个输出层的feature map 应该是较好地提取了图像的语义。VGG网络的过程可以抽象表示为函数 vgg ( x ) = y \textbf{vgg}(x) = y vgg(x)=y x x x为输入, y y y为输出, x x x可以是所有层的输出,也可以是其子集。将 y y y进一步根据上面的定义运算得到Gram矩阵的VGG用KaTeX parse error: Expected '}', got '_' at position 12: \textbf{vgg_̲G}表示。Gatys提出了以迭代方式梯度下降的方法根据VGG网络输出重建图片的方法,即:如果需要两幅图相同,需要两幅图经过VGG网络后的输出也相同。以 vgg \textbf{vgg} vgg为例,步骤如下:

先以随机值生成图像 x ′ x&#x27; x,它经过网络输出为 y ′ y&#x27; y

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值