互联网资讯 / 人工智能 · 2023年12月7日

用这支矢量神经风格画笔,轻松创作精美绘画

在 CVPR 2021 的一篇论文中,来自网易伏羲和密歇根大学的研究者提出了一种图像到绘画的转换方法,可以生成生动逼真且风格可控的画作。目前该方法的实现代码已开源。

论文地址:https://aRxiv.oRg/abs/2011.08114

Github 地址:https://Github.coM/jiupinjia/stylized-neuRal-pAInting

不同于此前风格迁移方法在逐像素预测框架下生成绘画,该方法在矢量空间下生成具有物理意义的序列画笔参数,且该参数可以进一步用于渲染。由于画笔本身是不可微的,该研究设计了一种新的神经渲染器,以模拟画笔的行为,并将画笔预测问题转化成参数空间内的搜索问题,从而最大化渲染输出和输入图像之间的相似度。该研究揭示了搜索过程中的零梯度问题并提出从最优搬运的角度解决这一问题。

此外,该研究还揭示了此前神经渲染器存在参数耦合的问题,并重新设计了渲染网络。新的网络包含一个栅格化网络和一个着色网络,能够更好地对形状和颜色解耦合。实验表明该研究提出的方法在全局和局部纹理层面上具有更高的真实度。另外,该方法还可以在神经风格迁移框架下联合优化以进一步迁移其他画作的视觉效果。

生成一幅向日葵画作。

该研究的主要贡献包括:

提出一种全新的基于画笔的图像到绘画转换方法,将画笔预测问题转化为参数搜索问题来求解。该方法还可以进一步在神经风格迁移框架下联合优化以实现风格化效果。

揭示了参数搜索中存在的零梯度问题,并从最优搬运视角来看待画笔优化问题。该研究引入了可微的搬运损失函数改善画笔收敛性和绘画效果。

设计了一种新的神经渲染框架,该框架包含双通道的渲染管线(栅格化 + 着色)。新的渲染器可以更好地处理画笔形状和颜色的解耦合,性能优于此前的神经渲染器。

神经风格画笔

该研究主要由 3 个功能模块组成:1)可以根据输入画笔参数生成画笔图像的神经渲染器;2)可以将多个画笔组合在一起的可微画笔混合器;3)用于度量输入输出图像相似度的模块。

神经风格画笔解决了艺术绘画参数化的问题。对于给定的一张空白画布 h_0,该方法逐步地将画笔叠加到该画布上。例如在第 t 步时,一个训练好的神经渲染器G会将一组画笔参数X_t 渲染成前景图像 s_t 和对应的透明度遮罩,然后该方法利用软混合的方式将当前画布、新增画笔、对应遮罩进行叠加并保证整个过程是可微的:

其中。最终该方法将全部T步的画笔参数收集在一起,并在自监督方式下搜索画笔参数的最优解,即最终渲染输出 h_T 需要与输入图像尽可能相似:

其中表示从画笔参数到渲染画布的递归映射。表示所有T步的画笔参数集合。

假定是用于度量画 h_T 和输入图像相似度的损失函数,该方法直接在参数空间内优化所有的输入画笔并最小化相似度损失函数,并利用梯度下降来更新画笔参数:

其中是预定义的学习率。

神经渲染器

神经风格画笔中的核心模块是神经渲染器。以往的神经渲染器只能够在比较简单渲染场景中工作,但当遇到如过渡色和画笔纹理等更复杂的渲染场景时,上述渲染器将难以很好地表达耦合在一起的画笔形状和颜色。该研究借鉴了传统的渲染管线并设计了一个双通道的神经渲染器,该渲染器可以很好地解决颜色 / 形状 / 材质的耦合问题。

