https://arxiv.org/pdf/2504.04753
CADCrafter: Generating Computer-Aided Design Models from Unconstrained Images
摘要
CADCrafter 是一种从非约束图像生成计算机辅助设计(CAD)模型的方法。该方法通过仅使用合成的无纹理 CAD 数据进行训练,但在真实世界图像上进行测试,从而解决了实际世界 CAD 数据稀缺的问题。为了弥合图像和参数化 CAD 模型之间的显著表示差异,我们引入了几何编码器以准确捕获多样化的几何特征。此外,由于将 CAD 参数序列编译为显式 CAD 模型是一个不可微分的过程,我们采用直接偏好优化(Direct Preference Optimization, DPO)来利用 CAD 序列质量的自动代码检查器反馈微调模型。我们还收集了一个真实世界的数据集,包含多视图图像和相应的 CAD 命令序列对,用于评估我们的方法。实验结果表明,我们的方法能够稳健地处理真实非约束 CAD 图像,并且能够泛化到未见过的一般对象。
1. 引言
1.1 背景
计算机辅助设计(CAD)提供了创建形状和机制的基本机械组件,这些组件在所有制造和设计应用中都是必不可少的。参数化 CAD 命令序列能够精确控制形状,并便于将来对尺寸和比例进行修改。然而,手动创建 CAD 命令序列既繁琐又耗时,这促使了逆向工程研究的发展,以从现有的 CAD 模型中恢复 CAD 设计过程。
1.2 现有方法的局限性
当前的研究主要集中在从 3D 表示(如 B-Reps、点云和体素)重建 CAD 命令序列。这些形式通常来自合成数字数据或通过昂贵的 3D 传感器获得的高质量 3D 重建。这种对复杂数据和昂贵技术的依赖限制了这些方法在实际日常应用中的可行性。
1.3 我们的方法
我们提出了一种直接从图像生成可编辑 CAD 命令序列的方法。然而,这项任务特别困难,因为 CAD 命令由离散的几何操作和连续参数混合组成,而图像捕获的是具有有限空间信息的原始外观。此外,非约束图像经常表现出相机姿态、光照条件和噪声的变化,以及对象的各种材料和纹理。
1.4 贡献
我们的贡献包括:
- 提出 CADCrafter,一种基于潜在扩散的框架,利用几何特征弥合合成训练数据和真实测试数据之间的域差距。
- 引入自动代码检查器,通过直接偏好优化(DPO)微调我们的扩散模型,从而提高准确性并减少无效输出。
- 我们的方法支持单视图和多视图输入,并引入了一个包含 3D 打印 CAD 图像和 CAD 命令的数据集,展示了模型的鲁棒性和泛化能力。
2. 相关工作
2.1 CAD 生成模型
大多数现有的 CAD 生成研究集中在无条件生成或基于完整 3D 信息的条件生成,例如点云、草图、B-Reps 和体素网格。例如,DeepCAD 利用自编码器对 CAD 模型进行编码,并使用 GAN 进行无条件生成。然而,这些模型通常在无噪声的合成数据上进行训练和测试。
2.2 3D 生成模型
随着大规模模型训练的兴起,最近的 3D 生成模型取得了显著进展。大多数现有方法以离散形式生成 3D 形状,例如隐式神经场、点云和网格。然而,这些生成的形状通常缺乏锐利的几何特征,且无法直接由用户编辑。
3. 方法
3.1 CAD 命令序列编码
我们关注两种常用类别:草图和拉伸,这些类别提供了足够的表达能力。我们采用命令 {⟨SOL⟩, L, A, R}(开始、线、弧和圆)来绘制形成封闭 2D 区域的曲线,然后使用拉伸命令 E 将每个 2D 轮廓提升为 3D 实体。每个离散命令由其独特的连续参数定义,这些参数决定了大小、位置、比例和类型。
3.2 几何条件编码器
CAD 命令是基于几何结构的精确操作,因此从输入图像中探索更多的几何信息非常重要。我们提取深度和表面法线图,并使用预训练的 DIN