使用扩散模型进行文本引导的SVG生成

21 篇文章 3 订阅
17 篇文章 0 订阅

摘要

最近,基于文本引导的可缩放矢量图形(SVG)合成在图标和草图等领域显示出潜力。然而,现有的文本到SVG生成方法在可编辑性、视觉质量和结果多样性方面存在不足。为了解决这些限制,我们提出了一种名为SVGDreamer的新型文本引导矢量图形合成方法。SVGDreamer结合了一种语义驱动的图像矢量化(SIVE)过程,该过程能够将合成分解为前景对象和背景,从而增强可编辑性。具体来说,SIVE过程引入了基于注意力的基元控制和注意力掩码损失函数,以实现对单个元素的有效控制和操作。此外,我们还提出了一种基于矢量粒子的分数蒸馏(VPSD)方法,通过将SVG建模为控制点和颜色的分布来解决现有文本到SVG生成方法中形状过度平滑、颜色过度饱和、多样性有限和收敛速度慢的问题。VPSD利用奖励模型重新加权矢量粒子,提高了美观性并加速了收敛。我们进行了广泛的实验来验证SVGDreamer的有效性,证明了其在可编辑性、视觉质量和多样性方面优于基线方法。项目页面:https://ximinng.github.io/SVGDreamer-project/

1 引言

可缩放矢量图形(SVG)使用几何基元(如贝塞尔曲线、多边形和线条)来表示视觉概念。由于其固有的特性,SVG非常适合视觉设计应用,如海报和标志。其次,与光栅图像相比,矢量图像可以保持紧凑的文件大小,使其在存储和传输方面更加高效。更重要的是,矢量图像提供了更大的可编辑性,允许设计师轻松选择、修改和组合元素。这一属性在设计过程中尤为重要,因为它允许无缝调整和创造性探索。

近年来,人们对通用矢量图形生成的兴趣日益增长。各种基于优化的方法[4, 28, 19, 40, 41, 34, 12, 48]被提出,这些方法建立在不同的可微光栅器DiffVG[14]之上。这些方法,如CLIPDraw[4]和VectorFusion[12],主要在监督方法上有所不同。一些作品[4, 28, 19, 34, 40, 41]将CLIP模型[23]与DiffVG[14]结合使用,使用CLIP作为监督源。最近,由文本到图像(T2I)扩散模型[20, 26, 24, 27, 37]取得的显著进展启发了文本到矢量图形的任务。VectorFusion[12]和DiffSketcher[48]尝试利用T2I扩散模型进行监督。这些模型利用T2I模型生成的高质量光栅图像作为目标来优化矢量图像的参数。此外,T2I模型中嵌入的先验知识可以被提炼并应用于这项任务。因此,使用T2I进行监督的模型通常比使用CLIP模型的模型表现更好。

尽管它们的表现令人印象深刻,但现有的基于T2I的方法存在一些限制。首先,这些方法生成的矢量图像缺乏可编辑性。与传统创建矢量图形的方法不同,其中单个元素逐一添加,T2I方法在合成过程中不区分不同的组成部分。因此,对象变得纠缠在一起,使得独立编辑或修改单个对象变得具有挑战性。其次,这些方法在视觉质量和结果多样性方面仍有很大的改进空间。VectorFusion[12]和DiffSketcher[48]将分数蒸馏采样(SDS)[22]扩展到从T2I模型中提炼先验知识。然而,人们观察到SDS可能会导致颜色过度饱和和过度平滑等问题,导致生成的矢量图像缺乏精细细节。此外,SDS以一种寻求模式的方式优化矢量图形空间中的控制点集,以获得与文本提示相对应的矢量图形的平均状态[22]。这导致基于SDS的方法[12, 48]在多样性、详细构建以及缺少文本提示对象方面存在不足。

