本文主要是介绍类人笔触的模型风格化绘画,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘要
本文提出了一种图像到绘画翻译方法,该方法能够生成生动逼真的绘画艺术作品,并且具有可控的风格。与以往将图像到图像翻译方法视为像素级预测不同,我们在这个向量化的环境中处理这种艺术创作过程,并生成一系列具有物理意义的笔触参数,这些参数可以进一步用于渲染。由于典型的向量渲染器不是可微的,我们设计了一种新颖的神经渲染器,它模仿向量渲染器的行为,然后将笔触预测框架化为一个参数搜索过程,该过程最大化输入和渲染输出之间的相似性。我们探讨了参数搜索中的零梯度问题,并提出从最优运输的角度解决这个问题。我们还展示了先前的神经渲染器存在参数耦合问题,并重新设计了渲染网络,包括一个光栅化网络和一个着色网络,更好地处理形状和颜色的解耦。实验表明,我们方法生成的绘画作品在全局外观和局部纹理上都具有很高的逼真度。我们的方法还可以与神经风格迁移联合优化,进一步从其他图像转移视觉风格。
图1:我们提出了一种基于笔触渲染的方法,用于生成逼真的绘画艺术品。这些绘画以矢量格式生成,可以进一步优化并以不同的视觉风格进行渲染。我们建议放大以查看笔触纹理。
1 引言
创作艺术画作是人类和其他智能物种的显著特征之一。近年来,我们见证了图像翻译或风格迁移的生成建模的巨大进步,这些进步利用了神经网络作为生成工具[38, 6, 23, 13]。以往的图像到图像翻译和风格迁移方法通常将翻译形式化为像素级映射[38, 13]或在其像素空间中的连续优化过程[6]。然而,作为艺术创作过程,绘画通常是一个顺序实例化的过程,使用画笔从抽象到具体,从宏观到细节进行创作。这个过程与神经网络创建艺术作品的方式有着根本的不同,后者产生逐像素的结果。为了完全掌握专业的绘画技巧,人们通常需要大量的练习和学习专业知识。即使是经过多年练习的熟练画家,创作一幅逼真的绘画作品可能仍然需要数小时或数天的时间。
在本文中,我们探索了人类绘画的秘密本质,并提出了一种自动的图像到绘画翻译方法,该方法能够生成具有可控风格的生动逼真的绘画作品。我们将我们的方法称为“风格化神经画家”。我们不是在输出图像中逐个操纵像素,而是模拟人类绘画行为,以清晰的物理意义顺序生成矢量化的笔触。这些生成的笔触向量可以进一步用于任意输出分辨率的渲染。我们的方法可以在多种绘画风格中“绘画”,例如油画刷、水彩墨、马克笔和胶带艺术。此外,我们的方法也可以自然地嵌入到神经风格迁移框架中,并可以根据不同的风格参考图像进行联合优化以转移其视觉风格。
在我们的方法中,与之前基于笔触的渲染方法不同,这些方法利用逐步贪婪搜索[8, 19]、循环神经网络[7]或强化学习[33, 5, 11, 36],我们将笔触预测重新构想为一个“参数搜索”过程,目的是在自监督的方式下最大化输入和渲染输出之间的相似性。考虑到典型的图形渲染不是可微的,我们利用模仿图形渲染行为的神经渲染,并使我们方法中的所有组件都是可微的。我们表明,之前的神经笔触渲染器[11, 29, 30]在面对复杂的渲染场景时,例如具有真实世界纹理和颜色过渡的刷子时,可能会遇到参数耦合问题。因此,我们重新设计了神经渲染器,并将渲染架构分解为光栅化网络和着色网络,这两个网络可以联合训练,并以更好的形状和颜色保真度进行渲染。我们还发现有趣的是,像素级相似性如ℓ1或ℓ2像素损失,在优化矢量化参数时可能存在零梯度的内在缺陷,尽管这些损失在各种图像翻译任务中已被广泛使用[38, 13, 17]。我们表明这个问题源于笔触参数化和光栅化的不同性质,并从最优运输的角度提出了解决这个问题的方法。具体来说,我们认为笔触从一个位置移动到另一个位置的过程是一个运输过程,在这个过程中,我们的目标是最小化这种移动的努力。
我们在各种现实世界的图像和照片上测试了我们的方法,包括人像、动物、风景、日常物品、艺术摄影和卡通图像。我们展示了我们的方法可以在全局视觉外观和局部纹理保真度方面生成生动逼真的绘画作品。
我们的论文贡献总结如下:
• 我们提出了一种新的基于笔触的图像到绘画翻译方法。我们将笔触预测重新构想为参数搜索过程。我们的方法可以与神经风格迁移在同一个框架中进行联合优化。
• 我们探讨了参数搜索中的零梯度问题,并从最优运输的角度看待笔触优化。我们引入了一种可微的运输损失,并改进了笔触收敛以及绘画结果。
• 我们设计了一种新的神经渲染器架构,具有双路径渲染管道(光栅化+着色)。所提出的渲染器更好地处理了形状和颜色的解耦,并以很大的优势超越了之前的神经渲染器。
2 相关工作
图像翻译和风格迁移。旨在将图像从一个域(例如,真实照片)翻译到另一个域(例如,艺术作品)的图像翻译,在近年来受到了极大的关注。基于GAN的图像翻译,如Pix2Pix[12]、CycleGANs[38]及其变体[26]在图像合成、语义编辑、风格迁移任务中发挥了重要作用,并且也被应用于计算机生成艺术[1]。除了基于GAN的方法外,神经风格迁移也在风格化图像合成方面取得了突破,并被广泛用于艺术作品创作[13, 6]。此外,Deep Dream[23],一种最初设计用来帮助可视化深度神经网络的方法,也已经成为一种新的迷幻和抽象艺术形式。尽管有上述应用,这些方法都是以逐像素的方式生成绘画作品,这与人类使用画笔绘画的事实相偏离。
可微渲染。渲染是计算机图形学中的一个基本问题,它将3D模型转换为2D图像。传统的渲染管道通常涉及一个离散操作,称为光栅化,这使得渲染不可微。可微渲染[21, 14, 20, 18]打破了这种限制,并允许从渲染输出到输入参数(如形状、相机姿态和照明)的导数计算。由于深度神经网络在其拓扑结构中自然可微,一个新的研究主题“神经渲染”迅速出现[4, 25, 29],它弥合了图形渲染和深度神经网络之间的差距。
图像素描/绘画。人类天生具有抽象和素描物体实例的能力。早期的图像素描方法通过使用逐步贪婪搜索或需要用户交互来处理这个问题[9]。最近的方法通常训练循环神经网络[7]和强化学习(RL)代理[33, 36, 5],或者集成对抗性训练[24]来生成非确定性的笔触序列。最近,得益于神经渲染[4, 25]的最新进展,计算机现在能够生成更逼真的绘画作品[24, 11, 5]。在这些方法中,“学习绘画”[36]与我们的研究动机相似,都致力于生成基于笔触的逼真绘画。然而,我们的方法与这种方法在几个方面有所不同。首先,这种方法使用RL生成笔触,而我们将这个过程构想为笔触参数搜索,因为训练LR代理计算成本很高。其次,我们专注于基于笔触的风格迁移,这是一个很少被研究的问题。最后,我们重新设计了神经渲染器,并将最优运输方法引入到这个问题中。
图2:我们从一个空的画布开始,然后逐笔渲染,采用软混合的方式。我们使用梯度下降来找到一组最小化损失函数ℒ的“最优”笔画参数。这里黑色箭头线表示前向传播,红色箭头线表示梯度的反向传播。
3 方法论
我们的方法由三个技术模块组成:1) 一个神经渲染器,它被训练来根据一组矢量化笔画参数生成笔画;2) 一个笔画混合器,以可微分的方式组合多个渲染笔画;3) 一个相似度测量模块,它强制重建输入图像。接下来,我们将分别介绍每个模块的工作方式。
3.1 概述
图2展示了我们方法的概览。给定一个空的画布ℎ0,我们逐步绘制并叠加在每一步渲染的笔画。在每一步绘制中,一个训练好的神经渲染器𝐺接受一组笔画参数𝒙𝑡(例如,形状、颜色、透明度和纹理),并产生一个笔画前景𝑠𝑡和一个alpha蒙版𝛼𝑡。然后我们使用软混合来混合画布、前景和alpha蒙版,并确保整个渲染过程是可微分的。软混合定义如下:
ℎ𝑡+1 = 𝛼𝑡𝑠𝑡 + (1 - 𝛼𝑡)ℎ𝑡,(1)
其中(𝑠𝑡, 𝛼𝑡) = 𝐺(𝒙𝑡)。我们最终从所有步骤中收集笔画参数,并通过在笔画参数空间内搜索来优化它们。搜索是在自监督的方式下进行的,即我们强制最终渲染输出ℎ𝑇与参考图像ℎ^相似:
ℎ𝑇 = 𝑓𝑡=1∼𝑇(𝒙̃) ≈ ℎ^,(2)
其中𝑓𝑡=1∼𝑇(⋅)是从笔画参数到渲染画布的递归映射。𝒙̃ = [𝒙1, …, 𝒙𝑇]是在步骤𝑡=1,2,…,𝑇绘制时的笔画参数集合。
假设ℒ代表一个衡量画布ℎ𝑇与参考图像ℎ^之间相似度的损失函数,我们优化所有输入笔画𝒙̃在其参数空间,并最小化面部相似度损失ℒ:𝒙̃⋆ = arg min𝒙̃ℒ(ℎ𝑇, ℎ^)。我们使用梯度下降来更新笔画,如下所示:
𝒙̃ ← 𝒙̃ - 𝜇∂ℒ(ℎ𝑇, ℎ^)/∂𝒙̃,(3)
其中𝜇是一个预定义的学习率。
图3:我们设计了一个双路径神经渲染器,它由一个着色网络Gs和一个光栅化网络Gr组成。我们的渲染器接收一组笔触参数(颜色、形状和透明度)并产生光栅化的前景图和alpha蒙版。
3.2 解耦神经渲染
为了构建一个神经渲染器,通常的做法是构建一个深度卷积网络,并训练它模仿图形引擎的行为。以往的研究提出了使用堆叠的转置卷积[29, 37]或位置编码+解码器架构[35, 11]。这些方法在简单的笔触渲染场景中可以很好地工作。然而,我们发现这些渲染器在测试更复杂的渲染设置(如颜色过渡和笔触纹理)时可能会遇到形状和颜色表示的耦合问题。我们提出通过设计一个双路径神经渲染器来解决这个问题,该渲染器通过渲染流程解耦颜色和形状/纹理。
如图3所示,所提出的神经渲染器由两个网络组成,一个着色网络Gs和一个光栅化网络Gr。我们将笔触x的参数分为三组:颜色、形状和透明度。我们构建Gs为几个转置卷积层的堆叠[34],它接收颜色和形状参数并生成具有忠实前景颜色的笔触。我们设计Gr为一个位置编码+像素解码器,它简单地忽略颜色,但生成具有清晰形状边界的笔触轮廓。我们最终通过将颜色图与笔触轮廓进行掩码处理生成输出笔触前景s,并通过使用输入的透明度值对轮廓进行重新缩放生成最终的alpha蒙版α。
我们使用标准的ℓ2像素回归损失对渲染的笔触前景和alpha蒙版进行训练。在训练过程中,我们最小化以下目标函数:
ℒGs(𝒙) = 𝔼x∼u(x){‖s−ŝ‖22 + ‖α−α̂‖22}, (4)
其中ŝ和α̂是由图形引擎渲染的前景和alpha蒙版的真实值。x∼u(x)是在其参数空间内随机采样的笔触参数。
3.3 像素相似性和零梯度问题
定义渲染输出hT和参考ĥ之间的相似性有多种方式,也许最直接的一种是定义为像素级损失,例如ℓ1或ℓ2损失。请注意,当我们通过直接从它们的像素空间优化图像时,使用像素级损失可以工作得相当好。然而,当我们优化笔触参数时,我们表明像素损失并不总是保证有效的梯度下降。特别是,当渲染的笔触及其真实值没有重叠区域时,就会出现零梯度问题。在图4中,我们给出了为什么这种情况会发生的一个简单例子。
图4:一个简单的例子来解释为什么在笔触更新过程中像素级损失ℒ可能会遇到零梯度问题(∂ℒ/∂𝑠=0)。(a) 当我们沿着s方向将一个方形笔触A移动到其目标B时,如果A和B之间没有重叠,像素损失将保持不变。这将导致损失函数中的零梯度,如(b)所示。相比之下,©中的最优传输(OT)损失没有这样的问题,因为损失与A和B之间的物理距离相关联。
图5:在将一个笔画从初始状态“推”到目标状态的过程中,像素损失(第一行)与运输损失(第二行)的比较。使用提出的运输损失,笔画很好地收敛到了目标位置。相比之下,像素损失由于其位置和尺度上的零梯度问题而无法收敛。
假设我们有一个由渲染器生成的正方形笔画A,我们的目标是优化其参数,使其收敛到目标位置B。如果我们沿着水平方向移动A,并假设这种移动由某个参数维度(例如,中心x坐标)控制。显然,当A和B之间没有重叠时,画布与真实值之间的像素损失之和将保持不变,这导致了零梯度,无法指导笔画的更新。图4(b)显示了像素损失及其在移动距离上的梯度。这个问题可以通过重新定义损失为移动过程中所花费的运输努力量来有效解决,其中A和B之间的距离越远,所需的努力就越大,如图4(c)所示。在图5中,我们给出了另一个可视化示例,展示了在优化像素损失和运输损失时笔画的行为。我们看到,使用像素ℓ1损失,笔画无法沿着正确的方向移动,因为其参数化位置上没有梯度,而使用运输损失则使笔画很好地收敛到了目标。
图6:像素级距离和传输距离的比较。
3.4 基于最优传输的笔触搜索
我们将最小传输努力,即Wasserstein距离,定义为画布和参考图像之间相似度损失的有效度量。图12简要展示了最优传输损失与像素损失在衡量图像相似性方面的差异。
给定一个渲染画布h和一个参考图像h,我们将它们的归一化像素值p_h和p_h定义为它们的概率边缘函数。这里为了简单起见,我们省略了下标T。我们将P定义为联合概率矩阵,其(i, j)元素表示h中第i个像素和h^中第j个像素的联合概率,其中n是图像中的像素数。我们将D定义为成本矩阵,其(i, j)元素表示h中第i个像素的位置和h中第j个像素的位置之间的欧几里得距离。因此,矩阵D列出了将“单位像素质量”从h中的一个位置移动到h中的另一个位置的所有劳动成本。在离散情况下,经典的最优传输距离可以表示为一个线性优化问题 m i n P ∈ U ⟨ D , P ⟩ min_{P \in U} \langle D, P \rangle minP∈U⟨D,P⟩,其中 U : = { P ∈ R + n × n ∣ P 1 n = p h , P T 1 n = p h } U := \{P \in \mathbb{R}^{n \times n}_+ | P \mathbf{1}_n = p_h, P^T \mathbf{1}_n = p_h^\} U:={P∈R+n×n∣P1n=ph,PT1n=ph}。
在本文中,我们采用了经典最优传输距离的平滑版本,其中包含一个熵正则化项,即著名的Sinkhorn距离[3]。Sinkhorn距离是可微分的[22],并且具有优良的数学性质,可以导致比原始距离低得多的计算成本[3]。主要思想是在联合概率矩阵P上考虑除了U之外的额外熵约束。进一步使用拉格朗日乘子,可以将问题转化为正则化形式,如(LABEL:eq:reg)。我们将L_ot_t定义为最优传输损失,即从一个位置到另一个位置移动笔触所需的最小传输努力,然后按照以下方式将其定义为Sinkhorn距离:
L o t t ( h , h ) : = ⟨ D , P ~ λ ⟩ , with P ~ λ = arg min P ∈ U ⟨ D , P ⟩ − 1 λ E ( P ) , ( 5 ) L_ot_t(h, h^) := \langle D, \tilde{P}_\lambda \rangle, \text{ with } \tilde{P}_\lambda = \arg\min_{P \in U} \langle D, P \rangle - \frac{1}{\lambda} E(P), (5) Lott(h,h):=⟨D,P~λ⟩, with P~λ=argminP∈U⟨D,P⟩−λ1E(P),(5)
其中熵 E ( P ) : = − ∑ i , j = 1 n P i j log P i j E(P) := -\sum_{i, j=1}^n P_{ij} \log P_{ij} E(P):=−∑i,j=1nPijlogPij。
因此,优化的传输损失可以很容易地集成到参数搜索管道中,并且可以与其他损失一起轻松优化。最后,我们将相似度损失定义为像素ℓ1损失和最优传输损失的组合:
L = β l 1 L l 1 + β o t L o t , ( 6 ) L = \beta_{l1} L_{l1} + \beta_{ot} L_{ot}, (6) L=βl1Ll1+βotLot,(6)
其中β控制上述两个目标之间的平衡。
图7:我们的方法使用记号笔(第一行)和油画刷(第二行)逐笔绘画的结果。在右侧,我们还绘制了绘画过程中的损失曲线(像素ℓ1损失、传输损失和总损失)。
这幅图展示了使用我们的方法,通过逐笔绘画的方式生成的两种不同绘画风格(记号笔和油画刷)的作品。每行展示了一个绘画过程,从左到右,绘画逐渐完成。同时,图中还绘制了在绘画过程中,三种损失(像素ℓ1损失、传输损失和总损失)的变化曲线。这些曲线可以帮助我们了解在绘画过程中,模型是如何逐渐优化以减小损失,从而生成更好的绘画作品的。
图8:(a)-© 我们方法生成的风格化画作。在 (d) 中,我们还展示了我们方法生成的一些高度抽象的卡通角色带状艺术作品。你能猜出它们是谁吗?(答案见下文)
图9:使用我们的方法进行风格迁移的结果。第一行展示了同时迁移颜色和纹理风格的结果。第二行展示了只迁移颜色的结果。
3.5与神经风格迁移的联合优化
由于我们在参数搜索框架下进行笔触预测,我们的方法自然适合神经风格迁移框架。神经风格迁移模型通常旨在通过最小化内容损失和风格损失的组合来更新图像像素 [ 6 ] L n s t = L c t t + L s t y , 其中 L c t t 和 L s t y [6] \mathcal{L}_{nst} = \mathcal{L}_{ctt} + \mathcal{L}_{sty}, 其中\mathcal{L}_{ctt}和\mathcal{L}_{sty} [6]Lnst=Lctt+Lsty,其中Lctt和Lsty分别对应于图像内容和风格的约束。
为了编辑渲染输出的全局视觉风格,我们将相似性损失(6)扩展到上述风格损失,并将扩展的相似性损失定义为:
L = β l 1 L l 1 + β O T L O T + β s t y L s t y , ( 7 ) \mathcal{L} = \beta_{l1} \mathcal{L}_{l1} + \beta_{OT} \mathcal{L}_{OT} + \beta_{sty} \mathcal{L}_{sty}, (7) L=βl1Ll1+βOTLOT+βstyLsty,(7)
其中β是平衡损失的权重。我们遵循Gatys等人[6]的方法,将风格损失计算为由深度CNN提取的特征的Gram矩阵的平方误差。我们使用VGG-19[32]作为特征提取网络,并在由第2、4和7个卷积层产生的特征上计算Gram矩阵。
3.6实现细节
网络架构。我们将着色网络构建得类似于DCGAN的生成器[27],它由六个反卷积层组成。我们从输出层中删除Tanh激活函数,并观察到更好的收敛性。在我们的光栅化网络中,我们遵循Huang等人[11]的方法,首先构建一个由四个全连接层组成的位置编码器,然后构建一个由六个卷积层和三个像素混洗层[31]组成的像素解码器。我们还尝试了“UNet”[28]的架构,在这种情况下,我们将笔触参数在空间维度上平铺为一个3D张量,作为网络的输入。
训练细节。我们使用Adam优化器[15]来训练我们的渲染器。我们将批大小设置为64,学习率设置为2e-4,betas设置为(0.9, 0.999)。我们每100个epoch将学习率减少到其1/10,并在400个epoch后停止训练。在每个epoch中,我们使用矢量引擎随机生成50,000x64的真实笔触。我们将渲染输出大小设置为128x128像素。我们为每种笔触类型单独训练渲染器。
渐进式渲染。为了以更多的细节进行渲染,我们在尺度和动作维度上设计了一个渐进式渲染管道。我们首先从在单个128x128画布上搜索参数开始,然后将画布划分为m x m块(m = 2, 3, 4, …),并带有重叠部分,然后相应地在每个块上进行搜索。在每个块尺度上,我们逐渐将新笔触添加到“活动集”中,并逐步更新笔触。在每次更新中,我们同时优化活动集中的所有笔触。我们对每个块运行梯度下降20×N步,其中N是每个块中的笔触数量,与块的尺度无关。
0其他细节。我们设置\beta_{l1}=1.0和\beta_{OT}=0.1。我们使用RMSprop[10]优化器进行梯度下降,学习率\mu=0.01。在风格迁移中,我们设置\beta_{sty}=0.5,并更新200步。在Sinkhorn损失中,我们将画布调整为48x48像素以加快计算速度。我们将熵正则化项\epsilon设置为0.01,并将Sinkhorn循环的步数\n_{iter}设置为5。有关网络架构和笔触参数化的更多细节,请参阅我们的补充材料。
图10:我们的方法(400笔触)、“Learning-to-Paint” [11](400笔触)和SPIRAL [5](20笔触)创建的画作比较。图(b)和图(d)的结果来自他们的论文。
图11:由纽约艺术家亚当·利斯特(Adam Lister)手工创作的艺术作品以及我们方法自动创作的艺术作品。
4 实验分析
4.1 风格化绘画生成
图8展示了使用我们的方法生成的不同笔触类型的风格化绘画。在(d)中,我们还展示了由我们的方法自动创作的著名角色的胶带艺术作品,使用了最少数量的笔触。我们可以看到,我们的方法成功地学习了角色的高级抽象,并生动地描绘了它们的形状和颜色。图7展示了使用不同笔触刷子逐笔绘画的结果。在该图的右侧,我们还绘制了随着绘画进展的损失值变化。我们可以看到,在最初的几个绘画步骤中,我们的方法很好地捕捉了物体的全局外观,然后绘画逐渐从宏观到细节。图9展示了我们绘画结果的更多例子以及它们的风格转移结果。我们可以看到,通过在(7)中集成风格损失,颜色和纹理都可以成功地转移到绘画中,而内容保持不变。
图12:仅使用像素ℓ1损失和像素ℓ1损失+最优传输损失在花卉图片和MNIST数字上进行笔画优化的比较[16]。运输损失可以帮助恢复图像的更多细节,特别是当笔画初始化时与目标区域没有重叠时。
4.2与其他方法的比较
在图10中,我们将我们的方法与两种最近提出的基于笔画的图像到绘画翻译方法进行了比较:1) “Learning-to-Paint” [11],和3) “SPIRAL” [5],其中两者都训练了RL代理来绘画。我们可以看到我们的方法生成了更生动的结果,笔触纹理清晰,而其他方法往往会产生模糊的结果。我们还比较了我们的方法与手工创作的艺术作品。图11显示了这种比较,其中第二列显示了来自纽约的著名艺术家Adam Lister创作的结果。这些手工艺术作品来自他的官方画廊网站。我们可以看到,无论是手工结果还是自动化结果都呈现了一种低比特艺术几何绘画效果。
4.3控制实验
像素损失与运输损失。为了评估我们的运输损失函数的有效性,我们设计了以下实验,其中我们直观地比较了1)仅像素ℓ1损失,和2)像素ℓ1损失+运输损失生成的绘画。图12显示了比较结果。我们在花卉图片和MNIST数据集[16]上的几个数字上进行了测试。我们可以看到,运输损失有助于恢复更多细节。特别是在数字“1”和数字“4”中,仅使用像素ℓ1损失可能会导致笔画参数的不良收敛结果,这与我们在图5中展示的失败案例相似。
与其他神经渲染器的比较。我们将我们的提议渲染器与一些最近的渲染器进行了比较,包括1)一种类似DCGAN-Generator的渲染器,最近用于渲染3D对象和面部[29, 37, 30, 2],和2)一种用于渲染草图和绘画的位置编码器+解码器架构[11, 35]。在这里,我们将前者称为“DCGAN-G”,将后者称为“PixShuffleNet”。我们比较了它们在随机生成笔画上的验证准确性。图13显示了它们在不同训练周期上的验证准确性变化。我们在水彩笔和油画笔渲染任务上进行了测试,但标记笔和胶带艺术渲染器也有类似的性能。所有渲染器都在相同的设置下进行了训练。我们可以看到,在所有笔刷设置中,我们的神经渲染器都达到了最高的准确性,并且远远优于其他渲染器(在PSNR上比其他渲染器高出+2.5∼+5.0)。此外,我们的渲染器的收敛速度也比其他渲染器快得多。在图14中,我们对不同的渲染器进行了视觉比较。我们的方法在颜色忠实度和高频细节方面都产生了最佳结果。我们还注意到,尽管我们确实在颜色空间上对其进行了训练,但PixlSuffleNet无法恢复颜色。这可能是由于其位置编码或像素洗牌层的颜色和形状表示高度耦合造成的。
光栅化网络和着色网络。在这个实验中,我们评估了我们神经渲染器中两个组件的有效性:光栅化网络和着色网络。我们设计了以下实验,我们首先分别测试每个组件,然后测试我们的完整实现。所有网络都在相同的设置下进行了训练。表1显示了比较结果。我们观察到,当从我们的渲染器中移除任一网络时,前景和alpha matte的平均PSNR都有明显的下降,这表明了我们渲染器的双路径设计的有效性。
图13:不同神经渲染器的验证准确度(前景和alpha蒙版的渲染PSNR均值):DCGAN-G [29, 37]、UNet [28]、PxlShuffleNet [11]。我们的渲染器在准确度和收敛速度上都显著优于其他渲染器。
图14:不同神经渲染器渲染结果的视觉比较:UNet [28]、DCGAN-G [29, 2]、PxlShuffleNet [11],以及我们的渲染器。
表1:所提神经渲染器的消融研究。
5 结论
我们通过使用可微分笔触渲染来探索人类绘画的本质。我们认为这种艺术创作过程是在笔触参数搜索范式下进行的,该范式旨在最大化连续渲染画布与参考图像之间的相似性。我们的方法可以在矢量格式中生成高度逼真和绘画艺术作品,并具有可控的风格。我们从最优传输的角度处理图像相似性度量,并通过双路径神经渲染器解决颜色和形状的解缠。控制实验表明我们设计的有效性。
6. 附录
6.1 神经渲染器的详细配置
在表2和表3中,我们展示了光栅化网络和着色网络的详细配置。具体来说,在一个c×w×w/s层中,c表示滤波器的数量,w×w表示滤波器的大小,s表示步长。输出大小的格式为高度×宽度×通道。
6.2 笔触参数化
我们设计了四种类型的绘画刷子:油画刷、水彩墨水、记号笔和彩色胶带。在表4、表5、表6和表7中,我们详细描述了每种笔触的参数,其中“Controllers”显示了每种笔触的参数是如何配置的,而N表示每种笔触中的总参数数。
对于“记号笔”和“水彩墨水”,我们将笔触运动的主轨迹设计为二次贝塞尔曲线。贝塞尔曲线的形状由三个控制点P0=(x0, y0)、P1=(x1, y1)和P2=(x2, y2)指定。形式上,笔触定义为:
B ( t ) = ( 1 − t ) 2 P 0 + 2 ( 1 − t ) t P 1 + t 2 P 2 , ( 8 ) B(t) = (1-t)^2 P0 + 2(1-t)t P1 + t^2 P2, (8) B(t)=(1−t)2P0+2(1−t)tP1+t2P2,(8)
其中0≤t≤1。我们定义了另一组参数来控制笔触的粗细和颜色。对于水彩墨水,我们在P0和P2处分别定义了粗细(r0, r2)和颜色(R0, G0.B0, R2, G2, B2),而对于记号笔,我们在每个笔触轨迹中使用了恒定的粗细d和颜色(R, G, B)。
对于“彩色胶带”,我们将其定义为一个具有旋转角度θ∈[0, 180°]的实心颜色矩形。位置和大小由(x0, y0, h, w)定义。
对于“油画刷”,我们将其参数定义类似于彩色胶带。形状参数包括位置、大小和方向。颜色在笔触的头部和尾部分别定义(R0, G0.B0, R2, G2, B2)。由于油画颜料不透明,我们忽略了透明度参数A,并将其设置为常数A=1。我们还在渲染的笔触上混合了一张纹理图,但我们简单地将纹理视为一个常量图,在参数搜索期间不进行更新。
6.3 高分辨率结果
由于我们的绘画结果是用矢量格式生成的,因此我们可以以任何分辨率渲染它们。在图15和图16中,我们展示了两组以1024x1024像素分辨率渲染的结果。
图15:我们方法的高分辨率图像到绘画的转换结果。该结果以1024x1024像素的分辨率渲染。
图16:我们方法的高分辨率神经风格迁移结果。该结果以1024x1024像素的分辨率渲染。
这篇关于类人笔触的模型风格化绘画的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!