【读点论文】A Neural Algorithm of Artistic Style 通过分析卷积各层实现内容与风格分离,低层次响应描述图像的风格,高层次响应描述图像的内容

A Neural Algorithm of Artistic Style

  • 在美术中,尤其是绘画,人类已经掌握了通过在图像的内容和风格之间构建复杂的相互作用来创造独特视觉体验的技能。

  • 到目前为止,这个过程的算法基础还是未知的,也不存在具有类似能力的人工系统。然而,在视觉感知的其他关键领域,如物体和人脸识别,最近一类被称为深度神经网络的生物启发视觉模型展示了接近人类的表现。在这里,本文介绍一个基于深度神经网络的人工系统,它可以创建高感知质量的艺术图像。

  • 该系统使用神经表示来分离和重组任意图像的内容和风格,为艺术图像的创建提供神经算法。此外,鉴于性能优化的人工神经网络和生物视觉之间惊人的相似性,本文的工作为人类如何创造和感知艺术意象的算法理解提供了一条道路。

    • 使用VGG19的识别网络,提取图像不同层级的特征。

      • 在这里插入图片描述
    • 低层次响应描述图像的风格,高层次响应描述图像的内容

    • 使用梯度下降方法,可以调整输入响应,在特定层次获得特定的响应。

    • 多次迭代之后,输入响应即为特定风格和内容的图像。