为了解决上述问题,我们提出了一种名为SVGDreamer的新模型,用于文本引导的矢量图形生成。我们的主要目标是生成具有增强可编辑性、视觉吸引力和多样性的高质量矢量图形。为了确保可编辑性,我们提出了一个语义驱动的图像矢量化(SIVE)过程。这种方法引入了一种创新的基于注意力的基元控制策略,该策略有助于将合成过程分解为前景对象和背景。为了初始化每个前景对象和背景的控制点,我们利用由文本标记查询的交叉注意力图。此外,我们引入了一个注意力掩码损失函数,该函数可以分层优化图形元素。提出的SIVE过程确保了单个元素的分离和可编辑性,促进了对生成的矢量图形的有效控制和操作。

为了提高生成的矢量图形的视觉质量和多样性,我们为矢量图形细化引入了基于矢量粒子的分数蒸馏(VPSD)。之前在矢量图形合成中使用SDS的[12, 48, 11]工作经常遇到形状过度平滑、颜色过度饱和、多样性有限以及合成结果中收敛速度慢等问题[22, 48]。为了解决这些问题,VPSD将SVG建模为控制点和颜色的分布。VPSD采用LoRA[10]网络来估计这些分布,使矢量图形与预训练的扩散模型保持一致。此外,为了增强生成的矢量图形的美观性,我们集成了ReFL[49]来微调估计网络。通过这个细化过程,我们得到了表现出高可编辑性、卓越视觉质量和增加多样性的最终矢量图形。为了验证我们提出的方法的有效性,我们进行了广泛的实验来评估模型在多个方面的表现。总之,我们的贡献可以总结如下:

• 我们引入了SVGDreamer,这是一种新型的文本到SVG生成模型。这个新颖的模型能够生成高质量的矢量图形,同时保持可编辑性。
• 我们提出了语义驱动的图像矢量化(SIVE)方法,确保生成的矢量对象是独立的并易于编辑。此外,我们提出了基于矢量粒子的分数蒸馏(VPSD)损失,以确保生成的矢量图形在视觉质量和多样性方面都表现出色。
• 我们进行了全面的实验来评估我们提出的方法的有效性。结果证明了我们的方法相对于基线方法的优势。此外,我们的模型在生成不同类型的矢量图形方面展示了强大的泛化能力。
image.png
图1:给定一个文本提示,SVGDreamer可以生成各种矢量图形。SVGDreamer是一个多功能工具,可以处理各种矢量样式,而不限于特定的提示后缀。我们使用各种颜色的后缀来表示不同的样式。样式由矢量基元控制。

2. 相关工作

2.1 矢量图形生成

可缩放矢量图形(SVG)提供了一种使用基元表示视觉概念的声明式格式。创建SVG内容的一种方法是使用序列到序列(seq2seq)模型来生成SVG[5, 16, 1, 25, 43, 44, 46]。这些方法严重依赖于矢量形式的数据集,这限制了它们的泛化能力和生成复杂矢量图形的能力。另一种矢量合成方法是在评估时优化以匹配图像。

Li等人[14]引入了一个可微分的光栅化器,将矢量图形和光栅图像领域连接起来。虽然传统上在矢量图形上操作的图像生成方法需要一个基于矢量的数据集,但最近的工作已经证明了使用可微分的渲染器来克服这个限制[30, 39, 25, 28, 17, 38, 36, 48]。此外,视觉文本嵌入对比语言图像预训练模型(CLIP)[23]的最新进展使得一系列成功的草图合成方法成为可能,如CLIPDraw[4]、CLIP-CLOP[19]和CLIPasso[40]。最近,VectorFusion[12]和DiffSketcher[48]将可微分渲染器与文本到图像的扩散模型结合起来进行矢量图形生成,在图标、像素艺术和草图等领域取得了有希望的结果。

2.2 文本到图像的扩散模型

去噪扩散概率模型(DDPMs)[31, 33, 8, 35],特别是那些基于文本的模型,在文本到图像的合成方面显示出了有希望的结果。例如,分类器无关指导(CFG)[7]已经改善了视觉质量,并被广泛应用于大规模的文本条件扩散模型框架,包括GLIDE[20]、Stable Diffusion[26]、DALL·E 2[24]、Imagen[27]和DeepFloyd IF[37]。文本到图像扩散模型[20, 26, 24, 27]的进展也促进了一系列文本引导任务的发展,如文本到3D[22]。在这项工作中,我们使用Stable Diffusion模型来为文本到SVG的生成提供监督。

