NGEL-SLAM:浙大、华为最新SOTA!又快又稳!
作者:大森林 | 来源:3D视觉工坊
在公众号「3D视觉工坊」后台,回复「原论文」可获取论文pdf链接
添加微信:dddvisiona,备注:SLAM,拉你入群。文末附行业细分群
1. 笔者总结
神经隐式表示已经成为提供密集几何信息的同时定位与地图构建(SLAM)的一种有前途的解决方案。然而,现有的这方面的方法在全局一致性和低延迟方面存在不足。本文提出了NGEL-SLAM来解决上述挑战。为了保证全局一致性,我们的系统利用了一个传统的基于特征的定位模块,其中包含了闭环检测。此外,我们通过使用多个神经隐式场来表示场景,维护了一个全局一致的地图,从而能够快速地调整闭环。而且,我们的系统通过使用基于八叉树的隐式表示,实现了快速的收敛。快速响应闭环和快速收敛的结合,使得我们的系统成为一个真正的低延迟的系统,实现了全局一致性。我们的系统能够渲染高保真的RGB-D图像,以及提取密集和完整的表面。在合成和真实世界的数据集上的实验表明,我们的系统在保持低延迟的同时,实现了最先进的定位和地图构建的精度。这里也推荐工坊推出的新课程《深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战》。
2. 灵感来源
稠密视觉同步定位与制图(SLAM)是机器人技术和计算机视觉中的一个基础和具有挑战性的问题。它涉及在定位代理位置的同时更新一个未知环境的地图。在增强现实/虚拟现实和机器人等交互应用中,一个SLAM系统不仅要具有精确的定位和制图能力,还必须具有全局一致性以确保鲁棒性和低延迟以获得最佳响应。
传统的SLAM系统,如ORB-SLAM,展现出低延迟,高精度定位,并采用环路检测来确保全局一致性。然而,这些系统仅限于构建稀疏的点地图,缺乏稠密的几何和纹理信息。最近神经隐式表示的进展使得准确稠密的3D表面重建成为可能。因此,几个基于神经隐式表示的SLAM系统被提出。作为这方向的先驱工作,iMAP和NICE-SLAM通过神经表示实现了定位和制图,产生了高保真的场景重建。然而,基于神经表示的定位缺乏对环路闭合的支持,导致在大场景中由于缺乏全局一致性而性能不佳,如图1所示。即使环路闭合被集成到他们的系统中,例如通过用传统SLAM系统替换定位,针对更新后的姿态重新训练整个地图需要大量时间。此外,他们制图网络的慢速收敛进一步阻碍了满足低延迟要求。
为解决这些挑战,我们提出了NGEL-SLAM。NGEL-SLAM将传统SLAM系统ORB-SLAM3的定位精度与神经隐式表示提取稠密网格和生成高保真图像的能力相结合。传统基于特征的定位模块使我们轻松地合并环路闭合,以使定位具有全局一致性。当检测到一个环路时,我们的制图模块立即通过表示场景为多个神经隐式子图来更新地图,避免了针对环路闭合重新训练整个场景地图,但通过简单地更新子图的相对姿态来修正大多数错误。我们进一步根据更新后的姿态有选择地微调每个子图。制图模块每14毫秒更新一次地图,并在几次迭代中收敛,这要归功于八叉树基础的子图表示,见图1。快速收敛和对环路闭合的快速响应使我们的系统成为真正低延迟的系统,实现全局一致性。在推理期间,我们引入基于不确定性的方法来选择在给定视点渲染图像的最佳子图。我们在各种真实和合成数据集上评估了我们的方法,证明了其稳健性和准确性。

图1:渲染和定位结果的对比。与NICE-SLAM相比,我们的方法能够渲染出更高保真的图像,并提供更精确的相机定位结果。此外,我们的方法能够快速收敛,并在环路闭合后实现低延迟的地图更新,使其比NICE-SLAM快10倍。图中黑色曲线表示真实相机轨迹,红色曲线表示估计的轨迹。
3. 系统构建

