考完了本学期的最棘手课程,整理下前一阵子看的有关Style Transfer文章…

A Neural Algorithm of Artistic Style


在本文之前,Gatys在Texture Synthesis Using Convolutional Neural Networks中提出了使用Gram矩阵在深层特征中进行约束可以生成不错的纹理图片(协方差的方式去除掉了位置信息)。协方差矩阵可以用来反映不同kernel获取的feature是否存在相关关系,Gram作为一个特殊形式协方差矩阵,通过不减去均值来降低计算开销。

利用公式Jcontent(C,G)=12(a(C)a(G))2 来计算Content Loss,这里的矩阵C、G都是中间浅层的feature map,而不是pixel。

利用公式 Jstyle[l](S,G)=1(2×nC×nH×nW)2i=1nCj=1nC(Gij(S)Gij(G))2 来计算单层不带权重的Style Loss。这里的S,G都取深层的feature map。

这里的G(Gram矩阵)即Gij=viTvjv是中间层feature map)

利用公式 J(C,S,G)=αJstyle(S,G)+βJcontent(C,G) 作为loss func来进行梯度下降更新G图中的像素(C为内容图,S为风格图,G为生成图)。最后的style loss是多个深层的style loss合起来加权的。

这个方法把style transfer的任务转化为一个优化问题,时空开销都比较大,512*512的图片甚至需要3G+的显存。

Perceptual Losses for Real-Time Style Transfer and Super-Resolution


本文在上面的前提上,加了一个前置的生成网络,用前置网络来做图片生成,再利用同样的方式(pretrained VGG-16)来计算Loss,梯度更新生成网络的参数。最后就会得到一个深度学习“滤镜”网络,不同的是这个“滤镜”甚至可以适用于超清化。只需要一次向前传播就可以生成要的图片。

训练的时候,风格转移的loss和Gatys.相同通过和C, G来计算,超清化任务的loss就是一张低清图和高清图的Content Loss。

这个前置网络的设置用了不少流行的技巧。取消池化,用3x3的小kernel(除第一层和最后一层),先使用stride 2 downsample,然后是五个残差块(这里的残差块好像不是He的版本),再用stride 1/2 upsample(fractionally convolution)。因为增大了感受野,在相同计算代价的前提下可以做一个更深的网络,获得更强的描述能力。最后一层用tanh来缩放到0-255。

最后的Loss函数还加了一个一个Total Variation Regularization(相邻像素的差值),用来平滑优化视觉结果。(Pixel Loss不表)

最后的loss:
l=λc×lfeatC,G(C,G)+λs×lstyleS,G(S,G)+λTV×lTV(G)

(这个网络里用的是批归一化,后来作者有一篇Instance Normalization: The Missing Ingredient for Fast Stylization,论述IN比BN更适合图像生成任务。)

在Style Transfer的任务上,把优化过程,变成一个单次的生成过程。据原论文来说,在生成效果类似的前提下,有三个数量级的提速。

前置网络模型如下图:
Style Transfer 相关论文工作(近期阅读整理)

Texture Networks: Feed-forward Synthesis of Textures and Stylized Images


这里不提太多关于这篇的内容,这个工作其实和上文异曲同工,生成网络上用的是一个多尺度的金字塔(下图)。
Style Transfer 相关论文工作(近期阅读整理)

这篇文章里有一个有意思的东西。在前面提到,loss的制定时,我们确定了一套α,β 超参来调节风格和内容的倾向,也就是相当于定死了这个比例,这篇文章给了一个等效于动态调节的方法:
训练的时候,噪音Z被加在每层金字塔的z卷积块后,Join前的**值上,用这样的input 获得一张output生成图片。当然,loss的计算和前面相同,也是设定死了一个loss的比例。

在生成测试的时候,我们就可以通过一个权重k来调节input的噪声的幅度来影响最后生成图的style或content的偏向。
Style Transfer 相关论文工作(近期阅读整理)

Deep Photo Style Transfer


