PU-Net点云上采样网络论文笔记

《PU-Net: Point Cloud Upsampling Network》的论文笔记。

PU-Net

《PU-Net: Point Cloud Upsampling Network》 CVPR 2018
Lequan Yu. et.al The Chinese University of Hong Kong
点击论文地址
开源代码:https://github.com/yulequan/PU-Net

简介

根据PointNet++和PointSetGeneration衍生而来。
通过多分支卷积单元去学习逐点的多级特征和扩大点集,在patch-level通过共同损失函数,在潜在的曲层表面均匀分布地上采样点。
采样更均匀,位置离底层表面更近。

解决问题

如何上采样到能更完整地表达潜在曲面的密集点云,类似于二维中的图像超分辨率问题。
而在点云数据的挑战是:1. 点云没有空间顺序和规则结构 2. 生成的点云应该位于目标物体的表面来表示几何目标对象 3. 生成的点应当有信息量,而不是杂乱无章
生成的点云数据分布应当更加均匀,因此简单的插值方法并不适用。

贡献点

提出了一个深度点云上采样网络,目标是从一组稀疏的点中生成一组更密集、更均匀的点。该网络在小块级别使用多级特征聚合方式进行训练,从而捕获局部和全局信息。
网络设计通过对包含非局部几何图形的单个特征进行操作来允许上下文感知的上采样,从而绕过了对点之间指定顺序的需求。
根据分布均匀距离偏差建立了衡量指标,实验证明了方法的有效性。

该方法作为第一次对上采样使用深度网络的尝试,仍然有许多局限性,不能填补大的漏洞和缺失的部分。此外,该网络无法为采样严重不足的微小结构添加有意义的点。

核心思想

学习每个点的多粒度(局部和全局)特征,再在特征空间种扩大点集,左后将扩大的点集映射回三维。

网络设计

PU-Net网络结构

网络结构分为四块:小块提取Patch Extraction点特征嵌入Point Feature Embedding特征扩展Feature Expansion坐标重建Coordinate Reconstruction
首先,从给定的一组先前的3D模型种提取不同规模和分布的点补丁。
然后,点特征嵌入通过层次特征学习和多级特征聚集,将原始3D坐标映射到特征空间。
之后扩展特征的个数,并且通过一系列全连接层重建输出点云的3D坐标。

Patch Extraction

为了让网络从对象中学习局部几何图形,本工作用基于小块(patch)的方法训练网络和学习几何语义。
因此我们先收集一组有各种各样形状的3D对象作为先验信息,随机选择这些物体表面的M个点,然后指定一个测地距d,将每个中心点的d范围内的所有点作为一个patch,然后用泊松分布在每个中心点上随机采样N_hat个点,将采样点作为ground truth。用不同大小的d形成不同尺度、不同密度的patch。

Point Feature Embedding

同时采用了层次特征学习Hierarchical feature learning和多级特征聚合Multi-level feature aggregation两种特征学习策略。
如图所示,先用PointNet++里的Hierarchical feature learning方法捕捉到不同尺度的特征,但是这里为了保留更多局部细节特征,采取比较小的grouping分组半径。
然后用Multi-level feature aggregation集合特征。一些先前工作用了skip-connections的结构去做多级特征聚合,而本文发现该结构对于自顶向下的广播不是很高效。在根据网络中的低层更能反映小规模局部特征,本文提出了让网络学习不同层次的特征重要性,以此结合为最终特征的方法。
层的插值点的特征为:

其中,,是距离的倒数。,,层上最近的3个邻居。
然后用1x1卷积将不同级别的插值减少到相同的维度,再将各层次的特征连接到一起,作为该点的点嵌入特征

Feature Expansion

我们需要扩展特征空间中特征的个数,这可以看作是扩展点的数量,因为点和特征是可以互换的。图像相关任务中的特征上采样通常用反卷积或者插值的方法,但用在无序不规则的点云数据上并不合适。
因此本文提出了一种基于子像素卷积层的特征扩展方法:

其中,是两个1x1卷积的集合,是一个reshape操作。为输入点的数量,为特征的维度,目标得到个特征,为上采样率。将扩展到,然后通过两个各点独立的的卷积核,得到的张量。

由于生成的点集之间相关性可能太高,会导致重建的点之间太近,我们对每个特征集合增加一个卷积层,训练网络去学习这r个不同的卷积。当然也可以用其他更加高效的组卷积方式实现(如AlexNet,ResNeXt,Shufflenet等)。

Coordinate Reconstruction

通过一系列全连接层将每个点扩展特征重建成的点坐标

联合损失函数

结合重建损失Reconstruction loss排斥损失Repulsion loss建立了联合损失函数。

Reconstruction loss

为了将点放在潜在的物体表面上,我们建议使用Earth Mover’s distance( EMD) 作为我们的重建损失,来评估预测点云和实际点云之间的相似性:

其中为映射

实际上,Chamfer Distance(CD) 是评估两个点集之间相似性的另一个候选。然而,与CD相比,EMD可以更好地捕捉形状,以鼓励输出点靠近底层物体表面。因此,我们选择在重建损失中使用EMD。

Repulsion loss

虽然具有重建损失的训练可以在底层物体表面上生成点,但是生成的点往往位于原始点附近。为了更均匀地分布生成的点,我们设计了排斥损失Repulsion loss,表示为:

其中是上采样完了以后的输出点个数,是点的K近邻点,代表二范数被称为排斥项,它是一个递减的函数,如果距离他的K近邻过于接近。
inline为了使只有过于接近他的K近邻点的时候才收到惩罚,我们增加了两条约束:
i)只考虑点的K近邻时的情况;
(ii)将快速衰减的权重函加入排斥损失中。

Joint Loss Function

联合损失函数具有如下的形式:

其中代表整个网络的参数,为正则化惩罚项。

模型比较

为了定量评估输出点集的质量,我们制定了两个度量来测量输出点和ground truth之间的偏差,以及输出点的分布均匀性。

  • 偏差度量:为每个预测点找到网格上最近的点,并计算它们之间的距离。然后,我们计算所有点的平均值和标准偏差。
  • 均匀性度量:将D个大小相等的disk随机放在物体表面上,并计算disk内部点数的标准偏差。进一步标准化每个对象的密度,然后计算测试数据集中所有对象上点集的整体均匀性。
    度量公式
    因此,将标准化均匀系数normalized uniformity coefficient(NUC)与disk面积百分比定义为:
    实验结果
    NUC数值越小,表示点分布越均匀。

本文总阅读量

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×