辐射场方法最近在基于多张照片或视频进行新视角合成方面取得了革命性进展。然而,实现高视觉质量仍然需要耗时且计算成本高的神经网络,而最近的快速方法不可避免地在速度和质量之间进行了权衡。对于无界和完整的场景(而不是孤立的物体)以及1080p分辨率的渲染,目前没有任何方法能够实现实时显示速率。我们引入了三个关键要素,使我们能够在保持竞争性训练时间的同时,实现最先进的视觉质量,并且能够在1080p分辨率下实现高质量实时(≥30 fps)新视角合成。首先,从相机校准期间生成的稀疏点开始,我们用3D高斯表示场景,这保留了连续体积辐射场的优化场景所需的理想属性,同时避免了空白空间中的不必要计算;其次,我们进行3D高斯的交替优化/密度控制,特别是优化各向异性的协方差,以实现对场景的准确表示;第三,我们开发了一种支持各向异性投影的快速可见性感知渲染算法,这不仅加速了训练,还实现了实时渲染。我们在几个已建立的数据集上展示了最先进的视觉质量和实时渲染。
1 引言
网格和点是最常见的3D场景表示,因为它们是显式的,并且非常适合基于GPU/CUDA的快速光栅化。相比之下,最近的神经辐射场(NeRF)方法构建在连续场景表示的基础上,通常通过体积光线投射优化多层感知器(MLP)来实现捕获场景的新视角合成。同样,目前最有效的辐射场解决方案也是基于连续表示,通过插值存储在如体素【Fridovich-Keil和Yu等人,2022】或哈希网格【Müller等人,2022】或点【Xu等人,2022】中的值。虽然这些方法的连续性有助于优化,但渲染所需的随机采样成本高且可能导致噪声。我们介绍了一种新方法,结合了两者的优点:我们的3D高斯表示允许以最先进(SOTA)的视觉质量和具有竞争力的训练时间进行优化,而我们的基于瓦片的投影解决方案确保了在多个先前发布的数据集【Barron等人,2022;Hedman等人,2018;Knapitsch等人,2017】(见图1)上以1080p分辨率实现最先进质量的实时渲染。
我们的目标是允许使用多张照片捕获的场景实现实时渲染,并以与先前最有效方法相当的优化时间创建表示。最近的方法实现了快速训练【Fridovich-Keil 和 Yu 等人,2022;Müller 等人,2022】,但难以达到当前最先进的 NeRF 方法所获得的视觉质量,即 Mip-NeRF360【Barron 等人,2022】,其训练时间最长可达48小时。快速但质量较低的辐射场方法可以根据场景实现互动渲染时间(10-15帧每秒),但在高分辨率下无法达到实时渲染。
我们的解决方案建立在三个主要组件的基础上。首先,我们引入了3D高斯作为灵活且富有表现力的场景表示。我们从与之前类似 NeRF 的方法相同的输入开始,即通过结构光(SfM)【Snavely 等人,2006】校准的相机,并用作为 SfM 过程的一部分免费生成的稀疏点云初始化3D高斯集合。与大多数需要多视图立体(MVS)数据【Aliev 等人,2020;Kopanas 等人,2021;Rückert 等人,2022】的基于点的解决方案不同,我们仅使用 SfM 点作为输入就能实现高质量结果。需要注意的是,对于 NeRF 合成数据集,我们的方法即使使用随机初始化也能达到高质量。我们展示了3D高斯是一个优秀的选择,因为它们是可微的体积表示,但也可以通过将它们投影到2D并应用标准的α混合进行非常高效的光栅化,使用与 NeRF 等效的图像生成模型。我们方法的第二个组件是3D高斯属性的优化——3D 位置、透明度 α、各向异性协方差和球谐系数(SH)——交替进行自适应密度控制步骤,在优化过程中我们会添加和偶尔移除3D高斯。优化过程产生了对场景合理紧凑、无结构且精确的表示(对所有测试场景,1-5百万个高斯)。我们方法的第三个也是最后一个元素是我们的实时渲染解决方案,该解决方案使用快速 GPU 排序算法并受到基于瓦片的光栅化的启发,遵循最近的研究【Lassner 和 Zollhofer 2021】。然而,得益于我们的3D高斯表示,我们可以执行尊重可见性排序的各向异性投影——通过排序和α混合——并通过跟踪所需的多个排序投影实现快速且准确的反向传播。
总结一下,我们提供了以下贡献:
- 引入了各向异性3D高斯作为高质量、无结构的辐射场表示。
- 一种3D高斯属性的优化方法,交替进行自适应密度控制,为捕获的场景创建高质量的表示。
- 一种快速的、可微的 GPU 渲染方法,该方法感知可见性,允许各向异性投影和快速反向传播,以实现高质量的新视角合成。
我们在先前发布的数据集上的结果表明,我们可以从多视图捕获中优化我们的3D高斯,并达到或超过之前最优质量隐式辐射场方法的质量。我们还可以实现与最快方法相似的训练速度和质量,更重要的是,我们首次提供了高质量的新视角合成的实时渲染。
2 相关工作
我们首先简要回顾传统的重建方法,然后讨论基于点的渲染和辐射场工作,探讨它们的相似性;辐射场是一个广阔的领域,所以我们只关注直接相关的工作。关于该领域的全面综述,请参见最近的优秀综述【Tewari 等人,2022;Xie 等人,2022】。
2.1 传统场景重建和渲染
最早的新视角合成方法基于光场,最初是密集采样【Gortler 等人,1996;Levoy 和 Hanrahan,1996】,然后允许非结构化捕获【Buehler 等人,2001】。结构光(SfM)的出现【Snavely 等人,2006】开辟了一个新的领域,在这个领域中,一组照片可以用来合成新视角。SfM 在相机校准过程中估计一个稀疏点云,最初用于简单的3D空间可视化。随后,多视图立体(MVS)在这些年里产生了令人印象深刻的完整3D重建算法【Goesele 等人,2007】,推动了多个视图合成算法的发展【Chaurasia 等人,2013;Eisemann 等人,2008;Hedman 等人,2018;Kopanas 等人,2021】。所有这些方法将输入图像重新投影并混合到新的视图相机中,并使用几何形状来指导这种重新投影。这些方法在许多情况下产生了出色的结果,但通常无法完全从未重建的区域恢复,或者在 MVS 生成不存在的几何形状时无法从“过度重建”中恢复。最近的神经渲染算法【Tewari 等人,2022】大大减少了此类伪影,并避免了将所有输入图像存储在 GPU 上的高昂成本,在大多数方面超越了这些方法。
2.2 神经渲染和辐射场
深度学习技术早期就被用于新视角合成【Flynn 等人,2016;Zhou 等人,2016】;CNN 被用来估计混合权重【Hedman 等人,2018】,或者用于纹理空间解决方案【Riegler 和 Koltun,2020;Thies 等人,2019】。使用 MVS 的几何形状是大多数这些方法的主要缺点;此外,使用 CNN 进行最终渲染经常会导致时间抖动。
Soft3D【Penner 和 Zhang,2017】率先使用体积表示进行新视角合成;随后提出了结合体积光线投射的深度学习技术【Henzler 等人,2019;Sitzmann 等人,2019】,在几何表示中建立了连续可微分的密度场。使用体积光线投射进行渲染由于查询体积所需的大量样本而成本显著。神经辐射场(NeRFs)【Mildenhall 等人,2020】引入了重要性采样和位置编码以提高质量,但使用了大型多层感知器(MLP),这对速度有负面影响。NeRF 的成功引发了大量后续方法,这些方法通过引入正则化策略来解决质量和速度问题;当前新视角合成的图像质量处于最前沿的是 Mip-NeRF36