这篇文章的工作集中于:第一,风格迁移的范围扩展到转移照片的风格,抑制图片的扭曲,把transfer的过程变成颜色空间的局部仿射变换。第二:通过语义分割来解决风格溢出的问题。

作者在原来的Loss中再添加了一项Photorealism regularization: Lm=c=13Vc[O]TMIVv[O] (这里的MI是一个只依赖于最后生成结果的Matting Laplacian N×N矩阵,Vc是每个channel的**压成N×1),通过这项loss来惩罚非颜色仿射变换。(Matting Laplacian相关之后补充

最后增强的style loss:Ls+l=c=1C12Nl,c2ij(Gl,c[O]Gl,c[S])ij2(C个mask,每个块内自主计算gram,也就是说需要识别出大致的类别label)

最后的Loss :Ltotal=l=1LαlLcl+Γl=1LβlLs+l+λLm

这个工作感觉更类似于一个有监督的的上色过程,毕竟Photo Style只能在两张现实照片中传递,图像的边缘信息继承原图。语义分割的过程还是比较暴力。类似 Controlling Perceptual Factors in Neural Style Transfer 中也有提出类似效果的空间控制方式。

Stable and Controllable Neural Texture Synthesis and Style Transfer Using Histogram Losses


这篇文章的工作主要是阐述了Gram矩阵为什么在Style Transfer任务中会有不稳定性,并提出了加入直方图统计信息来强化约束。

包括这篇文章和Deep Photo Style Transfer在内,都认为Gatys的方法对超参的调节非常敏感。在Gram没有保存均值、方差等统计信息的情况下,导致了不稳定性和重影。

新约束的方法是把生成图和风格图都在深层提取出特征后,根据风格图的feature map对生成图的feature map进行直方图匹配(histogram matching),最后求match前后feature map之间的L2范式。(histogram matching的相关在附录

新加入的histogram loss:
Lhistogram=l=1Lγl||OiR(Oi)||F2
O是各层的原始**,R(Oi)是histogram matching过的**值。求导的时候,把梯度过小的后者视作常量。)

最后用于style transfer的loss:
L=Lgram+Lhistogram+Ltv+Lcontent

Fast Patch-based Style Transfer of Arbitrary Style


一个可以输入任意任意内容图、风格图,输出生成图的方法。待更新…


附录:

Histogram matching

直方图匹配这个方法要做的是处理单频道内(灰度)的直方图信息匹配,让目标图G类似于样本图C
由统计信息易得,原始图像的灰度概率:Pr(r)=nkN,样本图的灰度概率:Pz=(z)nkN。两个直方图均进行相同的均衡化处理(即把灰度均衡分散到灰度空间中),s=T(r)=i=0kP(ri)v=G(z)=i=0kP(zi),得到一个sv 作为均衡化后的原始样本直方图。
两个均衡化后的直方图分布显然是相同的(如下图的中间坐标系),因此我们就得到了一个从rz的函数,即z=G1(s)=G1[T(r)]

(其实上面的式子应为针对连续值的积分形式(;′⌒`)
Style Transfer 相关论文工作(近期阅读整理)


只是初学者,理解上肯定有各种错误,如果有指出,万分感谢。


参考:
谈谈图像的Style Transfer 系列博文
A Neural Algorithm of Artistic Style
Perceptual Losses for Real-Time Style Transfer and Super-Resolution
Texture Networks: Feed-forward Synthesis of Textures and Stylized Images
Deep Photo Style Transfer
Stable and Controllable Neural Texture Synthesis and Style Transfer Using Histogram Losses

相关文章:

  • 2021-06-16
  • 2021-08-08
  • 2021-12-13
  • 2021-09-29
  • 2021-05-01
  • 2021-12-23
  • 2021-11-26
猜你喜欢
  • 2021-11-10
  • 2021-06-29
  • 2021-11-05
  • 2021-07-01
  • 2021-12-22
  • 2021-06-18
  • 2021-08-02
相关资源
相似解决方案