TPAMI 2024 | 烘焙神经辐射场以实现实时视图合成

科技   2024-11-15 14:17   广东  

论文信息

题目:Baking Neural Radiance Fields for Real-Time View Synthesis

烘焙神经辐射场以实现实时视图合成

作者:Peter Hedman; Pratul P. Srinivasan; Ben Mildenhall; Christian Reiser; Jonathan T. Barron; Paul Debevec

论文创新点

  • **Sparse Neural Radiance Grid (SNeRG)**:我们引入了一种新的表示方法,通过预计算和存储(即“烘焙”)训练好的NeRF,使其能够在普通硬件上实现实时渲染。
  • Reformulation of NeRF’s architecture:我们对NeRF的架构进行了重构,并引入了具有学习特征向量的稀疏体素网格表示。
  • Real-time rendering on commodity hardware:利用SNeRG,我们能够在笔记本电脑GPU上实现超过30帧每秒的渲染速度,这对于NeRF来说是前所未有的。

摘要

神经体积表示,如神经辐射场(NeRF),已成为从图像中学习表示3D场景并渲染出未观测视点的照片级真实感图像的引人注目的技术。然而,NeRF的计算需求对于实时应用来说是不切实际的:从训练好的NeRF渲染视图需要每次光线查询多层感知器(MLP)数百次。我们提出了一种方法来训练NeRF,然后预计算并存储(即“烘焙”)为一种称为稀疏神经辐射网格(SNeRG)的新表示,使其能够在普通硬件上实时渲染。为此,我们引入了1)NeRF架构的重构,以及2)具有学习特征向量的稀疏体素网格表示。得到的的场景表示保留了NeRF渲染细节几何和视角依赖外观的能力,紧凑(每个场景平均小于90MB),并且可以实时渲染(在笔记本电脑GPU上每秒超过30帧)。我们在视频中展示了实际的屏幕截图。

关键词

  • 计算机视觉
  • 视图合成
  • 神经渲染
  • 实时渲染

1 引言

视图合成任务——使用观测到的图像恢复能够从新的未观测视点渲染场景的3D场景表示——由于使用神经体积表示,最近取得了显著进展。特别是,神经辐射场(NeRF)能够通过将场景表示为连续的体积函数,使用多层感知器(MLP)从连续的3D位置映射到该位置的体积密度和视角依赖的发射辐射度,从而渲染出具有细节几何和真实视角依赖外观的照片级新视图。不幸的是,NeRF的渲染过程相当缓慢:渲染光线需要查询MLP数百次,以至于在现代GPU上渲染800×800分辨率的一帧大约需要一分钟。这阻止了NeRF被用于交互式视图合成应用,如虚拟现实和增强现实,甚至只是在网络浏览器中检查恢复的3D模型。
我们解决了实时渲染训练好的NeRF的问题,见图1。我们的方法将渲染速度提高了三个数量级,实现了在单个GPU上每帧12毫秒。我们预计算并存储(即“烘焙”)训练好的NeRF到一个稀疏的3D体素网格数据结构中,我们称之为稀疏神经辐射网格(SNeRG)。每个活动体素在SNeRG中包含不透明度、漫反射颜色和编码视角依赖效应的学习特征向量。要渲染这个表示,我们首先沿每个光线累积漫反射颜色和特征向量。接下来,我们将累积的特征向量通过一个轻量级MLP传递,以产生一个视角依赖的残差,加到累积的漫反射颜色上。

我们对NeRF进行了两个关键修改,以有效地将其烘焙到这种稀疏体素表示中:1)我们设计了一种称为”NeRF“的架构,它用每个像素只运行一次的MLP来表示视图相关效果(而不是像NeRF中那样每个3D样本一次),以及2)我们在训练期间正则化NeRF的预测不透明度场以鼓励稀疏性,这改善了所得到的SNeRG的存储成本和渲染时间。
我们证明,我们的方法是能够提高NeRF的渲染速度,使帧可以实时渲染,同时保留NeRF的能力,代表精细的几何细节和令人信服的视图相关的效果。此外,我们的表示是紧凑的,平均需要不到90 MB来表示一个场景。
本文扩展了以前的会议版本[2],描述了如何对真实的无界场景建模,一组更详细的实验,以及对实时Web浏览器实现的详细解释。

3 方法概述

