当前位置:   article > 正文

【点云系列】FoldingNet++ 翻译_deep unsupervised learning of 3d point clouds via

deep unsupervised learning of 3d point clouds via graph topology inference a

原文:Deep Unsupervised Learning of 3D Point Clouds
via Graph Topology Inference and Filtering
链接:https://arxiv.org/abs/1905.04571
代码:https://www.merl.com/research/license/FoldingNet_Plus#download

摘要

我们提出了深度自编码器,其结合了图的拓扑结构与滤波功能在无序3D点云上用非监督的方式来实现紧凑的表达。许多以往的工作通过将三维点离散为体素,然后使用基于网格的方法来处理和学习三维空间信息; 但是,这种离散化会导致误差的产生。在本文当中,我们尝试处理原始的3D点而不需要上述的损失。所提出的网络框架遵循自编码器框架,着重于解码器的设计。其中,所提出的编码器网络采用类似于PointNet的架构,PointNet是公认的3D点云监督学习方法,所提出的解码器涉及三个新颖的模块:折叠模块、图形拓扑模块和图滤波器模块。折叠模块通过折叠一个标准2D网格到3D点云,实现粗重建;图拓扑推理模块通过学习图突破结构来表示3D点之间的成对关系,让latent code同时保持3D点云的坐标和点的成对关系;图滤波模块耦合以上两个模块,对重构点云通过拓扑结构的导引,进行细化获得最终的重构。所提出的解码器利用可学习的图拓扑使得码字保留了具有代表性的特征,同时也提高无监督学习的表现。我们进一步对所提出的架构提供理论分析。我们为重建损失提供一个上限,并进一步说明了图平滑比空间平滑的优越性,作为先验来建模3D点云。在实验中,我们在三个任务(包括三维点)中验证所提出的网络云重建、可视化和转移分类。实验结果表明;(1)所提出的网络具有良好的网络性能。在各种任务中,包括重建和转移分类,胜过最先进的方法;(2)一个图拓扑可以作为辅助信息而没有特定的图拓扑推理的监督学习;(3)图滤波对重构进行了改进,使性能更好;(4)设计一个功能强大的解码器,就像设计一个功能强大的编码器一样,可以提高自主学习的性能。
关键词 3D点云, 深度自编码器,图滤波,图拓扑结构

I 简介

3D点云是3D空间中连续表面的离散表达形式,在自动驾驶,工业机器人,增强现实当中都有广泛的应用[3]。基于存储顺序和空间连接性,我们将其分为两类:有序点云,例如由类似相机的3D传感器或3D激光扫描仪布置而成感知器,无序点云,例如因为复杂结构,和多视角扫描,其后的合并会导致其的无序[5]。有序点云更容易处理,因为低层的网格化会产生自然的空间连续性和反应感知顺序。为了通用性,文本考虑无序点云。与带有网格[6]的一维语音数据和二维图像数据不同,无序3D点云通常是稀疏、不规则地散布在3D空间中的,这就导致基于传统网格的算法很难处理3D点云。为了解决这个问题,许多先前的工作转换离散点云到体素或者多视角图像,因为体积的冗余与量化的伪像。PointNet作为标志性工作,是基于监督学习的深度网络,使用了多层感知机与最大池化来保障其无序性。在一些监督学习类任务中实现了好的结果,例如识别,分割,和3D点云的语义分割等任务[7]。这之后,相似技术也有应用,例如3D点云检测[8],分类[9],上采样[10]。

在这个工作中,我们考虑3D点云的非监督学习;也就是,不需要标签信息来紧凑表达3D点云。该方法中,表达性特征是从3D点云中自动提取的,因此可以被用作任意的子任务的辅助或先验信息。一些类似工作已提出相应方法来达到这个目标[11],[12]。他们采用自编码器框架,[11]将离散3D点转换到3D体素,并且使用3D卷积来设计编码器和解码器。然而,这就不可避免离散所嗲来的一些错误率,并且3D卷积计算代价较高。[12]直接处理3D点云,编码器使用PointNet和全连接作为解码器。这个方法是有效的,然而,并没有探索3D点云的几何结构,并且需要大量的不必要的参数训练。

本文所提出的网络直接处理3D点并探索了基于图结构的3D点云的几何结构。所提出的网络遵从传统自编码器框架,着重于设计解码器。编码器采用PointNet且解码器包括3个部件,折叠模块,图拓扑推理模块,图滤波器模块。折叠模块在编码器生成的隐码(latent code)上将每个在2D网格中的结点映射到3D空间中实现粗略重构。直觉上,这个过程是将2D网格组成的平面折叠到3D点云的平面。图拓扑推理模块通过学习图的拓扑结果来显示的捕获3D点之间的关联性。直观上,所学到的图拓扑结构能够通过剪裁或粘贴局部形状来实现3D点云的形变。最后图滤波器模块对以上两个模块的结合内容进行图滤波操作,来获取最终的重构点云。直觉上,图滤波器模块引导网络进行折叠、裁剪或粘合一个2D平面到一个复杂且精细的3D表面;看表1.整体的解码器利用可学习的图拓扑推进(隐形)码字来保留具有代表性的特征,进而提高了无监督学习性能。我们在此基础上提供了所提出框的理论性分析。在重构损失上提出了界,其与码字长度的立方根成正比。在特定平滑假设下,我们能够发现滤波过程通过平滑粗糙的重构来降低上界。我们也证明了图的平滑优于空间平滑,图的滤波通过提升图的平滑性来细化3D点云。这就反映了适当的图拓扑与后续的图滤波模块的重要性。

实验上,我们通过3个任务来验证所提出网络的有效性,包括重构,可视化和转移分类。为了明确说明精细化后的性能,我们人工标注了ModelNet中的3D形状并提供了子类别标签。例如,通过机翼的形状将飞机分为9个子类。实验结构表明:(1) 所提出的网络在定量任务方面优于现有方法;(2) 图过滤促进网络细化细节,在细粒度分类方面优于竞争对手;(3)在端到端架构中,无需直接监督即可实现图的拓扑推理。

主要贡献点:

  • 我们提出了一个新的深度自编码器,着重于设计基于图的解码器。整体的解码器通过学习到的图拓扑结构让隐形码字来保留具有代表性的特征;
  • 我们针对所提出的网络提出了理论性分析,并且表明了图结构的有效性;
  • 我们提出了基于ModelNet40的精细化后的3D形状数据集,可以用于精细化识别,可视化和聚类;
  • 我们验证了所提出网络在3D点云重构,可视化和转换分类中的效果。从定性和定量的数据表明所提出方法的优势性。

II 相关工作

在这个章节,我们从三个方面对相关工作进行回顾:非监督学习,图信号处理和几何深度神经网络。

A. 非监督学习

与需要训练集加标签的监督学习相比,非监督学习不需要任何标签,进行自组织训练。一些通用非监督学习方法包括K均值聚类,高斯混合模型主成分分析[13],矩阵分解[14],自编码器,生成模型[15]。近期,一系列在3D点云中的内地非监督模型相继提出【16-20】。例如,3D GAN将3D点转换到3D体素[11],由于引入了很多空的体素因而降低了准确率;latentGAN直接处理点云[12];然而,解码器使用全连接,并不能明确的探索3D点云的几何结构,且需要大量的训练参数;VIP-GAN使用RNN架构解决多个视角的预测[21];[22]学到了连续性信号的距离函数来表示每个类别的形状,其可实现高质量形状表示,插值和从输入的3D带噪声或缺失数据的补全。AtlasNet[55]将3D形状建模为参数曲面元素的集合,类似于所述的折叠模块;3DCapsNet[71]采用了动态路由方案和特有的2D潜在空间。在这项工作中,我们使用深度自编码器直接处理无序点云并提出了基于图的操作来探索3D点云的几何结构。

