引言: AI 艺术与工程之间的鸿沟

在过去几年里,生成式 AI 彻底改变了我们将创意可视化的方式。像 Midjourney 或 Stable Diffusion 这样的工具可以根据文本提示变出照片般逼真的场景,而近期在 3D 生成领域的突破——如 DreamFusion 或 Wonder3D——更是能将单张 2D 图像转化为可旋转的 3D 资产。

然而,如果你是一名工程师、产品设计师或游戏开发者,你可能会面临一个令人沮丧的现实: 生成的 3D 网格通常无法用于制造。

大多数 3D 生成模型产生的是“密集网格 (dense meshes) ”——由成千上万个微小的、无结构的三角形组成的表面。虽然远看它们可能像是一个机械零件,但它们缺乏计算机辅助设计 (CAD) 所需的数学精度。它们是“软塌塌的”。它们没有绝对平整的平面、真正的圆柱体,也没有锋利、闭合良好的边缘。你无法轻易将它们导入 SolidWorks 或 Fusion360 来修改特定的孔径或延长法兰。

这正是这篇题为 CADDreamer: CAD Object Generation from Single-view Images 的新论文所要解决的问题。研究人员提出了一种新颖的流程,可以从单张机械物体的图像中重建出数学上精确的 边界表示 (B-rep) 模型。

Figure 1. A gallery of reconstructed CAD models. The left column shows input images, the middle shows reconstructed shapes, and the right shows the topological wireframes.

如图 1 所示,该系统不仅仅是生成一个外形相似的团块;它能识别底层的几何结构——螺母、螺栓、支架——并将它们重建为可编辑的图元 (primitives) 。在这篇文章中,我们将拆解 CADDreamer 的架构,了解它如何弥合基于扩散模型的创造力与工程精度之间的差距。

背景: 为什么这很难?

要理解这里的创新点,我们需要明白 网格 (Mesh)B-rep 之间的区别。

  1. 三角形网格 (Triangle Mesh) : 这是大多数 3D 扫描仪和当前 AI 模型生成的产物。它通过拼接成千上万个微小的多边形来构建形状。它只是对曲线的近似。
  2. 边界表示 (Boundary Representation, B-rep) : 这是 CAD 的标准。形状由数学曲面 (如平面、圆柱体、圆锥体等图元) 定义,这些曲面通过相交的曲线进行“修剪 (trimmed) ”。

将单张 2D 图像直接转换为 B-rep 是出了名的困难。单张图像存在遮挡 (隐藏部分) 且缺乏深度信息。虽然扩散模型擅长“幻构”缺失的 3D 结构,但它们会引入噪声。生成的圆柱体可能会稍微被压扁,或者两个平行板可能会稍微歪斜。

在网格中,稍微歪斜的板只是一个视觉瑕疵。但在 B-rep 中,这是灾难性的失败。如果数学计算不能完美对齐,模型就不是“水密 (watertight) ”的,这意味着它有破洞且无法制造。CADDreamer 通过结合扩散模型的创造力和严格的几何优化算法解决了这个问题。

CADDreamer 流程

CADDreamer 框架分为两个独特的模块:

  1. 多视图生成 (Multi-view Generation) : 使用 AI 构想出 3D 形状并识别各个部分。
  2. 几何与拓扑提取 (Geometric & Topological Extraction) : 使用算法清理噪声并将各部分缝合成一个实体的 CAD 模型。

Figure 2. The pipeline of CADDreamer. Module 1 handles generation and segmentation, while Module 2 handles optimization and B-rep construction.

模块 1: 语义增强的多视图生成

第一个挑战是从单张 2D 照片中获取 3D 表示。研究人员使用了一种称为 跨域多视图扩散 (cross-domain multi-view diffusion) 的技术。

大多数图像转 3D 的模型试图从不同角度预测物体的颜色 (纹理) 和表面法线 (方向) 。CADDreamer 做得更聪明。它认识到纹理往往会妨碍对几何形状的理解。一个带有反射的闪亮金属表面可能会混淆 AI 对物体实际形状的判断。

相反,CADDreamer 首先将输入图像转换为 法线贴图 (Normal Map) 。 然后,它使用微调过的 Wonder3D (一种最先进的扩散模型) 版本,在多个视图中同时预测两件事:

  1. 多视图法线贴图: 物体的几何形状。
  2. 语义图元贴图 (Semantic Primitive Maps) : 一种颜色编码图,其中的颜色告诉我们特定区域是什么形状。例如,红色可能代表平面,而绿色代表圆柱体。

通过 NeuS 从贴图到网格

