艺术(图像风格转换) A Neural Algorithm of Artistic Style

艺术(图像风格转换) A Neural Algorithm of Artistic Style

标签(空格分隔): 论文翻译 未完成


1.论文翻译

1.1 课题引入

在绘画方面,人类已经学会如何将内容和风格完美结合从而画出一幅复杂的作品。但是目前,对于生成特定风格的图像这个问题,我们并不能找到一种固定的算法。受深层神经网络在人脸识别方面表现优秀的启发,我们可以利用深层神经网络来创建特定风格的图像。

1.2 卷积神经网络(CNN)

1.2.1 简介

在图像处理任务中,最强大的深层神经网络被称为卷积神经网络(Convolutional Neural Networks)。它由不同的层组成,每一层都可以理解为一组图像滤波器(image filters),每一层都从输入图像提取特定特征。通过给定层输出就可以得到特征图(feature maps)。

1.2.2 卷积神经网络应用于物体识别的启发

当卷积神经网络被训练在物体识别上时,随着网络层次的增加,输入图像被转化为越来越关注图片的实际内容,而不是具体的像素值。图一就是每层图像可视化的演示。因此,我们可以将网络中高层的特征响应作为图像的内容表示。

1.3 获取和可视化风格表达

为了获得输入图像风格的表示,我们使用了一种最初设计用来捕捉纹理信息的特征空间(feature space)。这个特征空间是在网络的每一层的滤波器(filters)的响应之上构建的,它包含了不同的过滤器响应在特征图(feature maps)的空间范围内的相关性(见方法细节)。通过包含多个层的特征关联,我们获得了一个静态的、多层的输入图像的风格表达,它捕捉了图像的纹理信息,而不是全局的排列。

和内容一样,样式同样可以可视化(见图1),我们可以通过我们的特征空间(feature spaces)来构建给定输入图像的图像的样式表示。从图中可以看出,从样式特征重新构建的图像会产生输入图像的纹理化版本,以颜色和局部结构来捕捉它的整体外观。此外,来自输入图像的图像结构的大小和复杂性也随着层次结构的增加而增加,这一结果可以通过不断增长的接受域大小和特性的复杂性来解释。

艺术(图像风格转换) A Neural Algorithm of Artistic Style_第1张图片

【图1】

图像说明:(1)卷积神经网络:输入图像在CNN的每一层被表示为一组经过过滤的图像,而不同的过滤器的数量随着处理层级的增加而增加,过滤后的图像的尺寸会因为采样机制(池化)(例如max-pooling)而减少,从而导致网络每层的总计算单元数量减少。

(2)内容重构:图中可视化了CNN模型中的conv1 1’ (a), ‘conv2 1’ (b), ‘conv3 1’ (c), ‘conv4 1’ (d) ‘conv5 1’ (e)这几层。

(3)风格重构:和前面讲的一样,特征空间包含CNN不同层次的不同特征的关联,而且是依据CNN每层的不同子集和来构建的,因此能创造出于给定图像风格相匹配的图像,同时丢弃了全局排列信息。

这篇论文的关键发现是,在神经网络中,内容和形式的表现是可分离的。因此,我们可以对这两种表述进行精确的操作,从而产生新的、有感知意义的图像。

图像的合成方法是找到一张图像,同时匹配图像的内容表现和相应的艺术作品的风格表现(具体细节见方法介绍)。

图2为作者的实验成果。
艺术(图像风格转换) A Neural Algorithm of Artistic Style_第2张图片
【图2】

样式是一种多层次的表示,图二的样式表示包含整个网络的层次。样式也可以更局部地定义,图三演示了包含更少层次的样式所产生的效果。从图中可以看出,当样式表示与网络中的高层相匹配时,图像结构会以越来越大的比例进行匹配,从而带来更流畅、更持续的视觉体验。因此,最好的风格转换效果通常是通过匹配网络中最高层次的样式表示(图3、最后一行)来创建的。
艺术(图像风格转换) A Neural Algorithm of Artistic Style_第3张图片
【图三】

当然,图像的内容和风格不能完全分离,当合成一个图像的时候,需要把一个图像的内容和另一个图像的样式结合起来,但通常不存在一个完美地同时匹配两个约束的图像。于是我们需要一个损失函数(loss function),通过调整损失函数参数,我们可以在内容和风格之间进行取舍。

1.4 应用

在我们的演示中,我们以一系列知名的艺术作品呈现出一张特定的照片。这个问题通常出现在计算机视觉的一种叫做非写实渲染的分支上。概念上最接近的是使用纹理转换来实现艺术风格转换的方法,然而这些方法主要依赖于非参数技术来直接操纵图像的像素表示。相比之下,通过在对象识别技术上训练的深度神经网络,我们可以在特征空间中明确地表达出高水平内容。

通过对物体识别进行训练的深层神经网络的特征,已经被用于对图像进行分类识别,以便根据所创建的时间对艺术品进行分类。在那里,分类器在原始网络激活的基础上进行训练,这些活动都是在内容表示的基础上进行的。我们推测,将样式表达转换为一种静态的特征空间可能会在风格分类中获得更好的性能。

