【翻译】Image Style Transfer Using Convolutional Neural Networks

在这里插入图片描述

Abstract

以不同的风格渲染图像的语义内容是一项困难的图像处理任务。可以说,以前的方法的一个主要限制因素是缺乏明确表示语义形成的图像表示,因此,允许将图像内容与风格分开。在这里,我们使用了从卷积神经网络派生出来的图像表示,该网络针对对象识别进行了优化,使高水平的图像信息变得明确。我们介绍了一种艺术风格的神经算法,它可以分离和重新组合自然图像的内容和风格。该算法使我们能够产生具有高感知质量的新图像,将艺术照片的内容与众多知名艺术品的外观相结合。我们的结果为卷积神经网络学习的深层图像表征提供了新的见解,并证明了它们在高水平图像合成和操作方面的潜力。

1、介绍

将一个图像的风格转移到另一个图像上可以被认为是一个纹理转移的问题。在纹理转换中,目标是从源图像中合成一个纹理,同时限制纹理合成,以保留目标图像的语义内容。在纹理合成方面,存在大量强大的非参数算法,可以通过对给定的源纹理的像素进行重新采样来合成逼真的自然纹理[7, 30, 8, 20]。以前的大多数纹理转移算法依靠这些非参数方法进行纹理合成,同时使用不同的方法来保留目标图像的结构。例如,Efros和Freeman引入了一个对应图,其中包括目标图像的特征,如图像强度来约束纹理合成过程[8]。Hertzman等人使用图像类比法将纹理从一个已经风格化的图像转移到目标图像上[13]。Ashikhmin专注于转移高频纹理信息,同时保留目标图像的粗略比例[1]。Lee等人通过添加边缘方向信息来改进这一算法[22]。

虽然这些算法取得了显著的效果,但它们都受到同样的基本限制:它们只使用目标图像的低层次图像特征来形成纹理转移。然而,理想的情况是,风格转换算法应该能够从目标图像中提取语义图像内容(例如物体和一般景物),然后通知纹理转换程序,在源图像的风格中重新得出目标图像的语义内容。因此,一个基本的先决条件是找到能够独立地模拟语义图像内容和呈现风格的变化的图像代表。这种分解表示以前仅针对自然图像的受控子集实现,例如不同光照条件下的人脸和不同字体样式的字符[29]或手写数字和门牌号码[17]。

将自然图像中的内容与风格普遍分离仍然是一个极其困难的问题。然而,深度卷积神经网络 [18] 的最新进展已经产生了强大的计算机视觉系统,可以学习从自然图像中提取高级语义信息。研究表明,在特定任务(如物体识别)上用足够的标记数据训练的卷积神经网络,可以学会在通用特征表征中提取高层次的图像内容,这种表征可以跨数据集通用[6],甚至可以用于其他视觉信息处理任务[19, 4, 2, 9, 23],包括纹理识别[5] 和艺术风格分类[15]。

在这项工作中,我们展示了由高性能卷积神经网络学习的通用特征代表如何被用来独立处理和加工自然图像的内容和风格。我们介绍了艺术风格的神经算法,这是一种进行图像风格转移的新算法。从概念上讲,它是一种纹理转移算法,通过最先进的卷积神经网络的特征表示来约束一种纹理合成方法。由于纹理模型也是基于深层图像表征的,风格转移方法优雅地简化为一个单一神经网络内的优化问题。新的图像是通过形成一个预先的图像搜索来生成的,以匹配示例图像的特征表示。这种一般的方法以前曾被用于纹理合成[12, 25, 10]和提高对深度图像表示的理解[27, 24]。事实上,我们的风格转换算法结合了一个基于卷积神经网络的参数化纹理模型[10]和一个反转其图像表征的方法[24]。

2、深度图像表示