引言
  • 在图像处理任务中最强大的一类深度神经网络被称为卷积神经网络。卷积神经网络由多层小型计算单元组成,这些计算单元以前馈方式分层处理视觉信息(见下图)。
    • 在这里插入图片描述
    • Convolutional Neural Network (CNN).给定的输入图像为CNN中每个处理阶段的一组滤波图像。虽然不同滤波器的数量沿着处理层级增加,但是通过某种下采样机制(例如,最大池)减小了滤波图像的大小,从而导致网络每层的单元总数减少。
    • 内容重建。可以通过已知道特定层中网络的响应来重建输入图像,从而可视化CNN中不同处理阶段的信息。从原始VGG网络的层“con v1 1”(a)、“con v2 1”(b)、“con v3 1”©、“con v4 1”(d)和“con V5 1”(e)重建输入图像。发现从较低层的重建几乎是完美的(a,b,c)。在网络的较高层中,详细的像素信息丢失,而图像的高级内容被保留(d,e)
    • 风格重建。在原始CNN表示的基础上,建立一个新的特征空间来捕捉输入图像的风格。风格表示计算CNN不同层中不同特征之间的相关性。
    • 从CNN层的不同子集(conv1_1(a),conv1_1,conv2_1”(b),**conv1_1,conv2_1,conv3_1©,**conv1_1,conv2_1,conv3_1(d)、conv1_1,conv3_1,conv4_1(d)、conv1_1,conv2_1,conv3_1,conV5_1(e))上构建的样式表示来重建输入图像的样式。这创建了在增加的比例上匹配给定图像的风格的图像,同时丢弃了场景的全局排列的信息。
  • 每层单元可以理解为图像滤波器的集合,每个滤波器从输入图像中提取某个特征。因此,给定层的输出由所谓的特征图组成:输入图像的不同过滤版本。
  • 当卷积神经网络在对象识别方面接受训练时,它们会开发一种图像表示,使对象信息在处理层次上变得越来越清晰。
  • 因此,在网络的处理层次上,输入图像被转换为表示,与图像的详细像素值相比,它越来越关心图像的实际内容。可以直接可视化每层包含的关于输入图像的信息,方法是仅从该层中的特征图重建图像。
  • 网络中的较高层根据对象及其在输入图像中的排列来捕获高级内容,但是不约束重建的精确像素值。(上图,内容重建d,e)。相比之下,来自较低层的重建简单地再现了原始图像的精确像素值(上图,内容重建a、b、c)。因此,将网络高层中的特征响应称为语义表示。
  • 为了获得输入图像风格的表示,使用最初设计用于捕捉纹理信息的特征空间。该特征空间建立在网络各层的滤波器响应之上。它由特征图空间范围内不同滤波器响应之间的相关性组成。通过包括多层的特征相关性,获得了输入图像的静态、多尺度表示,其捕获了其纹理信息,但没有捕获全局排列。
  • 同样,可以通过构建一个与给定输入图像的风格表示相匹配的图像,将这些建立在网络不同层上的风格特征空间捕获的信息可视化。事实上,从风格特征的重建产生了输入图像的纹理化版本,其在颜色和局部化结构方面捕捉了其总体外观。
  • 此外,来自输入图像的局部图像结构的大小和复杂性沿着层级增加,这一结果可以通过感受野大小和特征复杂性的增加来解释。将这种多尺度表示称为风格表示。
  • 本文的主要发现是卷积神经网络中内容和风格的表示是可分离的。也就是说,可以独立地操纵这两种表征来产生新的、感知上有意义的图像。为了演示这一发现,本文生成了混合了来自两个不同源图像的内容和样式表示的图像。特别是,将一张描绘德国图宾根“Neckarfront”的照片的内容表示与取自不同艺术时期的几幅著名艺术品的风格表示进行了匹配(下图)。
    • 在这里插入图片描述
    • 将一张照片的内容与几幅著名艺术作品的风格相结合的图像。通过找到同时匹配照片的内容表示和艺术品的风格表示的图像来创建图像。
    • 描绘德国图宾根Neckarfront的原始照片显示在A中。为相应生成的图像提供样式的绘画显示在每个面板的左下角。B:特纳于1805年所作的《弥诺陶洛斯的沉船》。C:文森特·梵高1889年创作的《星夜》。D:爱德华·蒙克1893年的《画报》。E:巴勃罗·毕加索1910年创作的《被遗弃的女人》。F:瓦西里·康丁斯基的Composition VII,1913年。
  • 通过找到同时匹配照片的内容表示和相应艺术作品的风格表示的图像来合成图像。虽然原始照片的整体布局得以保留,但组成全局风景的色彩和当地结构是由艺术品提供的。实际上,这以艺术作品的风格呈现照片,使得合成图像的外观类似于艺术作品,即使它显示与照片相同的内容。
  • 风格表示是包括多层神经网络的多尺度表示。在上图中展示的图像中,样式表示包括来自整个网络层次结构的层。风格也可以通过只包含少量较低层来更局部地定义,从而导致不同的视觉体验(见下图,沿着行)。
    • 在这里插入图片描述
    • 详细结果为风格的绘画Composition VII 由瓦西里·康丁斯基。这些行显示了匹配CNN层的递增子集的样式表示的结果。当包括来自网络更高层的风格特征时,由风格表示捕获的局部图像结构在大小和复杂性上增加。
    • 这可以解释为沿着网络的处理层次,感受野的大小和特征的复杂性不断增加。这些列显示了内容和风格重建之间不同的相对权重。每一栏上面的数字表示强调照片内容和艺术品风格之间的比率α/β。
  • 当将样式表示向上匹配到网络中的更高层时,本地图像结构在越来越大的规模上被匹配,导致更平滑和更连续的视觉体验。因此,视觉上最吸引人的图像通常是通过将样式表示匹配到网络中的最高层来创建的(见上图,最后一行)。
  • 当然,图像内容和风格不能完全分开。当合成将一个图像的内容与另一个图像的风格相结合的图像时,通常不存在同时完美匹配两个约束的图像。然而,在图像合成过程中最小化的损失函数分别包含内容和风格两个术语,这两个术语是分开的。可以平稳地调整重建内容或样式的重点(见上图,沿着列)。对风格的强烈强调将产生与艺术品外观相匹配的图像,有效地给出其纹理版本,但几乎不显示照片的任何内容(见上图,第一列)。
  • 当把重点放在内容上时,人们可以清楚地识别照片,但绘画的风格并不匹配(见上图,最后一列)。对于特定的一对源图像,可以调整内容和风格之间的平衡,以创建视觉上吸引人的图像。
