在开始今天的介绍前,先一起来看看下面的几个场景。
请注意,上述动图完全是由多张照片渲染出来的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帧),但这种方法无法实现高分辨率下的实时渲染。android
接下来android,我们来看本文是如何实现的。
方法
研究团队的解决方案主要由三个部分组成。
第一,引入3D 高斯作为一种灵活而富有表现力的场景表征。输入与 NeRF 方法类似,即使用结构 - 运动(SfM)校准像机,并且使用稀疏点云初始化3D 高斯集合,点云来自 SfM 过程。此外,该研究只用 SfM 点作为输入就能获得高质量的结果。需要注意的是,对于 NeRFphp合成数据集,即使采用随机初始化,本文方法也能编程获android得高质量的结果。研究表明,3D 高斯是一个很好的选择。
第二,优化3D 高斯属性,即3D 位置、不透明度