2.3 得分蒸馏采样

自然图像建模的最新进展引发了利用强大的2D预训练模型来恢复3D物体结构的研究[18, 21, 42, 15, 22, 45]。最近的努力,如DreamFusion[22]、Magic3D[15]和Score Jacobian Chaining[42],通过利用从2D文本到图像扩散模型[27, 26]中推导出的得分蒸馏采样(SDS)损失,探索了文本到3D的生成,并取得了令人印象深刻的结果。文本到SVG[12, 48]的发展也受到了这一点的启发,但生成的矢量图形质量有限,并且与重建的3D模型一样存在过度平滑的问题。Wang等人[45]将3D模型建模为一个随机变量,而不是像SDS中那样是一个常数,并提出了变分得分蒸馏来解决文本到3D生成中的过度平滑问题。

3. 方法论

在本节中,我们介绍了SVGDreamer,这是一种基于优化的方法,可以根据文本提示生成各种矢量图形。我们将一个矢量图形定义为一组路径{P_i}_i=1n和颜色属性{C_i}_i=1n。每个路径由m个控制点P_i={p_j}_j=1^m={(x_j, y_j)}_j=1^m和一个颜色属性C_i={r, g, b, a}_i组成。我们通过将光栅化图像的梯度反向传播到SVG路径参数θ={P_i, C_i}_i=1^n,通过一个可微分的渲染器R(θ)[14]来优化一个SVG。

我们的方法利用文本到图像的扩散模型先验来指导可微分渲染器R并优化参数化图形路径θ,从而生成与文本提示描述相匹配的矢量图形。如图2所示,我们的管道由两个部分组成:语义驱动的图像矢量化和通过VPSD优化的SVG合成。第一部分是语义驱动的图像矢量化(SIVE),包括两个阶段:基元初始化和语义感知优化。我们重新思考了在合成矢量图形中应用注意力机制的方法。我们提取扩散模型中对应于不同对象的交叉注意力图,并将其应用于初始化控制点和巩固对象矢量化。这个过程使我们能够将前景对象与背景分离。因此,SIVE过程生成的矢量对象是独立可编辑的。它通过聚合形成它们的曲线来分离矢量对象,从而简化了矢量图形的组合。

在3.2节中,我们提出了基于向量化粒子的得分蒸馏(VPSD)来生成各种高质量的与文本匹配的矢量图形。VPSD旨在通过近似矢量参数分布来建模矢量路径控制点和颜色的分布,从而获得多样性的矢量结果。
image.png
图2:SVGDreamer概述。该方法包括两个部分:语义驱动的图像矢量化(SIVE)和通过VPSD优化的SVG合成。从SIVE获得的结果可以作为VPSD进一步细化的输入。

3.1 SIVE:语义驱动的图像矢量化

图像光栅化是计算机图形学中的成熟技术,而图像矢量化,光栅化的逆过程,仍然是一个主要挑战。给定任意输入图像,LIVE[17]通过添加新的可优化封闭贝塞尔路径并优化所有这些路径来递归学习视觉概念。然而,LIVE[17]在掌握和区分图像中的各种主体方面存在困难,导致不同的视觉主体被相同的路径叠加。基于LIVE的方法[17, 12]无法表示由复杂路径组成的复杂矢量图形。我们提出了一种语义驱动的图像矢量化方法来解决上述问题。该方法主要包括两个主要阶段:基元初始化和语义感知优化。在初始化阶段,我们根据文本提示中不同对象的交叉注意力图,为不同的视觉对象分配不同的控制点。在优化阶段,我们引入了一个基于注意力的掩码损失函数,以分层优化矢量对象。

3.1.1 基元初始化

