3D Point Cloud Generative Adversarial Network Based on Tree Structured Graph Convolutions
基于树状结构图卷积三维点云创成对抗性网络
图1、我们的树-GaN多类生成的无监督三维点云(例如,摩托车,笔记本电脑,表,吉他,滑板,刀,表,手枪,及汽车从左上角到右下角)。我们的树-GaN可以产生比基线更准确的点云,并且也可以产生点云的对象的语义部分,分别以不同的颜色来表示。
摘要
在本文中,我们提出了一个三维点云生成的新颖的生成对抗网络,称为Tree-GAN。为了实现多分类3D点云生成的最先进的性能,树形结构图卷积网络(TreeGCN)被引入作为Tree-GAN的发生器。因为Tree-GCN在一个树内执行图形卷积,它可以使用原始信息来带动表示强有力的特征。为了准确评估GANs下三维点云的准确率,我们开发一种称为弗雷谢点云的距离“(FPD)新型的评价指标。实验结果表明,所提出的Tree-GAN在传统度量和fpd方面都优于最新的GAN。
1介绍:
近年来,基于深度神经网络的三维数据生成问题引起了广泛的研究兴趣,并通过多种方法得到了解决,包括图像到点云[11,19]、图像到体素[45]、图像到网格[40]、点云到体素[6,50],点云对点云[47]。生成的三维数据已经在广泛的计算机视觉应用中获得优异的性能(例如,分割[30,37,44]、体积形状表示[46]、对象检测[4,35]、特征提取[24]、轮廓检测[15],分类[29,34]和场景理解[20,43]。
然而,很少有人致力于开发能够在无监督的情况下生成三维点云的生成性对抗网络(gans)。据我们所知,关于将随机潜码(即z向量)转换为三维点云的gans的工作只有[1]和[39]。[1]中的方法仅使用完全连接的层生成点云。文献[39]中的方法利用局部拓扑,利用k近邻技术生成几何精度高的点云。然而,随着动态图更新次数的增加,它的计算复杂度越来越高。此外,它只能使用点云生成数量有限的对象类别(例如椅子、飞机和沙发)。
本文提出了一种新的无监督生成三维点云的方法tree-GAN。它还可以生成多类三维点云,而无需对每个类分别进行训练(例如,[39])。为了在精度和计算效率方面达到最新的性能,我们提出了一种新的树结构图卷积网络(treegcn)作为tree-GAN的生成器。该方法保留了每个点的原始信息,并利用这些信息通过图卷积来提取新的点。Tree-gcn中的k支持分支过程和循环项进一步增强了点的表示能力。这两个特性使treegcn能够生成更精确的点云,并表示更多样的对象类别。此外,我们还证明了在treegcn中使用特征的祖先比在传统gcn中使用特征的邻居在计算上更有效。图1显示了我们的树gan的有效性。
本文的主要贡献有四个方面。
•我们提出了一种新的树gan方法,它是一种深度生成模型,可以在无监督的情况下生成多类三维点云(第3节)。
•我们介绍基于treegcn的生成器。采用该树结构进行图卷积可以显著提高传统gcns的性能。基于所提出的树结构,树gan可以通过选择特定的祖先来生成部分对象(第4节)。
•我们对treegcn进行了数学解释,并强调了其理想特性(第5节)。
•我们提出了frechet点云距离(fpd)度量来评估三维点云的gans。fpd可以看作是frechet起始距离(fid)的一个重要扩展[17],它被广泛地应用于评价gans(第6节)
2。相关工作
图卷积网络:
在过去的几年里,许多工作集中在图问题的深度神经网络的推广上[3,9,16,25]。defferrard等人[8]针对图分类问题提出了快速学习卷积滤波器。利用这些滤波器,它们显著地加速了谱分解过程,这是传统的大数据集图形卷积问题的主要计算瓶颈之一。kipf和welling[22]在半监督分类中引入了基于谱图卷积的一阶近似的可伸缩gcn,其中卷积滤波器仅使用来自相邻顶点的信息,而不使用来自整个网络的信息。
由于上述gcn最初是为分类问题而设计的,因此图的连通性被假定为先验知识。但是,此设置不适合动态模型生成问题。例如,在三维点云生成的无监督设置中,三维点云的类型是不确定的。即使对于同一类(例如椅子),三维点云也可以用各种类型表示。为了表示不同类型的三维点云,我们的treegcn没有利用有关对象模型的先验知识。
用于三维点云生成的gans:
2d图像生成任务的gans[13]已经得到了广泛的研究,并取得了很大的成功[10、18、23、26、31、36、41、42、48、49],但是用于三维点云生成的gans在计算机视觉领域的研究却很少。最近,Achlioptas等人。[1]提出了一种基于全连通层的三维点云生成方法R-GaN。由于全连接层不能保持结构信息,R-GaN很难产生具有多样性的真实形状。Valessia等人[39]用于gans生成器的图卷积。在训练过程中的每一层卷积图上,利用每个顶点的特征向量动态地构造邻接矩阵。与传统的图卷积不同,图的连通性不假定为先验知识。然而,为了提取图的连通性,在单层计算邻接矩阵会产生二次计算复杂度o(v2),其中v表示顶点的数目。因此,这种方法对于多批和多层网络是很难解决的。
与[39]中的方法类似,我们的树gan不需要关于图的连通性的先验知识。然而,与文献[39]中的方法不同,树gan不构造邻接矩阵,因此计算效率高。相反,树gan使用来自树的祖先信息来利用图的连通性,其中只需要一个树结构列表。
树状结构的深层网络:
已有几次尝试使用树状结构来表示卷积神经网络或长期短期记忆[5,21,27,28,32]。然而,据我们所知,以前没有任何方法使用树结构来进行图卷积或gans。例如,Gadelha等人[12]使用树型结构网络通过变分自编码(VAE)生成三维点云。然而,该方法需要假设输入是由空间分割算法(如kd维树和随机投影树)获得的点的一维有序列表[7]。因此,有效的实现需要额外的预处理步骤。由于其网络仅包含一维卷积层,该方法无法从无序的三维点云中提取有意义的信息。相比之下,本文提出的树gan不仅可以处理无序点,而且可以提取对象的语义部分。
图2.Tree-GAN管道。我们的Tree-GaN包含两个网络,即鉴别(第3节)和生成器(第4)。生成器采用单个点从高斯分布,Z∈R 96,作为输入。在生成器的每一层,GraphConv(第4.1节)和Branching(4.2节)操作被执行,以产生第l个点的集合。通过前面的层中产生的所有点被存储和附加到当前层的树。树从根节点Z开始,通过分支操作拆分成子节点,并通过GraphConv操作修改节点。所述生成器产生的3D点云X 0 = P大号∈R 3×N为输出状态,其中,p L处于最终层L的点的集合,n是点的总数。鉴别区分之间的真正和生成点云迫使发电机产生更逼真的点。我们用在R-GaN [1]相似的鉴别。请参考补充材料详细说明网络架构。
4、TreeGCN 提议
为了实现公式(1)中的G,我们考虑由[22]引入的切比雪夫展开的一阶近似的多层图卷积,如下所示:
其中σ(·)是激活单元,pi l是图中第l个层的第i个节点(即,三维点云的坐标),qjl是pi l的第j个邻居, 和N(pi l)是集合pi l的所有邻居的。然后,Z和X”在公式(2)中表示为[P 10]和 [P 1L P 2L …P nL],特别低:其中l是最后一层,n是l处的点数。在培训过程中,GCNs发现在每一层的最佳权重WL和U L和最好的偏差b L,然后通过使用这些参数生成类似真实点云的3D点云坐标。在公式(3)中第一项和第二项分别被称为环路和邻居。
为了增强传统的gcn,如文献[22]中所使用的gcn,我们提出了一种新的树结构的gcn(即treegcn)。所提出的TreeGCN从祖先传递信息到顶点的后代引入了一个树状结构分层GCNs。该TreeGCN的主要独特的特征为每个顶点参照其祖先的价值树,而不是它的邻居thosed更新其价值。传统GCNs,如那些在(3)定义,可以认为是仅引用单个深度的邻居的方法。然后,将所提出的图卷积定义为
和公式(3)相比有两个主要区别。一个是使用子网Flk的改进的常规循环(loop)项,其中S由Flk的k个支持生成.。我们把这个称为K-支持的环路,如在4.1节中解释。另一个区别是考虑树中所有祖先的值来更新当前点的值,其中,A(pi l)表示集合pi l的所有祖先。我们称这个词的祖先,如在4.1节中解释。
4.1。高级图形卷积
所提出的树结构的图卷积(即,GraphConv图2)的目的是修改使用具有K-支撑和祖先术语循环点的坐标。
Loop term with K-supports:
在公式(4)中新的循环术语的目的是提出一种基于K的下一个点支持,而不是在仅使用如公式(3)单个参数WL,如下图所示:
其中FlK是包含K个节点的完全连接层。使用一阶近似的常规GCN采用单个参数在其环路术语以生成从当前点的下一个点。然而,对于大的曲线图,一个单一的参数的表示容量不足以描述复杂点分布。因此,我们的循环术语利用ķ支持来表示的点的更复杂的分布,如图3所示。
Figure 3. Loop term with K-supports. 左:常规的循环术语使用单个参数WL(3)中学习,从p L I至S L + 1 I的映射。右:我们的循环术语介绍具有K个节点的完全连接的层(即,K支持,)学习,从p L I至S L + 1的更复杂的映射。
Ancestor term:
对于曲线图卷积,知道的曲线图的连通性是非常重要的,因为该信息允许GCN传播从一个顶点到其他连接的顶点的有用信息。然而,在我们的点云生成设置,就不可能利用关于连接的先验知识,因为我们必须能够生成点云的不同类型学,即使是相同的对象类别。因此,动态三维点产生问题不能用传统GCNs因为这样的网络假设一个图形的连通被给予解决。至于在邻居术语替代(3),我们定义了祖先术语在(4)如下:
其中,A(P L I)表示集合Pli的所有祖先的。该术语通过一个线性地图从祖先映射所有信息。因为每个祖先属于在不同的层不同功能的空间,我们的祖先项可以融合来自前面的层和不同功能空间的所有信息,为了产生下一个点,当前点是指其在不同功能空间的祖先找到最好的映射ü升J确定祖先的信息有效地结合起来,通过使用这种新的祖先来看,我们treeGAN获得几个理想的数学性质,如第5解释。图4示出了与祖先术语图表卷积处理。
Figure 4. Ancestor term. 左:常规的邻居术语机P L I(例如,Q L 1,QL 2,···),以产生p L + 1 I的邻居。右:所提出的祖先术语机P升的祖先I(例如,Q L-1 1,QL-2 2,···),以产生p L + 1个I
4.2. Branching
分支是用于增加点的总数量的步骤,并类似于上采样在二维卷积。在分支中,V L + 1 I变换的单个点p L I∈ R 3为DL子点,
其中,[A] j表示矩阵A的第j列,。然后,点在(L + 1)个层是总数| Pl| ×DL,其中| Pl|是点的第l个层中的数。在我们的实验中,我们使用不同的分支度不同的层。需要注意的是在最终的层的点的数目是Q7 L = 1级(DL)= 2048。图5呈现度2的支化的一个例子。
5。数学性质
在本节中,我们数学分析,生成点之间的几何关系,并演示如何,这些关系在输出欧氏空间通过树状结构图卷积制定。
方案1
让公式(4)中的ps L和pd L成为共享同一双亲和不同双亲的生成点。依次为:具有pI L在最终的层L。令S L I在公式(5)中是点pli在第l个层的循环。在下文中,我们省略plS和S L I的上标,如果标L表示最后一层L.
其中的Al(P)是第l个层中的点p的所有祖先。为了简单起见,我们忽略在(5)的分支处理和UlĴ。
根据命题1,我们可以证明以下两个语句是正确的:
两个点之间的几何距离是通过共享的祖先的数量来确定。如果两个点Pd和PI具有不同的祖先,那么这些点之间的几何距离被计算为在每一层祖先之间差之和,和它们的环之间的区别。因此,当它们的祖先越来越不同,两个点之间的几何距离增加而增加。
几何相关点共享相同的祖先。如果两个点PS和PI共享相同的祖先,这些点之间的几何距离仅由它们的环的影响,如图(8)。因此,与(9)中具有不同祖先的点之间的几何距离相比,在(8)中具有相同祖先的点之间的几何距离可以减小 。
基于这两个性质,我们的树-GaN可以生成对象的语法部分,如图6所示,其中,具有相同的祖先点是属于以对象的相同的部分。我们将在第7.1节探讨拟议树-GaN这部分产生的问题。
Frechet Point Cloud Distance
为了对gans进行定量比较,我们需要能够准确测量gans生成的3d点云质量的评价指标。在2D数据产生问题的情况下,FID [17]是最常见的度量。FID采用预先训练开始V3模型[38]利用其功能空间进行评估。尽管Achlioptas等人提出了传统的测量方法。[1]可以通过真实的和生成的点云之间直接测量匹配的距离被用来评估产生的点的质量,,它们可以被认为是次最佳的指标,因为GAN的目的是不产生类似的样品(例如,MMD或CD),但生成的尽可能接近实际概率测度合成概率的措施。这种观点已经在使用gans的无监督2d图像生成任务中得到了探索[33,17]。因此,我们提出了一种新的三维点云评估方法fpd。与fid类似,所提出的fpd计算由pointnet[29]提取的特征空间中真高斯测度和假高斯测度之间的2-wasserstein距离如下:
中,MP和ΣP是从真实点云{X}中计算出的点的均值向量和协方差矩阵,分别和MQ,ΣQ从生成的点云计算的平均向量和协方差矩阵{X 0},分别,其中x〜P和X 0 = G(z)。在(10)中,Tr的(A)是元素的沿主对角线矩阵A的总和。在本文中,用于评估目的,我们使用常规评价标准[1]和所提出的FPD。
Experimental Results
实施细节:我们使用adam优化器对生成器和鉴别器网络进行优化,学习率α=10-4,其他系数β1=0和β2=0.99。在生成器中,我们使用leakyrelu作为一个非线性函数,没有进行批处理规范化。鉴别器的网络结构与r-gan的相同[1],梯度惩罚系数设为10,每次迭代更新5次鉴别器,而生成器每次迭代更新一次。如图2所示。从正态分布N(0,i))中抽取一个潜向量z∈r 96作为输入。Treegcn有七层。公式(5)中tree-gcn的循环项有k=10个支撑。最后一层中的总点数设置为n=2048。
比较:三维点云生成只有两种传统的几何图形:r-gan[1]和valessia等人提出的gan〔39〕。因此,将提出的树gan与这两个gan进行了比较。而[39,1]中的传统gan为每个类训练单独的网络,而我们的树gan只为多类对象训练单个网络。
评估指标:我们使用shapenet对树gan进行了评估,shapenet1是一个包含16个对象类的三维形状的大规模数据集。根据提议的FPD(第6节)和Achlioptas等人使用的指标进行评估[1]。作为fpd的参考模型,我们使用了pointnet[29]的分类模块,因为它可以处理对象的部分输入。此属性适用于FPD,因为生成的点云逐渐形成形状,这意味着点云在训练期间可以部分完成。为了实现fpd,我们首先训练了40个阶段的分类模块,使分类任务的准确率达到98%。然后,我们从稠密层的输出中提取1808维特征向量来计算(10)中的均值和协方差。
7.1. Ablation Study
我们分析了所提出的树型gan,并检验了其有用的性质,即无监督语义部分生成、通过插值的潜在空间表示和分支。
无监督语义部件生成:我们的树gan可以为不同的语义部分生成点云,即使在训练期间没有关于这些部分的先验知识。树型gan具有树结构图卷积的特点,是基于gan的三维点云方法中的一个独特的特点,可以实现语义的生成。如命题1所述,点之间的几何距离由其在树中的祖先确定。不同的祖先意味着几何上不同的点族。因此,通过选择不同的祖先,我们的树gan可以生成语义上不同的点云。注意,这些点的几何族在不同的潜在代码输入之间是一致的。例如,设z1,z2~ N(0,i)为采样潜码。让G(Z1)= [P1,P2,… p2048]和G(Z2)= [Q1, Q2… q2048]是其相应产生的点云。设j是2048点指数的一个子集. 然后,GJ(Z1)= [PJ]j∈J表示G(Z1)从索引J. 的子集, 如图6所示
图6。树gan的语义部分生成及插值结果. 红色和蓝色的点云是由树中不同的祖先生成的,它们形成几何上不同的点族。飞机最左边和最右边的点云是由不同的噪声输入产生的。基于潜在空间表示的最左边和最右边点云插值得到中间飞机
如果选择相同的点云索引子集,即使潜在的代码输入不同,也会产生相同的语义部分。例如,通过是Jh(GJH(Z1)和GJH(Z2))索引的所有红色点表示飞机的座舱,同时通过JT索引的所有蓝色点(例如,GJT(Z1)和GJT(Z2))表示飞机的尾部。通过本次消融研究,我们可以验证祖先之间的差异决定了点之间的语义差异,并且具有相同祖先的两个点(例如,图6中左侧翅膀上的绿色和紫色点)对于不同的潜在代码保持了它们的相对距离。
插值:
我们插值三维点云通过设置输入潜代码Zα=(1 - α)Z1 +αz2根据6个阿尔法α= [α1,。 。 。 ,α6。] 图6中飞机最左边和最右边的点云。图6中飞机最左边和最右边的点云分别由g(z1)和g(z2)生成。我们的树gan还可以在两个点云之间生成真实的插值。
分支策略:
实验表明,该度量的收敛动力学对不同的分支策略不敏感。像其他的实验中,所产生的点的总数是2048,但不同支化度分别为set (e.g., {dl} 7 1 = {1, 2, 2, 2, 2, 2, 64}, {1, 2, 4, 16, 4, 2, 2}, {1, 32, 4, 2, 2, 2, 2})。请参阅图表收敛在补充材料。
表1。根据Achlioptas等人使用的指标进行定量比较。〔1〕。红色和蓝色值分别表示最佳结果和次佳结果。因为valessia等人的原始论文。[39]仅给出椅子类和飞机类的点云结果,我们的树gan与基于这些类的[39]进行了比较。然而,我们还对所有16个类的树gan进行了定量评估,如下所示。对于网络?,我们使用了[39]中报告的结果。较高的cov-cd和cov-emd,较低的jsd、mmd-cd和mmd-emd表明更好的方法。
表2中所提出的FPD方面的定量比较。对于真正的点云的FPD几乎接近零。
该值可作为下界所生成的点云。请注意,我们不能评估由瓦尔塞西亚等人提出的GAN。 [39]在FPD的方面,因为源代码不可用。更好的方法有FPD的较小值。
7.2. Comparisons with Other GANs
在精度和计算效率方面,将所提出的树型gan与其他最新的点云生成gan进行了定量和定性的比较。补充材料包含三维点云生成更多结果和比较。
比较:表1和2中包含由Achlioptas等中使用的指标的条件的定量比较 [1]。并分别提出了FPD。(i.e., JSD, MMD-CD, MMD-EMD, COV-CD, and COVEMD) 在所有指标方面,所提出的树型gan始终在很大程度上优于其他gan,证明了所提出的treegcn的有效性。
为了进行定性比较,我们将整个索引集平均划分为四个子集,并用相同的颜色绘制每个子集中的点。虽然如图所示图1和图7中的真正的3D点云是无序的,我们treeGAN成功生成具有直观的语义三维点云没有任何先验知识,而rGAN未能产生语义有序的点云。此外,我们的树-GaN可以生成对象的详细和复杂的零件,而R-GAN产生较为分散点分布。图7给出我们的树-GaN的定性结果。树GAN生成多对象类别现实点云和产生点云的每个类的非常多样的类型学。
计算成本:
8.结论
在本文中,我们提出了一个生成对抗性网名叫Tree-GaN,可以产生一种无监督的方式三维点云。所提出的生成器Tree-GAN,基于树形结构预制件图形卷积。树GCN从树上利用祖先信息和使用多个支承件来表示三维点云。因此,所提出treeGAN优于在精度和计算效率方面其它基于GAN点云生成方法。通过各种实验,我们证明了树-GaN可以生成对象的语义部分没有任何先验知识,并且可以通过插值代表潜在空间三维点云。在使用图形的卷积静态链接的方法,邻接矩阵通常用于顶点的卷积。虽然已知这些方法产生的图形数据的好成绩,需要有关连接先验知识。在使用用于图形卷积动态链接的其它方法,邻接矩阵必须从顶点被构造成导出用于每个卷积层,而不是使用先验知识的连接性信息。
例如,让L,B,VL分别表示在第l个层的输出图形的层的数量,批量大小,和诱导的顶点的大小,上述的方法需要额外的计算,以利用连通性信息。这些计算需要PL L = 1 B×VL×V1的顺序上的时间和内存资源, 然而,我们的TreeGCN不需要像静态链接方法的任何先前的连接信息,并不需要像动态链接方法额外的计算。因此,我们的网络能够更有效地使用时间和内存资源,并且需要PL L = 1个B×V1的顺序上更少的资源。