CVPR 2024 | 北航联合港大发布全新文本引导矢量图形合成方法SVGDreamer

c397ce8e7782ff0a4e7cf4f70f677a46.gif

©作者 | 周海涛

单位 | 北京航空航天大学

可缩放矢量图形(Scalable Vector Graphics,SVG)是用于描述二维图型和图型应用程序的基本元素;与传统的像素图形不同,SVG 使用数学描述来定义图形,因此可以在任何大小下无损地缩放而不失真。这使得 SVG 成为网站设计领域的理想选择,特别是在需要适应不同分辨率和设备的情况下。但是创作者手工设计 SVG 是高成本并具有挑战的。 

最近,随着 CLIP 和生成式模型的快速发展,文本引导的矢量图合成(Text-to-SVG)在抽象像素风格 [1,2] 和矢量手绘草图 [3,4] 等领域都取得了不错的进展。通过可微分渲染器 [5] 驱动矢量路径基元自动合成对应的矢量图形,成为一个热门的研究方向。相比于人类设计师,Text-to-SVG 方法可以快速并大量的创建矢量内容,用于扩充矢量资产。 

然而,现有的 Text-to-SVG 方法还存在两个限制:1.生成的矢量图缺少编辑性;2. 难以生成高质量和多样性的结果。为了解决这些限制,作者提出了一种新的文本引导矢量图形合成方法:SVGDreamer。

af2f917b956288614c41839f50c023e5.png

论文题目:

SVGDreamer: Text Guided SVG Generation with Diffusion Model

论文地址:

https://arxiv.org/abs/2312.16476

代码地址:

https://github.com/ximinng/SVGDreamer

项目地址:

https://ximinng.github.io/SVGDreamer-project/

a8176cf2f727a7516505f109bf092920.png

实现思路

f7e8439cabf12fb7a9471a577fa380db.png

▲ 图1:SVGDreamer流程图

SVGDreamer 由两部分构成:语义驱动的图像矢量化(Semantic-driven Image Vectorization,SIVE)和基于矢量例子的分数蒸馏(Vectorized Particle-based Score Distillation,VPSD)构成。

其中 SIVE 根据文本提示矢量化图像,VPSD 则通过分数蒸馏从预训练的扩散模型中合成高质量、多样化并具有审美吸引力的矢量图。

1.1 语义驱动的图像矢量化 (SIVE)

SIVE 根据文本提示合成语义层次解耦的矢量图。它包括两个部分:

  1. 矢量基元初始化(Primitive Initialization)

  2. 基于语义级优化(Semantic-aware Optimization)

如图 1 上半部分所示,文本提示中不同的词语对应不同的注意力图,这使得作者可以借助注意力图初始化矢量图控制点(control points)。具体来说,作者对注意力图进行归一化,将它视为一个概率分布图,根据概率加权采样画布上的点作为贝塞尔曲线的控制点。

然后,作者将初始化阶段获得的注意力图转换为可重复使用的掩码,大于等于阈值的部分设为 1,代表目标区域,小于阈值为 0。作者利用掩码定义 SIVE 损失函数从而精确地优化不同的对象。

ce023ad9722b0a19f3bbcccb5f8b38ab.png

SIVE 确保了控制点保持在各自的语义对象区域中,从而实现不同对象的解构,最终结果如图 1 右上部分所示。

1.2 基于矢量粒子的分数蒸馏 (VPSD)

之前基于扩散模型的 SVG 生成工作 [2,4],已经探索了使用分数蒸馏采样(SDS)优化 SVG 参数的方式,但这种优化方式往往会带来颜色过饱和、优化得到的 SVG 过于平滑的结果。

受变分分数蒸馏采样的启发,作者提出了基于向量化粒子的分数蒸馏采样(Vectorized Particle-based Score Distillation,VPSD)损失来解决以上问题。相对于 SDS,这种采样方式将 SVG 建模为控制点和色彩的一个分布,VPSD 通过优化这个分布来实现对 SVG 参数的优化:

cf375af7aee4821ad221b3780cab2df6.png

由于直接优化另一个模型 c08c3aa2e51b2cb146bf83d2fe4bc306.png的成本过大,所以引入 Lora 来减少被优化的参数量:

c3b021d79aa7f26525627ff4a4f6b2cf.png

最后,为了改善合成矢量图的美观评价,作者引入了一种奖励反馈学习方法(ReFL),将采样得到的样本输入到使用预训练的 Reward 模型中,共同进行对 LoRA 参数的优化:

4aff7494047391f286b3e69ec26b8589.png

最后完整的目标函数即为上述三个函数的加权组合:

27853e1d0ac186bd3484c3267cb40e70.png

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


296eb7259eca562e6183f3d2fdfb050d.png

实验结果

2.1 定性结果

下图展示了 SVGDreamer 生成的 6 种风格类型的 SVG 结果,包括肖像图风格(Iconography)、像素风格(Pixel-Art)、水墨(Ink and Wash)、多边形(Low-poly)、手绘(Sketch)和线条绘画(Painting)风格等。不同颜色的后缀表示不同的 SVG 风格类型,这些风格类型也并不需要在 Prompt 中给出,只需要通过控制矢量图基元实现。