下面的结果是在VGG网络[28]的基础上产生的,该网络被训练用来进行物体识别和定位[26],并在原始工作[28]中做了大量描述。我们使用19层VGG网络的16个卷积层和5个池化层的标准化版本提供的特征空间。我们通过缩放权重来规范网络,使每个卷积滤波器在图像和位置上的平均激活度等于1。对VGG网络可以进行这样的重新缩放而不改变其输出,因为它只包含整流线性激活函数,没有对特征图进行归一化或池化。我们不使用任何全连接层。该模型是公开的,可以在caffe-framework[14]中进行探索。对于图像合成,我们发现用平均池化代替最大池化操作会产生稍有吸引力的结果,这就是为什么所示图像是用平均池化生成的。

2.1.内容表示

一般来说,网络中的每一层都定义了一个非线性滤波器组,其复杂性随着网络中该层的位置而增加。因此,给定的输入图像 ~x 通过对该图像的滤波器响应在卷积神经网络的每一层中进行编码。一个有Nl个不同过滤器的层有Nl个大小为Ml的特征图,其中Ml是高度乘以特征图的宽度。因此,第l层的响应可以存储在一个矩阵F l∈RNl×Ml中,其中 F lij 是第 l 层中位置 j 处的第 i 个滤波器的激活。

