Slice-100K: A Multimodal Dataset for Extrusion-based 3D Printing
作者: Anushrut Jignasu, Kelly O. Marshall, Ankush Kumar Mishra, Lucas Nerone Rillo, Baskar Ganapathysubramanian, Aditya Balu, Chinmay Hegde, Adarsh Krishnamurthy
分类: cs.CV
发布日期: 2024-07-04 (更新: 2025-09-05)
备注: Accepted to NeurIPS 2024. For codebase, see https://github.com/idealab-isu/Slice-100K
🔗 代码/项目: GITHUB
💡 一句话要点
Slice-100K:用于基于挤出的3D打印的多模态数据集
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 增材制造 3D打印 G代码 多模态数据集 深度学习 数字制造 CAD模型
📋 核心要点
- 现有增材制造领域缺乏大规模、高质量的CAD模型与G代码对应数据集,阻碍了相关算法的研究与发展。
- 论文构建了Slice-100K数据集,包含超过10万个G代码文件及其对应的CAD模型、语义信息和几何属性。
- 通过在Slice-100K上微调GPT-2,实现了G代码格式的转换,验证了数据集在数字制造领域的应用潜力。
📝 摘要(中文)
G代码(几何代码)或RS-274是最广泛使用的计算机数控(CNC)和3D打印编程语言。G代码为3D打印机的运动提供机器指令,特别是对于喷嘴、平台和基于挤出的增材制造的材料挤出。目前,缺乏一个大型的、精心策划的CAD模型库以及其对应的增材制造G代码文件。为了解决这个问题,我们提出了Slice-100K,这是首个包含超过10万个G代码文件的数据集,以及其镶嵌CAD模型、LVIS(大型词汇实例分割)类别、几何属性和渲染图。我们从Objaverse-XL和Thingi10K数据集导出的三角网格构建数据集。我们通过在数据集的子集上微调GPT-2,用于将传统G代码格式(Sailfish)翻译成更现代、更广泛使用的格式(Marlin),来展示该数据集的效用。我们的数据集可在https://github.com/idealab-isu/Slice-100K找到。Slice-100K将是开发用于数字制造的多模态基础模型的第一步。
🔬 方法详解
问题定义:论文旨在解决增材制造领域缺乏大规模CAD模型和G代码对应数据集的问题。现有方法依赖于小规模或特定领域的数据集,限制了深度学习模型在G代码理解、生成和优化方面的应用。缺乏统一的数据集也阻碍了不同G代码格式之间的转换和标准化。
核心思路:论文的核心思路是构建一个大规模、多模态的G代码数据集,包含CAD模型、G代码、语义信息和几何属性。通过提供丰富的数据,促进基于深度学习的G代码处理算法的研究,并为数字制造领域的多模态基础模型奠定基础。
技术框架:Slice-100K数据集的构建流程主要包括以下几个阶段:1) 从Objaverse-XL和Thingi10K等现有CAD模型库中获取三角网格模型;2) 为每个模型生成对应的G代码文件;3) 利用LVIS数据集对模型进行语义标注;4) 计算模型的几何属性;5) 生成模型的渲染图。最终,将这些数据整合到一个统一的数据集中。
关键创新:该论文的关键创新在于构建了首个大规模、多模态的G代码数据集Slice-100K。与现有数据集相比,Slice-100K具有更大的规模、更丰富的信息和更广泛的应用潜力。该数据集的发布将促进增材制造领域基于深度学习的研究,并为数字制造领域的多模态基础模型提供数据支撑。
关键设计:论文在数据集构建过程中,选择了Objaverse-XL和Thingi10K作为CAD模型来源,保证了数据集的多样性和规模。使用标准的G代码生成器,确保了G代码文件的质量和一致性。利用LVIS数据集进行语义标注,为模型提供了丰富的语义信息。此外,论文还提供了数据集的详细统计信息和使用示例,方便研究人员使用。
🖼️ 关键图片
📊 实验亮点
论文通过在Slice-100K数据集上微调GPT-2模型,实现了从Sailfish到Marlin G代码格式的转换。实验结果表明,微调后的GPT-2模型能够有效地将Sailfish G代码转换为Marlin G代码,验证了Slice-100K数据集在G代码处理方面的应用潜力。该实验为后续研究人员利用Slice-100K数据集进行G代码相关任务提供了参考。
🎯 应用场景
Slice-100K数据集可应用于G代码理解、生成、优化和转换等多个领域。例如,可以训练模型根据CAD模型自动生成G代码,优化G代码以提高打印质量和效率,实现不同G代码格式之间的转换。该数据集还有助于开发数字制造领域的多模态基础模型,促进增材制造技术的智能化发展。
📄 摘要(原文)
G-code (Geometric code) or RS-274 is the most widely used computer numerical control (CNC) and 3D printing programming language. G-code provides machine instructions for the movement of the 3D printer, especially for the nozzle, stage, and extrusion of material for extrusion-based additive manufacturing. Currently, there does not exist a large repository of curated CAD models along with their corresponding G-code files for additive manufacturing. To address this issue, we present Slice-100K, a first-of-its-kind dataset of over 100,000 G-code files, along with their tessellated CAD model, LVIS (Large Vocabulary Instance Segmentation) categories, geometric properties, and renderings. We build our dataset from triangulated meshes derived from Objaverse-XL and Thingi10K datasets. We demonstrate the utility of this dataset by finetuning GPT-2 on a subset of the dataset for G-code translation from a legacy G-code format (Sailfish) to a more modern, widely used format (Marlin). Our dataset can be found at https://github.com/idealab-isu/Slice-100K. Slice-100K will be the first step in developing a multimodal foundation model for digital manufacturing.