文献阅读:Stylized Neural Painting

摘要

文章提出了一种“风格化神经绘画方法”,不同于以往的风格迁移中pixel to pixel的映射,而是在矢量化环境中模仿艺术创作过程。

这个过程中具有一系列物理意义明确的参数,可以用于调整效果。

此外,文章还讨论了关于0梯度问题的参数搜索问题,并提出了从最优transportation的角度解决这个问题的方法。

引言

近年来,神经网络被广泛用于风格迁移。

但其中传统的图像到图像的迁移要么是一种像素到像素的映射,要么是一种连续的优化过程。

但是艺术家的创作是有笔划顺序的,这和传统的神经网络创作有本质的不同。

本文提出了一种模拟人类的绘画行为的方法,并按顺序生成具有明确的物理意义的矢量化绘画过程(说人话,就是按照笔划顺序逐渐生成)。

文章将笔划预测作为一种“参数搜索”过程,以自监督的方式最大化输入和渲染输出中的相似性。

因为普通的图形渲染过程是不可微的,所以利用神经渲染模拟图形渲染,使得整个过程可微。(Considering that a typical graphicrender is not differentiable, we take advantage of the neural rendering that imitates the behavior of the graphic rendering and make all components in our method differentiable)

以往的方法在渲染复杂场景的时候可能会遇到参数耦合的问题。因而本文将神经渲染器架构分解为光栅化网络和着色网络,这两者可以联合训练,并且以更好的形状和颜色保真度进行渲染。

此外,文章提出,像类似于L1和L2阶的像素级别的相似度loss在优化矢量化参数时可能会出现0梯度的缺陷。(We also found interestingly that the pixel-wise similarity like L1 or L2 pixel loss, may have an intrinsic flaw of zero-gradient on optimizing over the vectorized parameters, although these losses have been widely used in avariety of image translation tasks.)

文章将这个问题归咎于笔划参数化和光栅化的不同性质,并提出从最优transportation的角度解决问题。

所谓的最优transportation,就是说,文章将笔划从起点到终点的过程视为一个transportation,而优化目标则是最小化这个过程的efforts

文章主要的贡献点:

第一,提出了一种基于笔划的image to painting的方法,将笔划预测作为一种“参数搜索”过程。该方法可以在同一框架中和神经风格迁移联合优化

第二,讨论了参数搜索中的0梯度问题,并从最佳传输的角度看待笔划优化。引入了可微分的传输损失并改善了笔划收敛以及绘画效果

第三,设计了一种具有双路径渲染管道(光栅化 + 着色)的新神经渲染器架构

相关工作

(略) 

方法论

方法由三个模块构成:

1)神经渲染器,通过训练以生成给定参数的笔划

2)笔划混合器,以可区分的方式组合多个渲染笔划

3)相似度测量模块,强制重建输入图像,通过约束使得渲染的图像和原图像尽量相似

方法综述

给定一个空的画布h,逐步绘制并叠加每一步渲染的笔划。在每个绘图过程中,神经渲染器接受一组笔划参数,并生成一个笔划前景和alpha遮罩,然后使用soft blend来混合画布、前景和alpha遮罩。

soft blend定义如下:

其中st和αt由该组的笔划参数给出()。最终从所有的T个步骤中收集笔划参数,并通过在笔划参数空间内搜索来优化它们。搜索过程是一个自监督过程,即通过约束使得最终的渲染输出近似于参考图像

其中,

是从笔划参数到渲染画布的递归映射,而 

是从t=1, 2, ... T的第t步的笔划参数。

假设L表示一个损失函数,用于测量画布和 参考图像之间的相似性,优化过程就是在所有的笔划空间优化每一个笔划,并且使得相似性损失函数L最小。通常来讲可以用梯度下降法实现这个目标:

其中μ是学习率。

解耦合神经渲染器

原来的方法在渲染时会把形状和颜色这两种特质耦合到一起,所以这里提出了一种双通路的神经渲染器来解耦合这两种特性。

 

如图所示,所提出的render由两个网络组成,一个着色网络Gs和一个光栅化网络Gr。

着色网络:将Gs构建为具有多个转置卷积层的堆栈,其同时接收颜色和形状参数,并生成具有颜色的笔划。

光栅化网络:在其中设计了一个位置编码器和一个像素解码器,它忽略了颜色信息,但生成了清晰的笔划轮廓。

最终通过两者相乘生成前景,并通过alpha遮罩将其叠加到画布上。注意,笔画的参数分为三组,分别是颜色,形状和透明度。

神经渲染器的训练:通过标准的L2像素回归损失在渲染的笔触前景和alpha遮罩上训练。训练过程是以下函数的最小化过程:

其中是前景和alpha遮罩的ground truth(由图形引擎渲染)。而是从笔划的参数空间中随机采样到的参数。

像素的相似度和0梯度问题

渲染输出和参考图像之间的相似性有很多种定义方式,如,像素级别的L1和L2 loss。当直接在像素空间优化壁画参数的时候,像素损失洗过很好。但是在优化笔划参数的时候,像素损失并不一定能够保证梯度的下降。尤其是,当渲染的笔划和ground truth并不共享一个overlap的区域的时候,就会出现0梯度问题。

这里解释下这个figure。这个图是说,比方说现在有一个预测的笔划A,有一个ground truth B,两者之间是没有overlap的(见(a)),那这个时候像素级别的loss就会是一个常量,对应于(b)中蓝色虚线的小于-1和大于1的方向,这个时候梯度也是一个常量,对应于(b)中绿色线的小于-1和大于1的方向。这个时候,就出现了0梯度问题,回导致没有办法指导笔划A的更新。而作为比较,图c中的OT就没有这个问题,在(c)中的loss函数是和物理距离相关的。当然这里只是举一个例子,真正的loss不是仅仅和物理距离有关的。

 

笔划搜索的最佳传输(Optimal transport for stroke searching)

实际上,上述的transportation effort是由瓦瑟斯坦距离(Wasserstein distance)定义的,用于表征画布和参考图像之间的相似度loss。

给定一个渲染输出h和参考图像,将他们的归一化像素值定义为他们的概率边际函数(省略下标T)。

将一个n×n(n是图像的像素数)的矩阵P定义为联合概率矩阵,其中第(i,j)个元素代表h的第i个像素和的第j个像素的联合概率。

将D定义为cost矩阵,其中第(i,j)个元素表示 h的第i个像素和的第j个像素的欧氏距离。所以矩阵D其实就是将  h的第i个像素移动到的第j个像素索要花费的effort(Thus, the matrixDlist all the labor costs of mov-ing a “unit pixel mass” from one position inhto anotherone inˆh. )

在离散情况下,最优传输距离可以写成一个线性优化问题,即

 

在本文中,使用具有熵正则化项的经典最优传输距离的平滑版本,从而产生著名的Sinkhorn距离。Sinkhorn 距离是可微的,并且计算成本很低。主要想法是考虑联合概率矩阵P除了U之外的额外熵约束。此外,进一步使用拉格朗日乘子,可以将问题幻化为正则化形式:

其中Lot是最优传输loss,即从一个位置移动到另一个位置的最小transportation effort。以上是其定义为Sinkhorn距离的写法。其中,

优化传输损失这个过程可以集成到参数搜索的pipeline中,并且可以与其它损失一起进行优化。文中最终将四盎司都损失定义为像素L1 loss和最优传输损失的组合:

补充:Wasserstein distance和Sinkhorn distance

这两个度量都是用来解决最优传输(Optimize Transport, OT)问题的。什么是最优传输问题呢?举个例子:

假设你是一个做木材运输的,你要运送木材从若干个木材生产地到若干个木材需求地,假设每个生产地有固定数量的木材,每个需求地也有固定数量木材的需求,他们的总和(恰好)彼此相等,你要指定一个运输计划,把所有木材从生产地分别运送到需求地,使得供需刚好平衡,也就是每个生产地的木材都刚好运送走了,每个需求地都得到了预期的木材量。你将碰到这样一个问题:假设你事先已经计算好从每个生产地运送木材到每个需求地的单位木材运费,你该怎样合理的指定运输计划使得总开支最小呢?

解决这个问题其实就是解决最优传输问题。

Wasserstein distance是用于衡量概率分布差异的度量方式,和total variation、KL散度都类似。相比于这些度量方式,Wasserstein distance有以下好处:

  • 能够很自然地度量离散分布和连续分布之间的距离
  • 不仅给出了距离的度量,而且给出如何把一个分布变换为另一分布的方案
  • 能够连续地把一个分布变换为另一个分布,在此同时,能够保持分布自身的几何形态特征

具体的推导及意义见【数学】Wasserstein Distance - 知乎 (zhihu.com)

Wasserstein distance的问题在于其计算量非常庞大,用其精确求解OT问题的复杂度超过O(N^3)。于是Cuturi等人在NIPS 2013上提出了其近似 Sinkhorn distance,引入了正则化的wasserstein distance,使用一个迭代算法,其每次迭代的计算复杂度为O(N^2)

Skinhorn distance:Sinkhorn解决的是最优传输问题,简单讲就是把一个概率分布以最小代价转换成另外一个分布

神经风格迁移的联合优化

实际上就是在损失上加上一个迁移的风格损失。

(暂时挖个坑,略)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值