在这里插入图片描述
图1. 卷积神经网络(CNN)中的图像表示。在CNN的每个处理阶段,一个给定的输入图像被表示为一组过滤的图像。当不同的过滤器的数量沿着处理层次增加时,过滤后的图像的大小通过一些下采样机制(如最大池)减少,导致网络每层的单元总数减少。
内容重构。我们可以通过只知道网络在某一特定层的响应来重建输入图像,从而使CNN中不同处理阶段的信息可视化。我们从原始VGG网络的 “conv1 2”(a)、“conv2 2”(b)、“conv3 2”(c)、“conv4 2”(d)和 “conv5 2”(e)层来重建输入图像。我们发现,从低层的重建几乎是完美的(a-c)。在网络的较高层次,详细的像素信息被丢失,而图像的高层次内容被保留下来(d,e)
风格重构。在原始CNN激活的基础上,我们使用一个捕捉输入图像纹理信息的特征空间。风格表示法计算了CNN不同层中不同特征之间的相关性。我们通过建立在CNN层不同子集上的风格表示来重建输入图像的风格(“conv1 1”(a),"conv1 1 "和 “conv2 1”(b),“conv1 1”,"conv2 1 "和 “conv3 1”(c),“conv1 1”,“conv2 1”,"conv3 1 "和 “conv4 1”(d),“conv1 1”,“conv2 1”,“conv3 1”,"conv4 1 "和 “conv5 1” (e)。这就创造了与给定图像的风格相匹配的图像,规模越来越大,同时放弃了场景的全局安排的信息。

为了直观地了解在不同层次上编码的图像信息,我们可以对白噪声图像进行梯度下降,以找到与原图像的特征响应相匹配的另一幅图像(图1,内容重建)[24]。让~p 和 ~x分别为原始图像和生成的图像,P l和F l分别为第l层的特征表示,然后我们定义两个特征表示之间的平方误差损失
在这里插入图片描述
这个损失相对于第l层的激活的导数等于
在这里插入图片描述
从中可以用标准误差反向传播法计算出相对于图像~x 的梯度(图2,右)。因此,我们可以改变最初的随机图像~x, 直到它在卷积神经网络的某一层产生与原始图像~p相同的响应
在这里插入图片描述
图2. 风格转移算法。首先,内容和风格特征被提取并存储。风格图像~a 通过网络,其在所有层中的风格表示Al被计算和存储(左)。内容图像~p 通过网络,在一个层中的内容表示Pl被存储(右)。然后,一个随机的白噪声图像~x 通过网络,其风格特征Gl和内容特征Fl被计算出来。在包含在风格表示中的每一层,计算Gl和Al之间的元素均方差,以给出风格损失Lstyle(左)。同样,Fl和Pl之间的均方差也被计算出来,以得到内容损失Lcontent(右)。然后,总损失Ltotal是内容和风格损失之间的线性组合。它相对于像素值的导数可以用误差反向传播法计算出来(中间)。这个梯度被用来迭代更新图像~x, 直到它同时符合风格图像~a 的风格特征和内容图像~p的内容特征(中间,底部)。

当卷积神经网络在物体识别方面进行训练时,它们会发展出一种图像的表征,使物体信息在处理层次上越来越清晰[10]。因此,沿着网络的处理层次,输入的图像被转化为对图像的实际内容越来越敏感的表征,但对其精确的外观变得相对不变。因此,网络中较高的层在输入图像中的物体和它们的排列方面捕获高层次的内容,但并不对重建的外部像素值作很大的限制(图1,con-tent重建d,e)。相比之下,来自下层的重建只是简单地再现了原始图像的确切像素值(图1,内容重建a-c)。因此,我们把网络中较高层的特征响应称为内容表示。

2.2.风格表示

为了获得对输入图像风格的表述,我们使用了一个旨在捕获纹理信息的特征空间[10]。这个特征空间可以建立在网络的任何一层的滤波器响应之上。它由不同的滤波器响应之间的关系组成,其中期望值是在特征图的空间范围内取得的。这些特征的相关性由Gram 矩阵 Gl∈RNl×Nl给出,其中Gl ij是第l层中矢量特征图i和j之间的内积
在这里插入图片描述
通过包括多层的特征相关性,我们得到了输入图像的固定的、多尺度的表示,它捕捉到了其纹理信息,但没有捕捉到全局排列。此外,我们可以通过构建一个与给定输入图像的风格表示相匹配的图像,来可视化这些建立在网络不同层上的风格特征空间所捕获的信息(图1,风格重构)。这是通过使用白噪声图像的梯度下降来实现的,以最小化原始图像的 Gram 矩阵的条目和要生成的图像的 Gram 矩阵之间的均方差[10, 25]

让~a 和~x 分别为原始图像和生成的图像,Al和Gl分别为l层的风格表示。
在这里插入图片描述
而总的风格损失是:
在这里插入图片描述
其中wl是各层对总损失贡献的加权系数(关于我们结果中wl的具体数值,见下文)。El相对于l层的激活的导数可以通过分析计算出来:
在这里插入图片描述
El相对于像素值~x的梯度可以用标准误差反向传播法轻易地计算出来(图2,左)。

2.3.风格转移

为了将艺术品~a 的风格转移到照片~p 上,我们合成一个新的图像,同时匹配~p 的内容表示和~a 的风格表示(图2)。因此,我们共同最小化白噪声图像的特征表示与照片在一层的内容表征和卷积神经网络的若干层上定义的绘画风格表示的距离。我们最小化的损失函数是:
在这里插入图片描述
其中α和β分别是内容和风格重建的加权系数。相对于像素值∂Ltotal /∂~x的梯度可以作为一些细微的优化策略的输入。这里我们使用L-BFGS[32],我们发现它对图像合成的效果最好。为了在可比较的尺度上提取图像信息,我们在计算其特征表示之前,总是将风格图像的大小调整到与内容图像相同。最后,请注意,与[24]不同的是,我们没有用图像先验来规范我们的合成结果。不过可以说,来自网络中较低层的纹理特征充当了风格图像的特定图像先验。此外,由于我们使用的网络结构和优化算法不同,预计图像合成会有一些差异。

3. 结果

本文的关键发现是,卷积神经网络中的内容和风格表征是可以很好地分离的。也就是说,我们可以独立地操纵这两种表征,以产生新的、有感知意义的图像。为了证明这一发现,我们生成了混合了两个不同源图像的内容和风格表示的图像。特别是,我们将描述德国T̈ubingen的Neckar河河岸的照片的内容表征与几个著名的艺术作品的风格表征相匹配(图3)。图3中的图像是通过匹配 "conv4 2 "层的内容表现和 “conv1 1”、“conv2 1”、“conv3 1”、"conv4 1 "和 "conv5 1 "层的风格表现而合成的(这些层中wl=1/5,其他层中wl=0)。α/β的比例是1×10-3(图3 B),8×10-4(图3 C),5×10-3(图3 D),或5×10-4(图3 E,F)。
在这里插入图片描述
图3. 将一张照片的内容与几件著名艺术品的风格相结合的图像。这些图片是通过寻找同时符合照片内容和艺术作品风格的图片来创建的。描绘德国T̈ubingen的Neckarfront的原始照片显示在A中(图片:Andreas Praefcke)。为各自生成的图像提供风格的画作显示在每个面板的左下角。B 《弥诺陶洛斯的沉船》,J.M.W. Turner,1805年。C 《星夜》,文森特-凡高,1889年。D 爱德华-蒙克的Der Schrei,1893年。E 巴勃罗-毕加索(Pablo Picasso)的《女郎》(Femme nue assise),1910年。F Composition VII by Wassily Kandinsky, 1913.

3.1. 内容和风格匹配之间的权衡

当然,图像的内容和风格是不能完全分开的。当合成一个结合了一个图像的内容和另一个图像的风格的图像时,通常不存在一个同时完全符合两种约束的图像。然而,由于我们在图像合成过程中最小化的损失函数是内容和风格的损失函数之间的线性组合,我们可以平滑地调节对内容或风格重建的强调(图4)。对风格的强烈强调将导致图像与艺术品的外观相匹配,有效地提供了一个纹理化的版本,但几乎不显示任何照片的内容(α/β = 1 × 10-4,图4,左上)。 当强烈强调内容时,人们可以清楚地识别照片,但绘画的风格就不那么匹配了(α/β=1×10-1,图4,右下方)。对于一对特定的内容和风格的图像,人们可以调整内容和风格之间的权衡,以创造出具有视觉吸引力的图像。
在这里插入图片描述
图4. 匹配内容和各自源图像的风格的相对权重。匹配内容和匹配风格之间的比率α/β从左上到右下增加。对风格的高度强调会有效地产生一个风格图像的文本版本(左上)。对内容的高度强调会产生一个只有少量风格化的图像(右下)。在实践中,我们可以在这两个极端之间平滑地插值。

3.2. 卷积神经网络的不同层的效果

图像合成过程中的另一个重要因素是选择层数来匹配内容和风格代表。如上所述,风格表示是一种多尺度表示,包括神经网络的多个层。这些层的数量和位置决定了风格被匹配的局部尺度,从而导致不同的视觉体验(图1,风格重组)。我们发现,将风格表征匹配到网络中更高的层,可以保留越来越大尺度的局部图像结构,导致更平滑、更连续的视觉体验。因此,视觉上最吸引人的图像通常是通过将风格表征与网络中的高层相匹配而产生的,这就是为什么对于所有显示的图像,我们在网络的 “conv1 1”、“conv2 1”、“conv3 1”、"conv4 1 "和 "conv5 1 "层匹配风格特征。

为了分析使用不同的层来匹配内容特征的效果,我们提出了一个风格转移的结果,通过对一张具有相同作品和参数配置(α/β=1×10-3)的照片进行风格化,但在一个匹配内容特征的 "conv2 2 "层和另一个 "conv4 2 "层中获得(图5)。当在网络的较低层上匹配内容时,算法与照片中的大部分详细像素信息相匹配,生成的图像看起来就像艺术品的纹理只是融合在照片上(图5,中间部分)。相反,当在网络的更高一层匹配内容特征时,照片的详细像素信息就没有那么强的约束,艺术品的质地和照片的内容就被提前合并了。也就是说,图像的精细结构,例如边缘和颜色图,被改变了,从而在显示照片内容的同时与艺术品的风格一致(图5,底部)。
在这里插入图片描述
图5. 在网络的不同层中匹配内容表现的效果。匹配 "conv2 2 "层的内容,保留了原始照片的大部分精细结构,合成的图像看起来就像绘画的纹理简单地混合在照片上(中间)。当匹配 "conv4 2 "层的内容时,绘画的纹理和照片的内容融合在一起,这样,照片的内容就以绘画的风格显示出来(底部)。两幅图像都是在选择相同的参数(α/β=1×10-3)下生成的。作为风格图像的画作显示在左下角,名为Jesuiten III,由Lyonel Feininger创作于1915年。

3.3. 梯度下降的初始化

到目前为止,我们已经用白噪声初始化了所有图像。然而,我们也可以用内容图像或风格图像来初始化图像合成。我们探索了这两种选择(图6 A,B):尽管它们在一定程度上使最终图像偏向初始化的空间结构,但不同的初始化似乎对合成过程的结果没有很大影响。应该注意的是,只有用噪声初始化才能产生任意数量的新图像(图6 C)。用固定的图像初始化总是确定地导致相同的结果(直到梯度下降过程中的随机性)。
在这里插入图片描述
图6. 梯度下降的初始化。A 从内容图像初始化。B 从风格图像初始化。C 从不同的白噪声图像初始化的四个图像样本。对于所有图像,比率α/β等于1×10-3

3.4. 逼真的风格转移

到目前为止,本文的重点是艺术风格的转换。但一般来说,该算法可以在任意图像之间进行风格转换。作为一个例子,我们把纽约夜景照片的风格转移到伦敦白天的图像上(图7)。虽然没有完全保留逼真性,但合成的图像与风格图像的大部分颜色和闪电相似,并在某种程度上显示了伦敦的夜景。

4、讨论

在这里,我们展示了如何利用高性能卷积神经网络的特征表示在任意图像之间转移图像风格。虽然我们能够展示高感知质量的结果,但该算法仍有一些技术限制。

最具局限性的因素可能是合成图像的分辨率。操作问题的维度和卷积神经网络的单元数都随着像素数的增加而线性增长。因此,合成程序的速度在很大程度上取决于图像的分辨率。本文介绍的图像是以大约512×512像素的分辨率合成的,合成过程在Nvidia K40 GPU上可能需要一个小时(取决于确切的图像大小和梯度下降的停止标准)。虽然这种性能目前禁止我们的风格转移算法的在线和互动应用,但未来深度学习的改进也可能会提高这种方法的性能。

另一个问题是,合成的图像有时会受到一些低水平噪音的影响。虽然这在艺术风格的转换中不是一个问题,但当内容和风格图像都是照片时,这个问题就变得更加明显,合成图像的逼真度会受到影响。然而,噪音是非常有特点的,似乎与网络中的单元的过滤器相似。因此,有可能在优化过程后构建有效的去噪技术来对图像进行后期处理。

传统上,图像的艺术风格化在计算机图形学中是在非逼真渲染的标签下研究的。除了关于纹理转移的工作外,常见的方法在概念上与我们的工作完全不同,因为它们给出了专门的算法,以一种特定的风格呈现源图像。对于该领域的最新评论,我们请读者参考[21]

图像内容与风格的分离不一定是一个明确的问题。这主要是因为并不清楚什么是图像的风格的确切定义。它可能是一幅画中的笔触、色彩图谱、某些主要的形式和形状,也可能是场景的构成和图像主题的选择–也可能是所有这些的混合体,甚至更多。因此,一般不清楚图像内容和风格是否可以完全分开,如果可以,如何分开。例如,如果没有类似星星的图像结构,就不可能呈现梵高的 "星空 "风格的图像。在我们的工作中,如果生成的图像 "看起来像 "风格的图像,但又显示出内容图像的物体和风景,我们认为风格转换是成功的。但我们充分意识到,这一评价标准既不具备数学上的精确性,也没有得到普遍认同

然而,我们发现,一个被训练来执行生物视觉的核心任务之一的神经系统,自动学习图像表征,允许——至少在某种程度上——将图像内容与风格分开,这确实很吸引人。一种解释可能是,当学习物体识别时,网络必须对所有保留物体特征的图像变化保持不变。将图像内容的变化和外观的变化因素化的表征对于这项任务是非常实用的。鉴于性能优化的人工神经网络和生物视觉之间惊人的相似性[11, 31, 3, 19, 16],因此很容易推测,人类从风格中抽象出内容的能力——因此我们创造和享受艺术的能力——可能也主要是我们视觉系统强大推理能力的一个卓越标志。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玳宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值