论文一起读 | BrepGen: 一种具有结构化隐式几何的边界表示生成扩散模型

文摘   科技   2024-10-10 11:00   广东  

导读

本文是VCC许铎腾同学对论文 BrepGen: A B-rep Generative Diffusion Model with Structured Latent Geometry 的解读,该工作来自西蒙菲莎大学和Autodesk研究院并已被发表在计算机图形学顶级会议SIGGRAPH 2024上。 

项目主页: 
https://brepgen.github.io/ 

该工作提出了一种基于生成扩散模型(Diffusion)生成计算机辅助设计(Computer-Aided Design, CAD)模型边界表示(Boundary Representation, B-Rep)的新方法,该方法首先利用变分自编码器将B-rep模型的面、边和顶点的几何信息编码为隐式特征,以面、边和顶点的编码特征和拓扑信息作为节点与层次关系构建结构化几何特征树,进一步,BrepGen采用生成扩散模型从根结点开始对树的几何特征进行顺序条件去噪以学习生成几何特征,再根据顺序条件关系构建结构化特征树,恢复出完整的B-rep拓扑结构。

注:本文图片与视频均来自原论文与其项目主页。



I


 引言 

在现代生产制造流程中,几乎每一个人造物体都是从计算机辅助设计(CAD)模型开始。在 CAD 领域,边界表示(Boundary Representation, B-Rep)是描述三维形状的主要格式,被广泛用于自由曲面建模以表示复杂的几何图形。B-rep由一组互连的面、边和顶点组成。面是参数化曲面的可见区域,由其相邻边形成的闭环包围,而边是参数化曲线的可见区域,由定义其起点和终点的顶点修剪。B-rep记录相邻边和顶点的邻接关系,使结构能够提供最终实体形状的完整描述。构建能够直接生成B-rep模型的系统将彻底改变CAD设计流程,大幅减少设计师的体力劳动和对专业软件的依赖。


B-rep的分类和分割任务已通过图神经网络取得很好的进展。对于B-rep生成任务,传统方法通常利用处理预定义的模板形状,如参数曲线和曲面,再通过预定义的连接规则,修剪和连接曲面形成水密模型,其生成能力有限,且修剪和连接曲面形成水密模型过程仍然存在挑战。得益于生成模型的迅猛发展,基于学习的方法表示和B-rep生成已俨然成为一个新的探索方向。

本次导读论文介绍了BrepGen,该方法提出了一种基于扩散模型的方法,可以直接生成CAD模型的边界表示(B-rep)形式。BrepGen使用一种结构化的隐式几何表示,可以更好地捕捉面、边和顶点之间的层次关系和拓扑关系。具体来说,BrepGen将B-rep模型表示为一个分层树形结构,其中根节点代表整个CAD实体,每个B-rep元素(面、边或顶点)都对应相应层次的一个节点,每个层级节点存储了隐式编码的几何信息,树的层次关系对应层次节点的拓扑关系。BrepGen采用基于Transformer的扩散模型,采用顺序条件去噪的方式从根节点开始逐步去噪节点特征,同时检测并合并重复节点,最终恢复出完整的B-rep拓扑结构。实验结果表明,BrepGen在各种基准测试上都优于现有方法,尤其在生成复杂几何形状方面表现出色。此外,BrepGen还可应用于CAD自动补全和设计插值等任务。

II


 技术贡献 

本工作主要贡献如下:

  • 提出了一种结构化的隐式层次表示方法,能够以统一格式B-rep几何图形和拓扑信息进行编码和存储;

  • 设计了一个基于Transformer的扩散模块,可用于生成能够被解码为自由曲面和修剪曲线的隐式几何表示

  • 开源了一个家具B-rep数据集,包含10个不同类别的室内物体的高质量B-rep。实验证明BrepGen具有最先进的B-rep生成性能。


III


 方法介绍 

BrepGen方法由结构化隐式几何表示学习、基于生成扩散模型的几何特征表示生成和基于OpenCascade的基元拟合与缝合后处理三部分组成:第一部分编码隐式几何特征并使用分层树状结构来表示B-rep模型,根节点代表整个CAD实体,子节点定义每个面、边和顶点的全局位置和隐式局部几何形状,目标是最小化重建模型的几何误差;第二部分去噪生成面、边和顶点的全局位置和隐式局部几何表示,去噪的同时检测并合并重复节点,从而恢复B-Rep拓扑信息;第三部分用于基于所生成的基元点云拟合并缝合为B-Rep模型。