B. 图信号处理

图信号处理是分析高维不规则数据的理论框架[23-25]。该框架将传统离散信号扩展到不规则表面结构。该框架通过图和图信号来建模表面结构,通过从传统离散型到图的领域的扩展,是实现了泛化概念的一种工具。一些技术包括图信号的表示[26-27],图信号的采样[28-30],图信号的恢复[31-32],降噪[33-34],图滤波器银行[33,35],图转换[36,26],图拓扑结构推理[37],图神经网络[38-39]。为了处理3D点云,[40]使用图滤波器和基于图的重采样策略选取具有信息量的3D节点;[41]使用图神经网络来进行分类。在该工作中,我们使用图信号来实现滤波器设计和提出了图滤波模块。

C.几何深度神经网络

在深度学习里,研究者使用了各种类型方法来表示3D数据,包括体素[42],多视角[43],网格[44],和点云[7]。作为自动驾驶、机器人和虚拟现实领域中的里的原始数据,3D点云因为其的灵活性和表达力而广受关注[44-50,8]。为了从3D点云学习,许多方法都通过体素化或者投射到2D图像的方式将无结构的3D点转换到有结构的组织,这样就可以使用CNN[51-54];然而,在像素和存储上就得权衡了。为了直接处理点云,PointNet[7]使用基于点的多层感知器(MLP)和最大化池化来确保置换不变性。一系列的3D深度学习方法都基于PointNet[7],在分类,分割,上采样方法中[1,10,55-58]。不同于以上,[44,47]定义基于MLP的连续性图卷积来处理无序点云,其使用了类似CNN的网络;[48]定义了连续切线网络;[49]使用了多项式卷积权值而不是MLP; [8] 在体素化之前使用PointNet,将PointNet与NCN进行结合;[50]使用自组织地图来学习MLP的顺序;[45]设计了双边卷积层,在卷积钱将特征映射到规则划分的空间。这些方法中的大多数都是监督学习。在本工作中,我们使用深度学习策略来实现3D点云的非监督学习。

III 问题描述

我们现在介绍必要的背景知识。首先从3D点云属性开始介绍,然后介绍3D点云的无监督学习任务。

A. 3D点云

S = { x i ∈ R K ∣ i = 1 , . . . , N } S=\{x_i\in R^K | i=1,..., N\} S={xiRKi=1,...,N}是一个有着 ( K − 3 ) (K-3) (K3)个属性的点云集合。相应的矩阵表达形式是: X = [ s 1 s 2 . . . s K ] = [ x 1 x 2 . . . x N ] T ∈ R N × K X=[s_1\quad s_2 \quad ...\quad s_K]=[x_1 \quad x_2\quad ...\quad x_N]^T\in R^{N\times K} X=[s1s2...sK]=[x1x2...xN]TRN×K。其中, s i ∈ R N s_i\in R^N siRN 表示第 i i i个属性, x j ∈ R K x_j\in R^K xjRK代表第 j j j个点;基于感知器的不同,属性可以是3D坐标,RGB颜色,密度,表面法向量,或者其他等等。这里我们仅考量3D坐标,且K=3。
3D点云有以下属性:

  • 排列不变。3D点云在对应3D坐标表示的3D点的集合。存储在集合中的点是无序的。点的顺序可以通过任意排列进行改变,而点依然在集合中。
  • 变换等价。3D坐标点可以被平移、旋转或映射但不会改变他们所代表的表面,也即不会改变原有的拓扑结构和点间的关系;
  • 分段平滑。因为3D点云通常是从物体表面取样,本质上是3D空间中折叠的2D表面。曲面大部分都是光滑的可以用2D切平面局部来进行逼近,这表明相邻的点具有相似的几何结构。曲面的某些部分具有显著的曲率,并且是非光滑的。总体来说3D点云的表面空间域是分段平滑的。

B. 3D点云的非监督学习

这个目标是通过点云的自组织分布来建模。特别的,我们着重于使用一个深度自编码器来探索3D点云的紧实表达,其可以保留原始点云特征来实现重构。所提出的自编码器基于深度神经网络框架。将3D点云压缩到更低维度的码字,接着再将这些码字解压缩到重构的点云,其与原始点云相匹配。该压缩模块叫做编码器,解压缩模块叫做解码器。
1)编码器:编码器 Ψ \Psi Ψ用于生产低维码字来表示原始点云,也即:
在这里插入图片描述
C < < 3 N C<<3N C<<3N,反应了 c c c是原始点云的紧凑表达;
2)解码器:解码器 Φ \Phi Φ是将码字重构成点云,其余原始点云最接近,定义为:
在这里插入图片描述
注意在重构3D点云中我们不严格定义点数 M M M与原始点云点数 N N N是一致的。

我们使用深度学习网络来设计编码器和解码器。

3)损失函数:为了使重构3D点云与原始3D点云匹配,我们最小化其两者距离。给定n个3D点云和固定码字长度C,优化问题定义为:
在这里插入图片描述
其中 S i S_i Si是数据集中的第 i i i个3D点云, d ( . ) d(.) d(.)是衡量两个点云差异的距离。我们考虑增强版的Chamfer距离:
在这里插入图片描述
第一项最小化原始点云和重构点云的 l 2 l_2 l2距离;第二项最小化重构点云与原始点云的 l 2 l_2 l2距离。最外面的最大化强化了两者距离,强化的chamfer距离也就是Hausdrff距离。与原始Chamfer距离相比,其对于坏样例是鲁棒的。例如,原始Chamfer距离对于一个点云中仅有很少点来说是信息不足的。增加后的Chamfer距离确保了其表面对应一致性。由于我们使用最小化和平均化操作来剔除点数的影响,重构的3D点云不严格要求其与原始点云点数一致;

我们使用随机梯度下降来解决(3)。因为我们端到端训练整个网络,监督学习依赖于编码器和解码器:编码器抽取有效信息,然后解码器进行重构;另一方面来说,解码器使用特定结构来促使编码器提取特定信息。由于我们重构原始点云,码字 c c c保留了关键特征来描述原始点云的3D形状。码字因而可以用于分类,匹配和其他任务。在这篇论文中,我们着重于考虑解码器的设置。

IV. 网络框架

在这个部分,我们介绍所提出的网络,见图1
在这里插入图片描述
所提出的网络遵从编码器-解码器框架,编码器参考PointNet[7].解码器包括三个部件:折叠模块,图拓扑模块,图滤波模块。

A. 编码器

我们参考PointNet[7]的框架。编码器包括级联的基于点的多层感知器(MLP)。例如,第一个MLP 将3D空间中的一个点映射到高维空间特征。因为所有3D点都在卷积中共享相同权值,因而相似的点会映射到特征空间中相似的位置。接下来我们使用最大池化来去除点维度,保留全局特征。我们最终使用MLPs来将全局特征映射到码字上。数学上,编码器表达为:
在这里插入图片描述
其中 x i x_i xi是点云中第 i i i个点。 M L P ( l ) ( . ) MLP^{(l)}(.) MLP(l)(.)表示MLP的第 l l l层, c i c_i ci是第 i i i个点的特征。(5a)使用了级联的MLP来提取基于点的特征 c i c_i ci;(5b)使用最大池化来增强特征获取全局特征 c ′ c' c;(5c)使用级联的MLP来获得最终的码字 c c c.

