VFig:利用视觉语言模型将复杂图表矢量化为SVG VFIG: Vectorizing Complex Figures in SVG with Vision-Language Models
用VLM将复杂科学图表转换为可编辑SVG,结合课程学习与强化学习
前置知识
SVG (Scalable Vector Graphics)
SVG是一种基于XML的W3C标准矢量图形格式,使用几何基元(如rect、circle、line、path等标签)描述图形,而非像素点阵。与PNG/JPEG等光栅格式不同,SVG具有分辨率无关性,可无损缩放到任意尺寸;同时保持语义可编辑性,每个图形元素都可独立修改。在科学图表中,SVG的优势在于:可以用rect表示方框、line表示箭头、text标注文字,形成结构化的、人类和机器都可理解的图形表示。然而,原始SVG源文件在实际中经常丢失,只留下光栅化的PNG/JPEG版本,这正是本文要解决的核心问题。
本文的核心任务是将光栅图像转换为SVG代码,理解SVG的结构化特性和基元组成是理解本文方法的基础
Vision-Language Model (VLM)
视觉语言模型是一类能够同时处理图像和文本输入的大模型,典型架构包括视觉编码器(如ViT)和语言模型(如LLaMA/Qwen),通过多模态投影器连接。VLM能够理解图像内容并生成相应的文本描述或代码。在本文中,VLM被用于两个关键任务:一是从光栅图像中理解图表的几何结构和语义关系,二是生成符合语义的SVG代码。论文测试了多个VLM骨干网络,包括Qwen3-VL-4B/8B、Qwen2.5-VL-3B和InternVL3.5-4B,最终选定Qwen3-VL作为最优骨干。
VLM是本文方法的核心模型架构,理解其能力边界有助于把握本文的技术定位
LoRA (Low-Rank Adaptation)
LoRA是一种参数高效微调方法,其核心思想是在预训练模型的权重矩阵旁添加低秩分解矩阵,其中B的维度为d×r,A的维度为r×k,r远小于d和k的最小值。训练时只更新低秩矩阵A和B,冻结原始权重,从而大幅减少可训练参数量。本文使用LoRA rank为64,仅更新语言模型参数,保持视觉编码器和多模态投影器冻结,在5张NVIDIA L40S GPU上训练3个epoch,最大序列长度为8192 tokens。
理解LoRA的工作原理和本文的具体配置,有助于评估模型的训练成本和可复现性
GRPO (Group Relative Policy Optimization)
GRPO是一种强化学习算法,属于策略优化方法,其特点是通过组内相对比较来估计优势函数,无需单独的奖励模型。在本文的设定中,对于每个输入图表,模型采样n=8个候选SVG输出,每个输出被渲染为光栅图像后由VLM裁判评分。组内的奖励分数经过标准化后计算相对优势,用于更新策略。GRPO的目标函数包含KL正则化项,其中参考策略是冻结的SFT策略,KL系数控制约束强度,还有熵奖励系数鼓励探索。
GRPO是本文RL阶段的核心算法,理解其工作原理对于把握从SFT到RL的训练流程至关重要
Coarse-to-Fine Curriculum Learning
课程学习是一种训练策略,按照从简单到复杂的顺序组织训练数据,模拟人类学习过程。在本文中,粗到细课程学习分两个阶段:第一阶段使用结构较简单的图表(SVG-Diagrams、Molmo2-Diagram、VFig-Data-Shapes-and-Arrows),让模型先掌握原子级基元生成和基本布局理解;第二阶段使用复杂的科学论文图表(VFig-Data-Complex-Diagrams),训练模型进行组合推理和结构保真度优化。实验表明,这种两阶段课程策略显著提高了渲染成功率,从一阶段的74.9%提升到两阶段的93.3%(Qwen3-VL-4B)。
课程学习是本文训练方法的核心创新之一,理解其设计理念有助于把握为什么直接在复杂图表上训练效果不佳
CairoSVG
CairoSVG是一个Python库,用于将SVG代码渲染为光栅图像(PNG/JPEG等)。在本文的训练流程中,CairoSVG扮演关键角色:在RL阶段,模型生成的SVG代码需要通过CairoSVG渲染为光栅图像,然后与参考图像进行视觉比较以计算奖励。在评估阶段,同样使用CairoSVG将预测的SVG渲染为图像,用于计算SSIM、LPIPS等像素级指标。渲染成功率(Render Rate)也是重要评估指标,衡量生成的SVG代码能否被成功渲染,OmniSVG-4B的渲染率仅为81.9%-89.4%,而VFig达到96.0%-97.6%。
CairoSVG是连接SVG代码和视觉评估的桥梁工具,理解其作用有助于把握RL反馈机制的工作流程
研究动机
在科学研究和数字设计领域,Scalable Vector Graphics (SVG) 是技术插图的核心格式,提供分辨率无关性、语义可编辑性,以及人类和机器都可读的文本结构。然而在实际工作流中,原始矢量源文件经常丢失或无法访问,只留下扁平的光栅化版本(如PNG或JPEG),这些版本难以修改、缩放或重新利用。手动重建这些图表是极其耗时的过程,需要专业知识来恢复原始的几何意图、样式和组合结构。现有方法主要包括传统轮廓追踪方法(如Potrace、VTracer)、基于学习的技术(如SVG-VAE、DeepSVG、DiffVG)以及近期的LLM/VLM生成方法(如StarVector、OmniSVG),但这些方法主要在相对简单的图形上开发和评估,如图标或小型图表。它们在面对实践中的复杂图表时表现尚不清楚,而这恰恰是自动化重建最有价值的场景。
本文的目标是本文的具体目标是建立一个完整的VLM驱动的复杂图表到SVG转换系统。这一目标包含三个层次:首先,构建大规模、高质量的训练数据集VFig-Data,包含66K对复杂图表-SVG配对数据,涵盖真实论文图表和程序化生成图表;其次,设计有效的训练策略,包括粗到细课程学习的监督微调(SFT)和基于视觉反馈的强化学习(RL),使模型能够学习原子级基元生成并逐步掌握组合推理;最后,引入VFig-Bench评估套件,设计新颖的多粒度评估指标,全面衡量像素级视觉保真度、组件级结构正确性和图像级整体质量。最终目标是达到与大型闭源模型(如GPT-5.2)相当的性能,在VFig-Bench上实现高VLM-Judge分数。
与已有工作不同的是,本文的独特切入角度体现在三个维度。在数据层面,现有SVG数据集主要聚焦于图标、表情符号和艺术图形设计,缺乏对科学图表的系统覆盖;本文构建的VFig-Data是首个专门针对结构化科学图表生成的大规模数据集,通过严格的图像过滤(排除自然图像、数学公式、表格图表)和代码过滤(排除路径主导的SVG,保留语义基元),确保数据质量。在方法层面,现有方法要么只优化像素级相似度(如LPIPS、SSIM),要么只进行SFT而忽略视觉反馈;本文提出两阶段训练范式:先用课程SFT建立基元级生成能力,再用基于VLM裁判的RL奖励优化结构保真度,其中奖励函数包含Presence、Layout、Connectivity、Details四个维度的评估。在评估层面,现有工作依赖单一评估轴;本文设计了从像素级到组件级到图像级的粗到细评估协议,提供了比单一指标更全面、更细致的模型能力图景。
核心方法
VFig的方法整体思路可以概括为数据驱动、课程渐进、视觉反馈。直觉上,将复杂图表转换为可编辑SVG代码需要模型同时具备两种能力:低层级的几何基元生成(如画矩形、圆形、线条)和高层级的组合推理(如理解多面板布局、层级分组、精确连接)。从零开始学习同时掌握这两种能力是困难的,就像学习绘画时需要先练素描基本功再画复杂构图一样。技术路线上,本文采用三步走策略:第一步,构建大规模高质量数据集VFig-Data,包含66K图表-SVG配对,通过图像过滤和代码过滤确保数据质量;第二步,设计粗到细课程SFT训练,先用简单图表学习基元级生成,再用复杂图表学习组合推理;第三步,引入基于VLM裁判的RL阶段,通过渲染反馈直接优化视觉保真度和结构正确性。整体框架如Fig. 1所示,输入为复杂光栅图像,输出为可编辑的高保真SVG代码。
本文的核心创新在于将结构化的视觉反馈引入SVG生成的强化学习阶段,这与已有方法有本质区别。传统方法如StarVector和OmniSVG只进行SFT,优化的是token级似然而非渲染输出的视觉质量,这种不匹配会导致感知上的布局和渲染错误无法被纠正。近期的RLRF方法虽然引入了渲染反馈,但主要使用像素级距离指标(如L2、SSIM、LPIPS),这些指标对科学图表的结构语义不敏感。例如,像素级视觉相似度指标可能给具有完全不同箭头的输出分配高分,因为箭头的相对面积较小,而基于规则的评估能更好地捕捉语义差异。本文的关键洞察是:科学图表需要的是结构和语义保真度,而非仅仅是感知相似度。因此,本文设计了基于VLM裁判的四维奖励函数:Presence(元素存在性)、Layout(空间布局)、Connectivity(连接正确性)、Details(细节保真度),这些高层级的结构感知信号比低层级像素指标对复杂图表的优化更有效。实验表明,使用完整四维奖励的VLM-Judge得分达到0.804,而只使用像素级目标时为0.779,证明了结构感知奖励的有效性。
方法步骤详情
VFig的方法分为数据构建、SFT训练和RL优化三个主要步骤。在数据构建阶段,VFig-Data包含两个子集:VFig-Data-Complex-Diagrams(60K对)来自真实论文图表,通过两阶段生成管道(先让VLM生成结构化描述,再基于描述和原图生成SVG);VFig-Data-Shapes-and-Arrows(6.5K对)通过19个布局模板程序化生成,提供精确控制的视觉属性监督。数据过滤包括图像过滤(用Gemini-3 Flash分类为KEEP/IMAGE/MATH/PLOT,只保留KEEP)和代码过滤(保留基元占比不低于40%且复杂形状不超过50的SVG)。在SFT训练阶段,采用粗到细课程:第一阶段训练于简单图表(SVG-Diagrams 27.6K、Molmo2-Diagram 51.2K、VFig-Data-Shapes-and-Arrows 6.5K),第二阶段微调于复杂图表(VFig-Data-Complex-Diagrams 60K)。使用LoRA(rank=64)参数高效微调,仅更新语言模型参数,训练3个epoch,最大序列长度8192 tokens。在RL优化阶段,采用GRPO算法,对每个输入采样n=8个候选SVG输出,每个输出通过CairoSVG渲染为光栅图像,由Gemini-3-Flash裁判按Presence、Layout、Connectivity、Details四个维度评分(每个维度0-1分),最终奖励为四维平均。RL使用KL正则化约束策略不偏离SFT初始化太远,熵奖励系数鼓励探索。
技术新颖性
VFig的技术新颖性体现在多个层面。首先,在数据构建方面,VFig-Data是首个大规模(66K)针对复杂科学图表-SVG配对的数据集,填补了现有数据集只覆盖图标和简单图形的空白。数据过滤流程的设计也颇具创新:图像过滤使用VLM将图表分为四类,只保留适合矢量化的图表;代码过滤通过基元占比启发式(基本形状和连接器不低于40%,复杂形状不超过50)保留语义化SVG,过滤掉路径主导的艺术SVG。其次,在训练策略方面,粗到细课程学习是首次在SVG生成领域系统验证的有效方法,实验表明两阶段课程将渲染成功率从74.9%提升到93.3%(Qwen3-VL-4B)。第三,在RL奖励设计方面,使用VLM裁判的四维结构感知奖励替代传统像素级指标,这是对强化学习从渲染反馈(RLRF)范式的重要改进。实验表明,去除任何一个奖励维度都会降低VLM-Judge得分,其中去除Layout或Details的影响最大。最后,在评估方面,VFig-Bench设计了从像素级(SSIM、LPIPS)到组件级(规则匹配)到图像级(VLM裁判)的多粒度评估协议,提供了比单一指标更全面的模型能力图景。
实验结果
本文的实验结果系统回答了四个研究问题。首先,关于VLM转换复杂图表的能力:当前VLM可以渲染图表但难以产生忠实、可编辑的SVG。传统光栅到矢量方法(如VTracer)在像素相似度上表现优异(SSIM 0.950,LPIPS 0.092),但无法生成干净的基元,Clean得分为0.000;开源VLM基线(如OmniSVG-4B)在视觉保真度和结构正确性上都表现较差,VLM-Judge仅为0.039-0.096,渲染率也只有81.9%-89.4%。其次,关于课程SFT的效果:两阶段课程训练显著提高了结构一致性和LLM评估得分,在Qwen3-VL-4B上,VLM-Judge从一阶段的0.712提升到两阶段的0.737,渲染成功率从74.9%大幅提升到93.3%。第三,关于RL视觉反馈的效果:SFT+RL在所有评估指标和所有三个数据集上都一致优于单独SFT。以VFig-Bench为例,SFT+RL的SSIM从0.763提升到0.778,LPIPS从0.264降低到0.212,VLM-Judge从0.781提升到0.829,Clean从0.784提升到0.853,Render从0.884提升到0.960。第四,关于视觉反馈粒度的效果:结构感知奖励比像素级目标更有效。使用完整四维Gemini奖励的VLM-Judge为0.804,而加入像素级目标后反而降至0.779,虽然SSIM略有提升(0.747到0.752),但整体结构质量下降。最终,VFig在开源模型中达到SOTA,VLM-Judge得分0.829,与GPT-5.2的0.858相当,证明了针对性数据策展、结构化训练和任务特定评估能够缩小与大规模闭源系统的性能差距。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| VFig-Bench(复杂科学图表) | VLM-Judge(Gemini+GPT平均分) | 0.829(SFT+RL) | GPT-5.2: 0.858, StarVector-8B: 0.548, OmniSVG-4B: 0.039 | 开源模型SOTA,比StarVector-8B提升51.3%,接近GPT-5.2水平 |
| VFig-Bench(复杂科学图表) | LPIPS(越低越好) | 0.212(SFT+RL) | GPT-5.2: 0.364, StarVector-8B: 0.380, VTracer: 0.092 | 比GPT-5.2降低41.8%,仅次于传统方法VTracer |
| VFig-Bench(复杂科学图表) | SSIM | 0.778(SFT+RL) | VTracer: 0.950, Gemini-3-flash: 0.772, GPT-5.2: 0.727 | 在VLM方法中最高,超过Gemini-3-flash和GPT-5.2 |
| VFig-Bench(复杂科学图表) | SVG Cleanliness | 0.853(SFT+RL) | GPT-5.2: 0.731, StarVector-8B: 0.544, VTracer: 0.000 | 最高,比GPT-5.2提升16.7%,远超传统方法 |
| VFig-Bench(复杂科学图表) | Render Rate | 0.960(SFT+RL) | GPT-5.2: 0.995, StarVector-8B: 0.093, OmniSVG-4B: 0.819 | 在开源模型中最高,接近GPT-5.2水平 |
| Molmo2-Diagram(500个图表样本) | VLM-Judge | 0.834(SFT+RL) | Gemini-3-pro: 0.929, GPT-5.2: 0.894, StarVector-8B: 0.650 | 比StarVector-8B提升28.3%,在开源模型中领先 |
| SVG-Diagrams(474个图表样本) | VLM-Judge | 0.705(SFT+RL) | Gemini-3-pro: 0.887, GPT-5.2: 0.781, StarVector-8B: 0.701 | 与StarVector-8B相当(0.705 vs 0.701),超过OmniSVG-4B |
局限与改进
本文存在几个值得深入讨论的局限性。首先,在评估指标方面,VLM-Judge虽然与人类判断有较强的相关性(Pearson r=0.89),但仍然是基于模型的自动评估,可能存在系统性偏差。特别是对于非常复杂的图表,VLM裁判可能无法准确捕捉所有结构细节,如小的几何错位或细微的样式差异。其次,在数据分布方面,VFig-Data主要来源于学术论文图表,对于非学术领域的图表(如工业设计图、UI界面、艺术创作)的泛化能力尚未验证。第三,在生成效率方面,虽然本文使用LoRA进行参数高效微调,但RL阶段需要采样多个候选输出并进行渲染评估,计算成本较高,在4张NVIDIA L40S GPU上进行训练,对于资源有限的研究团队可能构成障碍。第四,在处理极端复杂图表方面,虽然本文强调了处理复杂图表的能力,但对于特别大型的图表(如包含数十个节点的架构图),生成的SVG代码可能非常长,存在长序列生成的一致性问题。最后,在评估基准方面,VFig-Bench只有392个样本,Molmo2-Diagram有500个,SVG-Diagrams有474个,样本量相对有限,可能无法充分反映模型在多样化场景下的表现。
独立分析的弱点
独立分析本文,可以识别出几个具体的弱点。首先,在数据生成方面,VFig-Data-Complex-Diagrams的生成依赖于Gemini-3-Pro的两阶段管道(先描述再生成),这引入了对闭源模型的依赖,且生成质量受限于Gemini-3-Pro的能力上限。改进方向是探索开源VLM的替代方案,或者设计更robust的生成管道,减少对单一模型的依赖。其次,在RL奖励设计方面,四维奖励函数(Presence、Layout、Connectivity、Details)虽然比像素级指标更有效,但仍然是相对粗糙的评估。例如,Layout维度无法区分布局大致正确但细节偏移和布局完全错误两种情况。改进方向是设计更细粒度的奖励信号,或者引入人类偏好学习。第三,在课程学习方面,本文的两阶段划分(简单到复杂)是启发式的,没有理论依据来确定最优的课程安排。改进方向是探索自适应课程学习,根据模型的学习进度动态调整训练数据的难度。第四,在评估方面,VFig-Bench的样本来自VFig-Data-Complex-Diagrams的held-out split,可能存在数据泄露风险。改进方向是构建完全独立的评估基准,或者使用时间上更晚的论文图表。
未来方向
基于本文的成果,可以延伸出几个有前景的研究方向。首先,在多模态SVG编辑方面,VFig目前只支持图表到SVG的单向转换,未来可以探索支持交互式编辑的VLM,用户可以通过文本指令修改SVG的特定部分,如将红色箭头改为蓝色或将左侧方框向右移动10像素。其次,在3D矢量化方面,本文聚焦于2D图表,但许多科学可视化涉及3D数据(如分子结构、建筑模型),将VLM应用于3D矢量图形生成是一个自然的扩展方向。第三,在跨模态检索方面,VFig-Data包含大量图表-SVG配对,可以用于训练跨模态嵌入模型,支持通过文本描述检索相似图表或通过草图检索相关SVG。第四,在实时生成方面,当前方法的推理速度可能不适合实时交互场景,未来可以探索模型蒸馏或speculative decoding等加速技术。第五,在多语言支持方面,当前模型主要处理英文标注的图表,对于中文、日文等非拉丁文字的支持需要进一步研究。最后,在工业应用方面,VFig可以与现有的图形设计工具(如Adobe Illustrator、Figma)集成,作为自动矢量化的后端服务。
复现评估
从复现评估角度来看,本文的开源情况较为理想但存在一些挑战。在代码和模型方面,论文提到将公开发布模型、数据和评估工具,代码仓库为github.com/RAIVNLab/VFig,这为复现提供了良好基础。在数据方面,VFig-Data包含66K对数据,加上来自学术数据集的78K数据,总计约144K训练样本,数据规模适中,但数据生成依赖Gemini-3-Pro(闭源模型),复现者可能需要使用替代方案。在算力方面,SFT训练使用5张NVIDIA L40S GPU,RL训练使用4张L40S GPU,这对于学术实验室来说是可接受的,但对于个人研究者可能构成障碍。LoRA的使用(rank=64)降低了参数更新量,但仍然需要足够的GPU内存来存储完整的模型。在训练细节方面,论文提供了关键超参数(LoRA rank=64,3 epochs,最大序列长度8192,KL系数0.01,熵奖励系数0.001,采样数n=8),但一些实现细节可能需要参考代码仓库。在评估方面,VFig-Bench的392个样本来自VFig-Data-Complex-Diagrams的held-out split,如果论文公开数据集,复现者可以直接使用;但VLM-Judge的评估依赖Gemini-3-Flash和GPT-5.2,这需要API访问权限。总体而言,复现难度为中等偏上,主要挑战在于数据生成和RL阶段的工程实现。
论文图表
展示了三个数据来源的示例:左侧是来自学术数据集的简单图表(SVG-Diagrams和Molmo2-Diagram),中间是VFig-Data-Complex-Diagrams的复杂图表布局,右侧是VFig-Data-Shapes-and-Arrows中程序化生成的基本形状和箭头。每个来源都展示了输入图像和对应的SVG代码结构。
这张图展示了训练数据的多样性和质量,帮助读者理解VFig-Data的构成和不同数据来源的特点。