使用这种矢量神经风格画笔,无需GANArtwork即可生成栩栩如生且风格可控的精美画作。目前该方法的实现代码已经开源。论文地址:https://arxiv.org/abs/2011.08114Github地址:https://github.com/jiupinjia/stylized-neural-painting不同于以往的逐像素下生成绘画的风格迁移方式预测框架。在向量空间中生成一个具有物理意义的序列笔刷参数,该参数可以进一步用于渲染。由于画笔本身是不可微的,本研究设计了一种新的神经渲染器来模拟画笔的行为,并将画笔预测问题转化为参数空间中的搜索问题,以最大化渲染输出与输入图像之间的关系。相似。本研究揭示了搜索过程中的零梯度问题,并提出从最优处理的角度解决该问题。此外,该研究还揭示了之前神经渲染器中参数耦合的问题,并重新设计了渲染网络。新网络由光栅化网络和着色网络组成,可以更好地解耦形状和颜色。实验表明,本研究提出的方法在全局和局部纹理级别具有更高的真实感。此外,该方法还可以在神经风格迁移框架下进行联合优化,进一步迁移其他绘画的视觉效果。图1:这项研究提出了一种基于笔刷的渲染方法,可以生成逼真的绘画。图中的画作是矢量格式生成的,可以进一步优化渲染成不同的风格。生成一幅向日葵画。本研究的主要贡献包括:提出了一种新的基于画笔的图像到绘画的转换方法,将画笔预测问题转换为参数搜索问题来解决。该方法还可以在神经风格迁移框架下进一步联合优化,实现风格化效果。揭示了参数搜索中的零梯度问题,从最优处理的角度看待画笔优化问题。本研究引入了可微处理损失函数来改善画笔收敛和绘画效果。设计了一个新的神经渲染框架,其中包括一个两次渲染管道(光栅化+着色)。新的渲染器比以前的神经渲染器更好地处理画笔形状和颜色的解耦。NeuralStyleBrushes这项研究主要由3个功能模块组成:1)一个神经渲染器,可以根据输入的画笔参数生成画笔图像;2)可微刷混合器,可以将多个刷组合在一起;3)输入和输出图像相似度的模块A的度量。NeuralStyle笔刷解决了参数化艺术绘画的问题。给定一个空白画布h_0,该方法将画笔逐渐叠加到画布上。例如,在第t步,训练有素的神经渲染器G将一组画笔参数X_t渲染到前景图像s_t和相应的透明蒙版中,然后该方法使用软混合转换当前画布,添加新的画笔,叠加相应的面具并确保整个过程是可区分的:其中。最后,该方法将所有T步的笔刷参数收集在一起,以自监督的方式搜索笔刷参数的最优解,即最终的渲染输出h_T需要尽可能与输入图像:从画笔参数到渲染画布的意思。递归映射。表示所有T步的笔刷参数集合。假设它是一个损失函数,用来衡量h_T和输入图像的相似度,这种方法直接优化参数空间中的所有输入画笔并最小化相似度损失函数,并使用梯度下降来更新画笔参数:其中是预定义的学习率。图2:该研究从空白画布开始,逐个渲染画笔,然后使用软混合覆盖画笔。该方法使用梯度下降来找到一组最佳画笔参数,从而使生成的绘画与输入图像尽可能相似。图中黑色箭头代表前向传播,红色箭头代表梯度反向传播。NeuralRendererNeuralStyleBrush中的核心模块是NeuralRenderer。以前的神经渲染器只能在比较简单的渲染场景下工作,但是当遇到过渡颜色和画笔纹理等更复杂的渲染场景时,上述渲染器将难以很好地表达耦合的画笔形状和颜色。本研究借鉴传统渲染管线,设计了双通道神经渲染器,可以很好地解决颜色/形状/材质的耦合问题。图3:本研究设计了一个由着色网络G_s和光栅化网络G_r组成的双通道神经渲染器,它将输入的画笔参数集渲染成光栅化的前景图像和相应的透明蒙版。新的神经渲染器由两个子网络组成:着色网络G_s和光栅化网络G_r,输入画笔参数X分为三组:颜色、形状和透明度。着色网络G_s由一组堆叠的转置卷积层组成,用于根据输入颜色和形状参数生成具有可靠前景颜色的画笔。光栅化网络G_r采用位置编码器+像素解码器的形式设计,忽略了颜色信息,但能够生成边缘清晰的画笔轮廓。最后根据轮廓图像对彩色图像进行mask得到画笔前景图像s,透明mask通过输入透明度对轮廓图像进行缩放得到。该研究使用标准的逐像素回归损失函数来训练上述渲染器:其中和代表图形引擎渲染的前景图像和透明蒙版地面实况。表示从画笔参数空间中随机采样的画笔参数。像素相似度和零梯度问题用神经风格画笔绘画的关键是相似度的定义。例如,逐像素总和损失函数可以直接用于定义渲染结果与输入图像之间的相似度。然而,神经风格画笔并不是仅仅在像素空间进行优化,而是需要进一步优化画笔参数。此时逐像素损失函数并不能始终保证梯度的有效下降。特别是当渲染画笔和它的真实值不重叠时,这会导致零梯度问题。本研究进一步引入了一个最优处理损失函数来解决这个问题,如图4和图5所示。图4:一个简单的例子来解释为什么像素级损失函数在优化画笔参数时可能会出现零梯度问题().如图4(a)所示,当一个正方形笔刷A沿方向移动到目标B时,其逐像素梯度始终是一个常数,尤其是当A和B不相交时,会出现零梯度,如如图4(b)所示。作为对比,如图4(c)所示,本研究提出的最优处理损失函数不存在上述问题,能够很好地描述A和B之间的物理距离。图5:逐像素对比损失函数(第一行)和将画笔从初始值推到目标位置的最佳处理损失函数(第二行)。使用最优处理损失函数,画笔可以很好地收敛到目标位置,而像素损失函数由于零梯度问题无法收敛。最佳处理损失函数本研究将最小处理工作量(即Wasserstein距离)定义为画布和输入图像之间的相似性度量。对于给定的画布h和输入图像,它们的归一化像素值之和定义为概率边际函数。表示联合概率矩阵,其中第(i,j)个元素表示h中第i个像素和h中第j个像素的联合概率,n表示图像中的像素个数。D表示成本矩阵,其第(i,j)个元素表示h中第i个像素与h中第j个像素之间的欧氏距离。因此,矩阵D列出了将单位质量从h中的一个位置移动到h中的另一个位置所需的劳动力成本。在离散情况下,经典最佳携带距离可以写成线性优化问题,在本研究中,研究人员提供了经典最佳携带距离的平滑版本,即著名的Sinkhorn距离。该距离具有良好的数学特性,与原始版本相比可以大大降低计算成本。通过引入拉格朗日乘数和附加熵约束,上述优化问题可以进一步写成如下形式:基于上述形式,最优处理损失函数可以很容易地集成到参数搜索过程中,并与其他损失函数联合优化。因此,NeuralStyleBrush的整体相似性损失函数定义如下:其中用于平衡两个目标函数。图7:上图为逐笔绘制结果,第一行是基于记号笔生成的,第二行是基于油画笔生成的。右图显示了优化过程中的损失函数曲线。神经风格迁移的联合优化由于神经风格画笔是在参数搜索范式下实现的,因此该方法非常适合神经风格迁移框架。由于神经风格迁移旨在通过更新图像像素来最小化内容损失函数(contentloss)和风格损失函数(styleloss),因此研究人员进一步将风格损失函数集成到神经风格画笔中以实现风格化输出。扩展的相似性度量函数可以定义为以下形式:其中是相似性损失函数,它使用与Gatys等人相同的形式。在本研究中,即根据VGG-19提取的特征计算Gram矩阵。ExperimentalStylizedPaintingGenerationExperiment得益于联合损失函数的设计,NeuralStyleBrush不仅可以生成逼真的艺术画,还可以生成风格化的渲染结果。此外,由于画笔参数具有明确的物理意义,因此在风格化输出时可以进一步控制风格化(颜色或材料)的范围。图8:使用神经风格画笔的绘画结果如(a)–(c)所示。(d)显示高度抽象的卡通人物肖像。图9:基于神经风格画笔的风格迁移结果。对比实验之前的绘画参数化方法主要依靠强化学习,比如“Learning-to-Paint”算法,而神经风格笔刷通过引入神经渲染器解决了笔刷不可微分的问题。因此,NeuralStyleBrush可以产生比基于RL的方法更逼真的结果。图10:NeuralStyleBrush和Learning-to-PaintAlgorithm的对比研究人员除了对比之前的方法,还对比了人工绘画,同样取得了更好的生成效果。图11:艺术家(AdamLister)绘画结果和自动生成的结果对照实验研究人员还分别研究了处理损失函数和二次神经渲染器的效果。图12:使用最优处理损失函数前后的结果对比。最优处理损失函数可以有效地还原图像中的更多细节,尤其是当画笔初始化的位置与目标区域不重合时。图13:不同神经渲染器(包括DCGAN-G、UNet、PxlShuffleNet)的验证集精度。本研究提出的双通道神经渲染器可以有效提高验证集精度,加快收敛速度??。图14:不同神经渲染器渲染的可视化结果对比