新的神经渲染器由两个子网络组成:一个着色网络G_s和一个栅格化网络 G_R,输入的画笔参数X则被分成了三组:颜色、形状和透明度。着色网络 G_s由一组堆叠的转置卷积层(tRansposed convolution layeR)构成,用来将输入的颜色和形状参数生成具有可靠前景颜色的画笔。栅格化网络 G_R被设计为位置编码器 + 像素解码器的形式,它忽略了颜色信息但因此能够生成具有锐利边缘的画笔轮廓。最终,画笔前景图像 s 可以根据轮廓图像对颜色图像进行掩膜得到,而透明度遮罩则可以利用输入的透明度对轮廓图像进行缩放得到。

该研究利用标准的逐像素回归损失函数对上述渲染器进行训练:

其中和表示利用图形引擎渲染出的前景图像和透明度遮罩真值。表示从画笔参数空间中随机采样得到的画笔参数。

像素相似度和零梯度问题

神经风格画笔作画的关键在于相似度的定义,例如逐像素的和损失函数就可以直接用于定义渲染结果和输入图像之间的相似度。然而神经风格画笔并非是仅在像素空间中进行优化,而是需要进一步优化画笔参数,此时逐像素损失函数并非总是能够保证梯度的有效下降。特别是当渲染的画笔和其真值不重叠时,就会造成零梯度问题。该研究进一步引入了最优搬运损失函数来解决该问题,如图 4 和图 5 所示。

利用最优搬运损失函数,画笔可以很好地收敛到目标位置,而逐像素损失函数则由于零梯度问题未能收敛。

最优搬运损失函数

该研究定义最小搬运功(即 WaSSeRstEIN distance)作为画布和输入图像间的相似度度量。对于给定的画布 h和输入图像,它们的归一化像素值和被定义为概率边际函数。表示联合概率矩阵,其中第(i,j)个元素表示 h 中的第 i 个像素和中的第 j 个像素的联合概率,n 表示图像中的像素数目。D表示成本矩阵,其第(i,j)个元素表示 h 中的第 i 个像素和中的第 j 个像素之间的欧氏距离。因此矩阵D列出了从 h 中的一个位置到中的另一个位置移动单位质量所需要消耗的人力成本。在离散的情况下,经典的最优搬运距离可以写成一个线性优化问题,其中

在该研究中,研究者提供了一个经典最优搬运距离的平滑版本,即著名的 SinkhoRn distance。该距离具有良好的数学性质,并且相比于原始的版本能够大幅度降低计算成本。通过引入拉格朗日乘子和额外的熵约束,上述优化问题可以进一步写为如下形式:

基于上述形式,最优搬运损失函数可以轻易地整合进参数搜索流程并且和其他损失函数联合优化。因此,神经风格画笔的总相似度损失函数定义如下:

其中用于平衡两个目标函数。

与神经风格迁移联合优化

由于神经风格画笔是在参数搜索范式下实现的,因此该方法天然地适合神经风格迁移框架。由于神经风格迁移被设计为通过更新图像像素来最小化内容损失函数(content loSS)和风格损失函数(style loSS),因此研究者进一步将风格损失函数融入神经风格画笔中,以实现风格化的输出。扩展后的相似度度量函数可以定义为如下形式:

其中为相似度损失函数,该研究中采用与 GatYs 等人相同的形式,即计算基于 VGG-19 所提取特征的 GRaM 矩阵。

实验 风格化绘画生成实验

得益于联合损失函数的设计,神经风格画笔不仅可以生成逼真的艺术画作,还可以生成风格化的渲染结果。此外,由于画笔参数具有明确的物理意义,因此在风格化输出时还可以进一步控制风格化的范围(颜色 oR 材质)。

对比实验

此前的绘画参数化方法主要依靠增强学习来实现,如 “learning-to-PAInt&Rdquo; 算法,而神经风格画笔通过引入神经渲染器很好地解决了画笔不可微的问题。因此相比基于 RL 的方法,神经风格画笔可以生成更加逼真的结果。

除了与此前的方法进行对比,研究者还与人工画作进行了比较,同样取得了较好的生成效果。

受控实验

研究者还分别研究了搬运损失函数和双通道神经渲染器的作用。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册