总的来说,我们将内容和风格混合的图像合成方法,提供了一种新的、有趣的工具来研究风格和内容独立的外观形象和神经感知。我们可以设计出新颖的刺激,引入两个独立的、有感知意义的变化源:图像的外观和内容。我们设想,这将对大量的关于视觉感知的实验研究有用,包括心理物理学、功能成像,甚至是电生理学神经记录。事实上,我们的工作提供了一种算法,即神经表达可以独立地捕捉图像的内容和呈现的风格。重要的是,我们的风格表现形式的数学形式产生了一个清晰的、可验证的假设,关于形象表象的表象下到单个神经元的层次。这种形式的表达只是简单地计算出网络中不同类型神经元之间的关联。

1.5 方法

本文提出的结果是在 VGG 网络的基础上产生的,该网络是一种卷积神经网络,它可以在普通的视觉对象识别任务上与人类的能力相媲美。对于图像合成,我们发现用平均池来替代最大池操作可以改善梯度流,并且可以得到更加吸引人的结果,这就是为什么所显示的图像是用平均池生成。

对于一个网络可以分为若干层,每一层又有若干非线性的滤波器组,其复杂度随着所处的层数增加而增加。所以,对于一个输入图 x⃗  x → ,每一层中滤波器都会对他产生一个响应作为这个图像的编码。一个具有 Nl N l 个滤波器的层可以产生 Nl N l 个特征图像,其尺寸为 Ml M l ( Ml M l 为该图像的长乘宽)。因此,层 l 的响应可以存在一个矩阵中:

FlRN1M1 F l ∈ R N 1 ∗ M 1

其中, Flij F i j l 是第 l 层中第 i 个滤波器对第 j 个位置的响应。为了可视化不同层对图像的编码信息,我们采用对图像白噪声梯度下降的方法,以找到与原始图像的特征响应相匹配的另一图像。所以,我们设 p⃗  p → 为原始图像, x⃗  x → 为生成图像 Pl P l Fl F l 分别表示网络中 l 层的特征,我们定义两个特征之间的平方误差损失为:

Lcontent(p⃗ ,x⃗ ,l)=12ij(FlijPlij)2 L c o n t e n t ( p → , x → , l ) = 1 2 ∑ i j ( F i j l − P i j l ) 2

其导函数为:

LcontantFlij={(FlPl)0Flij>0Flij<0 ∂ L c o n t a n t ∂ F i j l = { ( F l − P l ) F i j l > 0 0 F i j l < 0

从中可以使用标准误差反向传播来计算相对于图像 x 的梯度。 因此,我们可以改变最初的随机图像 x⃗  x → ,直到它产生误差最小的应答层,作为 CNN 原始图像 p⃗  p → 。图 1 中的五个内容重构来自原始 VGG 网络的层 1(a),’conv2 1’(b),’conv3 1’(c),’conv4 1’(d)和’conv5 1’(e)。

在网络每一层的 CNN 响应之上,我们建立了一个风格表示,计算不同的滤波器响应之间的相关性,其期望值是在输入图像的空间范围内的。 这些特征相关性由格雷姆矩阵 GlRNlNl G l ∈ R N l ∗ N l 给出,其中 Glij G i j l 为矢量化特征映射之间的内积:

Glij=kFlikFljk G i j l = ∑ k F i k l F j k l

为了使生成图像与给定图像的风格相匹配(图 1,样式重建),我们使用白噪声图像的渐变下降来找到与原始图像的样式表示相匹配的另一个图像。 这是通过最小化来自原始图像的格拉姆矩阵的条目与要生成的图像的格拉姆矩阵之间的均方距离来完成的。接下来,我们记 a⃗  a → 为原始图像,x为生成图像, Al A l Gl G l 分别为网络层的风格特征响应,则每一层的风格损失为:

El=14Nl2Ml2ij(GlijAlij)2 E l = 1 4 N l 2 M l 2 ∑ i j ( G i j l − A i j l ) 2

其导数为:

ElFlij={14Nl2Ml2(FlT(GlAl))ji0Flij>0Flij<0 ∂ E l ∂ F i j l = { 1 4 N l 2 M l 2 ( F l T ( G l − A l ) ) j i F i j l > 0 0 F i j l < 0

则,网络的风格总损失就为:

Lstyle(a⃗ ,x⃗ )=Ll=0wlEl L s t y l e ( a → , x → ) = ∑ l = 0 L w l E l

其中 wl w l 为每一层所占的比重。
最后我们把内容损失和风格损失相加即可:

Ltotal(p⃗ ,a⃗ ,x⃗ )=αLcontent(p⃗ ,x⃗ )+βLstyle(a⃗ ,x⃗ ) L t o t a l ( p → , a → , x → ) = α L c o n t e n t ( p → , x → ) + β L s t y l e ( a → , x → )

其中α和β分别是内容和风格重构的权重因子。这个因素也是由多个网络层共享的,并且具有非零权重w_l。

你可能感兴趣的:(论文翻译)