矢量化视觉对象通常涉及分配大量路径,这导致基于LIVE的方法中对象层混淆。为了解决这个问题,我们建议根据语义组织矢量图形元素,并根据它们的语义将路径分配给对象。我们根据文本提示中不同对象的交叉注意力图初始化O组对象级控制点。并将其表示为前景M_FG_i,其中i表示文本提示中的第i个标记。相应地,其余的将被视为背景。这样的设计允许我们将背景和前景的注意力图表示为,

M_BG = 1 - (∑_{i=1}^O M_FG_i);
M_FG_i = softmax(Q K_i^T) / d (1)

其中M_BG表示背景的注意力图。M_FG_i表示交叉注意力得分,其中K_i表示文本提示中的第i个标记键,Q是像素查询特征,d是键和查询的潜在投影维度。

然后,受到DiffSketcher[48]的启发,我们使用softmax对注意力图进行归一化,并将其视为分布图,以采样每个贝塞尔曲线的第一个控制点p_j=1的m个位置。其他控制点({p_j}_{j=2}^m)在p_j=1周围的小半径(图像大小的0.05)内采样,以定义路径的初始集合。

3.1.2 语义感知优化

在这个阶段,我们利用基于注意力的掩码损失来分别优化前景和背景中的对象。这确保了控制点保持在其各自的区域内,有助于对象分解。即,层次结构只存在于指定的对象中,并且不会与其他对象混淆。这种策略促进了形成不同矢量图形的对象之间的排列组合,并增强了对象本身的可编辑性。

具体来说,我们将初始化阶段获得的注意力图转换为可重复使用的掩码M^ = { {M_FG}_{o=1}O, M^_BG },总共O个前景和一个背景掩码。我们通过将注意力得分设置为大于阈值的1,否则为0来实现这一点。

L_SIVE = ∑_{i=O} (M^_i ⊙ I - M^_i ⊙ x)^2 (2)

其中I是目标图像,M^是掩码,x = R(θ)是渲染。

3.2 基于矢量粒子的分数蒸馏

虽然将光栅化的扩散样本矢量化是损失的,但最近的技术[12, 48]已经将SDS损失[22]确定为对我们的矢量图形生成任务有益。为了合成与给定文本提示y相匹配的矢量图像,他们直接通过SDS损失优化可微光栅器R(θ)的参数θ = {P_i, C_i}{i=1}^n。在每次迭代中,使用可微光栅器渲染光栅图像x = R(θ),并对其进行增强以获得x_a。然后,预训练的潜在扩散模型(LDM)ε_φ使用VAE编码器[3]将x_a编码为潜在表示z = E(x_a),其中z ∈ ℝ^(H/f)×(W/f)×4,f是编码器下采样因子。最后,通过以下方式估计SDS的梯度,
∇_θ L_SDS(φ, x = R(θ)) ≜ E
{t, ε, a}[w(t)(ε_φ(z_t; y, t) - ε) ∂z/∂x_a ∂x_a/∂θ] (3)
其中w(t)是加权函数。并添加噪声以形成z_t = α_t x_a + σ_t ε。
不幸的是,基于SDS的方法通常会遇到诸如形状过度平滑、颜色过度饱和、结果多样性有限以及合成结果收敛缓慢等问题[22, 12, 48, 11]。
image.png
图3:VPSD 的过程。

受变分得分蒸馏框架[45]的启发,我们提出了基于向量化粒子的得分蒸馏(VPSD)来解决上述问题。与 SDS 将 SVG 建模为一组控制点和相应的颜色不同,我们将 SVG 分别建模为控制点和颜色的分布。原则上,给定一个文本提示 y,存在一个所有可能的矢量形状表示的概率分布μ。在由参数θ参数化的矢量表示下,这样的分布可以被建模为一个概率密度函数μ(θ|y)。与优化单个θ的 SDS 不同,VPSD 优化的是整个分布μ,我们可以从中采样θ。受之前的基于粒子的变分推断方法的启发,我们保持k组矢量参数{θ}_i=1^k作为粒子来估计分布μ,并且如果优化收敛,θ(i)将从最优分布μ*中采样。这个优化可以通过两个得分函数来实现:一个通过噪声真实图像近似最优分布,另一个通过噪声渲染图像表示当前分布。噪声真实图像的得分函数可以通过预训练的扩散模型[26]ε_φ(z_t; y, t)来近似。噪声渲染图像的得分函数由另一个噪声预测网络ε_φ_est(z_t; y, p, c, t)估计,该网络在由{θ}_i=1^k渲染的图像上进行训练。VPSD 的梯度可以表示为:

