请注意,上述动图完全是由多张照片渲染出来的 3D 场景。人类很难发现它们的破绽。
那让我们一起看看,这种场景是怎样实现的。
网格和点是最常见的三维场景表示法,因为它们是显式的,非常适合基于 GPU/CUDA 的快速光栅化。相比之下,最新的神经辐射场(NeRF)方法建立在连续场景表征的基础上,通常使用体积光线渲染优化多层感知器(MLP),对捕捉到的场景进行新视角合成。虽然这些方法的连续性有助于优化,但渲染所需的随机取样成本很高,而且会产生噪声。
来自法国蔚蓝海岸大学的研究者引入了一种新方法,能够结合这两种方法的优点:3D 高斯表征有着 SOAT 视觉质量,并且在训练时间上也进行了优化,而基于 tile 的抛雪球算法(tile-based splatting)在几个数据集上以 1080p 分辨率实现 SOTA 实时渲染。
论文地址:https://huggingface.co/papers/2308.04079
研究团队立下目标:对多张照片拍摄的场景进行实时渲染,并在典型真实场景中实现时间最优化。此前,Fridovich-Kei 等人提出的方法虽然实现了快速训练,但难以达到当前 SOTA NeRF 方法所获得的视觉质量,而后者需要长达 48 小时的训练时间。还有研究提出快速但质量较低的辐射场方法,可以根据场景实现交互式渲染(每秒 10-15 帧),但这种方法无法实现高分辨率下的实时渲染。
接下来,我们来看本文是如何实现的。 方法
研究团队的解决方案主要由三个部分组成。
第一,引入 3D 高斯作为一种灵活而富有表现力的场景表征。输入与 NeRF 方法类似,即使用结构 - 运动(SfM)校准像机,并且使用稀疏点云初始化 3D 高斯集合,点云来自 SfM 过程。此外,该研究只用 SfM 点作为输入就能获得高质量的结果。需要注意的是,对于 NeRF 合成数据集,即使采用随机初始化,本文方法也能获得高质量的结果。研究表明,3D 高斯是一个很好的选择。
第二,优化 3D 高斯属性,即 3D 位置、不透明度、各向异性协方差和球谐波(SH)系数。优化过程产生了一个相当紧凑、非结构化和精确的场景表征。
第三,实时渲染解决方案,该研究使用快速 GPU 排序算法。不过,由于采用了 3D 高斯表征,可以在遵循可见度排序的情况下进行各向异性拼接,这要归功于排序和- blending— 并通过跟踪所需的尽可能多排序拼接的遍历,实现快速准确的向后传递。
方法概览
综上,本文做出了以下贡献:
引入各向异性 3D 高斯作为辐射场的高质量、非结构化表征;
3D 高斯属性的优化方法,与自适应密度控制交织在一起,为捕捉到的场景创建高质量的表征;
针对 GPU 的快速可微分渲染方法,该方法具有可视性感知功能,允许各向异性拼接和快速反向传播,以实现高质量的新视图合成。