NeRF: Representing Scenesas Neural Radiance Fieldsfor View Synthesis论文阅读

news2024/12/26 12:02:09

注意:和很多文章一样,在Google搜索到最终版本时,有链接指出其有7个历史版本,但内容较详细的却不是最终版本,而是ECCV (2020)版,阅读时可以两个版本配合着阅读。

1. 摘要

我们提出了一种方法,通过使用稀疏的输入视图集,优化底层的连续体积场景函数,来将复杂场景的不同的视图进行合成。我们的算法使用全连接神经网络(非卷积神经网络)表示场景,其输入是单个连续的5D坐标(空间位置(x, y, z)和观察方向(θ, φ)),其输出是该空间位置处的体积密度和与视角相关的光线信息。我们通过查找某一束相机光线(实际上是物体表面反射进入镜头的光线)上若干采样点的5D坐标来合成视图,并使用经典的立体渲染技术将输出的颜色和密度投影到图像中。由于体绘制函数是可微分的,因此优化我们场景函数表征所需的唯一输入,是一组具有已知相机姿势的图像。我们描述了如何有效地优化神经辐射场来绘制具有复杂几何外观的场景,并展示了优于以往工作的结果。

2. 引言

图1 我们提出一种方法,优化源自一组图片的场景的连续的五维神经辐射场表征(在任意连续位置的体密度和视角依赖)。我们使用来自体描绘的技术沿着描绘任意视角的场景的射线去积分场景表征。此处,我们在架子鼓周围的半球上随机选取100张图片进行可视化,用NeRF处理之后,生成两个新的视角。

在本文中,我们以一种新的方式来处理长期存在的视图合成问题。我们通过直接优化连续5D场景表示的参数以最大限度地减少绘制一组图像的误差。我们将静态场景表示为一个连续的5D函数,该函数输出在空间中每个点(x, y, z)的每个方向(θ, φ)发射的辐射度以及每个点处的密度,该密度类似于微分不透明度,控制光线通过(x, y, z)时累积的辐射量。我们的方法通过从单一的5D坐标(x, y, z, θ, φ)回归到单一的体积密度和视点相关的RGB颜色来优化没有任何卷积层(通常称为多层感知器)的深度全连接的神经网络来表示该函数。

为了从特定视角呈现该神经辐射场(NeRF),我们采用:

  • 让相机射线穿过场景来生成一组采样的3D点;
  • 使用这些点及其对应的2D观察方向作为神经网络的输入以产生颜色和密度的输出集合;
  • 使用经典的体积渲染技术来将这些颜色和密度积累到一个2D图像中。

因为这个过程是自然可微的,所以我们可以使用梯度下降来优化这个模型,方法是最小化每个观察图像和根据我们的表示所呈现的相应视图之间的误差。通过将高体积密度和精确的颜色分配到包含真实底层场景内容的位置,使跨多个视图的误差最小化,鼓励网络预测场景的连贯模型。图2可视化了整个过程。

图2 我们的神经辐射场场景表示和可微渲染过程的概述。我们通过以下方法合成图像:沿着相机射线(a)采样5D坐标(位置和观看方向),将这些位置输入MLP以产生颜色和体积密度(b),并使用体积渲染技术将这些值合成到图像(c)。这个渲染函数是可微分的,因此我们可以通过最小化合成图像和真实观测图像之间的残差(d)来优化我们的场景表示。

我们发现,优化复杂场景的神经辐射场表示的基本实现不能收敛到足够高的分辨率表示,而且在每条相机射线所需的样本数量方面效率低下。我们通过使用位置编码转换输入5D坐标来解决这些问题,从而使MLP能够表示更高频率的函数,并且我们提出了分层采样过程来减少充分采样这种高频场景表示所需的查询数量。

我们的方法继承了体积表示的优点:两者都可以表示复杂的现实世界几何和外观,并且非常适合使用投影图像进行基于梯度的优化。至关重要的是,我们的方法克服了离散体素网格在高分辨率建模复杂场景时高昂的存储成本。总之,我们的技术贡献是:

  • 一种将具有复杂几何形状和材质的连续场景表示为5D神经辐射场的方法,该方法被参数化为基本的MLP网络。
  • 一个基于经典体渲染技术的可微渲染过程,我们用它来优化标准RGB图像的表示。这包括一种分层采样策略,将MLP的容量分配给具有可见场景内容的空间。
  • 将每个输入5D坐标映射到更高维度空间的位置编码,使我们能够成功地优化神经辐射场来表示高频场景内容。

