论文笔记-《Point Cloud Upsampling via Disentangled Refinement》

论文笔记-《Point Cloud Upsampling via Disentangled Refinement》

笔记中有不足或者错误之处,还望指出,相互交流,谢谢~

提出问题

三维扫描产生的原始点云往往局部稀疏、不均匀,物体表面可能有小孔,如下图的实扫描样例所示。显然,这些原始数据需要被修改调整之后,才能有效地将其用于渲染、分析或一般处理。

image-20220225183023662

本质上,三维扫描是一个采样问题,而上采样是一个预测问题,考虑到扫描中获得的稀疏样本,其目的是在原始表面上推断出更多的样本。

解决问题具备的难点

1.稀疏输入中可用的信息有限;

2.输入点可能是非均匀的和有噪声的,而且它们可能不能很好地表示底层表面的精细结构(如果有的话)。

现有的解决方法

得益于数据驱动机器学习和深度神经网络模型,多种基于深度学习的方法被提出用于点云上采样(与传统方法相比,它们具有更好的性能)。而现有的基于学习的方法一般采用的方法是先设计一个上采样模块来扩展特征空间中的点数量,然后用损失来约束输出点的分布均匀性和接近地表性。

基于学习的点云上采样相关论文:

《PU-Net: Point Cloud Upsampling Network》:[1801.06761] PU-Net: Point Cloud Upsampling Network (arxiv.org)

《EC-Net: an Edge-aware Point set Consolidation Network》:[1807.06010] EC-Net: an Edge-aware Point set Consolidation Network (arxiv.org)

《Patch-based progressive 3D point set upsampling》:[1811.11286] Patch-based Progressive 3D Point Set Upsampling (arxiv.org)

《PUGeo-Net: A geometry-centric network for 3D point cloud upsampling》:[2002.10277] PUGeo-Net: A Geometry-centric Network for 3D Point Cloud Upsampling (arxiv.org)

《PU-GAN: A point cloud upsampling adversarial network》:[1907.10844] PU-GAN: a Point Cloud Upsampling Adversarial Network (arxiv.org)

传统方法点云上采样相关论文:

《Computing and rendering point set surfaces》:https://www.sci.utah.edu/~shachar/Publications/crpss.pdf

《Parameterization-free projection for geometry reconstruction》:Parameterization-free-Projection.pdf (tau.ac.il)

《Edge-aware point set resampling》:https://www.cs.tau.ac.il/~dcor/articles/2012/Edge-Aware.pdf

然而,一个网络要得到好的采样效果是非常困难的。因此,现有技术产生的密集点仍然趋于不均匀或保留过多的噪声(见下图 (b)和(c)的顶部结果),从而导致重构网格质量较低(见下图 (b)和(c)的底部结果)。

image-20220225202825563

该论文的解决方案

不同于现有的方法,尽量满足不同目标在上采样时都在一个单一的网络,该论文建议解决上采样任务分成两个子目标,提出了基于多目标特性的任务分解,并构建了两个级联子网络,一个密集发生器和一个空间细化器。(密集发生器推断出粗糙、密集但细节较少的输出,粗略地描述底层表面;空间精细化器通过调整每个点的位置进一步微调粗输出,对粗点进行细化,以更好地覆盖下垫面,实现分布均匀性和接近表面性)

下图是整个方案的流程。

image-20220225204056614

可以看到,输入为N个点的稀疏输入\(P\)密集生成器(Dense Generator)从输入\(P\)中提取特征图得到\(F_P\),生成特征扩展的特征图\(F_E\),然后生成rN点的粗糙但稠密的点集\(Q’\)\(Q'\)此时仍然不均匀和有噪声),其中r为上采样率。

然后,空间细化器(Spatial Refiner)通过一对局部和全局细化单元处理\(Q'\)和相关\(F_E\),得到细化后的特征图\(F_R\)。再对\(F_R\)进行回归偏移\(\Delta Q\)(用以调整各点的位置),最终输出细化稠密点\(Q\)(即\(Q'+\Delta Q\))。