结构化隐式几何表示学习
BrepGen首先将面、边或顶点的几何信息编码为结构化表示层次树的节点,节点特征其中包含:1) 全局位置作为边界框参数或点;2) 局部形状详细信息作为隐式代码。B-rep模型中每个面都可由一个参数化曲面(平面、圆柱体、圆锥体、球体、环面、贝塞尔或 NURBS)表示,其函数为S (u,v): R2 → R3,将UV坐标映射到面所在的无界表面上的3D点Fs(图1左下)。利用变分自编码器(Variational auto-encoder, VAE)[1]将在参数化表面上采样的3D点Fs编码为形状特征Fz。将3D点Fs的轴对齐边界框映射到规范立方体后的位置记为全局位置特征Fp = [x1, y1, z1, x2, y2, z2]。面节点特征被定义为F= [Fp,Fz]。B-rep模型中每条边都可由一条参数曲线(直线、圆形、椭圆、贝塞尔曲线或 B 样条曲线)表示,其函数为 C(u): R → R3,将u坐标映射到边所在的无界曲线上的3D点(图1左上)。形状特征Es是沿参数曲线采样的3D点的一维数组。位置特征Ep再次被定义为包围点的边界框参数。设 [umin,umax] ∈ R 是边的最小和最大u坐标值,点沿u轴从 N 个等距网格中采样。所有网格位置的3D坐标连接在一起,形成Es ∈ RN ×3作为形状详细信息。类似于面特征的表示方法,VAE将Es压缩为Ez,其中E = [Ep,Ez]成为边缘节点的特征。顶点是没有其他形状详细信息的3D点。以位置坐标 V = (x,y,z) 作为顶点节点的特征。

图1 结构化隐式几何表示分层树流程图


BrepGen中的节点复制有两个目的:
1) 编码面、边和顶点之间的拓扑关系;
2) 将B-rep中的面数量和边填充到固定的最大长度。
BrepGen以几何方式对“面-边-面”和“边-顶点-边”邻接关系进行编码。共享边将被复制以便每个父面都作为子节点获得边的副本。共享顶点将作为其父边的子节点进行复制,通过此过程将B-rep图结构转换为树。边界面的边数和形成实体的面数各不相同,但是在推理时,构建实体所需的面和边数是未知的,BrepGen为每个树层级别选择一个预定的最大分支因子,并随机复制节点,直到达到最大子节点数,比较发现,与零填充策略相比,这种“重复填充”策略在推理时导致的缺失面和边缘更少,在每次训练迭代中随机选择重复的节点也有助于防止过度拟合。图2中右下角的树演示了此过程,树随机填充到两个面和每个面三个边。黄色边缘复制一次,紫色边缘复制两次。可以通过删除每个父节点下具有相似几何特征的子节点来恢复关联关系。

基于生成扩散模型的几何特征表示生成

图2 基于生成扩散模型的几何特征表示生成流程图

BrepGen采用DDPM[2]对分层树种的节点特征,即隐式几何表示和全局位置,进行训练。基于生成扩散模型表示生成面的边界框位置和面的隐式几何特征(图2上),生成边的边界框位置和边-顶点联合隐式几何(图2下)。灰色表示嘈杂的特征值。由于直接生成所有几何图形是很困难的,BrepGen采用顺序条件生成来逐步对面部、边缘和顶点自顶向下进行去噪,其中边缘以面为条件,隐式几何特征以全局位置为条件。图2显示了条件去噪过程,每个分布都有一个去噪网络:
在生成几何特征树后,BrepGen首先采用启发式方法对树中的节点进行去重,再根据面与边的连接关系恢复B-Rep拓扑信息。

基于OpenCascade的B-rep后处理
BrepGen采用Open Cascade对所生成并解码得到的每一个基元进行拟合,得到面、边集合,再基于面-边连接关系对面、边集合进行缝合构建得到B-rep模型。

IV


 部分结果展示 

图3 BrepGen所生成的B-rep模型概览

BrepGen与DeepCAD [1]和SolidGen [2]的无条件生成机械零件进行比较。同时在ABC数据集[3]上进行评估。直观上,BrepGen能够生成更吸引人的B-rep,这些B-rep由各种拓扑连接的面孔组成,显示出比基线更好的生成多样性,结构复杂度也更高,无界开放区域或自相交边缘较少。从生成的有效率(通过CAD的拓扑检测的百分比)和多样性(利用倒角距离评估未出现在训练集中的生成模型百分比)上进行比较,BrepGen所生成的模型的有效率更高,具有更高的多样性。

图4 动现有方法的生成模型对比

表1 人椅交互的定量比较

BrepGen同时展现出其在文本可控生成和自动补全的应用潜力。在可控生成实验中,BrepGen可以根据类别标签生成不同风格的B-rep模型,并且可以根据给定的部分几何信息自动补全完整的B-rep模型。

图5 动本可控生成展示