我们证明,我们产生的神经辐射场方法在定量和定性上优于最先进的视图合成方法,包括将神经3D表示与场景相匹配的工作,以及训练深度卷积网络预测采样体表示的工作。据我们所知,本文提出了第一个连续的神经场景表示,它能够从自然环境中捕获的RGB图像中渲染出真实物体和场景的高分辨率真实感新视图。

2. 相关工作

最近计算机视觉的一个很有前途的方向是用MLP的权重编码对象和场景,该MLP直接从3D空间位置映射到形状的隐式表示,例如该位置的带符号距离[6]。然而,到目前为止,这些方法还不能再现具有复杂几何形状的真实场景,不能像使用三角网格或体素网格等离散表示方法再现场景相同的保真度。在本节中,我们将回顾这两种工作方式,并将它们与我们的方法进行对比,我们的方法增强了神经场景表示的能力,从而为渲染复杂的现实场景产生最先进的结果。

使用MLPs从低维坐标映射到颜色的类似方法也被用于表示其他图形功能,如图像[44]、纹理材质[12, 31, 36, 37]和间接照明值[38]。

2.1. 神经网络3D形状表示

最近的工作通过优化将xyz坐标映射到带符号距离函数[15, 32]或占用域[11, 27]的深度网络,研究了连续3D形状作为水平集的隐式表示。然而,这些模型受到真实3D几何数据访问的限制,通常从合成的3D形状数据集(如ShapeNet[3])获得。随后的工作通过制定可微渲染函数,允许仅使用2D图像来优化神经网络对3D形状的隐式表示,从而放宽了对真实3D形状的要求。Niemeyer等人[29]将曲面表示为3D占用场,并使用数值方法找到每条射线的曲面交点,然后使用隐式微分计算精确的导数。每个光线相交的位置作为神经3D纹理场的输入,预测该点的漫反射颜色。Sitzmann等人[42]使用不太直接的神经3D表示,其简单地在每个连续3D坐标上输出特征向量和RGB颜色,并提出由沿每条射线行进的递归神经网络组成的可微呈现函数,以确定表面的位置。

尽管这些技术可以潜在地表示复杂和高分辨率的几何图形,但迄今,它们还局限于几何复杂度低的简单形状,导致渲染过度平滑。我们证明了另一种优化网络的策略来编码5D辐射场(3D体积具有依赖于2D视图的外观)可以表示更高分辨率的几何和外观,以呈现复杂场景的照片级逼真的新视图。

2.2. 视图合成和基于图像的渲染

在给定密集的视图样本的情况下,可以通过简单的光场样本插值技术[21, 5, 7]来重建逼真的新视图。对于稀疏视图采样的新型视图合成,计算机视觉和图形学领域通过从观测图像预测传统的几何和外观表示已经取得了重大进展。一种流行的方法使用基于网格的场景表示,具有漫反射[48]或视相关[2, 8, 49]的外观。可微光栅化器[4, 10, 23, 25]或路径跟踪器[22, 30]可以直接优化网格表示,以使用梯度下降来再现一组输入图像。然而,基于图像重投影的基于梯度的网格优化往往是困难的,可能是因为局部极小值或对丢失景观的不良调节。此外,该策略需要提供具有固定拓扑的模板网格作为优化前的初始化[22],这对于不受约束的真实世界场景通常是不可用的。

另一类方法使用体积表示来解决从一组输入RGB图像合成高质量逼真视图的任务。体积方法能够逼真地表示复杂的形状和材质,非常适合基于梯度的优化,并且往往比基于网格的方法产生的视觉干扰伪影更少。早期的体积测量方法使用观测图像直接给体素网格着色[19, 40, 45]。最近,几种方法 [9,13,17,28,33,43,46,52] 已经使用多个场景的大型数据集来训练深度网络,这些网络从一组输入图像中预测采样的体积表示,然后使用alpha-compositing [34] 或学习沿光线合成以在测试时渲染新视图。其他工作针对每个特定场景优化了卷积网络(CNN)和采样体素网格的组合,使得CNN可以补偿来自低分辨率体素网格的离散化伪影[41],或者允许预测的体素网格根据输入时间或动画控制而变化[24]。虽然这些体积技术在新视图合成方面取得了令人印象深刻的结果,但由于它们的离散采样,扩展到更高分辨率图像的能力从根本上受到时间和空间复杂性的限制——渲染更高分辨率的图像需要更精细的3D空间采样。我们通过在深度全连接神经网络的参数中编码连续体积来规避这个问题,这不仅产生比以前的体积方法更高质量的渲染,而且只需要那些采样体积表示的一小部分存储成本。

