通过潜在扩散模型实现文本引导矢量草图合成

摘要

尽管主要在图像上进行训练,我们发现预训练的扩散模型在指导草图合成方面展现出了惊人的能力。在本文中,我们提出了DiffSketcher,这是一种创新的算法,它使用自然语言输入来创建矢量化手绘草图。DiffSketcher是基于预训练的文本到图像扩散模型开发的。它通过直接优化一组贝塞尔曲线来执行任务,使用扩展版的分数蒸馏采样(SDS)损失,这使得我们能够使用光栅级别的扩散模型作为优化参数化矢量化草图生成器的先验。此外,我们探索了嵌入在扩散模型中的注意力图,用于有效的笔画初始化,以加快生成过程。生成的草图展示了多个层次的抽象,同时保持了可识别性、基础结构和所绘主题的基本视觉细节。我们的实验表明,DiffSketcher的生成质量超过了先前的工作。
image.png
图1:上图:展示了我们提出的方法DiffSketcher生成的矢量草图的可视化。下图:展示了绘制过程的可视化。对于每个示例,我们展示了具有不同笔画数量的两个草图。

1 引言

简化表示,如草图和自然语言,是通过强调主题的本质来有效传达想法的强大工具。作为抽象概念的载体,自然语言传达了抽象的语义理解,而草图则体现了人类视觉的抽象表现。草图可以提供比自然语言更多的视觉细节,使概念更加具体。当设计师与客户讨论设计计划时,设计师可能会根据客户的描述绘制原型草图,以确保完全理解他/她的需求。如果能够自动学习文本到草图的过程,将大大降低相关劳动成本。

不幸的是,文本到草图生成的任务尚未被探索。一些研究集中在基于图像的草图生成上[3, 18, 45, 44]。其中一种方法是Info-drawing[3],它将草图视为照片,并使用生成对抗网络(GAN)根据输入图像生成基于光栅的草图。它还引入了一种风格损失,以确保生成的草图具有与训练中使用的参考草图相似的风格。CLIPasso[45]提出了一种新颖的流程,通过可微光栅器优化语义损失来生成矢量草图。CLIPasso只能处理单一对象的图像,因此它的后续工作CLIPascene[44]扩展到了场景级图像。然而,所有这些方法都依赖于输入图像,并不直接从文本输入生成草图。此外,尽管这些方法能够从照片生成逼真的草图,但它们有一个限制,即不能生成新的内容。

最近在文本到图像生成方面的突破是由在数十亿图像-文本对上训练的扩散模型[23, 28, 30, 31]驱动的[34]。这些模型,以文本为条件,现在支持高保真、多样性和可控的图像合成。尽管如此,目前的文本到图像扩散模型无法生成高度抽象和矢量化的手绘草图(如图2所示)。我们从高度有效的文本到图像扩散模型和基于图像的草图生成器中汲取灵感,构建了文本和手绘草图这两种基本人类表达形式之间的桥梁,从而开发了我们提出的文本到草图生成器。

在这项工作中,我们提出了DiffSketcher,这是一种算法,可以根据自然语言文本输入合成新颖且高质量的手绘矢量草图。DiffSketcher不需要任何文本到草图的训练对或大型草图数据集。相反,我们利用预训练的扩散模型[30]的指导,将草图定义为一组贝塞尔曲线,并通过可微光栅器[16]优化曲线参数。DiffSketcher背后的关键思想是将从文本到图像生成模型中获得的先验知识转移到可微光栅器中。这允许使用语义一致性优化文本引导的草图,确保最终输出的草图与它们对应的文本输入一致且对齐。然而,充分利用预训练的扩散模型高效生成简单对象和复杂场景的高质量手绘草图是一项非平凡的任务。

为此,我们提出了三种策略来提高生成质量和效率:(1)提出了一种扩展的分数蒸馏采样(SDS)损失来指导曲线参数的优化。以前的工作使用CLIP损失优化矢量草图的参数。我们发现,扩展版的SDS损失可以产生更多样化的草图合成结果,并且可以与CLIP损失或LPIPS损失结合,提供额外的控制项。(2)探索扩散模型中嵌入的注意力图,以有效初始化笔画。如果每个笔画的起始点是随机初始化的,合成过程可能会非常耗时。因此,我们探索了不同的初始化策略,并提出使用U-Net[5]中扩散模型的交叉注意力图和自注意力图的融合产品来初始化曲线控制点,这与随机初始化相比显著提高了效率。(3)在优化贝塞尔曲线的过程中引入不透明度属性,以更好地模仿人类草图的风格,实现重笔和轻笔的效果。

总结我们的贡献有三个方面:(1)我们提出了一个文本到草图的扩散模型,名为DiffSketcher。据我们所知,它是第一个能够生成具有不同抽象层次的多样化和高质量矢量草图的扩散模型,适用于对象和场景级别。(2)我们提出了三种策略来提高生成质量和效率,包括扩展的SDS损失和注意力增强的笔画初始化策略。在合成过程中考虑了笔画的不透明度属性,以进一步改善视觉效果。(3)我们进行了广泛的实验,实验结果表明,我们的模型在草图质量和多样性方面优于其他模型。为未来的研究提供了深入的见解。
image.png
图2:DiffSketcher 生成的各种手绘草图及其对应的描述提示。DiffSketcher 通过分数蒸馏[24]从 LDM[30]复合图像中获取先验信息,并通过对具有不透明度属性的贝塞尔曲线集进行梯度下降,实现与人类草图相同的轻重绘制风格。我们提出的 DiffSketcher 允许在匹配相应文本语义的同时实现不同级别的抽象。在每个示例中,给定相同的文本提示和两个不同的随机种子,生成两个具有不同笔触数量的草图。红色单词表示用于初始化控制点的交叉注意力索引(关于交叉注意力的详细信息在第4.2节中介绍)。