∇θL_VPSD(φ, φ_est, x = R(θ)) ≡ E_t,ε,p,c[w(t)(ε_φ(z_t; y, t) - ε_φ_est(z_t; y, p, c, t)) ∂z/∂θ] (4)
其中 p 和 c 在 ε_φ_est 中表示控制点变量和颜色变量,加权函数 w(t)是一个超参数。并且 t ~ U(0.05, 0.95)。

在实践中,如[45]所建议的,我们使用预训练扩散模型的 LoRA(低秩适应[10])来参数化ε_φ。渲染图像不仅用于计算 VPSD 梯度,而且还通过 LoRA 进行更新:

L_lora = E_t,ε,p,c ||ε_φ_est(z_t; y, p, c, t) - ε||^2_2 (5)
其中ε是高斯噪声。只有 LoRA 模型的参数会被更新,而其他扩散模型的参数将保持不变,以最小化计算复杂性。

在[45]中,在每次迭代中,只有随机选择的粒子会更新 LoRA 网络。然而,这种方法忽略了矢量粒子的学习进展,这些粒子用于表示最优 SVG 分布。此外,这些网络通常需要大量的迭代来近似理论最优分布,导致收敛缓慢。在 VPSD 中,我们引入了一种奖励反馈学习方法,如图3所示。这种方法利用一个预训练的奖励模型[49]为从 LoRA 模型收集的样本分配奖励分数。然后,LoRA 模型根据这些加权样本进行更新:

L_reward = λ E_y[σ(r(y, g_φ_est(y)))] (6)
其中 g_φ_est(y)表示参数为φ_est的模型μ生成的对应于提示y的图像,r表示预训练的奖励模型[49],σ表示由 ReLU 实现的奖励到损失映射函数,λ = 1e-3。我们使用 DDIM[32]在早期迭代阶段快速采样 k 个样本。这种方法为 VPSD 的收敛节省了2倍的迭代步骤,并通过在 LoRA 中过滤掉奖励值低的样本来提高 SVG 的审美分数。

我们最终的 VPSD 目标然后由三个术语的加权平均值定义:

minθ ∇θL_VPSD + L_lora + λ_r L_reward (7)
其中λ_r表示奖励反馈强度。
image.png
图4:不同方法的定性比较。注意,DiffSketcher最初是为矢量草图生成而设计的,因此我们重新实现了它来生成RGB矢量图像。

3.3 矢量表示基元

除了文本提示,SVGDreamer还提供了各种矢量表示来控制样式。这些矢量表示是通过限制基元类型及其参数来实现的。用户可以通过修改输入文本或限制基元和参数集来控制SVGDreamer生成的艺术样式。我们探索了六种设置:1)图标是最常见的SVG样式,由几个路径及其填充颜色组成。这种风格允许广泛的构图,同时保持极简主义的表达。我们使用具有可训练控制点和填充颜色的封闭形式贝塞尔曲线。2)草图是一种用最少的表达来传达信息的方式。我们使用具有可训练控制点和不透明度的开放形式贝塞尔曲线。3)像素艺术是一种受视频游戏启发的流行风格,常用于角色和背景艺术。我们使用具有填充颜色的方形SVG多边形。4)低多边形是指根据物体的建模规律,有意识地切割和堆叠一定数量的简单几何形状。我们使用具有可训练控制点和填充颜色的方形SVG多边形。5)绘画是在矢量图形中模拟画家绘画风格的一种手段。我们使用具有可训练控制点、描边颜色和描边宽度的开放形式贝塞尔曲线。6)水墨画是一种传统的中国艺术形式,利用不同浓度的黑色墨水。我们使用具有可训练控制点、不透明度和描边宽度的开放形式贝塞尔曲线。