一旦模型“梦”出了这些多视图贴图,它们就会被输入到 NeuS (神经隐式曲面) 中。NeuS 是一种从这些 2D 预测中重建 3D 表面的方法。

关键在于,研究人员在这个步骤中完全移除了颜色/纹理的重建。他们纯粹专注于几何形状。结果是一个完整的 3D 三角形网格。但网格还不是 CAD 模型。我们需要知道哪些三角形属于机器的哪个部分。

图割分割 (Graph Cut Segmentation)

这就轮到语义贴图出场了。系统将预测的“图元颜色”反向投影到 3D 网格上。然而,这种投影可能会很混乱。为了清理它,研究人员使用了 图割 (Graph Cut) 过程

Figure 3. The Graph Cut process. (a) shows raw back-projection, while (b) shows the clean segmentation into distinct patches.

把网格想象成一个图,其中每个三角形都是一个节点。该算法将图切割成补丁 (分段) ,确保同一补丁中的三角形很可能属于同一个几何图元。如图 3 所示,这不仅将充满噪声的表面变成了独特的、颜色编码的区域,而且每个区域都代表了一个特定的数学形状 (特定的圆柱体、特定的平面等) 。

模块 2: 几何与拓扑提取

在这个阶段,我们将网格分割成了补丁。我们知道“这个补丁是圆柱体”以及“那个补丁是平面”。但我们不知道圆柱体的确切半径或平面的确切坐标。

第二个模块将这些粗略的补丁转化为精确的数学参数。

步骤 1: 图元提取

系统使用 RANSAC (随机抽样一致性算法) 将数学形状拟合到网格补丁上。它观察带有噪声的三角形,并找出最适合的圆柱体、圆锥体、球体或环面的方程。

Table 1. Definitions of parameters and relationships for primitives like Plane, Cylinder, Cone, Torus, and Sphere.

表 1 列出了使用的数学定义。例如,圆柱体由轴 (\(\vec{x}\)) 、位置 (\(p\)) 和半径 (\(r\)) 定义。

步骤 2: 噪声问题

这是论文中最关键的部分。如果你只是将形状拟合到充满噪声的 AI 生成网格上,结果会很混乱。一个本应垂直于底座的圆柱体可能会倾斜 1 度。两个本应平行的圆柱体可能会稍微不平行。

在 CAD 的世界里,这些微小的误差会阻止零件连接。

Figure 4. Four key primitive relationships showing how incorrect relationships (columns 2 & 4) lead to flawed intersections compared to correct ones (columns 3 & 5).

图 4 展示了这种危险。看第 2 列 (“Incorrect”) 。如果圆柱体不完全垂直于它相交的平面,由此产生的相交曲线就会变得复杂且在数学上很丑陋,通常会导致模型出现缝隙。如果两个圆柱体不平行,它们就无法正确堆叠。

步骤 3: 几何优化 (“缝合”算法)

为了解决这个问题,CADDreamer 引入了一种 几何优化 算法。它强制执行约束条件:

  • 平行性: 如果两个轴接近平行,强制它们完全平行。
  • 垂直性: 如果两个轴接近 \(90^{\circ}\),强制它们完全 \(90^{\circ}\)。
  • 共线性: 如果两个圆柱体共享中心线,将它们完美对齐。
  • 相交: 确保接触的表面实际上有足够的重叠以计算清晰的相交。

研究人员使用了一种“缝合 (stitching) ”技术。他们识别两个形状相遇的边界点 (缝合顶点) ,并在数学上拉动表面直到它们对齐。

该优化最小化了这些缝合顶点在两个表面上的投影距离:

Equation for the stitching optimization function.

这个方程本质上是说: “移动表面 A 和表面 B 的参数,直到边界点同时位于两个表面上。”

Figure 5. An example of the primitive stitching process. The images show how separated patches (a, c) are progressively pulled together (d, e) until they form a watertight connection (f).

这一过程的演变在图 5 中可视化。最初,黄色圆柱体和灰色平面之间可能有间隙或错位。到优化的第 100 步时,算法已经调整了圆柱体的半径和角度,使其与平面完美结合。

步骤 4: 保持拓扑的重建

一旦数学表面对齐,最后一步就是修剪它们。系统计算精确的相交曲线 (圆柱体与平面相交的地方) ,并创建 拓扑结构——即构成最终水密 B-rep 的顶点、边和面的映射。

Figure A1. Illustration of the topology-preserving intersection strategy.

如图 A1 所示,系统使用初始网格的粗略边界 (a) 来指导精确 CAD 曲线 (b) 的计算,从而产生干净、实体的模型 (c)。

