DreamCAD: Scaling Multi-modal CAD Generation using Differentiable Parametric Surfaces¶
会议: ECCV2026
论文: ECCV 原文
领域: 3D 视觉
关键词: CAD 生成、有理 Bézier 曲面、可微网格化、流匹配、几何连续性
一句话总结¶
DreamCAD 用共享边界的可微参数曲面承接大规模网格的点级监督,再以粗到细流匹配支持图像、点云和经图像中转的文本条件生成,在 ABC 点云到 CAD 任务上将 Cadrille 的 CD 从 2.98 降至 0.93(表中数值均为原始 CD 乘 \(10^3\)),但完整 CAD 拓扑仍需额外恢复。
研究背景与动机¶
CAD 模型不仅要“看起来像”一个物体,还需要可以精确求值、编辑和连接的曲面,以及面、边、顶点之间的拓扑关系。 三角网格适合渲染,却不会自动告诉工程软件哪些区域属于同一个面、哪些曲线构成修剪边界。 已有 DeepCAD、Text2CAD 等方法把建模历史写成草图与拉伸序列,因此能够输出有明确操作含义的结构。 问题是这种监督需要设计历史,训练数据有限,而且复杂自由曲面不一定能由少量草图与拉伸表达。
另一类方法直接预测 BRep 的 UV 网格或拓扑图,减少了对特定建模步骤的依赖,却仍然需要昂贵的面级或拓扑标注。 相邻面独立生成还可能留下接缝,后处理必须同时处理几何拟合和拓扑合法性。 相比之下,大量公开三维模型只有网格,但其表面已经包含足够丰富的几何监督。 真正的障碍不是缺少三维形状,而是缺少一种既能从网格学习、又能保留 CAD 参数曲面形式的中间表示。
DreamCAD 因此把“学习可泛化的几何”与“恢复完整 CAD 拓扑”分开处理,首先解决前者。 它把体素外表面的四边形变成相互连接的有理 Bézier 曲面,让曲面上的采样点直接接受网格监督。 文本条件则借助带几何元数据的 CAD 描述和图像生成模型获得视觉落点,而不是直接把语言变成全部曲面参数。 核心 idea:先用结构上连续、可以反向传播的参数曲面打通网格数据到 CAD 几何的学习通路,再在这个几何空间中进行多模态生成,而不把离散拓扑预测强行塞进同一个训练目标。
方法详解¶
整体框架¶
训练时,DreamCAD 用网格构建稀疏体素特征,训练一个输出参数曲面的变分自编码器(VAE)。 随后训练两个条件流模型,依次生成粗体素结构和每个活跃体素的结构化潜变量(SLAT),再调用预训练曲面解码器生成几何。 图像和点云可以直接提供条件;文本先由经过 CAD 数据微调的图像模型转换成图像,再进入图像到 CAD 路径。 下图实线表示生成时的数据流,虚线表示训练所需的数据或监督,不能把网格监督误当成生成时额外给定的真值。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Text["文本"] --> Visual["元数据视觉桥接"]
Captions["四视图与 CAD 元数据"] -.->|训练| Visual
Visual -->|生成图像| Coarse["粗到细结构化生成"]
Inputs["图像或点云"] --> Coarse
Mesh["训练网格"] -.->|体素编码与潜空间学习| Coarse
Coarse -->|活跃体素与 SLAT| Surface["共享边界曲面解码"]
Mesh -.->|表面点监督| Surface
Surface --> Output["连续参数曲面"]
这里的输出是控制点与权重定义的曲面集合,不是天然包含语义面划分、修剪关系和完整拓扑的 STEP 实体。 论文另做了语言模型恢复拓扑的可行性实验,但它不属于上述几何生成主干的必经步骤。
关键设计¶
1. 元数据视觉桥接:先把语言约束落到可观察的几何上
CAD 文本往往包含孔数、齿数和相对尺寸,这些约束比一般物体类别名称更具体。 若直接用文本预测三维结构,模型必须同时解决语义理解、空间布局和曲面参数生成,作者观察到收敛慢且提示词保真度不足。 为此,CADCap-1M 从 ABC、Automate、CADParser、Fusion360、ModelNet 和 3D-Future 收集模型,提供超过 1M 条 CAD 描述。 每个模型渲染四个正交视图,并向 GPT-5 提供可用的模型名称、孔数和长宽高比例。 模型名称可从 STEP 文件提取,孔数使用已有方法计算;这些辅助信息不是由描述模型凭图像自行猜测。 它们的作用是把“一个圆盘”约束为有特定孔洞布局、部件名称和尺寸比例的几何对象。
作者随后在这些描述数据上微调 Stable Diffusion 3.5-2B,使生成图像接近图像到 CAD 模型的训练分布。 推理时先生成图像,再用预训练的图像到 CAD 模型得到参数曲面,而不是运行一个独立的端到端文本到 BRep 解码器。 这个选择复用了图像模型中的视觉先验,也把三维模型收到的条件变成更明确的空间信号。 不过,图像仍是信息瓶颈:文字中的孔数若在这一步生成错误,下游几何模型不一定能恢复原约束。 CADCap-1M 的四视图描述流程与 VAE 的 150 视图特征提取用途不同,不能混成同一套输入要求。 前者是文本数据构建,后者只服务于训练形状的潜空间表示;用户无需提供 150 张图像。
2. 粗到细结构化生成:先确定形状占据,再补局部几何
形状 VAE 首先把训练网格体素化为 \(32^3\) 分辨率的稀疏网格,只为活跃体素保留特征。 作者为网格渲染 150 个 RGB 与法线视图,提取 DINOv2 特征并投影到各体素中心,再跨视图平均。 特征中还包含逐视图法线、体素中心坐标和有符号距离值,原文报告最终特征维度为 2502。 这些信息让编码器同时看到局部外观、表面朝向以及体素与真实表面的距离,而不只看到一个占据标记。 稀疏 Transformer 编码器把它们压缩成附着于体素位置的潜变量,每个体素的潜变量维度为 8。 这一步建立了可学习的几何表示:粗位置负责空间组织,局部潜变量负责修正体素外壳无法表达的细节。
在条件生成时,第一个 Flow Transformer 产生低分辨率体素潜结构,并由轻量体素 VAE 的预训练解码器上采样到体素网格。 第二个 Flow Transformer 根据已生成的体素和输入条件,为每个活跃体素生成 SLAT 特征。 两者采用流匹配训练,因此不是一次性回归所有控制点,而是学习从先验样本到目标表示的连续生成轨迹。 图像条件由预训练 DINOv2 编码,点云条件由与流模型联合训练的 PointNet++ 编码。 最后,预训练参数曲面解码器接收体素位置与 SLAT,生成可求值的曲面。 这也解释了粗结构错误为何会传播:如果孔洞或细长部件在体素阶段没有正确定位,后面的局部曲面细化不能保证修复全局结构。
3. 共享边界曲面解码:把接缝一致性做成结构约束
每个双三次有理 Bézier 曲面由一个 \(4\times4\) 控制点网格和对应的 16 个权重决定。 曲面在二维参数域中通过 Bernstein 基函数求值,控制点改变位置,权重改变各控制点对曲面形状的影响。 若每个曲面完全独立预测,即使采样点距离很小,相邻面也可能出现裂缝或重叠。 DreamCAD 先对稀疏体素执行洪泛填充(flood-fill),去除内部四边形,只保留外部表面。 每个外部四边形通过四个角点的双线性插值初始化控制点,初始权重全部设为 1。 相邻曲面共享边界控制点,而不是把两个几乎重合但彼此独立的边界交给损失函数去对齐。
解码器预测每个控制点的位移和权重更新,并用有界位移与正权重约束降低训练早期的退化风险。 下面只保留第 4.1 节文字中清楚给出的局部更新关系;\(c\) 为初始控制点,\(d\) 和 \(\widehat w\) 为预测值。
对共享边界,作者平均所有相关曲面的位移与权重更新,使它们使用一致的边界位置和权重。 对于有理曲面,共享位置之外还要协调权重,否则“控制点重合”本身不足以保证相同的边界曲线。 随后在每片曲面的参数域内均匀采样网格,将网格单元切成三角形,并合并相邻曲面的公共边界。 曲面求值对控制点和权重可微,因此采样点上的几何损失可以沿这条路径更新参数。 \(C^0\) 连续性解决的是接缝位置一致,不等于切向光滑,也不等于全局无自交或完整 CAD 拓扑有效。 论文另加 \(G^1\) 切向连续性与 Laplacian 平滑正则,缓解只追求点距离时出现的粗糙表面和尖刺。
一个完整示例¶
以论文图 5 中“中心凹陷、周围有八个圆孔的圆柱形轮毂”为例,可以串起文本生成的各个阶段。 这只是按论文示例解释路径,并非新增实验,也不声称每次采样都能精确生成八孔。 文本先经过微调后的图像模型,形成具有圆柱轮廓与孔洞布局的图像条件。 粗流模型据此生成体素结构,细流模型补充各活跃体素的局部几何潜变量。 曲面解码器把体素外壳初始化为共享边界的曲面,再用控制点位移与权重调整逼近圆柱、凹陷和孔壁。 若需要完整 CAD 文件,还必须另接拓扑恢复流程;仅得到这些连续曲面不能直接证明已恢复设计意图。
损失函数 / 训练策略¶
VAE 的训练目标包含表面采样点与目标点云间的 Chamfer 距离、\(G^1\) 正则、网格 Laplacian 平滑以及潜变量 KL 正则。 全文缓存中的式 (1)、(4)、(5) 有排版抽取缺损,因此不把缺失的运算符或张量维度猜补成作者的精确公式。 原文明确给出 \(\lambda_{cd}=10^2\)、\(\lambda_{g1}=5\times10^{-3}\)、\(\lambda_{lp}=1\);正文未在该处列出 KL 权重。 两级生成模型使用式中清晰可辨的流匹配目标,其中 \(x_0\) 是先验样本,\(x_1\) 是目标表示,\(x_t\) 是中间状态。
VAE 的编码器和解码器各有 8 层 Transformer,以 batch size 32 训练 700k 步,作者报告约耗时 3 周。 优化器为 AdamW,学习率 \(5\times10^{-5}\),权重衰减 \(10^{-4}\);该时间不能在缺少硬件配置时直接换算为通用训练成本。 训练过程中,CD 采样点数按 sigmoid 调度从 16K 增至 100K,曲面网格化分辨率从 \(4\times4\) 增至 \(16\times16\)。 两个流模型各训练 500k 步,条件丢弃率为 10%;推理采用 50 步,classifier-free guidance scale 为 7.5。 文本到图像部分使用 LoRA,rank 和 alpha 均为 4,训练 300k 步。 点云归一化到 \([-0.5,0.5]\),50% 的训练 batch 加入表面法线;图像训练每轮从四个正交视图随机取一个。 作者报告图像和点云到 CAD 约需 15 秒,文本到 CAD 约需 30 秒,这些是论文设置下的时间而非统一硬件基准。
实验关键数据¶
主实验¶
表 1 汇总的 VAE 训练集包含来自 10 个公开数据集的 1,306,409 个网格,不能与 CADCap-1M 的描述规模直接画等号。 主评测使用 ABC 与 Objaverse 各 15K 个样本;Objaverse 通过描述中的 CAD 关键词过滤,是有筛选条件的分布外测试。 几何指标使用归一化到原点中心单位立方体的形状,均匀采样 8192 个点。 GPT-5 偏好评测使用 5k 个样本,14 名 CAD 专家的用户评测使用 1k 个样本,均从各方法的多视图结果中选择最匹配输入者。 因此 User 是该候选集合内的选择比例,不是 CAD 合法率,也不是每个结果独立获得的正确率。
下表摘录原文表 2(第 11 页);CD 列显示原始距离乘 \(10^3\),越低越好,User 为百分比,越高越好。
| 任务 | 模型 | ABC CD | Objaverse CD | ABC User (%) | Objaverse User (%) |
|---|---|---|---|---|---|
| 点云到 CAD | CAD-Recode | 3.73 | 7.92 | 不适用 | 不适用 |
| 点云到 CAD | Cadrille | 2.98 | 6.28 | 不适用 | 不适用 |
| 点云到 CAD | DreamCAD | 0.93 | 1.25 | 不适用 | 不适用 |
| 图像到 CAD | BRepDiff | 20.69 | 57.51 | 17.63 | 16.63 |
| 图像到 CAD | DreamCAD | 4.12 | 20.16 | 77.03 | 82.92 |
| 文本到 CAD | NURBGen | 50.84 | 73.54 | 4.44 | 7.28 |
| 文本到 CAD | BRepDiff | 54.12 | 74.32 | 3.20 | 6.41 |
| 文本到 CAD | DreamCAD | 20.32 | 34.61 | 85.40 | 83.48 |
表 2 的 ABC 点云到 CAD F1 为 DreamCAD 92.12、Cadrille 78.86,均按原文乘 \(10^2\) 展示;法线一致性分别为 0.94 与 0.80。 文本基线 BRepDiff 使用与 DreamCAD 相同的微调图像模型输出,因此差异不完全来自文本到图像前端。 但主实验的训练数据量并不对齐,不能把全部增益归因于曲面表示;论文指出补充材料另有 DeepCAD 数据集实验,本任务未提供该补充材料。
消融实验¶
原文表 3a(第 12 页)在 300K 样本上从头训练 VAE,并用 15K 个 ABC 测试形状评估,研究的是重建正则而非条件生成。 CD 与 Lap 列保留原表乘 \(10^3\) 的展示尺度,HD 保留原尺度,三项均越低越好。
| 正则配置 | CD | Lap | HD |
|---|---|---|---|
| 无正则 | 0.0210 | 0.0073 | 0.020 |
| 仅 G1 | 0.0230 | 0.0064 | 0.022 |
| 仅 Laplacian | 0.0225 | 0.0022 | 0.022 |
| G1 + Laplacian | 0.0259 | 0.0020 | 0.024 |
联合正则使 Lap 从 0.0073 降至 0.0020,但 CD 从 0.0210 升至 0.0259,说明更光滑的表面并非单纯依靠更低的点距离获得。 原文表 3b(第 12 页)的分辨率分析没有重新训练四套 VAE,而是对 1000 个训练网格分别优化 2000 轮,学习率为 \(10^{-4}\)。 下表中的 patch 数为平均值,CD 同样保留原表乘 \(10^3\) 的展示尺度,不能与表 3a 或主任务直接比较绝对大小。
| 体素网格边长 | 平均 patch 数 | CD |
|---|---|---|
| 24 | 1434.32 | 0.0231 |
| 32 | 2546.18 | 0.011 |
| 48 | 7720.48 | 0.0109 |
| 64 | 10179.34 | 0.0105 |
从 32 提高到 64,平均曲面数接近四倍,而 CD 只从 0.011 降到 0.0105,支持采用较粗体素定位、再靠参数曲面表达细节。 表 4b(第 14 页)还显示,对粗体素施加标准差 \(10^{-2}\) 的噪声会使 ABC 点云到 CAD 的 CD 从 0.93 升至 4.51,均为原始值乘 \(10^3\)。 这支持“粗结构准确性很重要”,但噪声扰动并不等同于移除粗阶段重新训练,不能视为所有替代架构的直接对照。
关键发现¶
- 图像到 CAD 在 ABC 上的用户偏好为 77.03%,文本到 CAD 为 85.40%;这两个任务的候选基线集合不同,不宜直接比较难度。
- 描述质量评估中,用户判断正确的比例为 95.8%,GPT-5 为 98.31%(第 13 页);它们是抽样判断,不能保证全部描述的孔数都正确。
- 图 7 对应实验中,1000 个样本的元数据增强描述获 80.3% 用户偏好;500 张图像的微调对照中,微调图像获 75.6% 偏好。
- 拓扑恢复可行性实验使用 50K 样本微调 Qwen3-4B,再在三种任务各 200、共 600 个样本上测试,报告 99.2% 有效 CAD 与 \(\mathrm{CD}=0.17\times10^{-3}\)(第 14–15 页,第 5.4 节)。
- 数值核对:正文称 ABC 文本到 CAD 相对 NURBGen 的 CD 降低 62%,但表 2 的 50.84 到 20.32 对应约 60.0%;本文保留表值,不把正文百分比改写成已验证事实。
亮点与洞察¶
- 最有价值的是改变监督接口:训练样本不必带设计历史或完整 BRep,只要能采样网格表面,就能约束参数曲面。这使既有三维数据可用于 CAD 几何学习。
- 接缝连续性来自共享变量,而不是期待 Chamfer 距离偶然学会相邻曲面对齐。该思路适合其他由局部参数片组成的几何表示。
- 粗体素与精细曲面承担不同职责:前者确定空间组织,后者用少量可编辑参数恢复形状。分辨率实验说明,增加离散网格密度不一定是改善细节最经济的方式。
- 读者启发:对带孔数或尺寸约束的 CAD 生成,可在图像中间结果与最终几何之间增加显式约束检查。这是可延伸方向,不是论文已经实现的闭环机制。
局限与展望¶
- 作者明确承认主模型缺少完整 CAD 拓扑。额外语言模型的 600 样本实验支持可行性,但不能证明所有开放词汇形状都能成为生产可用实体。
- \(C^0\) 保证不能替代全局自交检测、语义面合并或工程可制造性验证;\(G^1\) 和 Laplacian 则是软正则,也不是所有边界的光滑性证书。
- 训练数据规模与基线不同,Objaverse 也经过 CAD 关键词筛选。结果支持该设置下的泛化,尚不足以覆盖任意自然形状或公平隔离架构贡献。
- CADCap-1M 的生成与部分自动评测都使用 GPT-5,虽然另有专家评估,仍可能存在共享模型偏好;未见独立几何程序验证全部描述的证据。
- 当前缓存包含主文但未提供补充材料,部分公式抽取损坏;本文不补写缺失的 KL 权重、未明确的 F1 阈值或拓扑有效性判定细则。
相关工作与启发¶
- 对比 DeepCAD / Text2CAD:前者强调建模操作序列,DreamCAD 强调可扩展的参数几何学习;代价是不能从几何输出直接获得原始设计历史。
- 对比 BRepGen / BRepDiff:UV 或 BRep 生成依赖相应标注及转换处理,DreamCAD 用共享边界曲面直接接受点监督,但把完整拓扑留到后续阶段。
- 对比 NURBGen:NURBGen 使用符号 NURBS 序列,DreamCAD 先获得视觉对齐的几何,再借类似序列表示尝试拓扑恢复;两者在这个后处理阶段具有互补性。
- 对结构化三维生成的启发:SLAT 提供空间组织,解析曲面提供 CAD 可编辑参数;可微中间表示的选择,决定了哪些没有专业标注的数据能够进入训练。
评分¶
以下为阅读者判断,采用 5 分制,不是论文报告的实验指标。
- 新颖性: 4/5。把共享边界曲面、点级监督与多模态生成连成可扩展流程,核心价值在表示与训练接口。
- 实验充分度: 4/5。覆盖三种条件、分布外评测和多类消融,但训练数据差异与小规模拓扑评测限制结论范围。
- 写作质量: 4/5。主线清楚,区分了几何与拓扑目标;部分正文降幅与表格不一致,需要按原表核对。
- 价值: 4/5。为利用大量网格训练可编辑 CAD 几何提供了路径,距离可靠的完整工程实体生成仍有关键步骤。