基于片元的渐进式三维点云上采样

Patch-based Progressive 3D Point Set Upsampling
基于片元的渐进式三维点云上采样

论文下载链接:
https://arxiv.org/abs/1811.11286

基于片元的渐进式三维点云上采样_第1张图片
1、 引言
近年来因为基于神经网络的图像超分辨率的成功进展,促使人们开始关注对三维点云上采样方法的研究。其中,多步骤方法(multiple steps)在图像的神经网络超分辨率的性能方面表现尤为突出。然而,处理三维点云是一项挑战,因为与图像不同,三维点云的数据是无序、非结构化和不规则的。此外,点云通常是客户级设备扫描得到的,往往会有稀疏、有噪声和不完整的情况。因此,对于三维点云的上采样技术研究非常重要,然而将图像空间的超分辨率技术应用于三维点云却远不是那么简单。

2、问题提出和相关研究进展
将点云用神经网络处理的技术最开始由PointNet提出,随后在PointNet++进行了优化。PointNet最主要的两点贡献是解决了点云的无序性和旋转问题。
无序性:点云实质上是点的集合,因此它是无序的。但我们又需要对点云数据的排列保持不变性,也就是说要满足一种置换不变性,在最终的输出总能获取到我们需要的点云模型。而理论上一个包含N个点数量的点集有N!个置换。那么从数学角度来说,就需要一种置换函数,满足这种顺序不一致但是它的映射结果不变的性质。
目前在PointNet中的置换函数为最大值函数:
基于片元的渐进式三维点云上采样_第2张图片
也就是说,无论点云顺序怎么样,都能得到相同的特征提取结果:
基于片元的渐进式三维点云上采样_第3张图片
旋转问题:相同的点云在空间中经过一定的刚性变化(旋转或平移),坐标会发生变化。我们希望点云不论在怎样的坐标系下呈现,网络都可以正确的识别出。这个问题可以通过spatial transform network(STN)来解决。
其中旋转矩阵是D×D矩阵(其中D代表特征维度,PointNet中D为3或64),实际上PointNet并不关心最后真正做了什么变换,只要有利于最终的结果就可以。
基于片元的渐进式三维点云上采样_第4张图片
PointNet总共有两种STN,第一种(也可以说第一次)对点云原坐标空间进行调整,将点云模型旋转出一个更有利于分类或分割的角度。第二种(第一次之后)是feature transform。对提取出来的高维特征进行对齐,即在特征层面进行变换。
PointNet的网络结构如下:
基于片元的渐进式三维点云上采样_第5张图片
以分类网络为例,简单的来说,PointNet首先对input points的n×3进行一次STN,接着通过MLP提取每个点的高维特征得到一个n×64的结果,接着再进行一次STN,对特征进行一次对齐,接着继续通过MLP提取每个点的特征,最终得到1024维的特征,并通过一个最大池化层得到全局特征,最后通过MLP(全连接)得到k个score。
PointNet对于之后的基于神经网络的点云处理具有很大的启发性。
基于深度学习的PU-Net在PointNet++的基础上提取高维特征,并对其进行拼接,得到每个输入点上的高维特征集合。这些特征通过复制扩展,然后转换为位于曲面上均匀分布的上采样点集。虽然收集了高维特征,但输入patch中的细节级别是固定的,因此上采样结果缺乏细粒度几何特征的重建。如下图所示是PU-Net和MPU的上采样结果对比图:
基于片元的渐进式三维点云上采样_第6张图片
为了在给定无序点云中上采样得到稠密点云,该论文提出一种渐进式的多步骤处理方法,可以恢复精细的几何细节。

3、 本文上采样模型
基于片元的渐进式三维点云上采样_第7张图片
给定一组无序的三维点云,网络最终生成一个位于点云模型表面的密集点云。直观地看,该网络模型由一组上采样网络单元组成,每个单元都具有相同的结构,但是每个单元对应不同的细节级别。所有细节级别的信息通过跳接层进行共享。每个单元的输入是前一个单元的输出,例如图3.1是一个16倍的上采样,分为4个2倍上采样子单元依次处理,每个层之间相互独立,最终通过融合不同片元的上采样结果得到最终的重建结果。
接下来的内容会说明一个级联的上采样网络单元的端到端的训练过程。