B. 解码器:折叠模块

折叠模块将码字映射到粗略的3D点云。一个直接的方式就是使用全连接方式直接映射[12];然而,这种方法并不能探索任何3D点云的几何属性,并且需要巨多的参数来训练(本文使用的想法是通过引入2D网格来参数化这样一个映射)。如同第3章节第一小节所述,3D点云本质上是从3D空间对2D表面采样得到的。因而我们将重构看做是将2D曲面折叠为3D曲面的过程,折叠机制由编码器生成的码字来决定。

定义 Z ∈ Z M × 2 Z\in Z^{M\times 2} ZZM×2 是从固定网格大小的2D网格中通过均匀采样后的矩阵表达, z i ∈ R 2 z_i \in R^2 ziR2表示2D网格中的第 i i i个结点的坐标。注意 Z Z Z是固定的。它是用作重构的标准基,不依赖于原始点云。折叠模块的作用就是将2D网格折叠到3D空间。因为码字是使用数据驱动的方式,其保留了折叠机制。因此我们可以将码字与每个2D坐标进行拼接,然后使用MLP来实现折叠的过程。数学上,在折叠后,第 i i i个点为:
在这里插入图片描述
c c c码字是编码器的输出, [ . , . ] [.,.] [.,.]表示两个向量的拼接。折叠函数 f c ( . ) f_c(.) fc(.)包括两层MLP,码字在每层中都有使用。我们收集所有的3D点 x i ′ x'_i xi来生成重构 S ′ = { x i ′ ∈ R 3 ∣ i = 1 , . . . , M } S'=\{x'_i \in R^3 |i=1,...,M\} S={xiR3i=1,...,M}使用对应矩阵的表示 X ′ ∈ R M × 3 X'^\in R^{M \times 3} XRM×3

直觉上, f c ( . ) f_c(.) fc(.)应该是平滑函数,也就是,当两个点在2D网格中接近时,他们在3D空间中的位置也是接近的。平滑性使得网络容易训练;然而,当3D表面有很多曲线和复杂形状时,2D到3D的映射限制了其平滑性的表达力。图2展示了仅通过训练折叠模块不能重构高阶的环面。点的颜色表明了在2D网格和3D点中的对应性关系。平滑的颜色反映了其难易程度。我们发现仅训练折叠模块不能够处理环面里的空洞,而且网络不能够找到一个合适的折叠方式。这背后的原因是因为折叠过程意味着空间平滑性,这就很难构造复杂形状。因而,我们将其认定为祖略重构,在接下来提出另外两个模块来增强重构效果。
在这里插入图片描述

C. 解码器:图拓扑推理模块

图拓扑推理模块将码字解码来反应3D点之间的关联性。作为折叠模块的初始化,2D网格集是默认的且是均匀的与每个点连接;然而其不能够捕获非规则的模式,特征是与2D平面不同的拓扑结构。为了解决这个问题,我们学习图来获取不规则的点间关系,赋能网络改进粗略重建效果。

学到的图用与折叠模块一样的2D网格进行初始化。结点是固定的,边是根据训练过程来更新的。初始临界矩阵定义为:
在这里插入图片描述
z i z_i zi是2D网络中的第 i i i个结点,超参数 σ \sigma σ反应了衰减率, N i N_i Ni表示 z i z_i zi的k个邻居结点,归一化项为 Z i = ∑ j e x p ( − ∣ ∣ z i − z j ∣ ∣ 2 2 / ( 2 σ 2 ) ) Z_i=\sum_jexp(-||z_i-z_j||^2_2/(2\sigma^2)) Zi=jexp(zizj22/(2σ2))确保了 ∑ j A i j 0 = 1 \sum_jA^0_{ij}=1 jAij0=1。注意我们使用与2D网格中相同的结点,但是通过考虑k最近邻为每个点引入了更多的连接,而不是限制为4。这就可以增加感受野同时使得训练模型更容易。

由于通过编码器产生的码字保留了原始点云的一些信息,我们将码字与 A 0 A^0 A0的每一行拼接起来,然后使用MLP来实现图拓扑结构推理模块。数学上,学习到的邻接矩阵的第 i i i行表示为:
在这里插入图片描述
A i ∈ R M A_i\in R^M AiRM A A A的第 i i i行, c c c是来自编码器的码字。softmax操作确保了稀疏连接,这可以确保过拟合。注意:(1)MLP最后一层使用ReLU作为非线性激活函数,确保所有边的权值是非负的;(2)softmax确保 A A A的每一行和为1;也就是 A 1 = 1 ∈ R M A1=1 \in R^M A1=1RM。我们将其表示为随机矩阵[59],其中的元素表示了从一个点到另一个点的转换概率。我们引入一步来确保邻接矩阵是对称的;也就是 A = ( A ′ + A ′ T ) / 2 A=(A'+A'^T)/2 A=(A+AT)/2。该步保证3D点之间的关系是非定向的。在实验中,我们发现该步可以稳定训练过程。

这背后的意图是初始化的图邻接矩阵提供了2D网格各种点之间的关联性和码字提供的机制来适应图邻接矩阵的边权值,也能够反应点对关系。同时,在训练过程中,图拓扑推理模块将码字保留的空间信息来指引邻接矩阵的进化。

注意到,学习图拓扑结构的复杂度是 O ( M 2 ) O(M^2) O(M2).一个潜在的解决方法是使用分而治之的思想[60];然而,但进一步的改进有待于后续研究;

D. 解码器:图滤波模块

图滤波模块将前序两部分合并作为输入,优化粗略重构的效果。在第三章节第一小节,我们提到3D坐标里点对是平滑的。沿表面的曲率引起了不连续性,然而,3D坐标却总是沿表面平滑的。也就是说,如果一个图完美的反映出表面,3D坐标在图域里面是平滑的。因而我们根据图邻接矩阵设计低通滤波器来获取改进的重构。滤波器使得每个点可以从其周边邻居获取一些信息。同时图滤波让网络学习图拓扑结构,用来保留3D点在图中的平滑性。注意先前的工作设计了图滤波器来处理3D点云,因而图拓扑结构与输入点云都是固定的,例如[61,62,63,40],所提出的系统使用了固定滤波器来处理图拓扑结构和折叠模块在端到端的系统中,其中图拓扑结构和输入点云是可训练的。

我们考虑两类图滤波器。
基于图邻接矩阵的滤波器设计。类似于[34],我们基于所学的图邻接矩阵(7)来设计平滑图滤波,即:
在这里插入图片描述
这里 h l ′ h_l' hl是滤波参数, L L L是滤波器顺序。大的 L L L表明了更大的感受野;然而, L L L大也会减速训练。简单起见我们设置 L = 1 L=1 L=1 h 0 = h 1 = 0.5 h0=h1=0.5 h0=h1=0.5。最终重构为:
在这里插入图片描述
其中 X ′ X' X是从折叠模块获得的粗略重构。相应的,第 i i i X ^ \hat{X} X^ x i ^ = ( x i ′ + ∑ j ∈ N i A i j x j ′ ) / 2 \hat{x_i}=(x'_i+\sum_{j\in N_iA_{ij}x'_j})/2 xi^=(xi+jNiAijxj)/2,其中 x i ′ x'_i xi从(6)获取,也即码字。对应的集合是 S ^ = { x i ∈ R 3 ^ ∣ i = 1 , . . . , M } \hat{S}=\{\hat{x_i\in R^3}|i=1,...,M\} S^={xiR3^i=1,...,M}我们将(9)视为低通Haar滤波器[64]。在传统处理过程中,Haar滤波器用来平滑时间或图像中的噪声。这里我们使用图Haar滤波器来平滑粗略的3D点云局部来获得改进版本。定义4表明了基于Haar的低通滤波器效果。

基于拉普拉斯矩阵的滤波器设计。我们也可以通过将学习到的图邻接矩阵转换为图的拉普拉斯矩阵来设计平滑的图滤波器。定义 L = D ~ − A ~ L=\tilde{D}-\tilde{A} L=D~A~是图拉普拉斯矩阵, A ~ = ( A + A T ) / 2 \tilde{A}=(A+A^T)/2 A~=(A+AT)/2是对称图邻接矩阵, D ~ = d i a g ( A ~ 1 ) \tilde{D}=diag(\tilde{A}1) D~=diag(A~1)是反应点度的矩阵。那么 L L L的特征值分解为:
在这里插入图片描述
特征值向量 V ∈ R M × M V\in R^{M\times M} VRM×M是图傅里叶基,特征值 ( λ 1 < = λ 2 < = . . . < = λ M ) (\lambda_1<=\lambda_2<=...<=\lambda_M) (λ1<=λ2<=...<=λM)捕获了图频率。因为 L 1 = 0 ⋅ 1 L1=0\cdot 1 L1=01,第一个特征值是0(\lambda_1=0),其对应的特征值为全1,表示平滑图信号。大的特征值与不太平滑的图信号相关,图的拉普拉斯 L L L捕捉二阶差分,其逆则促进全局光滑性[65]。

因此我们考虑图滤波:
在这里插入图片描述
其中 μ > 0 \mu>0 μ>0是用来避免计算量的一个超参数。图滤波器的基于谱的图表示为:
在这里插入图片描述
最终的重构是 X ^ = h ( L ) X ′ ∈ R M × 3 \hat{X}=h(L)X' \in R^{M\times 3} X^=h(L)XRM×3

注意(11)包括了矩阵的转换,基于拉普拉斯矩阵滤波器要比基于邻接矩阵更耗时。

V. 理论分析

在此章节里,我们从理论角度分析所提出的方法

A. 重构错误

这里的目标在于说明所提出的解码器和编码器何时导致边界重构误差。没有损失的泛化,我们假设所有的3D点都在立方体空间的一个单元里。接下来的定理说明了重构任意3D点云的编码器和解码器的存在性。

定理1 X n = { S ⊂ [ 0 , 1 ] 3 , ∣ S ∣ = n } X_n=\{S\subset[0,1]^3,|S|=n\} Xn={S[0,1]3,S=n} 是3D点云空间,且有n个点。存在一对编码器 ψ : X N → R C \psi:X_N\rightarrow R^C ψXNRC 和解码器 Φ : R C → X C \Phi:R^C\rightarrow X_C Φ:RCXC,满足
在这里插入图片描述
d这里指的是增强的Chamfer距离(4)。
证明 。我们通过构造证明。我们将3D空间划分为不重叠的相同大小的体素,然后分割3D空间 [ 0 , 1 ] 3 [0,1]^3 [0,1]3 K 3 K^3 K3 个3D体素中。第 ( i , j , k ) (i,j,k) (i,j,k)个体素表示一个3D空间,
在这里插入图片描述
g i , j , k ( x ) = m a x z ∈ V i , j , k e x p ( − ∣ ∣ x − z ∣ ∣ 2 2 ∈ R ) g_{i,j,k}(x)=max_{z\in V_{i,j,k}}exp(-||x-z||^2_2\in R) gi,j,k(x)=maxzVi,j,kexp(xz22R)是一个软指示函数,反应点 x x x在第 ( i , j , k ) (i,j,k) (i,j,k)体素里。让 g ( x ) = [ g 1 , 1 , 1 ( x ) , . . . , g k , k , k ( x ) ] ∈ R K 3 g(x)=[g_{1,1,1}(x),...,g_{k,k,k}(x)]\in R^{K^3} g(x)=[g1,1,1(x),...,gk,k,k(x)]RK3,反应点x在均匀空间的影响。编码器设置为:
在这里插入图片描述
这里 ψ i , j , k = m a x x ∈ S g i , j , k ( x ) ∈ R \psi_{i,j,k}=max_{x\in S g_{i,j,k}(x)}\in R ψi,j,k=maxxSgi,j,k(x)R表明在 S S S中d 3D点的第(i,j,k)个像素被占用, C = K 3 C=K^3 C=K3。通过构建,编码器将一个离散3D点云体素化,码表示其体素的占用性。

解码器表示为:
在这里插入图片描述
ϕ ( c ) = { q i , j , k ∈ [ 0 , 1 ] 3 ∣ c l = ψ i , j , k ( S ) = 1 } \phi(c)=\{q_{i,j,k}\in [0,1]^3 |c_l=\psi_{i,j,k}(S)=1 \} ϕ(c)={qi,j,k[0,1]3cl=ψi,j,k(S)=1}
其中 q i , j , k = [ i / K , j / K , k / K ] ∈ [ 0 , 1 ] 3 q_{i,j,k}=[i/K,j/K,k/K]\in[0,1]^3 qi,j,k=[i/K,j/K,k/K][0,1]3是一个3D点,表示体素中(i,j,k)的代理。在(13)中,使用两个方式来索引码字,一一对应 l l l和一个三角 i , j , k i,j,k i,j,k。码字如同查找表一样:当码字汇总的元素是1,其对应体素被激活。换句话说,索引反应对应体素,取值代表其是否被选中激活的掩码。

现在我们界定 d ( S , S ^ ) d(S,\hat{S}) d(S,S^)的边界。由于离散化,对于S中的任一点x,我们能够找到三元组 i , j , k i,j,k i,j,k来满足 ∣ ∣ x − q i , j , k ∣ ∣ 2 < = 3 / ( 2 K ) || x-q_{i,j,k}||_2<=\sqrt{3}/(2K) xqi,j,k2<=3 /(2K);见图2(a),因此我们有:
在这里插入图片描述
定义1构造了一对编码器和解码器来表明重构错误的上界错误。为了实现该上界,编码器仅需要离散化3D空间,这样每个点都可以映射到其对应体素;解码器仅需要学习索引到体素的对应,这样在码字中每个元素都表示其对应体素。注意到所提出的编码器(5)和解码器(6)是符合假设性结构的,具体如下推论。
在这里插入图片描述
推论1所提出的编码器(5)实现所构造的编码器(12)。所述的折叠模块(6)实现了所述的解码器(13)。所提出的编码器和解码器得到定理1所示的相同上界。

证明. 这里我们主要证明解码器部分。特别的,我们主要遵从一下设置: M M M是输出点, c 0 = [ c , x o ] T c_0=[c,x_o]^T c0=[c,xo]T是码字,其中码字 c c c是(12)且 x 0 ∈ R 3 x_0\in R^3 x0R3 是原始点云 S S S中的任意3D点。接着,我们使用折叠模块(6)来解码 c 0 c_0 c0并重构3D点云 S ^ \hat{S} S^来满足 d ( S , S ^ ) ≤ 3 / ( 2 K ) d(S,\hat{S})\leq \sqrt{3}/(2K) d(S,S^)3 /(2K)

现在,我们显性的提供MLP中每层的参数。将 θ l 看 成 是 输 入 和 每 层 输 出 \theta_l看成是输入和每层输出 θl。通过[1]里的定义1,码字由M个对组成 z m = ( x m , y m ) , m = 1 , 2 , . . . , M , z_m=(x_m,y_m),m=1,2,...,M, zm=(xm,ym),m=1,2,...,M,所有的M拼接成同一个MLP。在我们的证明里,我们假定输出点云数目 M M M是与3D网格点 K 3 K^3 K3是相同的,也即M=K^3。MLP第一行是长度为 K 3 + 5 K^3+5 K3+5的向量,例如 θ 1 = [ c , x 0 , z m ] T \theta_1=[c,x_0,z_m]^T θ1=[c,x0,zm]T,召回率 x 0 x_0 x0是在原始点云 S S S中。注意索引 m m m表示第 m m m个3D体素,对应第 ( i , j , k ) (i,j,k) i,j,k定理1中的网格点。在下面的证明,我们有时会将指标m和第(i,j,k)个格点进行交换。

第一层是简单非线性层,作用在输入 θ 1 \theta_1 θ1的最前面的 K 3 K^3 K3个元素中将值变为二进制1或者0,例如 f 1 ( x ) = x f_1(x)=x f1(x)=x如果 x ≤ 1 x\leq 1 x1。因此,在第一层后,输出 θ 2 \theta_2 θ2表示在大小为 K 3 K^3 K3d 3D网格的占用情况,与在原始点云 S S S中的点 x 0 x_0 x0进行拼接形成2D网格点 z m z_m zm

第二层是线性层,将最初的输入为 θ 2 \theta_2 θ2d的 K 3 K^3 K3个元素对应到 4 K 3 4K^3 4K3个元素,不改变最后5个条目的连接值。特征图是 4 K 3 × K 3 4K^3\times K^3 4K3×K3的矩阵:
在这里插入图片描述
其中 I I I是单位矩阵, ⊗ \otimes 表示Kronecker积。偏移量矩阵是:
在这里插入图片描述
每个 b 2 , m b_{2,m} b2,m是长度为4的向量[0,q_m]和长度为3的向量 q m = q i , j , k q_m=q_{i,j,k} qm=qi,j,k,例如第(i,j,k)个网格点。我们使用这个特征地图和偏移量到在KaTeX parse error: Undefined control sequence: \theat at position 1: \̲t̲h̲e̲a̲t̲_2中最前面的 K 3 K^3 K3个条目(总长度为 K 3 + 5 K^3+5 K3+5),因此输出向量的长度为 4 K 3 + 5 4K^3+5 4K3+5。输出可以写为
在这里插入图片描述
其中, θ 3 , m = [ f 1 ( ψ i , j , k ( S ) ) , q i , j , k ] \theta_{3,m}=[f_1(\psi_{i,j,k}(S)),q_{i,j,k}] θ3,m=[f1(ψi,j,k(S)),qi,j,k], f 1 ( ψ i , j , k ( S ) ) f_1(\psi_{i,j,k}(S)) f1(ψi,j,k(S))表示二进制值,指示3D体素中的第(i,j,k)个点是否被占用。

第三和第四层是与[1]中的定理3.1一样的。读者可以参考[1]来查看更多证明。[1]中的定理3.1表示可以使用网格点 u m u_m um来选择在长度为 3 M 3M 3M的向量中的第 m m m个分割,分割大小为3。因此,我们可以使用一致的构造来获得在 θ 3 \theta_3 θ3中的最前面的 4 K 3 4K^3 4K3元素中第 m m m个分割。因此,在第3和4层后,第5层输入可以写成是:
在这里插入图片描述
其中 f 1 ( ϕ i , j , k ( S ) ) f_1(\phi_{i,j,k}(S)) f1(ϕi,j,k(S))表示第 ( i , j , k ) (i,j,k) (i,j,k)个3D体素已经被占用或未被占用, q i , j , k q_{i,j,k} qi,j,k表示3D体素第 ( i , j , k ) (i,j,k) (i,j,k)点,其中 x 0 x_0 x0表示原始点云中的一个点。

基于 f 1 ( ψ i , j , k ( S ) ) f_1(\psi_{i,j,k}(S)) f1(ψi,j,k(S))是否等于1来选择第五层是 q i , j , k q_{i,j,k} qi,j,k或者 x 0 x_0 x0。或许你会想知道我们如何作者选择的。其中一个方式是让输出是 y m = f 1 ( ψ i , j , k ( S ) ) ⋅ q i , j , k + ( 1 − f 1 ( ψ i , j , k ( S ) ) ) ⋅ x 0 y_m=f_1(\psi_{i,j,k}(S)) \cdot q_{i,j,k}+(1-f_1(\psi_{i,j,k}(S)))\cdot x_0 ym=f1(ψi,j,k(S))qi,j,k+(1f1(ψi,j,k(S)))x0。然而,这不是MLP因为它包含乘法。事实上,[1]中的定理3.1再次提供构造:可以使用一个MLP来选择一个输入作为输出。因此,第二个方式就是像[1]中的Theorem3.1一样构造一个MLP选择器来获得输出。

MLP的输出不是网格点 q i , j , k q_{i,j,k} qi,j,k就是已经在原始点云中的点 x 0 x_0 x0。因此,最终的输出是定理1加上一个已经在原始点云中的额外点 x 0 x_0 x0。这不会改变Chamfer距离。这就是证明。

这背后的直觉是折叠模块IV-B可以表示为:
在这里插入图片描述
其中, z l ∈ Z 2 z_l\in Z^2 zlZ2 是从2D网格 Z Z Z中采样的一个点, f : Z 2 → [ 0 , 1 ] 3 f:Z^2\rightarrow[0,1]^3 f:Z2[0,1]3。使用 z l z_l zl来初始化(13)中的 q i , j , k q_{i,j,k} qi,j,k,仅需要学习映射函数 f ( . ) f(.) f(.)来将2D点映射到3D点。而LatentGAN[12]使用了全连接层作为解码器,且需要从头开始学习 q i , j , k q_{i,j,k} qi,j,k

接下来的定理进一步说明,在光滑性假设下,滤波步骤对粗糙的3D点云进行细化,实现了较好的重构。

定理2
X n = { S ⊂ [ 0 , 1 ] 3 , ∣ S ∣ = n } X_n=\{S \subset[0,1]^3,|S|=n\} Xn={S[0,1]3,S=n}是有 n n n个点的3D点云空间。 ψ : X N → R C \psi:X_N\rightarrow R^C ψ:XNRC是(12)中定义的编码器。让所有 S ∈ X n ~ S\in \tilde{X_n} SXn~都满足 X n ~ ⊂ X n \tilde{X_n}\subset X_n Xn~Xn:
在这里插入图片描述
因此,就存在一个粗解码器 G a m m a : R C → X C Gamma:R^C\rightarrow X_C Gamma:RCXC和一个滤波器 h : X c → X C ~ h:X_c\rightarrow \tilde{X_C} h:XcXC~满足:
在这里插入图片描述
其中d(.,.)表示增强的Chamfer距离(4)。

证明 为了利用平滑条件(18)的优势,我们可以将空间分割成更精细的分辨率并对每一个体素进行编码,而不是直接对每个体素进行编码。解码器 Γ \Gamma Γ能够恢复每个体素。之后 h ( . ) h(.) h(.)用来插值邻居像素;也就是我们在最终的重构 S ^ \hat{S} S^s上增加 q i , j , k q_{i,j,k} qi,j,k,其中 q i + δ , j + δ , k + δ ∈ S ^ q_{i+\delta,j+\delta,k+\delta} \in \hat{S} qi+δ,j+δ,k+δS^,且 δ i = { 0 , 1 } , δ j = { 0 , 1 } , δ k = { 0 , 1 } \delta_i=\{0,1\}, \delta_j=\{0,1\},\delta_k=\{0,1\} δi={0,1},δj={0,1},δk={0,1}。最大错误率低于 1 / K 1/K 1/K;看图2(b)。由于我们使用一半长度的码字,因此码字 C = K 3 / 2 C=K^3/2 C=K3/2,错误率为 1 / 2 C 3 1/\sqrt[3]{2C} 1/32C

(18)的平滑条件仅需要体素与其邻居体素是相似的,这是容易满足的。这一结果表明,探索平滑度可以降低重构误差。在第IV-D中提出的图滤波模块使用了一个图滤波器来提高平滑性,并可能导致更小的重构误差。定理2假设在3D空间域具有光滑性;然而,在3D空间域,3D点可能并不光滑。接下来,我们展示图形和图形平滑性来捕捉3D点的分布。

B. 图平滑

这里展示图平衡是模拟3D点云的一个关键先验。在IV-C章节里提到的图拓扑推理模块可推出合适的图,我们可以将3D点云模拟为平滑的图信号,而不是非平滑的空间信号。因为图滤波模块在章节IV-D促进图平滑,也即能够提升重构点云的质量。

简单起见,我们考虑2D网格中的点,是3D空间的一种简单离散化的版本。使用二进制来表示2D网格是否占用。这些二进制形成了2D网格信号。因为3D点云本质上嗲表的是二维曲面,因此二维格点信号本质上代表的是一维曲线。

定义1
X ∈ { 0 , 1 } N × N X\in\{0,1\}^{N\times N} X{0,1}N×N是2D网格信号, X i , j X_{i,j} Xi,j表示第(i,j)个点的信号值。空间信号X在(i,j)节点的方向信号是:
在这里插入图片描述
空间信号 X X X所有方向总变化量为:
在这里插入图片描述
括号中第一项捕获孤立节点,括号中第二项捕获局部不连续性。方向总变化量测量2D空间信号所代表的曲率。这里我们不适用标准差[66]因为我们在2D网格只考虑1D曲线。定义标准差两来度量自然图像的平衡程度。然而,我们这里考虑的是2D网格中的1D曲线,可以将其视为仅在曲线上有信号的极稀疏图像。在这种情况下,标准差很难度量曲线的复杂性。低的方向性总编号表明1D曲线在2D空间是平滑的。如图3所示,红点在2D网格中形成1D曲线,方向总变化可以很好地测量曲率。
在这里插入图片描述
定义2
x ∈ R n x\in R^n xRn是结合图邻接矩阵 A ∈ R n × n A\in R^{n\times n} ARn×n的图信号,其中 x i ∈ R x_i\in R xiR表示在第 i i i个节点的信号值。图信号 x x x的总变差为:
在这里插入图片描述
图总变差衡量的是图平滑度。值越低代表1D曲线在图域是更平滑的。为了表达2D网格节点相同的占用率,我们可以使用一个空间信号好着一对图信号。空间信号使用二进制来表示一个点在是否网格中;也就是当值为1,代表该节点被占用。一对图信号使用2D坐标来记录占用点。当一个空间信号与一对图信号表示相同信息时,我们认为它们是等价的。

定义3
X ∈   { 0 , 1 } N × N X\in\ \{0,1\}^{N\times N} X {0,1}N×N是2D网格信号。让 x ( 1 ) 与 x ( 2 ) ∈ R M x^{(1)}与x^{(2)}\in R^M x(1)x(2)RM是一对图信号。 X X X, x ( 1 ) x^{(1)} x(1) x ( 2 ) x^{(2)} x(2)是等价的,如果
在这里插入图片描述
第一个条件表明图信号中的每个元素反应了在2D网格中的坐标。[.]表示将一个实数取到其上一个整数。注意结合图信号的图有着任意的连接,最优的一个是能够为2D坐标提供图平滑性。例如,空间信号
在这里插入图片描述
与下面一对图信号是等价的
在这里插入图片描述
可以与任意图 A ~ ∈ R 8 × 8 \tilde{A}\in R^{8\times 8} A~R8×8进行连接。不论是何种图拓扑结构,空间信号 X ~ \tilde{X} X~和一对图信号 [ x ~ ( 1 ) , x ~ ( 2 ) ] [\tilde{x}^{(1)},\tilde{x}^{(2)}] [x~(1),x~(2)]表示在2D空间相同的 ′ Z ′ 'Z' Z形状,如图4所示。
在这里插入图片描述
在众多可能的图拓扑结构中,我们可以找到至少一个 [ x ~ ( 1 ) , x ~ ( 2 ) ] [\tilde{x}^{(1)},\tilde{x}^{(2)}] [x~(1),x~(2)]来提升图平滑性。给定
在这里插入图片描述
可以看到 T V A ~ ( x ~ ( 1 ) ) = T V A ~ ( x ~ ( 2 ) ) = 0 TV_{\tilde{A}}(\tilde{x}^{(1)})=TV_{\tilde{A}}(\tilde{x}^{(2)})=0 TVA~(x~(1))=TVA~(x~(2))=0。与此同时,由于局部不连通性, D T V ( X ~ ) > 0 DTV(\tilde{X})>0 DTV(X~)>0

接下来的定理,我们证明了总存在一个nontrivial图来提升任意图信号的平滑性。

定理3 x ( 1 ) x^{(1)} x(1), x ( 2 ) ∈ R M ( M > 2 ) x^{(2)}\in R^M(M>2) x(2)RM(M>2)是两个向量。接着,存在图邻接矩阵 A ∈ R M × M A\in R^{M\times M} ARM×M满足:
在这里插入图片描述
证明。我们想要通过给定的两个条件证明 A A A的存在。基于第二个条件,我们 使用lifting技巧来获得
在这里插入图片描述
我们接着表明非平滑空间能够通过平滑图信号来表示。

推论2。存在2D网格信号 X ∈ { 0 , 1 } N × N X\in\{0,1\}^{N\times N} X{0,1}N×N和对应的成对图信号 x ( 1 ) , x ( 2 ) ∈ R M x^{(1)},x^{(2)}\in R^M x(1),x(2)RM,以及其邻接矩阵 A ∈ R M × M A\in R^{M\times M} ARM×M,满足
在这里插入图片描述
第一个条件表明等价;第二个条件表示随着曲线长度的增加,非连接的个数也在增加,表明空间非平滑;第三个条件表明图拓扑是nontrivial;第四个条件表明存在图拓扑来满足图平滑性。

证明。一类周期性的 ′ Z ′ 'Z' Z或者 ′ L ′ 'L' L形状,是前面一个例子 X ~ \tilde{X} X~的概括,是一个简单证明这个定理的构造。由于周期性,局部不连续的数量随着曲线长度的增加而增加。另一方面,如定理3所示,存在一个图拓扑来确保图的总变化量为0.

推论2表明一个合适的图拓扑结果,可以表示非连续的空间信号作为一对平滑的图信号。在此基础上,设计了图拓扑结构来提供这种拓扑。在实际应用中,从复杂形状和曲率中采样许多的3D点在3D空间表现出非平滑性。另一方面,当得到合适的图拓扑结构时,图的平滑性在捕获的3D分部之前是很强的。因此,我们可以使用图拓扑推理模块来学习合适的图,然后对图改善其平滑性。这也说明卷积神经网络可能不适合学习3D点云[11]。3D体素数据通常采用3D卷积,对于从物体表面采样的3D点云,没有找到合适的先验流形。

我们现在展示了图滤波引导网络提高图的平滑性和细化3D点的位置。

定理4 A ∈ R M × M A\in R^{M\times M} ARM×M是一个邻接矩阵,其特征值为 λ i \lambda_i λi, m a x i ∣ λ i ∣ = 1 max_i|\lambda_i|=1 maxiλi=1。让 h ( A ) = 1 / 2 ( I + A ) ∈ R M × M h(A)=1/2(I+A)\in R^{M\times M} h(A)=1/2(I+A)RM×M是图滤波器。对于任意图形 x ∈ R M x\in R^M xRM,我们都有:
在这里插入图片描述
证明 M = ( I − A ) T ( I − A ) − h ( A ) ( I − A ) T ( I − A ) h ( A ) ∈ R M × M M=(I-A)^T(I-A)-h(A)(I-A)^T(I-A)h(A)\in R^{M\times M} M=(IA)T(IA)h(A)(IA)T(IA)h(A)RM×M。我们想要表明
在这里插入图片描述
对于任意 x x x是非负的。这与表明 M M M是半正定是等价的。我们现在想要证明所有 M M M的特征值都是非负的。由于我们可以证明
在这里插入图片描述

在这里插入图片描述
M M M的特征值是 ( 1 − λ i ) 2 − ( 1 − λ i ) 2 ( 1 + λ i ) 2 4 (1-\lambda_i)^2-\frac{(1-\lambda_i)^2(1+\lambda_i)^2}{4} 1λi24(1λi)2(1+λi)2对于 i = 1 , . . . , N i=1,...,N i=1,...,N。因为 − 1 ≤ λ i ≤ 1 -1\leq \lambda_i \leq 1 1λi1
在这里插入图片描述
因此, M M M是半正定的。

这就表明低通Haar滤波器促进了图平滑。在3D点云内容下,图滤波模块通过将其视为平滑的图信号来改善重构点云。对于图拉普拉斯滤波器(11),我们使用二次元项 x T L x x^TLx xTLx来衡量图变量[23],因此有
在这里插入图片描述
这可推动重建的3D点作为图信号。

VI.实验说明

在这个章节里,我们从3个方面来验证所提出的非监督模型:3D点云重构、可视化和转换分类。

A. 数据集

在本实验中的数据集包括:ShapeNet[67],ShapeNetCore[68],ModelNet40[69]和ModelNet10[69]。ShapeNet包括了超过50000独立的3D模型,常规物体中的55个人工分类,ShapeNetCore是shapeNet的子集。ModelNet40(MN40)包括来自40个类当中的训练/测试的9843/2468个3D CAD模型;ModelNet10(MN10)包括3991/1909个3D CAD模型,来自10个训练/测试类别。数据集在Amazon Mechanical Turk平台进行人工标注,然后被研究者人工选出来。在我们的实验里面,我们采样ShapeNet中的57447个点云,12311个来自ModelNet40的点云,来自ModelNet10的40,4900个点云,和来自ShapeNetCore的15011个点云。每个点云包括2048个3D点。

B. 实验设置

所有试验都在 GTX TITAN Xp GPU 的 pytorch 0.4.0上进行。我们使用ADAM,其初始化学习率为0.0001。训练batch大小为32.特征维度如图1所示。在实验中,我们在图拓扑学习模型当中,选取k=96,图 σ = 0.08 \sigma=0.08 σ=0.08,在图滤波模块 μ = 0.5 \mu=0.5 μ=0.5。实验结果表明整体性能对于超参数是不敏感的。因而默认情况下,重构3D点云数目设置为M=2025。注意由于3D网格结构性所以M需要求平方根。

C. 3D点云重构

作为非监督方法,我们首先提出基于所提出网络的重构性能。特别的,我们对比有无图滤波模块的情况。对于无图滤波模块的重构,我们移除了图拓扑结构和图滤波模块,仅仅端到端的训练折叠模块。之后使用 S ′ S' S结果给(6)作为最终重构;对于有图滤波模块,我们训练3个模块及最终(9)结果 S ^ \hat{S} S^。为了公平对比,我们调整两个模型的配置来确保他们有相似数量的训练参数。对于图滤波模块,我们考虑图邻接和图拉普拉斯的滤波器。我们在ShapeNetCore上训练网络。表3展示了重构损失率的对比,用增强版的Chamfer距离来衡量。我们看到通过图滤波训练的整个网络表现出比仅有折叠模块要好的效果。这表明使用图拓扑结构对于增强重构结果很有效。我们也看到基于拉普拉斯滤波器(11)实现了基于图邻接矩阵(9)稍微好的效果。我们也对比了AtlasNet[55]和3DCapsNet[71]。AtlasNet通过利用相同的2D平面的多个配置生成一个3D表面;3DCapNet生成多个3D局部块来弥补2D网格对应隐表示。这里我们使用单个的2D网格并使用一个可训练的图拓扑来增加2D网格对的表现力。表III展示了所提出方法优于AtlasNet和3DcapsNet。
在这里插入图片描述

D. 重构点云和图拓扑结构的可视化

表IV和V展示了重构的进化和基于图邻接矩阵和图拉普拉斯矩阵的学习图学习进程。在图滤波列之前显示了由折叠模块生成粗略重构。与在VI-C章节中不使用图滤波的重构不同,这里我们只用端到端的3个模块训练了整个网络,提取出折叠模块的输出作为中间输出量。话句话说,监督不直接放在输出的折叠模块。接下来的图滤波列显示了经过图滤波后的重构。我没看到,(1)对于三架飞机,重构的点云在图滤波列之前是相似的,反应一个共享和常见的飞机形状。这表明折叠模块提供了粗略重构。(2)重建后的点云保留了更多细节,例如引擎、尾巴,节点和机翼。注意到没有使用图滤波模块机翼是缺失的。见图2[1]。可以通过图1 来获得更清晰的解释。这表明图滤波模块改善了细节并提供了更好的重构。对比两个图滤波,基于图邻接矩阵(9)和基于拉普拉斯矩阵滤波(11),两者提供了不同但相似的重构性能。

为了可视化所学到图拓扑结构的进化过程,我们选了3D网格中一个点然后记录其邻居在训练过程中学到的图拓扑结构。所选取的点用红色表示,邻居用青色表示。可以看到(1)在训练过程中,所学到的图构建了新的连接及自适应的切断旧连接来达到更好的重构性能;(2)对于三个飞机,邻居是类似的,反映出共享和常见的点对关系;(3)对于图拓扑推介模块和图滤波模块,3D坐标和点对关系都同时更新来改善局部形状。
在这里插入图片描述
在这里插入图片描述

E. 3D点云转换分类

从非监督学习方法中进行特征提取能够用于监督任务。例如,主成分分析是常用非监督学习方法,通过学习正交转换来表达数据。在坐标系统里转换的坐标常用作分类中、回归[13]里的特征。相似的,我们可以使用由所提出网络的解码器来生成隐码作为特征。基于这些特征,我们训练可以识别3D点云对应类别的分类器。由于所提出网络和分类器由分开的数据集进行训练,我们称为转换分类。也就是说,网络通过3D点云学习形状模式并用来提取3D特征。转换分类的性能表明隐码的有效性和生成网络的泛化能力。
1)类别分类:我们首先考虑类别分类。在ModelNet10(MN10)里有10和40个类。一些类别包括飞机,椅子,床。我们遵循[12、1、55]的设置来对ShapeNet数据集抽样进行训练。在训练后,我们固定参数并使用其对ModelNet10和40里的数据获取隐码。接着,我们将训练/测试集分开,类似[7、1、11、55]。ModelNet40(MN40)有9843/2468个3Dmesh模型在训练/测试数据集中;ModelNet10(MN10)包括3991/903个3Dmesh模型在训练/测试数据集中。每个点包括2048个3D点和其三维坐标点。我们使用线性SVM作为分类器来识别其对应的3D点云类别。我们对比当前非监督学习模型,包括SPH,LFD,T-L Network,Vconv-DAE,3D GAN, VIP-GAN,LatentGAN[16-19,11-12]。

表VI展示了分类准确率。可以看到(i)所提出网络在ModelNet10上实现了最好的分类准确率,在MN40上第二高;然而,VIP-GAN使用了更长的码字(4096对比我们的512)且有不同的输入形态;它使用图像,而不是3D点云作为输入;(ii)在两个数据集中,来个类型的图滤波(9)和(11)提供了相似的性能;(iii)两个数据集,当使用固定的2D网格来代替学习的图拓扑结构时,性能下降,表明朴素的图拓扑结构能够提供误导的先验,使训练过程更加困难;(iv)在两个数据中,突出的方法要优于LatentGAN,LatentGAN采用3D点云作为输入;(v)在两个数据集中,当使用图滤波模块来细化重构时,所提出的框架表现效果更好。原因是图拓扑推理模块保留了码字的三维坐标和点对的关联性,方便解码器重构三维点云和对应的图拓扑;(vi)将编码器从PointNet替换为PointNet++时,分类性能没有明显提高,直觉上可能是一个强大的解码器能够推动码字保留一些信息特征,并释放复杂编码器的压力。
在这里插入图片描述
2)子类分类:从不同类别中识别出物体需要全局特征,而不是局部特征。例如表VII所示,即使是一个模型,也不能够捕获飞机的引擎,分类器仍然正确的标签其为飞机。这里,我们考虑验证所提出方法对于提取细节特征的能力。对于相同类别的物体,我们根据局部形状进一步将其划分为不同子类。接着训练子类的分类,叫做自类分类。为了实现高分类准确率,模型必须捕获局部特征。