4. 实验

4.1 定性评估

表1:不同方法的定量比较
image.png
image.png
图5:我们的SVGDreamer创建的矢量资产示例。
图4展示了SVGDreamer与现有文本到SVG方法的定性比较。与CLIPDraw[4]相比,SVGDreamer合成了具有更高保真度和细节的SVG。我们还与基于SDS的方法[12, 48]进行了比较,强调了我们解决形状过度平滑和颜色过度饱和等问题的能力。如第五列所示,SIVE实现了语义解耦,但无法克服SDS固有的平滑特性。如最后两列所示,无论模型是从头开始优化还是通过整个过程优化,我们的方法都展示了比基于SDS的方法更高的细节。因此,这导致了更高的美学分数。

4.2 定量评估

为了证明我们提出的方法的有效性,我们进行了全面的实验来评估模型在多个方面的表现,包括弗雷歇因斯腾距离(FID)[6]、峰值信噪比(PSNR)[9]、CLIPScore[23]、BLIPScore[13]、美学分数[29]和人类性能分数[47](HPS)。表1展示了我们与最具有代表性的文本到SVG方法的比较,包括CLIPDraw[4]、VectorFusion[12]和DiffSketcher[48]。我们在第3.3节中确定的六种风格进行了定量评估,每种风格包括10个独特的提示和每个提示50个合成的SVG。为了评估矢量图形的多样性和填充颜色饱和度,我们使用SD采样结果作为真实情况(GT),并分别计算FID和PSNR指标。前两列的定量分析表明,我们的方法在FID和PSNR方面超过了其他方法。这表明我们的方法与基于SDS的合成[12, 48]相比提供了更大的多样性范围。为了评估生成的SVG与提供的文本提示之间的一致性,我们使用了CLIPScore和BLIPScore。为了衡量合成矢量图像的感知质量,我们使用LAION美学分类器[29]来测量美学分数。此外,我们使用HPS从人类美学的角度来评估我们的方法。

4.3 消融研究

4.3.1 SIVE vs. LIVE [17]

image.png
图6:LIVE矢量化与SIVE的比较。在第一行中,“前景1”和“前景2”分别指的是宇航员和植物。图符是手动添加的,并非由我们的方法生成。在LIVE设置中,我们遵循VectorFusion[12]中概述的协议,该协议用分布在四个层中的128条路径表示矢量图像,每层有32条路径。
LIVE[17]提供了一个全面的图像矢量化过程,它以分层、逐层的方式优化矢量图。然而,如图6所示,LIVE在准确捕捉和区分图像中各种主体方面存在困难,这可能导致相同的路径被叠加在不同的视觉主体上。当需要表示需要更多路径的复杂矢量图形时,LIVE倾向于在不同对象之间叠加路径层次,这使得SVG表示变得复杂,并且难以编辑。生成的SVG通常包含复杂的冗余形状,这可能不利于进一步编辑。
相比之下,SIVE能够生成与人类感知更紧密对齐的语义驱动结构的简洁SVG形式。SIVE有效地将路径分配给对象,实现对象级别的矢量化。

4.3.2 VPSD vs. LSDS[12, 11] vs. ASDS[48]

文本到SVG[12, 48]的发展受到了DreamFusion[22]的启发,但生成的矢量图形质量有限,并且表现出与DreamFusion重建的3D模型类似的过度平滑。ASDS和LSDS之间的主要区别在于输入数据的增强。如表1和图4所示,我们的方法在FID方面展示了优于基于SDS的方法的性能。这表明我们的方法能够在不受模式寻求干扰的情况下保持更高的多样性。此外,我们的方法在PSNR方面比基于SDS的方法更高,这表明我们的方法避免了由于平均颜色而引起的过度饱和问题。

4.4 SVGDreamer的应用

