PU-Net:点云上采样网络

摘要

由于数据的稀疏性和不规则性,使用深度网络学习和分析3D点云具有挑战性。在本文中,我们提出了一种数据驱动的点云上采样技术。关键思想是学习每个点的多级特征,并通过隐含在特征空间中的多分支卷积单元扩展点集。然后将扩展的特征拆分为多个特征,然后将其重构为上采样点集。我们的网络是在补丁级别应用的,具有联合损失函数,该函数鼓励向上采样的点以均匀分布的形式保留在基础表面上。我们使用合成和扫描数据进行了各种实验,以评估我们的方法,并证明了其相对于某些基准方法和基于优化的方法的优越性。结果表明,我们的上采样点具有更好的均匀性,并且更靠近下层表面。

1.简介

点云是一种基本的3D表示形式,由于各种深度扫描设备的普及而引起了越来越多的关注。最近,开创性著作[29,30,18]开始探索通过深度网络来理解点云的可能性,以理解几何并识别3D结构。在这些作品中,深度网络直接从原始3D点坐标中提取特征,而无需使用传统特征,例如法线和曲率。这些作品为3D对象分类和语义场景分割提供了令人印象深刻的结果。

在这项工作中,我们对一个上采样问题感兴趣:给定一组点,通过学习训练数据集的几何来生成一组更密集的点来描述基础几何。这个上采样问题在本质上与图像超分辨率问题相似[33,20]。然而,处理3D点而不是2D像素网格带来了新的挑战。首先,与以规则网格表示的图像空间不同,点云没有任何空间顺序和规则结构。其次,生成的点应描述潜在目标对象的基础几何,这意味着它们应大致位于目标对象的表面上。第三,产生的点应该是有益的,并且不应杂乱无章。话虽如此,生成的输出点集在目标对象表面上应该更加均匀。因此,输入点之间的简单内插无法产生令人满意的结果。

为了应对上述挑战,我们提出了一种数据驱动的点云上采样网络。我们的网络是在补丁级别应用的,具有联合损失函数,该函数鼓励向上采样的点以均匀分布的形式保留在基础表面上。关键思想是学习每个点的多级特征,然后通过隐含在特征空间中的多分支卷积单元扩展点集。然后将扩展的特征拆分为多个特征,然后将其重构为上采样点集。
我们的网络(即PU-Net)从3D模型中学习基于点的面片的几何语义,然后将学到的知识应用于给定点云的上采样。应该注意的是,与以前为3D点集设计的基于网络的方法[29、30、18]不同,我们网络中输入和输出点的数量是不同的。

我们制定两个度量标准,即分布均匀性和与下表面的距离偏差,以定量评估上采样的点集,并使用各种合成的和实际扫描的数据测试我们的方法。我们还将评估我们方法的性能,并将其与基准和基于最优化的最新方法进行比较。结果表明,我们的上采样点具有更好的均匀性,并且位于更靠近基础表面的位置。

相关工作:基于优化的方法。Alexa等人的早期工作[2]通过对局部切线空间中Voronoi图的顶点处的点进行插值来对一个点集进行升采样。Lipman[24]提出了一种基于L1中位数的用于点重采样和表面重构的局部最优投影(LOP)算子。即使输入点集包含噪声和异常值,操作员也可以正常工作。相继,黄[14]提出了一种改进的加权LOP来解决点集密度问题。

尽管这些工作已显示出良好的结果,但他们坚决假设其下表面是光滑的,从而限制了该方法的范围。然后,黄[15]通过首先从边缘重采样,然后逐渐逼近边缘和角点,引入了一种边缘感知点集重采样方法。但是,其结果的质量在很大程度上取决于法线在给定点的准确性和仔细的参数调整。值得一提的是吴[35]提出了一种深点表示方法,以在一个连贯的步骤中融合合并和完成。由于其主要重点是填充大孔,因此并未强制执行全局平滑度,因此该方法对大噪声敏感。总体而言,上述方法不是数据驱动的,因此严重依赖先验条件。

相关工作:基于深度学习的方法。点云中的点没有特定的顺序,也不遵循任何规则的网格结构,因此,只有最近的几篇著作采用深度学习模型来直接处理点云。现有的大多数工作都将点云转换为其他3D表示形式,例如体积网格[27、36、31、6]和几何图[3、26]进行处理。Qi[29,30]首先引入了用于点云分类和分割的深度学习网络。特别是,Point-Net ++使用分层特征学习体系结构来捕获本地和全局几何上下文。随后,针对点云的高级分析问题,提出了许多其他网络[18、13、21、34、28]。但是,它们都集中于点云的全局或中级属性。在另一篇著作中,Guerrero[10]开发了一个网络来估计点云中的局部形状属性,包括法线和曲率。其他相关网络专注于从2D图像进行3D重建[8、23、9]。据我们所知,目前尚无专注于点云上采样的工作。