3. 神经辐射场场景表示

我们将连续场景表示为5D矢量值函数,其输入是3D位置x = (x, y, z)和2D观察方向(θ, φ),其输出是发射颜色c = (r, g, b)和体积密度σ。在实际应用中,我们将方向表示为3D笛卡尔单位向量d。我们用MLP网络FΘ:(X, d)→(c, σ)来逼近这种连续的5D场景表示,并优化其权重Θ,以从每个输入5D坐标映射到其相应的体积密度和定向发射颜色。

我们通过限制网络来预测仅作为位置x的函数的体积密度σ,同时允许RGB颜色c作为位置和观看方向的函数进行预测,从而鼓励表示多视点一致。为此,MLP网络FΘ首先处理输入 3D 坐标 x 与 8 个全连接层(使用 ReLU 激活和每层 256 个通道),并输出 σ 和 256 维特征向量。 然后将该特征向量与相机光线的观察方向连接起来,并传递给一个额外的全连接层(使用 ReLU 激活和 128 个通道),该层输出与视图相关的 RGB 颜色。

有关我们的方法如何使用输入观察方向来表示非朗伯效应的示例,请参见图 3。如图 4 所示,在没有视图依赖性(仅 x 作为输入)的情况下训练的模型难以表示镜面反射。

图3 与视图相关的发射辐射的可视化。 我们的神经辐射场表示输出 RGB 颜色作为空间位置 x 和观察方向 d 的 5D 函数。 在这里,我们在船舶场景的神经表示中可视化两个空间位置的示例方向颜色分布。 在 (a) 和 (b) 中,我们展示了来自两个不同相机位置的两个固定 3D 点的外观:一个位于船侧(橙色插图),一个位于水面(蓝色插图)。 我们的方法预测了这两个 3D 点不断变化的镜面外观,在(c)中,我们展示了这种行为如何在整个观察方向的半球上连续泛化。

4. 使用辐射场的体渲染

图4 我们可视化了完整模型如何从表示与视图相关的发射辐射以及从通过高频位置编码传递我们的输入坐标中受益。 移除视图相关性可防止模型在推土机踏板上重新创建镜面反射。 移除位置编码会大大降低模型表示高频几何和纹理的能力,从而导致外观过于平滑。

我们的 5D 神经辐射场将场景表示为空间中任意点的体积密度和定向发射辐射。 我们使用经典体渲染 [16] 的原理渲染穿过场景的任何光线的颜色。体积密度 σ(x) 可以解释为射线终止于位置 x 处的无限小粒子的微分概率。具有近边界和远边界t_nt_f的摄像机光线 r(t) = o + td 的预期颜色C(r)为:

函数 T(t) 表示沿射线从t_n到 t 的累积透射率,即射线从t_n传播到 t 而不撞击任何其他粒子的概率。从我们的连续神经辐射场渲染视图需要估计通过所需虚拟相机的每个像素追踪的相机光线的积分C(r)。

我们用求积的方法对这个连续积分进行数值估计。通常用于渲染离散体素网格的确定性求积法将有效地限制我们表示的分辨率,因为 MLP 只会在固定的离散位置集被查询。 相反,我们使用分层抽样方法,将[t_n, t_f]划分为 N 个均匀间隔的箱,然后从每个箱中随机均匀地抽取一个样本:

尽管我们使用一组离散的样本来估计积分,但分层采样使我们能够表示连续的场景表示,因为它导致在优化过程中在连续位置对 MLP 进行评估。 我们使用这些样本通过 Max [26] 在体积渲染评论中讨论的求积规则来估计C(r):

其中\delta_i = t_{i+1} - t_i是相邻样本之间的距离。 这个从(c_i, \sigma_i)值的集合中计算\hat{C}(r)的函数是可微分的,并且可以简化为与 alpha 值\sigma_i = 1 - exp(-\sigma_i \delta_i)的传统 alpha 合成。

