A CONDITIONAL POINT DIFFUSION-REFINEMENT PARADIGM FOR 3D POINT CLOUD COMPLETION
用于三维点云完成的条件性点扩散-精炼范式
摘要
三维点云是捕捉现实世界三维物体的重要三维表示。然而,真实扫描的三维点云往往是不完整的,为下游应用恢复完整的点云非常重要。大多数现有的点云完成方法使用Chamfer Distance(CD)损失进行训练。CD损失通过搜索最近的邻居来估计两个点云之间的对应关系,这没有捕捉到生成形状上的整体点密度分布,因此很可能导致非均匀的点云生成。为了解决这个问题,我们提出了一种新的点扩散-精炼(PDR)范式来完成点云。PDR由一个条件生成网络(CGNet)和一个再融合网络(RFNet)组成。CGNet使用一个称为去噪扩散概率模型(DDPM)的条件生成模型来生成一个以部分观测为条件的粗略完成。DDPM在生成的点云和统一的地面实况之间建立一对一的点状映射,然后优化平均误差损失以实现统一生成。RFNet细化了CGNet的粗略输出,进一步提高了完成的点云的质量。此外,我们为这两个网络开发了一个新颖的双路径架构。该架构可以(1)有效地从部分观察到的点云中提取多层次的特征来指导完成,以及(2)准确地操作三维点的空间位置以获得光滑的表面和清晰的细节。在各种基准数据集上的大量实验结果表明,我们的PDR范式优于以前最先进的点云完成方法。值得注意的是,在RFNet的帮助下,我们可以将DDPM的迭代生成过程加快50倍,而性能却没有下降多少。
1 引言
随着三维传感器的快速发展,三维点云是一种重要的数据格式,由于其易于获取和高效存储,可以捕捉到三维信息。不幸的是,在现实世界中扫描的点云往往由于部分观察和自我遮挡而不完整。对于许多下游任务,如三维重建、增强现实和场景理解,通过推断缺少的部分来恢复完整的形状是很重要的。为了解决这个问题,许多基于学习的方法(Yuan等人,2018;Yang等人,2018;Tchapmi等人,2019;Xie等人,2020;Liu等人,2020;Pan等人,2021)被提出,这些方法通过使用Chamfer距离(CD)或Earth Mover距离(EMD)来惩罚生成的完整点云与地面实况之间的差异。然而,CD损失对整体密度分布不敏感,因此由CD损失训练的网络可能产生不均匀的点云完成结果(见附录中的图10和11)。EMD在测量密度分布方面更有特色,但在训练中的计算成本太高。缺乏有效和高效的训练损失高度限制了许多现有点云完成网络的能力。
图1:我们的条件性点扩散-定义(PDR)范式首先通过扩散模型(DDPM)将高斯噪声一步步推向部分观测的粗略完成。然后,它将粗略的点云一步步细化,得到高质量的点云。
我们发现去噪扩散概率模型(DDPM)(Sohl-Dickstein等人,2015;Ho等人,2020)有可能以有效和高效的损失函数产生均匀和高质量的点云。它可以迭代地将一组高斯噪声移向完整和干净的点云。DDPM在扩散过程中在两个连续的点云之间定义了一个一对一的点状映射,这使得它能够使用一个简单的均方误差损失函数进行训练。这个损失函数的计算效率很高,并且明确要求生成的点云是均匀的,因为生成的点云和地面实景之间自然建立了一对一的点映射。在DDPM的框架下,点云完成任务可以被视为一个条件生成问题(Zhou等人,2021;Luo & Hu,2021)。事实上,我们发现由有条件的DDPM生成的完整点云往往具有良好的整体分布,均匀地覆盖了物体的形状。
尽管如此,由于DDPM的概率性质,以及在以前的工作中缺乏合适的网络架构来训练条件DDPM的三维点云完成,我们发现DDPM完成的点云往往缺乏光滑的表面和尖锐的细节(见图1和附录图12),这也反映在我们的实验中与最先进的点云完成方法相比,它们的CD损失很高。DDPM的另一个问题是它在推理阶段的低效率。它通常需要几百甚至上千的前进步骤来生成一个点云。有几种方法(Song等,2020;Nichol和Dhariwal,2021;Kong和Ping,2021)被提出来使用跳跃步骤加速DDPM,而不需要重新训练网络,然而,当使用少量的扩散步骤时,会导致性能明显下降。
在这项工作中,我们提出了条件点扩散-精炼(PDR)范式,以生成均匀和高质量的完整点云。如图1所示,我们的PDR范式以从粗到细的方式进行点云完成。首先,我们使用条件生成网络(CGNet),通过DDPM以部分点云为条件生成一个粗略的完整点云。它迭代地将一组高斯噪声移向完整的点云。随后,ReFinement网络(RFNet)在部分点云的帮助下,进一步完善由条件生成网络生成的粗略的完整点云。此外,RFNet可以用来细化由加速的DDPM生成的低质量点云,这样我们可以享受到高达50倍的加速,同时最大限度地减少性能下降。这样一来,我们的PDR范式产生的完成结果既表现出良好的整体密度分布(即均匀),又表现出鲜明的局部细节。
CGNet和RFNet都有一个新颖的双路径网络结构,如图2所示,它由两个并行的子网络组成,一个是去噪子网,一个是条件特征提取子网,分别适用于噪声点云和部分点云。具体来说,我们提出了用于上采样的点自适应去卷积(PA-Deconv)操作,它可以有效地操纵三维点的空间位置。此外,我们提出了特征传输(FT)模块,将不同尺度的编码点特征从条件特征提取子网直接传输到去噪子网的相应层次。广泛的实验结果表明,我们的PDR范式可以为点云的完成提供新的最先进的性能。
我们的主要贡献可以总结为:。1)我们发现条件DDPM是一个很好的模型,具有有效和高效的损失函数,可以在点云完成任务中生成均匀的点云。2)通过使用RFNet来完善粗略的点云,我们的PDR范式可以生成具有良好的整体密度分布(即均匀)和清晰的局部细节的完整点云。3)我们设计了新颖的点学习模块,包括PA-Deconv和特征转移模块,用于在DDPM和RFNet中构建CGNet,有效地利用从不完整点云中提取的多层次特征来完成点云。4) 在我们提出的RFNet的帮助下,我们可以将DDPM的生成过程加快50倍,而点云的质量却没有明显下降。
图2:条件生成网络(CGNet)和再融合网络(RFNet)的网络结构。它由条件特征提取子网和去噪子网组成。
2 问题陈述
在本文中,我们重点关注三维点云的完成任务。一个三维点云由三维空间中的N个点表示。,其中每个是第j个点的三维坐标。我们假设数据集由M个数据对组成,其中是第i个地面真实点云,而是来自的部分观测的不完整点云。我们的目标是开发一个模型,完成部分观测,并输出一个尽可能接近地面实况的点云。为了代数上的方便,我们让是点云X的向量形式,同样c是C的向量形式。
3 方法
我们将点云完成任务视为一个条件生成问题,其中不完整的点云C作为条件。我们使用强大的生成模型,称为去噪扩散概率模型(DDPM)(Sohl-Dickstein等人,2015;Ho等人,2020),首先生成部分观测的粗略完成。然后我们使用另一个网络来完善粗略的点云,以提高其视觉质量。我们的点云完成管道如图1所示。我们首先在第3.1节中简要介绍了DDPM的理论,然后在第3.2节和第3.3节中描述了条件生成网络(CGNet)和再细化网络(RFNet)的详细结构。
3.1 条件消除干扰模型的背景
我们假设是数据集中完整点云的分布, 是潜在分布,其中N是高斯分布。然后,条件DDPM由两个马尔可夫链组成,称为扩散过程和反向过程。这两个过程的长度都等于T,在本文中我们设定T=1000。
扩散过程。扩散过程是一个马尔可夫过程,它将高斯噪声添加到干净的数据分布中,直到输出分布接近于。扩散过程与条件器、不完整的点云无关。形式上,让。我们用上标表示扩散步骤t。为了简洁起见,我们在下面的讨论中省略订阅i。从干净数据x 0到x T的扩散过程定义为
超参数βt是预先定义的小正常数(详见附录A.1节)。根据Ho等人(2020)的研究,有一个封闭式的表达。我们首先去掉精细常数。然后,我们有 。因此,当T足够大时,归于0,变得接近于潜伏分布。请注意,可以通过以下方程直接取样:
我们强调,可以被看作是一个一对一的点式映射,因为可以通过方程进行采样。因此,在扩散过程中,中的点的顺序被保留了。然而,我们输入中的点的哪种顺序并不重要。这是因为当T足够大时,将成为一个高斯分布。高斯分布中的每个点都是等价的,没有办法将一个点与另一个点区分开来。
反向过程。反向过程是一个马尔可夫过程,它预测并消除扩散过程中加入的噪声。反向过程的条件是不完整的点云c。让是一个潜变量。从潜伏的到干净的数据的反向过程被定义为
平均值
是一个以θ为参数的神经网络,方差是一个与时间步长有关的常数。为了生成以c为条件的样本,我们首先对
进行采样,然后在t = T, T - 1, - -, 1的情况下抽取
,最后输出。
训练。DDPM是通过变异推理来训练的。Ho等人(2020)介绍了μθ的某种参数化,可以在很大程度上简化训练目标。参数化为
,
,其中是一个神经网络,以式(2)中的噪声点云
、扩散步骤t和调节器c作为输入。那么,简化后的训练目标为
其中是的均匀分布。神经网络学习预测添加到干净点云中的噪声,这可以用来对噪声点云去噪。请注意,传统的CD损失或EMD损失不存在于公式4中。我们之所以能够使用简单的平均误差,是因为DDPM在扩散过程中自然地定义了两个连续点云之间的一对一的点状映射,如公式1所示。请注意,在每个训练步骤中,我们不仅需要对一对点云xi , ci进行采样,还需要一个扩散步骤t和一个高斯噪声。
3.2 条件生成网络
在本节中,我们将介绍条件生成网络(CGNet)θ的结构。该网络的输入是噪声点云x t,不完整点云c和扩散步骤t。此外,θ还应该有效地纳入来自c的多层次信息。我们的目标是不仅要推断出整体形状,还要推断出基于c的细粒度细节。整体架构如图2所示。它由两个平行的子网络组成,类似于PointNet++(Qi等人,2017b),它们具有相同的分层结构。
上层子网,我们称为条件特征提取子网,从不完整的点云c中提取多层次的特征;下层子网,我们称为去噪子网,将噪声点云x t作为输入。我们还将扩散步骤t、从c中提取的全局特征以及由条件特征提取子网提取的多级特征添加到去噪子网中。扩散步骤t首先通过位置编码和全连接(FC)层转化为512维的步骤嵌入向量(详见附录A.1节),然后插入到Denoise子网的每个层次。同样,条件反射器c首先通过两阶段的PointNet转化为1024长度的全局特征,然后插入到Denoise子网的每一层。由条件特征提取子网提取的多级特征通过特征转移模块插入到Denoise子网的每一级。最后,Denoise子网与一个共享的MLP相连,并输出θ(x t , c, t)。
此外,虽然Zhou等人(2021)认为PointNet++不能用于生成点云的DDPM,但我们发现将每个点的绝对位置附加到其特征上就可以解决这个问题。详细分析见附录A.3节。我们还改进了骨干网PointNet++,使其能更准确地操作点的位置。
在接下来的段落中,我们将详细说明改进后的PointNet++的构建模块:编码器中的集合抽象模块和解码器中的特征传播模块,以及条件特征提取子网和去噪子网之间的特征传输模块。
,我们还将SA模块中的max-pooling层改为self-attention层。处的特征由其K个邻居的特征加权和获得,而不是最大集合,并且权重是通过注意力机制自适应计算的。关于这个注意层的细节,见附录A.4。
特征传播(FP)模块。与PointNet++类似,该模块对输入点云进行升采样,并传播输入特征。在PointNet++中,特征是通过三次插值从上采样到。的特征是其在中三个最近的邻居的特征的加权和。我们认为三段插值操作不适合我们的任务,因为插值操作可能会丢失一些关于点的准确位置的信息。详细分析见附录A.5节。
图3:(a)向共享MLP插入扩散步骤嵌入和全局特征的信息。(b) 特征转移模块将特征从不完整的点云映射到噪声点云。(c) 同时对粗大的点进行细化和上采样。
我们在低级别的FT模块中设置一个小的距离来定义邻居,这样它们只查询不完整点云c的相邻部分,以保留其中的局部细节。大距离被设置为定义高水平FT模块中的邻居。这使得高水平的FT模块具有大的接受域,因此它们可以查询不完整点云的很大一部分来推断高水平的三维结构关系。详细的邻居定义见附录A.2节。
3.3 细化网络
我们将条件生成网络生成的粗略点云表示为U。我们使用图2所示的另一个相同结构的网络来预测U的每点位移,以细化它。不同之处在于,去噪子网的输入变成了U,而且我们不需要在去噪子网中插入扩散步骤的嵌入。预测的位移被添加到U中,得到精炼的点云,
其中v、u、c分别是点云V、U、C的连接的三维坐标。γ是一个小常数,我们在所有的实验中把它设置为0.001。是ReFinement网络。我们使用精炼点云V和地面真实点云X之间的Chamfer距离(CD)损失来监督网络:
其中|V|指V中的点的数量。如果我们还想对U中的点进行λ倍的采样,我们可以简单地增加网络的输出维度。除了预测U中每个点的一个三维位移外,我们还预测另外的λ个位移。我们把精炼点云V中的每个点看作是我们想要生成的密集点云中λ个点的中心。额外的λ位移被添加到V中的每一个点,形成密集点云。图3(c)说明了我们如何对V中的每一个点进行λ=8的采样。
在训练ReFinement网络时,条件生成网络的参数是固定的。在的训练过程中即时生成粗略的点云U是不现实的,因为DDPM的生成过程很慢。相反,我们提前生成并保存粗略的点云。由于DDPM的概率性质,我们为数据集中的每个不完整的点云生成10个粗略的点云,以增加训练数据的多样性。
4 相关工作
点云完成。受开创性工作PointNet(Qi等人,2017a)的启发,研究人员专注于从三维点云中学习全局特征嵌入来完成(Yuan等人,2018;Tchapmi等人,2019),然而这不能预测局部和薄的形状结构。为了解决这些挑战,以下研究工作(Pan,2020;Xie等人,2020;Zhang等人,2020;Wen等人,2021;Yu等人,2021;Pan等人,2021)利用多尺度局部点特征来重建具有细粒度几何细节的完整点云。最近,PointTr(Yu等人,2021)和VRCNet(Pan等人,2021)在基于注意力的操作帮助下提供了令人印象深刻的点云完成结果。尽管如此,作为一个具有挑战性的条件生成问题,点云的完成还没有得到完全解决。
用于点云生成的DDPM。Luo和Hu(2021)是第一个将DDPM用于无条件的点云生成的人。他们使用Pointwise-net来生成点云,这与用于点云部分分割的2阶段PointNet相似。然而,Pointwise-net只能接收一个全局特征。它不能利用不完整点云中的细粒度局部结构。Zhou等人(2021)通过训练一个点-体素CNN(Liu等人,2019)进一步使用条件DDPM来完成点云,但他们使用不完整点云c的方式与我们不同。他们直接将c与噪声输入相连接,并将它们输入到一个单一的点象素CNN中。这可能会损害网络的性能,因为串联的点云很可能是不均匀的。此外,由于中的噪声量级很大,对于大t来说,与c有很大的不同。将两个属性截然不同的点云同时送入一个网络,对网络来说可能是相当混乱的。另一个主要区别是,他们没有像我们一样对DDPM生成的粗略的点云进行细化或上采样。
5 实验
5.1 数据集
我们在以下三个数据集上进行点云完成实验。
MVP。MVP数据集(Pan等人,2021年)有62400个训练部分完整的点云对和41600个测试对,这些点云对是从ShapeNet(Chang等人,2015年)中抽取的。每个部分点云有2048个点。特别是,MVP数据集提供了不同分辨率的地面真实点云,包括2048、4096、8192和16384点。
MVP-40。MVP-40数据集(Pan等人,2021)由ModelNet40(Wu等人,2015)中40个类别的41600个训练样本和64168个测试样本组成。它的部分点云是从完整的点云中抽出的,有一个预先定义的缺失率,即50%、25%和12.5%的缺失。部分点云和完整点云都有2048个点。
Completion3D。它(Tchapmi等人,2019)由28974个点云对组成,用于训练,1184个用于测试,来自ShapeNet的8个物体类别。部分点云和完整点云都有2048个点。我们发现在Completion3D数据集中,一些不完整的点云和完整的点云对有不一致的尺度。我们纠正了尺度,并在实验中使用了纠正后的数据集。详情见附录B.4节。
5.2 评价指标
我们使用倒角距离(CD)、地球移动距离(EMD)和F1得分来评价生成的点云的质量。CD距离的定义见公式5。
地球移动者距离。考虑到预测的点云V和地面真实点云X的大小相等N = |V | = |X|,EMD损失通过优化一个运输问题来惩罚它们的形状差异。它估计了V和X之间的偏射关系φ:V←→X。
F1得分。为了弥补CD损失对异常值敏感的问题,我们沿用以前的方法(Pan等人,2021;Tatarchenko等人,2019),使用F1得分来明确评价对象表面之间的距离,它被定义为精度和召回之间的谐波平均值:
,其中
,ρ是预先定义的距离阈值。我们为MVP和Completion3D数据集设定
,为MVP-40数据集设定
。
5.3 点云完成
我们将我们的点云完成方法与之前最先进的点云完成方法进行比较。比较是在MVP、MVP-40和 Completion3D数据集上进行的。结果显示在表1中。我们还在MVP数据集上进行了多分辨率实验,结果显示在表2中。详细的实验设置在附录B.1节中提供。我们可以看到,我们的条件点扩散-定义(PDR)范式在EMD损失方面大大超过了其他方法,这高度表明了统一性(Zhang等人, 2021)。我们还取得了最高的F1分数和非常低的CD损失。尽管VRCNet有时比我们的CD损失低,但它倾向于在不完整点云中已知的部分放更多的点,而在缺失部分放更少的点(见附录中的图10)。这样一来,它的CD损失可能很低,但这种不均匀性是不希望的,并导致EMD损失很高。我们在图4中把我们的方法与其他基线在完成的点云的视觉质量方面进行了比较。我们可以看到,我们的方法通常具有更好的视觉质量。附录中的图9和图11提供了更多的样本。我们还发现,我们的PDR范式在完成结果方面表现出一些多样性,如附录B.8中所讨论的。
消融研究。我们研究了注意力机制、点自适应去卷积(PADeconv)模块和特征转移(FT)模块在训练条件生成网络和细化网络方面的效果。实验在分辨率为2048点的MVP数据集上进行,结果见表3。"PA-Deonv & Att. "是我们提出的完整网络,如图2所示。"PA-Deonv "去掉了注意力机制。"PointNet++"进一步删除了PA-Deconv模块。"Concate x t & c "删除了FT模块。它像Zhou等人(2021)所做的那样将c和x t连接起来,并将它们送入一个带有注意力机制和PADeconv的PointNet++。"Pointwise-net "只利用了从不完整的点云中提取的全局特征。我们可以看到,这些提议的模块确实提高了网络的性能。请注意,表3中的条件生成网络是在没有数据增强的情况下训练的。完整的数据增强实验结果在附录B.6节中介绍。所有的细化网络都是使用我们提出的完整的双路径网络产生的数据进行训练的,这些网络是用数据增强训练的。如果其他消融网络使用自己产生的训练数据,它们的精化结果会更差。
DDPM加速。Kong & Ping (2021)提出通过在反向过程中跳跃步骤来加速DDPM的生成过程。该方法不需要对DDPM进行再训练。我们直接将他们的方法应用于我们的三维点云生成网络。然而,我们观察到加速后的DDPM的性能有相当大的下降。在MVP数据集(2048个点)上,原始的1000步DDPM实现了的CD损失。加速的50步和20步DDPM的CD损失分别增加到和。幸运的是,我们可以使用加速的DDPMs生成粗略的点云,并使用另一个细化网络来细化它们。50步和20步DDPMs的精炼点云的CD损失分别为和。与原始的1000步DDPM相比,它的CD损失为,在加速到50倍的情况下,接受性能的轻微下降是相当有诱惑力的。加速实验的完整结果见附录B.7节。
5.4 扩展到可控制的生成
我们的条件性PDR范式可以很容易地扩展到可控制的点云生成,其条件是物体的每一部分的边界框。我们在边界框的表面上取样,并将这个点云视为条件器,就像不完整的点云作为点云完成的条件器。我们在PartNet(Mo等人,2019)数据集的椅子类别上进行了实验。图5中显示了两个例子。有趣的是,我们的方法可以在某些细节上生成与地面实况不同的形状,但仍然是可信的。
6 结论
在本文中,我们提出了用于点云完成的条件性点扩散-定义(PDR)范式。我们的方法通过提出的特征转移模块有效地利用了不完整点云的相邻部分与完整点云之间的强空间对应关系,这也可以推断出高层次的三维结构关系。我们对骨干系统PointNet++进行了改进,使其能够准确地处理输入点的位置。我们的方法比以前的方法有明显的优势,特别是在生成的点云的整体分布方面。我们还发现,我们的方法在其他有条件的点云生成任务中具有很大的应用潜力,如可控点云生成。