2. 相关工作

草图合成。 手绘草图通过人类的视觉感知以最小的抽象传达抽象概念。与纯粹的边缘图提取方法[2]不同,手绘草图旨在从结构和语义解释的角度呈现抽象的草图[3,45]。因此,旨在模仿人类绘画的计算草图方法考虑了广泛的草图表示,从基于输入图像边缘图[46,17,15,42,18,4]到更抽象的[9,8,1,7,26,45],通常以向量格式表示。在生成向量草图的作品中,CLIPasso[45]和CLIPascene[44]基于输入图像,而其他则是无条件的。到目前为止,还没有先前的工作探索基于文本生成草图。

向量图形。 我们的工作建立在 Li 等人引入的向量图形的可微分渲染器之上[16]。虽然传统上在向量图像上操作的图像生成方法需要基于向量的数据集,但最近的工作已经展示了如何使用可微分渲染器来规避这一限制[36,14,41,29,19]。此外,最近在视觉文本嵌入对比语言-图像预训练(CLIP)[27]方面的进展已经使许多成功的草图生成方法成为可能,例如CLIPDraw[7]、StyleCLIPDraw[32]、CLIP-CLOP[21]和CliPascene[44]。最近的一项工作VectorFusion[13]将可微分渲染器与扩散模型结合起来进行向量图形生成,例如图标和像素艺术。我们提出的算法 DiffSketcher 与 VectorFusion 有类似的想法,但我们的重点是根据自然语言提示生成物体和场景级别的草图。

扩散模型。去噪扩散概率模型(DDPMs)[37,39,11,40],特别是那些基于文本的模型,在文本到图像的合成方面显示出了有希望的结果。例如,Classifier-Free Guidance(CFG)[12]已经改进了样本质量,并在大规模的扩散模型框架中被广泛使用,包括GLIDE[23]、Stable Diffusion[30]、DALL·E 2[28]和Imagen[31]。然而,网络规模数据集中的大多数可用图像都是光栅化的,这项工作遵循通过优化进行合成的框架,其中图像是通过在给定度量标准下进行评估时间优化而生成的。我们提出的算法 DiffSketcher 使用预训练的文本到图像扩散模型从自然语言输入生成手绘草图。这是通过将图像合成先验信息转移到可微分渲染器来实现的。

3. 预备知识

3.1 扩散模型

本节提供了扩散模型的简要概述,这是一种利用潜在变量逐渐将样本从噪声分布转换到目标数据分布的生成模型类[37,11]。扩散模型由两个组件组成:前向过程 q q q 和反向过程或生成模型 p p p。前向过程,通常被建模为高斯分布,通过随时间添加噪声逐渐从输入数据 x x x 中去除结构。另一方面,反向过程向从潜在变量 z t z_t zt 开始的噪声添加结构。具体而言,生成模型被训练为从随机噪声 p ( z T ) = N ( 0 , I ) p(z_T) = \mathcal{N}(0, I) p(zT)=N(0,I) 开始慢慢添加结构,具有转换 p θ ( z t − 1 ∣ z t ) p_\theta(z_{t-1}|z_t) pθ(zt1zt)。通过使用(加权)证据下界(ELBO)训练扩散模型,简化为针对参数 θ \theta θ 的加权去噪得分匹配目标[11]:

L Diff  ( θ , x ) = E t ∼ U ( 0 , 1 ) , ϵ ∼ N ( 0 , I ) [ w ( t ) ∥ ϵ − ϵ θ ( α t x + σ t ϵ ; t ) ∥ 2 / 2 ] \mathcal{L}_{\text {Diff }}(\theta, x)=\mathbb{E}_{t \sim \mathcal{U}(0,1), \epsilon \sim \mathcal{N}(0, I)}\left[w(t)\left\|\epsilon-\epsilon_{\theta}\left(\alpha_{t} x+\sigma_{t} \epsilon ; t\right)\right\|^{2} / 2\right] LDiff (θ,x)=EtU(0,1),ϵN(0,I)[w(t)ϵϵθ(αtx+σtϵ;t)2/2] (1)

其中 w ( t ) w(t) w(t) 是取决于时间步长 t t t 的加权函数。我们的工作基于文本到图像的潜在扩散模型(LDM),该模型在给定文本嵌入 y y y 的条件下学习 ϵ θ ( z t ; t , y ) \epsilon_{\theta}(z_t; t, y) ϵθ(zt;t,y)[30]。LDM 使用分类器无关指导(CFG)[12],它联合学习一个无条件模型,通过指导缩放参数 w w w 实现更高质量的生成:

ϵ ^ θ ( z t ; y , t ) = ( 1 + w ) ϵ θ ( z t ; y , t ) − w ϵ θ ( z t ; t ) \hat{\epsilon}_{\theta}(z_t; y, t)=(1+w) \epsilon_{\theta}(z_t; y, t)-w \epsilon_{\theta}(z_t; t) ϵ^θ(zt;y,t)=(1+w)ϵθ(zt;y,t)wϵθ(zt;t) (CFG 的版本表示预测的噪声)。CFG 修改得分函数以偏向条件密度与无条件密度之比较大的 region。在实践中,设置 w > 0 w>0 w>0 会以牺牲多样性为代价提高样本保真度。

3.2 分数蒸馏采样

许多3D生成方法使用冻结的图像-文本联合嵌入模型(如CLIP)和基于优化的方法来训练神经辐射场(NeRF)[20]。这样的模型可以被指定为可微分图像参数化(DIP)[22],其中可微分生成器 g g g 将参数 ϕ \phi ϕ 转换为创建图像 x = g ( ϕ ) x = g(\phi) x=g(ϕ)。在DreamFusion[24]中, ϕ \phi ϕ 是3D体积的参数, g g g 是体积渲染器。为了学习这些参数,DreamFusion 提出了分数蒸馏采样(SDS)损失,该损失可以应用于 Imagen[31]:

