图像风格转移(译文)Image Style Transfer Using Convolutional Neural Networks

前半部分自己翻译,

后半部分参考:https://blog.csdn.net/stdcoutzyx/article/details/53771471

摘要

       不同风格图像语义内容的绘制是图像处理的难点。可以说,以前方法的一个主要限制因素是缺乏显式表示语义信息的图像表示,因此不能将图像内容与样式分离。本文利用卷积神经网络优化后的图像表示方法进行目标识别,使高层次的图像信息更加清晰。介绍了一种艺术风格的神经算法,该算法可以对自然图像的图像内容和风格进行分离和重组。该算法允许我们生成高感知质量的新图像,将任意一张照片的内容与众多知名艺术品的外观结合起来。我们的研究结果为卷积神经网络学习的深度图像表示提供了新的见解,并证明了它们在高级图像合成和操作方面的潜力

1.介绍

    将样式从一个图像转移到另一个图像可以看作是纹理转移的问题。在纹理传输中,目标是从源图像中合成纹理,同时对纹理合成进行约束,以保持目标图像的语义内容。

        对纹理合成现有大量强大的非参数算法可以通过对给定源纹理的像素重新采样来合成逼真的自然纹理[7,30,8,20]。以往的纹理传输算法大多依赖于这些非参数方法来进行纹理合成,同时使用不同的方法来保存目标图像的结构。例如,Efros和Freeman引入了一个对应映射,其中包含目标图像的特征,如图像强度,以约束纹理合成过程[8]。Hertzman等人使用图像类比将纹理从已经风格化的图像转移到目标图像[13]上。Ashikhmin专注于传输高频纹理信息,同时保留目标图像[1]的粗尺度。Lee等人通过添加边缘方向信息[22]来通知纹理传输,从而改进了该算法。

       虽然这些算法取得了显著的效果,但都存在着相同的基本限制:它们只使用目标图像的低层图像特征来通知纹理传输。然而,理想情况下,样式转换算法应该能够从目标图像(例如对象和一般场景)中提取语义图像内容,然后通知纹理转换过程以源图像的样式呈现目标图像的语义内容。

        因此,一个基本的先决条件是找到图像表示方法,独立地对语义图像内容及其呈现方式的变化进行建模。在此之前,这种分解表示只能用于自然图像的受控子集,如不同光照条件下的人脸、不同字体风格的字符[29]或手写数字和门牌号[17]。

