0. 简介

对于深度学习而言,NeRF一定是最近两年最火的工作之一了,NeRF(Neural Radiance Fields)是最早在2020年ECCV会议上的Best Paper,其将隐式表达推上了一个新的高度,仅用 2D 的 posed images 作为监督,即可表示复杂的三维场景。NeRF迅速发展也已经被应用到了多个技术方向,例如新视点合成、三维重建等等,都取得非常好的效果。之前我们在《经典文献阅读之—NeRF-SLAM(单目稠密重建)》中给大家提到了NeRF的技术原理下面我们就根据NICE-SLAM作为核心,来给各位介绍一下现有NeRF的缺点以及发展

1. 缺点以及发展

NeRF最大的贡献,是实现了神经场(Neural Field)与图形学组件Volume rendering的有效结合。通过将2D位置与3D空间坐标通过NLP神经网络去隐式地学习一个三维场景。首先值得我们注意的是NeRF的问题,主要的问题有:速度慢、只针对静态场景、泛化性差、需要大量视角等问题。我们分别找了几个文章来做简要的分析,来看不同文章的改进方向。下一节我们将会来侧重着讲如何将NeRF应用到SLAM上。我们来根据NICE-SLAM来详细分析。

1.1 Neural Sparse Voxel Fields

在这项工作中,我们介绍了神经稀疏体素场 (NSVF),这是一种用于快速和高质量自由视点渲染的新神经场景表示。NSVF 定义了一组以稀疏体素八叉树组织的体素有界隐式字段,以对每个单元中的局部属性进行建模。我们仅从一组姿势的 RGB 图像中通过可区分的光线行进操作逐步学习底层体素结构。使用稀疏体素八叉树结构,可以通过跳过不包含相关场景内容的体素来加速渲染新颖的视图。

1.2 Mip-NeRF

Mip-NeRF 使用称为圆锥截头体的几何形状来渲染每个像素,而不是射线,这可以减少混叠,可以显示图像中的精细细节,并将错误率降低 17-60%。该模型也比 NeRF 快 7%。

1.3 NeRF-SR

NERF-SR,一种用于高分辨率(HR)新型视图合成的解决方案,主要是低分辨率(LR)输入。该方法是基于神经辐射场(NERF)的内置,其预测每点密度和颜色,具有多层的射击。在在任意尺度上产生图像时,NERF与超越观察图像的分辨率努力。NERF-SR可以通过改进网络进一步提高超级采样的性能,该细化网络利用估计的深度来实现HR参考图像上的相关补丁的幻觉。

1.4 KiloNeRF

KiloNeRF 解决了 NeRF 中渲染缓慢的问题,这主要与需要数百万次查询深度 MLP 网络有关。 KiloNeRF 将工作负载分离到数千个小型 MLP 中,而不是一个需要多次查询的大型 MLP。每个小型 MLP 都代表一个场景的一部分,可实现 3 倍的性能提升,同时降低存储要求和可比的视觉质量。

1.5 Plenoxels

Plenoxels 将 NeRF 中心的 MLP 替换为稀疏的 3D 网格。每个查询点都是从其周围的体素插入的。因此,无需运行神经网络即可渲染新的 2D 视图,这大大降低了复杂性和计算要求。Plenoxels 提供与 NeRF 相似的视觉质量,同时速度快两个数量级。

1.6 RegNeRF

虽然NERF可以在许多输入视图可用时产生看不见的观点的光静观渲染,但是当该数量减少时,其性能显着下降。我们观察到,稀疏输入方案中的大多数伪像是由估计场景几何中的错误引起的,并且在训练开始时通过不同的行为引起。我们通过规范从未观察的视点呈现的修补程序的几何和外观来解决这一点,并在训练期间退火光线采样空间。我们还使用规范化的流模型来规范未观察的视点的颜色。我们的车型不仅优于优化单个场景的其他方法,而是在许多情况下,还有条件模型,这些模型在大型多视图数据集上广泛预先培训。