∇ ϕ L S D S ( θ , x = g ( ϕ ) ) ≜ E t , ϵ [ w ( t ) ( ϵ ^ θ ( z ; y , t ) − ϵ ) ∂ x ∂ ϕ ] \nabla_{\phi} \mathcal{L}_{\mathrm{SDS}}(\theta, x=g(\phi)) \triangleq \mathbb{E}_{t, \epsilon}\left[w(t)\left(\hat{\epsilon}_{\theta}(z ; y, t)-\epsilon\right) \frac{\partial x}{\partial \phi}\right] ϕLSDS(θ,x=g(ϕ))Et,ϵ[w(t)(ϵ^θ(z;y,t)ϵ)ϕx] (2)

其中常数 α t I = ∂ z t ∂ x \alpha_t I = \frac{\partial z_t}{\partial x} αtI=xzt 被吸收到 w ( t ) w(t) w(t) 中,使用了分类器无关指导的 ϵ ^ θ \hat{\epsilon}_{\theta} ϵ^θ。在实践中,SDS 提供了损失梯度,而不是标量损失。他们提出的 SDS 损失提供了一种评估图像和标题之间相似性的方法:

∇ ϕ L S D S ( θ , x = g ( ϕ ) ) = ∇ ϕ E t [ σ t α t w ( t ) K L ( q ( z t ∣ g ( ϕ ) ; y , t ) ∥ p θ ( z t ; y , t ) ) ] \nabla_{\phi} \mathcal{L}_{\mathrm{SDS}}(\theta, x=g(\phi))=\nabla_{\phi} \mathbb{E}_{t}\left[\frac{\sigma_{t}}{\alpha_{t}} w(t) \mathrm{KL}\left(q\left(z_{t} | g(\phi) ; y, t\right) \| p_{\theta}(z_{t} ; y, t)\right)\right] ϕLSDS(θ,x=g(ϕ))=ϕEt[αtσtw(t)KL(q(ztg(ϕ);y,t)pθ(zt;y,t))] (3)

其中 p θ p_{\theta} pθ 是冻结的预训练 Imagen 模型学习的分布。 q q q 是一个以学习到的平均图像 g ( ϕ ) g(\phi) g(ϕ) 为中心的单峰高斯分布。DreamFusion[24]提出了一种使用预训练的像素空间文本到图像扩散模型(Imagen[31])作为损失函数的方法。然而,传统上在像素上训练的扩散模型仅用于采样像素。我们希望创建看起来像好的草图,当从一组向量笔触渲染时,它们与文本提示相匹配。这样的模型可以被指定为可微分图像参数化,其中可微分光栅化器 R \mathcal{R} R 将参数 ϕ \phi ϕ 转换为创建草图 S = R ( ϕ ) \mathcal{S} = \mathcal{R}(\phi) S=R(ϕ)

受 DreamFusion[24]的启发,我们扩展了分数蒸馏采样(SDS)损失,使用预训练的潜在扩散模型[30]作为优化曲线参数的先验。直观地,分数蒸馏将扩散采样转换为优化问题,允许光栅图像由可微分光栅化器表示。

3.3 可微分光栅化器

Li 等人[16]引入了一个可微分光栅化器 R \mathcal{R} R,它连接了向量图形和光栅图像域。光栅图像是对向量图形场景 f ( x , y ; Θ ) f(x, y; \Theta) f(x,y;Θ) 的空间进行2D网格采样,其中 Θ \Theta Θ 包含曲线参数,例如贝塞尔控制点的坐标、不透明度、线条粗细。给定一个2D位置 ( x , y ) ∈ R 2 (x, y) \in \mathbb{R}^2 (x,y)R2,他们首先找到所有与该位置重叠的填充曲线和笔触。然后按照用户指定的顺序对它们进行排序,并使用 alpha 混合[25]计算颜色。它使光栅化曲线(图像)的梯度能够反向传播到曲线参数。

4. 方法

在本节中,我们介绍了使用预训练的文本到图像扩散模型生成草图的方法。设 S \mathcal{S} S 是一个使用文本提示 P \mathcal{P} P 通过可微分渲染器 R \mathcal{R} R 渲染的草图。我们的目标是优化一组参数化笔触,以自动生成一个向量草图,该草图与文本提示的描述相匹配。

我们的管道如图3所示。给定一个描述所需主题的文本提示 y y y 和一组笔触的控制点,我们在匹配文本提示的语义属性的同时合成相应的草图 S \mathcal{S} S。为了初始化笔触的控制点,我们提取并融合潜在扩散模型[30]使用的 U-Net[5]的注意力图。我们的关键观察是,生成图像的结构外观取决于扩散过程[10]中像素和文本嵌入之间的相互作用。我们在第4.2节中提供了关于笔触初始化的更多细节。
image.png
图3:管道概述。DiffSketcher接受一组控制点(笔触的位置)和文本提示作为输入,以生成手绘草图。

如图4所示,在优化的每个步骤中,我们将笔触参数馈送到可微分光栅化器 R \mathcal{R} R来生成光栅草图。我们优化参数 ϕ \phi ϕ,使得 S = R ( ϕ ) \mathcal{S} = \mathcal{R}(\phi) S=R(ϕ)接近于从冻结的潜在扩散模型[30]中采样的样本。为了执行此优化,我们提出了SDS损失函数的变体,该函数增强了手绘笔触的纹理,并提高了绘制风格的恢复能力。这导致光栅草图始终与文本提示一致。生成的草图以及从冻结的潜在扩散模型中采样的样本然后定义了联合语义和感知损失。我们通过可微分光栅化器 R \mathcal{R} R反向传播损失,并在每个步骤中直接更新控制点和笔触的不透明度,直到损失函数收敛。