5. 优化神经辐射场

在上一节中,我们描述了将场景建模为神经辐射场并从该表示中渲染新视图所必需的核心组件。 然而,我们观察到这些组件不足以实现最先进的质量,如第 6.4 节所示。 我们引入了两项改进以支持表示高分辨率复杂场景。 第一个是输入坐标的位置编码,有助于 MLP 表示高频函数,第二个是分层采样过程,它允许我们有效地采样这个高频表示。

5.1. 位置编码

尽管神经网络是通用函数逼近器 [14],但我们发现让网络F_{\Theta}直接在 xyzθφ 输入坐标上运行会导致渲染在表示颜色和几何形状的高频变化方面表现不佳。 这与 Rahaman等人最近的工作[17]一致。该文章指出,深度网络偏向于学习低频函数。他们还指出,在将输入传递到网络之前,使用高频函数将输入映射到更高维空间可以更好地拟合包含高频变化的数据。

我们在神经场景表示的背景下利用这些发现,指出将 F_{\Theta} 重新定义为两部分函数F_{\Theta} = F'_{\Theta} \cdot \gamma(一个是学习的,一个不是学习的)的组合,可以显着提高性能(见图4)。 这里 γ 是从 R 到更高维空间R^{2L}的映射,而F'_{\Theta}仍然是简单的常规 MLP。 形式上,我们使用的编码函数是:

该函数 γ(·) 分别应用于 x 中的三个坐标值(归一化为位于 [-1, 1] 中)和笛卡尔观察方向单位向量 d 的三个分量(通过构造位于 在 [−1, 1] 中)。 在我们的实验中,我们为 γ(x) 设置 L = 10,为 γ(d) 设置 L = 4。

流行的 Transformer 架构 [47] 中使用了类似的映射,它被称为位置编码。 然而,Transformers 将其用于不同的目标,即在序列中提供词的离散位置作为不包含任何顺序概念的架构的输入。相反,我们使用这些函数将连续输入坐标映射到更高维空间,以使我们的 MLP 更容易逼近更高频率的函数。通过投影[51]对3D蛋白质结构进行建模的并行工作也使用了类似的输入坐标映射。

5.2. 分层体积采样

我们在沿每条摄像机光线的 N 个查询点处密集评估神经辐射场网络的渲染策略效率低下:对渲染图像没有贡献的自由空间和遮挡区域仍然被重复采样。 我们从体积渲染 [20] 的早期工作中汲取灵感,并提出了一种分层表示,通过按比例分配样本以提高最终渲染的效果,从而提高了绘制效率。

我们不只是使用单个网络来表示场景,而是同时优化两个网络:一个“粗”和一个“精细”。 我们首先使用分层抽样对一组 Nc 位置进行抽样,并如等式(2,3)中所述评估这些位置的“粗略”网络。 给定这个“粗略”网络的输出,然后我们沿着每条射线产生更有信息的采样点,其中样本偏向体积的相关部分。 为此,我们首先在等式(3)中重写来自粗略网络\hat{C}(r)的 alpha 合成颜色为沿射线的所有采样颜色c_i的加权和:

将这些权重归一化为\hat{w}_i = w_i / \sum_{j=1}^{N_c}w_j沿射线生成分段常数 PDF。我们使用逆变换采样从该分布中采样第二组N_f个位置,在第一组和第二组样本的联合处评估我们的“精细”网络,并使用等式(3) 计算射线\hat{C}_f(r)的最终渲染颜色。但使用所有N_c+N_f样本。 此过程将更多样本分配给我们期望包含可见内容的区域。 这解决了与重要性采样类似的目标,但我们将采样值用作整个积分域的非均匀离散化,而不是将每个样本视为整个积分的独立概率估计。

5.3. 实现细节

我们为每个场景优化了一个单独的神经连续体积表示网络。 这只需要一个包含场景的捕获 RGB 图像、相应的相机位姿和内在参数以及场景边界的数据集(我们使用地面实况相机位姿、内在因素和边界来处理合成数据,并使用 COLMAP structure-from-motion [39] 为真实数据估计这些参数)。 在每次优化迭代中,我们从数据集中所有像素的集合中随机采样一批相机射线,然后按照5.2节所述的分层抽样,从粗网络中查询N_c样本,从细网络中查询N_c+N_f样本。然后我们使用第4节中描述的体渲染程序来渲染两组样本中每条射线的颜色。我们的损失只是粗略和精细渲染的像素颜色和真实像素颜色之间的总平方误差:

其中R为每批射线的集合,C(r)\hat{C}_c(r)\hat{C}_f(r)分别为射线R的地面真值、粗略体积预测和精细体积预测RGB颜色。注意,即使最终的渲染来自\hat{C}_f(r),我们也会最小化\hat{C}_c(r)的损失,以便可以使用来自粗略网络的权重分布来分配精细网络中的采样。

在我们的实验中,我们使用批次尺寸是4096条光线,每条光线在粗略体积中以N_c=64个坐标采样,在精细体积中以N_f =128个额外坐标采样。我们使用ADAM优化器[18],学习速率从5 \times10^{-4}开始,在优化过程中以指数方式衰减到5×10−5(其他ADAM超参数保留为缺省值\beta_1=0.9\beta_2=0.999\epsilon = 10^{-7})。针对单个场景的优化通常需要大约100-300k次迭代才能在单个NVIDIA V100 GPU上收敛(大约1-2天)。

6. 结果

我们的定量(表1)和定性(图5和图6)表明我们的方法优于以前的工作,并提供广泛的消融研究来验证我们的设计选择(表2)。希望读者观看我们的补充视频,以便更好地理解我们的方法在渲染新视图的平滑路径时相对于基线方法的显著改进。

6.1. 数据集

6.1.1. 对象的合成渲染

我们首先给出了在两个对象合成渲染的数据集上的实验结果(表1,“Diffuse Synthetic 360°”和“Realistic Synthetic 360°”)的实验结果。 DeepVoxels [41] 数据集包含四个具有简单几何形状的 Lambertian 对象。 每个对象从上半球采样的视点以 512 × 512 像素渲染(479 作为输入,1000 用于测试)。 我们还生成了我们自己的数据集,其中包含八个对象的路径跟踪图像,这些对象表现出复杂的几何形状和逼真的非朗伯材料。 六个是从上半球采样的视点渲染的,两个是从整个球体采样的视点渲染的。 我们渲染每个场景的 100 个视图作为输入,并渲染 200 个用于测试,全部为 800 × 800 像素。

表1 我们的方法在数量上优于之前在合成图像和真实图像数据集上的工作。 我们报告 PSNR/SSIM(越高越好)和 LPIPS [50](越低越好)。 DeepVoxels [41] 数据集由 4 个具有简单几何形状的漫反射对象组成。 我们的真实合成数据集由 8 个几何复杂对象的路径跟踪渲染组成,这些对象具有复杂的非朗伯材料。 真实数据集由 8 个真实世界场景的手持前向捕获组成(无法在此数据上评估 NV,因为它仅重建有界体积内的对象)。 尽管 LLFF 实现了稍好的 LPIPS,但我们敦促读者观看我们的补充视频,其中我们的方法实现了更好的多视图一致性,并且产生的伪影比所有基线都少。

6.1.2. 复杂场景的真实图像

我们展示了使用大致朝前的图像捕获的复杂真实世界场景的结果(表1,“Real Forward-Facing”)。该数据集包括用手持手机捕获的8个场景(5个来自LLFF论文,3个是我们捕获的),捕获了20到62张图像,其中1/8用于测试集。所有图像均为1008×756像素。

6.2. 对比

为了评估我们的模型,我们将与当前性能最好的视图合成技术进行比较,详细说明如下。除了局部光场融合[28]之外,所有方法都使用相同的一组输入视图来为每个场景训练单独的网络,该方法在大数据集上训练单个3D卷积网络,然后在测试时使用相同的训练网络来处理新场景的输入图像。

6.2.1. 神经体积(NV) [24]

合成完全位于不同背景(必须在没有感兴趣的对象的情况下单独捕获)前面的有界体积内的对象的新视图。它优化了深度3D卷积网络,以预测包含1283个样本的离散化RGBα体素网格和包含323个样本的3D Warp网格。该算法通过在扭曲的体素网格中移动相机光线来渲染新的视图。

6.2.2. 场景表示网络(SRN)[42]