实验与结果

研究人员将 CADDreamer 与几种最先进的单视图重建方法进行了比较,包括 LRM (Large Reconstruction Model) 、CRM 和 SyncDreamer。他们使用了包含 30,000 个合成 CAD 模型的数据集,并对真实世界的照片进行了测试。

定性比较

视觉上的差异令人震惊。

Figure 6. Segmentation results and reconstructed B-rep models. CADDreamer (Ours) produces clean, distinct geometric primitives compared to the noisy or distorted outputs of other methods.

在图 6 中,观察“Ground Truth (真实值) ”与基线方法之间的差异。

  • LRM 和 InstantMesh 倾向于平滑掉锋利的边缘。它们像处理有机形状一样处理机械零件,丢失了独特的“机器”外观。
  • SyncDreamer 在一致性方面表现挣扎,导致几何形状扭曲。
  • CADDreamer (标记为“Ours”) 生成了锋利的、颜色分明的图元,与真实值非常接近。它成功识别了平面 (灰色) 、圆柱体 (红色) 和圆锥体 (绿色) 。

定量指标

研究人员使用了 倒角距离 (Chamfer Distance, CD) (表面与原始表面有多接近?) 和 悬空面 (Hanging Faces, HF) (模型中有百分之多少是破损/非水密的?) 来衡量成功。

Table 2. Statistical results showing CADDreamer achieving significantly lower Chamfer Distance (1.27) and higher Normal Consistency (92.6) compared to baselines.

表 2 显示,CADDreamer 实现了 1.27 的倒角距离,远低于次优的竞争对手 (CRM 为 3.97) 。这表明其几何精度要高得多。

Table 3. Statistical results for B-reps. CADDreamer has a Hanging Face ratio of only 2.4%, compared to 35-58% for competitors.

对于工程师来说,最重要的指标可能在表 3 中: 悬空面 (HF)

  • 竞争对手的方法生成的模型中, 35% 到 58% 的面是“悬空”的 (断开或错误的) 。这些模型本质上是损坏的。
  • CADDreamer 将这一比例降低到了仅 2.4% 。 这意味着生成的 CAD 文件实际上是可用的。

真实世界表现

合成数据是一回事,但是用手机拍摄的照片效果如何呢?

Figure 7. Reconstruction results from real images.

图 7 展示了模型的鲁棒性。即使面对真实摄影的光照变化和阴影 (左列) ,CADDreamer 依然成功提取了 CAD 结构 (中间列) 。

值得注意的是,研究人员发现,在 法线贴图 而非 RGB 图像上进行微调对于这种真实世界的成功至关重要。RGB 数据包含太多的变化 (光照、纹理) ,这会分散模型对纯几何形状的注意力。

Figure A2. Showing that using RGB images for fine-tuning leads to poor generalization (b, c) compared to using Normal maps.

局限性

虽然 CADDreamer 是一个巨大的飞跃,但它并非魔法。作者坦率地讨论了局限性,特别是关于“视角覆盖”的问题。

该系统依赖于生成物体的 6 个固定视图。如果物体有一个复杂的特征被这 6 个视图全部遮挡 (比如从水平角度看凹陷的顶面) ,重建就会失败。

Figure A3. Limitations. (a) shows how horizontal angles miss the top face. (b) shows issues with extremely thin planes. (d) shows a failure to preserve global symmetry.

如图 A3(d) 所示,该模型也没有严格强制执行全局对称性。虽然它修复了局部连接 (如圆柱体撞击平面) ,但它可能没有意识到物体的左侧应该是右侧的完美镜像。

结论

CADDreamer 代表了 3D 设计民主化的关键一步。通过超越简单的网格生成并拥抱 CAD 结构化、数学化的本质 (B-reps) ,它为生成功能性物体而不仅仅是视觉资产打开了大门。

语义感知扩散模型 (理解它看到的是什么) 与严格的几何优化引擎 (确保数学上成立) 的结合,使得从单张照片创建水密、边缘锋利的模型成为可能。尽管在复杂遮挡和全局对称性方面仍有障碍,但 CADDreamer 有效地弥合了 AI 的“造梦”能力与工程的“构建”需求之间的鸿沟。

对于计算机视觉和图形学领域的学生和研究人员来说,这篇论文强调了一个至关重要的趋势: 融合。 未来不仅仅是关于更大的扩散模型;而是关于将这些模型与特定领域的知识——在本例中是 CAD 的严格几何学——相结合,以创建对现实世界足够可靠的工具。