4.1 通过优化进行合成

我们将草图定义为一组 n n n个具有不透明度属性的笔触 { s 1 , … , s n } \{s_1, \ldots, s_n\} {s1,,sn}放置在白色背景上。为了表示每个笔触,我们使用一个具有四个控制点的二维贝塞尔曲线 s i = { p i j } j = 1 4 = { ( x i , y i ) j } j = 1 4 s_i = \{p_{ij}\}_{j=1}^4 = \{(x_i, y_i)_j\}_{j=1}^4 si={pij}j=14={(xi,yi)j}j=14(注意,这里 x x x y y y表示画布上的坐标)和一个不透明度属性 α i \alpha_i αi。我们将笔触的不透明度纳入优化过程,并使用DiffSketcher的语义理解来实现类似于人类的轻重草图风格。笔触的参数被馈送到可微分光栅化器 R \mathcal{R} R,它形成了光栅草图 S = R ( ( s 1 , α 1 ) , … , ( s n , α n ) ) = R ( ( { p 1 j } j = 1 4 , α 1 ) , … , ( { p n j } j = 1 4 , α n ) ) \mathcal{S} = \mathcal{R}((s_1, \alpha_1), \ldots, (s_n, \alpha_n)) = \mathcal{R}((\{p_{1j}\}_{j=1}^4, \alpha_1), \ldots, (\{p_{nj}\}_{j=1}^4, \alpha_n)) S=R((s1,α1),,(sn,αn))=R(({p1j}j=14,α1),,({pnj}j=14,αn))。为了简单起见,我们将 R \mathcal{R} R中的参数定义为 ϕ \phi ϕ

4.1.1 简单版本:对生成图像的保真度

我们从一个两阶段的管道开始:首先,我们使用文本提示从潜在扩散模型[30]中采样一幅图像。接下来,我们优化控制点以获得与文本提示一致的草图。为了保持生成样本的保真度,我们引入了联合视觉语义和感知(JVSP)损失,以优化从冻结的潜在扩散模型[30]中采样的实例与合成草图之间的相似性。我们利用VAE[6]解码器 D \mathcal{D} D来获取 S θ ^ ( z t ∣ y ; t ) \mathcal{S}^{\hat{\theta}}(z_t | y; t) Sθ^(zty;t)的RGB像素表示。然后,我们联合使用LPIPS[47]和CLIP视觉编码器[27,45]作为深度结构相似性和视觉语义相似性度量。具体而言,我们使用以下损失函数:
L JVSP  = L LPIPS  ( D ( S θ ^ ( z t ∣ y ; t ) ) , R ( ϕ ) ) + ∑ l ∥ CLIP ⁡ l ( D ( S θ ^ ( z t ∣ y ; t ) ) ) − CLIP ⁡ l ( R ( ϕ ) ) ∥ \mathcal{L}_{\text {JVSP }}=\mathcal{L}_{\text {LPIPS }}(\mathcal{D}(\mathcal{S}^{\hat{\theta}}(z_t | y; t)), \mathcal{R}(\phi))+\sum_{l}\left\|\operatorname{CLIP}_{l}(\mathcal{D}(\mathcal{S}^{\hat{\theta}}(z_t | y; t)))-\operatorname{CLIP}_{l}(\mathcal{R}(\phi))\right\| LJVSP =LLPIPS (D(Sθ^(zty;t)),R(ϕ))+l CLIPl(D(Sθ^(zty;t)))CLIPl(R(ϕ)) (4)
L JVSP  \mathcal{L}_{\text {JVSP }} LJVSP 损失函数鼓励合成的草图与从LDM采样的图像的底层语义和感知细节相匹配,从而产生更逼真和视觉上吸引人的结果。虽然将光栅化扩散样本向量化是有损的,但SDS(ASDS)损失的输入增强版本可以微调结果或从头开始优化随机控制点以采样与文本提示一致的草图。在第4节中,我们引入ASDS损失来匹配文本提示。

4.1.2 增强SDS损失:对文本提示的保真度

image.png
图4:优化概述。为了生成与给定文本提示相匹配的草图,我们优化可微分光栅化器 R \mathcal{R} R的参数,该光栅化器生成光栅草图 S \mathcal{S} S,使得生成的草图接近于从冻结的潜在扩散模型(图片中的蓝色部分)中采样的样本。由于扩散模型直接预测更新方向,我们不需要通过扩散模型进行反向传播;该模型只是像一个高效的冻结批评者一样工作,预测图像空间编辑。
为了生成与给定文本提示相匹配的向量草图,我们直接优化可微分光栅化器 R \mathcal{R} R的参数 ϕ \phi ϕ,该光栅化器生成光栅草图 S \mathcal{S} S。我们提出了SDS损失函数的输入增强版本来进行此优化,该版本鼓励可能的图像具有低损失,不可能的图像具有高损失。给定一个光栅草图 S ′ ∈ R H × W × 3 \mathcal{S}' \in \mathbb{R}^{H \times W \times 3} SRH×W×3,我们结合RandomPerspective、RandomResizedCrop和RandomAdjustSharpness来获取 S a ′ ∈ R 512 × 512 × 3 \mathcal{S}'_a \in \mathbb{R}^{512 \times 512 \times 3} SaR512×512×3的数据增强版本。这些变换可以保留艺术风格、增强风格多样性、强调关键特征,并提高模型对黑白手绘草图中常见的各种艺术表现和大小变化的适应性。然后,LDM使用VAE编码器[6]将 S a ′ \mathcal{S}'_a Sa编码为潜在表示 z = E ( S a ′ ) z = \mathcal{E}(\mathcal{S}'_a) z=E(Sa),其中 z ∈ R ( H / f ) × ( W / f ) × 4 z \in \mathbb{R}^{(H/f) \times (W/f) \times 4} zR(H/f)×(W/f)×4 f f f是编码器下采样因子。总之,我们使用以下ASDS损失函数:

