查看原文
其他

CVPR 2021|基于非平衡态热力学的3D点云生成

论文链接: 

https://arxiv.org/abs/2103.01458

代码开源: 

https://github.com/luost26/diffusion-point-cloud

【导读】

本文是对获得计算机视觉和模式识别领域的顶级会议 CVPR 2021最佳论文提名的论文 “Diffusion Probabilistic Models for 3D Point Cloud Generation(基于非平衡态热力学的3D点云生成)”的解读。

该论文由北大王选所胡玮课题组完成。该论文提出了一种全新的三维点云生成模型。受到非平衡态热力学中的“扩散过程”概念启发,将具备一定形态的点云视为热力学系统中的粒子。具备一定形态的点云中的点随着时间的推移,会在空间中扩散开来,点的分布从集中有序走向分散无序。为了生成点云,我们考虑建模扩散过程的逆过程——将分散无序的点集逐步恢复为具有一定形态的点云,点的分布从分散走向集中。为了实现这一逆扩散过程,提出了一种基于有限长度马尔可夫链的模型。只要该马尔可夫链经过恰当的训练,初始位置服从高斯分布的点集在该马尔可夫链的引导下进行随机游走,最终会集中于有意义的位置,构成有意义的形状。

该论文构造了上述马尔可夫链模型的一种具体实现,并且导出了训练该模型的优化目标函数。最后通过实验展现了上述方法在三维点云自编码、生成以及无监督表示学习等基础任务上的优越性能。


1

创新点

提出了一种基于非平衡态热力学扩散过程的三维点云生成模型。


给出了该模型的一种具体实现方案,该方案包含用于实现该模型的神经网络结构、基于变分推断的训练损失函数、高效的训练算法、采样算法四部分。


通过实验表明了该模型在点云生成、自编码、无监督表示学习上取得了优越的性能。

2

相关工作

早期的三维点云生成模型将点云简单地视为一个N*3维的高维向量,其中N代表点云中点的数量。点云生成问题被转化为了一个 N*3 维向量的生成问题。这使得许多常用的生成模型能够直接应用到点云生成中。虽然这类方法成功实现了点云的生成,但是它们存在两大缺陷:首先,由于训练好的生成模型只能生成固定维数的向量,因此这些模型生成的点云点数也只能是固定的;其次,由于这些模型将N个点的三维坐标以固定的顺序排列在一起构成一个N*3维向量,点与点之间无形之中被赋予了先后次序,排序不变性这一三维点云的重要性质被破坏了。由于点与点之间被赋予了顺序,神经网络不得不去学习如何泛化到不同的排序上,最终影响了模型的生成效果。为了解决上述问题,研究人员随后分别独立提出了FoldingNet和AtlasNet。它们将点云表示为一个从二维矩形区域到三维空间的映射,并且用神经网络来实现这一映射。直觉上来看,这个映射就是把一张二维的“纸片”折成立体的结构,这也正是FoldingNet名字的含义。尽管这类方法实现了任意点数的点云生成以及满足了点云的排序不变性质,它们仍然具有一些缺陷:首先,这些模型的损失函数采用了 Chamfer 距离或者 Earth Mover 距离。计算这两种距离需要引入两个点云之间点与点的对应关系,但是这种对应关系并不是天然存在的,只能人为构造,所以这两种距离并不能最真实地反映两个点云之间的差距。另一方面,从实践上看,以 Chamfer 距离(CD)作为损失函数训练出来的生成模型,其生成的点云密度常常不均匀。对于 Earth Mover 距离(EMD),由于计算这一距离所需要的一一对应关系只能通过近似的方式找到,所以常常会有较大的误差,导致训练效果受到影响。近期,比较新颖的一种观点是,将三维点云视为来自于某个三维概率分布的一组样本,这一观点启发了另一条研究思路:使用非参数估计工具去拟合点云的三维概率分布。PointFlow使用连续归一化流拟合三维分布,连续归一化流最大的缺陷在于速度很慢,因为其前向传播和反向传播都需要对一个连续函数进行数值积分,运行一次数值算法方法往往需要对神经网络进行几十甚至上百次求值。相比之下,本文提出的方法具有较大的优势。首先,本文提出的方法支持生成任意点数的点云,且确保了点之间的排序不变性。和基于 GAN 的方法相比,本方法只需要对马尔可夫链的转移核进行训练,训练损失函数形式非常简单,而 GAN 需要同时对生成器、判别器两部分进行训练,且损失函数形式复杂,不稳定。和基于连续归一化流以及能量模型的方法相比,本方法速度快,且模型表达能力更强,因为本方法对网络结构没有任何限制,而归一化流要求网络可逆,限制了表达能力。


3

方法描述


我们借助逆扩散过程建模三维点云。如上图所示,我们使用马尔可夫链建模点云的逆扩散过程,并且使用神经网络参数化马尔可夫链的转移核。转移核是一个条件概率分布,它根据点当前的位置决定下一步所在位置的分布。为了使模型能够生成不同形状的点云,我们额外引入一个形状隐变量z,在具体实现上,我们使用归一化流参数化z的先验分布,增强模型的表达能力。根据概率图可知,由于存在隐变量,我们无法直接使用最大似然估计训练模型,因此,我们转而通过最大化似然函数的证据误差下界(ELBO)来训练模型。
生成点云主要包括三个步骤:
  • 首先从形状隐变量的先验分布中采样一个形状变量 z;
  • 然后在三维标准高斯分布中采样一个点集X^(T);
  • 最后在以z为条件,在马尔可夫链迭代采样,直到得到X^(0),即生成的点云。



4

实验结果

本文提出的模型在三个基准任务上达到了优越的性能:

  • 点云生成

  • 点云自编码

  • 无监督表示学习


下图展示了部分生成的点云以及不同点云生成模型之间的定量比较:


下图展示了不同点云自编码器重建的点云以及不同模型点云自编码性能的定量比较:

下图展示了自编码器隐空间插值结果:


下图为自编码器对不同形状的编码的tSNE可视化,可以看出,不同类别的点云编码区别清晰。我们进一步使用线性SVM对编码进行分类,我们的模型在更大规模的ModelNet40数据集上准确率显著高于其它方法:


5

参考文献

  • Panos Achlioptas, Olga Diamanti, Ioannis Mitliagkas, and Leonidas Guibas. Learning representations and generative models for 3d point clouds. In International conference on machine learning, pages 40–49. PMLR, 2018.

  • Ruojin Cai, Guandao Yang, Hadar Averbuch-Elor, Zekun Hao, Serge Belongie, Noah Snavely, and Bharath Hariharan. Learning gradient fields for shape generation. arXiv preprint arXiv:2008.06520, 2020.

  • Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. arXiv preprint arXiv:2006.11239, 2020.

  • GuandaoYang,XunHuang,ZekunHao,Ming-YuLiu,Serge Belongie, and Bharath Hariharan. Pointflow: 3d point cloud generation with continuous normalizing flows. In Proceedings of the IEEE International Conference on Computer Vision, pages 4541–4550, 2019.

  • Diederik P Kingma and Max Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114, 2013.

  • Yaoqing Yang, Chen Feng, Yiru Shen, and Dong Tian. Foldingnet: Point cloud auto-encoder via deep grid deformation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 206–215, 2018.

 北大王选所2021年度优秀成果推介:


—   版权声明  —

本微信公众号刊载的所有内容,由北京大学王选计算机研究所微信自身创作、收集的文字、图片和音视频资料,版权属北京大学王选计算机研究所所有;从公开渠道收集、整理及授权转载的文字、图片及音视频资料,版权属原作者。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存