摘要:计算机辅助设计(CAD)是现代工程和制造业的核心,它让我们能够创建精确且可编辑的3D模型。然而,手动创建CAD模型需要专业技能和大量时间。如何让计算机自动从现有物体中重建CAD模型,一直是研究人员追求的目标。2025年5月,来自AIRI研究院、莫斯科罗蒙诺索夫
计算机辅助设计(CAD)是现代工程和制造业的核心,它让我们能够创建精确且可编辑的3D模型。然而,手动创建CAD模型需要专业技能和大量时间。如何让计算机自动从现有物体中重建CAD模型,一直是研究人员追求的目标。2025年5月,来自AIRI研究院、莫斯科罗蒙诺索夫国立大学、苏黎世联邦理工学院和Innopolis大学的研究团队在arXiv上发表了题为"cadrille: Multi-modal CAD Reconstruction with Online Reinforcement Learning"的研究论文(arXiv:2505.22914v1),提出了一种全新的多模态CAD重建方法。
想象一下,你有一个实物,但没有它的设计图纸。以前,你可能需要请专业CAD工程师从头开始重新设计。现在,有了这项新技术,你只需拍几张照片,或者用3D扫描仪扫描一下,甚至只需用文字描述这个物体,计算机就能自动生成完整的CAD模型。这就像是给计算机装上了"设计师的眼睛"和"工程师的大脑",让它能够理解并重现复杂的3D结构。
传统的CAD重建方法通常只专注于单一输入类型——要么是点云(3D扫描数据)、要么是图像、要么是文本描述。这就像是给设计师蒙上眼睛只让他用触摸来理解物体,或者只让他看照片但不能摸实物。这种单一模态的限制大大降低了CAD重建的通用性和鲁棒性。
研究团队的突破在于创造了一个名为"cadrille"的系统,它可以同时处理三种不同类型的输入:点云、多视角图像和文本描述。这就像给计算机同时提供了"触觉"、"视觉"和"语言理解"三种能力,让它能够从多个角度全面理解物体的结构和特征。更重要的是,团队创新性地采用了类似于大型语言模型(LLM)的训练方法,特别是引入了在线强化学习(RL)来微调模型,这在CAD重建领域是首次尝试。
就像一位厨师需要经过基础培训后再通过实践不断改进烹饪技巧一样,cadrille的训练也分为两个阶段:首先在大规模程序生成的数据上进行监督微调(就像学习烹饪的基本理论),然后通过在线反馈进行强化学习微调(就像在实际烹饪中不断调整和完善技巧)。这种训练方法让模型不仅能学会基本的CAD重建技能,还能通过不断的反馈优化自己的表现。
研究结果令人振奋:在DeepCAD基准测试中,cadrille在所有三种输入模态上同时超越了现有的单模态方法。更令人印象深刻的是,经过强化学习微调后,cadrille在三个具有挑战性的数据集上创造了新的最佳记录,包括真实世界的CC3D数据集。
让我们一起深入探索这项突破性研究的细节,了解研究团队是如何让计算机"看懂"并"重建"复杂的CAD模型的。
一、CAD重建:从实物到数字设计的桥梁
计算机辅助设计(CAD)已经成为现代工程和制造业的基石。就像建筑师需要精确的建筑图纸一样,工程师需要精确的CAD模型来设计和制造各种产品。传统上,创建CAD模型是一项需要专业技能、时间和努力的工作。CAD重建技术的出现,就像是为这个过程安装了一条快速通道,它可以直接从扫描的物体生成CAD模型,使整个过程更快、更经济、更易于普通人使用。
典型的CAD模型是通过一系列2D草图和3D操作创建的。想象一下拼积木的过程:你先在平面上画出积木的底面形状(2D草图),然后将这个形状向上"拉伸"形成立体(3D操作)。这种表示方法使CAD模型可以轻松编辑,因此在SolidWorks和AutoCAD等流行CAD工具中被广泛使用,也是CAD生成研究中的主流方法。
大多数现有的CAD生成方法使用特殊的命令标记来定义CAD序列,就像是一种特殊的"积木拼装指南"。然而,最先进的结果是通过将CAD序列映射为普通Python代码获得的。就像用自然语言写食谱比用专业术语更容易理解一样,使用Python代码表示CAD模型也更加灵活和直观。cadrille团队也采用了这种方法,将CAD模型生成为可执行的Python脚本。
研究人员探索的最广泛的输入模态自然是点云——这就像是物体表面的"数字指纹",由大量3D点组成。然而,获取点云通常需要特殊设备,对非专业人士来说相当复杂。另一方面,图像可以捕捉更细微的细节,并且可以使用消费级低端设备(如智能手机相机)获取,因此降低了硬件要求。同时,文本描述可以丰富物体表示的语义上下文。使用各种输入模态,例如多视角图像或自然语言描述,可以使设计辅助应用程序即使对于没有经验的用户也变得简单。然而,现有方法通常一次只关注一种模态,限制了它们的鲁棒性和通用性。
给定各种输入的Python代码生成任务自然引用了大型视觉-语言模型(VLM),这些模型在各种模态上展示了强大的推理能力。在这项工作中,研究团队利用VLM的力量构建了一个多模态CAD重建模型,该模型同时处理点云、多视角图像和文本,并生成Python代码。
现有的CAD重建方法由于训练方式面临泛化问题。具体来说,手工制作的CAD数据集规模小且多样性有限,而使用程序生成数据训练的模型难以迁移到现实世界领域。受标准LLM训练流程的启发,研究团队在CAD重建的背景下引入了多阶段训练范式。他们使用大量程序生成的数据进行监督训练,而宝贵但更稀缺的手工制作数据则用于RL微调。这种方案消除了对大规模手工制作数据的需求,并允许模型首先在CAD领域进行泛化,然后使用基于偏好的目标进行专门化。
研究团队尝试了直接偏好优化(DPO)技术,这在之前的CAD重建研究中已经使用过。此外,由于在可以程序化计算反馈的任务中,在线RL技术占主导地位,他们还尝试了在线群体相对偏好优化(GRPO)技术。实验结果表明,在线RL对CAD重建更有效,这与在其他领域获得的结果一致。
实验表明,cadrille在准确性方面优于现有的特定模态基线。此外,RL微调确保了生成的Python代码的有效性,这对于先前的工作来说是一个挑战。因此,所提出的方法展示了前所未有的鲁棒性,并在几个CAD数据集上创造了新的最先进水平,包括真实世界的CC3D数据集。从本质上讲,这为开放世界场景中的泛化打开了新的可能性。
二、多模态数据:让计算机全方位理解物体
CAD重建的关键在于如何让计算机"理解"一个物体的形状和结构。就像人类使用多种感官来理解世界一样,研究团队让计算机从多个角度"感知"物体。
对于模型训练,团队从真实的CAD模型中派生出所有输入模态。这就像是从一本书中创建不同语言的翻译版本——都描述同一个内容,但使用不同的"语言"。
给定一个CAD模型作为参数化3D形状(B-Rep),他们直接从模型的参数化表面采样点。现代CAD引擎提供内置例程进行表面采样,使其简单直接。这就像是在物体表面撒上数千个微小的"数字灰尘",每个灰尘粒子的位置就构成了点云的一部分。
为了生成图像,首先将B-Rep进行镶嵌,即转换为近似表面几何形状的三角形网格。然后,可以从多个视点渲染这个网格以生成多视角图像输入。这类似于从不同角度给物体拍照,捕捉其从各个方向的外观。
生成文本数据则明显更具挑战性。由于目标是准确的几何重建而不是生成语义相关的样本,输入应提供详细且全面的几何信息。因此,松散的文本描述通常不够。必要的粒度级别在Text2CAD研究中进行了调查,该研究将LLM和VLM结合在多阶段复杂管道中,从CAD序列和渲染图像生成文本描述。
三、cadrille架构:全能型CAD重建系统
cadrille的架构设计堪比一个全能型CAD设计助手,它能接收多种形式的"指令",并精确地执行"设计任务"。该模型接受点云、一组图像或文本提示作为输入,并输出一个Python代码,该代码在执行时会生成一个CAD模型。
cadrille建立在VLM(大型视觉-语言模型)的基础上,该模型原生支持文本和图像输入,并且已经能够生成Python代码。文本输入通过原始嵌入层传递,图像通过原始视觉编码器处理。这就像是模型已经有了"阅读"和"看图"的能力,研究团队只需要教会它"理解3D点云"。
点云处理逻辑与CAD-Recode中的相同。具体来说,他们使用单个投影层来嵌入3D点,通过最远点采样从表面采样点,并且不使用法线信息。这就像是给模型安装了一个特殊的"触觉"传感器,让它能够"触摸"并理解3D形状。
四、监督微调:打好基础
正如图1所示,cadrille受益于三个阶段的训练。首先,他们使用在互联网规模数据上以无监督方式预训练的VLM。这个阶段之后,VLM能够处理文本和视觉输入并生成Python代码,但缺乏处理点云的机制。在这项工作中,团队并没有进行任何无监督的VLM训练,而是利用已经训练好的模型的能力。
第二个阶段是针对特定任务的监督微调。在SFT期间,模型发展了处理点云的能力,并学习了一个策略πθ,将多模态输入q映射到Python代码τ,使SFT成为cadrille管道的重要部分。他们构建了一个由样本(q, τ)组成的训练数据集D,其中q是多模态输入。训练程序旨在最小化地面真实和预测Python代码标记之间的交叉熵。
然而,两阶段训练在CAD-Recode中已经被采用,它使用监督微调(SFT)来适应预训练的语言模型进行基于点云的CAD重建。但是,这种策略在跨域场景中显示出其局限性:CC3D IoU低至60%,无效率(IR)高达10%,这意味着每十个预测中就有一个无法产生有效输出。为了缓解这个问题,CAD-Recode使用了测试时采样技术。对于每个输入查询,生成10个候选Python程序,并选择具有最高IoU的候选程序。之后,IoU增加到74%,而IR降至0.5%以下。然而,这种改进是以推理时间增加10倍为代价的。能否在不牺牲测试时效率的情况下获得类似的收益?
为了保持快速简单的推理,研究团队将注意力转向改进训练过程。仅在程序生成的CAD数据上训练可能会限制现实世界应用中的性能。然而,在手工制作的模型上训练也面临挑战,例如,之前的工作表明,直接在DeepCAD数据集上进行SFT会损害性能,导致IoU下降10%。
实验证实,简单地混合程序生成和手工制作的数据进行训练无法改善结果,甚至可能降低性能。团队将这归因于数据集之间CAD序列的不一致性:例如,DeepCAD模型使用挤压切割和对称挤压等命令构建,而这些命令在CAD-Recode数据集的生成程序中不存在。
为了解决这一限制,团队引入了训练流程中的新第三阶段,即在未注释CAD序列的手工制作数据上进行强化学习微调。这种方法解决了不一致性问题,同时仍然允许模型适应现实世界领域。
五、强化学习微调:不断完善的自我提升
强化学习微调的关键在于,它不需要手工标注的数据,而是通过自动计算的反馈来指导模型的改进。这就像是一个学习烹饪的厨师,不需要每次都有人告诉他应该怎么做,而是通过尝试菜品的味道来自我调整烹饪技巧。
研究团队将RL微调公式化如下:给定一个输入数据集D = {qi}^N_{i=1}(可以是图像或点云),以及奖励函数R(τ),他们学习LLM策略πθ(τ | q),生成一个Python代码τ作为输入q,使其最大化期望奖励Eqi~D,τi~πθ(·|qi)[R(τi)]。
值得注意的是,在这个阶段不需要标注的(q, τ)对进行监督,因为Python代码τ是从训练好的SFT模型中采样的。实际上,CAD序列对于RL微调是不需要的,数据要求可以放宽到3D网格而不是CAD模型。这从实际角度来看特别有益,因为RL微调可以使用通常更容易获取的网格数据集进行,为在真实世界数据中存在的伪影训练模型开辟了新的可能性。
奖励函数R(τ)是解决精度和鲁棒性的项的组合: R(τ) = rIoU(τ) + rinvalid(τ)
其中rIoU是由τ生成的CAD模型与地面真实3D网格之间的IoU,另外乘以10以强制精确重建。rinvalid惩罚无效预测:对于无效的τ设为-10,否则为0。
经验上,团队发现困难样本挖掘导致RL微调更快收敛。因此,他们只使用SFT模型生成的三个样本的平均奖励R(τ)小于7.5的样例q。
直接偏好优化(DPO)从成对偏好数据中学习,通过重参数化的Bradley-Terry模型近似隐式奖励。他们通过以温度T = 1.0从SFT模型πθr中采样K = 5个Python代码τ来构建训练数据集。在每个训练步骤中,对于给定的样本,随机选择两个输出。具有较大奖励R(τ)的输出被视为偏好预测τw,另一个是非偏好τl。
DPO训练以πθr开始,进行10个周期。之后,SFT模型被最新的πθt替换,并再训练10个周期。通过这种方式,模型逐渐偏离原始SFT模型。在实验中,团队发现这对性能有益。
然而,DPO性能受限于给定示例生成的最佳样本的质量。如果不生成额外样本,这一限制无法克服,因此团队采用了能够从新生成样本中受益的在线RL方法。
Dr. CPPO结合了流行的GRPO方法的两个最新修改:Dr. GRPO消除了对参考模型的需要并修改了目标,而CPPO使用具有最强信号的样本。这种混合方法确保了计算效率和准确性;以下简称为Dr. CPPO。
对于给定输入q,从当前策略πθold(τ | q)以温度T = 1.0采样G个序列{τg}^G_{g=1}。对于每个输出g,优势Ag估计为Ag = rg - mean({ri}^G_{i=1})。使用具有最高|Ag|的N个样本形成批次B并执行策略更新,通过最大化PPO目标。
六、实验结果:多重验证的卓越性能
为了验证cadrille的性能,研究团队在多个数据集上进行了广泛的实验。DeepCAD(表中标记为D)作为他们的主要基准用于监督训练。他们采用Text2CAD版本的DeepCAD,其中包含文本描述。训练集包含约16万个样本,而8046个样本用于测试。
对于SFT,他们还使用了程序生成的CAD-Recode(表中标记为R)数据集。它比DeepCAD大一个数量级,由大约100万个用CadQuery(一种参数化Python基础CAD语言)编写的CAD程序组成。
Fusion360(表中标记为F)是一个具有复杂和现实CAD模型的小型CAD重建基准。在标准实验协议中,仅使用测试子集(1725个样本),因为缺乏Python CAD序列使其不适合常规监督训练。尽管如此,他们仍然可以将其训练集(6900个样本)用于无注释的RL微调。
为了展示他们方法的多功能性和适用性,除了手工制作和程序生成的网格外,他们还在CC3D数据集上报告了指标。它包含2973个从真实CAD模型扫描中采样的输入点云,具有嘈杂值、缺失部分和平滑边缘。
以下是他们在不同数据集上获得的主要结果:
在DeepCAD上的结果比较cadrille与DeepCAD上的单模态CAD重建方法。在这里,他们使用下标指定输入模态:p代表点云,i表示图像,t代表文本。在DeepCAD训练集(Dpit)上联合训练的cadrille优于特定模态的基线。值得注意的是,点云的IR(无效率)几乎减半(从1.1降至0.4),图像的IR减少了7倍(从3.6降至0.5)。
使用大规模程序生成的CAD-Recode数据集(R)训练始终改善了在DeepCAD数据集上训练的准确性。由于他们还使用与CAD-Recode相同的Qwen LLM模型(Qwen2-VL-2B对比Qwen2-1.5B),因此点云重建的可比质量是可以预期的。当在点云和图像(Rpi)上训练cadrille时,它在点云上保持相同的准确性,但额外扩展到图像。在点云、图像和文本(Spi + Di)上训练后,cadrille在不损失每种模态质量的情况下跨模态泛化。为了公平比较,在这系列实验中,他们不应用任何RL技术,并且简单地混合训练数据集进行SFT。
Fusion360和CC3D数据集没有提供兼容格式的注释,在标准评估协议中仅用于测试。因此,对这些数据集的测试是在零样本场景中进行的,这允许评估CAD重建方法的泛化能力。此外,由于CC3D包含物体的真实扫描,这个实验模拟了现实世界的应用。
团队报告了基于图像和基于点云的CAD重建的质量。CADCrafter是唯一执行基于多视角图像的CAD重建的方法。然而,CADCrafter的作者仅在DeepCAD数据集上报告指标,由于代码从未发布,在其他数据集上对其进行基准测试是有问题的。为了在基于图像的CAD重建中建立基线,他们结合了两种现成的最先进方法,即多视角重建方法LRM和CAD-Recode。LRM将多视角图像作为输入并生成网格,该网格通过表面采样转换为点云,然后将该点云传递给CAD-Recode创建CAD模型。
cadrille与最先进的方法进行了比较,这些方法最初在DeepCAD(CAD-SIGNet)和CAD-Recode数据集上训练。正如预期的那样,cadrille与CAD-Recode旗鼓相当,同时在质量方面大大超过了CAD-SIGNet。
在强化学习方面,单一模态的RL也提升了其他模态的性能。例如,在图像上进行微调的模型在点云CAD重建方面也表现出了最先进的质量。
RL微调显著改善了跨数据集场景中的指标。基于图像的CAD重建中,CD从0.81减少到0.57,而IR显著从7.7降至0.1。在点云测试中,RL也改善了CC3D上的所有分数,使IR降至0.2%以下,这是可以忽略的。
在线RL优于离线RL。使用离线DPO微调cadrille在大多数情况下将IR减半,而准确性分数不受影响。同时,Dr. CPPO在所有指标方面都优于SFT,将IoU分数提高了3-9%,并在所有基准测试中将IR降至0.2%以下。观察到的CAD重建准确性的改进与在其他可以程序化计算反馈的任务中获得的实验结果一致。
常见的假设是混合数据集通过增加数据多样性和数量来提高泛化能力。然而,实验表明,CAD-Recode和DeepCAD数据集的简单混合(Rpi+Dpi)不会带来性能提升,甚至可能相对于仅用Rpi进行的SFT降低结果。团队将这种效应归因于数据集之间的域差距,具体来说,DeepCAD中存在的一些CAD操作(例如,对称挤压、挤压切割)在CAD-Recode中缺失。
七、成果与局限:迈向完美的挑战
尽管表现强劲,但cadrille仍然存在几个局限性。它依赖于相对较小且有限的手工制作基准(DeepCAD)或大规模程序生成的数据集(CAD-Recode),这些可能无法反映现实世界CAD数据的复杂性。由于CC3D训练集在公共领域不可用,在真实数据上的训练或无注释微调仍然未被充分探索。
此外,文本模态未被充分利用,因为自然语言描述稀缺,而且VLM生成的来自Text2CAD的标题通常缺乏现实感,并且由于过于描述性和详细而可能导致数据泄露风险。此外,虽然cadrille可以处理所有三种模态,但它独立处理它们,缺乏机制来补偿低质量或缺失的输入。除此之外,团队只使用图像进行RL微调。在点云上进行微调似乎不稳定,他们将其归因于1)点云是LLM的非原生输入模态,以及2)从CAD-Recode继承的次优点云处理策略。
然而,尽管存在这些限制,cadrille仍然代表了CAD重建领域的显著进步,为未来工作提供了坚实的基础。
八、结论:开辟CAD重建的新时代
cadrille的引入开创了CAD重建的新时代。通过创建一个能够同时处理点云、多视角图像和文本输入的统一VLM框架,研究团队大大扩展了CAD重建的可能性。
采用两阶段训练范式——首先在合成数据上进行监督微调,然后通过程序化反馈进行强化学习微调——不仅改善了重建质量,还提高了有效率。团队的实证研究表明,在线RL方法在CAD重建场景中特别有益。
所提出的方法在多个基准测试中实现了新的最先进结果,包括真实世界数据集,突显了其鲁棒性、泛化能力和在应用中的潜力。
这项研究不仅推进了CAD重建技术,还为其他领域提供了宝贵的见解,特别是在如何结合多模态输入和利用强化学习进行微调方面。随着这些技术的发展,我们可以期待看到更加智能、适应性强的CAD系统,使设计和制造过程对所有人都更加容易和可访问。
最终,cadrille代表了我们如何能够让计算机更好地理解和重建我们的物理世界的一个重要里程碑,为未来的创新铺平了道路。
来源:至顶网一点号