卷积神经网络图像风格转移
Image Style Transfer Using Convolutional Neural Networks
李俊, 2019年1月25日 星期五
摘要
以不同的风格渲染图像的语义内容是一项困难的图像处理任务。可以说,之前方法的一个主要局限因素是缺乏明确表示语义信息的图像表示,其用于将图像内容从风格中分离。这里我们使用为物体识别优化后的卷积神经网络的图像表示,它使高层的图像信息更明显。我们提出一种艺术风格的神经算法,可以将图像的内容和自然风格分离和再合并。这个算法让我们可以通过将任意图像的内容和许多众所周知的艺术作品结合起来,生产出高感知质量的新图像。我们的结果呈现了通过卷积神经网络学习的深度图像表示的新见解,展示了其高层图像合成和操作的潜力。
1 简介
将一幅图像的风格转移到另外一幅图像上可以被认为是一个纹理转移问题。在纹理转移中,目标是从一幅源图像中合成纹理,其间约束纹理合成以保留目标图像的语义内容。对于纹理合成,有大量强有力的非参数方法,它们可以通过对给定的源纹理图像的像素重新采样来合成逼真的自然纹理[7, 30, 8, 20]。之前的大多数纹理转移算法都是依赖于这些非参数的方法用于纹理合成,且用了不同方法保留目标图像的结构。例如,Efros和Freeman提出了一个对应关系图,包括了目标图像的特征,比如图像强度,来约束纹理合成过程[8]。Hertzman用图像类比将已风格化图像中的纹理转移到目标图像中[13]。Ashikhmin专注于转移高频纹理信息,只保留目标图像的粗糙比例[1]。Lee在纹理转移过程中添加边缘取向信息来增强算法[22]。
尽管这些算法取得了显著的效果,但它们都受限于同一个基本问题:它们在纹理转移中只使用了目标图像的低层图像特征。然而理想情况下,一个风格转移算法应该能够从目标图像中提取图像语义内容(比如,目标和一般场景),然后通知纹理转移流程根据源图像风格渲染目标图像的语义内容。因此,一个先决条件是要找到可以独立对图像语义内容和风格建模的图像表示。这样的映像表示之前只对于自然图像中受控制的子集可以获得,比如不同光照条件的人脸,和不同字体的字符[29],或者手写数字和门牌号[17]。
将图像的内容从风格中分离开的通用方法仍然是一个非常困难的问题。然而,最近深度卷积神经网络的进步产生了一些强大的计算机视觉系统,可以学习从自然图像中提取高层语义信息。采用充足标注的数据训练的卷积神经网络在特定任务中,比如物体识别,在一般的特征表示中学习提取高层图像内容,可以在数据集上泛化[6],甚至也可以应用于其他视觉信息处理任务[19, 4, 2, 9, 23],包括纹理识别[5]和艺术风格分类[15]。
在本文中,我们展示了高性能卷积神经网络如何学习一般的特征表示,用于独立处理和操作图像的内容和风格。我们提出艺术风格的神经算法,一种用于执行图像风格转移的新算法。思路上,它就是通过采用最新卷积神经网络以获得特征表示来约束纹理合成的纹理转移算法。虽然纹理模型也基于深度图像表示,这个风格转移方法巧妙地简化为了一个神经网络中的优化问题。新图像通过执行原像搜索以匹配样本图像中的特征表示来生成。这个通用方法在纹理合成之前使用[12, 25, 10],且增强对深度图像表示的理解[27 ,24]。事实上,我们的风格转移算法结合了一个基于卷积神经网络的参数纹理模型[10]和一个用来转化它们的图像表示的方法[24]。
图1. 卷积神经网络中的图像表示。在卷积神经网络的每个处理阶段,一个给定的输入图像被表示为滤波过的图像。虽然滤波器的数量沿着处理的层级增加,滤波后的图像大小被某种降采样机制减少(比如,最大池化),导致网络中每层单元的总数量下降。内容重建:我们可以在只知道特定层的网络响应的情况下,通过重建输入图像,在CNN的不同处理阶段将信息可视化。我们重建了初始VGG网络中的来自lsquo;conv1_2rsquo; (a), lsquo;conv2_2rsquo; (b), lsquo;conv3_2rsquo; (c), lsquo;conv4_2rsquo; (d),lsquo;conv5_2rsquo; (e)层的输入图像。我们发现从网络中的低层来重建接近完美(a-c)。在网络的高层,细节的像素信息会丢失,而高层的图像内容被保留了下来(d,e)。风格重建:在初始CNN激活的顶层,我们使用一个特征空间,用于捕捉输入图像的纹理信息。这种风格表示计算CNN中不同层的不同特征间的关系。我们从CNN层(lsquo;conv1_1rsquo; (a), lsquo;conv1_1rsquo; 和lsquo;conv2_1rsquo;(b),lsquo;conv1_1rsquo;, lsquo;conv2_1rsquo; and lsquo;conv3_1rsquo; (c), lsquo;conv1_1rsquo;, lsquo;conv2_1rsquo;, lsquo;conv3_1rsquo; 和lsquo;conv4_1rsquo; (d), lsquo;conv1_1rsquo;, lsquo;conv2_1rsquo;, lsquo;conv3_1rsquo;, lsquo;conv4_1rsquo;and lsquo;conv5_1rsquo; (e))的不同子集上构建的风格表示,以重建输入图像的风格。这样创建的图像在一个逐步增加的规模上会匹配给定图像的风格,同时会丢掉场景的全局结构信息。
2 深度图像表示
以下展示的结果是基于的VGG网络生成的[28],这个网络被训练用于执行物体识别和定位任务,更多细节如原作所示[28]。我们使用了常规的包含16个卷积层和5个池化层的19层VGG网络提供的特征空间。我们通过缩放权值来规范化网络,使每个卷积滤波器对图像和位置的平均激活量等于1。这种重新缩放可以在不改变输出的情况下对VGG网络进行,因为它只包含线性激活函数的校正,没有对特征关系图进行标准化或池化。我们也不使用任何全连接层。模型是公开的,可以在caffe架构中找到[14]。对于图像合成,我们发现用平均池化取代最大池化操作时生成的结果更好,这就是展示的图像使用平均池化来生成的原因。
2.1 内容表示
通常网络中每层定义了一个非线性滤波器组,其复杂度随着这层在网络中的位置而增加。因此,一个给定的输入图像,由卷积神经网络的每一层滤波器对其的响应进行编码。一个有个不同的滤波器的层有个大小为的特征关系图,这里是特征关系图的高乘宽。所以,一个层l的响应可以存储在矩阵中,其中是层l的位置j上的第i个滤波器的激活值。
为了将在层级结构的不同层上进行编码的图像信息可视化,可以在一个带有白噪声的图像上执行梯度下降算法寻找可以匹配原始图像特征响应的另外一个图像(参考图1,内容重建)[24]。令和 分别为原始图像和生成的图像,和分别是它们在层l中的特征表示。那么,我们可以定义两个特征表示之间的方差损失为:
这个损失对于层l的激活函数的导数为:
图像 的梯度可以用标准误差反馈传播计算(如图2右侧)。因此,我们可以改变初始随机图像直到卷积神经网络的某一层可以生成与原始图像 相同的响应。
当卷积神经网络在物体识别上训练时,它们可以生成一个对图像的表示,其在网络层级的处理过程中使得物体信息越来越明显[10]。因此,随着网络的处理层级,输入图像会发生转变,对图像的真正内容越来越敏感,但对精确的外观变得相对不变。因此,网络的高层会捕捉输入图像的高阶内容,比如物体和它们的结构,但不会很限制重构过程中的确切像素值(如图1中,内容重建 d,e)。相反,低层重建只是简单地复制原始图像中的确定的像素值(如图1,内容重建 a-c)。因此,我们将网络中高层的特征响应作为内容表示。
图2. 风格迁移算法。首先,内容和风格被提取并存储起来。风格图像 在网络中传递,它在所有层包含的风格表示被计算并存储(左)。内容图像 在网络中传递,在一个层的内容表示被存储(右)。然后,一个随机白噪声图像 在网络中传递,其风格特征和内容特征被计算。在风格表示包含的每个层中,和的元素间均方差被计算用于提供风格以误差(左)。还有,和间的方差被计算用于提供内容误差(右)。那么总误差就是内容和风格误差的线性结合。其对像素值的导数可以使用误差反向传播计算(中间)。它的梯度被用来迭代更新图像 ,直到该图像自动与风格图像 的风格特征和内容图像 的内容特征匹配(中间,底部)
2.2 风格表示
为了获得输入图像的风格表示,我们用特征空间获得纹理信息[10]。这个特征空间可以在网络的任意层中的滤波器响应结果上构建。它由不同滤波器响应结果的相关关系组成,其中期望值从特征关系图空间幅度上取值。这些特征关系用Gram矩阵表示,其中是层l的向量化特征关系图i和j之间的内积:
通过包含多个网络层的特征相关关系,我们可以得到一个固定的、多尺度的输入图像的表示,其可以捕获纹理信息,但没有全局结构信息。同样的,我们可以匹配给定输入图像的风格表示构建一个图像,可视化在网络不同层构建风格的特征空间上捕捉的信息(如图1,风格重建)。这个任务通过在白噪声图像上使用梯度下降算法最小化原始图像的Gram矩阵和生成图像的Gram矩阵的条目的平均平方距离来实现。
令 和 分别表示原始图像和生成图像,和分别表示层l的风格表示。层l相对于总损失的贡献是:
总风格损失函数:
其中是每层对总损失函数的贡献权重因子(如下面结果中特定的值)。对层l的激活函数的偏导数的解析计算如下:
对像素值 的梯度可以用标准误差反向传播计算出来,(如图2,左)。
2.3 风格转移
为了将艺术作品 的风格转移到照片 上,我们同步匹配 的内容表示和 的风格表示,合成一个新图像[2]。 因此,我们从卷积神经网络一层的图像内容表示和若干层上定义的绘画风格表示得到的白噪声图像,联立求解其特征表示最小化距离。最小化的损失函数为:
其中alpha;和beta;分别是内容重建和风格重建的权重因子。对像素值的梯度可以作为某些数值优化策略的输入值。这里我们使用L-BFGS[32],可以非常好的应用于图像合成中。为了提取可比较规模上的图像信息,在计算特征表示之前,我们需要改变风格图像大小与内容图像大小一样。最后,注意与论文24不同,我们并不用图像先验来规范化合成结果。不过,从网络的低层提取的纹理特征作为风格图像的特定图像先验信息是有争议的。另外,因为我们使用不同的网络架构和优化算法,在图像合成上也会有不同结果。
3 结果
本文核心的发现是卷积神经网络中的内容表示和风格表示可以很好地分离。也就是说,我们可以独立地操作二者去生产有感知意义的新图像。为了演示这个发现,我们从两个不同的源图像生成混合内容表示和风格表示的图像。具体来说,我们匹配了德国图宾根内卡河的照片的内容表示和几种著名的不同艺术时期作品的的风格表示(图3)。图3所示的图像通过匹配网络层lsquo;conv4_2rsquo;的内容表示和网络层 lsquo;conv1_1rsquo;, lsquo;conv2_1rsquo;, lsquo;conv3_1rsquo;, lsquo;conv4_1rsquo;和 lsquo;conv5_1rsquo;(这些层中 = 1/5, 其他层中 = 0 )的风格表示合成图像。alpha;/beta;的比值分别是1 times; 10minus;3 (Fig 3 B), 8 times; 10minus;4 (Fig 3 C), 5 times; 10minus;3(Fig 3 D), 或者 5 times; 10minus;4 (Fig 3 E, F)。
图3:合并照片内容和几种出名的艺术照生成的照片。同时匹配照片内容表示和艺术绘画的风格表示生成图像。A图是德国图宾根内卡河照片。左下角面板里面提供了生成图像的风格的绘画。B是1805年英国画家约瑟夫·玛罗德·威廉·特纳的《The Shipwreck of the Minotaur》。C是1889年文森特·梵高《The Starry Night》。D是1893年爱德华·蒙克《Der Schrei》。E是1910年巴勃罗·毕加索的《Femme nue assise》。F是1913年瓦西里·康定斯基的《Composition VII》。
3.1 内容和风格之间的取舍
当然,图像的内容和风格不可能完全解绑。当用另外一个图像风格合并一个图像的内容合成新图像时,通常不存在一个图像可以同时完全匹配两种约束。然而,既然在合成图像中,最小化的损失函数是内容和风格损失函数的线性组合,我们可以轻易地正则化内容重建或风格重建的权重(图4)。风格的强权重会导致图像匹配艺术品的外观,有效地提供了一个纹理化的图像版本,但几乎没有显示图像的内容(alpha;/beta; = 1 times; 10minus;4,图4,左上)。当给予内容较高权重时,我们可以清晰地识别照片,但画作的风格无法很好地匹配(alpha;/beta; = 1 times; 10minus;1,图4,右下)。对特定的内容图像和风格图像对,我们可以调整内容和风格之间的取舍来创造出视觉上吸引人的图像。
图4:匹配各自源图像的内容和风格的相对权重。匹配内容和风格比值alpha;/beta;从左上到右下依次增加。特别强调风格会生成纹理化的风格图像版本(左上)。
全文共14737字,剩余内容已隐藏,支付完成后下载完整资料
英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[724]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。