这篇论文是取自CVPR2020 ,属于使用隐式函数去做应用,将在object上做生成扩展到大规模的场景中。

作者首先提出问题:之前提出的一系列用于深度几何学习的表述方式,例如:体素,点云,网格或者是隐式函数。都学习的是一个很小的种类,并没有很强的泛化能力,并且大都不能去处理复杂的场景信息。作者在本篇论文中,就将提出一个三维形状的表述方式,用于去处理大规模的三维场景信息。

key idea:无论多么复杂的三维场景,或者是某一种类的三维物体,它们在局部上任然具有相同的特征。作者的核心思想就是利用这种局部相似的先验特征,去做复杂场景或者复杂模型的重建工作。因此作者提出了Local Implicit Grid(LIG)的表达方式。

主要的贡献:

(1)提出了Local Implicit Grid 的表述方式。

(2)作者提出的方法有一个非常新颖的应用,就是在构建复杂场景的时候,不需要学习先验的形状的知识。

(3)作者利用这种方法进行了场景的稀疏点云重建。

 

Local Implicit Grid Representations for 3D Scenes

作者在论文中提出的pipeline。先利用autoencoder去做物体特征学习,之后利用作者自己提出的LIG的表述方式,学习到的特征来构建室内场景。

具体的方法

首先进行数据预处理。作者使用的数据集是ShapeNets,首先对数据集进行正则化,将数据放入一个长度为1的cube中,其中part和边框留出的0.1个边长的距离。

为了将part的多样性包含进去,对每一个体素(在256分辨率下)计算符号场距离函数(SDF)。

 

具体的方法

Part Autoencoder

作者采用了IM-NET的网络结构去构建autoencoder。【注】对于decoder,这里将每一层的特征减小了4倍,以获得了更有效的结果。

作者在训练网络的时候,对每一个part采样了2048个点,采样的时候遵循,当采样的时候远离边界,以高斯衰变概率进行采样(总结起来就是,尽可能在surface周围进行多采样,而在其余的部分进行少量的采样)。loss函数的构建如下:

Local Implicit Grid Representations for 3D Scenes

其中,Local Implicit Grid Representations for 3D Scenes是set of training parts 在给定的mini-batch下,Local Implicit Grid Representations for 3D Scenes是每个part采集的样本点的集合。Local Implicit Grid Representations for 3D Scenes是交叉熵函数。

Local implicit grids

为了保证体素空间的连续性,作者提出了 overlapping latent grid的方案,即每一个体素划分与其周围的划分重叠一半的比列。如下图所示:

Local Implicit Grid Representations for 3D Scenes

Geometric encoding via latent optimization

我们在进行训练的时候,输入的是稀疏的点云数据,作者将输入空间划分为了稀疏的grid,接下来需要去优化latent vector以获得最小的loss。loss函数如下

所示:

Local Implicit Grid Representations for 3D Scenes

写在后面:

我读完论文之后,感觉这篇paper提出的方向是很好的,但是可能由于我太菜了,里面的方法我解析的确实不清楚,有些地方为啥要那么做我想的也不清楚,只能读懂pipeline的大致工作,如果大家有兴趣可以看看原文paper。如果后面我对方法的解读有更新,我会回来更新文章。

最后的最后,还是谨遵Andrew Wu.的论文阅读方法,说说本篇论文对我们的帮助:

(1)作者提出了一个非常好的方向,即不适用在数据的先验知识,而是利用其余的数据的知识做为先验来生成物体,因为目前市面上做三维深度学习生成任务

的时候,几乎都是对于一个特定类的模型,用特定的数据集做训练,这导致了极大的局限性,即没有某种数据集,我们就做不出这一类物体。此外,对于生成模型的

泛化能力也不够强,作者提出的这个方向对这些问题的解决很有帮助。

(2)作者提出了一种新颖的表示方式,即不对点云的某一个point做单独表示学习,而对一个part中的一部分做一个整体的表示,来学习特征。

相关文章: