SVGDreamer:使用扩散模型生成文本引导的矢量图形

社区文章 发布于2024年4月19日

👥 作者:邢西明、周海涛、王闯、张晶徐东于谦
🌟 状态:CVPR2024录用
🔍 关键词:#SVGDreamer #文本转SVG #SVG #扩散 #CVPR2024

链接:

🔗 arXiv 论文:https://arxiv.org/abs/2312.16476
🌐 项目页面:https://ximinng.github.io/SVGDreamer-project/
📁 代码库:https://github.com/ximinng/SVGDreamer

什么是 SVGDreamer?

📝 TL;DR:给定文本提示,SVGDreamer 可以生成可编辑、多功能的高保真矢量图形。

SVGDreamer text-to-SVG
图 1:SVGDreamer:文本转 SVG

介绍

可伸缩矢量图形(SVG)是用于描述 2D 图形和图形应用程序的基础元素。与传统栅格图形不同,SVG 利用数学描述来定义图形,允许在任何尺寸下无损缩放而不失真。这使得 SVG 成为网站设计的理想选择,特别是在需要适应各种分辨率和设备的场景中。然而,创作者手动设计 SVG 成本高昂且具有挑战性。

最近,随着 CLIP 和生成模型的快速发展,文本转 SVG 合成在抽象像素风格 [1,2] 和矢量手绘草图 [3,4] 等领域取得了显著进展。通过可微分渲染器 [5] 驱动矢量路径基元以自动合成相应矢量图形已成为一个热门研究方向。与人类设计师相比,文本转 SVG 方法可以快速、大量地创建矢量内容,有助于矢量资产的扩展。

然而,现有的文本转 SVG 方法仍面临两个限制:1. 生成的矢量图形缺乏可编辑性; 2. 难以生成高质量和多样化的结果。 为了解决这些限制,作者提出了一种新颖的文本引导矢量图形合成方法:SVGDreamer。

方法

SVGDreamer pipline
图 2:SVGDreamer 概览。该方法由两部分组成:语义驱动图像矢量化(SIVE)和通过 VPSD 优化进行的 SVG 合成。

SVGDreamer 由两部分组成:语义驱动图像矢量化(SIVE)基于矢量粒子得分蒸馏(VPSD)。SIVE 根据文本提示对图像进行矢量化,而 VPSD 则通过对预训练扩散模型的得分蒸馏,利用矢量示例合成高质量、多样化且美观的矢量图形。

SIVE:语义驱动图像矢量化

SIVE 根据文本提示合成具有解耦语义层次的矢量图形。它由两部分组成:1. 基元初始化;2. 语义感知优化。

如图 2 的上半部分所示,文本提示中的不同单词对应于不同的注意力图,允许作者使用这些注意力图来初始化矢量图形的控制点。具体来说,作者对注意力图进行归一化,并将其视为概率分布图。然后,他们根据概率在画布上采样点作为贝塞尔曲线的控制点。

随后,作者将初始化阶段获得的注意力图转换为可重用的掩码。值大于或等于阈值的部分被设置为 1,表示目标区域,而低于阈值的部分被设置为 0。作者利用这些掩码来定义 SIVE 损失函数,从而精确优化不同的对象。

LSIVE=iO(M^iIM^ix)2 \mathcal{L}_{\mathrm{SIVE}} = \sum_{i}^O \left( \hat{\mathcal{M}}_i \odot I - \hat{\mathcal{M}}_i \odot \mathbf{x} \right)^2

SIVE 确保控制点保留在其各自的语义对象区域内,实现了不同对象的分解,如图 2 右上方所示。

SVGDreamer vector Assets
图 3:SIVE 创建的矢量资产示例。

此外,我们还在图 4 中展示了更多示例。这些生成的 SVG 可以分解为背景和前景元素,然后可以重新组合以创建新的 SVG。

SVGDreamer vector Assets
图 4:展示我们 SVGDreamer 生成结果可编辑性的示例。

VPSD:基于矢量粒子得分蒸馏

以前基于扩散模型的 SVG 生成工作 [2,4] 已经探索了使用得分蒸馏采样(SDS)来优化 SVG 参数。然而,这种优化方法常常导致颜色过饱和和 SVG 结果过于平滑。受变分得分蒸馏采样启发,作者提出了基于矢量粒子得分蒸馏(VPSD)损失来解决这些问题。

与 SDS 相比,这种采样方法将 SVG 建模为控制点和颜色的分布。VPSD 优化此分布以实现 SVG 参数的优化

θLVPSD(ϕ,ϕest,x=R(θ))Et,ϵ,p,c[w(t)(ϵϕ(zt;y,t)ϵϕest(zt;y,p,c,t))zθ] \nabla_{\theta} \mathcal{L}_{\mathrm{VPSD}} (\phi, \phi_\mathrm{est} , \mathbf{x} = \mathcal{R}(\theta)) \triangleq \mathbb{E}_{t,\epsilon,p,c} \left[ w(t) ( \mathbf{\epsilon}_{\phi} (\mathbf{z}_t;y,t) - \mathbf{\epsilon}_{\phi_\mathrm{est}}(\mathbf{z}_t;y,p,c,t) ) \frac{\partial \mathbf{z}}{\partial \theta} \right]