相关工作
  • 提出了一个人工神经系统,它实现了图像内容与风格的分离,从而允许以任何其他图像的风格来重建一个图像的内容。通过创造新的艺术图像来证明这一点,这些图像结合了几幅著名画作的风格和任意选择的照片的内容。
  • 特别地,从在对象识别上训练的高性能深度神经网络的特征响应中导出图像的内容和风格的神经表示。这是在整个自然图像中将内容和风格分开的图像特征的第一次展示。以前将内容和风格分开的工作是在复杂度低得多的感官输入上进行评估的,例如不同笔迹的字符或不同姿势的人脸或小图形的图像。
  • 在本文的演示中,以一系列著名艺术品的风格呈现给定的照片。这个问题通常在计算机视觉的非真实感绘制中解决。从概念上讲,最密切相关的方法是使用纹理转移来实现艺术风格转移。这些先前的方法主要依赖于非参数技术来直接操纵图像的像素表示。相比之下,通过使用在对象识别上训练的深度神经网络,在明确表示图像的高级内容的特征空间中执行操作。
  • 在对象识别上训练的深度神经网络的特征先前已用于风格识别,以便根据艺术品的创作时期对艺术品进行分类。分类器在原始网络激活的基础上进行训练,称之为内容表示。转换到一个稳定的特征空间,如本文的风格表示可能会实现更好风格分类性能。
  • 总的来说,本文混合了不同来源的内容和风格的图像的方法,提供了一种新的、效果不错的工具来研究艺术、风格和独立于内容的图像外观的感知和神经表达。可以设计novel stimuli ,引入两个独立的、感知上有意义的变化来源:图像的外观和内容。
  • 这将有助于从心理物理学到功能成像甚至电生理神经记录的视觉感知的广泛实验研究。事实上,本文的工作提供了一种算法理解,即神经表达如何独立地捕捉图像的内容及其呈现的风格。重要的是,本文的风格表征的数学形式产生了一个清晰的、可测试的假设,该假设关于图像外观的表征一直到单个神经元水平。
  • 风格表示简单地计算网络中不同类型神经元之间的相关性。提取神经元之间的相关性是一种生物学上看似合理的计算,例如,通过初级视觉系统(V1)中所谓的复杂细胞来实现。本文的结果表明,在沿腹侧流的不同处理阶段执行类似复杂细胞的计算将是一种获得视觉输入外观的内容独立表示的可能方式。
  • 总而言之,真正令人着迷的是,一个被训练来执行生物视觉的核心计算任务之一的神经系统,自动学习图像表示,允许图像内容与风格分离。解释可能是,当学习对象识别时,网络必须对所有图像变化保持不变,以保持对象身份。分解图像内容的变化和图像外观的变化的表示对于这项任务来说是非常实用的。因此,从风格中提取内容的能力,以及创造和欣赏艺术的能力,可能主要是人类视觉系统强大推理能力的突出标志。