Multi-step patch-based receptive field
多步骤基于片元的感受野:为了实现多级上采样单元的级联工作,需要一种有效的自适应感受野方法去处理不同细节级别和点云密度的上采样问题。理想情况下,在不同细节级别,感受野应自适应的变换。然而与图像相比,点云没有规则的结构,点的邻域信息也不固定。为了在这种非结构化的多细节级别点云中自适应处理,研究人员利用k最近邻方法来实现自适应感受野。因此,感受野的大小由每个子单元的特征提取层中的kNN来定义。如果k的值是固定的,则随着上采样网络中点云更密集,感受野就会变得更窄。

如下图所示,我们分别用T、P和Q表示ground truth模型、预测片元和参考片元。在实际训练中,随机选取上一层的某个点及其kNN邻域作为输入片元,输入片元限制在固定数量的点N来递归地缩小空间范围,即上采样时空间区域在不断缩小。而参考片元则选自ground truth中该随机点附近的kNN,但其kNN值并不是和输入片元中相同的N值,而是k=2^(L-l+1) N,其中L是预先设定的细节级别(最终层),l是当前细节级别(当前层)。

图3.2
Multi-step end-to-end training
多步骤端到端训练:解决了上采样中的感受野自适应问题后,就可以搭建网络了。为了实现2^L的上采样,需要L个上采样单元级联实现,设该子网单元集为{U1,U2,…,UL},上采样单元集如下图3.3所示。在训练过程中每个单元进行两次训练,更具体地说,在第l个单元Ul的第一阶段,我们先将U1到U(l-1)单元的网络参数固定,并对Ul单元进行训练;在第二阶段,我们释放固定单元,并训练所有单元。这种训练方法可以避免新单元出现梯度扰乱而影响到先前单元的稳定性。由于第一个单元没有前置训练,因此第一个单元只需要训练一次,总共需要2L-1次训练。由于感受野内的点数固定,因此随着级数的增加宏观角度来看所处理的空间尺度也在收窄,聚焦的尺度也从全局逐渐转变为细节的特征学习。
图3.3
接下来会详细的介绍子单元内部的构成和用于单元间信息共享的跳接层。

Feature extraction via intra-level dense connections
基于层内密集连接的特征提取:如图3.5所示,特征提取层由一群稠密连接的denseblocks来实现。首先输入N×d维的坐标信息,接着通过denseblocks抽取到N×C的特征。Denseblocks内部的抽取过程如图3.4所示,首先N×d维的坐标信息经过第一层MLP抽取得到固定维度的N×C’特征,随后利用基于特征的KNN(feature-based KNN)将特征划分为K个组别,并进一步利用K个MLP对组特征进行优化得到G维特征,接着将G维特征和上一步得到的C’维特征进行合并得到N×K×(G+C’)维特征,同理,将这一步的特征再进一步利用MLP优化得到G维特征,进而和上一步的N×K×(G+C’)维特征合并得到N×K×(2G+C’)维特征,最后再通过maxpooling将分组信息进行池化得到最终的N×(2G+C’)维特征,加上原N×3维特征,得到N×(2G+C’+3)的特征。这一特征也将会送入后续的模块中复用提高网络精度,同时也能提高参数效率减小网络尺寸。在最后一层的压缩作用下重新在下一个单元得到N×C’的特征。最终通过denseblocks得到我们需要的N×C结构感知特征。
基于片元的渐进式三维点云上采样_第8张图片