我们选了ModelNet40里的4类,包括飞机、床、椅子和摩托车,并人工标准他们。表VII解释了该数据集。这里我们基于3D形状来标注点云,没有考虑他们的功能与其他一些信息。飞机按照机翼的形状被分成9个子类。551和142个飞机分别用来训练和测试。基于板材和枕头,床被分为8个子类。433和112个床分别被用来训练和测试。椅子分成16个子类,707和187个椅子分别被用来训练和测试。摩托车被分为9个子类,400和104个摩托车被分别用来训练和测试。
在这里插入图片描述

我们对比了LatentGAN,AtlasNet[55],3DCapsNet[71],和一个监督学习模型PointNet。表VIII表示了在子类数据集当中的分类准确率。可以看到(i)所提出方法在四个类别中都比LatentGAN有着更好的分类准确率。LatentGAN由于其全连接层不能够助于与局部几何结构和点对关系,因而在子类分类任务上失败。(ii)作为一个非监督模型,所提出框架在三个类别中比PointNet更优,表明所提出方法优秀的泛化能力。注意到PointNet是用交叉熵和Hinge Loss一起训练的。结合Hinge loss一起训练的情况会稍微差一点;(iii)所提出的方法结合图滤波模块表现效果更好。实验表明图滤波对于保留局部结合结构有显著优势;(iv)两个类型的图滤波(9)和(11)提供了相似的分类性能。
在这里插入图片描述

