跳转至

MiCADangelo: Fine-Grained Reconstruction of Constrained CAD Models from 3D Scans

会议: NeurIPS 2025
arXiv: 2510.23429
代码: 无
领域: 3D 视觉 / CAD 逆向工程 / 参数化重建
关键词: CAD 逆向工程, 草图约束, 截面切片, 可微拉伸优化, 参数化建模

一句话总结

MiCADangelo 模拟人类 CAD 设计师的逆向工程流程,通过多平面截面分析提取 2D 模式,预测带约束的参数化草图并优化拉伸参数,首次在 3D CAD 逆向工程中实现了包含草图约束的完整参数化模型重建。

研究背景与动机

CAD 逆向工程——将 3D 扫描(网格)转换为参数化 CAD 模型——是制造和产品开发中的关键步骤。现有深度学习方法分为两类,各有明显不足:

自底向上方法(如 Point2Cyl):从几何出发预测各个拉伸体,能保留局部细节,但输出不完全参数化,无法无缝集成到 CAD 软件中

自顶向下方法(如 CAD-SIGNet):直接从点云预测草图-拉伸序列参数,输出完全参数化,但常被大尺度结构主导,丢失细粒度几何细节

更关键的是,现有方法完全忽略了草图约束(如平行、垂直、相切等),而约束是 CAD 建模的核心——它决定了模型在修改时如何保持设计意图。

作者观察到人类设计师的逆向工程工作流:提取 2D 截面 → 用参数曲线重建轮廓并施加约束 → 拉伸成 3D 实体。MiCADangelo 正是自动化了这一过程。

方法详解

整体框架

给定输入 3D 网格 \(\mathbf{M}\),MiCADangelo 依次执行三个阶段: 1. 草图平面检测:沿 x/y/z 轴均匀采样截面平面,识别关键截面 2. 约束草图参数化:对关键截面中的闭合环路预测参数化草图原语和约束 3. 可微拉伸优化:对每个草图优化拉伸参数以最佳拟合输入网格

关键设计

  1. 草图平面检测网络:沿三个轴各采样 \(N\) 个等间距平面(默认每轴 40 个),得到截面切片 \(\{\mathcal{S}_i\}_{i=1}^N\)。每个切片被投影为二值图像 \(\mathbf{X}_i \in \{0,1\}^{128 \times 128}\),通过 ResNet34 编码器提取特征,再添加三种上下文嵌入(位置索引、轴标识、归一化参数),送入 4 层 4 头 Transformer 编码器进行全局交互。最终用二元分类器预测每个切片是否为关键草图平面。

  2. 约束草图参数化网络:关键截面中的每个闭合环路被渲染为二值图像,经 ResNet34 编码后送入 Transformer 编码器-解码器,预测 \(n_p\) 个草图原语的嵌入。然后分两个头:

    • 参数化头:预测原语类型(线段/圆/弧)及其几何参数(起终点、中心、半径等)
    • 约束预测头:预测原语间的 13 种约束类型(重合、同心、相等、水平、垂直、平行、垂直、相切等)

在量化空间中操作,先在 SketchGraphs 数据集上训练,再在合成噪声闭合环路图像上微调。

  1. 可微拉伸优化:对每个草图 \(\mathcal{K}_j\),沿环路边界采样锚点 \(\{\mathbf{r}_k\}\),共享可学习拉伸长度 \(h_j\),生成拉伸向量 \(\rho_k = \mathbf{r}_k + h_j \mathbf{v}_j\)。在网格上采样点 \(\mathcal{Q}\),最小化点到最近拉伸向量的距离: \(\mathcal{L}_{extr} = \frac{1}{n_M} \sum_{l=1}^{n_M} d(\mathbf{q}_l, \rho_{min})^2 + \lambda \sum_{i,j} h_j^2\) 拉伸类型(新建/切割)由环路的嵌套层级决定(最外层为新建,交替切换)。

损失函数 / 训练策略

  • 草图平面检测:二元交叉熵损失,在 DeepCAD 训练集上训练 20 epochs,学习率 \(10^{-4}\)
  • 草图参数化:在 SketchGraphs 上预训练,再在合成噪声闭合环路上微调 50 epochs
  • 拉伸优化:200 次梯度下降迭代,学习率 \(2 \times 10^{-4}\)
  • 两个网络共享 ResNet34 编码器,编码器先随参数化网络训练,在平面检测训练时微调
  • 优化器:AdamW

实验关键数据

主实验 (DeepCAD & Fusion360)