我们的总体目标是设计一种实用的表示方法,使得通过NeRF重建的场景能够进行服务和实时渲染。这意味着三个要求:1)在普通硬件上渲染800×800分辨率的帧(NeRF使用的分辨率)应该少于30毫秒。2)表示应该能够压缩到100MB或更少。3)未压缩的表示应该适合GPU内存(大约4GB),并且不需要流式传输。
在当前硬件上实时渲染标准NeRF是完全不切实际的。NeRF需要大约100 teraflops来渲染单个800×800帧,这导致在NVIDIA RTX 2080 GPU上充分利用GPU的情况下最佳渲染时间为每帧10秒。因此,我们必须交换部分计算为存储。然而,我们不想预计算并存储整个5D视角依赖表示[4]、[5],因为这将需要大量的GPU内存。
我们提出了一种混合方法,预计算并存储一些内容在稀疏3D数据结构中,但在渲染时推迟视角依赖效应的计算。我们联合设计了NeRF的重构(第4节)以及将这种修改后的NeRF烘焙到适合实时渲染的离散体积表示的过程(第5节)。

4 修改NeRF以实现实时渲染

我们以三种方式重构NeRF:1)我们将视角依赖效应的计算限制为每个光线的单次网络评估,2)我们在网络架构中引入了一个小瓶颈,可以高效地存储为8位整数,3)我们在训练期间引入稀疏性损失,将不透明度场集中在场景的表面附近。在这里,我们首先回顾NeRF,然后描述我们的修改。

4.1 NeRF回顾

NeRF通过MLP参数化地表示场景作为连续的体积函数。具体来说,3D位置和沿相机光线的视图方向被作为输入传递给具有权重的MLP,以产生该位置的粒子体积密度以及对应于沿输入视图方向发射辐射度的RGB颜色
为了渲染像素的颜色,NeRF在相应的光线上采样位置,并使用估计的体积密度和颜色通过数值积分来近似体积渲染积分:
其中
是沿光线的两个相邻点之间的距离。NeRF通过最小化一组观测图像的输入像素和通过如上所述渲染场景预测的像素值之间的平方误差来进行MLP的训练:
其中是输入图像中像素的颜色。通过用MLP替换传统的离散体积表示,NeRF在空间和时间之间做出了强烈的权衡:NeRF的MLP需要比密集体素网格少几个数量级的空间,但是访问体积场景表示的任何位置的属性需要MLP评估而不是简单的内存查找。通过体积传递的单条光线需要数百次这样的MLP查询,导致渲染时间极其缓慢。这种权衡在训练期间是有益的;由于我们不知道优化期间的场景几何位置,使用一个可以在任意位置表示高度详细几何的紧凑表示至关重要。然而,在NeRF训练完成后,我们认为重新考虑这种空间-时间权衡是明智的,并将NeRF表示烘焙到一个存储预计算值的数据结构中,以实现实时渲染。

4.2 延迟NeRF架构

NeRF的MLP可以被视为为每个输入3D位置预测256维特征向量,然后将其与视图方向连接并解码为RGB颜色。然后NeRF累积这些视角依赖的颜色以形成单个像素颜色。然而,对于实时渲染来说,沿光线的每一样本评估MLP以估计视角依赖的颜色代价太高。相反,我们修改NeRF使用类似于延迟渲染[11]、[46]的策略。我们重新构建NeRF以在每个输入3D位置输出漫反射RGB颜色和4维特征向量(通过sigmoid约束在[0, 1]之间,以便压缩,如第5.4节所讨论)以及体积密度
为了渲染像素,我们沿每个光线累积漫反射颜色和特征向量,并将累积的特征向量和颜色,与光线的方向连接,传递给一个非常小的MLP,参数为(2层,每层16个通道),以产生我们添加到累积漫反射颜色的视角依赖残差:
这种修改使我们能够预计算并存储漫反射颜色和4维特征向量在我们的稀疏体素网格表示中,如下所述。至关重要的是,我们只需要评估MLP来产生每个像素的视角依赖效应,而不是像标准NeRF模型中那样每个3D样本进行一次评估。

4.3 不透明度正则化

体积表示的渲染时间和所需存储强烈依赖于场景中不透明度的稀疏性。为了鼓励NeRF的不透明度场变得稀疏,我们添加了一个正则化器,在训练期间使用Cauchy损失惩罚预测的密度:
其中索引输入(训练)图像中的像素,索引沿相应光线的样本,超参数分别控制正则化器的大小和尺度(在所有实验中,)。为确保此损失不会因NeRF的分层采样过程而不均匀应用,我们只对沿每个光线均匀分布的“粗”样本计算它。我们选择Cauchy损失是因为它对异常值非常鲁棒(这是可取的,因为所有“硬”表面具有高密度将被视为异常值),同时在原点附近连续可微——这是基于梯度优化的一个理想属性[47]。