F. 聚类的可视化

我们使用所提出框架生成的隐码来表示3D点云,然后使用t-SNE来降维到2维空间进行可视化[70]。这里我们基于邻接矩阵的滤波器(9)来实现图滤波模块。图5表现了在ModelNet10上训练和测试的聚类性能,其中每个点表示一个3D点云,其相关颜色代表了其真值的类别。可以看到同一类别的聚类在一起,即可表明相似的点编码到类似的码字上。
在这里插入图片描述

G. 图谱分析

表IX展示了基于图邻接矩阵(9)或图拉普拉斯矩阵(11)的学习到图拓扑结构的谱属性表示。第一列展示了所学到图邻接/拉普拉斯矩阵特征值的分布,表明了图频率。在每个图中,x坐标轴左边表示更低的频率,相反亦然。可以看到图邻接矩阵,环面点云与飞机点云的特征值相似;而对于图拉普拉斯矩阵,环面点云特征值比飞机点云的特征值下降得快得多,这说明学习飞机比学习环面更容易。我们还计算图邻接/拉普拉斯矩阵的前四个特征向量,并使用这些特征向量的值为对应的重构点云着色,如表IX所示。第2、3、4、5列彩色点云是通过颜色分割的更好的结果。
在这里插入图片描述

H. 重构点数的影响

