随着深度学习在计算机视觉和几何建模领域的广泛应用,三维CAD模型数据集成为研究的重要基石。尤其在三维重建、形状分类、语义分割、零件分解、逆向建模、几何生成等方向,开源CAD模型数据集推动了算法发展与评估。本文将综述当前主流的开源三维CAD模型机器学习数据集,涵盖其特点、应用任务及使用建议。
1. ShapeNet
- 发布时间:2015
- 数据量:约 51,300 个模型
- 数据格式:.obj/.off
- 类别数:55 个大类(ShapeNetCore.v2)
- 任务支持:分类、检索、分割、生成、形状完成等
- 特点:
- 大规模,手工标注的类标签
- 一致的坐标系、对齐和归一化
- ShapeNetSem 提供细粒度语义信息
- 局限性:面片质量参差不齐,缺少工程语义结构(如参数、约束等)
2. ModelNet
- 发布时间:2014
- 数据量:ModelNet10(4,899),ModelNet40(12,311)
- 数据格式:.off
- 任务支持:3D形状分类、检索
- 特点:
- 高质量封闭多边形网格
- 广泛用于基准测试
- 局限性:未提供CAD级参数信息;类别有限,样本偏少
3. ABC Dataset
- 发布时间:2019
- 数据量:百万级(∼1M CAD模型)
- 数据格式:STEP(.stp)、解析曲面信息
- 任务支持:几何建模、重建、参数提取、几何特征检测
- 特点:
- 来源于Onshape等CAD系统,包含精确的B-rep曲面(例如圆柱、圆锥、NURBS等)
- 自动标签,适合用于几何重建/逆向工程任务
- 局限性:模型不含语义类别信息,样式重复较多
4. Fusion 360 Gallery Dataset
- 发布时间:2021
- 数据量:约 58,000 个设计
- 数据格式:Fusion 360 JSON、B-rep、mesh
- 任务支持:参数建模、草图理解、建模指令预测
- 特点:
- 来自真实用户的建模历史记录
- 包含建模操作序列(sketch → extrude → fillet等)
- 非常适合用于学习 CAD 操作建模流程
- 局限性:需要解析专有数据格式,任务构造复杂
5. DeepCAD Dataset (by Siemens)
- 发布时间:2022
- 数据量:约 6,000 个STEP模型
- 数据格式:.step + parsed graph
- 任务支持:零件结构理解、几何图学习、参数提取
- 特点:
- 每个模型带有参数树(包括尺寸、草图、拓扑操作)
- 用于图神经网络、参数建模研究
- 局限性:数据规模仍偏小,缺少语义标签
6. PartNet & PartNet-Mobility
- 发布时间:2019(PartNet)和2020(Mobility)
- 数据量:
- PartNet:26,671 个模型(ShapeNet子集),包含细粒度部件标签
- PartNet-Mobility:2,000+ 可动部件模型(含运动类型与约束)
- 任务支持:语义分割、结构理解、运动建模
- 特点:
- 层级结构标注(如椅子 → 座椅 → 垫子)
- 提供运动结构信息(Mobility)
- 局限性:为静态网格模型(非原始CAD),面向认知建模场景多于工程场景
7. SolidGen Dataset (by Nvidia)
- 发布时间:2023
- 数据量:50,000+ CAD程序(基于Constructive Solid Geometry)
- 数据格式:CSG程序 + 结果网格 + 参数
- 任务支持:程序生成、CSG推理、建模流程学习
- 特点:
- 用CSG表达模型构造逻辑(如union、difference等)
- 支持从网格逆推CSG程序
- 局限性:相较实际工业建模工具(如Fusion)仍简化
8. SMCAD (Semantic Mechanical CAD)
- 发布时间:2022
- 数据量:约 10,000 个机械零件
- 数据格式:STEP、mesh + 语义标签(齿轮、螺栓等)
- 任务支持:零件识别、语义分割、检索
- 特点:
- 面向机械领域,提供真实语义类别
- 精确建模格式,可用于图神经网络建模
- 局限性:数据量中等,类别集中于常见机械构件
数据集对比表格
| 数据集名称 | 模型数量 | 数据格式 | 是否含B-rep/参数 | 支持任务 | 是否含语义标签 |
|---|---|---|---|---|---|
| ShapeNet | ~50k | .obj/.off | 否 | 分类、分割、生成 | 是 |
| ModelNet | ~12k | .off | 否 | 分类、检索 | 否 |
| ABC | ~1M | .step/.brep | 是 | 重建、特征提取 | 否 |
| Fusion360 Gallery | ~58k | JSON/B-rep | 是 | 操作建模预测 | 部分 |
| DeepCAD | ~6k | STEP + graph | 是 | 几何图、参数学习 | 否 |
| PartNet | ~26k | mesh | 否 | 分割、结构建模 | 是 |
| PartNet-Mobility | ~2k | mesh + 运动信息 | 否 | 动作建模 | 是 |
| SolidGen | ~50k | CSG程序 + 网格 | 是 | 程序生成 | 否 |
| SMCAD | ~10k | STEP + mesh | 是 | 分类、语义建模 | 是 |
总结与建议
- 通用识别任务:推荐使用 ShapeNet, ModelNet, 和 PartNet
- 工程建模/参数提取任务:推荐使用 ABC, Fusion 360, DeepCAD
- 程序生成/逆向建模:推荐使用 SolidGen, Fusion 360 Gallery
- 机械领域识别与分类:推荐使用 SMCAD