目录
Abstract
我们提出了一种有效的辐射场渲染算法,该算法在稀疏体素上结合了光栅化过程,而不需要神经网络或3D高斯。拟议的系统有两个关键贡献。首先是利用动态Morton排序,沿着像素射线以正确的深度顺序渲染稀疏体素。这避免了在高斯溅射中发现的众所周知的弹出伪影。其次,我们自适应地将稀疏体素与场景中的不同细节级别相匹配,忠实地再现场景细节,同时实现高渲染帧率。我们的方法将之前的无神经体素网格表示提高了4db以上的PSNR和超过10倍的渲染FPS加速,实现了最先进的可比较的新视图合成结果。此外,我们的无神经稀疏体素与基于网格的3D处理算法无缝兼容。通过将TSDF-Fusion和Marching Cubes集成到我们的稀疏网格系统中,我们获得了很好的网格重建精度。
3. Approach
我们提出的方法如下。首先,在3.1节中,我们介绍了稀疏体素场景表示和用于将稀疏体素渲染为像素的光栅化器。在后面的3.2节中,我们描述了渐进式场景优化策略,该策略旨在使用我们的稀疏体素从多视图图像忠实地重建场景。
图2。稀疏体素场景表示。(左)我们在八叉树布局下分配体素。每个体素都有自己的球面谐波系数,用于依赖于视图的外观。在渲染视图时,颜色场近似为体素内的常量,以提高效率。密度场在体素内呈三次线性变化,并由每个体素的角网格点(即黑点•)上的密度值建模。网格点密度在相邻体素之间共享。(右)我们在射线-体素交点段内均匀采样K个点,计算其对像素射线贡献的alpha值的体积分。详细信息请参见第3.1.1节。
3.1. 稀疏体素光栅化
近期的神经辐射场渲染方法,例如 NeRF 和 3DGS 变体,使用以下alpha合成方程来渲染像素的颜色C:
其中和
分别是第
个采样点或像素射线上的基元的alpha值和与视角相关的颜色。
这个量被称为透射率。从高层次来看,每种方法之间的差异归结为:
- 它们如何找到
个点或基元来合成像素射线,
- 如何从它们的场景表示中确定rgb和alpha值。 我们的稀疏体素方法遵循相同的原理。
在3.1.1节中,我们将详细介绍我们的稀疏体素场景表示,以及如何从体素中计算出方程(1)中的和
。在3.1.2节中,我们将展示我们的光栅化器,它收集
个体素以合成每个像素。
3.1.1. 场景表示
我们首先描述用于分配稀疏体素的网格布局,然后推导出用于体素合成渲染所需的alpha值、与视角相关的颜色以及其他几何属性。
稀疏体素网格 我们的SV光栅化器(SV Raster)使用稀疏体素表示来构建3D场景。出于获得高质量结果所必需的两个原因,我们按照八叉树空间划分规则(即如图2a所示的八叉树布局)来分配体素。首先,它有助于对不同大小的体素进行正确的渲染顺序(见3.1.2节)。其次,我们能够自适应地使稀疏体素适应不同的场景细节层次(见3.2节)。请注意,我们的表示并没有复制带有父子指针或线性八叉树的传统八叉树数据结构。具体来说,我们只保留八叉树叶节点,而不保留任何祖先节点。基于排序的光栅化器将把体素投影到图像空间,并确保在渲染时所有体素都处于正确的顺序。总之,由于我们的光栅化器提供了灵活性,我们可以按任意顺序存储单个体素,而无需维护更复杂的数据结构。
我们选择一个最大细节级别(在这项工作中
),它定义了最大网格分辨率为
。设
为八叉树宽度,
为世界空间中的八叉树中心。体素索引
与八叉树级别
(
表示根节点且不被使用)一起定义体素大小
和体素中心