Methods
  • 正文中介绍的结果是在VGG网络的基础上生成的,这是一种卷积神经网络,可与人类在常见视觉对象识别基准任务中的表现相媲美,并在VGG论文中进行了介绍和详细描述。使用了19层VGG-Network的16个卷积层和5个池层提供的特征空间。不使用任何完全连接的层。该模型是公开可用的,可以在caffe-framework中进行研究。对于图像合成,发现用average pooling代替max-pooling操作可以改善梯度流,并且可以获得稍微更有吸引力的结果,这就是为什么显示的图像是用average pooling生成的。

  • 通常,网络中的每一层都定义了一个非线性滤波器组,其复杂度随着该层在网络中的位置而增加。因此,给定的输入图像 x → \overrightarrow{x} x 通过对该图像的滤波器响应被编码在CNN的每一层中。具有 N l N_l Nl个不同过滤器的图层具有 N l N_l Nl个大小为 M l M_l Ml的特征图,其中 M l M_l Ml是特征图的高度乘以宽度。因此, l l l层中的响应可以存储在矩阵 F l ∈ R N l × M l F^l∈R^{N_l×M_l} FlRNl×Ml中,其中 F i j l F^l_{ij} Fijl是层l中位置j处的第I个滤波器的激活。

  • 为了可视化在层次结构的不同层编码的图像信息,本文对白噪声图像执行梯度下降,以找到与原始图像的特征响应匹配的另一个图像。设 p → \overrightarrow{p} p x → \overrightarrow{x} x 是原始图像和生成的图像, P l P^l Pl F l F^l Fl是它们在层l中各自的特征表示。通过定义两个特征表示之间的平方误差损失:

    • L c o n t e n t ( p → , x → , l ) = 1 2 ∑ i , j ( F i j l − P i j l ) 2 L_{content}(\overrightarrow{p},\overrightarrow{x},l)=\frac{1}{2}\sum_{i,j}(F_{ij}^l-P_{ij}^l)^2 Lcontent(p ,x ,l)=21i,j(FijlPijl)2
  • 这个损失相对于l层中的激活的导数等于

    • ∂ L c o n t e n t ∂ F i j l = { ( F l − P l ) i j i f   F i j l > 0 0 i f   F i j l < 0 \frac{\partial{L_{content}}}{\partial{F_{ij}^l}}=\begin{cases} (F^l-P^l)_{ij} &{if \space F^l_{ij}>0}\\ 0 &{if \space F^l_{ij}<0}\\ \end{cases} FijlLcontent={(FlPl)ij0if Fijl>0if Fijl<0
  • 可以使用标准误差反向传播来计算相对于图像 x → \overrightarrow{x} x 的梯度。因此,可以改变初始随机图像 x → \overrightarrow{x} x ,直到它在CNN的某一层中产生与原始图像 p → \overrightarrow{p} p 相同的响应。重建图像的结构图中的五个内容重构来自原始VGG网络的层“conv1_1(a)、conv2_1(b)、conv3_1©、conv4_1(d)和con V5_1(e)。

  • 在网络的每一层中的CNN响应之上,建立了一种风格表示,该风格表示计算不同滤波器响应之间的相关性,其中期望是在输入图像的空间范围上取得的。这些特征相关性由Gram矩阵 G l ∈ R N l × N l G_l∈R^{N_l×N_l} GlRNl×Nl给出,其中 G i j l G^l_{ij} Gijl是层l中的矢量化特征图I和j之间的内积:

    • G i j l = ∑ k F i j l F i j l G_{ij}^l=\sum_k{F^l_{ij}F^l_{ij}} Gijl=kFijlFijl
  • 为了生成与给定图像的风格相匹配的纹理,使用来自白噪声图像的梯度下降来找到与原始图像的风格表示相匹配的另一个图像。这是通过最小化来自原始图像的Gram矩阵和要生成的图像的Gram矩阵的条目之间的均方距离来实现的。因此,假设 a → \overrightarrow{a} a x → \overrightarrow{x} x 是原始图像,生成的图像和 A l A_l Al G l G_l Gl是它们在层l中各自的样式表示,则该层对总损失的贡献 E l E_l El和总损失L如下

    • E l = 1 4 N l 2 M l 2 ∑ i , j ( G i j l − A i j l ) 2 L s t y l e ( a → , x → ) = ∑ l = 0 L w l E l E_l=\frac{1}{4N^2_lM^2_l}\sum_{i,j}(G_{ij}^l-A_{ij}^l)^2\\ L_{style}(\overrightarrow{a},\overrightarrow{x})=\sum_{l=0}^L{w_lE_l} El=4Nl2Ml21i,j(GijlAijl)2Lstyle(a ,x )=l=0LwlEl
  • 其中wl是每层对总损耗的贡献的加权因子。El相对于层l中激活的导数可以解析地计算:

    • ∂ E L ∂ F i j l = { 1 N l 2 M l 2 ( ( F l ) T − ( G l − A l ) ) i j i f   F i j l > 0 0 i f   F i j l < 0 \frac{\partial{E_L}}{\partial{F_{ij}^l}}=\begin{cases} \frac{1}{N^2_lM^2_l}((F^l)^T-(G^l-A^l))_{ij} &{if \space F^l_{ij}>0}\\ 0 &{if \space F^l_{ij}<0}\\ \end{cases} FijlEL={Nl2Ml21((Fl)T(GlAl))ij0if Fijl>0if Fijl<0
  • 使用标准误差反向传播,可以容易地计算El相对于网络低层激活的梯度。重建结构图中的五个样式重建是通过匹配层conv1_1(a)、conv1_1和conv2_1(b)、conv1_1、conv2_1和conv3_1©、conv1_1、conv2_1、conv3_1和conv4_1(d)、conv1_1、conv2_1、conv4 _1、conV5_1(e)上的样式表示而生成的。

  • 为了生成混合了照片内容和绘画风格的图像,联合最小化了白噪声图像与一层网络中的照片内容表示和多层CNN中的绘画风格表示之间的距离。所以让 p → \overrightarrow{p} p 是照片, a → \overrightarrow{a} a 是艺术品。最小化的损失函数是:

    • 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 → ) L_{total}(\overrightarrow{p},\overrightarrow{a},\overrightarrow{x})=αL_{content}(\overrightarrow{p},\overrightarrow{x})+βL_{style}(\overrightarrow{a},\overrightarrow{x}) Ltotal(p ,a ,x )=αLcontent(p ,x )+βLstyle(a ,x )
  • 其中α和β分别是内容和风格重建的加权因子。对于上图德国图宾根“Neckarfront”的照片所示的图像,匹配了层“conv4_2”上的内容表示和层conv1_1、conv2_1、conv3_1、conv4_1和conv5_1上的样式表示(这些层中wl =1/5,其他所有层中wl = 0)。比值α/β为 1 × 1 0 − 3 1×10^{-3} 1×103(图“Neckarfront” B、C、D)或 1 × 1 0 − 4 1×10^{-4} 1×104(图“Neckarfront” E、F)。

  • 内容表示显示了内容和样式重建损失的不同相对权重的结果(沿列),以及仅在层conv1_1(A)、conv1_1和conv2_1(B)、conv1_1、conv2_1和conv3_1©、conv1_1、conv2_1、conv3_1和conv4 _1(D)、conv1_1、conv2_1、conv4_1、conV5_1(E)上匹配样式表示的结果。因子 w l w_l wl总是等于1除以具有非零损耗权重 w l w_l wl的活动层的数量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

羞儿

写作是兴趣,打赏看心情

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

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

打赏作者

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

抵扣说明:

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

余额充值