1.7 Neural Deformable Voxel Grid for Fast Optimization of Dynamic View Synthesis

神经辐射场(NERF)正在彻底改变新型视图合成(NVS)的卓越性能。但是,NERF及其变体通常需要进行冗长的每场训练程序,其中将多层感知器(MLP)拟合到捕获的图像中。为了解决挑战,已经提出了体素网格表示,以显着加快训练的速度。但是,这些现有方法只能处理静态场景。如何开发有效,准确的动态视图合成方法仍然是一个开放的问题。将静态场景的方法扩展到动态场景并不简单,因为场景几何形状和外观随时间变化。在本文中,基于素素网格优化的最新进展,我们提出了一种快速变形的辐射场方法来处理动态场景。我们的方法由两个模块组成。第一个模块采用变形网格来存储3D动态功能,以及使用插值功能将观测空间中的3D点映射到规范空间的变形的轻巧MLP。第二个模块包含密度和颜色网格,以建模场景的几何形状和密度。明确对阻塞进行了建模,以进一步提高渲染质量。实验结果表明,我们的方法仅使用20分钟的训练就可以实现与D-NERF相当的性能,该训练比D-NERF快70倍以上,这清楚地证明了我们提出的方法的效率。

2. NICE-SLAM具体贡献

NICE-SLAM是一个密集的SLAM系统,通过引入分层的场景表示,纳入了多层次的本地信息。用预先训练好的几何先验来优化这个表示,可以在大的室内场景中进行详细的重建。与最近的神经隐含SLAM系统相比,我们的方法更具可扩展性、效率和鲁棒性。

  1. 我们提出了NICE-SLAM,一个密集的RGB-D SLAM系统,它具有实时性、可扩展性、预测性和对各种挑战性场景的鲁棒性。

  2. NICE-SLAM的核心是一个分层的、基于网格的神经隐式编码。与全局神经场景编码相比,这种表示法允许局部更新,这是大规模方法的一个先决条件。

  3. 我们在各种数据集上进行了广泛的评估,证明了在映射和跟踪方面具有竞争力的性能。

3. 整体框架

文章在图2中提供了我们的方法的概述。我们使用四个特征网格和相应的解码器来表示场景几何和外观(3.1节)。我们使用估计的相机校准跟踪每个像素的观察光线。通过沿着观察光线对点进行采样并查询网络,我们可以渲染这条光线的深度和颜色值(3.2节)。通过最小化深度和颜色的重新渲染损失,我们能够在交替的方式中优化相机姿态和场景几何(3.3节),以便选择关键帧(3.4节)。

4. 层次化的场景表示

我们现在介绍了我们的分层场景表示,它结合了多级网格特征和预训练的解码器来预测占用。几何形状被编码到三个特征网格ϕ^l_θ和它们相应的MLP解码器f^l 中,其中l∈ {0,1,2}指粗略、中等和细致的场景细节。另外,我们还有一个单独的特征网格ψ_ω和解码器g_ω来模拟场景外观。这里θω表示几何和颜色的可优化参数,即网格中的特征和颜色解码器中的权重。

4.1 中级和细级场景几何表示

在中级和细级场景几何表示中,观察到的场景几何用中级和细级特征网格表示。在重建过程中,我们使用这两个网格采用粗到细的方法,其中几何先由中级特征网格优化重建,然后用细级网格进行细化。在实现中,我们使用体素网格,其侧长为32厘米和16厘米,除了TUM RGBD [46],我们使用16厘米和8厘米。对于中级特征网格,使用相关的MLP f^1将特征直接解码为占有率值。对于任意点p∈\mathbb{R}^3,我们得到占用值为

在上面的公式中,ϕ^1_θ(p)表示在点p处三线性插值的特征网格。相对较低的分辨率允许我们有效地优化网格特征以适应观察。为了捕捉场景几何中的较小的高频细节,我们以残差的方式加入细级特征。细级特征解码器将相应的中级特征和细级特征作为输入,并输出中级占用率的偏移量。