图2:系统概述。我们提出的系统由定位模块和制图模块组成。它可以进一步分为三个过程:定位、动态局部制图和环路闭合。这三个过程协同工作以确保我们系统的全局一致性和低延迟。定位过程以RGB-D流为输入,实时估计相机姿态。如果一帧被选为关键帧,则被传递到动态局部制图过程。在这个过程中,定位模块执行局部BA,而制图模块训练相应的局部地图。检测到环路时,环路闭合过程使用全局BA优化相机姿态,并更新场景表示。所有过程并行执行。
图2提供了我们系统的概述。在本节中,我们从以下几个方面介绍我们的系统:定位和制图模块,动态局部制图,环路闭合和基于不确定性的图像渲染。
A. 定位和制图模块
我们的系统通过利用两个模块来从RGB-D视频输入同时估计精确的相机姿态和3D场景几何与表观:定位和制图。定位模块基于ORB-SLAM3,一个出色的传统SLAM系统,制图模块使用多个隐式神经图表示场景。
系统包含三个过程:定位,动态局部制图和环路闭合。在定位过程中,定位过程估计相机姿态[R|t]并确定输入帧I是否为关键帧。每个关键帧将被馈送到动态局部制图过程,其中定位模块执行局部BA,制图模块在映射模块中选择适当的局部地图进行训练。在检测到环路闭合时,环路闭合过程开始,此时定位模块使用全局捆绑调整优化所有关键帧姿态,制图模块通过调整子图快速响应定位姿态的显著变化,随后进行地图微调。所有三个过程并行执行。快速训练和对环路闭合的快速响应使我们的系统满足低延迟要求。注意,我们将低延迟定义为在接收到RGB-D流中新关键帧之前,将关键帧的大多数信息整合到地图中的能力,无论是否检测到环路闭合。
B. 动态局部制图
当一帧被决定为关键帧时,定位模块使用局部BA优化相关的关键帧,并将姿态和新关键帧提供给制图模块。制图模块首先执行局部地图选择,其中它通过评估可视关系确定新关键帧是否属于现有的局部地图。这可防止在环路闭合后制图模块生成冗余的局部地图。如果关键帧不属于任何现有的局部地图,则初始化一个新的局部地图,并相对于当前关键帧(称为锚帧)进行定位。确定局部地图后,制图模块使用局部BA中优化姿态的关键帧训练局部地图。地图每14毫秒更新一次,确保满足低延迟要求。
C. 环路闭合
为确保全局一致性和纠正累积错误,我们的系统中采用了环路检测。检测到环路闭合时,定位模块执行全局BA。然而,全局BA会立即改变之前预测的相机姿态,这通常称为轨迹跳变。在我们的系统中,我们用多个局部地图表示整个场景。当完成全局BA时,场景表示从粗到细进行两阶段优化。在第一阶段,制图模块执行子图调整,通过使用锚关键帧的姿态来转换地图,从而更新场景表示。在第二阶段,制图模块微调之前的局部地图以纠正错误。第一阶段是实时调整,可纠正局部地图之间的错误。我们的实验结果表明,这一阶段有效纠正了场景表示中的大部分错误。第二阶段涉及一个准实时优化,可消除局部地图中的小错误,进一步提高场景表示的准确性。
D. 基于不确定性的图像渲染
由于我们的系统包含多个子图,在从给定视点渲染图像时有两种情况需要考虑。第一种情况是视锥体与子图完全相交,允许我们使用特定的子图渲染图像。第二种情况是视锥体位于不同子图的边界上,使单个子图无法生成完整的图像。在这种情况下,我们根据最小不确定性对图像进行基于像素的融合。
4. 地图表示与训练
A. 基于八叉树的隐式神经表示
已经证明基于体素网格的NeRF体系结构,能够快速收敛。然而,由于大多数空间都是未被占用的,这些方法中使用的稠密网格结构会浪费内存。为解决这个问题,我们通过参考NGLOD使用了一个稀疏的基于八叉树的网格。八叉树仅在空间被占用的地方增长,因此内存高效。多级特征向量,表示为z,存储在八叉树的节点上。如图3所示,当查询点p时,通过三线性插值获得p在第i级的特征。然后,类似NGLOD,我们对不同活动级别(即存储特征的级别)的特征求和,以获得点p的特征。此外,我们已将八叉树修改为增量范式,其中维护一个Morton代码表以提供添加到八叉树的新点的位置。