由于直接优化另一个模型 ϵϕest\epsilon_{\phi_{est}} 的计算成本很高,因此引入了 LoRA 以减少优化参数的数量

Llora=Et,ϵ,p,cϵϕest(zt;y,p,c,t)ϵ22 \mathcal{L}_{\mathrm{lora}} = \mathbb{E}_{t,\epsilon,p,c} \left\| \mathbf{\epsilon}_{\phi_\mathrm{est}}(\mathbf{z}_t;y,p,c,t) - \epsilon \right\|_{2}^{2}

最后,为了提高合成矢量图形的美学评估,作者引入了一种奖励反馈学习方法(ReFL)。这包括将采样样本输入到预训练的奖励模型中,以共同优化 LoRA 参数

Lreward=λEy[ψ(r(y,gϕest(y))] \mathcal{L}_{\mathrm{reward}} = \lambda \mathbb{E}_{y} \left[ \mathbf{\psi}( r( y, g_{\phi_{\mathrm{est}}}(y) ) ) \right]

我们最终的 VPSD 目标由这三项的加权平均值定义,

  θLVPSD+Llora+λrLreward \underset{\theta}{\operatorname{min}} \; \nabla_{\theta} \mathcal{L}_{\mathrm{VPSD}} + \mathcal{L}_{\mathrm{lora}} + \lambda_{\mathrm{r}} \mathcal{L}_{\mathrm{reward}}

SVG 路径参数通过反向传播更新,并通过迭代循环完成优化,从而得到最终结果。

定性结果

下图展示了 SVGDreamer 生成的六种不同风格的 SVG 结果,包括图标、像素艺术、水墨画、低多边形、草图和绘画风格。不同的颜色后缀代表不同的 SVG 风格类型,这些风格不一定需要在提示中指定,但可以通过控制矢量图形基元来实现。

SVGDreamer Qualitative Results
图 5:给定文本提示,SVGDreamer 可以生成各种矢量图形。SVGDreamer 是一个多功能工具,可以处理各种矢量样式,而不受特定提示后缀的限制。我们利用各种颜色后缀来指示不同的样式。样式由矢量基元控制。

应用

此外,作者展示了 SVGDreamer 的一个应用:创建矢量海报。通过将文本转换为矢量形式并与生成的矢量内容相结合,可以获得美观的海报效果。此外,与生成海报相比,矢量海报的每个部分都保持良好的可编辑性。

SVGDreamer Qualitative Results
图 6:不同方法生成的合成海报对比。左侧显示了输入文本提示和要添加到海报中的字形。

结论

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

局限性

我们方法的可编辑性目前受到我们所采用的 T2I 模型的限制,因为所提出的 SIVE 过程依赖于 T2I 模型生成的注意力图。然而,我们预计未来 T2I 扩散模型的进步将增强我们模型的分解能力,从而进一步扩展其可编辑性。

此外,研究如何自动确定 SIVE 对象级别的控制点数量也很有价值。我们相信这将有助于语义引导图像矢量化的进步。

参考文献

  1. Kevin Frans、Lisa Soros 和 Olaf Witkowski。CLIPDraw:通过语言-图像编码器探索文本到绘图的合成。在 Alice H. Oh、Alekh Agarwal、Danielle Belgrave 和 Kyunghyun Cho 编辑的《神经网络信息处理系统进展》(NIPS),2022。
  2. Ajay Jain、Amber Xie 和 Pieter Abbeel。VectorFusion:通过抽象像素扩散模型实现文本到 SVG 的转换。在《IEEE/CVF 计算机视觉与模式识别会议》(CVPR) 论文集,2023。
  3. Yael Vinker、Ehsan Pajouheshgar、Jessica Y Bo、Roman Christian Bachmann、Amit Haim Bermano、Daniel Cohen-Or、Amir Zamir 和 Ariel Shamir。Clipasso:语义感知对象素描。ACM 图形学报 (TOG),41(4):1–11,2022。
  4. Xing X、Wang C、Zhou H 等。DiffSketcher:通过潜在扩散模型实现文本引导的矢量草图合成 [J]。神经网络信息处理系统进展 (NIPS),2023。
  5. Tzu-Mao Li、Michal Lukac、Gharbi Michael 和 Jonathan Ragan-Kelley。可微分矢量图形栅格化用于编辑和学习。ACM 图形学报 (TOG),39(6):193:1–193:15,2020。
  6. Ben Poole、Ajay Jain、Jonathan T. Barron 和 Ben Mildenhall。DreamFusion:使用 2D 扩散实现文本到 3D 的转换。在第十一届国际学习表征会议 (ICLR),2023。

社区

注册登录 以评论