没有合适的资源?快使用搜索试试~ 我知道了~
6772DeepCAD:计算机辅助设计模型的深度生成网络吴润迪常肖常喜郑哥伦比亚大学{rundi,chang,cxz}@cs.columbia.edu摘要3D形状的深度生成模型已经引起了大量的研究兴趣。然而,几乎所有这些生成erate离散的形状表示,如体素,点云,和多边形网格。我们提出了第一个3D生成模型的一个截然不同的形状表示-描述的形状作为一个序列的计算机辅助设计(CAD)的操作。与网格和点云不同,CAD模型对3D形状的用户创建过程进行然而,CAD操作的顺序和不规则结构对现有的3D生成模型提出了重大挑战。在CAD操作和自然语言之间进行类比,我们提出了一个基于Transformer的CAD生成网络我们证明了我们的模型的形状自动编码和随机形状生成的性能为了训练我们的网络,我们创建了一个由178,238个模型及其CAD构造序列组成的新CAD数据集。我们已经公开了这个数据集,以促进未来对这个主题的研究。1. 介绍想象和发明是我们人类的天性,并以3D形状来表达我们的发明这就是列奥纳多·达·芬奇在绘制他的机械装置草图时所用的纸和铅笔;这就是为什么设计了诸如双杠、法国曲线和分隔器的绘图工具;并且这就是为什么在今天的数字时代,计算机辅助设计(CAD)软件已经用于从汽车和航空航天到制造和建筑设计的无数工业部门中的3D形状创建。机器也能发明3D形状吗?利用深度学习生成模型的惊人进步,最近的许多研究工作都针对3D模型的生成。然而,现有的3D生成模型仅创建3D形状的计算机离散化:3D点云[6,52,53,8,30]、多边形网格[17,42,31]和levelset场[12,33,29,50,11]。仍然缺少的是生成3D形状设计的本质-绘图过程的能力。图1. 生成的CAD设计库。我们的生成网络能够产生各种各样的CAD设计。每个CAD模型由具有特定参数的CAD操作序列组成。生成的3D形状是干净的,具有清晰的几何特征,并且可以很容易地由用户编辑。我们提出了一种深度生成网络,它输出CAD工具(如SolidWorks和AutoCAD)中使用的一系列操作通常称为CAD模型,这样的操作序列表示形状创建的今天,几乎所有的工业3D设计都是从CAD模型开始的。如果需要,直到生产管道的后期,它们才被离散为多边形网格或点云。据我们所知,这是第一个工作对一个generative模型的CAD设计。挑战在于CAD设计的顺序性和参数性。CAD模型由一系列几何操作(例如,曲线草图、拉伸、圆角、布尔、倒角),每个都由特定参数控制。一些参数是离散选项;其它的具有连续值(在第二节中有更多讨论)。第3.1节)。这些不规则性从3D形状的用户创建过程中出现,并且因此与离散3D表示(即,体素点云6773和网格)。因此,先前开发的3D生成模型不适合于CAD模型生成。技术贡献。为了克服这些挑战,我们寻求一种表示,调和CAD模型中的不规则性。我们考虑最常用的CAD操作(或命令),并将它们统一在一个通用的结构中,该结构对它们的命令类型、参数和顺序进行编码。接下来,在CAD命令序列和自然语言之间进行类比,我们提出了一种基于Transformer网络的自动编码器[40]。它将CAD模型嵌入到一个潜在空间中,然后将潜在向量解码为CAD命令序列。为了训练我们的自动编码器,我们进一步创建CAD命令序列的新数据集,该数据集比相同类型的现有数据集大几个数量级我们还公开了这个数据集,以促进未来对基于学习的CAD设计的研究。我们的方法是能够产生合理的和多样化的CAD设计(见图)。①的人。我们通过一系列消融研究仔细评估其生成质量。最后,我们结束了我们的介绍与有用的应用前景启用我们的CAD自动编码器。2. 相关工作参数化形状推断。深度学习的进步使神经网络模型能够分析几何数据并推断参数形状。ParSeNet [38]将3D点云分解为一组参数曲面片。PIE-NET [43]从3D点云提取参数边界曲线。UV-Net [19]和BrepNet [24]专注于编码参数化模型Li等人[25]在合成数据上训练神经网络,将2D用户草图转换为CAD操作。最近,徐等。[51]应用神经引导搜索从参数化实体形状推断CAD建模序列。3D形状的生成模型。近年来,人们对3D形状的深度生成模型的研究兴趣也越来越大。大多数现有方法以离散形式生成3D形状,例如体素化形状[49,16,27,26],点云[6,52,53,8,30],多边形网格[17,42,31]和隐式符号距离场[12,33,29,50,11]。所得到的形状可能仍然受到噪声的影响,缺乏清晰的几何特征,并且不能直接由用户编辑。因此,最近的工作已经寻求将3D形状生成为一系列几何操作的神经网络模型CSGNet [37]基于体素化形状输入推断构造性实体几何(CSG)操作的序列;并且UCSG-Net [21]进一步推进了没有来自地面真实CSG树的监督的推理。除了使用CSG操作之外,还合成了1代码和数据可在此处获取。3D形状使用他们提出的领域特定语言(DSL)[39,41 , 30 , 20] 。 例 如 , Jones et al.[20] 提 出 的ShapeAssembly是一种DSL,它通过以分层和对称的方式构造长方体代理来构造3D形状,并且这种结构可以通过变分自动编码器来生成。与所有这些工作相比,我们的自动编码器网络输出指定为一系列CAD操作的CAD模型。CAD模型已成为工业生产中几乎所有部门的标准形状表示。因此,我们网络的输出可以很容易地导入到任何CAD工具[1,2,3]中供用户编辑。 它也可以直接转换为其他形状格式,如点云和多边形网格。据我们所知,这是第一个直接生成CAD设计的生成模型。基于转 换器的模 型。从技术上讲,我们的工作与Transformer网络[40]有关,它被引入作为许多自然语言处理任务的基于注意力的构建块[13]。Trans-former网络的成功也激发了其在图像处理任务[34,9,14]和其他类型数据[31,10,44]中的使用关于约束CAD草图生成的并行工作[47,32,15]也依赖于Transformer网络。与我们的工作相关的还有DeepSVG [10],这是一个基于Transformer的网络,用于生成可缩放矢量图形(SVG)图像。SVG图像由参数化图元(如直线和曲线)的集合来描述。除了在2D中的限制之外,这些基元没有特定的顺序或依赖性地分组相反,CAD命令以3D描述;它们可以是相互依赖的(例如,通过CSG布尔运算)并且必须遵循特定的顺序。因此,我们寻求一种新的方式来编码CAD命令和它们的顺序在一个基于变压器的自动编码器。3. 方法我们现在展示我们的DeepCAD模型,它围绕CAD命令序列的新表示(第二节)。3.1.2)。我们的CAD表示是专门定制的,用于馈送到神经网络中,例如所提出的基于变换器的自动编码器(Sec.3.2)。它还导致训练的自然目标函数(Sec.第3.4段)。为了训练我们的网络,我们创建了一个新的数据集,这个数据集比现有的相同类型的数据集要大得多。3.3),和一个本身可以服务于超越这项工作的未来研究。3.1. 神经网络CAD模型提供了两个级别的表示。在用户交互级别,CAD模型被描述为用户(在CAD软件中)执行以创建实体形状的一系列操作-例如,用户可以在2D平面上绘制闭合曲线轮廓,然后将其挤压成3D实体形状,该3D实体形状通过其他操作(诸如与另一实体形状的布尔并集)进一步处理。6774hihi2{hi}hi命令参数hSOLi;Lx,y:线终点(线)x,y:圆弧端点草图1拉伸1草图2拉伸2参数化命令序列:一(弧)R(圈选)E(挤出):扫掠角度f:逆时针标记x,y:中心r:半径✓,$,ц:草图平面方向px、py、pz:草图平面原点s:关联草图截面轮廓e1、e2:向两侧拉伸的距离图2.由表1中的命令指定的CAD模型示例。(顶部)CAD模型的构造序列,使用命令类型进行(底部)模型的命令序列在这种情况下未示出参数归一化和量化。在“草图1”中,L 2 -A 3 - L 4 - L 5形成一个回路(蓝色),C 7形成另一个回路(绿色),这两个回路限定了草图轮廓(灰色)。已创建实体形状(见图)。2)的情况。我们将这样的规范称为CAD命令序列。在命令序列后面是CAD模型提供一个命令序列,它的 B-rep 会 自 动 计 算 ( 通 常 通 过 行 业 标 准 库Parasolid)。它由拓扑组件(即,顶点、参数化边和面)以及它们之间的连接以形成实体形状。在这项工作中,我们的目标是生成模型的CAD命令序列,而不是B-代表。这是因为B-rep是命令序列的抽象:可以容易地将命令序列转换成B-rep,但是由于不同的命令序列可能导致相同的B-rep,因此转换是困难的。此外,命令序列是人类可解释的;它可以被容易地编 辑 ( 例 如 , 通 过 将 它 们 导 入 CAD 工 具 ( 例 如AutoCAD和Onshape),允许它们用于各种下游应用。3.1.1CAD命令成熟的CAD工具支持一组丰富的命令,尽管实际上只有一小部分是常用的。在这里,我们考虑经常使用的命令的子集(参见表1)。这些命令分为两类,即草图和拉伸。虽然概念上很简单,但它们具有足够的表现力,可以生成各种各样的形状,如[48]所示。Sketch. 草图命令用于在三维空间中的二维平面上指定闭合曲线。在CAD术语中,每条闭合曲线被称为环,并且一个或多个环形成被称为轮廓的闭合区域(参见2)的情况。在我们的表示中,配置文件由下式描述:b:布尔类型,u:拉伸类型hEOSi;表1. CAD命令及其参数。hSOLi表示循环的开始;hEOSi表示整个序列的结束其边界上的循环列表;循环总是以指示符命令SOL开始,随后是一系列曲线命令Ci。我们以逆时针顺序列出循环上的所有曲线,从起点位于最左下角的曲线开始;并且轮廓中的循环根据其边界框的左下角进行排序图2显示了两个草图截面轮廓。在实践中,我们考虑使用最广泛的三种曲线命令:画一条直线、一条弧线和一个圆。 而其他曲线命令可以很容易地添加(见第2节)。 5),来自我们的大规模真实世界数据集的统计数据(在第二节中描述)。3.3)显示,这三类命令占案件的92%。每个曲线命令Ci由其曲线类型tiSOL、L、A、R及其在表1中列出的参数来描述。曲线参数指定曲线在草图平面的局部参照系中的2D位置,其自身在3D中的位置和方向将在关联的拉伸命令中简要描述。由于每个循环中的曲线都是一个接一个地连接在一起的,为了简洁起见,我们将曲线的起始位置从其参数列表中排除;每条曲线总是从循环中其前一个的第一条曲线始终从草图平面的原点开始,原点的世界空间坐标在拉伸命令中指定简而言之,草图轮廓S由环S=[Q1,. ..,其中每个循环Qi由从指示符命令SOL开始的一系列曲线组成(即, Qi=[SOL,Cl,. ......、 Cni]),并且每个曲线命令Cj=(tj,pj)指定曲线类型ti及其形状参数pj(参见图1B)。2)的情况。挤出。拉伸命令有两个用途。1)它将草图截面轮廓从2D平面拉伸到3D实体中,拉伸类型可以是单侧、对称或CAD施工流程:L5LE8EffRfOL4Rr2一个36775平均池化Transformer编码器嵌入C1CNCzi=1⇥-hi⇥ ⇥i=1···- -相对于截面轮廓的草图平面为双侧。2)该命令还指定(通过表1中的参数b)如何通过布尔运算之一来将新挤出的3D主体与先前创建的形状合并:创建新主体,或者与现有主体接合、切割或相交拉伸轮廓(由一个或多个曲线命令组成)始终引用紧挨在拉伸命令之前描述的轮廓。因此,拉伸命令需要定义该截面轮廓草图平面的三维方向这由旋转矩阵定义,由表1中的(✓,ц,$)参数确定。该矩阵用于将世界参考系与平面此外,命令参数包括挤出轮廓的比例因子s;这个比例因子背后的原理将在第2节中讨论。第3.1.2条。利用这些命令,我们将CAD模型M描述为与挤出命令交错的曲线命令序列(参见图1B)。2)的情况。换句话说,M是命令序列M=[C1,. ..,其中每个Ci具有指定命令类型ti和参数pi的形式(ti,pi)。3.1.2网络友好表示我们对CAD模型M的规范类似于自然语言。词汇表由单个CAD命令组成,按顺序表示以形成句子。句子的主语是素描轮廓;谓语是前谓语。这种类比表明,我们可以利用网络结构,例如Transformer网络[40],成功地在自然语言处理中实现我们的目标。然而,CAD命令在几个方面也不同于自然语言。每个命令都有不同数量的参数。在一些命令(例如,挤出),参数是连续值和离散值的混合,并且参数值跨越不同的范围(回想表1)。这些特性使命令序列不适定,可直接用于神经网络。为了克服这一挑战,我们正规化的尺寸的命令序列。首先,对于每个命令,其参数被堆叠到161向量中,其元素对应于表1中的所有命令的集合参数(即,pi=[x,y,,f,r,✓,$,ц,px,py,pz,s,el,e2,b,u])。每个命令的未使用参数都简单地设置为1。接下来,我们固定每个CAD模型M中的命令的总数Nc。这是通过用空命令EOS填充CAD模型的命令序列直到序列长度达到Nc来完成的。在实践中,我们选择NC= 60,这是我们训练数据集中出现的最大命令序列长度。此外,我们统一了连续和离散参数,通过量化的连续参数。为此目的,学习常数嵌入Transformer解码器线性C-1CNC图3. 我们的网络架构。表示为命令序列M=Ci Nc的输入CAD模型首先被投影到嵌入空间,然后被馈送到编码器E,从而产生潜在向量z。解码器D将学习的常数嵌入作为输入,并且还关注潜在向量z。然后,它输出预测的命令序列M_i={C_i}N_c。我们将每个CAD模型标准化为2 22立方体;我们还在其边界框内规范化每个草图轮廓,并包括比例因子s(在挤出命令中)以将规范化轮廓恢复为其原始大小。规范化限制了连续参数的范围,允许我们将其值量化为256个级别,并使用8位整数表示它们。结果,所有命令参数仅具有离散的值集合。参数量化不仅仅是训练基于变换器的网络的常见实践的后续[36,31,44]。特别是对于CAD模型,这对于提高生成质量至关重要(正如我们在第2节中根据经验确认的那样)4.1)。在CAD设计中,必须考虑某些几何关系,例如平行和垂直草图然而,如果生成模型直接生成连续参数,则通过参数回归获得的它们的值容易出现将破坏这些严格关系的错误相反,参数量化允许网络将节中4.1,我们将介绍消融研究,从经验上证明我们选择CAD命令表示的合理性。3.2. CAD模型我们现在介绍一个自动编码器网络,它利用了我们对CAD命令的表示。图3示出了其结构,并且更多细节在图2中提供。补充文件C。一旦经过训练,网络的解码器部分将自然地用作CAD生成模型。我们的自动编码器基于Transformer网络,灵感来自其成功处理顺序数据[40,13,28]。我们的自动编码器将CAD命令作为输入序列M=[C1,…,C,N,c],其中N,c是固定数(回想第3.1.2)。首先,将每个命令 Ci分别投影到维度dE=256的连续嵌入空间上。然后,将所有嵌入放在一起以馈送到编码器E中,编码器E进而输出潜在向量256。 解码器将潜在矢量z作为输入,6776我我我我2我⇠i、j我paramparam·pos我22CY我··我我e=W帕拉姆岛N N NP并且输出所生成的CAD命令序列M。嵌入。与自然语言处理[ 40 ]中的方法类似,我们首先将每个命令Ci投影到公共嵌入空间上。然而,与自然语言中的单词不同,CAD命令Ci=(ti,pi)具有两个不同的部分:其命令类型ti和参数pi。因此,我们制定了一种不同的计算方法Ci的嵌入:取其为三个嵌入之和,即e(Ci)=ecmd+eparam+epos2RdE。其中表示解码器的网络参数3.3. 创建CAD数据集存在几个CAD设计数据集,但没有一个足以满足我们的训练。特别地,ABC数据集[23]从Onshape收集了大约100万个CAD设计,Onshape是一种基于网络的CAD工具和存储库[3]。虽然这是一个大规模的数据集,但其CAD设计是以B-rep格式提供的,没有足够的信息来恢复设计如何用于命令类型的第一嵌入ecmd帐户由CAD操作构造。最新的Fusion 360ti,由ecmd给出 =Wcmd6c. 此处Wcmd 2RdE6是一个Gallery数据集[48],提供由专业人员构建的CAD设计并且是指示六个命令类型之中的命令类型ti第二个嵌入e参数考虑命令参数。如在第二节介绍。3.1.2中,每个命令有16个参数,每个参数被量化为8位整数。我们将这些整数中的每一个转换为一个独热向量6p(j=1.. 16)的维度28+1= 257;附加维度用于指示该参数在该命令中未使用。把所有的独热向量在矩阵6p2R25716中,我们嵌入每个参数文件草图和挤压,它提供了CAD命令序列为每个设计。然而,这个数据集只有8000个CAD设计,不足以训练一个良好的广义生成模型。因此,我们创建一个新的数据集,是大规模的,并提供CAD命令序列。除了用它来训练我们的自动编码器网络外,这个数据集还可以用于未来的研究。我们已将其公开。为了创建数据集,我们还利用Onshape分别使用另一个可学习矩阵Wb2RdE257,信号装置. 我们从ABC数据集开始对于每个CAD模型,然后通过线性组合各个嵌入,数据集提供了Onshape原始CAD设计的链接层Wa2RdE16dE,即然后我们使用Onshape参数ai参数 flat(Wb 6p),(1)tureScript [5])来解析该设计中使用的CAD操作和参数对于使用以下操作的CAD模型:其中flat()将输入矩阵展平为向量。最后,类似于[40],位置嵌入e是yond草图和挤出,我们简单地丢弃它们。对于其余的模型,我们使用FeatureScript程序来提取指示命令C的索引我i在整个命令中草图截面轮廓和拉伸,并使用序列,定义为epos=Wpos6i,其中WposRdENc是一个可学习的矩阵,6iRNc是一个独热向量,在索引i处填充1,否则填充0。编码器。我们的编码器E由四层Transformer块组成,每个Transformer块具有八个注意头和512的前馈维度。编码器采用嵌入序列[e1,..,eN]作为输入,并输出向量表1中列出的命令。最后,我们收集了一个包含178,238个CAD设计的数据集这比现有的相同类型的数据集大几个数量级[48]。数据集以90%-5%-5%的随机方式进一步分为训练集、验证集和测试集,随时可用于训练和测试。补充资料中的图90 0c文档从我们的数据集中抽取了一些CAD模型。[e1,..,eN];每个具有相同的维度dE=256。输出向量最终被平均以产生单个dE维潜在向量z。译码器同样构建在Transformer块上,我们的解码器D具有与编码器相同的超参数设置。它将学习的常数嵌入作为输入,同时还关注潜在向量z-类似的输入结构已在[9,10]中使用。来自最后一个Transformer块的输出被馈送到线性层以预测CAD命令序列ˆˆˆˆ3.4. 训练和运行时生成训练 利用数据集,我们使用标准的交叉熵损失来训练我们的自动编码器网络。形式上,我们将预测的CAD模型和地面实况模型之间的损失定义为XcXcXL=M=[Cl,...,CNc],包括命令类型ti以及每个命令的参数pi。而不是i=1i=1j=1自回归策略通常用于自然语言处理[40],我们采用前馈策略[9,10],我们模型的预测可以分解为Nc其中`(,)表示标准交叉熵,Np是参数的数量(在我们的示例中Np=16),Ø是平衡两项的权重(在我们的示例中Ø= 2注意,在地面实况命令序列中,一些命令是空的(即,填充命令hEOSi)i=1`(ti,ti)+Ø`(pi,j,pi,j),(3)p(M|z,)=p(ti,pi|z,),(2)并且一些命令参数未被使用(即,标记为6777#“-X·X X|方法ACC命令“ACC参数“median InvalidCD#比率#我们的+八月99.5097.980.7522.72我们99.3697.470.7873.30Alt-ArcMid99.3497.310.7903.26Alt-转换99.3397.560.7923.30Alt-Rel99.3397.660.8633.51Alt-注册--2.1424.32表2. 自动编码的定量评价。ACC cmd和ACC param都乘以100%,CD乘以103. 较高的度量值指示较好的自动编码质量。度量值越低越好。由于Alt-Regr不使用量化参数,因此Alt-Regr的ACC值不可用①的人。在这些情况下,它们对(3)中的求和项的相应贡献被简单地忽略。训练过程使用Adam优化器[22],学习率为0。001和2000初始步的线性预热期。我们设定了0的辍学率。1的所有变换器块,并应用梯度裁剪1。0的反向传播。我们训练网络1000个epoch,批量大小为512。CAD生成。一旦自动编码器被良好地训练,我们就可以使用256维潜在向量z来表示CAD模型。为了自动生成CAD模型,我们在我们学习的潜在空间上采用了潜在GAN技术[6,12,50]生成器和鉴别器都像具有四个隐藏层的多层感知器(MLP)网络一样简单,并且它们使用具有梯度惩罚的Wasserstein-GAN训练策略进行训练[7,18]。最后,为了生成CAD模型,我们从多元高斯分布中采样一个随机向量GAN的输出是输入到我们的基于变换器的解码器的潜在向量z4. 实验在本节中,我们从两个角度评估我们的自动编码器网络:CAD模型的自动编码(第4.1)和潜在空间形状生成(第4.2)。我们图4.自动编码结果的比较。 隐藏的边也将渲染为可见(白色)。地面实况(GT)在底行中示出。虚线框中突出显示了我们的最佳结果。然后,我们将得到的潜在向量解码为CAD模型M。自动编码器通过M和M的差值来评估。指标. 为了彻底了解我们的自动编码器的性能,我们测量了M和M之间的差异,包括CAD命令和生成的3D几何形状。 我们建议使用两个指标,即命令精度(ACCcmd)和参数精度(ACC参数)来评估命令精度。前者测量预测的CAD命令类型的正确性,定义为Nc还讨论了可能的应用程序,可以受益于我们的CAD生成模型(节。4.3)。ACCcmd=II[t]Ni=1=ti].(四)没有以前的生成模型的CAD设计,因此没有我们的模型直接比较的方法。我们的目标是了解我们的模型在不同指标下的性能,并通过一系列消融研究来证明我们模型中的算法选择。4.1. CAD模型自动编码性能通常被用来表示生成模型可以表达的程度这里的符号如下那些在秒。3 .第三章。Nc表示CAD命令的总数,并且ti和ti分别是地面实况和恢复的命令类型I[]是指示函数(0或1)。一旦命令类型被正确地恢复,我们还评估命令参数的正确性这就是参数准确度(ACC参数)所要测量的内容:Nc|pi|目标数据分布[6,12,17]。在这里,我们使用我们的自动编码器网络来编码CAD模型M缺失ACC参数=1I[pKi=1j =1i、j-pi,j | <⌘]I[ti =ti],(5)Alt-注册Alt-RelAlt-转换Alt-ArcMid我们我们的+八GTC我6778i=1其中K=PNc I[ti=ti]|pi|是Pa的总数-所有正确恢复的命令中的参数。注意,pi,j和p(i,j)都被量化为8位整数。将α选择为考虑参数量化的容限阈值。在实践中,我们使用= 3(共256个级别)。为了测量恢复的3D几何形状的质量,我们使用倒角距离(CD),这是在离散形状(例如点云)的许多先前生成模型中使用的度量[6,17,12]。在这里,我们通过分别在参考形状和恢复形状的表面上均匀地采样2000个点来评估CD;并且测量两组点之间的CD此外,不能保证输出CAD命令序列总是产生有效的3D形状。在极少数情况下,输出命令可能导致无效拓扑,因此无法从该CAD模型中提取点云。因此,我们还报告无效比率,即未能转换为点云的输出CAD模型的百分比。比较方法。由于缺乏现有的CAD生成模型,我们比较了我们的模型与几个变量,以证明我们的数据表示和训练策略。特别地,我们考虑以下变体。Alt-Rel 表示曲线相对于其前一曲线在循环中的位置的位置它与我们的模型形成对比,该模型在曲线规范中使用绝对位置。Alt-“平移”(Trans)在拉伸命令中包括环的起点位置(除草图平面的原点外)。 这里,起点位置和平面的原点在CAD模型的世界参考系中。相比之下,我们提出的方法只包括草图平面的原点,原点被转换到循环的起始位置,因此更紧凑。Alt-ArcMid 使用弧的终点和中点位置指定弧,但不使用表1中使用的扫掠角度和逆时针标志。Alt-Regr 使用损失函数中的标准均方误差回归CAD命令的所有参数。与我们提出的模型不同,在这种方法中不需要量化连续参数。我们的+Aug使用与我们提出的解决方案相同的数据表示和训练目标,但它通过包括随机组成的CAD命令序列来增强训练数据集(尽管在少数情况下增强可能是无效的CAD序列)。有关这些变体的更多详细信息,请参见补充文件D讨论结果。 定量结果见表2,更详细的CD评分见补充文件的表4一般来说,Ours+Aug(即,训练与合成数据增强)达到最佳性能,这表明随机组成的数据可以提高网络Alt-ArcMid的性能与我们的类似。这意味着图5.从我们的模型(顶部)和I-GAN(底部)随机生成的3D形状方法COV“MMD# JSD#我们78.131.45三点七六左旋甘氨酰77.731.275.02表3. 在点云度量下测量的形状生成。我们使用I-GAN [6]中的度量。MMD和JSD都乘以102。“:越高越好,#:越低越好。中间点表示是表示弧的可行替代。而且,Alt-Trans在CD方面的表现略差于我们的(例如,见图中的绿色模型。4).也许更有趣的是,虽然Alt-Rel具有较高的参数准确性(ACC参数),甚至比我们的更高,但它具有相对较大的CD得分,有时是无效的拓扑结构:例如,图2第二行中的黄色模型。4有两个三角形循环相互交叉,导致无效的拓扑。这是由预测的曲线位置的误差引起的。在Alt-Rel中,曲线位置是相对于其前一曲线指定的,因此误差沿循环累积。最后,不量化连续参数的Alt-Regr见图中的橙色模型。4).跨数据集泛化。我 们 还验证了我们的自动编码器的通用化:我们在我们创建的数据集上训练了我们的自动编码器,并在[ 48 ]中提供的较小数据集上对其进行了评估。 这些数据集由不同来源构建:我们的是基于Onshape仓库的模型,而他们的是从Autodesk Fusion360的设计中产生的。尽管如此,我们的网络在他们的数据集上推广得很好,实现了相当的定量性能(见第二节)。补充文件中的E4.2. 形状生成接下来,我们评估从潜在向量生成CAD模型(在第2节中描述)。第3.4段)。 我们生成的CAD模型的一些示例如图所示。1、更多结果我们左旋甘氨酰6779SGGGSGSSG重建移动面圆角图6. 基于点云的CAD模型重建。(Top)输入点云。(底部)重建的CAD模型。示于图第十四条补充文件。由于没有用于CAD设计的现有生成模型,因此我们选择将我们的模型与广泛研究的点云3D形状生成模型I-GAN[6]进行比较。我们注意到,我们的目标是不显示一个优于另一个,因为两个生成模型有不同的应用领域。相反,我们证明了我们的模型此外,我们的模型的形状,如图所示。5,有更清晰的几何细节,他们可以很容易地用户编辑(图。(七).指标. 为了与点云生成模型进行定量比较,我们遵循I-GAN [6]中使用的度量这些度量测量两组3D点云形状之间的差异,即地面实况形状的集合和生成的形状的集合。具体而言,覆盖率(COV)测量中的形状可以很好 地 近 似 于 中 的 形 状 的 百 分 比 。 最 小 匹 配 距 离(MMD)通过和的两个点云之间的最小匹配距离来测量的保真度。Jensen-Shannon散度(JSD)是标准统计距离,用于测量和的点云分布之间的相似性。计算这些指标的详细信息见附录(第G)。讨论结果。图5示出了来自我们的CAD生成模型和I-GAN的一些输出示例。然后,我们将地面实况和生成的CAD模型转换为点云,并评估指标。结果报告在表3中,表明我们的方法在点云度量方面具有与I-GAN相当的性能。然而,CAD模型,由于其参数表示,具有更光滑的表面和更清晰的几何特征比点云。4.3. 未来应用CAD生成模型可以在许多应用中用作基本算法块。虽然我们的工作重点是生成模型本身,而不是下游应用程序,但在这里我们讨论它在两种情况下的使用。利用CAD生成模型,可以获取点云(例如,通过3D扫描获得)并重建CAD模型。作为初步演示,我们使用我们的自动编码器将CAD模型M编码为潜在向量C. 然后,我们利用PointNet++编码器[35]对其进行训练图7. 用户编辑。我们重建的CAD模型可以在任何CAD工具中轻松编辑。这里,经历CAD操作的区域以橙色突出显示。以将M的点云表示编码到相同的潜在向量c中。在推理时,提供一个点云,我们使用PointNet++编码器将其映射到一个潜在的向量,然后由我们的自动编码器解码成CAD模型。我们在图中展示了一些视觉示例。6和补充文件中的定量结果(表6)。此外,生成的CAD模型可以直接导入到CAD工具中供用户编辑(见图1)。(七).这是由CAD生成模型启用的独特特征,因为用户在点云或多边形网格上编辑将麻烦得多。5. 讨论和结论对于CAD生成模型,我们的方法有几在这一点上,我们已经考虑了三种最广泛使用的曲线命令类型(直线,圆弧,圆),但也可以轻松添加其他曲线命令。例如,三次贝塞尔曲线可以由三个控制点以及从其前身的结束位置开始的起始点来指定这些参数可以以与第2节中所述相同的方式第3.1条其他操作(如旋转草图)可以采用类似于拉伸命令的方式进行编码然而,诸如圆角的某些CAD操作对形状边界的部分进行操作将这些命令的生成模型是留给未来的研究。并非每个CAD命令序列都能生成拓扑有效的形状。我们的生成网络不能保证其输出的CAD序列的拓扑可靠性在实践中,生成的CAD命令序列很少失败。当命令序列很长时,故障变得更有可能。我们提出并分析了一些失败的情况下,在第二节。F的补充文件,提供一些饲料为今后的研究。总之,我们提出了DeepCAD,一个用于CAD设计的深度生成模型。几乎所有先前的3D生成模型产生离散的3D形状,例如体素、点云和网格。这项工作,据我们所知,是第一个生成模型的CAD设计。为此,我们还介绍了一个大型的CAD模型数据集,每个表示为一个CAD命令序列。鸣谢。我们感谢匿名评论者的建设性反馈。这项工作得到了美国国家科学基金会(1910839和1816041)的部分支持。输入输出6780引用[1] AutoCAD.https://www.autodesk.com/products/autocad. 2[2] 融合360.https://www.autodesk.com/products/fusion-360.2[3] Onshape。得http://onshape.com余弦值. 二、五[4] Onshape开发人员文档。https://onshape-public.github.io/docs/网站。5[5] Onshape特征脚本。https://cad.onshape.com/www.example.com 5[6] Panos Achlioptas,Olga Diamanti,Ioannis Mitliagkas,and Leonidas Guibas.学习3D点云的表示和生成模型。在Jennifer Dy和Andreas Krause,编辑,第35届机器学习国际会议论文集,机器学习研究论文集第80卷,第40-49页,Stockholmsmäs-san,瑞典斯德哥尔摩,2018年7月10日至15日。PMLR。一二六七八四[7] Martin Arjovsky 、 Soumith Chintala 和 Léon Bottou 。wasser-stein生成对抗网络。在Doina Precup和Yee WhyeTeh编辑的第34届国际机器学习会议论文集,机器学习研究论文集第70卷,第214-223页PMLR。六、二[8] Ruojin Cai 、 Guandao Yang 、 Hadar Averbuch-Elor 、Zekun Hao 、 Serge Belongie 、 Noah Snavely 和 BharathHariharan。学习形状生成的梯度场欧洲计算机视觉会议(ECCV),2020年。一、二[9] 尼古拉斯·卡里昂、弗朗西斯科·马萨、加布里埃尔·辛纳夫、尼古拉斯·乌斯尼尔、亚历山大·基里洛夫和谢尔盖·扎戈鲁伊科。使用变压器进行端到端对象检测。在EuropeanConferenceonComputerVision 中 , 第213Springer,2020年。二、五[10] Alexandre Carlier,Martin Danelljan,Alexandre Alahi,and Radu Timofte. Deepsvg:矢量图形动画的分层生成网络。In H.Larochelle,M.兰扎托R.哈德塞尔M. F. Balcan和H. Lin,编辑,Advances inNeural Information Processing Systems , 第 33 卷 , 第16351-16361页。Curran Associates,Inc. 2020. 二、五[11] Zhiqin Chen,Andrea Tagliasacchi,and Hao Zhang.Bsp-net : 通 过 二 进 制 空 间 划 分 生 成 紧 凑 的 网 格 。在IEEE/CVF计算机视觉和模式识别会议论文集,第45-54页,2020年。一、二[12] 陈志勤和张浩。学习生成式形状建模的隐式字段。在IEEE/CVF计算机视觉和模式识别会议论文集,第5939-5948页一、二、六、七[13] 雅各布·德夫林张明伟李肯顿和克里斯蒂娜·图塔诺娃。Bert:为语言理解而进行的深度双向转换器的预训练。arXiv预印本arXiv:1810.04805,2018。二、四[14] AlexeyDosovitskiy,LucasBeyer,AlexanderKolesnikov,Dirk Weissenborn,Xiaohua Zhai,ThomasUnterthiner , Mostafa Dehghani , Matthias Minderer ,Georg Heigold,Sylvain Gelly,et al.一张图片值16 x16个单词:Trans-用于大规模图像识别的成形器。arXiv预印本arXiv:2010.11929,2020。2[15] Yaroslav Ganin , Sergey Bartunov , Yujia Li , EthanKeller,and Stefano Saliceti.计算机辅助设计作为语言。arXiv预印本arXiv:2105.02769,2021。2[16] Rohit Girdhar,David F Fouhey,Mikel Rodriguez,andAb-hinav Gupta.学习对象的可预测和生成矢量表示。在欧洲计算机视觉上,第484-499页。施普林格,2016年。2[17] Thibault Groueix、 Matthew Fisher、 Vladimir G Kim 、Bryan C Russell和Mathieu Aubry。一种纸塑方法来学习3D表面生成。第216一、二、六、七[18] Ishaan Gulrajani 、 Faruk Ahmed 、 Martin Arjovsky 、Vincent Dumoulin和Aaron Courville。改进水-石甘的训练 第 31 届 神 经 信 息 处 理 系 统 国 际 会 议 论 文 集 ,NIPS'17 , 第 5769-5779 页 , 美 国 , 2017 年 。 CurranAssociates
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功