本文主要是介绍PF-NET与3D点云补全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 点云补全 (Point Cloud Completion)
点云补全 (Point Cloud Completion)
3D点云补全问题的主要目标是估计缺失点
点云坐标。这个问题在实际解决的时候主要有2个问题,第一就是点云补充得过于完整,比如目标点云中是有缺口,但是补全的过程往往会顾虑掉这些细节,其二,补得过于稀疏,补充的点云没有很好的填补缺失部分。
那点云补全通常是使用coarse-to-fine的方式。首先是估计一些关键点的位置,然后在基于这些关键点进行refine,使得最后生成的点云数据是完整且真实的。
那么相对业界比较常用的方式是类似PF-NET的结构,虽然说这个结构很老了,但是因为其结构简单实用性很好,在业界也仍然经常的被使用。
PF-net从high-level上来看其实是一个GAN的结构,他的重点在于generator,其discriminator是一个很基础的MLP。 Generator是一个encoder和decoder的形式,encoder中使用multi-resolution的方式来提取输入点云不同分辨率的特征。具体的做法是首先对输入的不完整的点云多次使用最远点采样进行下采样,然后使用CMLP对不同分辨率的点云进行特征提取。和一般的MLP不一样的点是,一般的MLP是只会在最后一层使用max pooling,CMLP是对MLP中每一层的特征都做一次max pooling, 最终的特征是把每一个使用max pooling 得到的特征拼接起来。形成一个分辨率的隐编码,然后将不同分辨率的隐编码拼在一起形成最终的隐编码用于描述输入的残缺点云。
对于generator的decoder阶段,PF-NET 采用的金字塔式的decode方式,也就是将encoding阶段所获得的隐编码,分别decode 成不同密度的点云,也就解码成文中体积的primary, secondary以及detailed。然后使用chamfer distance来计算解码出来的结果和GT的差距。
这篇关于PF-NET与3D点云补全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!