5 稀疏神经辐射网格

我们现在将训练好的延迟NeRF模型,如上所述,转换为适合实时渲染的表示。核心思想是将计算与存储进行权衡,显著减少渲染帧所需的时间。换句话说,我们希望用快速查找预计算的数据结构中的值来替换NeRF中的MLP评估。我们通过预计算并存储漫反射颜色、体积密度和4维特征向量在体素网格数据结构中来实现这一点。对于我们来说,存储这个体积网格的稀疏性至关重要,因为密集体素网格可以轻易填满现代高端GPU上所有可用的内存。通过利用稀疏性和仅存储被占用和可见的体素,我们最终得到了一个更紧凑的表示。

5.1 SNeRG数据结构

我们的数据结构使用两个较小的密集数组以块稀疏格式表示一个体素网格。第一个数组是一个3D纹理图集,包含密集打包的“宏块”,大小为,每个宏块对应于实际存在于稀疏体积中的内容(漫反射颜色、特征向量和不透明度)。3D图集中的每个体素在完整分辨率的密集网格中表示场景,但由于它只包含稀疏的“被占用”内容,3D图集比小得多。与基于哈希的数据结构(其中)相比,这种方法有助于保持空间上接近的内容在内存中彼此靠近,这对高效渲染是有益的。第二个数组是一个低分辨率的间接网格,它要么存储一个值,指示相应的宏块在完整体素网格中为空,要么存储一个索引,指向该宏块在3D纹理图集中的高分辨率内容。这种结构使我们能够在渲染过程中跳过空块,如下所述。

5.2 渲染

我们使用光线步进程序渲染SNeRG,如NeRF中所做的。使实时渲染成为可能的关键区别是:1)我们预计算了每个3D位置的漫反射颜色和特征向量,允许我们在数据结构中查找它们而不是评估MLP,以及2)我们只评估MLP以产生每个像素的视角依赖效应一次,而不是每个3D位置一次。为了估计每个光线的颜色,我们首先通过间接网格进行光线步进,跳过被标记为空的宏块。对于被占用的宏块,我们通过3D纹理图集中相应的块以体素宽度进行步进,并使用三线性插值在每个采样位置提取值。我们进一步通过仅在体积密度非零的地方提取特征来加速渲染并节省内存带宽。我们使用标准Alpha合成来累积漫反射颜色和特征,一旦不透明度饱和就终止光线步进。最后,我们通过评估MLP来计算光线的视角依赖性,将累积的颜色、特征向量和光线的视向传递给MLP。然后我们将得到的残差颜色添加到累积的漫反射颜色上,如方程7所述。

5.3 烘焙

为了最小化存储成本和渲染时间,我们的烘焙过程旨在只为场景中既非空又至少在一个训练视图中可见的体素分配存储空间。我们首先对完整的体素网格密集评估NeRF网络。我们将NeRF的无界体积密度值转换为传统的不透明度值,其中是体素的宽度。接下来,我们通过剔除空空间(即最大不透明度低(低于)的宏块)和剔除宏块的可见性低(体素与所有训练视图之间的最大透射率低于)来稀疏化这个体素网格。在所有实验中,我们设置。最后,我们通过在每个体素内16个高斯分布的位置处密集评估训练好的NeRF来计算内容的抗锯齿估计,并平均得到的漫反射颜色、特征向量和体积密度。

5.4 压缩

我们将烘焙的SNeRG表示中的所有值量化为8位,并分别压缩间接网格和3D纹理图集。我们将间接网格的每个切片作为无损PNG压缩,并将3D纹理图集压缩为一组无损PNG、一组JPEG或使用H264编码的视频。这种选择的质量与存储权衡在表7中进行了评估。对于合成场景,压缩纹理图集大约实现了PNG、JPEG和H264的80倍、100倍和230倍压缩率。

5.5 微调

虽然上述压缩和量化过程对于使SNeRG紧凑且易于分发至关重要,但从烘焙的SNeRG渲染的图像质量低于从相应的延迟NeRF渲染的图像质量。图5展示了量化如何通过偏向更暗的漫反射颜色来影响视角依赖效应。幸运的是,我们可以通过对延迟每像素着色MLP的权重进行可选的微调步骤来恢复几乎所有丢失的准确性。这提高了最终渲染质量(表6)。我们优化参数,以最小化用于训练延迟NeRF的观测输入图像和从我们的SNeRG渲染的图像之间的平方误差。我们使用Adam优化器[50],学习率为,并优化100个周期。