将连续场景表示为不透明曲面,该曲面由将每个(x, y, z)坐标映射到特征向量的MLP隐式定义。他们训练递归神经网络,通过使用任何3D坐标的特征向量来预测沿着光线的下一步大小,从而沿着光线在场景表示中行进。来自最后一步的特征向量被解码为曲面上该点的单一颜色。请注意,SRN是同一位作者对DeepVoxels[41]的更好的后续研究,这就是为什么我们不包括与DeepVoxels的比较。

6.2.3. 局部光场融合(LLFF)[28]

LLFF旨在为采样良好的前向场景生成逼真的新视图。它使用训练好的3D卷积网络直接预测每个输入视点的离散化平截采样RGBα网格(多平面图像或MPI[52]),然后通过Alpha合成和融合附近的MPI来呈现新视点。

图5 使用基于物理的渲染器生成的新合成数据集的场景的测试集视图的比较。我们的方法能够恢复几何和外观上的精细细节,如船舶的索具、乐高的齿轮和踏板、麦克风闪亮的支架和网格以及材料的非朗伯反射率。LLFF在麦克风和材料的对象边缘上显示条状伪影,并在船舶的桅杆和乐高对象内部显示重影伪像。SRN在每种情况下都会产生模糊和扭曲的渲染效果。神经体积无法捕捉麦克风的格栅或乐高齿轮上的细节,并且它完全无法恢复船舶索具的几何形状。
图6 真实世界场景的测试集视图的比较。LLFF是专门为这个用例(面向真实场景的正面捕获)设计的。与LLFF相比,我们的方法能够在渲染的视图中更一致地表示精细的几何体,如T-rex中的蕨叶以及骨架肋骨和栏杆所示。我们的方法还正确地重建了LLFF难以清晰渲染的部分遮挡区域,例如底部蕨类作物中叶子后面的黄色货架和底部兰花作物背景中的绿叶。多重渲染之间的混合也会导致LLFF中的边缘重复,如顶部兰花裁剪所示。SRN捕捉每个场景中的低频几何图形和颜色变化,但无法再现任何精细细节。

6.3. 讨论

我们彻底超越了在所有场景中优化每个场景(NV 和 SRN)的单独网络的两个基线。此外,与 LLFF(除一个指标外)相比,我们产生了质量和数量上更优越的渲染,同时仅使用它们的输入图像作为我们的整个训练集。

SRN 方法产生高度平滑的几何和纹理,并且其视图合成的表示能力受限于每条摄像机光线仅选择单个深度和颜色。 NV 基线能够捕获相当详细的体积几何和外观,但它使用底层显式 1283 体素网格阻止它缩放以表示高分辨率的精细细节。 LLFF 特别提供了一个“采样指南”,输入视图之间的视差不超过 64 像素,因此它经常无法在包含高达 400-500 像素视差的合成数据集中估计正确的几何形状。此外,LLFF 混合了不同的场景表示以渲染不同的视图,从而导致在我们的补充视频中明显地分散注意力的不一致。

这些方法之间最大的实际权衡是时间与空间。所有比较的单场景方法都需要至少 12 小时来训练每个场景。相比之下,LLFF 可以在 10 分钟内处理一个小型输入数据集。但是,LLFF 会为每个输入图像生成一个大型 3D 体素网格,从而导致巨大的存储需求(一个“真实合成”场景超过 15GB)。我们的方法只需要 5 MB 的网络权重(与 LLFF 相比相对压缩了 3000 倍),这比我们任何数据集中的单个场景的单独输入图像的内存还要少。

6.4. 消融研究

我们通过表2中广泛的消融研究来验证我们的算法的设计选择和参数。我们给出了我们的“逼真的合成360◦”场景的结果。第9行显示了作为参考点的完整模型。第1行显示了我们的模型的极简版本,没有位置编码(PE)、视相关性(VD)或分层采样(H)。在第2-4行中,我们从完整模型中一次一个地移除这三个组件,观察到位置编码(第2行)和视点依赖(第3行)提供了最大的定量益处,其次是分层抽样(第4行)。第5-6行显示了我们的性能如何随着输入图像数量的减少而降低。请注意,当我们的方法只使用25个输入图像时,在所有指标上的性能仍然超过NV、SRN和LLFF,当它们提供100个图像时(请参阅补充材料)。在第7-8行中,我们验证了在x的位置编码中使用的最大频率L的选择(用于d的最大频率按比例缩放)。仅使用5个频率会降低性能,但将频率数从10增加到15不会提高性能。我们认为,一旦2L超过采样输入图像中存在的最大频率(在我们的数据中约为1024),增加L的好处就有限了。