∇ ϕ L A S D S ( θ , S = R ( ϕ ) ) ≜ E t , ϵ , a [ w ( t ) ( ϵ ^ θ ( z t ; y , t ) − ϵ ) ∂ z ∂ S a ′ ∂ S a ′ ∂ ϕ ] \nabla_{\phi} \mathcal{L}_{\mathrm{ASDS}}(\theta, \mathcal{S}=\mathcal{R}(\phi)) \triangleq \mathbb{E}_{t, \epsilon, a}\left[w(t)\left(\hat{\epsilon}_{\theta}(z_t ; y, t)-\epsilon\right) \frac{\partial z}{\partial \mathcal{S}'_a} \frac{\partial \mathcal{S}'_a}{\partial \phi}\right] ϕLASDS(θ,S=R(ϕ))Et,ϵ,a[w(t)(ϵ^θ(zt;y,t)ϵ)SazϕSa] (5)

其中加权函数 w ( t ) w(t) w(t)是一个超参数。我们从 t ∼ U ( 0.05 , 0.95 ) t \sim \mathcal{U}(0.05, 0.95) tU(0.05,0.95)中采样 t t t,以避免由于数值不稳定性而导致的非常高的噪声水平和非常低的噪声水平。与DreamFusion[24]一样,我们将分类器无关指导的 w w w设置为100,更高的指导权重可以提供更好的样本质量。直观地,该损失函数通过与时间步长 t t t对应的随机噪声量来扰动 S a ′ \mathcal{S}'_a Sa,并估计一个更新方向,该方向遵循扩散模型的得分函数以移动到更高密度的区域。ASDS损失函数鼓励生成的草图匹配给定的文本提示,同时保留原始草图的风格和结构。在每次迭代中,我们通过可微分光栅化器反向传播损失,并直接更新控制点和笔触的不透明度,直到损失函数收敛。

我们最终模型的损失目标。为了进一步提高生成草图的质量,我们结合了JVSP和ASDS损失。具体而言,我们首先使用JVSP损失获得初始结果,然后使用ASDS损失微调可微分光栅化器。我们发现这种设计可以实现最佳性能。ASDS损失直接预测梯度更新方向,因此其损失值不需要权重平衡。在JVSP损失中,我们将LPIPS项的权重设置为0.2,CLIP视觉项的权重设置为1。为了计算CLIP中间层激活之间的L2距离,我们遵循CLIPasso[44]的方法,使用CLIP模型ResNet101的第3层和第4层。如图8所示,我们比较了简单版本和仅使用ASDS损失的版本以及所提出的最终版本之间的性能。我们的实验表明,最终版本在生成质量和效率方面都有所提高。

4.2 基于联合注意力的笔触初始化

image.png
图5:笔触初始化。图中的蓝色部分代表 LDM 中的 UNet,它具有两种类型的注意力机制:自注意力和交叉注意力。黄色和绿色部分分别描绘了交叉注意力和自注意力的可视化结果。灰色部分显示了如何使用融合的注意力图生成初始笔触。虚线框表示注意力融合,它由自注意力图和对应于第5个文本提示令牌(“Tower”)的交叉注意力图的平均值组成。我们从第1个令牌开始,因为第0个令牌被 CLIP 起始令牌占用。

ASDS 损失函数的高度非凸性质使得优化过程容易受到初始化的影响,尤其是在多实例场景中,笔触必须仔细放置以强调手绘草图所传达的整体语义。我们通过基于文本提示条件潜在扩散模型的注意力图来初始化曲线控制点,从而改善了语义描绘的收敛性。LDM 中的 UNet 具有两种类型的注意力机制(如图5中的蓝色部分所示):自注意力和交叉注意力,其中黄色部分代表交叉注意力的可视化结果,绿色部分代表自注意力的可视化结果。通过扩散过程[10],LDM[30]生成的图像的结构外观取决于像素与文本嵌入之间的相互作用,这在交叉注意力层[43]中得到了体现。可视化结果显示,交叉注意力层控制了图像空间布局与提示中的每个单词之间的关系,而自注意力层则影响了生成图像的空间布局和几何结构。基于这一观察,我们线性地组合两个注意力图的概率分布来初始化曲线控制点。具体而言,我们根据文本令牌选择交叉注意力图中的一个图,并将其与平均自注意力图相结合。这个过程可以形式化为FinalAttn = λ _ CrossAttn_i + (1 - λ) _ Mean(SelfAttn),其中λ是控制系数,i表示文本提示中的第i个令牌。最后,我们使用softmax对融合的注意力图进行归一化,并将其用作分布图来为每个贝塞尔曲线的第一个控制点p_i1采样n个位置。其他三个控制点(p_i2、p_i3、p_i4)在p_i1周围一个小半径(图像大小的0.05)内进行采样,以定义初始的贝塞尔曲线集{ {p_ij}{j=1}^4 }{i=1}^n。经验结果表明,与随机初始化相比,我们基于注意力融合的初始化对最终草图的质量和渲染速度做出了显著贡献。

5. 结果

image.png
图6:与现有方法的比较,包括边缘提取[2]和向量草图[45,44]。

5.1 定性评估

如图2所示,我们展示了我们的方法能够根据文本提示生成物体级别和场景级别的草图,并通过笔触数量来灵活地控制抽象级别。它能够生成准确的草图,无论提示的复杂性如何,包括简单或不存在的物体、标志性建筑和详细场景。利用稳定扩散的鲁棒先验可以实现有利的初始化,从而在显著减少迭代次数的情况下生成高质量的草图。图6定性地比较了我们的DiffSketcher与基于CLIP[45]和基于边缘提取的方法[2]。Canny边缘提取算法提取过多的边缘并产生杂乱的草图,如图6中的第一个示例所示。CLIPasso使用视觉距离度量来指导基于梯度的优化。在绘制场景级别的草图任务中,CLIPasso只能绘制前景的一部分,而背景部分缺失。

