矢量图形无处不在——从图标和标志到插图和数据可视化。但以编程方式生成复杂的 SVG 一直是一个棘手的研究挑战,大多数方法仅限于简单的几何形状或需要大量的训练数据。发表于 NeurIPS 2025 的 OmniSVG 突破了这些限制,引入了第一个基于视觉语言模型的统一端到端多模态 SVG 生成器家族。
位于 github.com/OmniSVG/OmniSVG 的项目代表了 SVG 生成的范式转变。它不依赖于可微分渲染或强化学习——OmniSVG 之前的主流方法——而是微调预训练的 VLM 直接输出 SVG 代码。这使得模型既能利用现代 VLM 中编码的丰富视觉知识,同时学习 SVG 作为目标语言的语法和结构。
结果令人印象深刻:OmniSVG 可以生成从简单图标到复杂动漫角色的详细 SVG,具有前所未有的多样性和质量。该模型理解视觉概念、风格参考和结构关系,产出干净、可组合的 SVG 代码,而非像素近似值。附带的 MMSVG 数据集,是有史以来最大的 SVG-文本配对集合,也已发布给研究社区。
什么是 OmniSVG?
OmniSVG 是第一个基于视觉语言模型的端到端多模态 SVG 生成器家族。它能从文本描述、参考图像或两者组合生成复杂、结构化的 SVG 代码。该模型产出从简单图标到详细动漫角色的干净矢量图形,无需中间的位图到矢量转换。
有哪些模型大小可供选择?
OmniSVG 以多种大小发布,以适应不同的部署场景。
| 模型 | 参数量 | 基础 VLM | 最适合 |
|---|---|---|---|
| OmniSVG-S | 0.5B | Phi-3.5-mini | 快速生成,边缘设备 |
| OmniSVG-B | 2.7B | Phi-3.5-medium | 一般用途,质量与速度平衡 |
| OmniSVG-L | 7B | LLaVA-NeXT | 最高质量,复杂场景 |
| OmniSVG-XL | 13B | LLaVA-NeXT-13B | 最高质量,研究用途 |
所有模型共享相同的架构,但在容量和推理成本上有所不同。建议大多数使用场景选择 B 和 L 变体。
如何开始使用 OmniSVG?
OmniSVG 可通过 Transformers 库和独立 Python 包获取:
# 安装
pip install omnisvg
# 从文本描述生成 SVG
from omnisvg import OmniSVG
model = OmniSVG.from_pretrained("OmniSVG/OmniSVG-L")
svg_code = model.generate("A minimalist mountain landscape at sunset")
print(svg_code[:200])
生成的 SVG 代码可以直接保存为 .svg 文件,并在任何矢量图形编辑器或网页浏览器中打开。
什么是 MMSVG 数据集?
MMSVG(多模态 SVG)数据集是有史以来公开发布中最大的 SVG-文本配对集合。
| 数据集方面 | 数量 |
|---|---|
| 总 SVG-文本配对 | 120 万 |
| 图标级 SVG | 80 万 |
| 插图级 SVG | 30 万 |
| 动漫/漫画 SVG | 10 万 |
| 文本描述 | 120 万(人工验证子集:20 万) |
| 唯一 SVG 标记词汇 | 8,432 个指令标记 |
该数据集涵盖广泛的视觉风格,包括平面图标、详细插图、技术图表和角色艺术。每个 SVG 都配有一条文本描述,其中 20 万对子集已经过人工质量验证。
OmniSVG 使用什么许可?
OmniSVG 采用 Apache License 2.0 发布。MMSVG 数据集采用 CC-BY 4.0 发布。两种许可均允许商业使用、修改和重新分发,但需注明来源。
常见问题
什么是 OmniSVG?
OmniSVG 是第一个基于视觉语言模型的端到端多模态 SVG 生成器家族,发表于 NeurIPS 2025。它能从文本描述或参考图像生成复杂的 SVG 代码,从简单图标到详细的动漫角色。
有哪些模型大小可供选择?
四种大小:OmniSVG-S(0.5B 参数,边缘设备)、OmniSVG-B(2.7B,一般用途)、OmniSVG-L(7B,最高质量)和 OmniSVG-XL(13B,研究用途)。建议大多数应用选择 B 和 L 变体。
如何开始使用 OmniSVG?
通过 pip install omnisvg 安装,使用 OmniSVG.from_pretrained() 加载模型,然后用 .generate() 传入文本描述。输出是有效的 SVG 代码,可以保存为文件。
什么是 MMSVG 数据集?
MMSVG 数据集包含 120 万个 SVG-文本配对,涵盖图标、插图、技术图表和动漫/漫画艺术。这是同类中最大的公开发布集合,其中包含 20 万个经过人工验证的子集。
OmniSVG 采用什么许可?
模型采用 Apache License 2.0,MMSVG 数据集采用 CC-BY 4.0。两者均允许在注明来源的情况下进行商业使用。
延伸阅读
flowchart TB
A[输入] --> B{模态}
B --> C[文本描述]
B --> D[参考图像]
B --> E[文本 + 图像]
C --> F[VLM 编码器]
D --> F
E --> F
F --> G[LLM 主干]
G --> H[SVG 解码器]
H --> I[SVG 代码输出]
I --> J[渲染]
J --> K[矢量图形]graph LR
subgraph 模型能力
A[图标生成] --> D[简单几何]
B[插图] --> E[详细矢量艺术]
C[角色设计] --> F[动漫 / 漫画]
end
subgraph 输出质量
D --> G[干净 SVG 代码]
E --> G
F --> G
G --> H[可缩放分辨率]
G --> I[可编辑图层]
G --> J[小文件大小]
end
subgraph 应用
H --> K[UI 设计]
I --> L[游戏素材]
J --> M[网页图形]
J --> N[数据可视化]
end
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!