图6 自动补全展示

相比于分阶段生成拓扑和几何的方法,BrepGen的依赖顺序生成方法更加有效,因为单独生成拓扑结构很难保证正确性,而BrepGen的结构化隐式几何表示可以自然地捕捉拓扑和几何之间的关系。

V


 总结与展望 
本文提出了BrepGen,一种基于扩散的生成模型,可以直接输出边界表示(B-rep)的计算机辅助设计(CAD)模型。BrepGen使用一种新的结构化隐式几何体表示,以分层树状结构表示B-rep模型。通过从顶层到底层逐步去噪节点特征,同时检测和合并重复节点,BrepGen能够恢复B-rep的拓扑信息。实验结果表明,BrepGen在各种基准测试中都取得了优异的性能,超越了现有方法。特别是在新收集的家具数据集上,BrepGen展现了生成复杂几何形状的卓越能力。BrepGen可以应用于CAD自动完成和设计插值等场景。同时,结构化的隐式几何体表示和基于扩散的生成模型也为3D形状建模和生成领域带来了新的思路和可能性。

VI


 思考与讨论 
Q: 如果面和边彼此之间的距离距离太近,是否会导致无法区分学习? 
A: 是的,BrepGen利用面和边的全局边界框位置进行重复生成的剔除,距离过近的不同边或不同面可能被识别为重复数据导致删除,在实践中,这意味着一个最小阈值,用于确定两个相似的表面或边缘的接近程度。 

Q: BrepGen还存在哪些不足? 
A: BrepGen仅支持单个实体的CAD模型生成,无法处理多个装配体的复杂CAD模型。BrepGen使用的后处理方法虽然简单快速,但可能无法很好地处理无效形状,在实践中体现为BrepGen会对拟合得到的基元进行可装配性检测。

以下是开放性问题,欢迎读者朋友留言讨论: 
Q: BrepGen采用顺序条件生成的方式,即先生成面特征,再以面特征作为条件生成边特征,这种条件生成的关系构成了B-rep模型的拓扑,但如果面的生成出现错误,就会影响后续边的生成,从而导致整个B-rep模型存在拓扑错误,这在BrepGen生成的数据有效性评估结果中得到了验证。以顺序条件生成的顺序生成是否会限制生成B-rep模型的有效性和多样性?是否存在更全局、更鲁棒的生成方式?

-- End--



导 读 | 许铎腾
审 核 | 黄惠
编 辑 | 申金、余鑫泉


参考文献

[1] Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. High-resolution image synthesis with latent diffusion models. Conference on Computer Vision and Pattern Recognition (CVPR). 10684-10695, 2022.

[2] Jonathan Ho, Chitwan Saharia, William Chan, David J Fleet, Mohammad Norouzi, and Tim Salimans. Cascaded diffusion models for high fidelity image generation. The Journal of Machine Learning Research (JMLR). 2249-2281, 2022. 

[3] Rundi Wu, Chang Xiao, and Changxi Zheng. DeepCAD: A deep generative network for computer-aided design models. International Conference on Computer Vision (ICCV). 6752-6762, 2021. 

[4] Pradeep Kumar Jayaraman, Joseph G. Lambourne, Nishkrit Desai, Karl D. D. Willis, Aditya Sanghi, and Nigel J. W. Morris. SolidGen: An autoregressive model for direct b-rep synthesis. Transactions on Machine Learning Research (TMLR). 2023. 

[5] Sebastian Koch, Albert Matveev, Zhongshi Jiang, Francis Williams, Alexey Artemov, Evgeny Burnaev, Marc Alexa, Denis Zorin, and Daniele Panozzo. ABC: A big CAD model dataset for geometric deep learning. Conference on Computer Vision and Pattern Recognition (CVPR). 9601-9611, 2019. 



深圳大学可视计算研究中心
Visual Computing Research Center
----------------------------------
https://vcc.tech


中心以计算机图形学、计算机视觉、可视化、机器人、人工智能、人机交互为学科基础,致力促进多个学科的深入交叉与集成创新,重点推进大规模静动态数据获取与优化融合、多尺度几何建模与图像处理、可视内容生成与仿真渲染、复杂场景重建与识别理解、三维移动协同感知与人机交互、智能模拟学习与强化认知、海量信息可视化与可视分析等方面的科学研究。

📫
转载及合作:szuvcc@gmail.com


深圳大学可视计算研究中心
深圳大学可视计算研究中心致力于大力提升可视计算科学研究与高等教育水平,以计算机图形学、计算机视觉、人机交互、机器学习、机器人、可视化和可视分析为学科基础,促进多个学科的深入交叉和集成创新。详见官网: vcc.tech
 最新文章