图1. PU-Net的体系结构(彩色更好的视图)。输入具有N个点,而输出具有rN个点,其中r是上采样率。Ci,\tilde C\tilde Ci表示特征信道号。我们通过插值为原始N个点恢复不同的级别特征,并通过卷积将所有级别特征缩减为固定维C。点要素嵌入组件中的红色表示分层要素学习中原始的和渐进的二次采样点,而绿色表示已还原的要素。我们在PU-Net的端到端培训中共同采用了重建损失和排斥损失。

2.网络架构

给定一个具有非均匀分布点坐标的3D点云,我们的网络旨在输出一个更密集的点云,该点云跟随tar-get对象的基础表面同时分布均匀。我们的网络体系结构(见图1)具有四个组成部分:patch提取,点要素嵌入,要素扩展和坐标重建。首先,我们从一组给定的先前3D模型中提取具有不同比例和分布的点patch(第2.1节)。然后,点要素嵌入组件通过分层特征学习和多层特征聚合将原始3D坐标映射到特征空间(第2.2节)。之后,我们使用特征扩展组件(第2.3节)扩展特征的数量,并通过坐标重构组件中的一系列完全连接的层(第2.4节)重建输出点云的3D坐标。

2.1.patch提取

我们收集一组3D对象作为培训的先验信息。这些物体涵盖了各种各样的形状,从光滑的表面到具有尖锐的边缘和角落的形状。本质上,要使我们的网络对点云进行升采样,它应该从对象中学习局部几何图形。这促使我们采取基于补丁的方法来训练网络并学习几何语义。

详细地说,我们随机选择这些对象表面上的M个点。从每个选定的点开始,我们在对象上生成一个surface patch,以使patch上的任何点都在距离曲面上选定点一定的测地距离(d)以内。然后,我们使用Poisson磁盘采样在每个补丁上随机生成Nˆ个点,作为补丁上的参考地面真点分布。在我们的升采样任务中,本地和全局环境都有助于实现平稳统一的输出。因此,我们将d设置为不同的大小,以便我们可以以不同的比例和密度提取先前对象上的点补丁。

2.2.点特征嵌入

为了从patch中学习局部和全局几何背景,我们考虑以下两种特征学习策略,它们的优势是相辅相成的:

分层特征学习。事实证明,逐步捕获层次结构中越来越多的特征是提取局部和全局特征的有效策略。因此,我们采用PointNet ++ [30]中最近提出的分层特征学习机制作为网络中最重要的部分。为了采用分层特征学习进行点云上采样,我们具体在每个级别使用相对较小的分组半径,因为生成新点通常比[30]中的高级识别任务涉及更多的局部上下文。

多级功能聚合。网络中的较低层通常对应于较小规模的局部特征,反之亦然。为了获得更好的上采样结果,我们应该以最佳方式汇总不同级别的要素。先前的一些工作采用跳过连接进行级联的多级特征聚合[25、32、30]。但是,我们通过实验发现,这种自上而下的传播对于汇总我们的上采样问题中的特征不是很有效。因此,我们建议直接组合不同级别的功能,并让网络了解每个级别的重要性[11、38、12]。

由于在每个面片上设置的输入点(请参见图1中的点特征嵌入)是在层次特征提取中逐渐进行子采样的,因此我们首先通过从降采样中恢复所有原始点的特征来连接每个级别的点特征通过PointNet ++ [30]中的插值方法获得点特征。具体来说,级别ℓ中插值点x的特征可通过以下公式计算:

其中是距离权重的倒数,而xi,x2,x3是级别ℓ中x的三个最近邻居。然后,我们使用1×1卷积将不同级别的插值特征缩小为相同的维度,即C.最后,我们将每个级别的特征连接为嵌入点特征f。

2.3特征扩展

在点特征嵌入组件之后,我们在特征空间中扩展了特征数量。这等效于扩展点数,因为点和特征可以互换。假设f的维数为N×\tilde C,N为输入点数,\tilde C为串联嵌入特征的特征维。特征扩展操作将输出尺寸为rN×\tilde C2的特征f',其中r为上采样率,\tilde C2为新特征尺寸。从本质上讲,这类似于图像相关任务中的特征上采样,可以通过解卷积[25](也称为转置卷积)或内插[7]来完成。但是,由于点的非规则性和无序特性,将这些操作应用于点云并非易事。