6 表示无界场景

上述描述中,我们讨论了如何将隔离对象表示为稀疏体积网格。然而,真实场景引入了一些独特的挑战:1)对象不再是孤立的,背景出现在每个输入图像中,2)场景不再包含在小体积中,而是经常跨越更大的无界区域。为了解决这些问题,我们通过空间收缩函数[48]来表示场景,该函数将无界坐标映射到我们定义体积网格的有限域。这些收缩函数的一个关键好处是,它们为从未近距离观察过的远距离内容分配更少的存储。然而,所有这样的函数本质上是非线性的,特别是mip-NeRF 360[48]中引入的那个会弯曲光线(见图6b)。对于实时渲染,我们依赖于光线-盒子交集测试来跳过空宏块,因此需要保留直线的场景收缩函数。

6.1 前向场景

对于输入相机几乎共面且朝同一方向的前向情况,我们遵循NeRF[1]并使用标准化设备坐标(NDC)来表示我们的场景。也就是说,我们使用传统光栅化流水线中使用的投影矩阵来变换场景坐标。这将无界体积映射到单位立方体,同时保留直线。由于直线被保留,我们可以通过简单地变换光线参数作为预处理,通过NDC空间表示的体积进行光线步进。见图6c对此收缩函数的说明。

6.2 360°场景

然而,我们不能直接将NDC收缩应用于场景中有全方位内容的情况,因为当视场接近180°时,透视投影会恶化。对于这些场景,我们应用MERF[49]引入的分段投影收缩函数(见图6d)。也就是说,我们将场景分成七个子体积:单位立方体和通过从坐标原点向外看每个立方体面形成的六个锥体。不对中央区域(单位立方体)应用收缩函数,而六个锥体则由对应立方体面的透视收缩收缩。这以分段方式保留直线,使高效渲染成为可能。我们可以将光线分成每个子体积的一段,并独立地使用它们各自的投影收缩函数变换段。

7 实现细节

在这里我们描述了用于烘焙的源NeRF模型的细节,以及我们的实时网络浏览器渲染器的具体内容。

7.1 JAXNeRF+

我们基于JAXNeRF[51],这是在JAX[52]中实现的NeRF。我们对位置和视图方向应用位置编码[53]。我们训练所有网络25万次迭代,学习率从对数线性衰减到。为了提高稳定性,我们使用JAXNeRF的“预热”功能,在最初的2500次迭代中将学习率减少到,并通过值(0.01)和范数(也是0.01)剪裁梯度。我们对合成场景使用8192的批量大小,对真实场景使用16384的批量大小。由于我们的渲染时间与MLP的模型大小无关,我们可以使用更大的网络进行实验。为此,我们基于JAXNeRF+模型,该模型每条光线训练576个样本(192个粗略样本,384个精细样本),MLP每层使用512个通道。训练JAXNeRF+模型大约需要24小时,使用16个TPU v2加速器。烘焙过程更快,不到两小时完成,大部分时间花在微调上,目前实现在CPU上,可以显著加速。

7.2 Mip-NGP 360

mip-NGP 360模型是MERF[49]使用的模型:一个mip-NeRF 360模型[48],配备了哈希网格[54](64个MLP,2个层次,NeRF哈希网格中有个条目,提案哈希网格中有个条目)。我们使用MERF的分段透视收缩函数来模拟无界场景,如第6.2节所讨论的。像MERF一样,我们避免微调,通过在训练期间模拟三线性插值和8位量化(使用直接通过估计器[55])来实现。我们使用216的批量大小训练这个模型25000次迭代。我们使用Adam[50](,和),学习率从指数衰减到。像JAXNeRF+一样,我们在最初的100次迭代中通过将学习率减少到来“预热”训练。我们还通过对哈希网格条目应用0.03的权重衰减来规范训练。这个训练过程大约需要2小时,使用8个NVIDIA V100 GPU。

7.3 WebGL渲染器