48cd6f622c08cc1c7f69b261cfb0f340.png

▲ 图2. SVGDreamer结果可视化

SVGDreamer 能够根据文本提示合成语义层次解耦的矢量图,这使得其可以被用于创建大量矢量数据资产,同时这些矢量元素可以被自由地组合,如下图所示:

f805f761fba39441f107affd97dab893.png

▲ 图3:SVGDreamer合成的矢量资产示意图

2.2 应用展示

除此之外,作者展示了 SVGDreamer 的应用:制作矢量海报。通过将制定字形转为矢量表示,并且与生成的矢量图结合,即可得到美观的矢量海报。与基于扩散模型的生成式位图海报相比,矢量海报的文字与内容部分同样具有良好的编辑性,并且不会产生错误的文字:

67b12c204b90d39a1f9f0e822b9f6ded.png

▲ 图4:SVGDreamer制作的矢量海报与位图海报合成方法的比较


79266b0b8a07c2574e8094f3e9d3857c.png

总结

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

由于SVGDreamer能够生成具有可编辑性的复杂矢量图形,因此,SVGDreamer 有望显著推进文本到 SVG 模型在设计领域的应用。它已经被证实可以用来创建矢量图形资产库,设计师可以根据不同的需求,很容易地将库中的元素重新排列组合,用于创建独特的矢量海报或 Logo,以及其他矢量艺术形式。

ed32266258658dcaf6915907241a0f68.png

矢量图可微渲染库PyTorch-SVGRender介绍

5a1cc39f24276781c4dac74747b5ac74.png

项目地址:

https://qianyu-lab.github.io/PyTorch-SVGRender-project/

代码地址:

https://github.com/QianYu-Lab/PyTorch-SVGRender

文档地址:

https://pytorch-svgrender.readthedocs.io/en/latest/index.html

Pytorch-SVGRender 是作者团队在 2023.12 发布的一个用于 SVG 生成的可微分渲染方法的 Python 库,使研究人员和开发者们可以通过一个统一的、简化的接口来访问不同的 SVG 生成技术。

Pytorch-SVGRender 包含两大功能:位图到 SVG 的渲染(Img-to-SVG),以及文本到 SVG(Text-to-SVG)的渲染。并且整合了与这些功能有关的研究成果,例如 DiffVG、LIVE、CLIPasso、CLIPDraw、VectorFusion、Word-As-Image、DiffSketcher 和 SVGDreamer 等。

Pytorch-SVGRender 的设计理念是基于模块化和可扩展性的原则,让用户能够无缝集成最新的 SVG 创作技术。通过提供一套清晰的、统一的 API,该库允许开发者轻松地调用底层绘图算法,无需深入了解其底层原理。此外,库中的每一种方法的相关参数都经过精心优化,以确保生成的 SVG 文件在性能和质量上都能满足高标准的要求。

最后,Pytorch-SVGRender 还提供了丰富的文档和示例代码,帮助用户快速入门上手。作者希望这个库可以提高 SVG 研究人员和开发者的工作效率,为未来 SVG 相关技术的创新与实践提供帮助。

outside_default.png

参考文献

outside_default.png

[1] Kevin Frans, Lisa Soros, and Olaf Witkowski. CLIPDraw: Exploring text-to-drawing synthesis through language-image encoders. In Alice H. Oh, Alekh Agarwal, Danielle Belgrave, and Kyunghyun Cho, editors, Advances in Neural Information Processing Systems(NIPS), 2022.

[2] Ajay Jain, Amber Xie, and Pieter Abbeel. Vectorfusion: Text-to-svg by abstracting pixel-based diffusion models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR), 2023.

[3] Yael Vinker, Ehsan Pajouheshgar, Jessica Y Bo, Roman Christian Bachmann, Amit Haim Bermano, Daniel Cohen-Or, Amir Zamir, and Ariel Shamir. Clipasso: Semantically-aware object sketching. ACM Transactions on Graphics(TOG), 41(4):1–11, 2022.

[4] Xing X, Wang C, Zhou H, et al. Diffsketcher: Text guided vector sketch  synthesis through latent diffusion models[J]. Advances in Neural Information Processing Systems(NIPS), 2023.

[5] Tzu-Mao Li, Michal Lukac, Gharbi Michael and Jonathan Ragan-Kelley. Differentiable vector graphics rasterization for editing and learning. ACM Transactions on Graphics (TOG), 39(6):193:1–193:15, 2020.

[6] Ben Poole, Ajay Jain, Jonathan T. Barron, and Ben Mildenhall. Dreamfusion: Text-to-3d using 2d diffusion. In The Eleventh International Conference on Learning Representations(ICLR), 2023.

更多阅读

88ae15f07689a1f477f961f5b4e505fc.png

5998259a23ee38be7b84c6dc99a84d76.png

1f799595268f12fa201eb7b9fa8f1070.png

affddf3ea7936ba773b479598e97efdd.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

3c7132757728238f7ec30cd01198db3a.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

901a42707fef128ed7ae10c372f90f95.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值