因此,我们提出了一种基于亚像素卷积层的有效特征扩展运算[33]。此操作可以表示为:

其中{C_i}^1(.){C_i}^2(.)是两组单独的1×1卷积,而RS(·)是将N×r\tilde C2张量转换为大小rN×\tilde C2的张量的整形运算。。我们强调,嵌入空间中的特征已经通过有效的多级特征聚合封装了来自邻人点的相对空间信息,因此执行此特征时无需明确考虑空间信息扩展操作。

值得一提的是,从每个集合中的第一个卷积Ci1(·)生成的r个特征集具有较高的相关性,这将导致最终重建的3D点之间的距离太近。因此,我们进一步为每个功能集添加了另一个卷积(具有单独的权重)。由于我们训练网络来学习r个特征集的r个不同的卷积,因此这些新功能可以包含更多不同的信息,从而减少它们的相关性。可以通过将分离的卷积应用于r个特征集来实现此特征扩展操作;参见图1。它也可以通过计算效率更高的分组卷积来实现[19,37,39]。

2.4坐标重建

在这一部分中,我们从扩展特征中重建输出点的3D坐标,大小为rN×\tilde C2。具体来说,我们通过在每个点的特征上经过一系列完全连接的层来回归3D坐标,最终输出为上采样点坐标rN×3。

3.端到端网络培训

3.1训练数据生成

由于上采样点云的不确定性或歧义性,点云上采样是一个不适定的问题。给定稀疏的输入点云,存在许多可行的输出点分布。因此,我们没有输入和地面真理的“正确对”的概念。为了解决这个问题,我们提出了一种即时输入生成方案。具体来说,固定了训练补丁的参考地面真实点分布,而输入点是从地面真实点集随机采样的,每个采样时期的下采样率为r。直观上,此方案等效于针对给定的稀疏输入点分布模拟许多可行的输出点分布。另外,该方案可以进一步扩大训练数据集,从而使我们能够依靠相对较小的数据集进行训练。

3.2联合损失函数

我们提出了一种新颖的联合损失函数,以端到端的方式训练网络。如前所述,该函数应鼓励生成的点以更均匀的分布定位在基础对象表面上。因此,我们设计了一个结合重建损失和排斥损失的联合损失函数。

重建损失。为了将点放置在下面的对象表面上,我们建议使用Earth Mover的距离(EMD)[8]作为我们的重建损失,以评估预测点云与参考地面真点云之间的相似度

其中:Sp→Sgt表示双射映射。

实际上,倒角距离(CD)是评估两个点集之间相似度的另一个候选方法。但是,与CD相比,EMD可以更好地捕获形状(有关更多详细信息,请参见[8]),以鼓励将输出点定位在靠近下面的对象表面的位置。因此,我们选择在重建损失中使用EMD。

排斥力损失。尽管利用重建损失进行训练可以在下面的对象表面上生成点,但是生成的点倾向于位于原始点附近。为了更均匀地分布生成的点,我们设计了斥力损耗,表示为:

其中ˆN = rN是输出点的数量,K(i)是点xi的k个最近邻的索引集,而k·k是L2范数。η(r)= -r称为斥力项,如果xi距离K(i)的其他点太近,则它是对xi进行惩罚的递减函数。为了仅在xi过于靠近其相邻点时对xi进行惩罚,我们添加了两个限制:(i)我们仅考虑xi的k近邻附近的xi'点;(ii)在排斥力损失中使用快速衰减权重函数w(r);也就是说,在我们的实验中,我们按照[24,14]设置w(r)= e-r2 / h2。

总之,我们通过最小化以下联合损失功能,以端到端的方式训练网络:

其中\theta表示我们网络中的参数,α表示重建损失和排斥力的损失,β表示权重衰减的乘数。为了简单起见,我们忽略每个训练样本的索引。

4.实验

4.1数据集