我们使用THREE.js库在JavaScript和WebGL中实现了SNeRG渲染器。我们将间接网格和3D纹理图集加载到8位3D纹理中。视角依赖性MLP未压缩存储,并在WebGL着色器中实现。为了节省内存带宽,我们将3D纹理图集作为三个单独的8位3D纹理加载:一个用于Alpha,一个用于RGB,一个用于特征。我们将间接网格作为低分辨率8位纹理加载。在光线步进过程中,我们首先在光线的当前位置查询交叉网格。如果这个值表示宏块为空,我们使用光线-盒子交集测试跳到光线上的下一个宏块。对于非空宏块,我们首先使用最近邻插值查询Alpha纹理。如果Alpha为零,宏块中的当前体素包含空空间,我们不获取任何额外信息。如果Alpha非零,我们使用三线性插值获取该体素的高分辨率Alpha、颜色和特征。这将带宽需求从每个样本64字节减少到每个样本1字节,用于在每个被占用的宏块内穿越空空间的光线。我们将视角依赖性MLP作为简单的嵌套for循环在GLSL着色器中实现。我们将网络权重作为32位浮点纹理加载,并将网络偏置直接硬编码到着色器中。有趣的是,我们发现将精度降低到32位以下不会显著提高渲染性能。为了提高效率,我们只评估非零累积Alpha的像素的视角依赖性MLP。

8 实验

我们通过广泛的消融研究和与最近加速NeRF技术的比较来验证我们的设计决策。我们的实验主要关注360°场景的自由视点渲染(由上半球向内朝向的相机捕获的场景),包括合成和真实场景。尽管已经存在针对所有相机朝同一方向的特殊案例的加速技术(参见Broxton等人[56]),但360°场景代表了尚未解决的具有挑战性的通用用例。我们根据三个标准进行评估:渲染时间性能(以每秒帧数和GPU内存消耗(以千兆字节为单位)衡量),存储成本(以存储压缩表示所需的兆字节衡量),以及渲染质量(使用PSNR、SSIM和LPIPS质量指标衡量)。

8.1 基线比较

我们在三个不同的数据集上比较我们的方法与相关基线:1)由NeRF[1]引入的合成360°数据集,2)来自Local Light Field Fusion(LLFF)[61]的前向场景,以及3)mip-NeRF 360数据集中的真实360°室外场景。

8.1.1 合成360°场景

对于合成数据集,我们与以前的方法进行比较,这些方法通过细分场景[30]或减少每光线网络样本数[28]来加速NeRF。我们从JAXNeRF+模型中提取我们的烘焙SNeRG表示,烘焙使用1000^3的体素网格分辨率和323的宏块大小。我们使用输入图像的分辨率和视场(FOV)进行性能测量:800×800的39° FOV。在这个实验中,我们的方法在2019年款MacBook Pro笔记本电脑上运行,配备85瓦特AMD Radeon Pro 5500M GPU。表1显示,我们方法的质量与其他方法相当,而我们的运行性能比最快的先前方法(Neural Volumes[12])快一个数量级,比最慢的(NeRF)快一千多倍。请注意,我们在配备85W移动GPU的笔记本电脑上测量我们方法的渲染性能,而所有其他方法都在配备更强大的GPU的工作站或服务器上运行(功耗超过3倍)。

8.1.2 真实前向场景

我们还评估了我们的方法在LLFF[61]的真实前向场景上的性能(表2和表3)。在这些场景中,我们从JAXNeRF+模型中提取我们的烘焙SNeRG表示,使用1300^3的网格分辨率和323宏块。我们使用输入图像的分辨率(1006×756)和FOV(53°)进行性能测量。基线都在配备强大GPU的工作站上运行,而我们的方法在2019年款MacBook Pro笔记本电脑上运行,配备85瓦特AMD Radeon Pro 5500M GPU。

由于这些场景仅从有限的前向视图捕获和查看,分层表示如多平面图像[16]、[17]、[18]、[19]、[61]是实时渲染的一个吸引人的选择。请注意,我们使用第6.1节中描述的标准化设备坐标收缩来表示这些无界场景。这可以被解释为支持更大视点变化的多平面图像表示的连续版本。我们发现,我们的烘焙过程有时会减少这些数据集场景的总Alpha质量,为这些数据集引入了小的半透明孔洞。为了克服这个问题,我们在光线步进后部分解除Alpha的预乘。也就是说:

8.1.3 真实360°场景