Feature expansion via code assignment
通过代码分配进行特征扩展:如图3.5所示,在特征扩展单元中,我们的目标是将提取的特征N×C转换为上采样坐标集2N×d。具体的来说,将原N×C维特征复制后,在每个特征后加入一个编码为1或-1的值来产生位置扰动,而后再利用MLP将2N×(C+1)的特征压缩为2N×d的残差特征,并和原输入点相加从而生成输出点。
实验表明,所提出的特征扩展方法在不增加额外损失的情况下,得到了分布均匀的点集。此外,网络参数的数目与上采样率无关,因为所有扩展的特征共享连续的多层感知器。

基于片元的渐进式三维点云上采样_第9张图片
Inter-level skip connection via bilateral feature interpolation.
通过双边特征插值实现层间跳跃连接:该网络引入层间跳跃连接以实现上采样单元之间的信息共享,如图3.3所示。但是在不同细节级别的子单元之间实现信息共享,需要一个良好的特征插值技术将上一层特征值传递到该层中。这里使用双边特征插值技术,利用目标点在上一层空间中的位置周围的特征进行插值。
具体插值方法如下:对于当前子单元上采样层l,设pi和fi是第i个点的坐标和对应特征值,Ni’为pi在第l’层的kNN最近邻域点集,点pi在上一层的特征插值f ̃i如下:

在这里插入图片描述

其中有两个联合加权函数表示如下:
基于片元的渐进式三维点云上采样_第10张图片

其中宽度参数r和h使用到最近邻的平均距离计算得到。
在计算量和优化的考虑下,我们使用基于残差的特征衔接方式,即fi=f ̃i+fi,通过这种插值方式的连接,整个网络可以获得来自细节级别较低的点云信息,并将之后的阶段学到的细粒度特征信息不断和粗糙的信息合并以重建更精细的结构。
通过之后的消融研究可以得到,基于denseblocks的密集连接和上述基于插值的跳跃连接都有利于上采样结果,但后者在学习效率、训练的稳定性和重建精度方面都有更高的影响度。

Loss function
模型的损失函数:该论文中损失函数使用欧式距离作为度量,但是在预测片元P和参考片元Q的边界处会有细微的不匹配,而这些不匹配点会增加噪声和离群值,因此研究人员使用改进的倒角距离(Chamfer distance)作为损失函数,此时利用P和Q的点集进行计算,提高了模型对于噪声和局外点的鲁棒性:
在这里插入图片描述
其中,区别是否为局外点的判断公式如下:
在这里插入图片描述

如果两点的距离d超过了阈值则置为0不予考虑。而阈值δ则是通过该层级中平均最近邻域距离相乘得到,因此该Loss函数可以适应不同层级点云的计算。

4、 MPU运行结果
评价指标:该实验中的评价指标分别为:Chamfer distance(CD):改进的倒角距离, Hausdorff distance(HD) :哈斯朵夫距离,point-to-surface distance(P2F):点到面距离。

训练和测试集:在该论文实验中,使用了三个来源的数据集:MNIST-CP、Sketchfab、ModelNet10,每个数据集分别包括训练集和测试集,具体如下:
MNIST-CP包括50K个训练数据集和10K个测试数据集,它们都是从MNIST数据集提取的二维轮廓点,更具体的说,它们是在原MNIST的测试集和训练集的二维像素点集上,应用Delaunay三角剖分、循环曲面细分、边界提取和WLOP来生成位于图像轮廓曲线上的均匀分布点集,其中,提取的点集分别为输入点集P和ground truth点集T1,T2,T3,点数分别为50,100,200和800。
Sketchfab包括90个(训练集)和13个(测试集)高度精密的3D模型,分别从Sketchfab官网下载用于训练和测试。Sketchfab的输入点集和ground truth通过降采样得到,其中输入点集根据实验需要分为稀疏输入点集(625个点)和稠密输入点集(5000个点)。
ModelNet10由10个类别组成,分别包含3991和908个用于训练和测试的CAD网格模型,对于网格模型,我们使用在Meshlab中的Poisson采样得到输入点集P和ground truth点集,ground truth采样点的数目在625到80000之间。
该实验中的数据增强包括随机旋转、缩放和包含高斯噪声的点扰动。

