没有合适的资源?快使用搜索试试~ 我知道了~
117680CAPRI-Net:学习具有自适应原始组装的紧凑CAD形状0Fenggen Yu 1 Zhiqin Chen 1 Manyi Li 1 , 3 Aditya Sanghi 2 Hooman Shayani 20Ali Mahdavi-Amiri 1 Hao Zhang 101 Simon Fraser University 2 Autodesk AI Lab 3 Shandong University0摘要0我们引入了CAPRI-Net,这是一个自我监督的神经网络,用于学习以自适应原始组装的形式表示的紧凑且可解释的3D计算机辅助设计(CAD)模型。给定一个输入的3D形状,我们的网络通过构造实体几何(CSG)操作将其重建为由二次曲面原始组装而成的形状。在没有任何真实形状组装的情况下,我们的自我监督网络通过重建损失进行训练,从而实现具有清晰边缘和合理CSG树的忠实3D重建。虽然CAD模型的参数化特性使得它们在局部更可预测,但在形状层面上,存在着很多结构和拓扑变化,这对于当前用于3D形状的最先进的神经模型来说是一个重要的泛化性挑战。我们的网络通过针对每个测试形状的自适应训练来应对这一挑战,通过这种训练方式,我们对在模型集合上预训练的网络进行微调。我们在ShapeNet和ABC上评估了我们的学习框架,这是迄今为止最大且最多样化的CAD数据集,以重建质量、清晰边缘、紧凑性和可解释性等方面展示了对于神经CAD重建的当前替代方案的优越性。01.引言0计算机辅助设计(CAD)模型在工程和制造中无处不在,用于驱动与3D形状和几何相关的决策和产品演进。随着AI技术在所有相关领域的快速发展,出现了几个CAD数据集[29,50,57],以支持几何深度学习的研究。CAD模型的一个共同特点是它们由沿着锐利边缘相遇的定义良好的参数化曲面组成。虽然CAD形状的参数化特性使得它们在局部和原始级别上更可预测,但在形状层面上存在着很多结构和拓扑变化,这对于当前用于3D形状的神经模型来说是一个重要的泛化性挑战。0图1.我们的网络通过CSG操作以原始组装的形式学习3DCAD形状的紧凑且可解释的隐式表示,无需任何组装监督。0另一方面,现有的原始拟合网络通常专注于具有简单、因此有限的原始形状的抽象[39, 42, 54,64],从而阻碍了重建质量。在本文中,我们开发了一个用于3DCAD形状的学习框架,以解决这些挑战。我们的目标是设计一个神经网络,可以学习CAD模型的紧凑且可解释的表示,从而实现高质量的3D重建,同时网络在迄今为止最大且最多样化的CAD数据集ABC[29]上具有良好的泛化能力。该数据集是一个包含一百万个CAD模型的集合,涵盖了广泛的结构、拓扑和几何变化,没有任何类别标签,与其他著名的人造形状库(如ShapeNet[4]和ModelNet[60])相比,这些库只有有限的物体类别。因此,针对ABC数据集的目标提出了一个真正的泛化性挑战。0我们的网络将输入的3D形状作为点云或01虽然完整的ShapeNet数据集有270个物体类别,但据我们所知,大多数学习方法只适用于最多13个类别。|a1||a2||ap||b1||b2||bp|g1g2gp......x12y12z11xn2yn2zn1.........×PQq1qnCalarsConvex LWConcave LrecFinal Primitives LT= DTClCr......T117690形状编码器0原始预测0交集 并集 差集0基元0输入0图2.我们网络的概述。给定一个输入的3D形状,可以是点云或体素,我们首先使用编码器将其映射为潜在代码。这个潜在代码用于预测包含在P中的p个具有参数的基元。对于任何包含在矩阵Q中的查询点qj,我们可以获得矩阵D,指示查询点到每个基元的近似有符号距离。选择矩阵T用于从基元集合中选择一小组基元,以将凸形状组合到矩阵C中,该矩阵指示查询点相对于凸形状的内外值。然后,我们对C的每一半(即Cl和Cr)执行min操作,将凸形状合并为两个(可能是)凹形状,并获得左右凹形状的内外指示向量al和ar。最后,我们执行差集操作al -ar,以获得最终的逐点内外指示器s。LT,LW和Lrec是我们为网络定义的损失函数。0体素网格,并通过构造实体几何(CSG)操作,包括交集、并集和差集,通过紧凑的四次曲面基元组装进行重建。具体而言,学习到的四次曲面通过一系列二进制选择矩阵进行组装。这些矩阵将四次曲面相交以形成凸部分,然后进行并集操作以获得可能的凹形状,最后差集操作自然地模拟了在CAD中经常遇到的高亏格模型中存在的孔洞。0我们网络的架构,如图2所示,受到BSP-Net[8]的启发。在高层次上,它是一个基于坐标的网络,通过反映重建误差的占用损失进行训练;我们还添加了一个新的损失来适应新的差集操作。重建是在通过应用于输入形状的编码器获得的潜在空间中进行的。网络的其他可学习参数包括定义四次曲面和CSG操作参数的矩阵,以及将潜在代码映射到基元参数矩阵的MLP权重。得到的重建形式是一个CSG组装,而网络训练不需要任何真实的形状组装 -网络是通过重建损失进行自我监督的。0由于ABC中CAD形状的显著变化,我们发现当我们的网络仅在模型集上进行训练时,其泛化能力不好。事实上,我们测试过的所有现有的重建网络,包括IM-Net [10],OccNet[35],DISN [63],BSP-Net[8],在ABC数据集上的泛化能力都不好。我们通过进一步微调网络来解决这个问题,即将在训练集上预训练的网络微调到测试CAD形状上,以使得得到的网络适应测试形状。预训练和微调都使用相同的网络架构,如图2所示,只是在微调过程中为了效率不重新训练编码器。我们将我们的学习框架命名为CAPRI-Net,因为它被训练用于为CAD形状生成紧凑且适应性强的基元组装。0我们在ABC和ShapeNet上评估CAPRI-Net,评估重建质量、基元数量作为紧凑性的度量,以及通过恢复的基元组装的自然程度作为可解释性的度量。我们与BSP-Net [8]、UCSG[28]和CSGStump[12]进行了定性和定量比较,它们都是适用于CAD形状的最先进的学习方法代表。结果表明,CAPRI-Net在所有方面都表现出优越性。0CAPRI-Net的主要应用是3D形状重建,网络生成的新颖隐式场与经典计算机图形学方法[23](例如径向基函数[3])或最近的神经隐式模型(例如IM-Net [10]、OccNet[35]和SIREN[48]等)所获得的隐式场不同。我们的隐式表示是结构化的,作为一个紧凑的组装,能够高质量地重建3D CAD模型。02. 相关工作0我们涵盖了与我们的工作最相关的先前方法,包括几何基元拟合的经典和新兴技术,以及学习隐式和结构化3D表示的最新方法。0基元检测和拟合。在计算机图形学和计算辅助几何设计中,对基元拟合进行了大量研究。给定一个原始的3D对象,不同的算法如RANSAC [17]和Hough变换[24]已被用于检测基元[27]。基于RANSAC的方法已被用于[32,45]中,在稠密点云中检测多个基元。然而,基本的基元拟合技术如RANSAC仅限于预定义的基元类型,无法预测复杂CSG树中需要减去的形状。然后,诸如[15,19]的方法从原始输入中提取了CSG树。Hough变换已被用于在点云中检测平面[2]和圆柱体[44]。然而,这些方法...3.1. Primitive Prediction117700通常,基于ods的方法不具有泛化能力,因为它们需要每个形状的不同超参数。最近,已经使用基于神经网络的算法在点云上检测和拟合基元[31, 47]。SPFN[31]使用监督学习首先检测基元类型,然后估计基元的参数。ParseNet[47]通过合并样条路径和使用可微分的度量学习分割来扩展SPFN。我们的方法不需要监督,能够重建一个紧凑的基元组装。0神经隐式形状表示。神经隐式表面表示[10, 35,40]因在训练期间使用较小的内存占用量生成复杂、高空间分辨率的3D形状而广受欢迎。这种表示已被用于3D领域的部分理解[9, 14, 59]、无监督单视图重建[26, 34, 38,55]和场景或物体完成[11,43]。最近,神经隐式表示还扩展到2D图像和视频,用于单场景完成[36, 48, 52]、图像生成模型[1, 16,49]、超分辨率[7]和动态场景[33, 41,62]。在我们的工作中,我们将神经隐式表面表示扩展到CAD模型,并展示了我们的方法如何克服CAD设计所面临的一些挑战。0结构表示。结构感知的3D表示通常由原子几何实体及其关系[5]定义,其中原子实体可以表示语义部分[20, 30, 37, 51,59, 61]或低级几何基元[8, 13, 42,54]。这些实体可以组合成完整的形状,作为部分集合[42,54]、树结构[8, 13, 28, 46]、场景图[18, 56]、分层图[30,37]或结构程序[53]。在CAPRI-Net中,我们使用由约束的隐式四次方程定义的基元来表示原子几何实体。诸如Superquadrics[42]之类的作品使用了无约束的显式超二次方程形式,但对于CAD建模而言,这些基元的可解释性较低。此外,它们无法产生基于平面的交点以重建尖锐特征。0用于学习CSG基元组装的神经网络包括CSG-Net[46]和DeepCAD[58],它们需要监督,还有其他无监督的方法[8, 12,28]。其中,BSP-Net[8]与我们的工作最相关,但它们在几个重要方面存在差异:1�CAPRI-Net可以从单个四次方程生成多个不同的可解释基元,而BSP-Net仅使用平面。2�与BSP-Net不同,我们的网络包括差异操作,非常适合CAD建模。3�此外,我们引入了一个新的损失项,鼓励使用差异操作,从0UCSG-Net[28]也以无监督的方式学习CSG树,但只使用盒子和球体基元,这可能会显著限制形状重建的质量。而且,与BSP-Net和CAPRI-Net不同,UCSG-Net的CSG操作顺序是动态的而不是固定的。然而,顺序的灵活性或普遍性以增加组装学习任务的难度为代价。正如我们将展示的,使用固定的CSG操作顺序(参见图2),CAPRI-Net倾向于产生更自然、更紧凑的CSG树,而不是UCSG-Net。03. 方法0在一项并行工作中,CSG-Stump[12]也遵循固定的CSG操作顺序。与我们的工作的主要区别包括:1�CAPRI-Net依赖于一个简单的二次方程来表示所有基元,而CSG-Stump需要为每种基元类型预设基元的数量。2�与BSP-Net[8]一样,CSG-Stump使用一个不可微的逆层来建模形状差异,这限制了差异操作对简单基元的适用性。相比之下,我们的网络具有专门的可微分差异层和一个新的损失项,以支持处理复杂的凸面形状,从而提高了我们方法的可解释性。03.1. 基元预测0我们的网络被称为CAPRI-Net,它以3D体素形状作为输入,并通过预测一组基元来重建形状,这些基元可以通过CSG树组合成中间的凸面和凹面形状。在CAPRI-Net中,基元通过一个二次方程隐式表示,该方程确定查询点qj = (x, y,z)在该基元内部还是外部。我们选择的二次方程具有产生几个有用的基元的能力,包括球体、平面或圆柱体。体素化输入被馈送到一个3D卷积网络,与IM-Net[10]中的编码器相同,以产生传递给我们的基元预测网络的潜在代码(参见图2)。基元预测网络的输出是矩阵P,其中包含预测基元的参数,并用于确定查询点与所有预测基元的有符号距离。然后,这些有符号距离传递给三个CSG层,以输出每个查询点的占用值,指示点是否在形状内部或外部。0从适当的编码器中获得大小为256的形状代码后,将代码传递给我们的基元预测网络,该网络是一个多层感知器(MLP),用于输出基元的参数。为了表示基元,我们使用以下二次方程:0ax2 + by2 + cz2 + dx + ey + fz + g = 0. (1)0我们的MLP输出Pp×7,其中p是由七个参数(a, b, c, d, e, f,g)表示的基元的数量。a∗l (j) = mini0表示外部。(2)0Union.在对基元应用交集运算并形成一组凸形状之后,将这些凸形状组合起来得到更复杂且可能是凹形状的形状。在CAPRI-Net中,我们将凸形状分组为两个分开的形状,其内部/外部指示器存储在ar和al中。这使得网络有机会学习两个形状,然后可以将其输入到差异层中产生0所需的凹陷或孔。为此,我们首先将C分成两个大小为n×c的子矩阵Cl和Cr02.Cl和Cr包含所有点对所有凸形状的内部/外部指示器,这些凸形状将被合并成一个左侧的形状(al)和另一个右侧的形状(ar)。为了计算al和ar,根据我们的训练阶段使用了两个不同的函数和符号。a +和a *0分别表示早期和后期阶段。我们通过对Cl和Cr的每一行应用min操作来获得a * l和a *r。这样,如果点qj在Cl中的任何凸形状内部,它将被认为在a *l中是内部的。假设Cl(j,:)是Cl的第j行,表示点qj相对于凸形状的内部/外部指示器,则我们定义:02(Cl(j, i))0≈0表示内部,>0表示外部。(3)02,a * l和a *r是n×1的向量,指示点是否在左/右凹形状的内部/外部。通过min操作,梯度只能反向传播到具有最小值的凸形状。因此,在训练过程中无法调整和调节其他凸形状。为了促进学习,在我们的多阶段训练的早期阶段,我们通过使用(加权)和的方式将梯度分布到所有凸形状中:0a + l(j) = C(≈102WjC(1−Cl(j, i)))0≈1表示内部,<1表示外部。0(4)其中Wj是权重向量,C将值剪裁到[0,1],a + r的定义与i≥c类似。02.此函数使得C的所有元素在训练过程中都有机会进行调整。然而,在这种乘法中,指向外部点的小值可能相加得到一个大于1的值,将外部点分类为内部点。因此,方程(4)中的内部/外部只是近似估计。为了避免梯度消失,我们最初将Wj设置为非常小的值(即10-5),并通过方程(9)逐渐增加Wj到1。这种设置有助于网络在早期阶段收敛到a +at的适当值,这些值在后期训练阶段最终确定为a *。0差异。在这里,我们引入了我们的新颖差异操作,它有助于网络生成更复杂和更锐利的对象。在获得 a � l 和 a � r后,我们执行以下差异操作:0� 0 内部,> 0外部,(5)s+(j) = min(a+l (j), 1 − a+r (j))L+ = L+rec + LT + LW,(7)LT =�t∈Tmax(−t, 0) + max(t − 1, 0),(8)LW =�i|Wi − 1|.(9)L+rec = 1nn�j=1[Ml(j) ∗ (g(j) − a+l (j))2+Mr(j) ∗ ((1 − g(j)) − a+r (j))2],(10)L∗ = L∗rec + LT ,(11)L∗rec = L∗l + L∗r,(12)L∗l = 1nn�j=1Ml(j) ∗ [(1 − g(j)) ∗ (1 − a∗l (j))+wl ∗ g(j) ∗ a∗l (j)], and(13)L∗r = 1nn�j=1Mr(j) ∗ [g(j) ∗ (1 − a∗r(j))+wr ∗ (1 − g(j)) ∗ a∗r(j)],(14)117720� 1 ≈ 内部,< 1 ≈外部, (6)0其中 s 用于重构形状,因为 s ( j ) 指示查询点 q i是否在内部/外部。请注意,α需要是小的正数,因为当点在形状内部时,s � 靠近 0;请参见第 4.1 节中的参数设置。03.3. 多阶段训练和损失函数0直接学习二进制选择矩阵 T是困难的。此外,正如前面讨论的,相比于 a � ,a +可以更好地进行梯度反向传播。因此,我们采用多阶段训练方案,利用不同的训练策略逐步取得更好的结果。我们从具有更好梯度的操作和函数开始训练,例如 a +中的操作和函数。然后我们切换到更准确和可解释的操作和函数,例如 a � 中的操作和函数。总之,在第 0阶段,选择矩阵 T 不是二进制的,且 a + 中不使用 max操作。在第 1 阶段,T 仍然不是二进制的,但我们使用 max操作来获得 a � 。在第 2 阶段,T变为二进制,以允许对正确基元进行确定性选择。接下来,我们详细讨论每个训练阶段。0阶段 0. 在此阶段,我们应用以下损失:0其中 L T 和 L W 的定义与 BSP-Net [ 8 ] 中类似,通过强制T 的每个条目在 0 和 1 之间,以及 W 的每个条目近似为 1来实现:0CAPRI-Net中的 L + rec与通常在基于隐式表示的深度学习网络中使用的常规重构损失(如 L 1 或 L 2 )不同。请注意,方程 ( 5 ) 中的 s被视为我们网络的最终输出,用于指示查询点是在形状内部还是外部,而 g 保存这些值的真实值:内部为 1 ,外部为 0。我们不直接在 s 和 g上定义损失,而是分别使用两个加权的 L 2 损失来对 a + l和 a + r 进行补充,以使它们相互补充并避免方程 ( 5 ) 中的max 操作中的梯度消失。请注意,s仅在网格化过程中使用,它有助于去除冗余的基元;详见补充材料中的详细信息。我们的 L + rec 定义如下:0其中 n 是查询点的数量。我们定义 M l ( j ) = max ( g ( j ) , 1 ( a + r ( j ) < β )) 和 M r ( j ) = max ( g ( j ) , 1 ( a + l (j ) >β )) ,其中 β 设定为接近方程 ( 4 ) 中内部值 1的值。函数 1 将布尔值转换为浮点数,而 M l 和 M r根据另一侧的值调整每一侧的损失。0阶段 1. 在这个阶段,我们使用 a � 而不是 a +,以鼓励网络为左右形状生成准确的内部/外部值。阶段 1的损失函数为:0其中 L � rec 是 a l 和 a r 的重构损失,如下所示:0其中M l ( j ) = max(g ( j ), 1(a � r ( j ) > γ)),M r ( j ) =max(g ( j ), 1(a � l ( j ) <γ)),g作为掩码,γ在方程(3)中设置为接近内部值0。方程(13)作为L1损失,其中(1 − g) � (1 − a l)鼓励外部点为1,g � a l 鼓励内部点保持为0。w l 和w r是权重,通过鼓励左侧形状覆盖地面真实形状所占据的体积和右侧形状覆盖有意义的剩余体积来控制形状分解结构。这样,可以获得具有产生具有凹陷和孔洞的尖锐和详细形状的有效减法。在所有实验中,我们将w l 设置为10,将w r设置为2.5,并在我们的消融研究中展示了这些权重的效果。0阶段2。在前两个阶段中,我们使用LT使选择矩阵T的每个条目成为0和1之间的浮点值,以便于学习,但是这个T不可解释为CSG。因此,我们将T量化为Thard,将浮点值转换为二进制值(即t hard = (t >η)?1:0),并在方程(2)中使用T替换为T hard进行每个凸形状的交集运算。由于T中的值很小,我们在所有实验中将η设置为0.01。有了Thard,我们使用与阶段1中方程(12)相同的损失函数进行训练。03.4. 通过CSG构建CAD网格0在推理过程中,在获得P和T之后,我们将学习到的基元组装成凸形状并执行CD ↓0.4910.3001.1800.136NC ↑0.8680.8770.8290.914ECD ↓10.0985.02211.848 2.208LFD1,342.71,494.82,945.2800.2CD ↓0.2201.3172.2880.175NC ↑0.8690.8150.7920.872ECD ↓2.1115.23310.4572.101LFD2,254.43,582.54,983.21,824.1117730学习到的CSG操作以输出CAD网格,就像BSP-Net[8]中一样。输出的网格包含尖锐的边缘和规则的表面,符合CSG的预期;更多细节可以在补充材料中找到。04. 结果和评估0在本节中,我们展示了我们的实验的定性和定量结果,以证明CAPRI-Net的有效性。我们在CAD数据集ABC[29]和ShapeNet[4]上测试了我们的网络和最先进的神经CAD建模方法。我们比较了各种网络在体素和点云的形状重建方面的性能。我们还进行了消融研究,评估了我们网络架构的组成部分。04.1. 数据准备和训练细节0我们从ABC数据集中随机选择了5,000个单件形状,其归一化边界框的边长都大于0.1。我们使用与IM-Net[10]相同的方法将这些形状离散化为256个3D体素,以采样24,576个靠近表面的点及其相应的占据值进行预训练。此外,我们采样了64个3D体素的形状0传递给形状编码器的输入形状的体素。对于ShapeNet,我们使用IM-Net提供的数据集[10],该数据集包含来自ShapeNetCore(V1)的64个3D模型的体素化和填充的3D模型,用于预训练的表面附近的采样点。由于在ABC上通过其他方法获得令人满意的性能也需要微调,而且这需要耗费时间(例如,对于BSP-Net,每个形状需要15分钟),因此我们随机选择了一个适度大小的形状子集作为测试集来评估微调效果:来自ABC的1,000个形状,以及来自ShapeNet的每个13个类别的100个形状,总共1,300个形状。0在我们的实验中,我们将基元数设置为p =1,024,将凸形状数设置为c =64,这些相对较大的值可以应对更复杂的形状。对于所有输入类型,我们的潜在代码的大小为256,并且还使用两层MLP从形状潜在代码中预测基元的参数。我们设置β =0.5,用于阶段0,γ =0.01,用于阶段1,因为在阶段1中,当点位于组装的凹形状内部时,占据值越来越接近0。我们在网格化过程中设置α =0.2。我们首先在训练集上对网络进行预训练,以获得基元参数和选择矩阵的通用和初始估计。在微调过程中,针对每个测试形状,我们仅优化潜在代码、基元预测网络和选择矩阵。我们在阶段0上对网络进行1,000个epoch的预训练,使用NVIDIA RTX 1080TiGPU大约需要9小时。我们在所有阶段上进行12,000次迭代的网络微调,总共大约需要3分钟来完成每个形状的微调。0方法BSP-Net UCSG STUMP我们0#基元(#P) ↓ 114.44 - - 46.930#凸面(#C) ↓ 11.60 12.72 90.88 6.030表1.在ABC上比较从体素重建的3D形状。由于UCSG和CSG-Stump不生成表面基元,只计算凸面固体(例如盒子和球体),我们计算了凸面数量。0方法BSP-Net UCSG STUMP我们0#基元(#P) ↓ 214.70 - - 61.560#凸面(#C) ↓ 18.86 12.40 180.54 8.710表2. 在ShapeNet上比较从体素重建的3D形状。04.2. 从体素重建0给定体素格式(即64x64x64)的低分辨率输入,任务是重建CAD网格。首先,我们使用训练集对整个网络进行预训练。然后,我们对每个形状的潜在代码、基元预测网络和选择矩阵进行微调。在微调阶段,我们首先采样中心距离形状表面较近的输入体素(即与距离最多为1/64的体素)。我们特别保留与其邻居的占用值不同的体素。然后,我们随机采样其他体素的中心并获得32,768个点。采样的点然后缩放到范围[-0.5,0.5],这些点以及它们的占用值用于监督微调步骤。0我们将CAPRI-Net与BSP-Net [8]、UCSG[28]和CSG-Stump[12](标记为STUMP)进行比较,它们输出结构化参数化基元。为了公平比较,我们对所有这些网络进行了相同次数的微调。对于每个形状,BSP-Net需要约15分钟,UCSG约40分钟,CSG-Stump约60分钟才能收敛,而我们的CAPRI-Net只需约3分钟。请注意,CSG-Stump在实验中针对ABC(具有形状差异)和ShapeNet(没有形状差异)使用了不同的网络设置;我们在比较中遵循了相同的设置。其他结果可以在补充材料中找到,我们还展示了没有进行微调的结果。0评估指标。我们的形状重建的定量指标是对称Chamfer距离(CD)、法线一致性(NC,值越高越好)、边缘Chamfer距离(ECD)和光场距离(LFD)。对于ECD,我们将法线叉积的阈值设置为0.1,以提取靠近边缘的点。CD和ECD的值是在8k个表面采样点上计算的,并乘以1000。对于LFD,我们在十个不同的视角下渲染每个形状,并测量光场距离。CD ↓0.220.200.180.14NC ↑0.900.880.900.91ECD ↓2.9182.5822.7202.208LFD ↓1,083.4985.7886.0800.2#P ↓57.5862.6258.9546.93#C ↓5.869.626.646.03117740方法无QS无Diff无Weight我们0表3. 在ABC上的消融研究;请参阅文本以了解描述。0图3.在ABC上使用64x64x64体素输入进行重建结果的视觉比较。我们还显示了重建的表面基元数量(#P)和凸面数量(#C)。0距离[8](ECD)和光场距离[6](LFD)。对于ECD,我们将法线叉积的阈值设置为0.1,以提取靠近边缘的点。CD和ECD的值是在8k个表面采样点上计算的,并乘以1000。对于LFD,我们在十个不同的视角下渲染每个形状,并测量光场距离。0评估和比较。我们在ABC数据集的代表性示例中提供了视觉比较,如图3所示,并在ShapeNet中提供了视觉比较,如图4所示。我们的方法在几何和拓扑细节方面更准确地重建,如孔洞和尖锐特征,这要归功于更丰富的支持表面基元集合和差异操作,而BSP-Net中没有。UCSG在输入可以很好地由盒子和球体建模时表现良好,但对于其他形状(如图4中的灯),则不太适用。CSG-Stump在建模ABC形状时往往使用更多的差异操作,而CAPRI-Net则较少。这也可能导致形状表面被许多冗余的简单基元刻画,如图3中的顶部形状所示。相比之下,CAPRI-Net在推理过程中通常预测较少的凸面和冗余的差异操作。此外,由于CSG-Stump不支持复杂形状之间的差异操作,它可能无法重建小孔或复杂的凹陷,如图3的第三行所示。总体而言,使用预定义基元,UCSG和CSG-Stump都无法重现精细的细节或实现完美的重建。0图4. 来自ShapeNet体素的一些重建结果。0与CAPRI-Net相同的重建准确性。0定量比较结果显示在表1中0和2.CAPRI-Net在所有报告的度量标准上都实现了最佳的重建质量。我们通过计算平均表面基元和凸面数来衡量重建的紧凑性。再次,CAPRI-Net在这些统计数据上优于所有其他比较方法。0CSG树。我们的网络可以在没有直接监督的情况下学习从给定的潜在编码生成合理的CSG树,如图1所示。我们在补充材料中提供了更多的CSG树和比较结果。0消融实验。我们考察了CAPRI-Net中三个重要设计选择的影响:二次曲面(QS)表示、差分层(Diff)和加权重建损失(Weight)。我们分别去除了这些组件并进行了三个消融研究,称为w.o QS、w.o Differ和w.oWeight;详见表3和补充材料中的视觉比较。显然,二次曲面表示使得我们的方法适用于ABC数据集,使用了更少的适当的基本组件(例如圆柱体)进行重建。差分操作也可以提供更紧凑的重建结果和更少的基本组件。最后,加权重建损失有助于CAPRI-Net重现细节,如小孔洞。04.3. 从点云进行重建0在我们的最后一个实验中,我们测试了从包含8,192个带有法向量的点云中重建CAD网格。在预训练过程中,我们将输入的点云体素化为64^3,并训练一个3D卷积网络作为编码器生成形状潜在编码。0在微调阶段,网络训练适应原始的输入点云,而不是体素。具体来说,受到[25]的启发,对于每个带有法向量的点,我们沿着其法向量以高斯分布(µ=0,σ=1/64)采样8个点。如果该点与法向量方向相反,则占据值为1,否则为0。通过这种方式,我们可以对每个形状进行65,536个点的微调。与体素微调步骤类似。117750输入BSP UCSG IM-Net SIREN CAPRI GT0STUMP0图5. 在ABC上从点云(8,192个点)进行重建的视觉比较。注意插图显示的IM-Net和SIREN结果中明显的表面伪影,分辨率均为128^3。0方法 CD↓ NC↑ ECD↓ LFD↓ #P↓ #C↓0UCSG 1.33 0.85 5.76 2,428.3 - 12.160BSP-Net 0.47 0.89 9.65 920.8 153.80 14.450STUMP 6.58 0.85 8.89 4,649.8 - 62.3450我们的方法 0.14 0.92 1.57 581.8 64.06 6.820表4. 在ABC上比较3D点云重建。0输入,我们只微调潜在编码、基本组件预测网络和选择矩阵。0表4中的定量比较显示,我们的网络在各个方面都优于BSP-Net、UCSG和CSG-Stump。我们在补充材料中提供了更多的ShapeNet比较结果。就最先进的非结构化、非参数化表面学习方法(如IM-Net [10]和SIREN[48])而言,CAPRI-Net的度量性能相当,但稍差一些,因为在重建质量和获取紧凑的基本组件之间存在明显的权衡;详见补充材料。然而,从视觉质量来看,如图5所示,IM-Net和SIREN的结果常常存在几何伪影,而CAPRI-Net生成的网格表面更加规则。05. 讨论、限制和未来工作0近年来,有大量的工作针对ShapeNet [4]开发神经3D形状表示。我们不知道是否有类似的工作致力于CAD模型,这些模型具有更丰富的几何和拓扑变化,但缺乏与有限数量的对象类别相关的强结构可预测性。我们的网络CAPRI-Net填补了这一空白,因为它针对ABC数据集 [29]。0数据集[29]的CAD模型具有这些特征。正如我们的结果所示,我们的重建网络在ABC和ShapeNet上优于最先进的替代方法。然而,CAPRI-Net只是对CAD模型学习原始组件的早期尝试,因为它在几个方面仍然受限。首先,我们的网络遵循固定的组装顺序,先进行交集,然后进行并集,最后进行单一差异操作。因此,并非所有的组装都可以表示,例如嵌套差异。其次,尽管恢复的组装具有紧凑性,但CAPRI-Net没有网络损失来强制执行最小的CSG树。根据最小描述长度原理[22],设计这样的损失可能有益于我们问题领域之外的许多任务。第三,有限的二次曲面原始类型也会影响重建质量,因此需要进行额外的微调以改善对具有显著结构变化的数据的泛化能力。然而,我们目前的微调在将单视图图像作为ABCCAD模型的输入方面尚不完善。最后但并非最不重要的是,我们目前的方法没有充分利用CAD模型的局部规律性,因为它们具有参数化的特性。除了解决上述限制之外,我们还希望将CAPRI-Net扩展为CAD设计的完全生成模型。将生成器与设计或手绘草图进行条件约束也是一个有前途的方向。最后,学习CAD模型的功能性也是一个有趣的研究方向。0致谢0我们感谢匿名审稿人对他们宝贵的评论。本工作得到了NSERC(No. 611370)和Autodesk的礼物资金的部分支持。117760参考文献0[1] Ivan Anokhin, Kirill Demochkin, Taras Khakhulin, GlebSterkin, Victor Lempitsky, and Denis Korzhenkov.带有条件独立像素合成的图像生成器.arXiv预印本arXiv:2011.13775, 2020. 30[2] Dorit Borrmann, Jan Elseberg, Kai Lingemann, andAndreas Nüchter.三维霍夫变换用于点云中平面检测的综述和新的累加器设计.3D研究, 2011. 20[3] J. C. Carr, R. K. Beatson, J. B. Cherrie, T. J. Mitchell, W. R.Fright, B. C. McCallum, and T. R. Evans.使用径向基函数重建和表示3D对象. 在SIGGRAPH, 页67-76,2001. 20[4] Angel X. Chang, Thomas Funkhouser, Leonidas Guibas,Pat Hanrahan, Qixing Huang, Zimo Li, Silvio Savarese, Mano-lis Savva, Shuran Song, Hao Su, Jianxiong Xiao, Li Yi, andFisher Yu. ShapeNet: 一个信息丰富的3D模型库.arXiv预印本arXiv:1512.03012, 2015. 1, 6, 80[5] Siddhartha Chaudhuri, Daniel Ritchie, Jiajun Wu, Kai Xu,and Hao Zhang. 学习3D结构的生成模型.计算机图形学论坛(Eurographics STAR), 2020. 30[6] Ding-Yun Chen, Xiao-Pei Tian, Yu-Te Shen, and MingOuhyoung. 基于视觉相似性的3D模型检索. 在计算机图形学论坛,2003. 70[7] Yinbo Chen, Sifei Liu, and Xiaolong Wang.使用局部隐式图像函数学习连续图像表示.arXiv预印本arXiv:2012.09161, 2020. 30[8] Zhiqin Chen, Andrea Tagliasacchi, and Hao Zhang.Bsp-net: 通过二进制空间分割生成紧凑网格. 在CVPR, 2020. 1, 2,3, 5, 6, 70[9] Zhiqin Chen, Kangxue Yin, Matt
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)