Stylized Neural Painting[CVPR-2021]
论文原文地址:CVPR 2021 Open Access Repository (thecvf.com)
效果图
摘要
文章提出了一种“风格化神经绘画方法”,不同于以往的风格迁移中像素到像素的映射,而是在矢量化环境中模仿艺术创作过程。这个过程中具有一系列物理意义明确的参数,传统的矢量渲染不可微,于是作者提出了一个矢量渲染器神经网络。同时类似旷视之前的Learning to Paint的工作一样,将这个绘画过程视为一个参数搜索过程。
此外,文章还讨论了关于零梯度问题的参数搜索问题,并提出了从最优transportation的角度解决这个问题的方法。由于以前的神经网络渲染器存在参数耦合问题,作者用光栅化网络和阴影网络重新设计了渲染器。
Introduction
近年来,神经网络被广泛用于风格迁移。
但其中传统的图像到图像的迁移要么是一种像素到像素的映射,要么是一种连续的优化过程。
但是艺术家的创作是有笔划顺序的,这和传统的神经网络创作有本质的不同。本文提出了一种模拟人类的绘画行为的方法,并按顺序生成具有明确的物理意义的矢量化绘画过程(就是按照笔划顺序逐渐生成)。文章将笔划预测作为一种“参数搜索”过程,以自监督的方式最大化输入和渲染输出中的相似性。
类似旷视的工作,提出一个神经网络渲染器代替传统的渲染方法。因为传统的图形渲染过程是不可微的,所以利用神经渲染模拟图形渲染,使得整个过程可微。以往的方法在渲染复杂场景的时候可能会遇到参数耦合的问题。因而本文将神经渲染器架构分解为光栅化网络和着色网络,这两者可以联合训练,并且以更好的形状和颜色保真度进行渲染。
此外,文章提出,像类似于L1和L2阶的像素级别的相似度loss在优化矢量化参数时可能会出现0梯度的缺陷。文章将这个问题归咎于笔划参数化和光栅化的不同性质,并提出从最优transportation的角度解决问题。所谓的最优transportation,就是说,文章将笔划从起点到终点的过程视为一个transportation,而优化目标则是最小化这个过程的effort(???)。
主要贡献
- 提出了一种基于笔划的图像到绘画的方法,将笔划预测作为一种“参数搜索”过程。该方法可以在同一框架中和神经风格迁移联合优化。
- 讨论了参数搜索中的0梯度问题,并从最佳传输的角度看待笔划优化。引入了可微分的传输损失并改善了笔划收敛以及绘画效果。
- 设计了一种具有双路径渲染管道(光栅化 + 着色)的新神经渲染器架构。
方法论
方法综述
如图:给定一个空的画布,逐步绘制并叠加每一步渲染的笔划。在每个绘图过程中,神经渲染器接受一组笔划参数,并生成一个笔划前景和alpha遮罩,然后使用soft blend来混合画布、前景和alpha遮罩。
soft blend定义
其中st和αt由该组的笔划参数给出。最终从所有的T个步骤中收集笔划参数,并通过在笔划参数空间内搜索来优化它们。搜索过程是一个自监督过程,即通过约束使得最终的渲染输出近似于参考图像
其中,是从笔画参数到渲染画布的递归映射,而是从t=1,2,...,T的第t步的笔画参数。
假设L表示一个损失函数,用于测量画布和 参考图像之间的相似性,优化过程就是在所有的笔划空间优化每一个笔划,并且使得相似性损失函数L最小。通常来讲可以用梯度下降法实现这个目标:
网络构成
方法由三个模块构成:
1)神经渲染器,通过训练以生成给定参数的笔划
2)笔划混合器,以可区分的方式组合多个渲染笔划
3)相似度测量模块,强制重建输入图像,通过约束使得渲染的图像和原图像尽量相似
神经渲染器
传统的神经网络渲染器在渲染绘画时会把形状和颜色这两种特质耦合到一起,所以这里提出了一种双通路的神经渲染器来解耦合这两种特性。
如图所示,所提出的render由两个网络组成,一个着色网络Gs和一个光栅化网络Gr。
-
着色网络:将Gs构建为具有多个转置卷积层的堆栈,其同时接收颜色和形状参数,并生成具有颜色的笔划。
-
光栅化网络:在其中设计了一个位置编码器和一个像素解码器,它忽略了颜色信息,但生成了清晰的笔划轮廓。
最终通过两者相乘生成前景,并通过alpha遮罩将其叠加到画布上。注意,笔画的参数分为三组,分别是颜色,形状和透明度。
神经渲染器的训练:通过标准的L2像素回归损失在渲染的笔触前景和alpha遮罩上训练。
训练过程是以下函数的最小化过程:
像素的相似度和零梯度问题
渲染输出和参考图像之间的相似性有很多种定义方式,如,像素级别的L1和L2 loss。
- 当直接在像素空间优化笔画参数的时候,像素损失很好用。
- 但是在优化笔划参数的时候,像素损失并不一定能够保证梯度的下降;尤其是,当渲染的笔划和ground truth并不共享一个重叠的区域的时候,就会出现零梯度问题。
如下图,比方说现在有一个预测的笔划A,有一个ground truth B,两者之间是没有重叠的(见(a)),那这个时候像素级别的loss就会是一个常量,对应于(b)中蓝色虚线的小于-1和大于1的方向,这个时候梯度也是一个常量,对应于(b)中绿色线的小于-1和大于1的方向。这个时候,就出现了零梯度问题,这会导致没有办法指导笔划A的更新。而作为比较,图c中的OT(optimal transportation)就没有这个问题,在(c)中的loss函数是和物理距离相关的。【这里是一个例子,论文原文举的例子】
笔划搜索的最佳传输
略了,公式太多。
简单说,就是通过Wasserstein Distance定义了一个度量(文中指transportation effort),用来表征画布和参考图像之间的相似度损失。
与风格迁移联合优化
这个也简单,略掉,就是指在现有损失的基础上加上一个风格损失。
实现细节
-
网络架构
- shading网络(着色网络):类似DCGAN的生成器,六个反卷积层,移除了输出层的tanh函数。
- 光栅化网络:类似旷视的工作,由4个全连接层构建位置编码器、6个卷积层和3个子像素shuffle层构建像素解码器。
-
训练策略
- batch-size=64
- lr=2e-4,beta=(0.9,0.999)
- 每100个epoch学习率降低10%
- 总共训练了400个epoch
- 每个epoch,通过向量引擎随机生成50000X64个真实的笔画
- 输出图像是128x128的
-
渐进式渲染
略
-
其他细节
略
实验分析
风格化生成
就一个图,说他的工作很牛
工作对比
生成绘画的细节最好
和旷视的Learning to Paint以及SPIRAL做了对比,他的方法效果最好。
提出的OT Loss很有用
加不加OT损失,网络的生成效果图。
提出的双路径神经网络渲染器绘制的图像PSNR最高
结论
We explore the nature of human painting by using differentiable stroke rendering. We consider this artistic creation process under a stroke parameter searching paradigm that maximizes the similarity between the sequentially rendered canvas and the reference image. Our method can generate highly realistic and painting artworks in vector format with controllable styles. We deal with the image similarity measurement from the perspective of optimal transportation and tackle the disentanglement of the color and shape with a dual-pathway neural renderer. Controlled experiments suggest the effectiveness of our design.