我们还将我们的工作与最近的VectorFusion[13]进行了比较。结果如图7所示。这项工作与我们的工作密切相关,因为它也探索了扩散模型在生成向量图形方面的潜力。然而,在任务设置、模型设计和性能方面,我们的方法和VectorFusion之间存在显著差异。首先,我们的方法DiffSketcher主要关注基于文本输入生成向量草图。相比之下,VectorFusion旨在生成更广泛的向量图形,包括图标和像素艺术。重要的是要强调,我们的方法有能力轻松扩展其功能以生成其他类型的向量图形,而无需更改基元(如补充材料B中的图10所示)。其次,DiffSketcher与VectorFusion遵循不同的管道。VectorFusion为不同类型的向量图形使用不同的模型变体。对于生成向量草图,我们的方法与VectorFusion在两个主要方面有所不同:(1)初始化:VectorFusion随机初始化光栅化器(即控制点的位置),而我们的方法利用LDM的注意力层进行初始化,该层由文本提示指导。这显著提高了效率和合成质量。(2)优化:虽然VectorFusion只优化控制点的位置,但我们的方法还优化笔触的不透明度。这有助于提高生成草图的视觉质量。如图7所示,我们的方法在生成向量草图方面明显优于VectorFusion,并且在生成其他类型的向量图形方面也具有可比的性能(见补充材料B中的图10)。值得注意的是,我们在图7中展示的模型变体仅使用ASDS损失进行优化,并随机初始化笔触。这是为了确保与VectorFusion进行公平的比较。我们的完整模型有望实现更好的性能。
.image.png
图7:与VectorFusion(VF)[13]的定性比较。VF的结果基于其原始论文和项目网站,文本提示后缀为“在ArtStation上流行的极简2D线条画”。请注意,我们的结果使用ASDS从头开始优化,没有使用特定设计的文本提示后缀。

5.2 定量评估

由于缺乏真实草图,评估文本到草图的生成具有挑战性。因此,我们关注三个指标:生成的草图与文本提示之间的一致性、草图的审美质量以及草图的识别准确性。为了衡量生成的草图与输入文本之间的一致性,我们计算生成的草图和用于生成它们的文本标题的CLIP嵌入的余弦相似性的平均值。我们的方法实现了0.3494的余弦相似性,这高于Canny算法实现的0.328和CLIPasso实现的0.3075。审美吸引力是主观的,看起来吸引人是一种个人体验和偏好。然而,在描述手绘草图的视觉吸引力时,可以考虑各种因素,如线条质量、纹理和风格。作为对我们提出方法的评价,我们使用基于CLIP的审美指标[33]来计算多个类别的样本的审美价值。图6比较了各种方法实现的审美价值。在大量示例上,我们的方法实现了4.8206的平均审美价值,这高于Canny实现的4.3682和CLIPasso[45]实现的4.0821。

5.3 消融研究

image.png
图8:消融研究的定性结果。顶部:DiffSketcher使用的两种初始化策略(即LDM注意力)和CLIPasso[45](即CAM[35]显著图)。从LDM中采样的结果。第二和第三行:两种初始化策略在收敛速度上的比较。第四和第五行:JVSP(第4.1.1节)和ASDS损失(第4节)的效果。第五行显示了没有数据增强的SDS损失。第六和第七行:当笔触随机初始化时,ASDS损失会导致更多样化的结果。此示例中使用的文本提示:“小行星上的宇航员,星系背景”。

我们进行了一系列的实验来展示所提出的初始化策略的有效性以及ASDS损失和JVSP损失的效果。图8的顶部比较了DiffSketcher和CLIPasso[45]使用的两种初始化策略,分别是LDM注意力和CAM[35]显著图。由于LDM的优越生成能力,文本驱动的扩散模型产生的注意力图比基于CLIP的方法获得的显著图更精确。LDM的交叉注意力特性可以根据令牌区域有效地激活相关区域,而自注意力层可以有效地区分前景和背景,直到像素级别。通过结合两种机制,初始化区域变得更精确。因此,如图8的第二和第三行所示,使用更少的优化步骤可以产生更高质量的草图。所提出的初始化策略提高了采样质量和效率,这对于非凸目标函数优化至关重要。

在DiffSketcher中,我们的JVSP损失包括CLIP损失和LPIPS损失,值得注意的是,ASDS和JVSP彼此之间并不冲突。如图8所示,第四行和第八行分别强调了JVSP损失和ASDS损失的效果。当仅使用JVSP损失(第四行)时,生成的样本非常接近LDM的结果。另一方面,当仅使用ASDS损失(第八行)时,生成的样本在语义上与文本提示一致,但并不遵循LDM的注意力图。此外,使用ASDS损失会导致合成过程中出现更多样化的采样结果。例如,当使用ASDS损失时,宇航员头部的位置可能会在绘制过程中发生变化,而当使用JVSP损失时,它会保持在同一位置。我们使用JVSP损失和ASDS损失进行优化。如图8的第五行(标记为“DiffSketcher”)所示,这两种损失的结合导致生成的草图具有更复杂的细节和更逼真的视觉外观。

6. 结论