表2 模型消融研究。指标是从我们的真实合成数据集中的8个场景进行平均的。参见6.4节详细说明。

7. 结论

我们的工作直接解决了以前使用MLP将对象和场景表示为连续函数的不足。我们证明,将场景表示为5D神经辐射场(输出作为3D位置和2D观察方向的函数的体积密度和依赖于视点的发射辐射的MLP)比以前占主导地位的训练深度卷积网络以输出离散体素表示的方法产生更好的渲染效果。虽然我们已经提出了一种分层采样策略来提高渲染的样本效率(对于训练和测试),但在研究高效地优化和渲染神经辐射场的技术方面仍有更多的进展。未来工作的另一个方向是可解释性:体素网格和网格等采样表示承认对渲染视图和故障模式的预期质量进行推理,但当我们在深度神经网络的权重中编码场景时,如何分析这些问题尚不清楚。我们相信,这项工作朝着基于真实世界图像的图形管道迈进了一步,在这种管道中,复杂的场景可以由从实际对象和场景的图像优化的神经辐射场组成。

参考文献

本文主要内容来自下文,原作者翻译得很好,本文增加了配图,纠正了原作者的一些笔误。

NeRF论文阅读_spade_eddie的博客-CSDN博客

另外参考了

NeRF论文阅读 - 知乎

NERF论文阅读笔记 | 豌豆哥的小站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175192.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

202301读书笔记|《命运》蔡崇达

202301读书笔记|《命运》蔡崇达 《命运》是我读的蔡崇达的第二本书,第一本是《皮囊》印象最深的一句就是“肉体是拿来用来的,不是拿来伺候的。” 当时读完第一本就很受触动,这一次读完《命运》依然很触动我。作者真的很厉害,这个故…

SpringBoot看这一篇文章就够了

第一章 SpringBoot简介 第1节 SpringBoot是什么 1 21.SpringBoot是一个可以快速创建可运行的、独立的、生产级的基于Spring的应用程序 2.SpringBoot采用一种约定优于配置的设计理念,可以快速让用户创建出一个可运行的基于Spring的应用第2节 SpringBoot的优势 1 2 3 4 51.快速构…

nacos源码解析==SPI和spring.factories机制-服务注册-心跳发送-服务拉取-服务调用

Spring.Factories这种机制实际上是仿照java中的SPI扩展机制实现的 springboot核心基础之spring.factories机制 - 知乎 SpringBoot1IDEA编写一个自己的starter_一个java开发的博客-CSDN博客_idea创建spring starter spring-cloud-starter-alibaba-nacos-discovery 将要注册到…

know sth. new 大话C#的进阶必知点解析第1章 第5节 名贵中药材程序WPF显示图片报错,找不到资源? 什么原因

1 Ui布局代码; 布局方面,主要还是继承了原先的布局方式。包括图片的展示,也是用了最外层border边框的方式,边框加入背景颜色方式的图片展示; 去把目标图片进行显示出来,这个没有太多技术含量。 至于图片的…

Spring Boot操作数据库学习之整合Druid

文章目录一 Druid 简介二 配置数据源创建项目步骤及数据库内容三 整合操作3.1 添加Druid数据源依赖3.2 编写配置文件3.3 测试3.4 自定义绑定数据源设置3.5 导入Log4j的依赖&配置日志输出3.6 添加DruidDataSource组件3.7 测试3.8 配置 Druid 数据源监控3.9 配置过滤器一 Dru…

SAPIEN PowerShell Studio 介绍

PowerShell Studio是一款优秀的基于PowerShell研发的脚本编辑器,它拥有全新的代码分析、智能预选、xaml支持功能,能够给用户提供一套完整的软件开发环境,让用户能够更加轻松的工作,这样一来大家开发项目的效率就会大大提升。创建模…

Day866.binlogredoLog -MySQL实战

日志系统 Hi,我是阿昌,今天学习的是关于MySql的binlog&redoLog的内容。 一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢&#x…

人大金仓数据库的用户与角色

