-
背景:可伸缩矢量图形(Scalable Vector Graphics,SVG)已经成为现代图像渲染应用程序中不可或缺的一部分,因为它们具有无限的分辨率伸缩性、多样的可用性和编辑起来很方便。SVG在网页开发和图形设计领域特别受欢迎。
-
存在的问题:现有的使用深度学习进行SVG建模的方法通常难以生成复杂的SVG,并且仅限于需要大量处理和简化的简单SVG。
-
方法:StarVector 是一种多模态SVG生成模型,它有效地集成了代码生成大型语言模型(CodeLLMs)和视觉模型。
- 该方法利用 CLIP 图像编码器从基于像素的图像中提取视觉表示,然后通过 Adapter 适配器模块将其转换为视觉标记。
- 这些视觉标记被预先添加到SVG标记嵌入中,并且序列由StarCoder模型使用下一个标记预测进行建模,从而有效地学习了对齐视觉和代码标记。这使得StarVector能够生成准确表示像素图像的无限制SVG。
-
数据集:
- 为了评估StarVector的性能,作者提出了 SVG-Bench,这是一个综合评估SVG方法的基准,涵盖多个数据集和相关指标。
- 在这个基准中,我们引入了包括 SVG-Stack 在内的新颖数据集,这是一个大规模的真实世界SVG示例数据集,并将其用于为SVG 预训练 StarVector作为SVG的大型基础模型。
-
任务: 输入一张位图,输出一张位图对应的 SVG 矢量图。
StarVector 架构:
- 像素空间中的图像通过 CLIP 编码为一组 2D 嵌入。
- Adapter 对图像嵌入应用非线性变换,使其与Code-LLM空间对齐,获得视觉标记。
- StarCoder 使用图像嵌入作为上下文来生成 SVG。
- 在训练期间,任务由 SVG tokens 的下一个 token 预测来监督。
- 在推理期间,模型使用来自输入图像的视觉标记来自回归地预测 SVG 代码。
从以下对比中可以看出,StarVector 和 GPT-4 V 有类似的 SVG 生成功能。