fg:重建内容。我们可以通过只知道网络在特定层的响应来重构输入图像,从而在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)。这将创建给定图像的图像匹配的样式越来越规模而丢弃信息的全球场景的安排。

        在自然图像中,如何将内容与风格区分开来仍然是一个极其困难的问题。然而,最近深度卷积神经网络[18]的发展已经产生了强大的计算机视觉系统,学习从自然图像中提取高级语义信息。结果表明:卷积神经网络在训练时有足够的标签数据对具体任务,那么cnn的对象识别会提取高层图像内容来概括整个数据集的通用特性表征[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不同过滤器的层具有大小为Ml的Nl特征映射,其中Ml是特征映射的高度乘以宽度。因此,层l中的响应可以存储在矩阵Fl∈RNl×Ml中,其中Fl ij为层l中位置j处的第i个滤波器的激活。

为了可视化不同层次结构中编码的图像信息,可以对白噪声图像进行梯度下降,以找到与原始图像的特征响应匹配的另一幅图像(图1,内容重构)[24]。设p~和~x为原始图像和生成的图像,Pl和Fl分别在层l中表示各自的特征。

然后定义两个特性表示之间的平方误差损失,利用标准误差反向传播(图2,右)可以计算出关于图像~x的梯度。因此,我们可以改变原始随机图像~x,直到它在卷积神经网络的某一层产生与原始图像p~相同的响应。

当卷积神经网络被训练用于目标识别时,它们开发了一种图像表示,使目标信息沿着处理层次[10]变得越来越清晰。因此,沿着网络的处理层次结构,输入图像被转换成对图像的实际内容越来越敏感的表示形式,但对其精确的外观却变得相对不变。因此,网络中较高的层捕获对象及其在输入图像中的排列方面的高级内容,但对重构的精确像素值没有太多约束(图1,内容重构d,e)。相比之下,较低层次的重构只是复制原始图像的精确像素值(图1,内容重构a-c)。因此,我们将网络上层的特性响应称为“内容表示”。

2.2 风格表达

为了获得输入图像样式的表示,我们使用一个特征空间来捕获纹理信息[10]。这个特性空间可以构建在网络任何层的过滤器响应之上。它由不同滤波器响应之间的相关性组成,其中期望包含了特征映射的空间延申。这些特征关联由Gram 矩阵 GL∈RNL×NL给出,其中GL ij为第L层向量化特征映射i与j的内积:

通过包含多层的特征关联,我们得到了输入图像的一个平稳的多尺度表示,它捕获了图像的纹理信息,但没有捕获全局排列。同样,通过构建与给定输入图像的样式表示相匹配的图像(图1,样式重构),我们可以可视化这些构建在网络不同层上的样式特征空间捕获的信息。这是通过使用来自白噪声图像的梯度下降来实现的,以最小化原始图像与生成图像的Gram矩阵项之间的平均平方距离[10,25]。

图2: 风格转换算法。首先内容和风格特征提取完并存储。风格图片a经过整个网络,在所有包含的层上风格表达Al被计算和存储(图左)。内容图片p经过整个网络,在一个层上的内容表达Pl被存储(图右)。一张随机的白噪声图片x流经整个网络,它的风格特征Gl,和内容特征Fl被计算出来。在风格表达中包含的每个层上,在Gl和Al的元素级的均方误差计算出来作为风格损失Lstyle(左)。同时在Fl和Pl间计算出均方误差作为内容的损失Lcontent(右)。全局损失Ltotal是一个内容和风格损失的线性连接。它对像素值的导数可以用误差BP计算出来。梯度用来反复更新图片x,直到它同时匹配风格图片a的风格特征与,内容图片p的内容特征。

设~a和~x为原始图像和生成的图像,Al和Gl分别在层l中表示各自的样式,则层l对总损失的贡献为:

全局风格损失是:

其中wl为各层对总损失贡献的权重因子(我们的结果中wl的具体值见下文)。El对l层活跃性的导数可以解析地计算出来:

El相对于像素值~x的梯度很容易用标准误差反向传播计算(图2,左)。

2.3 风格转换

为了将艺术品a的风格转移到照片p~上,我们合成了一个新的图像,此图像同时匹配p~的内容表示和~a的风格表示(图2)。

因此,我们同时缩小 白噪声图像的特征表示与 图片在某一层的内容表达和在CNN的多个层上定义的风格表达 之间的距离。我们最小化的损失函数是

α和β分别是内容和风格重建的权重因素。对像素值的梯度∂Ltotal/∂~x的梯度值可以作为一些数值优化策略的输入。这里我们使用L-BFGS[32],我们发现它最适合图像合成。为了在可比较的尺度上提取图像信息,在计算其特征表示之前,我们总是将样式图像的大小调整为与内容图像相同的大小。最后,请注意,与[24]不同的是,我们没有使用图像先验来规范我们的合成结果。不过,可以认为,网络中较低层次的纹理特征作为样式图像的特定优先级。此外,由于我们使用的网络结构和优化算法的不同,预计在图像合成方面会有一些差异。

实验

实验使用的是训练好的19层VGG,并通过调整权重使得每一层的激活值得均值为0。权重的调整并不会影响VGG的输出。在试验中没有使用全连接层。

实验调整了一些参数,相对其他论文而言,本论文的参数其实并不多,有:

loss加权的权重之比
层级的选择
初始化的方法。


loss权重之比

比例越大,内容就越强势。

层级的选择

固定住风格的层级,变动内容的层级,可以看到,内容层级越低,结果图片中的内容就越明显。

初始化方法的选择

A: 从内容图片初始化
B: 从风格图片初始化
C: 随机初始化
可以看到,初始化的不同似乎对最后结果影响不大。

 

效果

一张图片对应到各种风格:

 

照片风格转换:

讨论

速度,因为每张图片的生成都要求导很多遍,因而高清图片的生成非常慢。
会引入噪声,在风格转换上不明显,但风格和内容都是照片的情况下,就变得非常明显了。但这个问题估计可以很容易解决。
风格转换的边界非常不明显,人类也无法量化一张图片中哪一些属于风格,哪一些属于内容。
风格转换的成功为生物学中人类视觉原理的研究提供了一条可以切入的点。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值