我们提出的方法SVGDreamer能够生成具有卓越可编辑性的矢量图形。因此,它可以用于创建海报和标志设计的矢量图形资产。如图5所示,两个海报示例中的所有图形元素都是由我们的SVGDreamer生成的。设计师可以轻松地将这些元素与图符重新组合,创建独特的海报。海报和标志设计的其他示例可以在补充材料中找到。

5 结论

在本研究中,我们介绍了SVGDreamer,这是一种创新的文本引导矢量图形合成模型。SVGDreamer结合了两个关键技术设计:语义驱动的图像矢量化(SIVE)和基于矢量粒子的分数蒸馏(VPSD)。这些使我们的模型能够生成具有高可编辑性、卓越视觉质量和显著多样性的矢量图形。SVGDreamer有望显著推进文本到SVG模型在设计领域的应用。

局限性。我们的方法的可编辑性取决于所使用的文本到图像(T2I)模型,目前是有限的。然而,T2I扩散模型的未来进步可以增强我们方法的分解能力,从而扩展其可编辑性。此外,探索自动确定SIVE对象级别控制点数量的方法是有价值的。

补充材料

概述

image.png
图7:展示我们SVGDreamer生成的结果的可编辑性的例子。
这份补充材料被组织成几个部分,提供了与我们在SVGDreamer方面的工作相关的额外细节和分析。具体来说,它将涵盖以下方面:

  • 在A部分,我们将展示SVGDreamer的更多定性结果,展示它能够生成具有高可编辑性、视觉质量和多样性的SVG。
  • 在B部分,我们将展示SVGDreamer在海报设计和图标设计方面的潜在应用。
  • 在C部分,我们将提供SVGDreamer的更多实现细节。
  • 在D部分,我们将解释如何在SIVE提示中识别语义对象。
  • 在E部分,我们将进行额外的消融研究,以展示CFG权重(见E.1节)、ReFL(见E.2节)、矢量粒子数量(见E.3节)和路径数量(见E.4节)的影响。
  • 在F部分,我们将提供使用VPSD进行光栅图像合成的示例结果。
  • 在G部分,我们将展示SVGDreamer的伪代码。代码现已可用1。

附录A 额外的定性结果

可编辑性。我们的SVGDreamer工具旨在生成具有各种可编辑属性的高质量矢量图形,使用户能够高效地重用合成的矢量元素并创建新的矢量图形。在我们的文章中,图5展示了两个海报,其中每个字符都是使用SVGDreamer生成的。此外,我们在图7中提供了更多示例。这些生成的SVG可以被分解为背景和前景元素,然后可以重新组合以创建新的SVG。

视觉质量和多样性。在图8中,我们提供了SVGDreamer生成的额外示例,展示了它能够根据文本提示合成各种对象级和场景级矢量图形。值得注意的是,我们的模型可以通过操作基元类型和文本提示来生成具有不同风格的矢量图形,如油画、水彩画和素描。通过将VPSD和ReFL集成到我们的模型中,SVGDreamer与最先进的方法VectorFusion相比,能够产生更丰富的细节。

需要注意的是,我们的模型可以在不依赖额外的参考风格图像的情况下实现不同的风格。现有的生成风格化矢量图形的方法,如StyleClipDraw,通常遵循用于光栅图像的风格迁移管道,这需要一个额外的风格图像作为参考。相比之下,建立在T2I模型基础上的SVGDreamer可以通过文本提示简单地注入风格信息。例如,在第二个例子中,我们可以通过使用一个文本提示来获得梵高风格的油画。

附录B SVGDreamer的应用

在这一部分中,我们将展示如何使用SVGDreamer来合成矢量海报和图标。

海报设计。海报是一种用于宣传活动、电影或向人们传达信息的大型纸张。它通常包含文本和图形元素。虽然现有的T2I模型发展迅速,但它们仍然面临文本生成和控制的挑战。另一方面,SVG在文本控制方面提供了更大的便利。在图9中,我们比较了使用我们的SVGDreamer生成的海报和使用四个T2I模型生成的海报。需要注意的是,这些T2I模型生成的所有结果都是光栅格式的。