在这项工作中,我们提出了一种新颖有效的方法来弥合自然语言和手绘草图之间的差距。通过利用预训练文本到图像扩散模型的力量,我们开发了一种方法,可以根据文本输入生成多样化、高质量的向量草图,而无需大规模的草图数据集或草图文本对。我们还探索了模型设计的各个方面,如笔触初始化策略、损失函数的选择以及可微分光栅化器中笔触的特性,这些都为未来的研究提供了有价值的见解。随着进一步的研究和发展,我们提出的模型DiffSketcher有可能成为设计和教育等各个领域的宝贵工具。局限性。我们的方法有两个局限性。首先,文本提示和草图抽象性之间缺乏相关性可能导致不满意的草图。为了解决这个问题,我们建议在文本提示的复杂性和使用的笔触数量之间建立联系。更多细节可以在补充材料I中找到。其次,生成草图的风格有限。一种可能的解决方案是在草图合成过程中引入风格转换模块。

补充材料

概述

这份补充材料分为几个部分,提供了与我们在DiffSketcher方面的工作相关的额外细节和分析。具体包括以下主题:

  • 在A部分,我们提供了DiffSketcher的实现细节。
  • 在B部分,我们对我们的DiffSketcher与其他两种文本到SVG方法,即CLIPDraw[7]和VectorFusion[13]进行了定性比较。我们比较了这些方法生成的结果,并从视觉质量和语义一致性方面分析了差异。
  • 在C部分,我们比较了由我们的DiffSketcher生成的草图和直接从LDM(即Stable Diffusion[30])中采样的草图,并分析了它们在风格上的差异。
  • 在D部分,我们进行了感知研究,以评估生成的草图的真实性。
  • 在E部分,我们比较了笔触初始化的三种不同策略的结果。
  • 在F部分,我们可视化了DiffSketcher如何逐步绘制一个物体或场景。
  • 在G部分,我们提供了不同笔触宽度的示例草图。
  • 在H部分,我们提供了在实验中使用的评估指标的详细信息。
  • 在I部分,我们展示了一些失败的案例。

附录A DiffSketcher的实现细节

我们从描述我们方法的简单版本(第4.1.1节)开始,它涉及从潜在扩散模型[30]中采样一幅图像,然后使用DiffSketcher自动草绘它。具体而言,给定一个文本提示,我们使用DDIM解算器[38]在100步中使用分类器无关指导[12]从潜在扩散模型中采样一个光栅图像,使用比例w=7.5。为了应用增强SDS损失(第4节),我们从均匀分布U(0.05, 0.95)中采样噪声水平t,以避免可能导致数值不稳定的非常高和非常低的值。对于分类器无关指导,我们将w设置为100,因为我们发现更高的指导权重会导致更好的样本质量。这比图像采样方法中使用的比例要大,这可能是因为我们目标的模式寻找性质,导致在小指导权重时过度平滑。

在DiffSketcher中,笔触数量n由用户定义,我们使用4个副本进行图像增强,以在各种失真下保持可识别性。为此,我们按顺序应用torch.transforms.RandomPerspective、torch.transforms.RandomResizedCrop和torch.transforms.RandomAdjustSharpness函数。值得注意的是,数据增强并不是我们工作的关注点,实验结果表明,增强策略的选择对结果没有显著影响。

在第4节中,我们将草图定义为一组具有不透明度属性放置在白色背景上的n个笔触{s1, …, sn}。为了优化控制点和不透明度,我们使用两个Adam优化器。具体而言,我们将控制点优化器的学习率设置为1.0,颜色优化器的学习率设置为0.1。

附录B 与现有文本到SVG工作的比较image.png

图9:CLIPDraw和DiffSketcher生成的结果的比较。具体而言,对于每个示例,我们比较了给定相同文本提示时CLIPDraw(左)和我们的DiffSketcher(右)生成的结果。我们实现了两个版本的CLIPDraw:RGBA版本(原始版本)和黑白版本。黑白版本强制将笔触颜色设置为黑色,以模拟草图风格。我们的结果在视觉上更令人愉悦且有意义。
本节展示了DiffSketcher和CLIPDraw[7]之间的定性比较。CLIPDraw是一种基于CLIP的方法,用于文本到SVG的生成。它通过比较文本提示和生成的绘图之间的余弦相似性来计算梯度下降,逐渐优化曲线的位置和颜色。我们的方法与CLIPDraw有两个不同之处,一个是笔触初始化,更重要的是,我们的方法配备了增强SDS(ASDS)损失。如图9所示,无论有没有颜色,CLIPDraw都难以生成有意义且视觉上令人愉悦的绘图。这可以通过CLIP模型不是一个生成模型,并且它只能从高度语义的角度提供指导来解释。相比之下,我们的DiffSketcher可以生成与输入文本语义一致且具有高审美质量的草图。这是因为所提出的ASDS损失可以将潜在扩散模型(LDM)的绘图能力蒸馏到可微分光栅化器中。这些结果还表明了ASDS损失的有效性和利用LDM功能的好处。VectorFusion[13]与我们的工作高度相关,但它旨在生成一般的向量图形,如图标。虽然我们提出的方法旨在生成向量草图,但它可以轻松扩展到生成其他类型的向量图形。在图10中,我们比较了VectorFusion和我们的DiffSketcher获得的结果。
image.png
图10:与VectorFusion(VF)[13]的定性比较。VF的结果是从其原始论文的图2中复制的,文本提示后缀为“在ArtStation上流行的极简2D线条画”。相比之下,我们的结果使用ASDS从头开始优化,没有使用特定设计的文本提示后缀。

附录C 与现有文本到图像工作的比较

image.png
图11:使用指定文本提示(左)和我们的方法(右)从LDM中采样生成的草图比较。
image.png
图12:生成的草图的风格不受文本提示中使用的关键词的显著影响。
在本节中,我们比较使用特定文本提示直接由LDM生成的草图。为了鼓励结果具有抽象性并遵循手绘草图风格,我们在文本提示后添加后缀:“一张在白色背景上流行的xxx手绘草图,在ArtStation上。保持抽象。”这个提示是通过定性调整来捕捉所需的风格和艺术表达的。