我们评估了我们的方法在mip-NeRF 360数据集中的五个室外360°场景(自行车、花朵、花园、树桩和树山)上的性能[48]。这些场景包含100-200张图像(下采样到约100万像素),通过围绕场景中心的对象旋转相机捕获。我们的基线是mip-NeRF 360[48],这是一种慢但高质量的方法,专为这种类型的数据设计,以及Instant NGP[54],这是一种流行的方法,通过将大部分模型参数从MLP移动到稀疏多分辨率神经哈希网格,显著加速了NeRF重建和渲染。我们从mip-NGP 360模型中提取我们的SNeRG表示,使用20483的体素分辨率和83宏块。为了更快的渲染,我们使用多分辨率占用网格[54](在1283、643和163)和优化的视依赖MLP实现[49]。我们在分辨率为1280×720和50.625° FOV下进行性能测量。虽然基线在配备350瓦特RTX 3090 GPU的工作站上运行,我们的方法在配备15瓦特M1 Pro GPU的Macbook Pro上运行。
在图8中,我们可以看到每种方法的输出图像示例。我们的方法能够恢复背景细节,并比Instant NGP更好地保留细薄结构。mip-NeRF 360和我们方法之间的差异更为微妙,但可以观察到mip-NeRF 360在树桩场景的背景区域更为清晰。

表4总结了我们的方法在这些真实场景中的表现,包括质量、存储和性能。虽然mip-NeRF 360在质量和存储方面表现最佳,但它无法实现实时渲染性能。Instant NGP运行更快,但仍然需要强大的GPU。相比之下,我们的方法可以在功能较弱的笔记本电脑硬件上运行,并且在帧时间和质量方面仍然优于Instant NGP。在存储方面,我们的方法需要近4GB的场景磁盘空间,扩展到4571MB的GPU内存。总体而言,这些场景还不适合在笔记本电脑上进行实时渲染,因为我们方法的帧率低于30 FPS。此外,由于存储需求大,这些大型场景也不实用于通过互联网提供。

8.2 消融研究

在表5中,我们对影响速度和GPU内存使用的主要方法组成部分进行了消融研究。消融1表明,移除视依赖MLP对运行时性能的影响很小。消融2表明,移除稀疏性损失显著增加了(未压缩)内存使用。消融3表明,从我们的“延迟”渲染回到NeRF的每个样本沿光线查询MLP的方法会导致过大的渲染时间。

表6和图9显示了构建适合实时渲染的表示的每个设计决策对渲染质量的影响。尽管使用延迟渲染方案(“延迟”)和较小的网络架构(“Tinyview”)来模拟视依赖外观会略微降低渲染质量,但它们对于实现实时渲染至关重要,如上所述。请注意,从量化和压缩我们的表示开始对质量的影响是显著的。然而,在微调(“FT”)之后,我们的SNeRG模型的最终渲染质量与衍生自它的神经模型(“延迟”)保持竞争力。

在表7中,我们探索了各种压缩方案对磁盘存储空间需求的影响。我们的稀疏体素网格从对其3D纹理图集应用JPEG或H264等压缩技术中大大受益,实现了比简单的32位浮点数组紧凑200倍以上的文件大小,同时牺牲的PSNR不到1dB。因为我们的稀疏性损失将不透明体素集中在表面周围(见图4),消融它显著增加了模型大小。我们压缩的SNeRG表示足够小,可以快速加载到网页中。

表8表明,通过在较低分辨率下烘焙3D网格,我们的方法能够实现更高的渲染速度和更低的存储成本,以略微降低质量为代价。

9 结论

我们的方法通过预计算和存储稀疏神经辐射网格(SNeRG)来实时渲染神经辐射场。这种SNeRG使用稀疏体素网格表示来存储预计算的场景几何,但通过保持对视依赖外观的神经表示来保持合理的存储需求。通过仅对每个光线评估视依赖着色网络一次来加速渲染,在笔记本电脑GPU上为典型的NeRF场景实现了每秒超过30帧的速度。然而,这种设计有其局限性。由于我们对每个光线评估视依赖性一次,我们将无法轻易模拟具有反射和透明表面的场景,其中每个表面应分别模拟视依赖性。对于大型无界场景,渲染和存储也变得昂贵,因为我们的表示不使用多级细节。这可以通过八叉树锥形追踪器[42]来解决。总之,我们希望这种能够在普通硬件上实时渲染神经体积表示如NeRF的能力,将有助于增加神经场景表示在视觉和图形应用中的采用。

机器学习算法那些事
号主是大厂人工智能专家,专注于机器学习,深度学习以及计算机视觉等研究方向,每天会更新人工智能最前沿知识和分享自己的论文总结和学习笔记,让你系统化的学习每个知识点,每天进步一点点。
 最新文章