比较结果:该论文在Sketchfab数据集上使用稀疏输入点集(625个点)和稠密输入点集(5000个点),与其它三种最先进的点集上采样方法:EAR、PU-Net和EC-Net进行了比较。在所有实验中,均添加了0.25%的模型维数至高斯噪声中。
Sketchfab数据集测试结果:
基于片元的渐进式三维点云上采样_第11张图片
ModelNet10数据集测试结果如下,其中采样率为16倍,输入点集数为625:
基于片元的渐进式三维点云上采样_第12张图片
从上面两个运行结果可以看出,在sketchfab和ModelNet10数据集上,这篇文章提出的方法都比先前的EAR、PU-Net和EC-Net要好。还可以看到使用倒角距离的评价指标结果也优于hausdorff距离和点到表面距离作为度量的结果,这说明改进后的倒角距离更适合于点云上采样结果的度量。

下图4.1(输入点集数为625)和4.2(输入点集数为5000)提供了在Sketchfab数据集的上采样结果的视觉效果图,用于视觉比较,其中使用PCA法向估计(邻域数=25)和筛选泊松重建(深度=9)对上采样点集应用曲面重建:

基于片元的渐进式三维点云上采样_第13张图片
基于片元的渐进式三维点云上采样_第14张图片
消融研究(Ablation study):消融研究定量评估了该上采样模型提出的每一个组成部分的贡献:
1、多层次结构:消融研究为所有细节级别训练一个2倍上采样模型,并通过4次迭代应用该模型进行测试。
2、端到端训练:消融研究中分别对每个上采样单元进行训练。
3、渐进式训练:消融研究不是按照原模型所述逐步启动每个上采样单元的训练,而是同时训练所有单元。
4-6:Denseblocks密集特征提取、特征扩展和层间跳越连接:消融研究中要么删除这些模块,要么用它们在PU网中的对应模块替换它们。
结果如下:
基于片元的渐进式三维点云上采样_第15张图片
可以看到所有的组成部分都有正向作用,特别是多层次结构和渐进式训练产生的提升作用明显。
压力测试:为了测试模型对噪声和稀疏点集的鲁棒性,压力测试将输入点集设置为0到2%不等的噪声程度,对于稀疏性,随机从输入点集中删除10%到50%的点。基于MNIST-CP数据集的相应测试结果如图4.3和4.4所示,在图中,从左至右噪声程度分别为0%,0.25%,0.5%,1%,1.5%,2%,输入点数分别为50,45,40,35,30,25。与PU-Net相比,我们的模型对噪声和稀疏性具有更强的鲁棒性。
基于片元的渐进式三维点云上采样_第16张图片
基于片元的渐进式三维点云上采样_第17张图片
真实世界扫描结果(Real world data):为了在实际扫描结果中测试我们的模型,我们使用手持3D扫描仪Intel RealSense SR300获取输入数据。尽管获得数据的点集密度很高,但这样的数据充满了噪声和异常值。因此,首先使用WLOP:一种对噪声和异常值具有鲁棒性的点集去噪工具,来合并和简化点集。然后,我们将该论文的网络模型应用于已经去噪但稀疏的点集,并获得了密集且干净的输出结果,如图4.5所示,其中a为原扫描点集,b为去噪后点集,c为网络输出点集:

基于片元的渐进式三维点云上采样_第18张图片

5、 结论
在这项工作中,研究人员提出了一个基于片元的渐进式点云上采样网络,从具有稀疏性和噪声的输入点集得到了精度高的点云几何结构。我们渐进式地训练该网络,每一步都专门针对某一细节级别。这种基于自适应片元的网络结构使我们能够以端到端的方式在高分辨率点集(高分辨率点集意味着点数高,训练复杂且时间长,而这种渐进式的上采样方法恰好解决了这些问题)上进行训练。此外,我们还引入了用于特征提取的密集连接、用于特征扩展的代码分配机制以及用于跳跃连接的双边特征插值。大量的实验和研究表明,与最先进的技术相比,我们的方法更具有优越性。

你可能感兴趣的:(计算机算法,三维点云)