【3dgs】总结3DGS与NeRF如何重塑SLAM!
- 1. 摘要
- 2. 简洁
- 3. 背景
- 3.1 Existing SLAM Surveys
- 3.2 progress in Radiance Field Theory
- 3.3.1 NeRF
- 3.3.2 3dgs
- 3.4 数据集
- 4 数据集
- 4.1 SLAM
- 3.1 RGB-D SLAM方法
- 3.1.1 基于NeRF风格的RGB-D SLAM
- 3.1.2 基于3DGS风格的 RGB-D SLAM
- 3.1.3 基于子图的SLAM(Submaps)
- 3.1.4 Semantic RGB-D SLAM
- 3.1.5 SLAM in Dynamic Environments
- 3.1.6 Uncertainty Estimation
- 3.1.7 Event-based SLAM
- 3.2 RGB-based SLAM Methodologies
- 3.2.1 NeRF-style RGB SLAM
- 3.2.2 Aided Supervision
- 3.2.3 Semantic RGB SLAM
- 3.2.4 Uncertainty Estimation
- 3.3 LiDAR-Based SLAM Strategies
- 3.3.1 NeRF-style LiDAR-based SLAM
- 3.3.2 3DGS-style LiDAR-based SLAM
- 4 EXPERIMENTS AND ANALYSIS
- 4.1 Visual SLAM Evaluation
paper: How NeRFs and 3D Gaussian Splatting are Reshaping SLAM: a Survey
1. 摘要
SLAM领域的研究经历了重大变革,突显了其在实现未知环境的自主探索方面的关键作用。这种演变范围从手工制作的方法,到深度学习时代,再到最近专注于神经辐射场 (NeRF) 和 3D 高斯溅射 (3DGS) 表示的发展。认识到研究的不断增长以及对该主题缺乏全面调查,本文旨在通过辐射场的最新进展,首次全面概述 SLAM 的进展。它阐明了背景、进化路径、固有优势和局限性,并作为强调动态进展和具体挑战的基本参考。这篇文章对过去三年涌现的58个SLAM系统进行了深入分析,也代表了从手工到深度学习技术的转变。
图 1:时间线 SLAM 演进。该时间线首先展示了从手工制作到深度学习技术的转变,并介绍了两个时代的关键调查。2021 年,一个关键的转变集中在基于辐射场的 SLAM 系统上,由 iMap [1] 标记。图右侧的圆圈代表每年的关键论文,大小表示出版量。2024 年的外圈预示着预计的激增,突显了人们对 NeRF 和 3DGS 启发的 SLAM 日益增长的兴趣。
2. 简洁
Simultaneous Localization and Mapping (SLAM) 是计算机视觉和机器人领域中的一个基本概念。它解决了机器在未知环境中自主导航和逐步构建地图(映射)的同时,确定自身位置和方向(跟踪)的挑战。最初为机器人和自动化系统设计,SLAM的需求已经扩展到包括增强现实(AR)、视觉监控、医疗应用等多个领域。为了满足这些需求,研究人员专注于开发机器自主构建越来越高精度的场景表示方法,这受到了机器人、计算机视觉、传感技术和最近人工智能(AI)进展的融合影响。
通常,SLAM技术依赖于多种传感技术的集成,包括摄像头、激光测距仪器、惯性设备和GPS,以有效地完成手头的任务。最初,由于其高精度,声纳和激光雷达传感器是首选,尽管它们笨重且成本高昂。随后,焦点转向了视觉传感器,如单目/立体或RGB-D摄像头,它们在便携性、成本效益和部署便利性方面具有优势。这些视觉传感器使视觉SLAM(VSLAM)系统能够捕获更详细的环境信息,提高复杂场景中的精确定位,并提供多功能且易于访问的解决方案。
在我们概述理想的SLAM标准时,几个关键方面出现了。这些包括全局一致性、稳健的相机跟踪、准确的表面建模、实时性能、在未观测区域的准确预测、对大型场景的可扩展性以及对噪声数据的鲁棒性。
多年来,SLAM方法论已经显著发展,以满足这些特定要求。起初,手工制作的算法展示了显著的实时性能和可扩展性。然而,它们在强光照、辐射度变化和动态/纹理贫乏的环境中面临挑战,导致性能不佳。因此,采用深度学习方法的先进技术变得至关重要,以提高定位和映射的精度和可靠性。这种集成利用了深度神经网络的鲁棒特征提取能力,这些能力在挑战性条件下特别有效。尽管如此,它们对大量训练数据和准确的地面真实注释的依赖限制了它们对未见场景的泛化能力。此外,手工制作和基于深度学习的方法都遇到了使用离散表面表示(点/surfel云、体素哈希、体素网格、八叉树)的局限性,这导致了稀疏的3D建模、有限的空间分辨率和重建过程中的失真等挑战。此外,在未观测区域准确估计几何形状仍然是一个持续的挑战。
在克服现有障碍的需求推动下,并受到最近神经辐射场(NeRF)和3D高斯Splatting(3DGS)表示在高保真视图合成中的成功,以及引入用于建模几何场的学习表示的影响,一场革命正在重塑SLAM系统。利用当代研究的见解,这些方法比以往方法提供了几个优势, 包括连续表面建模、减少内存需求、改善噪声/异常值处理,以及增强的填充和场景修复能力,用于遮挡或稀疏观测
。此外,它们有潜力产生更密集、更紧凑的地图,这些地图可以以任意分辨率重建为3D网格。然而,重要的是要注意,在这个阶段,每种技术的优势与特定的挑战和局限性并存。因此,该领域正在不断发展,需要持续的研究和创新以取得进一步进展。
为了响应缺乏关注最新发展的SLAM调查以及对研究这一范式的兴趣日益增长,本文对当代辐射场启发的SLAM技术进行了全面的回顾。具体来说,我们深入研究了过去三年中出现的73个SLAM系统,反映了该领域快速发展的步伐。这种演变在图1中得到了说明,它提供了SLAM进展的当前状态的视觉时间线。我们的目标是通过仔细检查和分析这些尖端技术,并突出创新解决方案的快速出现,以改善它们固有的弱点,来填补调查文献中存在的空白。通过详细的探索,我们打算对这些方法进行分类,追踪它们的进展,并提供针对SLAM具体要求量身定制的见解。通过为初学者和专家提供宝贵的资源,我们相信这项调查代表了这一范式未来的一个重大基石。
接下来的部分如下:
• 第2节提供了现有SLAM调查的概述(2.1),深入研究了最近的辐射场体积渲染理论(2.2),介绍了该领域中流行的数据集和基准(2.3),并提出了在此背景下使用的主要质量评估指标(2.4)。
第3节是我们论文的核心,重点关注关键的NeRF和3DGS启发的SLAM技术和我们用于组织这些进展的结构化分类法。
• '第4节提出了在不同场景下评估SLAM框架在跟踪、映射、渲染和性能分析方面的定量结果。
• 第5节和第6节关注局限性、未来研究方向,并全面总结调查。
3. 背景
3.1 Existing SLAM Surveys
SLAM领域已经经历了显著的增长,产生了大量全面的综述论文。在早期阶段,Durrant-Whyte和Bailey引入了SLAM问题的贝叶斯概率性质,并强调了关键方法及其实现。Grisetti等人进一步深入研究了基于图的SLAM问题,强调了其在未知环境中导航的作用。在视觉SLAM领域,Yousif提供了定位和映射技术的概述,包括视觉里程计和SLAM的基本方法和进展。随着多机器人系统的出现,Saeedi和Clark回顾了最先进方法,重点关注多机器人SLAM的挑战和解决方案。Cadena等人全面反思了SLAM的历史、鲁棒性以及新前沿,讨论了其在现实世界应用中的不断增长的重要性。Taketomi等人对2010年至2016年的VSLAM算法进行了分类和总结,基于特征、直接和RGB-D摄像机方法对它们进行分类。Saputra等人针对动态环境中的VSLAM和结构从运动(SfM)的挑战,提出了用于动态对象重建、分割和跟踪的技术分类。Duan等人详细检查了SLAM与深度学习的结合,突出了深度学习方法在视觉SLAM中的进展。在特定传感器的背景下,Zaffar等人讨论了SLAM中使用的传感器,而Yang等人和Zhao等人分别探索了激光雷达和水下SLAM的应用。近年来,基于深度学习的VSLAM受到了广泛关注,并在许多文献中得到了广泛覆盖。特别是,文献[51]深入研究了RGB-D场景重建的最新进展。像[52]这样的调查探讨了SLAM的最新发展,重点关注通过运动规划实现精确映射的主动SLAM策略。尽管已有大量工作描述了涵盖传统和基于深度学习方法的SLAM系统,但对基于最新辐射场进展的SLAM技术前沿的全面探索尚未出现。然而,在我们感兴趣的现有文献中,特别是在像[53]这样的有影响力的作品中,出现了两种主要的SLAM策略:帧对帧和帧对模型跟踪方法,这些方法正在影响基于辐射场的新方法的发展。通常,前者用于实时系统,通常涉及通过回环闭合(LC)或全局捆绑调整(BA)进一步优化估计的姿态,而后者则从重建的3D模型中估计相机姿态,通常避免进一步优化,但导致对大型场景的可扩展性较差。这些策略通常与最近SLAM研究中的解耦和耦合方法的概念相关联,构成了我们将要探索的方法论的基础。解耦方法使用单独的框架进行跟踪和映射,将它们视为独立任务,而耦合方法则使用统一的表示来处理这两项任务,允许更集成的方法。
图2:场景表示的比较:隐式、显式和混合。从左到右: 隐式使用神经网络来近似辐射场,显式直接在学到的空间特征(体素、哈希网格等)上进行体积渲染,不包括神经组件,而混合方法将学到的空间特征与神经网络结合起来
。混合和显式方法都能够加速训练和渲染,但需要额外的内存资源。
3.2 progress in Radiance Field Theory
辐射场这个术语指的是一种描述三维空间内光的行为和分布的表示方法。它涵盖了光如何与表面、材料以及周围环境相互作用。辐射场可以隐式地通过将光编码到神经网络的权重中来表示,或者显式地通过在如体素网格这样的离散空间结构中映射光来表示。显式表示通常提供更快的访问速度,但需要更多的内存并且有分辨率限制,而隐式表示提供了紧凑的场景编码,可能需要更高的渲染计算需求。 混合方法结合了显式存储的局部潜在特征和浅层神经网络的优势
,使用各种结构,如 稀疏体素哈希网格、多分辨率密集体素网格、无序点集
等。图2直观地展示了这些表示方法,它们最近对SLAM方法论产生了显著影响,主要是通过整合从NeRF衍生的模型和更近期的显式方法,如3DGS。下面,我们将简要描述NeRF(用于图像渲染和表面重建)和3DGS,这对于理解即将介绍的SLAM方法是至关重要的。
3.3.1 NeRF
NeRF在新视角合成的工作流程涉及通过场景投射相机射线来为每个像素生成采样点,使用NeRF多层感知机(MLP)为每个采样点计算局部颜色和密度,并通过体积渲染合成2D图像。具体来说,由相机射线 r ( t ) = o + t d r(t) = o + td r(t)=o+td 产生的结果颜色 C ( r ) C(r) C(r) 的计算涉及一个积分公式:
C ( r ) = ∫ t 1 t 2 T ( t ) σ ( r ( t ) ) c ( r ( t ) , d ) d t ( 1 ) C(r) = \int_{t_1}^{t_2} T(t) \sigma(r(t)) c(r(t), d) \, dt \quad (1) C(r)=∫t1t2T(t)σ(r(t))c(r(t),d)dt(1)
这里,
d
t
dt
dt 表示射线在每个积分步骤中走过的微分距离。术语
σ
(
r
(
t
)
)
\sigma(r(t))
σ(r(t)) 和
c
(
r
(
t
)
,
d
)
c(r(t), d)
c(r(t),d) 分别表示沿相机射线在点 r(t) 处的体积密度和颜色
,观察方向为 d
。此外,
T
(
t
)
=
exp
(
−
∫
t
1
t
σ
(
r
(
s
)
)
,
d
s
)
T(t) = \exp\left(-\int_{t_{1}}^{t}\sigma(r(s)), ds\right)
T(t)=exp(−∫t1tσ(r(s)),ds) 是从
t
1
t_{1}
t1 到
t
t
t 的累积透射率。
积分计算使用通过将射线分成 N N N 个等间距的箱子来进行的数值积分:
C
(
r
)
=
∑
i
=
1
N
α
i
T
i
c
i
,
T
i
=
exp
(
−
∑
j
=
1
i
−
1
σ
j
δ
j
)
(
2
)
C(r) = \sum_{i=1}^N \alpha_i T_i c_i, \quad T_i = \exp\left(-\sum_{j=1}^{i-1} \sigma_j \delta_j\right) \quad (2)
C(r)=i=1∑NαiTici,Ti=exp(−j=1∑i−1σjδj)(2)
其中,
δ
i
\delta_i
δi 表示连续采样点
t
i
t_i
ti 和
t
i
+
1
t_{i+1}
ti+1 之间的间隔,而
σ
i
\sigma_i
σi 和
c
i
c_i
ci 分别表示沿射线在采样点
i
i
i 处评估的密度和颜色
。此外,
α
i
=
(
1
−
exp
(
−
σ
i
δ
i
)
)
\alpha_i = \left(1 - \exp\left(-\sigma_i \delta_i\right)\right)
αi=(1−exp(−σiδi)) 描述了在采样点
i
i
i 处由Alpha混合产生的不透明度。
沿射线的预期深度也可以使用累积透射率来计算:
d ( r ) = ∫ t 1 t 2 T ( t ) ⋅ σ ( r ( t ) ) ⋅ t d t , ( 3 ) d(r) = \int_{t_1}^{t_2} T(t) \cdot \sigma(r(t)) \cdot t \, dt, \quad (3) d(r)=∫t1t2T(t)⋅σ(r(t))⋅tdt,(3)
类似于方程 2,这可以近似为:
D ^ ( r ) = ∑ i = 1 N α i t i T i . ( 4 ) \hat{D}(r) = \sum_{i=1}^{N} \alpha_i t_i T_i. \quad (4) D^(r)=i=1∑NαitiTi.(4)
尽管NeRF及其变体有潜力捕捉场景的3D几何,但这些模型在神经网络的权重中是隐式定义的。通过3D网格获得场景的显式表示,对于3D重建应用是可取的。从NeRF开始,实现粗略场景几何的基本方法是对MLP预测的密度进行阈值处理。更高级的解决方案探索了三种主要的表示方法。
占用。这种表示方法通过将沿射线的alpha值 α i \alpha_{i} αi 替换为学习到的离散函数 o ( x ) ∈ { 0 , 1 } o(x)\in\{0,1\} o(x)∈{0,1} 来模拟空闲与占用的空间。具体来说,估计占用概率 ∈ [ 0 , 1 ] \in[0,1] ∈[0,1],并通过运行marching cubes算法[70]获得表面。
有符号距离函数(SDF)。另一种场景几何的方法是从任意点到最近表面的有符号距离,产生物体内部的负值和物体外部的正值。NeuS[71]是第一个重新审视NeRF体积渲染引擎的,用MLP预测SDF作为 f ( r ( t ) ) f(r(t)) f(r(t)) 并用 ρ ( t ) \rho(t) ρ(t) 替换 α \alpha α,如下所示:
ρ ( t ) = max ( − d Φ d t ( f ( r ( t ) ) ) Φ ( f ( r ( t ) ) ) , 0 ) ( 5 ) \rho(t)=\max\left(\frac{-\frac{d\Phi}{dt}(f(r(t)))}{\Phi(f(r(t)))},0\right)\qquad(5) ρ(t)=max(Φ(f(r(t)))−dtdΦ(f(r(t))),0)(5)
其中 Φ \Phi Φ 是sigmoid函数, d Φ d t \frac{d\Phi}{d t} dtdΦ 是它的导数。
截断有符号距离函数(TSDF)。最后,用MLP预测截断的SDF允许在渲染过程中移除任何远离个体表面的SDF值的贡献。在[72]中,像素颜色是沿射线采样的颜色的加权和:
在这一背景下,一些方法提议使用预期深度来施加外部先验的深度监督或应用正则化技术,以增强场景几何并强制执行深度平滑性。在优化方面,采用了平方误差光度损失
,表示为
L
=
∑
r
∈
R
∥
C
^
(
r
)
−
C
g
t
(
r
)
∥
2
2
L=\sum_{r\in R}\|\hat{C}(r)-C_{gt}(r)\|_{2}^{2}
L=∑r∈R∥C^(r)−Cgt(r)∥22。这里,
C
g
t
(
r
)
C_{gt}(r)
Cgt(r) 表示训练图像中与 r 相关联的像素的真实颜色
,而 R 表示用于合成目标图像的射线
批次。
尽管NeRF取得了成功,但训练/渲染速度慢等挑战依然存在。后续方法,如在[63]、[64]、[65]中全面调查的,寻求使用哈希[54]或稀疏3D网格[66]
等技术来提高质量或加快训练/渲染速度。然而,这些方法在准确表示空白空间方面仍然存在困难,并因结构化网格而面临图像质量限制,这显著阻碍了渲染速度。其他工作[67]、[68]、[69]旨在减少对COLMAP等外部工具进行相机姿态估计的依赖。虽然这些方法与SLAM在联合姿态估计和场景重建的目标上是一致的,但它们在处理范式上有所不同。SLAM通常按顺序处理捕获的图像,实现实时操作。相比之下,这些基于NeRF的姿态估计方法通常需要同时处理一组图像,限制了它们在实时场景中的应用。它们需要一个预训练的神经隐式网络,而不是同时优化姿态和网络,这进一步限制了它们在SLAM应用中的使用。
图3:NeRF和3DGS在概念上有所不同。(左)NeRF沿射线查询MLP,而(右)3DGS为给定的射线混合高斯函数。
C ( r ) = ∑ i = 1 N w i c i ∑ i = 1 N w i ( 6 ) C(r)=\frac{\sum_{i=1}^{N}w_{i}c_{i}}{\sum_{i=1}^{N}w_{i}}\qquad(6) C(r)=∑i=1Nwi∑i=1Nwici(6)
其中 w i w_{i} wi 根据截断距离 t r t_{r} tr 定义为
w i = Φ ( f ( r ( t ) ) t r ) ⋅ Φ ( − f ( r ( t ) ) t r ) ( 7 ) w_{i}=\Phi\left(\frac{f(r(t))}{t_{r}}\right)\cdot\Phi\left(-\frac{f(r(t))}{t_{r}}\right)\qquad(7) wi=Φ(trf(r(t)))⋅Φ(−trf(r(t)))(7)
3.3.2 3dgs
由Kerbl等人在2023年引入的3DGS是一种显式的辐射场技术,用于高效和高质量地渲染3D场景。与传统的显式体积表示方法(如体素网格)不同,它提供了一种连续且灵活的表示方式,用于模拟具有可微分的3D高斯形状基元的3D场景。这些基元被用来参数化辐射场,并可以渲染以产生新的视图。此外,与依赖于计算成本高昂的体积射线采样的NeRF不同,3DGS通过基于瓦片的光栅器实现实时渲染。图3中突出了这种概念上的差异。这种方法提供了改进的视觉质量和更快的训练速度
,而不依赖于神经组件
,同时也避免了在空白空间中的计算
。更具体地说,从已知相机姿态的多视图图像开始,3DGS学习了一组3D高斯
G
=
{
g
1
,
g
2
,
…
,
g
N
}
\mathcal{G} = \{g_1, g_2, \ldots, g_N\}
G={g1,g2,…,gN},其中 N 表示场景中的高斯数量。每个基元
g
i
g_i
gi(对于
1
<
i
<
N
1 < i < N
1<i<N),由一个完整的3D协方差矩阵
Σ
i
∈
R
3
×
3
\Sigma_i \in \mathbb{R}^{3\times 3}
Σi∈R3×3、均值或中心位置
μ
i
∈
R
3
\mu_i \in \mathbb{R}^3
μi∈R3、不透明度
o
i
∈
[
0
,
1
]
o_i \in [0,1]
oi∈[0,1] 和由球谐函数(SH)表示的颜色
c
i
c_i
ci 组成,用于视点依赖的外观
,其中所有属性都是可学习的,并通过反向传播进行优化。这允许将单个高斯基元的空间影响紧凑地表示为:
g i ( x ) = e − 1 2 ( x − μ i ) ⊤ Σ i − 1 ( x − μ i ) ( 8 ) g_i(x) = e^{-\frac{1}{2}(x - \mu_i)^\top \Sigma_i^{-1}(x - \mu_i)} \quad (8) gi(x)=e−21(x−μi)⊤Σi−1(x−μi)(8)
这里,空间协方差
Σ
\Sigma
Σ 定义了一个椭球体,它的计算公式为
Σ
=
R
S
S
T
R
T
\Sigma = RSSTR^T
Σ=RSSTRT,其中
S
∈
R
3
S \in \mathbb{R}^3
S∈R3 是空间尺度,
R
∈
R
3
×
3
R \in \mathbb{R}^{3\times 3}
R∈R3×3 表示旋转,由四元数参数化。对于渲染,3DGS的操作类似于NeRF,但在混合系数的计算上有很大的不同。具体来说,该过程首先涉及将3D高斯点投影到2D图像平面上,这个过程通常被称为"splatting"
。这是通过表达投影的2D协方差矩阵和中心
Σ
′
=
J
W
Σ
W
T
J
T
\Sigma' = JW\Sigma W^T J^T
Σ′=JWΣWTJT 和
μ
′
=
J
W
μ
\mu' = JW\mu
μ′=JWμ 来完成的,其中W 表示视图变换,J 是投影变换的仿射近似的雅可比矩阵
。
因此,3DGS通过混合在给定像素处重叠的3D高斯splats来计算最终像素颜色 C
,按它们的深度排序
:
C = ∑ i ∈ N c i α i ∏ j = 1 i − 1 ( 1 − α j ) C = \sum_{i \in \mathcal{N}} c_i \alpha_i \prod_{j=1}^{i-1} (1 - \alpha_j) C=i∈N∑ciαij=1∏i−1(1−αj)
其中最终的不透明度 α i \alpha_i αi 是学习到的不透明度 o i o_i oi 和高斯的乘法结果:
α i = o i exp ( − 1 2 ( x ′ − μ i ′ ) ⊤ Σ i ′ − 1 ( x ′ − μ i ′ ) ) \alpha_i = o_i \exp\left(-\frac{1}{2} (x' - \mu_i')^\top \Sigma_i'^{-1} (x' - \mu_i')\right) αi=oiexp(−21(x′−μi′)⊤Σi′−1(x′−μi′))
其中 x ′ x' x′ 和 μ i ′ \mu_i' μi′ 是在投影空间中的坐标。类似地,深度 D 被渲染为:
D = ∑ i ∈ N d i α i ∏ j = 1 i − 1 ( 1 − α j ) D = \sum_{i \in \mathcal{N}} d_i \alpha_i \prod_{j=1}^{i-1} (1 - \alpha_j) D=i∈N∑diαij=1∏i−1(1−αj)
这里,
d
i
d_i
di 指的是第 i 个3D高斯的中心的深度
,通过在相机坐标系中投影到z轴上获得。对于优化,过程从SfM点云或随机值开始参数初始化
,然后使用L1和D-SSIM损失函数对真实视图和渲染视图进行随机梯度下降(SGD)
。此外,定期的自适应密集化通过调整具有显著梯度的点并移除低不透明度的点来处理欠建和过建,从而完善场景表示并减少渲染错误。有关3DGS和相关工作的更多细节,请参考[73]、[74]、[75]。
3.4 数据集
以下是将上述内容整理成表格的输出:
数据集名称 | 特点 | 传感器/设备 | 分辨率/尺寸 | 场景类型/描述 | 校准/地面真实数据 | 下载链接 |
---|---|---|---|---|---|---|
TUM RGB-D | 包含RGB-D序列和相机轨迹 | 微软Kinect传感器 | 30Hz, 640×480 | 办公环境、工业大厅 | 运动捕捉系统提供地面真实轨迹 | 下载链接 |
ScanNet | 提供室内RGB-D采集,包含大量图像和3D重建 | 自定义RGB-D捕获设备,如iPads | - | 真实世界室内场景 | BundleFusion系统提供相机姿态 | 下载链接 |
Replica | 包含逼真的3D室内场景,具有密集网格和HDR纹理 | 自定义RGB-D捕获装置,同步IMU | - | 不同场景类别,包含88个语义类别 | 合成数据,使用精确网格生成 | 下载链接 |
KITTI | 用于评估立体视觉、光流、视觉里程计/SLAM算法等 | 立体相机、Velodyne LiDAR、GPS和惯性传感器 | 42,000立体对和LiDAR点云 | 自动驾驶场景 | - | 下载链接 |
Newer College | 包含在牛津大学New College周围捕获的传感器数据 | 立体惯性相机、多束3D LiDAR和三脚架安装的测量级LiDAR扫描仪 | 约2.9亿点的3D地图 | 包括建筑空间、开放区域和植被区域 | 提供6自由度地面真实姿态,精度约为3厘米 | 下载链接 |
ETH3D-SLAM | 适用于评估视觉-惯性单体、立体和RGB-D SLAM | 自定义相机装置 | 56个训练数据集、35个测试数据集 | - | 使用SfM技术独立捕获的训练序列提供地面真实数据 | 下载链接 |
EuRoC MAV | 提供同步立体图像、IMU和精确地面真实 | - | - | 支持视觉-惯性算法设计和评估,包括工业环境和3D环境重建的房间 | 毫米级精度的真实数据 | 下载链接 |
7-scenes | 用于重定位性能评估 | Kinect | 640×480 | 不同用户捕获的序列,模拟关键帧采集和误差计算 | 通过KinectFusion获得地面真实姿态 | 下载链接 |
ScanNet++ | 包含高分辨率3D室内场景重建、密集语义注释、DSLR图像和iPhone RGB-D序列 | 高端激光扫描仪 | 460个场景 | 每个场景包括1000多个语义类别的注释 | - | 下载链接 |
NeuralRGBD | 合成数据集,包含不同大小、复杂性和材料的场景 | 使用BlenderProc渲染 | 10个场景 | 模拟真实深度传感器特有的噪声和伪影 | BundleFusion用于获得相机轨迹的初始估计 | 下载链接 |
4 数据集
iMAP vMAP
vox-Fusion vox-Fusion++
NICE-SLAM NICER-SLAM
ORB相关的SLAM
表 1:SLAM 系统概述。我们将不同的方法分为主要的 RGB-D、RGB 和基于 LiDAR 的 框架
。在最左边的列中,我们标识了共享特定属性的方法的子类别,详见第 3.2.1 至 3.3.2 节。然后,对于每种方法,我们从最左边的第二列到最右边的第二列报告方法名称和发布地点,然后是
(a) 它们可以处理的输入模态:RGB、RGB-D、D(例如 LiDAR、ToF、Kinect 等)、双目、IMU 或事件相机
;
(b) 映射属性:模型学习的场景编码和几何表示
© 该方法学习的其他输出,例如对象/语义分割或不确定性建模(Uncert.)
(d) 与采用帧到帧或帧到模型方法、使用外部跟踪器、全局捆绑调整 (BA) 或环路闭合相关的跟踪属性;
(e) 高级设计策略,例如建模子地图或处理动态环境 (Dyn. Env.);
(f) 使用额外的先验。最后,我们在最右边的列中报告项目页面或源代码的链接。† 表示代码尚未发布
4.1 SLAM
本节介绍了利用辐射场表示最新进展的SLAM系统。这些论文根据方法论进行分类,为读者提供了清晰有序的介绍。首先对RGB-D(3.1)、RGB(3.2)和LiDAR(3.3)方法进行基本分类,为特定子类别的发展奠定基础。为了全面理解,表1提供了对调查方法的详细概述。这个表格提供了深入的总结,突出了每种方法的关键特点,并在可能的情况下提供了项目页面或源代码的引用。有关更多细节或方法特定信息,请参考原始论文。
3.1 RGB-D SLAM方法
这里我们关注使用RGBD相机的密集SLAM技术,这些相机可以捕获环境的彩色图像和每像素深度信息。这些技术分为不同的类别:基于NeRF风格的SLAM解决方案(3.1.1)和基于3D高斯Splatting表示的替代方案(3.1.2)
。从这两种方法衍生出的专业解决方案包括用于大型场景的基于子图的SLAM方法(3.1.3)、解决语义的框架(3.1.4)以及针对动态场景量身定制的解决方案(3.1.5)
。在这个分类中,一些技术通过不确定性评估可靠性(3.1.6)
,而其他一些则探索了额外传感器的集成,如基于事件的相机(3.1.7)。
3.1.1 基于NeRF风格的RGB-D SLAM
最近在隐式神经表示方面的进展使得准确和密集的3D表面重建成为可能。这导致了从NeRF衍生或受其启发的新型SLAM系统,最初是为已知相机姿态的离线使用而设计的。在本节中,我们描述了这些密集的神经VSLAM方法,分析了它们的主要特点,并提供了它们的优势和劣势的清晰概述。
图 5:iMap [1] 概览,基于神经隐式的 SLAM 的开创性方法。(左)该图描绘了两个并发过程:跟踪,在锁定网络中优化当前帧的姿势;建图,联合细化所选关键帧的网络和相机姿势
。(右)使用可微分渲染函数联合优化关键帧的场景网络参数和相机姿势
。图来自 [1]。
iMAP [1]:这项工作标志着首次尝试利用隐式神经表示进行SLAM。这一开创性的成就不仅推动了SLAM的界限,也为该领域建立了一个新的方向。特别是,iMAP展示了多层感知机(MLP)动态创建特定场景隐式3D模型的潜力。通过这样做,这项工作提供了一种替代传统技术的方案,提供了高效的几何表示、自动细节控制和对未观测区域的无缝填充
。具体来说,该框架(在图5中描述)使用MLP将3D坐标映射到颜色和体积密度,而没有解决镜面高光或考虑观察方向。由相机姿态和像素坐标引导的可微分渲染
,通过网络查询生成深度和彩色图像
。针对固定的关键帧集进行光度和几何损失的联合优化
,以 优化网络参数和相机姿态
。一个并行过程确保了接近帧率的相机跟踪,基于信息增益动态选择关键帧
。主动采样优化了一组稀疏像素,引导了损失统计
。集成基于关键帧的结构、多进程计算和动态像素采样,实现了实时跟踪和全局地图更新
。然而,由于模型容量有限,导致了细节重建不足,并在更大的环境中面临灾难性遗忘的挑战。
NICE-SLAM [5]:与iMAP使用单个MLP作为场景表示不同,NICE-SLAM采用了一种集成多级本地数据的层次策略
。这种方法有效地解决了过度平滑的重建和在更大场景中可扩展性限制
等问题。通过使用预训练的几何先验优化层次表示,NICE-SLAM实现了高质量的场景重建。该过程涉及将几何编码到三个不同分辨率的体素网格中,每个网格都与其对应的预训练MLP解码器相关联——粗、中、细三个级别
。此外,使用专用的特征网格和解码器来捕获场景外观。值得注意的是,与iMAP相比,它每次只更新可见网格特征
。这一策略显著提高了优化过程的精度和效率,克服了iMAP全局更新的局限性,并解决了其灾难性遗忘的问题。然而,预测能力仅限于粗略表示的规模,并且没有纳入回环闭合。
Vox-Fusion [88]:这项工作结合了传统的体积融合方法和隐式神经表示。具体来说,它利用基于体素的隐式神经表面表示来编码和优化每个体素内的场景。虽然与NICE-SLAM [5]有相似之处,但其独特之处在于采用了基于八叉树的结构,以实现动态体素分配策略
。这种动态方法为多样化场景的实时跟踪和映射提供了能力,消除了像NICE-SLAM中那样预先分配的分层体素网格的需要
。此外,Vox-Fusion的一个基本特征是使用连续的SDF在个体素内对局部场景几何进行建模
。这个SDF通过隐式神经解码器和共享的特征嵌入编码
。使用共享嵌入向量实现了更轻量级的解码器,它能够封装局部几何和外观知识。此外,Vox-Fusion引入了一种针对稀疏体素的高效关键帧选择策略
,进一步增强了其有效地图管理的能力。
ESLAM [89]:ESLAM的核心在于其实现了多尺度轴对齐特征平面,与传统的体素网格不同。这种方法通过二次缩放优化内存使用,与传统基于体素的模型表现出的立方增长形成对比。这些三平面架构在垂直轴上存储和优化特征,通过分别管理几何和外观变化来提高重建质量和解决遗忘问题。该方法使用了三个粗和三个细的特征平面来处理几何和场景外观。此外,ESLAM采用了TSDF作为几何表示。与传统的基于渲染的方法(如iMAP中使用的体积密度和NICE-SLAM中的占用)相比,这提高了收敛速度并增强了重建质量。多尺度特征平面和TSDF表示的结合提高了重建和定位能力,处理帧的速度比iMAP和NICE-SLAM快十倍。
Co-SLAM [90]:像iMAP这样的系统使用坐标网络进行实时SLAM。然而,为了确保交互式操作,它们采用了策略,如稀疏射线采样,可能导致过度平滑问题。相比之下,像NICE-SLAM这样的方法使用通过特征网格的参数嵌入,部分避免了过度平滑,但不能完全解决填补空白的问题。CoSLAM通过结合坐标编码的平滑性(使用one-blob编码[175])和稀疏参数编码的快速收敛和局部细节优势(使用哈希网格[54])
来填补空白。因此,这导致了更稳健的相机跟踪、高保真地图和改进的填补空白。此外,与以前的神经SLAM系统不同,Co-SLAM通过对所有先前的关键帧(每个关键帧大约5%的像素)进行少量射线采样来执行全局捆绑调整(BA)
。
GO-SLAM [91]:以前的作品缺乏像LC和BA这样的全局优化技术,导致随着时间的推移出现跟踪错误。为了解决这些局限性,GOSLAM旨在实时全局优化相机姿态和3D重建
。核心是一个稳健的姿态估计模块,集成了高效的LC和在线全BA
,利用输入帧的全部历史来确保准确的轨迹估计和维护一致的3D地图表示。具体来说,该架构通过三个并行线程运行
:前端跟踪,负责迭代姿态和深度更新以及高效的回环闭合
;后端跟踪,专注于通过全BA生成全局一致的姿态和深度预测
;以及即时映射,根据最新可用的姿态和深度更新3D重建
。GOSLAM的即时映射从Instant-NGP框架[54]中汲取灵感。它采用了一种渲染策略,将3D点映射到多分辨率哈希编码,并使用浅层网络预测SDF和颜色。值得注意的是,GOSLAM支持单目、立体和RGB-D相机。
Point-SLAM [93]:与基于网格或网络的方法不同,Point-SLAM引入了一种动态神经点云表示,根据输入数据信息调整点密度
,确保在细节更多的区域有更多的点
,在信息较少的区域有更少的点
。该方法使用每像素输入图像梯度幅度来确定点的密度
。通过体积渲染渲染深度和彩色图像,每个像素射线从点组中提取几何和颜色特征
。提取的特征通过专门的解码器进一步处理,如[5]中所述,以计算占用和颜色值,并使用RGB-D重新渲染损失通过梯度下降进行优化。建图过程与跟踪过程交替运行,以更新场景并估计相机的位置
。一个关键特点是,其神经点云表示在探索过程中逐步扩展,随着所有相关区域的纳入而稳定。与传统的基于体素的方法不同,这种策略通过仅在表面周围的区域内添加点来优化内存使用,消除了对自由空间建模的需要。此外,由于点云的动态分辨率,细节较少的区域被压缩,进一步节省了内存。
ToF-SLAM[94]是首个结合单目相机和轻量级ToF传感器的SLAM系统,后者仅限于提供低分辨率深度分布形式的粗略测量。为了实现这一点,引入了多模态特征网格,能够执行为ToF传感器量身定制的区域级渲染和为其他高分辨率信号(例如RGB)优化的像素级渲染。系统通过比较这些渲染信号和原始传感器输入来优化相机姿态和场景几何
。此外,还使用了预测深度进行中间监督,提高了姿态跟踪和重建精度
。作者还开发了一种从粗到细的优化策略,以高效地学习隐式表示。此外,还纳入了时间信息来处理嘈杂的ToF传感器信号,提高了系统精度。
ADFP[95]结合了从多个深度图像融合形成的TSDF衍生的注意力深度融合先验。这允许神经网络在体积渲染过程中直接利用学习到的几何和TSDF,克服了在重建过程中孔洞处深度不完整和对被遮挡结构无感知的问题。通过涉及光线追踪、特征插值、占用预测先验以及平衡学习到的几何和深度融合先验贡献的注意力机制的过程,该方法显著提高了3D重建的准确性。
MLM-SLAM[96]引入了一种多MLP层次场景表示,利用不同层次的解码器提取详细特征,增强了重建过程而不失可扩展性。系统采用神经隐式表示,通过几何和光度损失优化深度和颜色估计,而无需固定的预训练解码器,确保了在各种场景中更好的泛化能力。此外,它还实现了精细的跟踪策略和关键帧选择方法,特别是在具有挑战性的动态环境中,增强了系统的可靠性。
Plenoxel-SLAM[97]基于不包含神经网络的Plenoxel辐射场模型[66]。论文描述了一种新方法:在Plenoxel框架内使用体素网格表示和三线性插值进行高效密集映射和跟踪。关键亮点在于对离线RGB-D映射和在线相机姿态优化至关重要的方程的解析推导。尽管Plenoxel-SLAM提出了新方法,但值得一提的是,目前还没有从学习到的表示中重建出显式的3D网格。
Structerf-SLAM[98]使用双层特征网格和预训练的解码器将插值特征解码为RGB和深度值。在跟踪阶段,基于曼哈顿假设的三维平面特征的使用提高了稳定性和快速数据关联,克服了纹理不足的限制。相机姿态优化涉及应用光度、几何和平面特征匹配损失项。在映射阶段,平面一致性约束确保了双层神经辐射场预测的深度与平面对齐,从而实现了更平滑的地图重建。
KN-SLAM[101]将使用HF-Net[103]的稀疏特征基础定位与神经隐式表示的映射相结合。它由三个并发线程组成:1)跟踪,提取局部和全局特征用于初始姿态估计和单帧姿态优化
;2)建图,更新场景表示并联合优化相机姿态和隐式映射
;3)优化,执行循环检测、姿态图优化和神经隐式地图的全局细化
。KN-SLAM采用了与NICE-SLAM[5]类似的具有特征网格和解码器的层次场景表示,并在优化过程中使用光度、深度和重投影损失的组合
,以确保隐式场景表示与稀疏特征观测之间的一致性。
iDF-SLAM[104]在前端集成了基于特征的神经跟踪器,用于稳健的相机跟踪。后端则包括使用单个MLP作为地图表示的神经隐式映射器,负责估计TSDF值。值得注意的是,与以往的方法不同,MLP除了3D位置外,还输入视图方向以增强每帧的渲染输出。关键帧更新涉及姿态优化和MLP权重调整,通过基于重放的关键帧缓冲防止灾难性遗忘。关键帧的选择策略基于共视得分,增强了地图优化的鲁棒性
。前端功能包括用于相机跟踪的无监督R&R(URR)模型[105]
,利用深度特征和点云配准
。iDF-SLAM采用运行时微调和点云配准来提高跟踪精度
,跟踪器的特征提取器在ScanNet上预训练。
NeuV-SLAM[106]利用类似体素的表示来编码场景几何。具体来说,NeuV-SLAM使用哈希表处理多分辨率体素,允许在新探索的区域进行增量扩展,称为hashMV。这与一种新颖的隐式场景表示VDF相结合,VDF通过直接优化锚定在体素内的颜色特征和SDF值,将神经SDF体素的实现与SDF激活策略结合起来。
NeSLAM[107]集成了神经隐式场景表示与层次特征网格、深度完成/去噪网络和自监督特征跟踪方法。深度网络提供了带有不确定性估计的密集深度图像,以指导神经点采样和优化隐式表示,而与MLP结合的层次特征网格则估计SDF值以改善几何形状。自监督特征跟踪网络支持在线优化,并增强了在不同场景中的泛化能力。系统使用量身定制的损失函数联合优化隐式场景表示和相机姿态,包括逐块深度方差、颜色和深度损失以及ICP损失。
3.1.2 基于3DGS风格的 RGB-D SLAM
3.1.2节中我们介绍了使用基于3D高斯Splatting的显式体积表示的先驱框架的概述,这些框架用于开发SLAM解决方案。这些方法通常利用3DGS的优势,如比其他现有场景表示更快、更逼真的渲染。它们还提供了通过添加更多的高斯原语来增加地图容量的灵活性,完全利用每个像素的密集光度损失,并直接参数梯度流动以促进快速优化。迄今为止,3DGS表示主要用于离线系统,专门用于从已知相机姿态进行新视图合成。在下一节中,我们将介绍开创性的SLAM方法,这些方法能够同时优化场景几何和相机姿态。
GS-SLAM[109]通过利用3D高斯作为表示与splatting渲染技术相结合,引入了一种范式转变。具体来说,该系统仅使用3DGS作为其唯一的表示,用于使用单个移动的RGB或RGB-D相机进行在线3D重建。该框架包括几个关键组件,如跟踪和相机姿态优化、高斯形状验证和正则化
、地图和关键帧管理以及资源分配和修剪
。跟踪阶段采用了针对3D高斯的直接优化
方案,为相机姿态估计提供了快速而稳健的跟踪能力
,并具有广泛的收敛盆地。同时,引入了几何验证和正则化技术来处理增量3D密集重建
中的歧义,并提出了一种新的·高斯形状正则化以确保几何一致性·。对于建图和关键帧管理
·,GS-SLAM整合了高效在线优化和关键帧管理技术,这涉及根据帧间共视性选择和维护一个小窗口的关键帧
。此外,资源分配和修剪方法用于消除不稳定的高斯并避免模型中的伪影
。
图 6:GS-SLAM 概述 [12]。该框架利用 3D 高斯场景表示和渲染的 RGB-D 图像进行逆向相机跟踪。通过新颖的高斯扩展策略,GS-SLAM 在 GPU 上实现了实时跟踪、映射和渲染,增强了场景重建能力
。图来自 [12]。
Photo-SLAM[110]在一个超原语地图中整合了显式几何特征和隐式纹理表示。该方法结合了ORB特征[176]、旋转、缩放、密度和球谐系数,以优化相机姿态和映射精度,同时最小化光度损失
。值得注意的是,Photo-SLAM采用了多线程架构,包括用于定位、映射、逼真渲染和循环闭合的模块
。这种设计促进了高效的因子图求解、稀疏3D点生成和超原语的逐步优化
。一个关键特点是利用3DGS[34]从超原语地图进行图像渲染。通过利用包括基于几何的密集化和基于高斯金字塔的学习在内的先进技术,该框架实现了高质量的渲染、提高的映射精度和实时操作性。论文评估了Photo-SLAM在包括立体、单目和RGB-D在内的多种相机设置上的性能。
SplaTAM是一种将场景表示为简化的3D高斯集合的方法,能够实现高质量的彩色和深度图像渲染。SLAM流程包括几个关键步骤:相机跟踪:通过最小化重渲染误差来精确估计相机姿态,重点关注可见轮廓像素,并在结构良好的地图区域内进行优化
。高斯密集化:根据渲染的轮廓和深度信息添加新的高斯,只在需要提高准确性的地方增强场景表示。地图更新:在帧间细化高斯参数,最小化RGB和深度误差,同时优化影响力大的帧以更新场景的几何形状
。通过采用这种方法,SplaTAM从根本上重新定义了密集SLAM实践,提供了渲染效率、优化速度和空间映射能力的改进。尽管研究表明了显著的进展,但也承认了对运动模糊和深度噪声敏感等局限性。
GS-SLAM与依赖于神经隐式表示的方法不同,采用了一种新颖的方法,利用3D高斯结合不透明度和球谐函数来封装场景的几何和外观
。其关键贡献在于自适应扩展策略,动态管理3D高斯的添加或移除,以有效重建观察到的场景几何形状,同时提高映射精度
。此外,GS-SLAM引入了一种鲁棒的粗到细相机跟踪技术,通过图像细化和可靠的3D高斯选择迭代细化相机姿态估计。然后进行BA,旨在同时优化相机姿态和3D高斯场景表示。尽管GS-SLAM具有优势,但也面临着对高质量深度信息的依赖和在大型场景中大量内存使用的限制。
Gaussian-SLAM通过为新探索的区域高效地播种新的高斯并在线优化它们,通过将场景组织成独立优化的子图,允许扩展到更大的场景
。子图基于相机运动进行初始化,通过考虑关键帧的渲染alpha值和颜色梯度向活动子图添加新的高斯。每个子图中的高斯参数使用光度和几何损失联合优化。帧到模型的相机跟踪是通过最小化输入和渲染帧之间的光度和几何损失来执行的
,同时使用软alpha和内联掩模来处理遮挡和异常值
。
Compact-GS-SLAM提出了一种紧凑的3DGS SLAM系统,通过减少高斯椭球的数量和参数大小,解决了现有基于3D高斯的SLAM方法的高内存使用、存储需求和慢速训练问题。采用了一种新颖的基于滑动窗口的在线掩模策略,在操作过程中移除冗余的高斯椭球
,而几何码本通过利用场景中的相似性,压缩剩余椭球的几何属性
(比例和旋转),从而减少内存使用并提高渲染速度。此外,还采用了一种结合了重投影损失的全局捆绑调整方法,用于鲁棒的相机姿态估计。
GS-ICP SLAM是一种结合了广义迭代最近点(G-ICP)和3DGS的SLAM系统。与主要依赖于基于2D图像的跟踪方法不同,这种方法积极利用3D信息,使用G-ICP进行跟踪过程。这允许系统直接使用3D高斯地图表示进行跟踪,无需额外的后处理。一个关键的创新是跟踪和映射组件之间协方差信息的相互共享
。在G-ICP跟踪期间计算的协方差用于初始化3DGS映射
,而地图中的3D高斯反过来用作G-ICP跟踪的3D点及其协方差
。这种双向信息交换,通过比例对齐技术促进,最小化了冗余计算并实现了高效高性能的SLAM系统。
HF-GS SLAM基于3DGS,引入了两个关键的创新点。首先,它提出了一种由渲染损失引导的高斯密集化策略,以映射未观察到的区域并细化重新观察到的区域。其次,它在映射过程中引入了正则化参数,以缓解遗忘问题。映射涉及通过最小化渲染和输入图像之间的损失以及防止过拟合并保留先前访问区域细节的正则化项来优化高斯参数。
CG-SLAM使用一种新颖的不确定性感知3D高斯场,以实现一致和稳定的跟踪和映射。系统对EWA(椭圆形加权平均)splatting过程中的相机姿态导数进行了数学分析,并开发了一个CUDA框架,以分离跟踪和映射组件。为了减少过拟合并实现一致的高斯场,CG-SLAM采用了比例正则化、深度对齐和深度不确定性模型等技术,以指导信息性高斯原语的选择。系统使用各种损失函数来更新高斯属性,并通过最小化来自低不确定性原语的重渲染损失,实现高效准确的跟踪
。
MM3DGS-SLAM是第一个使用3D高斯作为地图表示的视觉-惯性SLAM框架。该框架接受单目相机或RGB-D相机的输入,以及惯性测量
。相机姿态是使用结合深度测量和IMU预积分的组合跟踪损失
进行优化的。关键帧选择基于滑动窗口中的图像共视性和自然图像质量评估器(NIQE)指标。对于不透明度低和深度误差高的关键帧,使用深度测量或估计初始化新的3D高斯
。在建图阶段,根据包括光度渲染质量、结构相似性和深度相关性在内的损失来优化3D高斯参数
。该框架通过解决深度估计与当前地图的缩放和偏移,解决了单目深度估计的尺度歧义
问题。作者还发布了一个多模态数据集UT-MM,该数据集是从配备有相机和IMU的移动机器人收集的。
3.1.3 基于子图的SLAM(Submaps)
在这一类别中,我们关注于解决先前讨论的基于密集辐射场的SLAM系统在大型环境中面临的灾难性遗忘和适用性问题的方法。
MeSLAM通过将神经隐式地图表示与新颖的网络分布策略相结合,引入了一种针对大规模环境映射的新型SLAM算法。通过使用分布式MLP网络,全局映射模块促进了环境的分割成不同区域,并在重建过程中协调这些区域的拼接。这允许创建一个全面的全局地图,捕捉整个环境或其特定部分。此外,一个关键方面依赖于其集成外部里程计与基于神经场的优化。这种组合增强了系统在地图交叉区域稳健跟踪姿态的能力,从而提高了准确性和稳定性。联合优化机制同时优化神经网络参数和姿态,完善地图表示,同时确保精确定位。
CP-SLAM作为一种协作神经隐式SLAM方法,其特点是包含前端和后端模块的统一框架
。核心是利用与关键帧相关的基于神经点的3D场景表示。这允许在姿态优化期间进行无缝调整,并增强协作映射能力。利用独特的学习策略,CP-SLAM采用分布式到集中式的方法,确保多个代理之间的一致性和协作。该方法的前端模块使用神经点云和可微分体积渲染实现高效的里程计、建图和跟踪。此外,CP-SLAM还实现了循环检测和子图对齐技术,以减轻姿态漂移。该方法以全局优化技术如姿态图优化和地图细化作为总结。
NISB-Map使用多个小型MLP网络,遵循iMAP的设计,以紧凑的空间块表示大规模环境。与深度先验的稀疏射线采样相结合,这使得室内映射在低内存使用下可扩展
。然而,稀疏射线采样可能导致相邻空间块之间的密度水平不一致,导致密度不一致。为了解决这个问题,实施了重叠神经隐式空间块(NISB)的蒸馏程序,有效地最小化了密度变化,并确保了几何一致性。在此过程中,最后训练的NISB的知识作为教师,并且仅在与当前NISB的重叠区域中进行蒸馏。这确保了连续性,同时减少了与额外训练全局NISB相比的计算和训练时间。
Multiple-SLAM引入了一种新颖的协作隐式SLAM框架,以解决灾难性遗忘问题。通过使用多个SLAM代理处理场景块,它最小化了轨迹和映射误差
。系统在前端使代理能够独立操作,同时也促进了后端服务器中的地图信息共享和融合。具体来说,该架构通过协作姿态估计和地图融合过程实现复杂场景重建。姿态估计过程通过两阶段方法有效确定代理之间的相对姿态:通过基于NetVLAD的全局描述符提取模型匹配关键帧,并通过隐式重定位过程微调代理间姿态。相反,地图融合阶段使用浮点稀疏体素八叉树精确对齐本地地图。此外,为了更准确和高效地进行地图融合,该方法通过基于观察置信度去除冗余体素来解决重叠区域。
图 8:子图可视化。沿扫描轨迹逐步分配的神经子图在其专用的局部坐标系中对精确的场景几何形状和颜色进行编码。图来自 [126]。
MIPS-Fusion为在线密集RGB-D重建引入了一种分而治之的映射方案,使用无网格、纯粹的神经方法,具有增量分配和多神经子图的即时学习
,如图8所示。它还通过局部捆绑调整、后端优化的分布式细化和循环闭合的全局优化,实现了有效的即时学习。此外,该方法包括一个混合跟踪方案,通过粒子滤波结合基于梯度的和随机优化,确保在快速相机运动下特别稳健的性能。关键特点包括用于有效拟合评估的深度到TSDF损失、用于基于分类的TSDF预测的轻量级网络,以及支持并行子图细化。值得注意的是,MIPS-Fusion通过共视阈值检测循环闭合,这不允许纠正大的漂移。
NGEL-SLAM[127]利用两个模块,即跟踪和建图模块,将ORB-SLAM3[111]的鲁棒跟踪能力与多个隐式神经地图提供的场景表示相结合
。系统通过三个并发过程——跟踪、动态局部建图和闭环——确保全局一致性和低延迟
。基于ORB-SLAM3的跟踪模块估计实时相机姿态并识别关键帧,然后在动态局部映射阶段对关键帧进行处理,以进行局部BA和高效的场景表示训练
。闭环使用全局BA优化姿态,系统使用多个局部地图,最小化重新训练时间,确保对跟踪姿态的显著变化做出快速响应。系统进一步整合了基于不确定性的图像渲染以优化子图选择,其场景表示基于稀疏的八叉树网格和隐式神经地图,实现内存效率和环境的准确表示。
PLGSLAM[128]提出的进步场景表示方法将整个场景划分为多个局部场景表示,允许扩展到更大的室内场景并提高鲁棒性。作为局部场景表示,系统使用轴对齐的三平面来表示高频特征,使用MLP表示全局低频特征。这允许进行准确和平滑的表面重建
。此外,它将内存增长从与场景大小的立方关系降低到平方关系,提高了场景表示效率。此外,系统将传统的SLAM与端到端的姿态估计网络相结合,引入了从局部到全局的BA算法,以减少大规模室内场景中的累积误差
。在操作过程中有效管理关键帧数据库,实现了跨所有过去观测的无缝BA。
Loopy-SLAM[129]利用神经点云作为子图进行局部映射和跟踪。该方法采用基于数据的点基子图生成方法进行帧到模型跟踪,根据场景探索期间的相机运动动态扩展子图
。全局位置识别触发在线闭环,实现子图和轨迹的全局对齐的鲁棒姿态图优化。基于点的表示便于在不存储整个输入帧历史的情况下进行高效的地图修正,与以前的方法如[91]相比。系统解决了相机跟踪中误差累积的挑战,并避免了重叠区域中可见的接缝。
NEWTON[130]大多数神经SLAM系统使用单一神经场模型的以世界为中心的地图表示
。然而,这种方法在捕获动态和实时场景时面临挑战
,因为它依赖于准确和固定的先验场景信息
。在广泛的映射场景中,这可能是特别有问题的。作为回应,NEWTON引入了一种以视图为中心的神经场基础映射方法,旨在克服这些限制。与现有方法不同,NEWTON动态构建多个神经场模型,每个模型都表示为基于实时观测的球坐标系统中的多分辨率特征网格[54],并允许通过闭环和场景边界调整进行相机姿态更新
。这是通过与ORB-SLAM2[99]的相机跟踪组件
的协调来促进的。
Vox-Fusion++[131]扩展了原始的Vox-Fusion[88],结合了稀疏体素嵌入和神经隐式网络
。具体来说,它使用动态八叉树结构来管理体素嵌入,允许地图的高效即时扩展。神经隐式网络被训练来回归有符号的距离值
。为了处理大规模场景,Vox-Fusion++采用了多地图方法。每个地图都是逐步构建和独立优化的。在不同地图之间执行闭环检测和层次姿态优化,以减少长期漂移并消除重复的几何形状
。这种多地图策略使得能够重建大型室内场景并进行协作映射
。
MUTE-SLAM[132]使用具有三平面哈希编码的多地图表示,以高效地重建场景
。该方法的关键贡献包括为新观察到的区域动态分配子图,以及在每个子图中使用三个正交轴对齐的平面进行哈希编码场景属
性,与基于网格的表示相比,减少了哈希冲突和可训练参数
。子图中的TSDF和颜色特征使用单独的多层感知器进行解码,并在体积渲染过程中用于共同优化子图和相机姿态。优化策略同时优化与当前相机截锥体相交的所有子图,确保全局一致性,同时定期进行全局捆绑调整,以进一步细化姿态和场景表示。
3.1.4 Semantic RGB-D SLAM
作为SLAM系统运行,这些方法论在包括映射和跟踪过程的同时,还融入了语义信息以增强对环境的理解。这些框架为对象识别或语义分割等任务量身定制,提供了一种全面的场景分析方法——识别和分类对象和/或有效地将图像区域归类到特定的语义类别(例如桌子、椅子等)。
图 9:语义可视化。3D 语义网格(底部)及其使用 RGB 颜色的分解(顶部),适用于 Replica [78] 数据集中的两个场景。图片来自 [141]。
iLabel[7]是一个新颖的系统,用于交互式地理解和分割3D场景。它使用神经场表示将3D坐标映射到颜色、体积密度和语义值。具体来说,这项工作的核心是建立在iMAP[1]的基础上。在框架内的用户交互涉及通过在场景中点击来提供注释。然后系统利用这些注释来优化其对语义标签的预测,这本质上是为场景的不同部分分配有意义的标签。该框架支持两种交互模式:一种是手动模式,用户通过点击提供语义标签;另一种是免提模式,系统根据语义不确定性自动提出标签的有信息位置,从而减少用户的努力。此外,iLabel能够在不依赖预先存在的训练数据的情况下实现高效的交互式标记。
FR-Fusion[133]这种方法将神经特征融合系统无缝集成到iMAP[1]框架中。通过结合2D图像特征提取器(EfficientNet[134]或基于DINO的[135])并增强iMAP的潜在体积渲染技术,系统有效地融合了高维特征图,同时计算和内存需求低。优先考虑“特征现实”的场景表示而不是“照片现实”的模型,场景网络递增地运行,并通过稀疏的用户交互实现动态的开放集语义分割。系统的有效性在多个任务上得到证明,包括对象分组、对象部分类别专业化和未构建区域的探索,展示了其在实际应用中的潜力。这种方法在复杂和非传统领域中特别有前景,这些领域中预先训练的语义分割网络目前存在局限性。
vMap[136]这个框架引入了一种新颖的对象级密集SLAM方法。在没有3D先验的场景中,vMAP通过为每个对象分配一个专用的MLP来高效构建全面的场景模型。这种策略有助于创建防水和完整的对象模型,即使在处理实时RGB-D输入流中的部分观察或被遮挡的对象。该方法论围绕着使用对象蒙版进行分割、高效的对象关联和通过现成的ORB-SLAM3[111]算法进行跟踪。通过这些功能的无缝集成,系统以灵活高效的方式建模3D场景。这不仅确保了对象的精确重建,还支持重新组合场景、独立跟踪不同对象和实时更新感兴趣的对象。
SNI-SLAM[137]采用神经隐式表示和分层语义编码进行多层次场景理解。关键特点包括用于协作整合外观、几何和语义特征的交叉注意力机制。分层语义映射是一个不可或缺的组件,被采用为从粗到细的优化方案,使得在节省内存资源的同时实现详细的重建。新颖的解码器设计确保了外观、几何和语义特征之间的单向交互,防止相互干扰,并产生改进的结果。此外,该方法还结合了各种损失函数(语义、特征、颜色、深度)作为场景表示和网络优化的指导。
NIDS-SLAM[139]通过动态学习在线3D几何和语义分割来增强场景感知。该算法结合了基于ORB-SLAM3[111]的经典跟踪和闭环机制以及基于神经场的映射,利用了现有方法的优势。该方法的核心在于其映射策略。一个建立在Instant-NGP[54]主干上的映射网络,并根据Neus[71]进行了调整,学习环境的SDF。该网络通过结合光度、几何和语义损失来优化其结构,在选定的像素上进行动态关键帧选择,优化计算效率。一个值得注意的贡献是使用关键帧的2D语义彩色图进行密集的3D语义分割的新方法,如[177]中所述。映射网络无缝集成了这一策略,使得在关键帧语义不一致的场景中能够精确标记。
DNS SLAM[141]利用2D语义先验的潜力,实现稳定的相机跟踪,同时并行训练类别场景表示。将语义信息与多视图几何整合,得到全面且语义分解的几何表示,这对于提高场景重建的准确性和细节至关重要。这允许重建一个语义注释的3D网格,如图9所示。此外,通过采用基于图像的特征提取和施加多视图几何约束,该框架确保了增强的颜色、密度和语义类别信息。这种方法在重建中带来了更优越的纹理捕捉和更精细的几何细节,有效地解决了其他方法中看到的过度平滑的重建问题。此外,DNS SLAM引入了一种使用轻量级粗糙场景表示的新颖实时跟踪策略,通过自监督进行训练。这种优化提高了跟踪效率,同时利用多类别表示作为伪真值。
SGS-SLAM[142]采用第一个使用3D高斯的语义密集SLAM系统。为了实现这一点,框架在映射过程中使用多通道优化,一次性整合视觉、几何和语义约束。因此,语义信息以额外的颜色通道的形式嵌入到3D高斯中,这些颜色通道针对相应的颜色关键帧的2D语义分割图进行优化。在跟踪过程中,新的关键帧的相机姿态是通过假设恒定速度相机运动模型从前一个关键帧估计的,并通过最小化渲染视图与真实图像之间的颜色、深度和语义损失来迭代细化。
SemGauss-SLAM[143]将语义特征嵌入到3D高斯表示中,以实现密集的语义映射。它直接将2D语义特征传播到3D高斯初始化中,以实现高效的映射优化。除了语义和RGB/深度损失外,还引入了特征级损失,以提供更高级别的指导。特征级损失是使用Dinov2模型[138]从图像中提取的特征计算的,这些特征与来自3D高斯表示的splatting特征进行比较。为了减少漂移,执行了语义信息的捆绑调整,通过对齐由Dinov2提取的共视帧之间的语义一致性约束,联合优化相机姿态和3D高斯表示。
NEDS-SLAM[144]是基于3DGS的语义SLAM系统。它采用了空间一致特征融合模型,结合了来自预训练模型的语义特征和来自Depth Anything[145]的外观特征,以减少不一致的语义估计的影响。使用轻量级编码器-解码器将高维语义特征压缩成紧凑的3D高斯表示,减轻了过度内存消耗的负担。NEDS-SLAM利用3DGS的优势,实现了高效且可微分的新视图渲染,并提出了一种虚拟相机视图修剪方法,以消除异常的GS点。
3.1.5 SLAM in Dynamic Environments
大多数到目前为止审查的SLAM方法都基于静态环境的基本假设,其特点是刚性、不移动的物体。虽然这些技术在静态场景中表现出了希望,但在动态环境中的性能面临着重大挑战,限制了它们在现实世界场景中的适用性。因此,在本节中,我们提供了专门设计用来解决动态环境中精确映射和定位估计挑战的方法的概述。
DN-SLAM[13]通过整合各种组件来解决动态环境中精确位置估计和地图一致性的挑战。利用ORB特征进行对象跟踪,并采用语义分割、光流和Segment Anything Model(SAM)[146],DN-SLAM有效地识别并隔离场景中的动态对象,同时保留静态区域,增强了SLAM性能。具体来说,该方法涉及使用语义分割进行对象识别,通过SAM细化动态对象分割,提取静态特征,并使用NeRF进行密集映射生成。
DynaMoN[147]框架在DROIDSLAM[28]的基础上进行了增强,增加了运动和语义分割。该方法将这些元素整合到一个密集的BA过程中,使用运动和分割掩模来加权优化过程并忽略潜在的动态像素。语义分割,由预训练的DeepLabV3[148]网络辅助,有助于为已知对象类别细化掩模,并结合基于运动的过滤来处理未知的动态元素。该研究还介绍了使用NeRF的4D场景表示,采用隐式和显式表示的组合进行有效的3D重建[178]。NeRF的优化涉及均方误差和总变化(TV)损失用于正则化,使得在动态场景中生成新视图成为可能。
DDN-SLAM[9]框架确定了动态环境中的关键挑战,如动态对象、低纹理区域以及光照和视点的显著变化。为了解决这些问题,框架包括语义感知、稀疏流约束、背景填充策略、多分辨率哈希编码和跟踪。在语义系统中,它使用条件概率场检测静态和动态特征点。同时,为潜在的动态点和关键帧创建约束以提高跟踪性能。为了减轻场景中动态对象带来的问题,框架采用了基于选择性更新体素的跳过体素策略,以对选定的关键帧和特定动态像素进行像素控制。此外,它采用语义掩模联合多分辨率哈希编码来消除动态干扰并减少重影伪影。在实现完整的捆绑调整和闭环检测时,DDN-SLAM[150]过滤了通过语义和流线程验证的特征点,以获得鲁棒的性能。
NID-SLAM[150]通过采用专门的动态处理程序来移除动态对象,解决了深度信息的不准确性,从而解决了动态环境的问题。然后引入了深度引导的语义掩模增强,以减少边缘区域的不一致性并准确检测动态对象,并使用先前视图的静态信息对遮挡区域进行背景修复。关键帧选择策略优先选择动态对象存在最少且与先前关键帧重叠有限的帧,以提高优化效率。场景表示涉及多分辨率几何和颜色特征网格。优化过程包括几何和光度损失,共同优化选定关键帧的场景表示特征和相机外参。同时,一个跟踪过程优化当前帧的相机姿态。论文建议通过解决分割网络速度和探索神经网络的预测能力来实现全面的背景修复,以实现实时性能的潜在改进。
DVN-SLAM[151]是一种动态SLAM系统,它使用局部-全局融合的神经隐式表示,结合了连续神经辐射场的全局表示和离散特征平面的局部表示的优势。系统采用基于注意力的特征融合、结果融合和信息集中损失,有效地模拟了局部细节和全局结构,同时解决了渲染过程中的不确定性。局部-全局融合表示使DVN-SLAM能够在动态场景中通过自动忽略移动对象和恢复被遮挡的背景,同时保持稳定的 scene structure modeling。
3.1.6 Uncertainty Estimation
分析输入数据中的不确定性,特别是深度传感器噪声,对于鲁棒的系统处理至关重要。这包括过滤不可靠的传感器测量或将深度不确定性纳入优化过程等任务。总体目标是防止SLAM过程中的不准确,这些不准确可能会显著影响系统精度。同时,承认神经模型重建中固有的不确定性,为评估系统可靠性增加了一个关键层面,特别是在具有挑战性的场景中。本节标志着在神经SLAM中开始探索不确定性,强调整合基于知识的(epistemic)和基于环境噪声的(aleatoric)不确定性信息作为提高整体SLAM系统性能的基本组成部分。
OpenWorld-SLAM[152]改进了NICE-SLAM[5],解决了其非实时执行、有限的轨迹估计以及由于依赖于预定义网格而难以适应新场景的挑战。为了增强在开放世界场景中的适用性,这项工作引入了新改进,包括从RGB-D图像中整合深度不确定性以进行局部精度细化、利用惯性测量单元(IMU)的运动信息,以及将NeRF划分为有限的前景网格和背景球面网格以处理多样化的环境。这些增强提高了跟踪精度和地图表示,同时保持了基于NeRF的SLAM优势。这项工作强调了需要支持基于NeRF的SLAM的专门数据集,特别是那些提供户外网格模型、运动数据和良好表征的传感器的数据集。
UncLe-SLAM[17]联合学习场景几何和偶然深度不确定性。这是通过使用与输入深度传感器相关的拉普拉斯误差分布来实现的。与现有缺乏整合深度不确定性建模的方法不同,UncLe-SLAM采用了一种学习范式,根据其估计的置信水平(无需地面真实深度或3D数据即可获得)来适应性地为不同的图像区域分配权重。这种策略性的加权机制允许UncLe-SLAM优先考虑更可靠的传感器信息,从而得到更精细的跟踪和映射结果。此外,UncLe-SLAM的适应性扩展到涉及RGB-D配置或多个深度传感器的场景。这使得系统能够处理多样化的传感器设置,其中每个传感器可能表现出不同的噪声特性。
3.1.7 Event-based SLAM
3.2 RGB-based SLAM Methodologies
本节探讨了RGB密集SLAM方法,这些方法完全依赖于彩色图像的视觉线索,消除了对深度传感器的需求,这些传感器通常对光线敏感、有噪声,并且大多数情况下只适用于室内环境。因此,使用单目或立体相机的纯RGB SLAM在RGB-D相机不切实际或成本过高的场景中受到关注,使得RGB相机成为适用于更广泛室内和室外环境的更可行的解决方案。然而,这些方法通常面临挑战,特别是在单目设置中,因为它们缺乏几何先验,导致深度模糊问题。因此,它们往往表现出由于优化约束较少而导致的优化收敛速度较慢。
图 10:DEV-Indoors 数据集概览 [14]。(a)RGB 图像描绘正常、运动模糊和黑暗场景,以及相应的 (b) 事件流和 © 地面真实网格。图片来自 [14]。
与RGB-D情况类似,我们将这些方法进行分类。我们首先检查主要的基于NeRF的(3.2.1)SLAM技术。随后,我们涵盖了在优化过程中利用外部框架进行额外监督信号的相关RGB SLAM系统(3.2.2),特别为语义估计设计的系统(3.2.3),以及最后,解决系统不确定性的方法(3.2.4)。
3.2.1 NeRF-style RGB SLAM
3.2.2 Aided Supervision
3.2.3 Semantic RGB SLAM
3.2.4 Uncertainty Estimation
3.3 LiDAR-Based SLAM Strategies
3.3.1 NeRF-style LiDAR-based SLAM
3.3.2 3DGS-style LiDAR-based SLAM
4 EXPERIMENTS AND ANALYSIS
在本节中,我们跨数据集比较了各种方法,重点关注跟踪(4.1.1节中的视觉跟踪和4.2.1节中的LiDAR跟踪)和3D重建(4.1.2节中的视觉重建和4.2.2节中的LiDAR重建)。此外,我们探索了新视角合成(4.1.3节)、语义分割(4.1.4节),并从运行时间和内存使用的角度分析了性能(4.3节)。在每个随后的表格中,我们使用粗体字强调子类别中的最佳结果,并用紫色突出显示绝对最佳结果。在我们的分析中,我们从具有共同评估协议的论文中组织了定量数据,并交叉验证了结果。我们的优先级是包括具有一致基准的论文,确保了跨多个来源的可靠比较基础。尽管不是穷尽的,但这种方法保证了我们的表格中包含了具有可验证结果和共享评估框架的方法。对于性能分析,我们使用了可用代码的方法,在共同的硬件平台上报告了运行时间和内存需求,即单个NVIDIA 3090 GPU。对于每种方法的具体实现细节,鼓励读者参考原始论文。