局部和全局细化单元具备互补优势,在局部提高分布的均匀性和接近地表的程度的同时,也能在全局范围内探索表面的相似结构。

该论文的具体设计

密集生成器

输入:\(P:N\times3\)

输出:\(Q':rN\times3\)

具体步骤如上图方案所示:

1.遵循现有的采样方法(《Patch-based progressive 3D point set upsampling》),使用一个特征提取单元从\(P:N\times 3\)中提取特征图得到\(F_P:N\times C\)\(C\)为特征通道的数量);

2.将\(F_P\)转化为特征扩展单元,生成扩展后的特征图\(F_E:rN\times C\)

由于该论文采用的是构建级联子网络的方式,所以在有空间细化器进行细节处理的设计下,密集生成器只需要生成一个密集点集,粗略地定位在下垫面即可(因为后续的空间细化器能够纠正这一步引入的冗余信息或额外的噪声)。因此,在特征扩展单元中,采用常用的扩展操作即可,即将\(F_P\)复制r个副本,并将\(F_P\)与一个规则的二维网格拼接得到\(F_E\)

3.通过多层感知器(MLPs)将\(F_E\)的点坐标从有限元回归得到\(Q':rN\times 3\)

空间细化器

空间细化器是用来进一步对仍可能存在噪声和非均匀性的\(Q'\)中各点的空间位置进行精细调整的,从而成功得到一个高质量、分布均匀的稠密点集\(Q\)

具体步骤:

1.将由密集生成器生成的\(Q'\)和相关的特征图\(F_E\)输入空间细化器中的局部和全局细化单元;

2.将局部细化单元和全局细化单元产生的两个输出相加,得到细化后的特征图\(F_R: rN\times C\);

3.采用残差学习来回归偏移点坐标\(\Delta Q\),最终输出\(Q:rN\times 3(Q=Q'+\Delta Q)\)

  • 局部细化单元

image-20220225213301483

image-20220225213357340

局部细化单元的目标是通过考虑局部几何结构来演化有限元。

具体步骤如上图所示:

1.\(Q'\)采用K最邻近算法,将相关的邻近点组在一起,得到堆叠的point volumes\(rN\times K\times 3\);同时,使用相同指数的最邻近算法将\(F_E\)分组到一个\(rN\times K\times C\)特征量中;

2.对\(Q’\)进行复制,得到K个\(Q'\)副本,并对复制的\(Q'\)和分组堆叠的point volumes进行减法操作(这一步有助于对局部信息进行编码);

3.将步骤2中减法的结果与\(F_E\)分组得到的特征量连接起来,并应用mlp来获得编码后的局部特征量\(F_L\)

4.应用MLPs来获得\(F_L\)​上的局部点特征,然后沿着k维进行最大池化。然而,为了考虑K个邻近点之间的相对重要性,进一步回归一个空间权重\(W\)(上图中的淡黄色部分);

5.\(F_L\)\(W\)卷积,然后沿着k维求和,得到加权的特征图\(rN\times C\);

6.将加权特征图相加作为最终的细化局部特征。

  • 全局细化单元

image-20220225213329325

全局细化单元目的是通过考虑整体形状结构来细化有限元。

具体步骤如上图所示:

1.为避免丢失整体形状结构,输入\(F_E\)\(Q'\),进行串接操作得到\(rN\times(C+3)\)

2.采用广泛使用的self-attention unit来获得细化的全局特征图(这一步引入了long-range context dependencies)。

self-attention unit具体细节看《Self-attention generative adversarial networks》:Self-Attention Generative Adversarial Networks (mlr.press)

该论文的训练策略

由于点云上采样是一个低级任务,所以更多地是要关注局部的几何结构,因此采用现有上采样方法的基于patch的训练策略就行。

目标函数定义如下:

\[\mathcal{L}=\mathcal{L}_{CD}(Q',\hat Q)+\lambda\mathcal{L}_{CD}(Q,\hat Q) \]

\(\mathcal{L}_{CD}\)表示测量两个点集之间的平均最近点距离的倒角距离。

参数\(\lambda\)控制各项的重要性,早期训练中设置一个小的\(\lambda\),从而使得训练更加侧重密集生成器生成结果\(Q'\)的可靠性;随着训练的进行,后期通过增加\(\lambda\)的值,使得空间细化器也得到充分训练。

实验结果

真实扫描数据集的结果

可视化对比

设置r = 16。对于每个对象,上面一行表示每种方法上采样的点,下面一行表示相应的重构点(三维网格采用球体旋转曲面重建算法)

三维网格采用球体旋转曲面重建算法《Unpaired point cloud completion on real scans using adversarial training.》:[1904.00069] Unpaired Point Cloud Completion on Real Scans using Adversarial Training (arxiv.org)

如下图(a)的结果,可以看出直接从稀疏输入重建网格往往会导致许多孔洞的不完整表面。

观察其他方法产生的上采样点结果,可以看出其他方法的结果往往会保留噪声,或者不能产生均匀的输出,导致重构网格的孔洞小或表面粗糙,重构网格的质量较低。而该论文的方法(d)能够产生与底层物体表面低偏差的均匀密集点。

image-20220226100503475

合成数据集的结果

可视化对比

下图显示了对三个稀疏输入的视觉比较,其中设置r=16。比较目标(a),和由该论文的方法产生的密集点(e)和其他方法产生的密集点(b-d),可以看到,其他方法往往会在结果中引入过多的噪声(如(b)),聚类点呈非均匀分布(如(c)),或破坏一些微小结构(如(d))。相比之下,该论文的方法产生了与目标点最相似的视觉结果,所示密集点可以很好地保持微小的局部结构,且点分布均匀。此外,还展示了相关的误差图,其中的颜色显示了目标点集中每个点到预测点集的最近距离。可以看到该论文的方法的上采样结果的误差是最低的(即大多数点是蓝色的)。

image-20220226100211420

定量评价

对于定量评价,考虑三种常用的评价指标:(1)倒角距离(CD), (ii) Hausdorff距离(HD), (iii)点到面(P2F)距离使用原测试对象。

为了证明该论文方法的有效性,将该论文的方法与三种最先进的点云上采样方法进行了比较,包括PU-Net、MPU、 PU-GAN。(测试过程是使用他们发布的公共代码,并遵循原始文件中相同的设置,使用我们准备好的训练数据对他们的网络进行再训练)

下表为不同上采样率下各综合检验模型的定量比较。可以看到,就两个上采样率而言,该论文的方法在所有评估指标上都达到了最低值。

image-20220225222451240

(较低的评价指标表示较好的性能,CD、HD、P2F的单位都是\(10^{-3}\)

噪声鲁棒性测试的结果

可视化对比

通过在合成测试输入中加入不同水平的高斯噪声来探索各个方法的噪声鲁棒性。下图中显示了视觉上的比较。显然,我们的方法获得了更均匀的上采样结果(d& g),在两种上采样率下都不会产生过大的噪声。

image-20220226100405990

定量评价

下表总结了定量比较,其中r = 16,显示了CD值(单位是\(10^{-3}\))。

显然,与其他方法相比,该论文的方法在所有噪声水平上产生了具有显著边际的最低值。

image-20220225225611237

创新点

不同于现有的方法尽量满足不同目标在上采样时在一个单一的网络,该论文建议解决上采样任务分成两个子目标,提出了基于多目标特性的任务分解,并构建了两个级联子网络,一个先生成粗而密的点,然后再通过另一个调整每个点的位置来细化这些点。

大量的实验结果表明,在真实扫描和合成输入上,该论文的方法都优于其他方法。

未来计划

实际上,本论文旨在提供一个通用的框架来解决点云上采样任务。

在未来,可能会继续探索一个更全面架构的密集发生器和空间细化器,进一步探索设计区域自适应细化器的可能性(即只对不均匀和有噪声的区域进行微调,从而提高整体效率)。或者设计能够感知边缘的细化器,可能有助于下游任务,如网格重建。

posted @ 2022-02-26 10:32  L-Yeeky  阅读(809)  评论(0)    收藏  举报