摘要
本文提出了一种数据驱动的点云上采样技术,关键思想是学习每个点的多级特征,并通过隐含在特征空间中的多分支卷积单元扩展点集。 然后将扩展的特征拆分为多个特征,然后将其重构为上采样点集。 该网络是在补丁级别应用的,具有联合损失函数,该函数鼓励向上采样的点以均匀分布的形式保留在基础表面上。实验结果表明,本文的上采样点具有更好的均匀性,并且更靠近下层表面。
与之前的工作不同,本文是学习基于点的几何语义然后将学到的知识用于给定点云的上采样,我们网络中输入和输出点的数量是不同的。
制定了两个度量标准,即分布均匀性和与下表面的距离偏差,以定量评估上采样的点集。
网络架构
给定一个具有不均匀分布的点坐标的3D点云,该网络能输出一个更密集的点云,该点云遵循目标对象的基础表面,并且分布均匀。
网络包含四个组件:
patch extraction(补丁提取), point feature embedding(点特征嵌入), feature expansion(特征扩展), and coordinate reconstruction(坐标重建)。
1、Patch Extraction
我们收集一组3D对象作为训练的先验信息。这些对象涵盖了多种形状,从光滑的表面到具有尖锐边缘和角的形状。本质上,为了让我们的网络对点云进行上采样,它应该从对象中学习局部几何图形。这促使我们采取基于补丁(patch)的方法来训练网络和学习几何语义。
详细来说,我们随机选择这些物体表面的M个点。在每个选定的点上,我们生成一个一个曲面的补丁(surface patch),使得这样补丁上的任何点都在距离曲面上选定点一定的测地线距离(d)内。然后,我们使用Poisson disk采样的方法在每个补丁上随机生成N^个点,作为补丁上的真实点分布。在我们的上采样任务中,局部和全局信息被一起用来平滑和统一的输出。因此,我们将d设置为不同尺寸的大小,这样我们就可以在先前的物体上提取不同比例和密度的点的补丁。
2、Point Feature Embedding
为了能同时从补丁中学习局部和全局几何信息,我们考虑了以下两种特征学习策略,他俩的优势互补。
Hierarchical feature learning
事实证明,逐步捕获层次结构中不断增长的比例特征是提取局部和全局特征的有效策略。 因此,我们采用PointNet ++ 中最近提出的分层特征学习机制作为网络中最重要的部分。为了采用分层特征学习进行点云上采样,我们特别在每个级别中使用相对较小的分组半径,因为生成新的点通常比PointNet ++ 中的高级识别任务涉及更多的局部上下文。
Multi-level feature aggregation
网络中的较低层通常对应于较小规模的局部特征,反之亦然。为了获得更好的上采样结果,我们应该以最佳方式汇总不同级别的要素。先前的一些工作采用跳过连接进行级联的多级特征聚合,但是,我们通过实验发现,这种自上而下的传播方式对于汇总我们的上采样问题中的特征并不是非常有效。因此,我们建议直接组合不同级别的功能,并让网络了解每个级别的重要性。
由于在每个面片上设置的输入点(请参见图1中的点特征嵌入)在分层特征提取中逐渐进行子采样,因此我们首先通过PointNet ++ 中的插值方法从降采样的点特征中恢复所有原始点的特征,从而将每个级别的点特征连接起来 。插值点x在水平l上的特征通过以下方式计算:
其中,用距离的倒数作为权重,x1,x2,x3是在l级别下x最近的三个临近点。我们利用1x1的卷积使得不同层面的特征具有一样的尺寸N×C,最后拼接这些不同层级的特征,得到最后的级联嵌入特征f。
3、Feature Expansion
在point feature embedding后,我们扩展了特征空间中的特征数量,这相当于扩展了点的数量,因为点和特征是可以互换的。假设f的维数是N x C˜,N是输入点的数量,C˜是级联嵌入特征的特征维数。特征扩展操作将输出维数为rN x C˜的特征f′,其中r是上采样率,C2˜是新的特征维数。本质上,这类似于图像相关任务中的特征上采样,这可以通过反卷积或插值来完成。然而,由于点的非规则性和无序特性,将这些操作应用于点云并不容易。
因此,我们提出了一种基于子像素卷积层的有效特征扩展操作 feature expansion operation based on the sub-pixel convolution laye。此操作可以表示为:
其中和
是两组分开的1x1的卷积。意思就是通过两次卷积操作将N x C˜先后变成r个N x C1˜的特征层,再变成r个N x C2˜的特征层,最后拼接成N x rC2˜的特征图。
是Reshape操作,将N x rC2˜转换成rN x C2˜。
我们强调,Point Feature Embedding的特征已经通过高效的多级特征聚合封装了来自邻域点的相对空间信息,因此在执行此特征扩展操作时,我们不需要明确考虑空间信息。
值得一提的是,从每个集合中的第一卷积生成的r个特征集合具有高相关性,这将导致最终重建的3D点彼此过于接近。因此,我们进一步为每个特征集添加另一个卷积(具有单独的权重)。由于我们训练网络学习r个特征集的r个不同卷积,这些新特征可以包含更多样的信息,从而减少它们的相关性。这种特征扩展操作可以通过对r个特征集应用分离的卷积来实现。它也可以通过计算效率更高的分组卷积来实现。
4、Coordinate Reconstruction
在这一部分中,我们从尺寸为rN×C2˜的扩展特征重建输出点的3D坐标。具体来说,我们通过一系列全连接层对每个点的特征进行三维坐标重建,特征的维度由rN×C2˜变为rN×3。
端到端的网络训练
1、Traning Data Generation
由于上采样点云的不确定性或歧义性,点云上采样是一个不确定的问题。给定稀疏的输入点云,存在许多可行的输出点分布。因此,我们没有输入和ground truth的“correct pairs”的概念。为了缓解此问题,我们提出了一种即时输入生成方案。具体而言,训练补丁的参考ground truth点分布是固定的,而输入点是从ground truth点集随机采样的,每个采样时期的采样率为r。 直观上,此方案等效于针对给定的稀疏输入点分布模拟许多可行的输出点分布。另外,该方案可以进一步扩大训练数据集,从而使我们能够依靠相对较小的数据集进行训练。
2、Joint Loss Function
我们提出了一种新颖的联合损失函数,以端到端的方式训练网络。如前所述,该函数应鼓励生成的点以更均匀的分布位于基础对象表面上。因此,我们设计了一个结合重建损失和排斥损失的联合损失函数。
Reconstruction loss
为了将点放在底层物体表面,建议使用Earth Mover’s distance(EMD)作为我们的
重建损失去评估预测点云和实际点云
之间的相似性:
其中,表示双射映射。
实际上,Chamfer Distance(CD)是评估两个点集之间相似性的另一个候选。然而,与CD相比,EMD可以更好地捕捉形状,以鼓励输出点靠近底层物体表面。因此,我们选择在重建损失中使用EMD。
Repulsion loss
尽管重建损失的训练可以在底层物体表面上生成点,但是生成的点往往位于原始点附近。为了更均匀地分布生成的点,我们设计了排斥损失,表示为:
其中N˜=rN是采样后输出点的个数,K(i)是点x_i的k-nearest neighbors,是L2-norm(二范数),
被称为排斥项,它是一个递减的函数,如果x_i距离他的K近邻K(i)过于接近。为了使x_i只有过于接近他的K近邻点的时候才收到惩罚,我们增加了两条约束:(i)只考虑点x_i为x_i的K近邻时的情况;(ii)将快速衰减的权重函数
加入排斥损失中。
总而言之,我们通过最小化以下联合损失函数以端到端的方式训练网络:表示我们网络的参数,
用来平衡重建函数和排斥函数,
代表重量衰减乘数。为简单起见,我们忽略每个训练样本的索引。