1 论文背景
CAD(计算机辅助设计)模型重建是几何建模中的重要技术,特别是在逆向工程应用中,如设计文件丢失或需要从真实物体还原CAD模型的场景。传统CAD重建依赖于手动的几何尺寸测量,流程繁琐且耗时。近年来,随着3D扫描技术的发展,自动化CAD重建逐渐成为可能,这使得从扫描的点云数据或网格数据中直接生成CAD模型成为研究热点。
2 研究问题
目前的CAD重建方法大多依赖于有监督的学习,通常需要标注数据(如零件分割标签)来指导模型学习。而对于CAD模型的重建,编辑性也是一个重要需求,传统方法生成的模型往往不便于后续的用户操作和编辑。具体来说,现有方法通常仅能输出简单的几何基元,难以重建具有复杂几何和拓扑结构的CAD模型,同时还缺乏足够的灵活性去生成多样化的CAD变体。因此,如何在自监督环境下实现复杂、易编辑的CAD模型重建成为一个值得研究的问题。
3 相关工作
在CAD模型重建中,现有方法主要分为两大类:
- 基于CSG(Constructive Solid Geometry)的方法:这类方法通常通过解析输入形状,将其分解为基本几何基元,通过布尔操作(如并集、差集)组合成3D形状。例如UCSG-Net和CSG-Stump通过预测几何基元来构建CSG树结构。这些方法尽管生成了更紧凑的模型,但多输出简单基元,难以表示复杂形状且不易编辑。
- 基于草图-拉伸的模型重建方法:近年来出现了一些基于草图-拉伸的模型重建方法,通过先绘制二维草图并拉伸到三维空间生成3D模型。这类方法通常需要2D草图标签作为监督信息,例如ExtrudeNet使用闭合的贝塞尔曲线避免草图自交叉,但其形状表达能力有限,无法生成复杂轮廓形状。此外,这些有监督方法在生成CAD模型时依赖大量标签,限制了其灵活性和实用性。
现有方法在表达复杂结构、可编辑性和自监督能力上仍然存在不足,限制了CAD模型重建在工程中的应用广度和深度。
4 方法介绍
SECAD-Net提出了一种自监督学习方法,通过学习2D草图和3D拉伸参数生成可编辑的CAD模型。代码开源Github。模型结构如图所示。
与传统基元方法不同,SECAD-Net并未依赖简单基元组合,而是借鉴了现代CAD软件中的建模方式,即草图绘制和拉伸操作的序列化过程。具体来说,SECAD-Net的重建过程包括以下几个关键步骤:
-
拉伸框预测:首先,SECAD-Net使用3D卷积神经网络编码器将输入的3D体素网格数据编码为特征嵌入,并通过解码器预测一系列草图框(extrusion box)的参数。每个草图框包含位置、尺寸和旋转信息,代表模型中的一个局部区域。
-
2D草图生成:在每个草图框中,模型生成对应的草图。SECAD-Net采用隐式场来表示草图,不限制草图的轮廓形状,允许生成任意复杂的轮廓。通过神经网络预测草图的符号距离场(SDF),该场表示平面内各点相对于轮廓的距离,这些距离信息可以进一步处理为3D结构。
-
可微分拉伸操作:根据预测的2D草图,SECAD-Net生成3D圆柱基元,每个圆柱基元对应一个草图框中的2D草图。该步骤使用可微分拉伸操作计算3D圆柱的SDF,再结合布尔联合操作组合这些圆柱生成完整的CAD模型。此处仅使用联合操作,避免设计复杂损失函数,同时保留模型表达复杂形状的灵活性。
-
Occupancy转换与装配:在生成圆柱基元后,SECAD-Net通过Occupancy转换与装配步骤生成最终的3D形状。具体而言,模型使用Sigmoid函数将每个圆柱的符号距离场(SDF)转换为占用值(Occupancy),这些值表示形状内部和外部的占用情况。为了实现多圆柱的合并,模型使用Softmax计算联合操作,将各个基元的Occupancy场组合成完整的3D结构。这种Occupancy表示方式不仅确保模型在训练过程中稳定地优化生成形状,还能通过有效的联合操作自然生成复杂的模型结构。
-
损失函数设计:SECAD-Net采用两类损失函数实现自监督学习。首先,重建损失用来测量预测形状与真实形状之间的占用误差,确保生成形状尽可能接近目标几何。其次,草图损失用于生成清晰的草图平面轮廓。该损失项通过将3D体素模型沿草图平面投影为2D截面,计算预测值和真实截面值之间的差异,帮助模型学习草图的轮廓形状和轴向信息。两种损失的组合使模型在结构完整性和几何逼真度之间达到了平衡。
-
草图插值生成CAD:SECAD-Net利用草图隐空间的连续性来生成多样化的CAD变体。具体来说,通过在不同草图的隐空间之间进行线性插值,可以得到不同几何形状的过渡CAD模型。这一插值能力展示了SECAD-Net生成复杂多样形状的潜力,使得模型不仅限于特定形状的重建,更能支持多种结构的CAD生成。这种插值方法也为设计人员在生成模型中添加个性化细节提供了新的途径。
5 创新点
- 自监督草图-拉伸重建:SECAD-Net无需依赖监督标签即可学习生成CAD模型所需的草图和拉伸操作,从而避免了传统方法对大量标注数据的依赖。这种自监督学习方式显著简化了训练数据的需求,使得模型能够适用于更广泛的数据集。
- 隐式草图表示:SECAD-Net通过隐式场表示草图,相比ExtrudeNet基于贝塞尔曲线的有限表示方式,隐式场能够更灵活地生成复杂多样的轮廓。这种设计不仅增强了模型的表达能力,还允许在草图的隐空间中插值生成多种CAD变体,支持生成具有多样性和连续性的CAD模型。
- 紧凑且可编辑的CAD表示:SECAD-Net生成的CAD模型结构紧凑,由少量的圆柱基元组成,且每个基元具有明确的几何结构,便于用户在设计过程中的调整和编辑。与传统方法相比,这种紧凑表示在实际工程中具有更高的应用价值,因为它简化了模型的后续编辑操作。
6 实验结果
在ABC数据集和Fusion 360 Gallery数据集上进行的实验(见Figure 5和Figure 6)表明,SECAD-Net在多项关键指标上均优于传统方法,包括对称Chamfer距离(CD)、法线一致性(NC)和边缘Chamfer距离(ECD)等。具体而言,SECAD-Net生成的模型在几何保真度和拓扑细节上表现出色,能够重建出复杂的结构细节,并在保证模型精确度的同时生成更紧凑的CAD模型,方便用户进行后续编辑。
在与UCSG-Net、CSG-Stump、ExtrudeNet等基线方法的对比中,SECAD-Net在视觉效果上明显优于其他方法,尤其在处理几何细节(如孔和交汇处)方面表现更为出色,能够生成具有更高结构一致性和清晰特征的CAD模型。此外,实验展示了SECAD-Net生成多样化形状的灵活性:通过在草图隐空间进行插值,SECAD-Net可以在不同形状之间生成连续变化的CAD变体(见Figure 7),这一功能为个性化设计和多样化形状生成提供了新的可能性。
此外,SECAD-Net在单视图重建任务中的表现(见Figure 9)进一步验证了其泛化能力和对不同输入形式的适应性。该模型能够从单一视角生成高质量的3D形状,在模型复杂性和重建精度之间取得良好平衡,展示了其在多种应用场景中的潜力。
7 未来工作
SECAD-Net在实现高质量的CAD重建和编辑性方面已取得显著成效,但其在大规模几何差异的数据集上表现有所局限。未来可以从以下方面改进:
- 扩展CAD操作种类:在当前草图-拉伸操作的基础上,进一步引入旋转(revolve)、倒角(bevel)和扫掠(sweep)等常见CAD操作。这些操作的加入不仅可以丰富模型生成的CAD结构,还可以提升生成模型的多样性和设计灵活性。尤其是在工业设计和复杂形状建模中,更多的操作支持将赋予SECAD-Net更高的实用性。
- 提升模型的泛化能力:在几何形状复杂和多样化的数据集上,研究如何更有效地捕捉CAD模型的结构和拓扑信息。可以考虑引入多尺度特征学习或增强对局部几何特征的敏感度,以提升模型在大规模、复杂数据集上的表现。这将帮助SECAD-Net适应更丰富的输入形状类型,增强其在不同行业领域的通用性。
- 增强生成形状的真实感和细节保真度:通过结合真实形状结构信息,进一步提升模型生成几何细节的真实感。可以在生成过程中加入更多细粒度的结构信息学习,使得模型能够生成更复杂且更接近真实的形状。这样的改进将提高SECAD-Net在需要高精度和真实感的应用场景(如制造、仿真和虚拟展示)中的适用性。