由于没有针对点云上采样的公共基准,因此我们从Visionair存储库[1]收集了60种不同模型的数据集,范围从光滑的非刚性对象(例如,兔子)到陡峭的刚性对象(例如,椅子)。其中,我们随机选择40个进行训练,其余的用于测试。我们为每个训练对象裁剪100个补丁,并且总共使用M = 4000个补丁来训练网络。对于测试对象,我们使用蒙特卡洛随机采样方法在每个对象上采样5000个点作为输入。为了进一步证明我们网络的泛化能力,我们直接在SHREC15 [22]数据集上测试了训练有素的网络,该数据集包含来自50个类别的1200个形状。详细地说,考虑到每个类别包含24个不同姿势的相似对象,我们从每个类别中随机选择一个模型进行测试。至于ModelNet40 [36]和ShapeNet [4],我们发现由于网格质量较低(例如,孔,自相交等),很难从那些对象中提取补丁。因此,我们将它们用于测试; 有关结果,请参见补充材料。

4.2实施细节

每个patch的默认点数ˆN为4096,上采样率r为4。因此,每个输入面片有1024个点。为避免过度拟合,我们通过随机旋转,移动和缩放数据来扩充数据。我们在点要素嵌入组件中使用4个级别,并将半径分别为0.05、0.1、0.2和0.3分组,并且还原的要素的维C为64。有关其他网络体系结构参数的详细信息,请参见我们的补充材料。斥力损失的参数k和h分别设置为5和0.03。平衡权重α和β分别设置为0.01和β= 10-5。该实现基于TensorFlow2。为了进行优化,我们使用Adam [17]算法以最小批量大小为28和学习率为0.001训练网络为120个时期。通常,使用NVIDIA TITAN Xp GPU进行的培训大约需要4.5h。

图2.示例点分布以及相应的归一化均匀系数(NUC),其中p = 0.2%

4.3评估指标

为了定量评估输出点集的质量,我们制定了两个度量标准来测量输出点和地面真实网格之间的偏差以及输出点的分布均匀性。对于表面偏差,我们在网格上找到每个预测点xi的最接近点xi,并计算它们之间的距离。然后,我们计算所有点的平均值和标准偏差作为我们的指标之一。

至于均匀性度量,我们将D个等号的磁盘随机放置在对象表面上(在我们的实验中为D = 9000),并计算磁盘内部点数的标准偏差。我们进一步标准化每个对象的密度,然后计算测试数据集中所有对象上点集的总体均匀性。因此,我们将磁盘面积百分比为p的归一化均匀性系数(NUC)定义为: 

其中nki是第k个对象的第i个磁盘上的点数,Nk是第k个对象上的点总数,K是测试对象的总数,p是磁盘面积的百分比 在整个对象表面积上。注意,我们使用测地距离而不是欧几里得距离来形成磁盘。图2显示了三个不同的点分布及其相应的NUC值。如我们所见,提出的NUC度量可以有效地揭示点集的均匀性:NUC值越低,点集的分布越均匀。

4.4与其他方法的比较

与基于优化的方法进行比较。我们将我们的方法与边缘感知重采样(EAR)方法[15]进行比较,后者是点云上采样的最新方法。结果如图3所示,其中主席来自我们收集的测试数据集,而Spider来自SHREC15。我们对点云进行颜色编码,以显示与地面真实网格的偏差。输入中有1024点,我们进行了4倍的上采样。因为EAR依赖于法线信息,所以公平地说,我们根据地面真值网格计算法线。我们显示了EAR随半径增大的两个结果,同时将其他参数设置为其默认值。如我们所见,radius参数对EAR的性能有很大的影响。对于较小的半径,输出具有较低的表面偏差,但添加的点不均匀,而如果半径较大,则会引入更多的异常值。相比之下,我们的方法可以更好地平衡偏差和均匀性,而无需仔细调整参数。

与基于深度学习的方法进行比较。据我们所知,我们尚不了解任何基于深度学习的方法来进行点云上采样,因此我们设计了一些基线方法进行比较。由于PointNet [29]和PointNet ++ [30]是使用深度学习技术进行3D点云推理的先驱,因此我们基于它们来设计基线。具体来说,我们采用语义分割网络体系结构进行点特征嵌入,并使用一组卷积进行特征扩展。请注意,我们考虑了PointNet ++的两个版本:基本的PointNet ++和具有多尺度分组(MSG)的PointNet ++,用于处理不均匀的采样密度。因此,我们总共有三个基线,并且仅在重建损失的情况下对其进行训练。请参考补充材料以获取有关基准网络体系结构的详细信息。尽管我们针对上采样问题修改了PointNet,PointNet ++和PointNet ++(MSG)架构,但是为了方便起见,我们仍然使用其原始名称来称呼基线。