结果如图11所示。很明显,LDM能够生成高质量的光栅草图,具有手绘草图风格。然而,与我们DiffSketcher生成的向量草图不同,LDM的草图具有两个明显的特点:1.它们更加精致,类似于专业草图。2.它们的背景展示了纸张纹理。我们认为这是因为用于训练LDM的大多数草图是绘制在纸上的专业草图的照片。相比之下,由我们DiffSketcher合成的草图更像是手绘草图的风格,并展示了不同级别的抽象性。

值得注意的是,我们的方法不需要在文本提示中指示“手绘草图”。我们模型的绘图引擎是光栅化器,它可以自然地捕捉草图风格。我们还进行了实验,展示了在文本提示中使用不同关键词的结果,如“草图”、“绘图”和“照片”。结果如图12所示。我们可以看到,虽然输出图像的风格不同,但生成的草图的风格不受关键词的显著影响。

附录D 用户研究

image.png
图13:进行用户研究的部分样本可视化。手绘草图来源于Google。CLIPasso和我们的结果来源于各自的论文,VectorFusion的结果来源于他们的项目主页。

表1:用户研究的结果。真实草图的混淆分数意味着只有67%的真实草图被识别为真实。
image.png
为了评估生成草图的真实性,我们进行了一项感知研究。具体而言,我们使用三种不同的方法总共收集了90幅生成的草图(每种方法30个样本),并通过在Google图片中搜索“手绘草图”获得了30幅真实草图。图13展示了部分样本。然后,我们混合了真实和伪造的草图,并向41名参与者分发了问卷。参与者被要求确定每个草图是否由人类绘制,而不知道其来源。我们使用混淆分数作为评估指标,其中较高的分数表示生成的草图更有可能被识别为真实。结果如表1所示。很明显,我们的方法产生了更常被识别为真实的草图,突显了我们生成的草图的优越质量。

附录E 笔触初始化

ASDS损失和JVSP损失函数的高度非凸性质使得优化过程容易受到笔触初始化的影响,尤其是在生成具有多个实例的场景级别草图时。为了解决这个问题,我们探索了不同的笔触初始化策略(如第5.3节和图8中所提到的),并评估了它们对我们模型性能的影响。
image.png
图14:使用不同笔触初始化策略时(中间)结果的比较。从上到下:(a)随机初始化,(b)基于CLIP显著图的初始化,(c)我们提出的融合注意力。

如图14所示,我们比较了三种不同的笔触初始化方法:随机初始化、基于CLIP显著图[45]的初始化和基于我们提出的融合注意力(我们的方法)的初始化。实验结果表明,我们提出的策略,即基于融合注意力的初始化,在视觉质量和合成效率方面优于其他方法。这种初始化方法可以利用输入文本和图像(即LDM的结果)的联合语义和结构信息来指导笔触的放置,从而产生更具语义意义和艺术表现力的草图。然而,使用CLIP显著图进行初始化会导致只包含显著物体而忽略背景的草图。随机初始化比我们的方法需要更多的迭代来生成视觉上令人愉悦的结果。

附录F 草图过程可视化

在本节中,我们展示了300次迭代的草图过程轨迹。通过可视化生成过程中的中间输出,我们可以了解模型如何绘制一个对象。具体而言,如图15所示,我们可以观察到笔触是如何随着时间的推移被放置和细化,以逐渐形成所需的草图。
image.png
图15:优化过程中的中间结果。

G 笔触宽度的影响

在图16中,我们比较了在相同的文本提示下,使用不同笔触宽度的结果。在我们的实现中,我们为所有笔触使用固定的笔触宽度。这样的设计是为了简化优化,使其在计算上更高效,并且不太容易过拟合。它也可以很容易地扩展到将笔触宽度作为一个参数进行优化,就像[7, 32]中所做的那样。
image.png
图16:曲线的不同宽度。宽度从左到右增加
image.png
图17:失败案例

附录H 评估指标

由于缺乏真实草图,评估文本到草图的生成具有挑战性。如我们在第5.2节和图6中所提到的,我们从三个方面评估模型:生成的草图与文本提示之间的语义一致性、草图的审美质量以及草图的可识别性。
生成的草图与文本提示之间的语义一致性。为了衡量语义一致性,即CLIP分数[30,7],我们计算生成的草图和相应的输入文本提示的CLIP ViT-L-14嵌入之间的余弦相似性。我们的方法实现了0.3494的余弦相似性,这高于Canny[2]算法(0.328)和CLIPasso[45](0.3075)。
草图的审美质量。为了衡量生成草图的审美质量,我们采用了基于CLIP的审美指标[33]。这个指标[33]由一个CLIP ViT-L-14骨干网络和一个多层感知机(MLP)组成,它预先在LAION[34]数据上进行了训练。主论文中的图5比较了由不同方法生成的几个示例的审美分数。由我们的方法生成的草图获得了最高的分数。
草图的可识别性。最后,为了衡量生成草图的可识别性,我们使用CLIP ViT-L-14模型[27]进行零样本分类。具体而言,我们首先为34个类别生成草图。然后,我们使用CLIP模型对这些草图进行分类。在主论文的图6中,我们列出了草图被归类为不同类别的概率。由于Canny边缘可以保留物体的轮廓和细节,所以它具有很高的可识别性。与CLIPasso相比,我们的DiffSketcher可以绘制更完整的草图。因此,我们的草图更容易被CLIP识别。

附录I 失败案例

如图17所示,我们的方法主要有两个限制。具体来说,一个限制是文本提示和草图抽象性之间缺乏相关性。例如,如果文本提示描述了多个对象,但笔触的数量设置得太少,那么生成的草图可能会不令人满意。一个可能的解决方案是在文本提示的复杂性(如描述的对象数量)和要使用的笔触数量之间建立联系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值