题目:VastGaussian: Vast 3D Gaussians for Large Scene Reconstruction
来源:清华大学;华为诺亚;中国科学院
链接:https://vastgaussian.github.io/
总结:VastGaussian:基于3D GS的分块优化重建:引入了渐进式数据划分策略,允许独立的单元优化和无缝合并,获得具有足够三维高斯分布的完整场景。解耦外观建模消除了训练图像中的外观变化,实现了不同视图之间的一致渲染
文章目录
摘要
基于NeRF的重建方法,在大型场景中的渲染质量和速度较差。虽然最近的3D Gaussian Splatting在小规模和以对象为中心的场景上效果很好,但由于有限的视频内存、优化时间长和明显的外观变化,难以扩展到大场景。本文提出 VastGaussian,基于三维GS的大场景高质量重建和实时渲染的高斯方法:提出了一种渐进划分策略,将场景划分为多个单元,其中训练摄像机和点云以空域感知可见性准则适当分布。在并行优化后,单元格被合并成一个完整的场景。还在优化过程中引入了解耦的外观建模,以减少渲染图像中的外观变化。实验在多个大场景数据上验证。
一、前言
大型场景重建对于许多应用都是必不可少的,包括自动驾驶、空中测量和虚拟现实,需要视觉质量和实时渲染。 Mega-nerf、Block-nerf、Switch-nerf、Bungeenerf 将神经辐射场(NeRF)扩展到大规模的场景中,但它们仍然缺乏细节或渲染缓慢。最近,3DGS 在1080p分辨率下逼真和实时渲染,并应用于动态场景重建[28,51,55,56]和三维内容生成[12,42,59],但是侧重于小规模和以对象为中心的场景。当应用于大规模环境时,存在几个scalability的问题。首先,三维高斯数的数量受到一个给定的视频内存的限制,而一个大场景的丰富细节需要大量的三维高斯数。简单地将3DGS应用于一个大规模的场景,将会导致低质量的重建或内存不足的错误。为了直观的解释, 一个32 GB的GPU可以用来优化大约1100万个3D高斯,而在Mip-NeRF 360数据集中,面积小于100平方米的小花园场景已经需要大约580万3D高斯来进行高保真重建。其次,它需要足够的迭代来优化整个大型场景作为一个整体,这可能会很耗时,而且由于没有良好的正则化而不稳定。第三,大场景中,光照通常不均匀,捕获的图像有明显的外观变化,如图2(a).所示3DGS倾向于产生具有低混浊度的大的三维高斯分布,以弥补不同视图之间的这些差异。例如,明亮的blob往往与高曝光的图像接近相机,而黑暗的blob与低曝光的图像有关。从新的角度观察到,这些blob变成了空中的floater,如图2(b, d)所示
为了解决这些问题,VastGaussian以分而治之的方式重建一个大场景:将一个大场景划分为多个单元,独立优化每个单元,最后将它们合并为一个完整的场景。由于这些单元具有更精细的空间尺度和更小的数据大小,因此更容易优化这些单元。一种自然而简单的划分策略是根据它们的位置在地理上分布训练数据。由于常见的摄像机很少,这可能会导致两个相邻单元之间的边界伪影,并可能在没有足够监督的情况下在空气中产生 floaters。因此提出了基于可见性的数据选择,以逐步合并更多的训练摄像机和点云,以确保无缝合并,并消除floater。每个单元格包含较少的三维高斯分布,这减少了内存需求和优化时间,特别是当与多个gpu并行优化时。合并场景中包含的三维高斯数据总数大大超过了整体训练的场景,提高了重建质量。此外,我们还可以通过合并新的单元格来扩展场景,或者微调一个特定的区域,而无需对整个大场景进行再训练。
为了减少外观变化引起的floater,基于nerf提出了具有外观嵌入[29]的生成潜在优化(GLO)[5]。这种方法通过ray marching 对点采样,并将点特征与外观嵌入一起输入一个MLP,以获得最终的颜色。它不适合3DGS,因为渲染是通过没有mlp的frame-wise 的栅格化来完成的。因此,我们提出了一种新的解耦外观建模(仅用于优化)。我们将一个外观嵌入到渲染图像上,并将其输入CNN,以获得用于对渲染图像应用外观调整的变换图。我们惩罚渲染图像和地面真实之间的结构差异来学习恒定信息,而在调整后的图像上计算光度损失以拟合训练图像中的外观变化。我们需要的是只有一致的渲染,所以在优化后可以丢弃这个外观建模模块,从而不会减慢实时渲染速度
贡献如下:
1.提出了VastGaussian,基于三维GS的大场景高保真重建和实时渲染
2.提出了一种渐进的数据划分策略,将训练视图和点云分配给不同的单元格,从而实现并行优化和无缝合并。
3.在优化过程中引入了解耦外观建模,抑制了外观变化导致的floater。优化后可以丢弃该模块,以获得实时的渲染速度。
二、相关工作
2.1 大场景重建
一些工作 [ Photo tourism等,1,16,23,34,38,39,62] 遵循运动结构(SfM)管道来估计相机pose和稀疏点云。[17,19]从基于多视图立方体(MVS)的SfM输出中产生一个密集的点云或三角形网格。近年来,随着NeRF [31]成为一种流行的逼真新视角合成的三维表示,人们提出了许多变体来提高质量[2-4,24,45,47-49,57],提高速度[8,9,11,14,20,32,36,37,40,43,46,58,60],扩展到动态场景[7,15,18,25,27,50],等等。一些方法是通过[41,44,52,53,61]将其缩放到大型场景中。BlockNeRF [41]将一个城市划分为多个街区,并根据其位置分发训练视图。Mega-NeRF [44]使用基于网格的划分,并将图像中的每个像素分配给其光线通过的不同网格。与这些启发式划分策略不同,Switch-NeRF [61]引入了一个nerf-专家的混合框架来学习场景分解。Grid-NeRF [53]不执行场景分解,而是使用基于NeRF和基于网格的方法的集成。虽然这些方法的渲染质量比传统方法有了显著的提高,但它们仍然缺乏细节,渲染速度缓慢。最近,3D Gaussian splitting[21]引入了一种表达式显式3D表示,具有1080p分辨率的高质量实时渲染。
2.2 变化的外观建模
在光照变化或不同的相机设置下,如自动曝光、自动白平衡和调压等,