对抗残差图网络的点云超分辨率
摘要
点云超分辨率是3D重建和3D数据理解的基本问题。它以低分辨率(LR)点云作为输入,并生成具有丰富细节的高分辨率(HR)点云。在本文中,我们提出了一种基于图网络和对抗性损失的数据驱动的点云超分辨率方法。所提出网络的关键思想是探索点云的局部相似性,并在LR输入和HR输出之间进行类比。对于前者,我们设计了具有图卷积的深度网络。对于后者,我们建议将残差连接添加到图卷积中,并在输入和输出之间引入skin connections。所提出的网络使用新颖的损失函数进行训练,该函数结合了倒角距离(CD)和图对抗损失。这种损失函数无需人工设计即可自动捕获HR点云的特征。
1、介绍
在为3D打印或动画从现实世界建模对象时,一种常见的方法是首先使用深度扫描设备或3D重建算法获得点云,然后从点云中恢复网格。然而,由于设备的限制或算法的限制,捕获的点云通常是稀疏且嘈杂的,这导致了低质量的网格。
提高恢复网格质量的关键是点云超分辨率,它以LR点云作为输入并生成具有丰富细节和少量噪点的HR点云,如图1所示。
在本文中,我们旨在通过克服PU-Net的缺陷来提高点云超分辨率的性能。第一个问题是,PU-Net直接回归点坐标,而没有利用LR和HR点云之间的相似性,这使得训练变得困难。第二个问题是,PU-Net提出了一个复杂的损失函数,并对HR点云的均匀分布有很强的假设。手动设计的损失函数往往会过分地适应人类的先验知识,从而无法捕获HR点云的许多其他属性,例如连续性。
图像超分辨率方面的最新工作表明,预测LR和HR图像之间的残差是实现更好精度的一种更理想的方法。因此,为解决第一个问题,我们建议将残差连接引入图卷积网络(GCN),并在输入层和输出层之间添加skin connection。与之前的方法相比,我们的方法中的GCN在两个方面是独特的:(1)我们的GCN的体系结构旨在生成点云,而之前的方法则旨在聚集信息以进行分类。 (2)我们为GCN提出了一个非池化层,以对输入点云进行升采样。为了解决第二个问题,我们设计了基于LS-GAN的图对抗损失。所提出的损失函数比人工设计的损失函数更具表现力,后者可以自动捕获HR点云的特征。也将对抗性损失引入图网络。但是,他们专注于学习图嵌入的分布。因此,采用多层感知器作为鉴别器来处理输入向量。不同的是,我们的目标是区分真实点云和假点云。为了实现这一点,我们提出了一个GCN作为鉴别器来处理生成的点云。
通过这种方式,我们提出了一种新的点云超分辨率方法,称为对抗残差图卷积网络(AR-GCN)。实验表明,该方法在可见数据集和不可见数据集(SHREC15)上均达到了最新的性能。我们方法的贡献是三个方面。首先,我们提出了一种用于点云超分辨率的新颖架构。其次,我们引入图对抗损失来代替手动设计的损失函数。第三,我们提高了可见和不可见数据集的最新性能。
2、相关工作
3、方法
我们的方法包含三部分:自适应对抗损失函数LG,残差GCN G以及图鉴别器D。如图2所示。
3.1 点云超分辨率
3.2 AR-GCN
如图2所示,我们的方法包含两个网络:生成器G和鉴别器D。G通过渐进式对输入的LR点云上采样生成HR点云,同时D负责将假HR点云与真实HR点云区分开。为了同时训练G、D两个网络,提出了一个联合损失函数,如(1):
Chamfer Distance 变式,如(2)
初始Chamfer Distance,如(3)
Lcd测量y和yˆ之间的逐点距离,该距离忽略了由点簇定义的高阶属性,例如连续性。传统方法通常手动将复杂的函数设计为损失,该函数效率低下并且对下层表面有很强的假设。 备选地,我们提出由网络定义并从数据中自动获知的损失函数LG。具体来说,LG是一种图形对抗损失,它是受生成对抗网络(GAN)启发的。在本文中,由于其简单性和有效性,我们采用LS-GAN 作为对抗性损失。LG定义为(4):
其中鉴别器D通过最小化损失(5)来区分真假HR点云
3.3 残差图卷积生成器
生成器G建立在GCN上,旨在渐进地对LR点云进行上采样。其中包含三个block,residual graph convolution block,unpooling block 和 feature net.
3.3.1 residual graph convolution block
N(p)是连接到p的顶点,如邻接矩阵ε所定义。 但是,没有针对点云的预定义邻接矩阵。 为了解决这个问题,我们将N(p)定义为欧几里得空间中p的k nearest neighbors,其坐标由xin定义。
除了G-conv,我们还将残余连接引入到我们的模块中,因为残余网络通常会导致更快的收敛和更好的结果。 它还有助于利用LR点云和相应的HR点云之间的相似性。
在我们的实验中,将邻居数k设置为8。该块内的所有G-conv运算符具有相同的通道数,即128。通过12个残差层处理输入特征fin和点云xin以获得 fout,而xout与xin相同。
3.3.2 Unpooling Block
3.3.3 Feature Net
如图3所示,残差图卷积块将点云和相应的要素都作为输入。 但是,生成器只有一个输入,即点云x。为了获得其他输入,即对应的特征f,我们设计了一个简单的名为Feature net的块,该块将点云x作为输入。 具体来说,对于形状为1×3的每个点p∈x,我们首先获得形状为k×3的k个最近邻居。然后,用具有最大池化层的逐点卷积将Pˆ = P-p变换为形状为1×c的fp。
在我们的实验中,k设置为8,而c设置为128。卷积层数设置为3。
3.3.4 渐进超分辨率
我们选择逐步生成HR点云,而不是直接以所需的放大比例对LR点云进行上采样。 如图2所示,每个步骤对点云进行两次上采样。
3.4 Graph Discriminator
为了生成更逼真的HR点云,我们提出了点云的图形对抗损失,它由鉴别符D定义。如图2所示,D由特征网,残差图卷积块和合并块组成。对于特征网,将k设置为8,将c设置为64。卷积层数设置为2。对于残差图卷积块,将k设置为8,同时将c设置为64,设置层数至4。
Pooling Block:给定输入形状为4n × 3的点云xin,我们先用farthest point sampling(FPS)生成形状为n×3的xout。相对应的特征fout由式(8)获得:
Graph Patch GAN:大多数鉴别器会逐步对输入进行下采样以获得整个输入的单个标志。这样的设计通常导致模糊和令人不愉快的伪像。而不是使用全局标识符,我们构建了一个图形补丁GAN。 具体来说,我们的鉴别器会多次对输入进行下采样,以使输出包含多于1个点。图形补丁GAN强制生成的点云的每个局部补丁都位于实际HR点云的分布上。在我们的实验中,我们将输出点的数量设置为64。
4 实验
本文利用两个数据集进行实验,一个是Train-Test Dataset,用本文的方法进行训练和测试;用另一个看不见的数据集SHREC15直接进行测试而无需训练和微调。