ChartGen: Scaling Chart Understanding Via Code-Guided Synthetic Chart Generation

📄 arXiv: 2507.19492v1 📥 PDF

作者: Jovana Kondic, Pengyuan Li, Dhiraj Joshi, Zexue He, Shafiq Abedin, Jennifer Sun, Ben Wiesel, Eli Schwartz, Ahmed Nassar, Bo Wu, Assaf Arbelle, Aude Oliva, Dan Gutfreund, Leonid Karlinsky, Rogerio Feris

分类: cs.HC, cs.AI, cs.CV

发布日期: 2025-05-31

🔗 代码/项目: GITHUB


💡 一句话要点

ChartGen:通过代码引导的合成图表生成扩展图表理解能力

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 图表理解 代码生成 视觉语言模型 合成数据 数据增强

📋 核心要点

  1. 现有图表理解benchmark主要集中于图表问答或总结,缺乏对图表到代码重建能力的考察。
  2. ChartGen提出了一种全自动的代码引导合成图表生成流程,通过VLM和LLM迭代生成图表图像-代码对。
  3. 该方法生成了一个包含22.25万个图表图像-代码对的开源数据集,并评估了多个VLM,揭示了图表理解的巨大进步空间。

📝 摘要(中文)

图表到代码的重建,即从图表图像中恢复可执行的绘图脚本,为了解模型将数据可视化扎根于精确的、机器可读形式的能力提供了重要的见解。然而,许多现有的多模态基准测试主要侧重于回答关于图表的问题或总结它们。为了弥补这一差距,我们提出了ChartGen,这是一个全自动的代码引导的合成图表生成流程。从种子图表图像开始,ChartGen (i) 提示视觉语言模型 (VLM) 将每个图像重建为 python 脚本,以及 (ii) 使用面向代码的大型语言模型 (LLM) 迭代地增强该脚本。使用 ChartGen,我们从 1.3 万个种子图表图像创建了 22.25 万个独特的图表图像-代码对,并提出了一个开源的合成图表数据集,涵盖 27 种图表类型、11 个绘图库和多种数据模态(图像、代码、文本、CSV、DocTags)。从这个语料库中,我们策划了一个包含 4.3K 个图表图像-代码对的保留图表到代码评估子集,并评估了六个开放权重的 VLM(3B - 26B 参数),突出了巨大的进步空间。我们发布了该流程、提示和数据集,以帮助加速实现稳健的图表理解和视觉条件代码生成的努力。

🔬 方法详解

问题定义:论文旨在解决图表理解领域中缺乏高质量图表到代码重建数据集的问题。现有方法主要集中于图表问答或总结,而忽略了将图表图像转换为可执行代码这一重要能力。现有的数据集规模有限,难以充分训练和评估模型。

核心思路:论文的核心思路是利用视觉语言模型(VLM)和大型语言模型(LLM)自动生成合成图表数据。通过迭代地重建和增强图表图像对应的代码,可以高效地创建大规模、多样化的图表图像-代码对。这种方法能够有效地扩展现有数据集,并为图表到代码重建任务提供更充分的训练数据。

技术框架:ChartGen的整体流程包括以下两个主要阶段: 1. 图表重建:使用VLM将种子图表图像重建为Python绘图脚本。 2. 代码增强:使用面向代码的LLM迭代地增强重建的脚本,生成新的图表图像-代码对。该流程从1.3万个种子图表图像开始,最终生成22.25万个独特的图表图像-代码对。

关键创新:该方法最重要的技术创新点在于其全自动的代码引导合成图表生成流程。与手动标注或半自动方法相比,ChartGen能够高效地生成大规模、多样化的图表数据。此外,该方法利用VLM和LLM的优势,实现了图表图像到代码的自动转换和增强,从而降低了数据生成的成本。

关键设计:在图表重建阶段,论文使用了特定的VLM提示工程,以提高代码重建的准确性。在代码增强阶段,论文使用了面向代码的LLM,并设计了特定的代码增强策略,以生成更具多样性和复杂性的图表代码。此外,论文还精心设计了数据集的划分方式,包括训练集、验证集和测试集,以确保模型能够有效地泛化到新的图表数据。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

论文构建了一个包含22.25万个图表图像-代码对的大规模开源数据集,涵盖27种图表类型和11个绘图库。在4.3K图表图像-代码对的评估子集上,评估了6个开源VLM(3B-26B参数),结果表明现有VLM在图表到代码重建任务上仍有很大的提升空间,为未来的研究指明了方向。

🎯 应用场景

该研究成果可广泛应用于数据可视化分析、自动化报告生成、图表理解和代码生成等领域。通过将图表图像转换为可执行代码,可以实现对图表的自动化分析和处理,提高数据分析的效率和准确性。此外,该研究还可以促进视觉语言模型在图表理解领域的应用,推动人工智能技术的发展。

📄 摘要(原文)

Chart-to-code reconstruction -- the task of recovering executable plotting scripts from chart images -- provides important insights into a model's ability to ground data visualizations in precise, machine-readable form. Yet many existing multimodal benchmarks largely focus primarily on answering questions about charts or summarizing them. To bridge this gap, we present ChartGen, a fully-automated pipeline for code-guided synthetic chart generation. Starting from seed chart images, ChartGen (i) prompts a vision-language model (VLM) to reconstruct each image into a python script, and (ii) iteratively augments that script with a code-oriented large language model (LLM). Using ChartGen, we create 222.5K unique chart-image code pairs from 13K seed chart images, and present an open-source synthetic chart dataset covering 27 chart types, 11 plotting libraries, and multiple data modalities (image, code, text, CSV, DocTags). From this corpus, we curate a held-out chart-to-code evaluation subset of 4.3K chart image-code pairs, and evaluate six open-weight VLMs (3B - 26B parameters), highlighting substantial room for progress. We release the pipeline, prompts, and the dataset to help accelerate efforts towards robust chart understanding and vision-conditioned code generation: https://github.com/SD122025/ChartGen/