点的最终占用率是

需要注意的是,我们固定预先训练好的解码器f^1f^2,在整个优化过程中只优化特征网格ϕ^1_θϕ^2_θ。我们证明这有助于稳定优化并学习一致的几何形状。

4.2 粗粒度层次

在粗粒度层次中,我们使用一个特征网格来捕捉场景的高级几何特征(例如墙壁、地板等),并且与中级和细级层次独立进行优化。粗网格的目的是能够预测观察几何体以外的近似占用值(在中/细级层次中编码),即使每个粗体素只被部分观察到。因此,我们在实现中使用了非常低的分辨率,边长为2米。与中级网格类似,我们通过插值特征并通过MLP f^0直接解码成占用值,即:

在跟踪过程中,粗略层次的占用值仅用于预测以前未观察到的场景部分。这种预测出的几何形状允许我们在当前图像的大部分部分之前未见过的情况下进行跟踪。

4.3 预训练特征解码器

我们的框架中使用了三个不同的固定 MLP 来解码网格特征成为占据值。粗糙和中级级别的解码器是作为 ConvONet [38] 的一部分预先训练的,其包括 CNN 编码器和 MLP 解码器。我们使用二元交叉熵损失在预测值和地面真值之间训练编码器/解码器,与 [38] 中相同。训练后,我们只使用解码器 MLP,因为我们将直接优化特征以适应观察结果。这样,预先训练的解码器可以利用从训练集中学习的分辨率特定先验,在解码我们优化的特征时,同样的策略用于预训练细级别解码器。除了在输入到解码器之前,我们只是将中层的特征ϕ^1_θ (p)与细层的特征ϕ^2_θ(p)连接起来进行输入,其余的都需要考虑粗粒度信息。

4.4 色彩表示

我们主要关注场景几何,但我们还编码了颜色信息,允许我们呈现RGB图像,为跟踪提供额外的信号。 为了在场景中编码颜色,我们应用另一个特征网格ψ_ω和解码器g_ω

其中ω表示优化期间的可学习参数。 与具有强烈先验知识的几何不同,我们凭经验发现,联合优化颜色特征ψ_ω和解码器g_ω可以提高跟踪性能。注意,与iMAP [47]类似,这可能会导致遗忘问题,并且颜色只是局部一致的。如果我们想要可视化整个场景的颜色,可以作为后处理步骤全局优化。

4.5 网络设计

对于所有 MLP 解码器,我们使用 32 维隐藏特征维度和 5 个完全连接的块。除了粗粒度几何表示之外,我们在 MLP 解码器的输入之前对 p 应用可学习的高斯位置编码 [47,50],这样可以发现几何和外貌的高频细节。

5. 深度和色彩渲染

受NeRF中体积渲染的最新成功启发,我们提出使用可微渲染过程,该过程将第3.1节中的预测占用率和颜色整合到场景表示中。

给定相机内参数和当前相机姿态,我们可以计算像素坐标的观察方向r。我们首先对这条射线进行分层采样,采样 N_{strat} 个点,并在深度附近均匀采样 N_{imp} 个点。总共我们对每条射线采样 N = N_{strat} + N_{imp} 个点。更正式地说,设 p_i = o + d_ir,i ∈ {1, · · · , N} 表示在相机原点 o 和方向 dir 上的采样点,d_i 对应于沿这条射线的深度值。对于每个点 p_i ,我们可以使用公式(4),(3)和(5)计算它们的粗级占用概率 o^0_{p_i} ,细级占用概率 o_{p_i} 和颜色值 c_{p_i}。与[35]类似,我们将射线终止概率在点 p_i 处建模为 w_{c_i} = o^0_{p_i}\Pi^{i−1}_{j=1}(1−o^0_{p_i}),用于粗级,w_{f_i} = o_{p_i}\Pi^{i−1}_{j=1}(1−o_{p_j})用于细级。