图3:制图网络。制图网络采用稀疏的八叉树结构存储多级特征,以及两个独立的MLP。
在我们的方法中,我们采用了两个小的MLP解码器,一个用于occupancy,另一个用于color。为了计算给定空间点的occupancy 和color ,我们使用以下等式:

其中,是点p的特征向量,和分别是occupancy和color解码器,是sigmoid函数。
B. 体绘制
为了优化IV-A节中的场景表示框架,我们使用NeRF中提出的可区分的体绘制。给定相机内参数和当前相机姿态,我们从相机中心o沿法线视方向v射出射线r。
深度和颜色:我们沿射线r采样N个点,表示为,其中是点的深度,且,,。这些点的预测occupancy值和color值分别表示为和。对于给定的射线r,我们可以计算深度和颜色:

其中,,对应点i沿射线r的透射率和alpha值。
基于voxel的采样:为了充分利用八叉树结构,我们采用基于voxel的采样策略。给定射线r,我们查询它相交的voxel,并在这些voxel内沿射线采样点。由于八叉树仅在点被占用的地方生长,因此采样点要么接近物体表面,要么在物体内部。我们每voxel采样个点。因此,对于相交个voxel的射线r,我们沿射线采样个点。
优化:为了优化IV-A节的场景表示特征和解码器,我们在当前帧中均匀选择M个像素,并使用照度损失和几何损失训练场景表示。照度损失是渲染和真值彩色图像之间的均方误差损失,而几何损失是渲染和真值深度之间的L1损失。具体来说,我们将损失定义为:

我们通过最小化损失函数联合优化特征z和解码器参数:

其中,是照度损失的权重。
不确定性:由于occupancy遵循伯努利分布,点p的occupancy值表示点被占用的概率,其方差可以计算为。然后可以将射线的occupancy方差渲染为:

为考虑未观察区域的更高不确定性,我们将这些区域的方差设置为0.25。这里也推荐工坊推出的新课程《深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战》。
5. 实验结果

表1:在Replica数据集上制图的定量比较。数据是从8个场景中取得的平均值。GT pose和Est pose分别表示使用真实姿态和估计姿态进行渲染。

表2:在TUM RGB-D数据集上定位的定量比较。使用指标ATE-RMSE [cm]。

表3:在ScanNet数据集上定位的定量比较。使用指标ATE-RMSE [cm]。

图4:在Replica数据集上的渲染结果。

图5:在ScanNet数据集上的渲染结果。

表4:运行时间与内存使用的消融研究。制图时间指一次单独迭代的耗时。

表5:地图微调(FT)的消融研究。

图6:4幅图像的不确定性与深度L1、PSNR之间的关系。我们将深度L1和PSNR归一化到[0,1]区间,根据它们的最差值和最优值进行缩放,以便于可视化。

图7:子图调整和地图微调的消融研究。LC指环路闭合,FT指地图微调。

图8:局部地图选择的消融研究。
6. 结论
本文提出了一种基于神经隐式表示的全局一致的SLAM系统NGEL-SLAM,用于室内场景的重建和定位。我们的方法结合了传统的基于特征的定位模块和神经隐式场景表示模块,能够生成高精度的网格模型,同时定位准确的相机姿态。与其他神经隐式SLAM系统相比,我们的方法通过利用环路闭合和多个神经隐式子图,保证了全局一致性和低延迟,更适合实际应用的需求。