方法 DeepCAD CD↓ DeepCAD IoU↑ DeepCAD IR↓ DeepCAD ECD↓ Fusion360 CD↓ Fusion360 IoU↑ Fusion360 IR↓ Fusion360 ECD↓
DeepCAD 9.64 46.7 7.1 89.2 39.9 25.2
Point2Cyl 4.27 73.8 3.9 4.18 67.5 3.2
CAD-Diffuser 3.02 74.3 1.5 3.85 63.2 1.7
CAD-SIGNet 0.28 77.6 0.9 0.74 0.56 65.6 1.6 4.14
MiCADangelo 0.20 80.6 2.6 0.46 0.48 68.7 3.2 2.66

复杂模型和约束鲁棒性

测试场景 方法 CD↓ IoU↑ IR↓ ECD↓
≥4 环路模型 CAD-SIGNet 1.34 49.2 3.2 4.75
≥4 环路模型 MiCADangelo 0.37 68.3 4.1 2.04
>2 拉伸模型 CAD-SIGNet 3.95 40.6 5.4 9.81
>2 拉伸模型 MiCADangelo 0.46 64.8 3.0 2.27
约束变形鲁棒性 CAD-SIGNet 2.89 57.4 3.5 20.43
约束变形鲁棒性 MiCADangelo 0.38 81.1 4.3 1.29
CC3D 真实扫描 CAD-SIGNet 2.90 42.6 4.4 8.68
CC3D 真实扫描 MiCADangelo 1.69 50.8 2.2 5.93

消融实验

实验 关键结果 说明
上下文嵌入 for 平面检测 F1: 0.296→0.870 位置/轴/归一化嵌入极为关键
跨数据集平面检测 DeepCAD F1=0.870, Fusion360=0.820, CC3D=0.777 泛化性良好
草图参数化 (SCD) Davinci: 0.827, MiCADangelo: 0.283 得益于噪声闭合环路微调
拉伸向量数量 8 个向量时性能趋于饱和 推理时间影响极小

关键发现

  1. 在核心指标上全面超越 SOTA:MiCADangelo 在 DeepCAD 上的中位 CD 为 0.20(vs CAD-SIGNet 的 0.28),IoU 达 80.6%(vs 77.6%)
  2. 复杂模型优势更显著:在含 4+ 环路模型上 IoU 提升 19.1 个百分点(68.3 vs 49.2),在多拉伸模型上提升 24.2 个百分点
  3. 约束的核心价值:有约束的模型在草图修改后仍能保持结构一致性(ECD 1.29 vs 20.43),证明约束对可编辑性至关重要
  4. 真实扫描鲁棒性:在 CC3D 真实世界扫描上同样优于 CAD-SIGNet,IoU 提升 8.2 个百分点

亮点与洞察

  • 仿人设计流程:不追求端到端的黑箱重建,而是模拟人类 CAD 设计师的截面分析→草图重建→拉伸的工作流,兼顾了细粒度精度和完整参数化
  • 首次将草图约束引入 3D CAD 逆向工程:约束不仅提升了可编辑性,还隐式地限制了解空间,有助于更准确的几何重建
  • 截面视角的巧妙利用:通过 2D 截面提取几何信息,将复杂的 3D 问题转化为多个 2D 图像理解问题
  • 可微拉伸优化:将拉伸参数的推断转化为连续优化问题,避免了离散搜索的困难

局限与展望

  • 仅支持拉伸操作(与前作一致),不支持旋转、扫掠等更复杂的 CAD 操作
  • 拉伸方向基于草图平面法线,对非轴对齐拉伸的模型效果受限
  • 不支持 B 样条等复杂草图原语
  • IR(无效率)指标略高于 CAD-SIGNet,因后者可通过测试时采样多个候选取最优
  • 平面检测依赖均匀采样(每轴 40 个),可能遗漏非轴对齐的关键截面

相关工作与启发

  • 对比 CAD-SIGNet (自顶向下) 和 Point2Cyl (自底向上),MiCADangelo 兼取两者之长
  • 草图约束预测建立在 Davinci (2D 草图参数化) 的基础上,并通过噪声微调提升了鲁棒性
  • 利用 SketchGraphs 数据集弥补了 DeepCAD 和 Fusion360 中缺少约束标注的问题
  • 启发:将复杂的 3D 重建任务分解为多个 2D 子问题,降低了学习难度,也使各模块可独立优化

评分

  • 新颖性: ⭐⭐⭐⭐⭐ (首次实现带约束的 CAD 逆向工程,截面分析思路新颖)
  • 实验充分度: ⭐⭐⭐⭐⭐ (多数据集、多场景、约束鲁棒性、真实扫描、全面消融)
  • 写作质量: ⭐⭐⭐⭐⭐ (结构清晰、形式化定义严谨、与人类流程对比直观)
  • 价值: ⭐⭐⭐⭐⭐ (对 CAD 逆向工程领域有突破性贡献)

相关论文