我们将首先解释如何使用我们的SVGDreamer工具进行海报设计。首先,我们使用SVGDreamer生成图形内容。然后,我们使用现代字体库创建矢量字体,利用SVG的变换属性精确控制字体布局。最后,我们将矢量图像和字体结合起来,制作出完整的矢量海报。更具体地说,我们使用FreeType字体库2来表示使用矢量化图形轮廓的字形。简单来说,这些字形的轮廓由直线、贝塞尔曲线或B样条曲线组成。这种方法允许我们像其他矢量插图一样,在任何大小下调整和渲染字母。对文本和图形内容进行联合优化以改善视觉质量的工作将留待未来进行。

如图9所示,Stable Diffusion [26](第一列)和DeepFloyd IF [37](第二列)都出现了各种文本渲染错误,包括缺少字形、重复或合并的字形以及畸形的字形。GlyphControl [50](第三列)偶尔会省略单个字母,字体会遮挡内容,导致字体看起来缺少内容对象的区域。TextDiffuser [2](第五列)能够为不同的布局生成字体,但它也受到布局控制掩码伪影的影响,破坏了内容的整体和谐。相比之下,使用我们的SVGDreamer创建的海报不受分辨率大小的限制,确保文本保持清晰可读。此外,我们的方法提供了方便的编辑字体和布局的功能,提供了更灵活的海报设计方法。
image.png
图8:更多由我们的SVGDreamer生成的结果。
image.png
图9:不同方法生成的合成海报的比较。输入的文本提示和要添加到海报中的字形显示在左侧。

图标设计

除了海报,SVGDreamer还可以应用于图标设计(如图10所示)。
image.png
图10:合成图标的示例。注意,字形是手动添加的。
我们使用SVGDreamer来获取图形内容,然后通过在SVG文件中定义def标签来创建多边形和圆形布局。然后,我们将矢量文本路径附加到SVG文件的末尾,以获得一个完整的矢量图标。

附录C 实现细节

我们的方法基于预训练的Stable Diffusion模型[26]。我们使用Adam优化器,其中β1=0.9,β2=0.9,ε=1e-6来优化SVG路径参数θ={P_i, C_i}_i=1^n。我们使用学习率预热策略。在前50次迭代中,我们逐渐将控制点学习率从0.01增加到0.9,然后在剩余的650次迭代中(总共700次迭代)使用指数衰减从0.8衰减到0.4。对于颜色学习率,我们将其设置为0.1,对于描边宽度学习率,我们将其设置为0.01。我们使用AdamW优化器,其中β1=0.9,β2=0.999,ε=1e-10,lr=1e-5来训练LoRA [10]的参数。在我们大多数实验中,我们将粒子数量k设置为6,这意味着有6个粒子参与VPSD(第3.2节)、LoRA更新和ReFL更新。为了确保生成的SVG在保持丰富细节的同时具有多样性和忠实于文本提示,我们将分类器无关指导(CFG [7])的指导尺度设置为7.5。在优化过程中,SVGDreamer需要至少31GB的内存在Nvidia-V100 GPU上生成6个SVG。
在合成扁平图标矢量时,我们允许路径控制点和填充颜色被优化。在优化过程中,许多路径学习到低不透明度或缩小到一个小区域而不被使用。为了鼓励使用路径,从而产生更多样化和更详细的图像,受VectorFusion [12]的启发,我们定期重新初始化不透明度或面积低于阈值的路径。重新初始化的路径从优化和SVG中移除,并在现有路径之上作为随机位置和颜色的圆重新创建。

附录D SIVE提示中的对象识别

image.png
图11:交叉注意力图的可视化。
在一个句子中,多个名词指代同一个对象的情况很常见。我们在图11中提供了两个例子。在我们的实验中,我们没有采用特定的选择策略,因为这类名词的交叉注意力图非常相似,例如“人”和“宇航员”。因此,使用“人”或“宇航员”中的任何一个,使用我们的方法会产生相似的结果。对于更精确的控制,用户可以使用文本提示的交叉注意力图来识别所需的对象。在SIVE中,用户可以使用视觉文本提示来识别语义对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值