表X展示了当做重构点数M的一个函数的重构损失。可以看到越大的M其重构损失越小。原因是点数的等价于重构点云采样密度的增加;因此,3D点云中的点能够在重构点云中找到临近的点。注意(1)增加M的值不能够提升转换分类的性能,见表XI;(2)增加M的值大量的增加训练参数,因为所学习的图邻接矩阵/拉普拉斯矩阵是MxM矩阵。因而我们使用 M ≈ N M\approx N MN
在这里插入图片描述

I. 增强型Chamfer距离验证

如同章节IV中提到的,增强型Chamfer距离是2个点云之间的Hausdorff距离。表XII和XIII对比了使用标准Chamfer距离(CD)和使用增强版Chamfer距离(AugCD)在分类和精细化分类任务中。我们观察到使用增强版Chamfer距离能够比标准Chamfer距离实现更优的效果。
在这里插入图片描述
在这里插入图片描述

J. 空间平滑与图平滑的权衡

表XIV和XV分别基于图邻接矩阵和图拉普拉斯矩阵展示了空间平滑与图平滑的权衡。对于图邻接矩阵滤波器来讲,我们绘制重构点云作为 α \alpha α的函数,也即 X α = ( ( 1 − α ) I + α A ) X ′ X_{\alpha}=((1-\alpha)I+\alpha A)X' Xα=((1α)I+αA)X, 其中 X ′ X' X是由折叠模块生成的粗略重构。对于图拉普拉斯矩阵滤波器来将,我们绘制其关于 α \alpha α的函数,也即 X α = ( μ + L ) − 2 α X ′ X_{\alpha}=(\mu+L)^{-2\alpha}X' Xα=(μ+L)2αX。在两个例子中, α = 0 \alpha=0 α=0,重构仅依赖于折叠模块,这有助于空间平滑率且 d d d表示表面维度为2;当 α = 1 \alpha=1 α=1,重构促进图平滑,其隐含表面维度接近3.这里我们使用Haar图滤波器,也就是 α = 0.5 \alpha=0.5 α=0.5;它同时结合力空间和图平滑。隐含表面维度大概为2.5[72]。
在这里插入图片描述
在这里插入图片描述

总结

我们提出端到端深度自编码器在非监督学习的3D点云里实现先进的性能。主要创新点在于:(1)我们提出了折叠模块来将2D转到3D点云表面;(2)我们提出了图拓扑推理模块来模拟3D点云之间的关系,让隐码保留了3D点云的坐标和点对的关联性;(3)我们提出了图滤波模块,将粗重构变为精细重构结果。进一步的提出了重构的上界,也表明图滤波可以降低此下界。实验中,我们验证了在所提出框架在3D点云重构任务、可视化及转换分类等的效果。实验结果表明(1)所提出框架在定量任务中优于最先进的技术;(2)一个图的拓扑可以不受特定监督的推断;图滤波通过重构细节可以提升性能;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/528089
推荐阅读
相关标签
  

闽ICP备14008679号