DeTikZify: Synthesizing Graphics Programs for Scientific Figures and Sketches with TikZ

📄 arXiv: 2405.15306v3 📥 PDF

作者: Jonas Belouadi, Simone Paolo Ponzetto, Steffen Eger

分类: cs.CL, cs.CV

发布日期: 2024-05-24 (更新: 2024-11-06)

备注: Accepted at NeurIPS 2024 (spotlight); Project page: https://github.com/potamides/DeTikZify


💡 一句话要点

DeTikZify:提出一种多模态语言模型,用于从草图和现有图形合成TikZ图形程序。

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

关键词: TikZ代码生成 多模态学习 科学图形 草图识别 语言模型 蒙特卡洛树搜索 图形程序合成

📋 核心要点

  1. 科学图形的创建耗时且复杂,现有方法难以从草图或低语义信息图形高效生成高质量TikZ代码。
  2. DeTikZify利用多模态语言模型,结合草图和现有图形,直接合成语义保留的TikZ图形程序。
  3. 实验表明,DeTikZify在TikZ程序合成方面优于商业模型Claude 3和GPT-4V,并通过MCTS算法进一步提升性能。

📝 摘要(中文)

创建高质量的科学图形既耗时又具有挑战性,即使在纸上绘制草图相对容易。此外,重新创建未以保留语义信息的格式存储的现有图形同样复杂。为了解决这个问题,我们引入了DeTikZify,这是一种新颖的多模态语言模型,它可以基于草图和现有图形自动合成保留语义信息的TikZ图形程序。为此,我们创建了三个新的数据集:迄今为止最大的TikZ数据集DaTikZv2,包含超过36万个人工创建的TikZ图形;SketchFig,一个将手绘草图与其对应的科学图形配对的数据集;以及MetaFig,一个包含各种科学图形和相关元数据的集合。我们在MetaFig和DaTikZv2上训练DeTikZify,以及从SketchFig中学习到的合成生成的草图。我们还引入了一种基于MCTS的推理算法,使DeTikZify能够迭代地改进其输出,而无需额外的训练。通过自动和人工评估,我们证明DeTikZify在合成TikZ程序方面优于商业Claude 3和GPT-4V,并且MCTS算法有效地提高了其性能。我们公开了我们的代码、模型和数据集。

🔬 方法详解

问题定义:论文旨在解决从草图或现有科学图形自动生成TikZ代码的问题。现有方法要么需要大量人工干预,要么无法保证生成代码的语义准确性,使得图形的编辑和重用变得困难。

核心思路:论文的核心思路是利用多模态语言模型学习草图、图形和TikZ代码之间的映射关系。通过学习大量数据,模型能够理解草图和图形的语义信息,并将其转化为相应的TikZ代码。这种方法避免了传统方法中复杂的图形解析和代码生成过程。

技术框架:DeTikZify的整体框架包括数据收集与构建、模型训练和推理三个主要阶段。首先,构建包含TikZ代码、科学图形和草图的大规模数据集。然后,使用多模态语言模型在这些数据上进行训练,学习不同模态之间的关联。最后,在推理阶段,模型根据输入的草图或图形生成TikZ代码,并使用基于MCTS的算法进行迭代优化。

关键创新:论文的关键创新在于:1) 提出了一个多模态语言模型DeTikZify,能够直接从草图和现有图形生成TikZ代码;2) 构建了三个大规模数据集DaTikZv2、SketchFig和MetaFig,为模型训练提供了充足的数据;3) 引入了基于MCTS的推理算法,用于迭代优化生成的TikZ代码。

关键设计:DeTikZify模型基于Transformer架构,采用编码器-解码器结构。编码器负责提取草图和图形的特征,解码器负责生成TikZ代码。损失函数包括代码生成损失和语义一致性损失,以保证生成代码的准确性和语义完整性。MCTS算法通过模拟生成过程,选择最优的TikZ代码序列,从而提高生成质量。

🖼️ 关键图片

img_0

📊 实验亮点

DeTikZify在TikZ程序合成任务中显著优于商业模型Claude 3和GPT-4V。通过人工评估,DeTikZify生成的TikZ代码在准确性和可读性方面均表现更佳。此外,MCTS算法的应用进一步提升了DeTikZify的性能,使其能够生成更复杂的图形。

🎯 应用场景

DeTikZify可应用于科学出版、教育和设计等领域。它可以帮助研究人员快速创建和编辑科学图形,提高论文质量和发表效率。在教育领域,它可以辅助学生学习图形设计和编程。在设计领域,它可以作为一种辅助工具,加速图形设计流程。

📄 摘要(原文)

Creating high-quality scientific figures can be time-consuming and challenging, even though sketching ideas on paper is relatively easy. Furthermore, recreating existing figures that are not stored in formats preserving semantic information is equally complex. To tackle this problem, we introduce DeTikZify, a novel multimodal language model that automatically synthesizes scientific figures as semantics-preserving TikZ graphics programs based on sketches and existing figures. To achieve this, we create three new datasets: DaTikZv2, the largest TikZ dataset to date, containing over 360k human-created TikZ graphics; SketchFig, a dataset that pairs hand-drawn sketches with their corresponding scientific figures; and MetaFig, a collection of diverse scientific figures and associated metadata. We train DeTikZify on MetaFig and DaTikZv2, along with synthetically generated sketches learned from SketchFig. We also introduce an MCTS-based inference algorithm that enables DeTikZify to iteratively refine its outputs without the need for additional training. Through both automatic and human evaluation, we demonstrate that DeTikZify outperforms commercial Claude 3 and GPT-4V in synthesizing TikZ programs, with the MCTS algorithm effectively boosting its performance. We make our code, models, and datasets publicly available.