以下文章来源于CVHub ,作者派派星
Title: NICER-SLAM: Neural Implicit Scene Encoding for RGB SLAM
Paper: https://arxiv.org/pdf/2302.03594v1.pdf
导读
3D Dense Reconstruction and Rendering from Different SLAM Systems
隐式神经表示近年来在SLAM中流行起来,特别是在密集视觉SLAM中。然而,之前在这个方向上的工作要么依赖于RGB-D传感器,要么需要一个单独的单目SLAM方法来跟踪相机,并且不产生高保真的密集3D场景重建。在本文中,作者提出了NICER-SLAM,一个同时优化相机姿态和分层隐式神经地图表示的密集RGB SLAM系统,同时也支持高质量的新视图合成。
为了便于建图的优化过程,论文集成了额外的监督信号,包括容易获得的单目几何信息和光流,并引入了一个简单的warp损失(重投影损失),以进一步加强几何一致性。此外,为了进一步提高复杂室内场景中的性能,论文还提出了一种使用density来替代有向距离场SDF的局部自适应变换。在合成数据集和真实数据集上,论文展示了在dense mapping、tracking和新视图合成方面的强大性能,甚至可以与最近的RGB-D SLAM系统相媲美。
研究背景
SLAM是一个基本的计算机视觉问题,在自动驾驶、机器人技术、混合现实等领域都有广泛的应用。在过去的几年中,许多密集的视觉SLAM方法能够实时产生室内场景的密集重建。然而,这些方法大多依赖于RGB-D传感器,在室外场景或深度传感器不可用时出现问题。此外,对于未观测到的区域,它们很难做出可信的几何估计。在深度学习时代,少数密集的单目SLAM系统只采用RGB序列作为输入,通过单目深度估计网络,在一定程度上填充了未观察到的区域。然而,这些系统通常只适用于相机运动有限的小场景。
随着Nerf相关技术的快速发展,他们在端到端可微的密集视觉SLAM任务中也表现出了强大的表现。iMAP首先展示了密集RGB-D SLAM中的神经隐式表示能力,但它仅限于房间大小的数据集。NICE-SLAM采用分层隐式编码在更大的室内场景中执行mapping和tracking。虽然后续工作试图从不同的角度改进NICE-SLAM和iMAP,但所有这些工作仍然依赖于RGB-D传感器的可靠深度输入。
最近,一些工作试图应用神经隐式表示的RGB-only SLAM。然而,它们的tracking和mapping是相互独立的,因为它们依赖于不同的场景表示:依赖于最先进的视觉里程计方法(DROID-SLAM、ORB-SLAM等)来进行tracking,而只使用Nerf来进行mapping。此外,它们都只输出和评估渲染的深度图和彩色图像,而不会产生密集的场景3D模型。这就提出了一个有趣的研究问题:
与RGB-D SLAM相比,RGB-only SLAM由于多种原因更具有挑战性:
深度模糊:由于相机视角的限制和物体表面的特性,可能会导致一些场景中物体的深度无法准确测量,或者存在多个深度值可以解释相同的图像特征,特别是在可用纹理信息很少的情况下。因此,对于mapping和tracking都需要更强的几何先验。
更难的三维重建:由于深度估计的不确定性,表面的估计结果更加模糊不清,这导致数据结构的更新更加复杂,同时需要增加采样的工作量。
优化收敛性:由于前面提到的挑战,最终的优化问题的约束条件更少,更加复杂,从而导致收敛速度变慢。
为了解决这些挑战,论文引入了NICER-SLAM,这是一种基于隐式表达的密集RGB SLAM系统,它可以通过端到端来优化mapping和tracking,并且能够学习精确的场景表示,用于新的视图合成。主要想法如下:
首先,对于场景几何和颜色,论文提出了coarse-to-fine的层次特征网格来建模有符号距离函数(SDFs),以生成详细的三维重建和高保真度的渲染效果。
其次,为了仅使用RGB输入来优化神经隐式地图表示,作者整合了易于获取的单目几何线索和光流等额外信号进行监督,并引入了简单的变形损失,进一步加强了几何一致性。这些额外的信号和正则化有助于显著消除优化过程中的歧义,从而使框架能够准确和稳健地处理仅有RGB输入的情况。
第三,为了更好地适应室内场景的连续输入,作者提出了一种从SDF到density的局部自适应变换。
贡献
论文提出了NICER-SLAM,这是第一个密集的RGB-only SLAM,可端到端地优化mapping和tracking,也允许高质量的新视图合成。
论文引入了一种层次化神经隐式编码的SDF表示,不同的几何和运动正则化,以及一个局部自适应的SDF到体素密度变换。
论文在合成数据集和真实数据集上展示了在mapping、tracking和新视图合成方面的强大性能,甚至与最近的RGBD SLAM方法相媲美。
方法
System Overview
上图提供了NICER-SLAM pipeline的概述。给定一个RGB视频作为输入,同时估计精确的三维场景几何形状和颜色,以及通过端到端优化的相机tracking。论文使用层次神经隐式表示场景,使用类似Nerf的可微分体素渲染,通过渲染每个像素的颜色、深度和法向量,用于相机姿态、场景几何形状和颜色的端到端优化。
Hierarchical Neural Implicit Representations
论文首先介绍了可优化的层次化场景表示,它将多层次网格特征与MLP解码器用于SDF和颜色预测。
Coarse-level Geometric Representation.
coarse-level几何表示的目标是高效地建模粗场景几何(不捕捉几何细节的对象)和场景布局(如墙壁、地板),以提高计算效率和降低计算复杂度。具体而言,NICER-SLAM使用了一个粗略的signed distance function(SDF)网格来表示场景的几何形状,其中SDF表示每个点到场景几何表面的距离。通过这种方式,可以在处理复杂场景时降低计算量,从而实现更快速的算法和更高效的计算。
具体来说,论文用一个分辨率为32×32×32的密集体素网格来表示归一化场景,并在每个体素中保留一个32维的特征。对于空间中的任何点,论文使用一个小的MLP 和一个64维的隐藏层来获得其基础SDF值和几何特征:
其中
γ
对应一个固定的位置编码,将坐标映射到更高维。论文将位置编码的级别设置为6。表示在点x处三线性插值的特征网格。
Fine-level Geometric Representation
在Coarse-level Geometric Representation的基础上,Fine-level Geometric Representation更准确地重建和表示场景的细节部分,从而实现更高精度和更真实的三维场景重建和SLAM。为了实现这一点,论文进一步用多分辨率特征网格和一个MLP解码器将高频几何细节建模为残差SDF值。具体来说,论文采用了多分辨率的密集特征网格,分辨率为。中间分辨率的密集网格是通过不同分辨率采样得到:
其中,、分别对应最低和最高分辨率。这里论文考虑了 = 32, = 128,总的L = 8。每个级别的特征维度为4。
现在,为了对点x的残差SDF值进行建模,论文concat每个分辨率层的三线性插值后x点的特征,并将它们输入到一个MLP 中
其中是点x在精细水平上的几何特征。
最终预测的SDF为coarse-level的基础SDF和fine-level的残差SDF组成:
Color Representation
NICER-SLAM还使用了一种特征提取方法来对场景中的颜色信息进行编码和表示,这种方法可以从多个尺度上提取场景中的颜色特征,并将其编码为一组特征向量。这些特征向量可以用来表示场景中的颜色信息,并与场景的几何形状信息进行联合优化mapping和tracking。
具体来说,使用另一个多分辨率特征网格和一个参数化的颜色解码器对颜色进行编码。最小和最大分辨率现在分别变为 = 16, = 2048。预测的每个点的颜色值为:
其中对应x点的法线,
γ
是视角方向,位置编码的级别为4。
Volume Rendering
在上一节基础上,论文继续使用可微分的体素渲染,优化场景表示。具体来说,为了渲染一个像素,需要从相机中心其归一化视图方向投射一条射线通过像素。然后沿着射线采样N个点,记为,其预测的SDFs和颜色值分别为和。对于体素渲染,论文遵循以下公式将SDFs 转换为 density
σ
:
其中,
β
是一个控制从SDF到density的转换参数。当前射线r的颜色计算为:
其中,和
α
分别对应样本点沿射线的透射率和alpha值,
δ
为相邻样本点之间的距离。同样地,也可以计算与当前射线相交的表面的深度和法线为:
Locally Adaptive Transformation
上式中的
β
参数对对象表面附近的平滑量进行建模。在优化过程中,随着网络对目标表面的确定,β值逐渐减小。因此,该优化方案可以更快和更清晰地重建。
在VolSDF中,他们将β建模为一个单一的全局参数。这种建模转换的方法本质上假设在场景的不同区域之间的优化程度是相同的,这对于小的对象级场景就足够了。然而,对于一个复杂的室内场景中,一个全局可优化的β是并不是最优的。因此,论文建议在局部分配β值,从而在等式中进行SDF-density变换也是局部适应性的。
具体来说,论文在整个场景中维护一个体素计数器,并在映射过程中计算每个体素中的点样本的数量。论文根据经验选择了体素规模为,启发式地设计了一个从局部点样本计数到
β
值的转换:
End-to-End Joint Mapping and Tracking
纯粹从RGB序列输入,由于高度的模糊性,联合优化三维场景几何和颜色是非常困难的,特别是对于具有许多无纹理和稀疏覆盖区域的大型复杂场景。因此,为了在隐式神经场表示下实现端到端mapping和tracking联合优化,论文使用以下损失函数,包括几何约束和先验约束、单视图约束和多视图约束,以及全局约束和局部约束。
RGB Rendering Loss.
简单的RGB重建损失来优化场景表示:
其中,为每次迭代中随机采样的像素/射线,为输入的像素颜色值
RGB Warping Loss.
为了进一步加强仅从颜色输入的几何一致性,论文还添加了一个简单的逐像素warping损失(自监督单目深度估计中的基操...)。
对于第帧中的一个像素,记为,论文首先渲染其深度值并将其解投影到3D空间中,然后利用第帧相机的内参和外参将其投影到第帧上。投影到临近的关键帧n的投影像素表示为。根据不同帧空间中位置的投影的颜色理论上应该一致,warping损失被定义为:
其中,表示当前帧的关键帧列表,不包括帧本身。论文mask了投影在第帧的图像边界之外的像素。请注意,不同于通过patch warping来优化神经隐式表面,简单地在随机采样的像素上执行warp的效率更高,而且不会导致性能下降。
Optical Flow Loss.
RGB渲染损失和warping损失都是容易产生局部最小值的逐点项。因此,论文增加了一个基于光流估计的损失,它遵守区域平滑先验,并有助于解决歧义。假设帧中的样本像素为,帧中相应的投影像素为,论文添加一个光流损失如下:
其中GM()表示GMFlow估计的光流,关于GMFlow,详见之前的公众号文章:
一网打尽!光流估计/立体匹配/深度估计大一统!Unimatch:场景理解新范式!
Monocular Depth Loss.
给定RGB输入,人们可以通过一个现成的单目预测器很容易地获得几何线索(如深度或法线)。论文也将这些信息纳入到优化过程中,以指导神经隐式表面重建。更具体地说,为了加强渲染的预期深度和单目深度之间的深度一致性,论文使用了以下损失:
其中,,是用于对齐和的尺度和位移,因为尺度未知。用最小二乘求解每幅图像的和,它有一个封闭形式的解。
Monocular Normal Loss.
另一个与单目深度互补的几何线索是表面法向量。与为当前视图提供全局表面信息的单目深度不同,表面法线是局部的,并捕获更多的几何细节。对volume-rendered的法线和单目法线施加一致性约束(L1损失):
Eikonal Loss.
此外,论文添加了Eikonal loss来正则化输出SDF值:
其中,是一组均匀采样的近表面点。
Optimization Scheme.
最后,论文提供了如何以层次表示的形式优化场景几何和外观的细节,以及相机姿态
Mapping: 为了优化场景表示。从当前帧和选定的关键帧中统一采样M个像素/射线。接下来,执行一个3阶段优化,使用以下损失:
第一阶段,在等式中处理粗级基础SDF值作为最终的SDF值,然后优化粗特征网格,粗MLP参数和粗颜色MLP参数
接下来,在完成了25%的总迭代次数之后,论文将开始使用等式(4)作为最终的SDF值,精细特征网格和精细MLP 也共同优化
最后,经过75%的总迭代次数后,论文使用上式进行局部BA,还包括了颜色特征网格的优化以及K个所选择的映射帧的外参优化。
Camera Tracking:论文运行并行摄像机跟踪,以优化当前帧的摄像机姿态(旋转和平移),同时保持分层场景表示的固定。
实验
Evaluation on Replica
表1 Reconstruction Results on the Replica dataset.
3D Reconstruction Results on the Replica Dataset
表2 Camera Tracking Results on the Replica Dataset
首先,对于场景几何的评估,如表1所示,论文的方法显著优于rgb-only的baseline,如DROID-SLAM和COLMAP,甚至与RGB-D SLAM和Vox-Fusion方法相比也具有竞争力的性能。此外,由于使用了单目深度和法向量线索,如上图中显示,论文的重建可以很好地恢复几何细节,并获得所有方法中最具视觉吸引力的结果。对于相机tracking,可以在表2中清楚地看到,最先进的方法DROID-SLAM方法优于所有的方法,包括那些RGB-D SLAM系统。然而,本文的方法仍然与NICE-SLAM相当(平均1.88厘米 vs 1.95厘米),而没有使用ground truth深度作为额外的输入。
表3 Novel View Synthesis Evaluation on Replica dataset
Novel View Synthesis Results on the Replica the Dataset
值得注意的是,即使论文方法在tracking中的相机姿态不够精确,但是在新视图合成的结果明显优于所有方法,包括那些使用额外深度输入的方法,见表3和上图。一方面,使用COLMAP和DROID-SLAM等传统表示的方法在三维重建中存在缺失区域的渲染,它们的渲染往往有噪声。另一方面,基于神经隐式的方法,如NICE-SLAM和Vox-Fusion,可以填补这些缺失的区域,但它们的渲染通常过于平滑。论文可以忠实地呈现高保真的新视图,即使这些视图远离训练视图。这说明了不同的损失在消除复杂场景表示的优化的歧义方面的有效性。
Evaluation on 7-Scenes
3D Reconstruction Results on the 7-Scenes Dataset
表4 Camera Tracking Results on the 7-Scenes Dataset
论文还评估了具有挑战性的真实数据集7-场景。从上图可以看到NICER-SLAM在所有baseline上产生更清晰和更详细的几何图形。在tracking方面,从表4中可以看出,使用RGB-D输入的baseline总体上优于RGB-only方法,这表明额外的深度输入在跟踪方面起着至关重要的作用,特别是在RGB图像不完美的情况下。在仅使用RGB的方法中,COLMAP和DROID-SLAM(没有全局BA)在南瓜场景(pumpkin)中表现很差,因为它在RGB序列中包含了很大的无文本和反射区域。由于预测的单目几何先验,NICER-SLAM对这类问题更鲁棒。
消融实验
表5 Ablation Study
Ablation Study on SDF vs. Occupancy
论文研究了不同损失的有效性,分层结构,SDF-density转换,以及SDF和occupancy之间的比较,结果如上图所示,得到以下结论:
表5(a)表示,在没有单目深度或法向量损失的情况下,mapping和tracking精度都显著下降,这表明这些单目几何线索对于消除优化过程的消除歧义是重要的。
表5(b)表示,删除多分辨率的颜色特征网格后导致了所有指标上的大幅性能下降,这显示了具有针对颜色的多分辨率特征网格的必要性。
表5(b)表示,删除粗特征网格,只使用细级别的特征网格来表示SDF,也导致了较差的性能,特别是在完整性/完整性比方面,这表明粗特征网格确实可以帮助更好地学习几何图形。
表5(c)表示,在局部自适应变换和所选择的体素大小下,论文的方法能够获得更好的场景几何和摄像机。
在上图中,与给定的GT姿态比较重建结果,可以清楚地看到使用SDF比Occupancy得到更精确的几何形状。
总结
本文提出了NICER-SLAM,一种新的密集RGB SLAM系统,它端到端优化的神经隐式映射表示和摄像机姿态。实验表明,利用容易获得的单目线索,如深度、法线和光流等作为额外监督,可以使NICER-SLAM的系统能够重建高保真的三维高密度地图,并在大型室内场景中准确和稳健地学习高质量的场景颜色。NICER-SLAM在dense mapping、tracking和新视图合成方面的强大性能,甚至可以与最近的RGB-D SLAM系统相媲美!
转自:“arXiv每日学术速递”微信公众号
如有侵权,请联系本站删除!