随着深度神经网络的到来,基于学习的三维重建方法逐渐变得流行。但是和图像不同的是,在3D中没有规范的表示,既能高效地进行计算,又能有效地存储,同时还能表示任意拓扑的高分辨率几何图形。很多先进的基于学习的三维重建方法只能表示粗糙的三维几何,或者限制于一个特定的领域。在这篇论文中,作者提出了占用网格,一种新的基于学习的三维重建方法。占位网络隐式地将三维曲面表示为深度神经网络分类器的连续决策边界。与现有方法相比,该表示方式编码了高分辨率的3D输出,并且没有过多的内存占用。同时该方法能够高效地编码三维结构,并且能够从不同种类的输入推断出模型。实验证明,无论是在质量上还是在数量上,对于从单个图像、有噪声的点云和粗糙的离散体素网格进行三维重建,该方法都获得了具有竞争力的结果。
和传统多视图立体几何算法相比,学习模型的方法能够编码3D形状空间中的丰富先验信息,这有助于解决输入的模糊性。生成模型的方法在高分辨率的图像上已经取得了很好的效果,但是还没有复制到3D领域。与2D领域相比,暂时还没有就3D输出表示达成一致,这种表示既能提高内存效率,又能从数据中有效推断
现存的表示方法能够大概分成三类:体素、网格、点云
贡献点
理想情况下,我们不仅要在固定的离散的3D位置(就像在体素表示中)考虑占用率,而且要在每一个可能的3D点p考虑占用率。称以下函数为3D物体的占用函数
这个函数的关键是,可以用一个神经网络来近似这个3D函数,该神经网络分配给每个位置p一个在0到1之间的占用概率。这个网络相当于一个用于二分类的神经网络,而我们关注的是对象表面的决策边界
根据对物体的观察(如图像、点云等),当使用这样的网络对物体进行三维重建时,必须以输入作为条件。作者使用了下面的简单的功能对等:一个函数,它接受一个观察x作为输入,输出一个从点p到R的函数,这可以通过一个函数等价描述:一对(p, x)作为输入和输出一个实数。后一种表示可以用一个神经网络参数化,该神经网络以一对(p,x)作为输入,输出一个表示占用概率的实数
为了学习神经网络的参数,考虑在对象的三维边界体中随机采样点,对于第i个样本,采样K个点,然后评估这些位置的小批量损失Lb
xi是B批次的第i个观测值,Oij是点云的真实位置,L是交叉熵损失
该方法的性能取决于用于绘制用于训练的pij位置的采样方案,在带有附加小填充的对象的边界框内均匀采样会产生最好的结果。这个三维表示方法也可以用于学习概率潜在变量模型,定义损失函数如下
KL表示KL-散度,p0(z)是潜在变量zi(通常为高斯分布)的先验分布,编码器网络gψ(·),位置pij,占位oij,预测潜在z∈RL上高斯分布的qψ(z|(pij, oij)j=1:K)的平均μψ和标准偏差σψ,负对数似然的下界,p((oij )j=1:K |(pij )j=1:K )
为了提取给定训练过的占用网络的新观测对应的等值面,引入了多分辨率等值面提取(MISE),这是一种层次化的等值面提取算法。通过增量构建八叉树,MISE使我们能够从占用网络中提取高分辨率网格,而无需密集评估高维占用网格的所有点