原文链接:https://arxiv.org/abs/2401.03890
1. 引言
NeRF在计算效率和可控性上具有局限性,这导致了3D高斯溅射(3D GS)的出现,重新定义了场景表达和渲染。
3D GS通过引入新的场景表达技术,用大量的3D高斯表达场景。3D GS使用显式的表达和高度并行化的工作流程,促进高效计算和渲染;其创新在于混合了可微渲染与基于点的渲染技术的优势。3D GS保留了连续体积辐射场的理想特性(有利于高质量图像渲染),同时避免了渲染空空间带来的计算开销。此外,3D GS的显式表达提供了对场景的动态控制能力。
2. 背景
2.1 问题定义
2.1.1 辐射场
辐射场是3D空间中光分布的表达,捕捉了环境中光与表面和材料的交互。神经场可表达为函数 L : R 5 → R + L:\mathbb{R}^5\rightarrow\mathbb{R}^+ L:R5→R+,其中 L ( x , y , z , θ , ϕ ) L(x,y,z,\theta,\phi) L(x,y,z,θ,ϕ)将点 ( x , y , z ) (x,y,z) (x,y,z)和球坐标下的方向 ( θ , ϕ ) (\theta,\phi) (θ,ϕ)映射为非负辐射值。辐射场有显示表达和隐式表达。
2.1.2 隐式辐射场
隐式辐射场不显式地定义场景几何,通常使用神经网络学习连续体积场景表达。其代表NeRF使用MLP将坐标与视线方向映射为密度和颜色,不会显式存储,而是通过查询神经网络在线计算:
L implicit ( x , y , z , θ , ϕ ) = NeuralNetwork ( x , y , z , θ , ϕ ) L_\text{implicit}(x,y,z,\theta,\phi)=\text{NeuralNetwork}(x,y,z,\theta,\phi) Limplicit(x,y,z,θ,ϕ)=NeuralNetwork(x,y,z,θ,ϕ)
这一形式允许复制场景可微且紧凑的表达,但渲染时的射线行进有较高的计算复杂度。
2.1.3 显式辐射场
显式辐射场直接在离散空间结构中表达光的分布,如体素或点集。结构中的每个元素存储了相应位置的辐射信息。这一方法通常能更直接、更快地获取辐射数据,但需要大量存储空间,且分辨率可能受限。通常形式为:
L explicit ( x , y , z , θ , ϕ ) = DataStructure [ ( x , y , z ) ] ⋅ f ( θ , ϕ ) L_\text{explicit}(x,y,z,\theta,\phi)=\text{DataStructure}[(x,y,z)]\cdot f(\theta,\phi) Lexplicit(x,y,z,θ,ϕ)=DataStructure[(x,y,z)]⋅f(θ,ϕ)
其中 DataStructure \text{DataStructure} DataStructure为网格或点云, f f f为基于视线方向修改辐射的函数。
2.1.4 3D高斯溅射
3D GS使用3D高斯作为灵活且高效的表达,从而利用了隐式和显式辐射场的优势。高斯可通过基于神经网络的优化来精确表达场景,但进行的是显式、结构化的数据存储。这种混合方法能进行高质量渲染,且训练更快、有实时性。3D高斯表达可表示为:
L 3DGS ( x , y , z ,