表1和表2分别列出了我们收集的数据集和SHREC15数据集的定量比较结果。请注意,以p较小的NUC进行测量会显示出较小区域的局部分布均匀性,而以p较大的NUC进行测量会显示出更大的整体均匀性。在这些基线中,PointNet表现最差,因为它无法捕获本地结构信息。与PointNet ++相比,PointNet ++(MSG)由于显式的多尺度信息分组而可以稍微提高一致性。但是,它涉及更多参数,因此大大延长了训练和测试时间。总体而言,与基准线相比,我们的PUNet在与表面的偏差最小,分布均匀性最佳的情况下实现了最佳性能,尤其是在局部均匀性方面。
图4显示了视觉比较的结果,其中点通过其与表面的距离偏差来着色。如我们所见,通过我们的方法预测的点云更好地匹配了具有较低偏差的基础表面。

4.5结构设计分析

分析功能扩展。我们将我们提出的特征扩展方案与两个类似插值的方案进行比较。第一个类似于朴素点插值(表示为interp1)。提取每个点的点特征后,我们将其自身的特征与最近邻点的特征结合起来以生成上采样特征。第二个引入了更多的随机性(称为interp2)。代替使用最近邻的特征,我们使用基于半径的球查询来查找邻域并将这些点的特征组合以生成上采样特征。我们用重建损失(也称为EMD损失)训练了这两个网络,结果列在表3的前两行中。为了公平地比较,我们也只用EMD损失训练了我们的网络。结果显示在第四行。与这两种类似插值的方案相比,我们提出的方案可以产生具有可比的表面距离偏差的更均匀的输出。

比较不同的损失函数。如上所述,EMD可以比CD更好地捕获物体形状。比较表3中的性能,我们可以看到,与CD损耗相比,EMD损耗提高了输出均匀性,且表面距离偏差较小,这意味着EMD损耗可以更好地鼓励输出点位于下面的表面上。此外,通过比较表3中的最后两行,我们可以看到斥力损耗可以进一步提高输出的均匀性。

4.6更多实验

从上采样点集重建表面。点云上采样的重要应用是提高表面重建质量。因此,我们将不同方法的重建结果与MeshLab [5]中提供的直接泊松表面重建方法[16]进行比较;参见图5。我们可以观察到,我们方法的重建结果最接近地面真实情况,而其他方法则缺少某些结构(例如,马的腿)或将洞填满。

迭代上采样的结果。为了研究网络处理各种数量输入点的能力,我们设计了一个迭代上采样实验,该实验将上一次迭代的输出作为下一次迭代的输入。结果如图6所示。初始输入点云有1024个点,每次迭代我们增加四倍。从结果可以看出,我们的网络可以针对不同数量的输入点产生合理的结果。此外,此迭代上采样实验还显示了我们的网络抗干扰能力,可以抵抗迭代上采样中引入的累积误差。

来自嘈杂的输入点集的结果。图7显示了噪声点云(高斯噪声的0.5%和对象边界框对角线的1%)的表面重建结果,这表明即使在有噪声输入的情况下,我们的网络也有助于生成更好的表面。

实扫描点云上的结果。最后,我们评估了网络对从Visionair [1]下载的实时扫描点云进行升采样的能力。在图8中,最左列显示了实扫描点云。即使每个实时扫描的点云都包含数百万个点,但仍然存在不均匀现象。为了获得更好的可视化效果,我们从原始点云中切出了一些小补丁,并在中间一栏中显示了这些补丁。我们可以观察到,实际扫描的点倾向于具有线结构,而我们的网络仍具有在稀疏区域中均匀添加点的能力。

5.结论

在本文中,我们提出了一个用于点云上采样的深度网络,其目标是从稀疏的点集中生成更密集且统一的点集。我们的网络使用多级特征聚合方式在补丁程序级别进行培训,从而捕获本地和全局信息。我们的网络设计通过对包含非本地几何的单个要素进行操作来绕开点之间的规定顺序,从而允许上下文感知的上采样。我们的实验证明了我们方法的有效性。作为使用深度网络的首次尝试,我们的方法仍然存在许多局限性。首先,它不是为完成而设计的,因此我们的网络无法填补大的漏洞和缺失的部分。此外,我们的网络可能无法为严重欠采样的微小结构添加有意义的点。
将来,我们希望研究和开发更多的方法来处理不规则和稀疏的数据,既可以用于回归分析,也可以用于综合分析。紧迫的一步是开发一种下采样方法。尽管下采样似乎是一个更简单的问题,但仍有空间设计适当的损耗和体系结构,以最大限度地保留抽取点集中的信息。我们认为,总的来说,针对不规则结构的深度学习方法的发展是可行的研究方向。

 

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值