创建用户 create user 用户名 授予用户创建数据库权限 alter user 用户名 要给的权限 然后查看用户信息 \du 用户名 设置用户密码 没有口令不能登录 alter user 用户名 password ‘kingbase’; 修改用户的并发连接数 alter user 用户 connection limit 要设置的连接数; 修改…

as-if-serialhappens-before

一、as-if-serialas-if-serial语义的意思是:不管怎么重排序(编译器和处理器为了提高并行度),(单线程)程序的执行结果不能被改变。编译器、runtime和处理器都必须遵守as-if-serial语义。 为了遵守as-if-seri…

java类成员/final/static都涉及到了2023025

类成员: 在Java类里只能包含成员变量、方法、构造器、初始化块、内部类(包括接口、枚举)这5种成员,目前已经介绍了前面4种,其中static可以修饰成员变量、方法、初始化块、内部类(包括接口,枚举&…

显示器的相关知识

目录 显示器的作用 显示器的尺寸 人眼的可视角度 显示器的分辨率 显示器的刷新率 显示器的灰阶响应时间 显示器的色域 显示器的色深 显示器的色准 显示器的HDR参数 显示器的面板 画面撕裂 前言 导致画面撕裂的原因 防画面撕裂技术 视频的码率 显示器的作用 把…

Golang 多模块开发

Golang 多模块开发 今天学习下Golang中多模块的基础知识,学习多模块的运行原理,使用多模块的方式,可以让开发者的代码在其他多个模块中构建、运行。提高代码的复用,从而提高开发效率。 在今天的学习中,将在工作工作空…

bfs入门教程(广度优先搜索)(含图解)

源自《啊哈算法》 目录 bfs正文 题目 思路 完整代码1 完整代码2 再解炸弹人 题目 思路 完整代码1 完整代码2 总结 bfs正文 第四章--深度优先搜索中,我们用dfs找到了寻找小哈的最短路径 接下来,我们要用bfs(Breadth First Sear…

Zookeeper的本地安装部署和分布式安装部署

文章目录一. 本地模式安装部署1)安装前准备2)配置修改3)操作Zookeeper1.2 配置参数解读二. 分布式安装部署1)集群规划2)解压安装3)配置服务器编号4)配置zoo.cfg文件5)集群操作客户端…

Leetcode.126 单词接龙 II

题目链接 Leetcode.126 单词接龙 II 题目描述 按字典 wordList完成从单词 beginWord到单词 endWord转化,一个表示此过程的 转换序列 是形式上像 beginWord -> s1 -> s2 -> ... -> sk这样的单词序列,并满足: 每对相邻的单词之间…

《高效能团队模式》读书笔记2

如果我们将团队类型的数量缩减为四类基本团队拓扑,这个问题就迎刃而解了。 流动式团队 赋能团队 复杂子系统团队 平台团队只要使用得当,这四类团队拓扑能够满足构建和运行现代软件系统的需要。结合有效的软件边界(第6章)和团队交互…

Java注解,元注解,自定义注解的使用

Java注解,元注解,自定义注解的使用Java注解基本的注解1.Override2.Deprecated3.SuppressWarnings4.SafeVarargs5.FunctionalInterfaceJava提供的元注解1.Retention2.Target3.Documented4.Inherited自定义注解自定义注解的使用Java注解 从JDK5开始,Java增…

从旺店通·企业奇门到用友U8通过接口集成数据

接入系统:旺店通企业奇门慧策(原旺店通)是一家技术驱动型智能零售服务商,基于云计算PaaS、SaaS模式,以一体化智能零售解决方案,帮助零售企业数字化智能化升级,实现企业规模化发展。对接系统&…

本地数仓项目(四)—— 即席查询

1 背景 本文描述本地数仓项目即席查询相关内容,主要涉及即席查询工具包括Presto、Druid、Kylin。 本文基于文章《本地数据仓库项目(一) —— 本地数仓搭建详细流程》 和《本地数仓项目(二)——搭建系统业务数仓详细流程》以及《本地数仓项目(三)—— 数…

金蝶云星辰和旺店通企业版奇门单据接口集成

金蝶云星辰V1和旺店通企业奇门单据接口集成对接源平台:旺店通企业奇门慧策(原旺店通)是一家技术驱动型智能零售服务商,基于云计算PaaS、SaaS模式,以一体化智能零售解决方案,帮助零售企业数字化智能化升级,实…