最后,对于每条射线,在粗和细两个层面的深度级别的深度,以及颜色可以被呈现为。

此外,我们还计算了沿射线的深度差异值

6. 建图和跟踪

在这一部分中,我们将详细介绍我们分层场景表示中几何和外貌参数θω以及相机姿态的优化。

6.1 建图

为了优化第3.1节中提到的场景表示,我们从当前帧和选定的关键帧中均匀采样总共M个像素。接下来,我们采用分阶段的方式来最小化几何和光度损失。几何损失只是粗略或精细层次上观测值和预测深度之间的L_1损失:

对于M个采样像素,光度损失也是渲染和观察颜色值之间的L_1损失:

在第一阶段,我们只优化中级特征网格ϕ^1_θ,使用几何损失L^f_g。接下来,我们共同优化中级和精细级ϕ^1_θϕ^2_θ特征与相同的精细级深度损失L^f_g。最后,我们进行局部束调整(BA),共同优化所有层级的特征网格,颜色解码器以及K个选定关键帧的相机外部参数{R_i,t_i}

在这里,λp是损失加权因子。这种多阶段优化方案导致更好的收敛,因为更高分辨率的外观和精细级别的特征可以依赖于来自中级特征网格的已经细化的几何形状。请注意,我们在三个线程中并行化我们的系统以加快优化过程:一个线程用于粗级映射,一个用于中级和精细级几何和颜色优化,另一个用于相机跟踪。

6.2 相机跟踪

除了优化场景表示外,我们还平行运行摄像机跟踪,以优化当前帧的摄像机姿势,即旋转和平移{R,t}。为此,我们对当前帧中的M_t像素进行采样,并应用上面相同的光度损失,但使用一个修改过的几何损失:

修改后的损失在重建的几何形状中减少了某些区域的权重,例如物体的边缘。摄像机跟踪最终被表述为以下最小化问题:

粗略的特征网格能够对场景几何进行短程预测。这种推断出的几何图形在相机移动到先前未被观察到的区域时提供了有意义的信号。这使其对突然帧丢失或快速相机移动更加稳健。

6.4 动态场景鲁棒性

为了使优化对动态对象更加稳健,我们过滤深度/颜色重新渲染损失较大的像素。具体来说,我们会删除公式(12)中损失值大于当前帧所有像素中中位数损失值10倍的任何像素。图6显示了一个动态对象被忽略的示例,因为它不存在于渲染的RGB和深度图像中。请注意,对于这个任务,我们只在映射过程中优化场景表示。在动态环境下共同优化相机参数和场景表示是非常困难的,这是一个有趣的未来方向。

7. 关键帧选择

我们用一组选定的关键帧不断优化我们的分层场景表示。我们按照iMAP的方法维护一个全局关键帧列表,我们根据信息增益逐步添加新的关键帧。然而,与iMAP相比,我们在优化场景几何时只包括与当前帧有视觉重叠的关键帧。这是可能的,因为我们能够对我们的基于网格的表示进行局部更新,而且我们不会像iMap那样存在关键帧消失的问题。这种关键帧选择策略不仅确保了当前视图之外的几何形状保持静态,而且还导致了一个非常有效的优化问题,因为我们每次只优化必要的参数。在实践中,我们首先随机地对像素进行采样,并使用优化后的相机姿势对相应的深度进行反投影。然后,我们将点云投影到全局关键帧列表中的每个关键帧。从这些有点投射到的关键帧中,我们随机选择K-2帧。此外,我们还将最近的关键帧和当前的帧包括在场景表示优化中,形成总共K个活动帧。

8. 参考链接

https://zhuanlan.zhihu.com/p/512538748

https://mp.weixin.qq.com/s/I6OHrB7SV0dOljiR3ez6vw

http://aixpaper.com/similar/hdrnerf_high_dynamic_range_neural_radiance_fields

https://blog.csdn.net/g11d111/article/details/118959540

https://mp.weixin.qq.com/s?__biz=MzI5MTM1MTQwMw