三维几何数据为研究表示学习和生成建模提供了一个很好的领域。在本文中,我们研究用点云表示的几何数据。介绍了一种具有最先进的重构质量和泛化能力的deep AutoEncoder (AE) 网络。学习表示在三维识别任务上优于现有方法,通过简单的代数操作实现了形状编辑,如语义部分编辑、形状类比、形状插值以及形状补全。我们对不同的生成模型进行了深入的研究,包括在原始点云上运行的GANs、在我们AEs的固定潜空间中训练的具有显著提升的GANs以及高斯混合模型(GMMs)。为了定量地评估生成模型,我们引入了基于点云组间匹配的样本保真度和多样性度量。有趣的是,我们对泛化、保真度和多样性的评估表明,在我们的AEs的潜在空间中训练过的GMMs总体效果最好。
真实物体的三维表示是视觉、机器人、医学、增强现实和虚拟现实应用的核心工具。最近对用于深度学习的3D几何编码的尝试包括基于视图的投影,体积网格和图形。在这项工作中,我们集中关注三维点云的表示。点云作为一种均匀的、有表现力的、紧凑的基于表面的几何图形表示方式正变得越来越受欢迎,它能够在占用很少空间的情况下表示几何细节。点云特别适合简单的几何操作,是一种标准的3D采集格式,可用于距离扫描设备,如LiDARs、Kinect或iPhone的面部识别功能(face ID feature)。所有上述的编码,虽然在他们的目标任务中有效(例如渲染或获取),但很难直接以原始的方式操作。例如,在任何这些表示中,在两辆车之间简单地插值不会产生“中间”汽车的表示。此外,这些表示方法不适用于通过经典统计方法设计生成模型。使用它们来编辑和设计新对象涉及到自定义的、特定于对象的参数模型的构造和操作,这些参数模型将语义链接到表示。这个过程需要大量的专业知识和努力。
深度学习带来了数据驱动方法的希望。在数据丰富的领域,深度学习工具已经消除了手工制作特性和模型的需要。自动编码器(AEs)等架构 (Rumelhart et al., 1988; Kingma&Welling, 2013)和生成式对抗网络(GANs) (Goodfellow et al., 2014; Radford et al.; Che et al., 2016)在学习数据表示和从复杂的底层分布生成真实样本方面取得了成功。然而,基于GAN的生成 pipelines 的一个问题是,训练它们是出了名的困难和不稳定 (Salimans et al., 2016)。此外,也许更重要的是,对于生成模型的评估没有被普遍接受的方法。
在本文中,我们探索了深层架构在学习表示中的应用,并介绍了点云的第一个深层生成模型。在文献中,只有少数针对三维点云量身定制的深层架构存在,它们的关注点在别处:它们要么以分类和分割为目标 (Qi et al., 2016a; 2017),或者只使用点云作为媒介或输出表示 (Kalogerakis et al., 2016; Fan et al., 2016)。我们的具体贡献是:
本文的其余部分组织如下:第2节概述了我们工作的基本构建块的一些背景。第3节介绍了生成点云 pipelines 的评估指标。第4节讨论了用于潜在表示学习和生成的结构。在第5节中,我们进行了全面的实验,定量和定性地评估了我们所有的模型。进一步的结果可以在附录中找到。最后,我们所有模型的代码都是公开可用的。
在本节中,我们将介绍点云的必要背景知识、它们的度量标准以及我们将在本文其余部分中使用的基本构建块。
点云将几何形状 - 通常是其表面 - 表示为欧几里德坐标系中的一组3D位置。 在三维空间中,这些位置由它们的x,y,z坐标定义。 因此,对象或场景的点云表示是N×3矩阵,其中N是点的数量,称为点云分辨率。
点云作为输入模态在构建网络架构时提出了一系列独特的挑战。 例如,卷积运算符 - 现在在图像处理流水线中无处不在 - 要求输入信号定义在底层网格状结构上。这种结构在原始点云中不可用,这使得它们比图像或体素网格更难以编码。最近对点云的分类工作(PointNet (Qi et al.,2016a))绕过了这个问题,通过避免涉及点组的卷积。点云表示的另一个相关问题是,它们是置换不变的:对点云矩阵的行进行任何重新排序,都会生成表示相同形状的点云。这种属性使得定义重构损失所需的两个点集之间的比较变得复杂化。它还造成了使编码的特征置换不变的需要。
文献 (Fan et al., 2016)中提出了两种用于比较无序点集的置换不变度量。一方面, Earth Mover’s distance (EMD) (Rubner et al., 2000) 是一个试图将一个集合转变到另一个集合的运输问题的解决方法。对两个相同尺寸的子集它们的EMD被定义为:
作为损失函数,EMD几乎处处可微。另一方面, Chamfer (pseudo)distance (CD) 度量一个集合中每个点到另一个集合中其最近邻居的平方距离:
CD是可微的,并且与EMD相比计算更为高效。
在本文中,我们使用的一种主要的深度学习组件就是自编码器(AE,inset),这是一种将它的输入重新制作(reproduce its input)的架构。当 AEs 在输入和输出之间包含一个狭窄的 bottleneck layer (瓶颈)时,它尤其有用。在成功的训练之后,该层为每个数据点提供一个低维表示或代码。
编码器(E)学习将数据点压缩到其潜在的表示:z。然后解码器(D)可以由它的编码版本z产生一个x的重建 来近似x。
在本文中,我们也用目前最先进的生成模型,GANs,进行工作。它基本的结构是基于生成器(G)和判别器(D)之间的对抗游戏。生成器的目标是生成与真实数据无法区分的样本,通过将一个简单分布z∼pz中随机抽取的样本传递给生成器函数。判别器的任务是把合成的样本与实际样本区别开来。
GMM是一种概率模型,用来表示一个假设分布为多模态高斯分布的种群,即由多个子种群组成,其中每个子种群都服从高斯分布。假设已知子种群的数量,利用期望最大化(EM)算法可以从随机样本中学习GMM参数(高斯分布的均值和方差)(Dempster et al., 1977)。Once fitted, the GMM can be used to sample novel synthetic samples.一旦拟合,GMM可以用于采样新生成的样本。
这项工作的一个重要组成部分是引入了能够比较两组点云A和B的方法。这些度量标准对于评估点云(合成或重构的点云)在多大程度上表示与一个待完成的测试集相同的总体是有用的。我们的三种方法如下:
欧几里得三维空间边界分布的简森-香农散度(Jensen-Shannon Divergence )。假设点云数据是轴向对齐的,并且在环境空间中是一个规范的体素网格;我们可以测量A点云在多大程度上倾向于占据与B点云相似的位置。为此,我们计算了A的所有点云中每个体素内的点个数,对B也做相应的操作,并报告得到的经验分布(PA,PB)之间的JSD:
其中 M = 1/2(PA + PB) ,D(·||·) 表示两种分布之间的KL散度 (Kullback & Leibler, 1951)。
对于A中的每个点云,我们首先在B中找到它最近的邻居。覆盖率是用B中的点云与A中的点云匹配的比例来衡量的。接近程度可以用Section 2 中的CD或EMD点集距离来测量,因此产生了两个不同的度量方式,COV-CD和COV-EMD。较高的覆盖率表明B的大部分大致在A中表示。
覆盖率并不能准确地指示集合A中所覆盖的示例(点云)表示得有多好;匹配的示例不必很接近。我们需要一种方法来测量A对B的保真度。为此,我们用最小距离(MMD)将B的每个点云与A中的点云进行匹配,并报告了匹配中的平均距离。可以使用任意一个点集距离,产生MMD-CD和MMD-EMD。由于MMD直接依赖于匹配的距离,所以它与A中元素的信度(关于B)有很好的相关性。
MMD和Coverage的互补性质直接来自它们的定义。在MMD小、Coverage大的情况下,点云A集合以良好的保真度捕获了B的所有模式。JSD从根本上是不同的。首先,它通过边缘统计粗略地评估A和B之间的相似性。其次,与其他两个指标相反,它需要预先对齐的数据,但在计算上也更友好。我们已经发现并实验表明,它与MMD有很好的相关性,这使得它成为其他方法的一个有效的替代方法,例如模型选择,这种方法需要执行点云集之间多个不同的比较。
在本节中,我们将描述从自动编码器开始的神经网络的体系结构。然后,我们介绍一种直接工作在三维点云数据上的GAN, as well as a decoupled(解耦) approach which first trains an AE and then trains a minimal GAN in the AE’s latent space. 先训练AE,然后基于AE的潜在空间训练一个最小型的GAN。我们得到了一种类似的甚至更简单的解,依赖于经典混合高斯模型。
我们AE网络的输入是一个2048点(2048×3矩阵)的点云,表示一个三维形状。编码器架构遵循(Qi et al., 2016a)的设计原则:内核大小为1且features不断增加的一维卷积层;这种方法独立地编码每个点。在卷积之后放置一个“对称”的置换不变函数(例如max pool),以产生联合表示。(类似于PointNet的操作)。我们用5个一维卷积层(64,128,128,256,k),每个后面跟着一个ReLU层 (Nair & Hinton, 2010)和一个BN层 (Ioffe & Szegedy, 2015)。最后一个卷积层的输出被传递到一个feature-wise maximum,来生成一个k维向量,这是我们的潜在空间的基础。我们的解码器使用3个完全连接的层(256, 256, 2048*3)对潜在向量进行转换,前两个有ReLU层,来产生2048*3维的输出。对于置换不变( permutation invariant)的目标,我们研究了EMD近似和CD(第2节)作为我们的结构损失;这产生了两个不同的AE模型,称为AE-EMD和AE-CD。为了规范AEs,我们考虑了各种bottleneck尺寸,通过随机旋转点云来使用drop-out和on-the-fly augmentations(动态扩增)。这些选择的效果在附录(A部分)中给出,同时给出了详细的训练/结构参数。在本文的其余部分,除非另有说明,我们使用一个具有128维bottleneck层的AE。(k=128)
我们的第一个GAN在原始2048×3点集输入上运行。 判别器的结构与AE(模数过滤器大小和神经元数量)相同,没有用任何batch-norm ,使用了leaky ReLUs (Maas et al., 2013) 而不是ReLU。 最后一个全连接的层的输出被送入一个sigmoid神经元。 生成器将高斯噪声矢量作为输入,并通过5个FC-ReLU层将其映射到2048×3的输出。
对于我们的l-GAN,我们不是在原始点云输入上操作,而是使数据通过预先训练的自动编码器,该自动编码器用具有EMD(或CD)损失函数的每个类别对象进行单独训练。然后,l-GAN的生成器和判别器都对AE的 bottleneck 变量进行操作。 一旦GAN的训练结束,我们使用AE的解码器将生成器学习的编码转换为点云。在实验中,我们一直使用我们为l-GAN选择的结构,这种结构显著比r-GAN的结构简单。 具体而言,单个隐藏层的MLP生成器与两个隐藏层的MLP判别器耦合,足以产生可测量性良好和真实的结果。
除了l-GAN之外,我们还在我们的AEs学习的潜在空间上建立了一系列高斯混合模型(GMMs)。 我们尝试了各种数量的高斯分量和对角或完全协方差矩阵。 通过首先对配置的分布进行采样然后使用AE的解码器,GMM可以变成点云生成器,类似于l-GANs。
(此部分由小伙伴完成)
在本节中,我们通过实验确定了我们提出的评估指标的有效性,并突出了AE表示(第5.1节)和生成模型(第5.2节)的优点。在主要论文的所有实验中,我们使用ShapeNet存储库(Chang等人,2015)中的形状,这些形状是轴对齐并且居中于单位球体中。要将这些形状(网格)转换为点云,我们将按照面积按比例均匀地对其面进行采样。 除非另有说明,否则我们使用单个对象类中的点云训练模型,并使用85%-5%-10%分割的训练/验证/测试集。 在报告JSD测量时,我们使用283常规体素网格来计算统计数据。
我们首先展示所提出的AE的优点。 首先,我们用MMD-CD和MMD-EMD度量来报告其泛化能力。接下来,我们利用其潜在代码进行语义上有意义的操作。 最后,我们使用潜在表示来训练SVM分类器并报告所获得的分类分数。
图3 使用AE潜在空间上的简单加法代数编辑点云中的部分。从左到右:将汽车的外观调整为敞篷车的形状,在椅子上增加扶手,去除马克杯的手柄。注意,有扶手的椅子比没有扶手的椅子平均矮13%;这也反映在这些结果中。
我们的AE能够重建看不见的形状,其质量几乎与用于训练的形状一样好。 在图1中,我们使用我们的AE对来自测试分割(每对图像的左侧)的未见样本进行编码,然后对它们进行解码,并将它们与输入(右图像)进行视觉比较。为了定量支持我们的视觉效果,在表1中,我们报告了重建点云之间的MMD-CD和MMD-EMD以及它们在椅子对象类的训练和测试数据集中的相应ground-truth。我们的度量标准下的泛化差距很小; 为了给出我们报告的数字的比例感,请注意,在两个版本的测试集之间,CD和EMD下的MMD分别为0.0003和0.033,这两个版本的测试集只因为点云抽样引入的随机性而有所不同。对于AE的泛化能力,可以根据每个数据集(训练或测试)的重构损失得出类似的结论,如附录图9所示。
表1 MMD捕获的AE的泛化。 用CD或EMD损失和椅子类数据训练的AE的训练和测试分裂重建的测量; 注意MMD如何倾向于使用与MMD用于进行匹配的损失相同的损失训练的AE。
可以通过表明学习的表示适合直观和语义丰富的操作来进行针对欠/过度拟合的另一个论点。 正如最近的几项工作所示,经过良好训练的神经网学习了一种潜在的表示,其中加性线性代数可以用于此目的(Mikolov et al.,
2013; Tasse & Dodgson, 2016)。首先,在图2中,我们展示了在潜在空间中左右几何形状之间的线性插值。 类似地,在图3中,我们通过在潜在空间中添加具有特定特征的几何形状的平均矢量(例如,敞篷车或没有手柄的杯子)来改变输入几何形状(左)。其他操作(例如形状类比)也是可能的,但由于空间限制,我们在附录(B部分)中说明并提供细节。 这些结果证明了学习空间的平滑性,但也突出了点云平滑变形的内在能力。
我们提出的AE架构可用于解决形状完成问题,并且适应性最小。 具体而言,我们可以向网络提供其预期输出的不完整版本,而不是反馈和重建相同的点云。 给定适当的训练数据,我们的网络学会完成严格的部分点云。 由于篇幅限制,我们在附录(D部分)中给出了我们方法的确切细节,并在主论文的图4中展示了一些完成的部分。
我们对AE的设计和功效的最终评估是通过将学习的潜在代码用作分类的特征来完成的。 为了使这个实验有意义,我们在所有不同的形状类别中训练AE:使用来自55个类别的人造物体的57,000个模型。 专门针对此实验,我们使用512维度的瓶颈,并沿着重力轴对输入点云进行随机旋转。为了获得输入3D形状的特征,我们将其点云送人AE并提取瓶颈激活矢量。 然后,使用基于ModelNet实际三维分类基准的线性SVM对该向量进行分类(Wu等人,2015)。表2显示了比较结果。 值得注意的是,在ModelNet10数据集中,其中包括ShapeNet中大量存在的类(椅子,床等),我们的简单AE明显优于现有技术(Wu et al。,2016)。
在附录的图16中,我们包括在Model-Net40上根据我们的潜在代码评估的分类器的混淆矩阵——在特别相似的几何形状之间发生混淆:梳妆台与床头柜或花盆与植物之间的混淆。 如果没有更强的监督,可能难以学习区分这些对象的微妙细节。
表2 ModelNet10 / 40上的分类性能(%)。 比较A:SPH(Kazhdan等人,2003),B:LFD(Chen等人,2003),C:TL-Net(Girdhar等人,2016),D:VConv-DAE(Sharma等人。 ,2016),E:3D-GAN(Wu等,2016)。
图4 用部分和完整(输入/输出)点云和EMD损失训练的网络的点云完成率。 每个三元组显示来自测试分割的部分输入(最左侧),然后是网络的输出(中间)和完整的ground-truth(最右侧)。
图5 由l-GAN(顶部)和32-component GMM(底部)产生的样本产生的合成点云,均使用EMD损失在AE的潜在空间上训练。
图6 根据对ground-truth测试数据集的覆盖/保真度,学习GAN的行为。 左 –ground-truth测试集与GAN在各个训练时期生成的合成数据集之间的JSD距离。右-基于EMD的MMD /覆盖:曲线标记指示时期1,10,100,200,400,1000,1500,2000,较大的符号表示后来的时期。
在确定了AE的质量之后,我们现在展示了我们的生成管道的优点和缺点,并为AE的学习表示建立了一个更成功的应用。 首先,我们对我们的生成模型进行比较,然后比较我们潜在的GMM生成器和最先进的3D体素生成器。 接下来,我们描述了在r-GAN倾向于产生的某些病理情况下,Chamfer距离如何产生误导性结果。最后,我们展示了在多类生成器中使用预先训练的潜在表示的好处。
在本研究中,我们训练了五个带有椅子类别点云的生成器。 首先,我们建立两个分别用CD或EMD损失训练的AE—— 称为AE-CD和AE-EMD,并在每个潜在空间训练l-GAN,使用Goodfellow等人(2014)的非饱和损失。在AE-EMD学习的空间中,我们训练了另外两个模型:一个相同的(架构方面的)l-GAN,利用具有梯度惩罚的Wasserstein目标(Gulrajani等,2017)和一个GMM族,具有不同数量的方法和协方差结构。 我们还直接在点云数据上训练r-GAN。
图6显示了随着训练的进行,生成的合成数据集与基于GAN的模型的保持测试数据之间的JSD(左)和MMD和覆盖率(右)。 注意,r-GAN努力提供测试集的良好覆盖率和良好保真度; 这暗示了一个公认的事实,即端到端的GAN通常很难训练。在训练较少的情况下,l-GAN (AE-CD)在保真度方面表现更好,但覆盖率仍然很低。切换到基于EMD的AE用于表示并且使用相同的潜在GAN架构(l-GAN,AE-EMD),产生覆盖率和保真度的显着改善。两个l-GAN虽然遭受模式崩溃的已知问题:训练进行到一半时,第一个覆盖率开始下降,但保真度仍然处于良好水平,这意味着它们对一小部分数据进行了过度拟合。后来,随之而来的是灾难性的崩溃,覆盖率下降至0.5%。 正如预期的那样,切换到潜在的WGAN在很大程度上消除了这种崩溃。
在表3中,我们基于生成的样本和验证集之间具有最小JSD的时期(或基础GMM参数)报告所有生成器的测量。 为了减少这些测量的采样偏差,每个发生器产生一组合成样本,该样本是比较集(测试或验证)的总体的3倍,并重复该过程3次并报告平均值。该过程选择的GMM具有32个高斯和完全协方差。 如附录的图18所示,具有完全协方差的GMM比具有对角线结构的GMM具有更好的性能,并且~20高斯足以获得良好的结果。 最后,表3的第一行显示了基线模型,其存储与其他生成集相同大小的训练数据的随机子集。
讨论。 表3的结果与图6中所示的趋势一致,进一步验证了基于latent(潜在)方法的优越性以及使用AE-EMD与AE-CD的相对增益。 此外,他们证明了简单的GMM可以获得与潜在WGAN质量相当的结果。 最后,值得注意的是GMM如何实现与完美/记忆椅子相似的保真度和几乎同样好的覆盖率。 补充表8显示了我们的度量在训练分割评估时基于性能的相同结论。
表3 在验证-分割上通过最小JSD选择epochs/模型,在椅子数据集的测试分割上评估5个生成器。 我们报告:A:基于采样的记忆基线,B:r-GAN,C:1-GAN(AE-CD),D:1-GAN(AE-EMD),E:1-WGAN(AE-EMD), F:GMM(AE-EMD)。
Chamfer的blindness,r-GAN的hedging
关于r-GAN的一个有趣的观察结果见表3。基于JSD和EMD的度量方法强烈支持latent(潜在)方法,而基于Chamfer的度量则不那么有判别性。 为了解释这种差异,我们对r-GAN样本进行了广泛的定性检查,发现许多点云的例子,这些点云在某些地方过于密集,平均而言,大多数椅子都有质量。对于Chamfer而言,这种hedging的r-GAN特别难以惩罚,因为它的两个总和之一可以变得非常小,而另一个加权只能通过在non-populated位置存在一些稀疏位置来适度地大。图7突出了这一点。 对于ground-truth点云,我们在CD下,在由r-GAN和l-GAN产生的综合生成的集合中检索其最近邻居,并且图像内数字报告它们与CD和EMD的距离。 注意,当EMD建立时,CD无法区分r-GAN样品的劣等性。CD度量的盲目性只对部分良好匹配有额外的副作用,即基于CD的覆盖率始终大于基于EMD的覆盖率。
近来,基于视图的映射 (Su et al., 2015; Wei et al., 2016; Kalogerakis et al., 2016),体积网格 (Qi et al., 2016b; Wu et al., 2015; Hegde & Zadeh, 2016) 和图形 (Bruna et al., 2013; Henaff et al., 2015; Defferrard et al., 2016; Yi et al., 2016b)的深度学习架构已经在3D机器学习文献中出现。
一些最近的工作((Wu et al., 2016), (Wang et al., 2016),(Girdhar et al., 2016), (Brock et al., 2016), (Maimaitimin etal.,2017),(Zhuetal.,2016))已经探索了几何结构的生成和判别表示。它们在不同的模式下工作,通常是体素网格或基于视图的图像投影。据我们所知,我们的工作是第一个研究点云的这种表示。
自编码器在潜在空间中训练高斯混合模型(GMM)与VAEs密切相关 (Kingma &Welling,2013)。与VAEs相关的一个被证明的问题是过度正则化:与先验相关的正则化项常常非常强,以至于重构质量受到影响(Bowman et al., 2015; Sønderby et al., 2016; Kingma et al., 2016; Dilokthanakul et al., 2016)。文献中包含的方法只从重构惩罚开始,慢慢增加正则化项的权重。另一种方法是基于对抗自编码器(Makhzani et al., 2015),它使用一个GAN来隐式正则化AE的潜在空间。
我们提出了一种新的三维点云表示学习与生成体系结构。我们的结果显示了对不可见数据的良好泛化,并且我们的表示编码了有意义的语义。特别地,我们的生成模型能够生成可靠的样本并覆盖大部分ground truth分布。有趣的是,我们的大量实验表明,点云的最佳生成模型是一个在AE的固定潜空间中训练的GMM。虽然这可能不是一个普遍的结果,但它表明,不应该忽视简单的经典工具。对简单的潜在GMMs与经过反向训练的模型一样强大的条件进行彻底的研究将具有重要意义。
(附录部分由另一小伙伴翻译~)
我们的AE的编码层实现为具有ReLU激活函数的1D卷积,其内核大小为1并且步幅为1,并独立地处理每个3D点。 他们的解码层是使用FC-ReLU构建的MLP。我们使用Adam(Kingma&Ba,2014),初始学习率为0.0005,尾部1为0.9,批量为50,以训练所有AE。
A1 AE用于基于SVM的实验
对于主要论文5.1节的SVM相关实验中提到的AE,我们使用了一个编码器,每层分别有128,128,256和512个滤波器,分别有1024,2048,2048×3个神经元的解码器。在每一层之间使用批量标准化。 我们还通过应用沿重力(z)轴随机旋转到每批的输入点云来实现在线数据增强。我们训练这个AE有1000轮的CD损失和1100 轮的EMD。
A2所有其他AE
对于所有其他AE,编码器在每一层都有64,128,128,256和k个滤波器,其中k是瓶颈尺寸。解码器由3个FC-ReLU层组成,每个层具有256个,256个,2048个×3个神经元。 我们使用单类数据训练这些AE最多500轮,并且在涉及5个形状类别的实验中训练了1000轮(5.2节结束,主要论文)。
A3 AE正则化
为了确定潜在空间的合适大小,我们构造了8个(在结构上相同的)AEs,其瓶颈大小为k∈{4,8。。。 ,512}并在两次损失下用椅子对象类的点云训练它们(图9)。 我们用伪随机权重初始化三次重复该过程,发现k = 128在测试数据上具有最佳的泛化误差,同时在训练分割上实现最小的重建误差。
图10.使用我们学习的表示的形状类比。形状B0与形状A0与A相同的方式与B相关。
备注。 不同的AE设置与我们的主体系结构相比没有明显的优势。 具体地说,添加退出层导致更糟糕的重建并且仅在编码器上使用批量规范,加速训练并且当使用单类数据训练AE时给出稍微更好的泛化误差。 另外,对于主要论文5.1节的SVM实验,我们随机旋转输入椅子以促进旋转不变的潜在特征。
对于形状编辑应用程序,我们使用在所有55个对象类中训练的AE-EMD学习的嵌入,而不是单独的每个类别。 这展示了它为不同形状编码特征的能力,并且能够实现涉及不同形状的有趣应用。
编辑形状部分。
我们使用Yi等人的形状注释(Yi et al。,2016a)作为修改形状的指导。 作为示例,假设给定对象类别(例如,椅子)可以进一步细分为两个子类别A和B:每个对象A∈A具有某种结构特性(例如具有扶手,是四条腿等) 和对象B∈B没有。使用我们的潜在表示,我们可以通过它们的平均潜在表示xB- xA之间的差异来模拟这两个子类别之间的结构差异,其中 ,
然后,给定一个对象A∈A,我们可以通过变换它的潜在表示来改变它的属性:xA0 = xA + xBBxA,并解解码xA0以获得A0∈B。这个过程如图3所示。
插值形状。
通过在两个形状的潜在表示之间进行线性插值并对结果进行解码,我们获得两个形状之间的中间变体。这产生了一种“orph-like”序列,其主要论文的图2中的两个形状和图2。我们的潜在表现足以支持重新移动和合并形状部分,这使得能够在明显不同外观的形状之间变形。 我们的跨类别潜在表示允许在不同类的形状之间变形,cfg。在长凳和沙发之间进行插值的第二行。
形状类比。
通过线性操作和欧几里得最近邻搜索的组合找到类似的形状,证明了潜在空间的欧几里德性质的另一个证明。 具体地说,我们找到A和A0之间的差异向量,我们将它添加到形状B并在潜在空间中搜索该结果的最近邻居,从而得到形状B0。 我们将图10中的发现与从网格中获取的图像一起用于推导底层点云以帮助可视化。 寻找形状类比最近在几何处理领域引起了人们的兴趣(Rustamov et al。,2013; Huang et al。,2018)
表7.每个数据集中使用的SVM的训练参数以及AE的每个结构损失。 C惩罚(C-plt):控制学习边际大小与错误分类率之间权衡的术语; 截距(icpt):在输入要素上附加额外的维度以使它们居中; 损失:svm - 优化损失函数:铰链(hng)或平方铰链(sq-hng)
除了包含人造物体的ShapeNet核心之外,我们还尝试了包含人类主体网格的D-FAUST数据集(Bogo等,2017)。 具体而言,D-FAUST包含执行各种运动的10个人类受试者的40K扫描网格。 每个人执行一组(最大)14个运动,每个运动由300个网格的时间序列捕获。 出于我们的目的,我们为每个人/运动使用80(300个)网格的随机子集,并从每个网格中提取具有4096个点的点云。 我们得到的数据集包含总共10240个点云,我们使用[70%,20%,10%]的训练 - 测试值分割 - 同时强制每个分割都包含所有人/运动组合。 我们使用与主要论文中提出的单级AE相同的AE-EMD这些数据来训练和评估,唯一的区别是最后一层的神经元数量(4096×3而不是2048×3)。
我们在图13和14中展示了重建和插值结果 对于给定的人类主体和特定运动,我们随机选取对应于时间点t0,t1(t1> t0)的两个网格并显示他们的重建以及图13中的基本事实(每行的最左侧和最右侧)。 在同一图中,我们还绘制了在(t0,t1)中捕获的两个随机网格的构造(每行的中间两个)。 在图14中,我们不是对地面实况测试数据进行编码/解码,而是在t0,t1的网格之间显示解码的线性插值。
图13.从D-FAUST数据集(Bogo等,2017)中提取的分离测试中的看不见的形状的重建,其中AE-EMD解码点云具有4096个点。 在每一行中,姿势描绘了一个动作(从左到右)随着时间的推移。
我们的AE架构一个重要应用是完成(completing)包含底层几何体的有限信息的点云。由于存在自我遮挡和缺乏足够(或“密集dense”)视点信息,实时为对象获取的典型范围扫描经常会遗漏对象的整个区域。这一事实为这一具有高度实际意义的问题提供了解决方案。为了解决这个问题,我们采用了与本文其余部分使用的数据集截然不同的数据集。也就是说,我们利用(Dai et al。,2016)的数据集,其中包含完整的(完整的)3D CAD模型对及其部分(partial不完整)版本。具体而言,对于ShapeNet(核心)的每个对象,它包含六个部分点云,这些部分点云是通过在围绕对象建立的虚拟轨迹中的有限一组视点上获取的帧的聚合而创建的。给定这些数据,我们首先通过对它们进行随机子采样,将每个部分点云的维度固定为2048个点。 其次,我们对每个完整的CAD模型应用均匀区域采样,从中提取4096个点来表示“完整的”地面真实(ground-truth)数据。所有得到的点云都集中在单位球体中并且(在一个类中) )部分和完整的点云是共同对齐的。 最后,我们使用椅子,桌子和飞机数据以及[80%,5%,15%]的训练 / 验证 / 测试分组训练特定类别的神经网络。
我们用于高级设计架构的形状完成方法与AE相同,即在结构损失(CD或EMD)下训练的FCs之后的独立卷积。 但是,该网络的基本部分是不同的:深度,瓶颈大小(控制压缩比)以及输入和输出数据之间的关键区别。
从技术上讲,最终的体系结构是一个抽象预测器(AP),由三层独立的每点卷积组成,滤波器大小为[64,128,1024],后跟最大池,后跟FC -ReLU(1024个神经元)和最终的FC层(4096×3个神经元)。我们不在任何层之间使用批量标准化,并且每个类特定AP最多训练100轮,with ADAM,初始学习率为0.0005,批量大小为50。我们使用最小的每个验证拆分模型( epoch)用测试数据评估我们的模型。
我们使用(Sung et al。,2015)中介绍的专业点云完成度量。这是a)准确度:它是从地面实况点云中的任何点开始在给定半径(ρ)内的预测点的分数,以及b)覆盖范围:这是地面实况点的分数。从任何预测点都在ρ之内。在表8中,我们报告了这些指标(ρ= 0.02,类似于(Sung等,2015)),针对特定类别的网络,分别用EMD和CD损失进行训练。我们观察到与EMD相比,CD损失输出准确度提高但缺少完整度。这再次突出了CD的贪婪本质 - 因为它没有考虑输入/输出之间的匹配,它可以完成更多集中在(不完整的)输入点云周围的情况。 图15显示了主要论文中提出的相应完成情况,但是有一个受CD损失训练的网络。
图14.来自D-FAUST数据集(Bogo等,2017)的分组测试(每行的左侧和右侧)的不同点云之间的插值。 这些线性插值捕捉到了相应运动的一些动态:“鸡翅”(第一排),“摇肩”(第二排)和“跳跃”(第三排)。 与图13相比,它包含同一时间间隔内的地面实况点云。
图15.使用部分和完整(输入/输出)点云和CD损失训练网络的点云完成。 每个三元组显示来自测试分裂的部分输入(最左侧),然后是网络的输出(中间)和完整的地面实况(最右侧)。 还与主要论文的图4进行比较,该图描绘了用EMD损失训练的网络的相应完成情况。
表8. ShapeNet测试数据上的点云完成性能。 在每个类别中,根据CD或EMD损失训练的Abstractor-Predictors,平均准确度和覆盖率之间的比较。 每个测试拆分的大小在第一行中描述。
评估对于5.1节(主要论文)的分类实验,我们使用了一对静态线性SVM分类器,其具有l2范数惩罚和平衡类权重。 确切的优化参数可以在表7中找到。在ModelNet40上我们的潜在代码评估的分类器的混淆矩阵如图所示。
分类器的前5层是1D-convolutions,步长/内核大小为1,每个{64,128,256,256,512}个滤波器; 激活函数leaky-ReLU。 它们之后是feature-wise max-pool最大特征的池化层。 最后2个FC-leaky-ReLU层各有{128,64}个神经元,最后链接sigmoid形神经元。 我们使用了0.2个单位的leak。
生成器由5个FC-ReLU层组成,每个{64,128,512,1024,2048×3}个神经元。我们用Adam训练r-GAN,初始学习率为0.0001,大小为50的β1为0.5。噪声向量由128维的球形高斯绘制,零均值和0.2单位标准差。 由r-GAN产生的一些合成结果如图12所示。
分类器由2个FC-ReLU层组成,每个层具有{256,512}个神经元,最后一个FC层具有单个sigmoid神经元。 该发生器由2个FC-ReLU组成,每个具有{128,k = 128}个神经元。 当使用l-Wasserstein GAN时,我们使用梯度惩罚正则化器λ=10并且对生成器的每次训练迭代训练评价者5次。 训练参数(学习率,批量大小)和发生器的噪声分布与用于r-GAN的训练参数相同。
所有GAN都训练了最多2000个时期; 对于每个GAN,我们根据合成结果与地面实况分布的匹配程度,选择其中一个训练时期来获得“最终”模型。 具体而言,在给定的时期,我们使用GAN生成点云集合,并测量该集合与验证集之间的距离。考虑到EMD的高计算成本,我们避免使用MMD-EMD测量该距离。 相反,我们使用JSD或MMD-CD指标将合成数据集与验证数据集进行比较。 为了进一步降低模型选择的计算成本,我们仅检查每100个历元(对于r-GAN为50)。 通过MMD和JSD测量的各种训练时期各种GAN模型的泛化误差如图17所示(左和中)。
通过使用相同的JSD标准,我们还为GMM选择高斯分量的数量和协方差类型(图18,左),并获得32个分量的最佳值。 GMMs在完全(相对于对角线)协方差矩阵上表现得更好,表明潜在维度之间存在很强的相关性(图18,右)。 当使用MMD-CD作为选择标准时,我们获得了相似质量和类似停止时期的模型(见表9); 在这种情况下,最佳高斯数为40.使用MMD-CD测量的训练行为可以在图17(右)中看到。
图16.基于SVM的第5.1节分类的混淆矩阵,用于ModelNet40上的Chamfer损失。分类器最混淆的类别是梳妆台/床头柜,花盆/植物。
表9.验证通过最小MMD-CD选择的轮数/模型的椅子数据的测试组对五个生成器的评估。我们发现:A:r-GAN,B:l-GAN(AE-CD),C:1-GAN(AE-EMD),D:1-WGAN(AE-EMD),E:GMM-40-F(AE-EMD)。 GMM-40-F代表GMM,GMM-40-F代表具有40个高斯分量且具有完全协方差的GMM。 报告的分数是三次伪随机重复的平均值。将其与主要论文的表3进行比较。 请注意,无论用于模型选择的度量如何,所选模型的总体质量都保持不变。
我们体素的AE基于完全卷积,由3D-Conv-ReLU层编码器和3D-Conv-ReLU转置层的解码器组成。下面,我们列出从左到右列出的连续图层的参数。层参数以下列方式表示:(滤波器数量,滤波器大小)。 每个Conv / Conv-Transpose的步幅为2,除了323解码器的最后一层有4个。在解码器的最后一层,我们不使用非线性。缩写“bn”代表批量标准化。
在二元交叉熵损失下,我们用Adam训练每个AE 100个时期。 学习率为0.001,β1= 0.9,批量大小为64.为了验证我们的体素AE架构,我们将它们在重建质量方面与最先进的方法进行了比较(Tatarchenko等,2017) 并获得了可比较的结果,如表10所示
图18. GMM模型选择。 具有不同数量的高斯和协方差类型的GMM在由EMD训练的潜在空间和使用EMD训练的AE以及128的bottleneck上训练。具有完全协方差矩阵的模型实现比使用对角协方差训练的模型JSD小得多。对于那些具有完全协方差的来说,30个或更多的集群似乎足以实现最小的JSD。在右边,高斯分量的典型协方差矩阵中的值以伪彩色显示 - 注意强的非对角线分量。
在这里,我们将GMM生成去器与记忆训练椅子数据的模型进行比较。为此,我们要么考虑整个训练集,要么随机对其进行子采样,以创建不同大小的集合。然后,我们评估这些记忆集和测试集点云之间的度量(见表11)。我们的生成模型(最后一行)获得的覆盖率/保真度略低于预期的相同大小的情况(第三行):当它们都来自相同类别时,记忆训练集能产生更好的覆盖/保真度。这说明了我们指标的有效性。 自然地,使用学习表示的优点在于学习底层空间的结构而不是单个样本,这使得能够简单地表示数据并生成如我们的插值所证明的新颖形状。 特别要注意的是,虽然我们的生成结果中出现了一些模式崩溃,但是覆盖率下降,我们生成模型的MMD几乎与记忆情况相同,表明保真度极佳。
表10.基于密集体素的AE和ShapeNetCars数据集(Tatarchenko等,2017)的重建质量统计数据。 两种方法都使用0.5占用率阈值和列车测试分割(Tatarchenko等,2017)。 通过测量输入和合成的体素网格之间的交叉过度来测量重建质量,即体素网格中的体积之间的比率在两个网格中为1除以在至少一个网格中为1的体积。
除了主要论文表4中基于EMD的比较之外,在表12,13中,我们提供了对于ShapeNet类的(Wu等人,2015)的比较,其中,他们已经公开了他们的模型。 在表12中,我们为两个模型提供了基于JSD的比较。 在表13中,我们提供了基于倒角的Fidelity / Coverage比较测试分割,补充了主要论文中表4中基于EMD的分析。
表11.基线采样/记忆模型的定量结果,针对从训练集采样并根据测试分组评估的不同大小的组。 前三行显示记忆模型的结果,而第三行对应于我们的生成模型。 第一行显示记忆整个训练椅子数据集的结果。 第二行和第三行显示了具有不同随机种子的子采样过程的三次重复的平均值。
表12.基于JSD的A:(Wu等,2016)与我们的生成模型之间的比较 - B:潜在的GAN,C:具有32个全协方差高斯分量的GM。 B和C都在我们AE的潜在空间进行了EMD结构损失的训练。 注意,这里的l-GAN使用与(Wu等人,2016)相同的“vanilla”对抗性目标。 Tr:训练集,Te:测试集。
比较培训数据。
在表14中,我们与椅子类别的训练集上的JSD和MMD-CD相比较(Wu等人,2016)。由于(Wu et al。,2016)不使用任何训练/测试分割,我们从他们的模型执行5轮采样1K综合结果并报告相应评估指标的最佳值。我们还报告了平均分类概率。合成样品由Point Net分类器归类为椅子。r-GAN在其多样性(通过JSD / MMD测量)方面略微优于(Wu等,2016),同时还创建逼真的结果,如分类分数所示。无论是在分类还是多样性方面,l-GAN都表现得更好,训练时期更少。最后,请注意PointNet分类器是在ModelNet上训练的,并且(Wu等人,2016)偶尔会生成很少出现在ModelNet中的形状。结合他们更高的模式崩溃趋势,这部分地解释了他们较低的分类分数。
表13.基于CD的MMD和A:Wu等人之间的覆盖率比较。 (2016)和B:我们关于每个类别测试集的生成模型。我们的生成模型是一个具有32个全协方差高斯分量的GM,在我们AE的潜在空间上训练,具有EMD结构损失。 注意吴等人。 使用每个类别的所有模型进行训练。
表14.通过验证最小JSD选择的关于时间/模型的椅子数据集的训练拆分评估六个生成器。 我们报告:A:r-GAN,B:(Wu et al。,2016)(体积法),C:l-GAN(AE-CD),D:l-GAN(AE-EMD),E:l -WGAN(AE-EMD),F:GMM(AE-EMD)。 请注意,地面点云达到的平均分类得分为84.7%。
图19显示了我们模型的一些故障情况。 具有罕见几何形状的椅子(左两个图像)有时不会被忠实地解码。 另外,AE可能会错过高频几何细节,例如 椅子后面的一个洞(中间),从而改变了输入形状的风格。 最后,r-GAN经常努力创造逼真的形状(右) - 而r-GAN椅子很容易在视觉上识别,它在汽车上的时间更难。 为点云设计更强大的原始GAN仍然是未来工作的有趣途径。 我们的形状完成局限性考虑了部分形状的样式,在完成的点云中可能无法很好地保留(参见图21的示例)。
图19.AEs可能无法重建不常见的几何尝试或可能错过高频细节:前四个图像 - 每对的左边是输入,右边是重建。 r-GAN可以合成噪声/不切实际的结果,参见 一辆车(最右边的图像)。
图20. GMM的32个中心适合潜码(latent code),并使用AE-EMD的解码器进行解码
图21.即使生成了合理的形状,我们的完成网络也可能无法保留部分点云中的某些样式信息。