经典文献阅读之--GS-LIVO(在嵌入式系统部署的高斯SLAM)

0. 简介

近年来,三维高斯分布作为一种新的场景表示方法出现。然而,现有的仅视觉3D-GS方法通常依赖于手工制作的启发式点云加密,并面临处理遮挡和高GPU内存和计算消耗的挑战。激光雷达-惯性-视觉(LIV)传感器配置通过利用互补的传感特性,在定位和密集制图方面表现出卓越的性能:来自相机的丰富纹理信息,来自激光雷达的精确几何测量,以及来自IMU的高频运动数据。受此启发,《GS-LIVO: Real-Time LiDAR, Inertial, and Visual Multi-sensor Fused Odometry with Gaussian Mapping 》提出了一种新的基于高斯分布的实时同步定位与地图创建(SLAM)系统。我们的地图系统包括一个全局高斯地图和一个高斯滑动窗口,以及一个基于IESKF的里程计。全局高斯图由以递归八叉树组织的散列索引体素组成,有效地覆盖稀疏空间体积,同时适应不同级别的细节和比例。高斯图通过多传感器融合进行初始化,并使用光度梯度进行优化。我们的系统递增地维护一个高斯滑动窗口,通过仅优化滑动窗口内的映射,显著地减少了GPU计算和内存消耗。此外,我们使用迭代误差状态卡尔曼滤波器(IESKF)实现了紧密耦合的多传感器融合里程计,利用高斯地图的实时更新和渲染。我们的系统代表了第一个可在资源受限的嵌入式系统上部署的实时高斯型SLAM框架,在NVIDIA Jetson Orin NX平台上演示。该框架实现了实时性能,同时保持了稳健的多传感器融合能力。所有实现算法、硬件设计和CAD模型都将公开。目前还没开源,后面可以关注一下Github

1. 主要贡献

受到这些问题的启发,本研究旨在开发一个激光雷达-惯性-视觉里程计(LIVO)系统,该系统通过一种新颖的高斯地图表示法紧密集成激光雷达和相机测量。该工作的目标有两个:通过在高斯地图中紧密耦合的多传感器融合实现高精度定位,并显著提高高斯地图更新的效率,即使在大规模(如图1所示的空中场景)和复杂环境中也能如此。这种方法解决了当前高斯SLAM系统在实际部署中面临的关键瓶颈。总之,我们的主要贡献包括:

  • 我们引入了一种全球高斯地图表示法,结构为空间哈希索引八叉树。这种层次结构能够实现高效的全球索引、共视性检查,并固有地支持不同的细节层次(LoD),以适应大规模场景(第3节)。
  • 我们提出了一种快速初始化策略,通过融合激光雷达和视觉数据,快速生成结构良好的全球高斯地图,并实现高保真渲染(第4节)。
  • 我们提出了一种高斯滑动窗口增量方法,调度高斯以最小化维护地图的成本和计算负担,优化高斯并减少GPU内存负担(第5节)。
  • 我们提出了一种新颖的视觉测量模型,利用我们高斯地图的照片级真实感渲染能力,紧密集成激光雷达-惯性测量,采用带有顺序更新的IESKF(第6节)。

大量基准测试和实际实验表明,我们的方法显著减少了内存使用,加速了高斯地图优化,同时在室内和室外数据集中实现了具有竞争力的里程计精度,并保持了高渲染质量。

2. 方法论

GS-LIVO系统的概述如图2所示。硬件配置集成了同步的激光雷达、惯性测量单元(IMU)和相机,通过模拟的每秒脉冲(PPS)信号确保精确的时间对齐[7, 8, 55]。软件框架由四个关键模块组成:(1)一个全球高斯地图,采用空间哈希索引的八叉树结构,有效覆盖稀疏的空间体积,同时适应各种环境细节和尺度(II.A–第3节);(2)基于激光雷达和视觉信息的快速初始化和在线优化高斯,结合光度梯度(II.B–第4节);(3)局部高斯的滑动窗口增量维护,实现实时优化并最小化图形内存使用(II.C–第5节);(4)使用带有顺序更新的IESKF进行位姿优化(II.D–第6节)。我们的系统代表了一个实时SLAM框架,能够无缝集成激光雷达、惯性和视觉传感器,以实现具有竞争力的定位精度。为便于说明,我们首先在表I中定义了本节中使用的符号,概述了坐标变换、高斯属性、空间结构和优化参数。

在这里插入图片描述

图2:GS-LIVO系统概述:一种基于高斯喷溅映射的实时激光雷达-惯性-视觉里程计系统。该流程通过哈希索引的八叉树结构和滑动窗口机制,利用多传感器数据进行高斯的联合初始化和优化。

3. 全球高斯地图:哈希索引八叉树

图3展示了全球地图的结构以及我们系统中高斯的滑动策略。映射系统由两个主要组件组成:全球高斯地图和高斯的滑动窗口。全球高斯地图利用哈希索引的八叉树结构,通过空间哈希有效覆盖场景的稀疏体积。该结构可以根据环境复杂性递归细分区域,从而实现更详细和精细的地图表示。根体素的索引基于空间哈希键确定,计算公式如下:

HashKey = ⌊ W p i v s ⌋ \text{HashKey} = \lfloor \frac{^W p_i}{ v_s} \rfloor HashKey=vsWpi

其中, v s v_s vs是根体素的长度。这种方法允许在大规模环境中高效管理和索引稀疏分布的数据点

在我们的激光雷达-惯性-视觉系统中,我们使用当前帧的激光雷达数据计算空间键,从而有效识别与当前视场(FoV)对应的全球高斯地图中的根体素。这种方法有助于识别空间环境中的共视性关联,确定从当前视点可观察的区域,从而为后续处理提供准确的地图信息。然而,由于哈希索引存储的非连续性,直接在GPU上处理高斯参数以进行并行优化受到限制。非连续的内存布局导致GPU访问和处理效率低下,引入了不必要的延迟。

为了解决这个问题,我们设计了一种专门的高斯滑动窗口,专门用于维护视场内的高斯,采用连续的内存布局以确保高斯参数的高效GPU处理。具体而言,整个大规模环境的高斯数据存储在全球高斯地图中的随机存取内存(RAM)中,采用非连续的哈希八叉树结构,而仅视场内的高斯则存储在连续的RAM区域中,并在视频随机存取内存(VRAM)中保留一个副本。当需要优化高斯参数时,这些参数会从RAM转移到VRAM,从而允许GPU高效地进行并行优化。优化过程完成后,更新后的高斯会从VRAM转回RAM,以保持全球地图的一致性。与通常有限且不可扩展的图形内存不同,RAM提供了更大的容量,并且可以通过交换空间轻松扩展,从而能够处理更大和更复杂的场景。这种设计不仅提高了GPU处理的效率,还确保了系统在处理大规模数据集时的稳定性和可靠性,如图3所示。

在这里插入图片描述

图3:增量更新高斯滑动窗口的过程概述(详见第5节)

4. 高斯的初始化与优化

当接收到新的激光雷达和相机帧时,针对密集激光雷达点实施基于体素的地图下采样,以减轻GPU内存消耗。与其他方法(如[33, 34, 51])使用边界进行选择不同,我们采用八叉树的叶节点体素,在三维空间中对物体表面进行采样。通过选择每个体素内的激光雷达点,场景得以更高效地表示。如果叶体素未填满,则将使用激光雷达和相机粗略初始化新的高斯,如图2所示,并插入到叶体素中。

4.1 激光雷达-相机高斯联合初始化

在此步骤中,结构参数使用激光雷达进行初始化。具体而言,高斯的缩放矩阵 S S S根据哈希体素的级别进行初始化,表达如下:

S i ( s ) = ( s δ 0 0 0 s y 0 0 0 s z ) (2) S_i(s) = \begin{pmatrix}s_\delta & 0 & 0 \\0 & s_y & 0 \\0 & 0 & s_z\end{pmatrix} \tag{2} Si(s)= sδ000sy000sz (2)

值得注意的是,高斯被建模为附着在物体表面的二维平面。 s δ s_\delta sδ是一个超参数,表示一个较小的数值,用于建立切片特征。高斯的旋转矩阵使用表面的法向量 W n i ^W{n_i} Wni进行初始化,该法向量源自激光雷达-惯性SLAM系统[56]。

W R i = ( e x × W n i ∥ e x × W n i ∥ W n i × ( e x × W n i ∥ e x × W n i ∥ ) ) (3) ^WR_i = \begin{pmatrix} \frac{e_x \times ^Wn_i} {\\\|e_x \times ^Wn_i\|} & ^Wn_i \times (\frac{e_x \times ^Wn_i }{\|e_x \times ^Wn_i\|})\end{pmatrix} \tag{3} WRi=(ex×Wniex×WniWni×(ex×Wniex×Wni))(3)

其中 e x e_x ex是x轴上的法向量。

最后,高斯的协方差矩阵构建如下:

Σ 3 D i = ( W R i S i ) ( W R i S i ) T (4) \Sigma_{3D_i} = (^WR_i S_i)(^WR_i S_i)^T \tag{4} Σ3Di=(WRiSi)(WRiSi)T(4)

在光栅化过程中, α i \alpha_i αi的影响通过二维高斯 N ( q i , Σ 2 D ) N(q_i, \Sigma_{2D}) N(qi,Σ2D)与不透明度 σ i \sigma_i σi的乘积来确定。**二维高斯的形成**涉及将三维高斯 N ( W p i , Σ 3 D ) N(W_{pi}, \Sigma_{3D}) N(Wpi,Σ3D)投影到屏幕空间,如方程(5)和(6)所示。

q i = π ( C T W W p i ) (5) q_i = \pi(^CT_W {^Wp_i}) \tag{5} qi=π(CTWWpi)(5)

Σ 2 D i = ( J π C R W ) Σ 3 D i ( J π C R W ) T (6) \Sigma_{2D_i} = (J_\pi {^CR_W}) \Sigma_{3D_i} (J_\pi {^CR_W})^T \tag{6} Σ2Di=(JπCRW)Σ3Di(JπCRW)T(6)

数学推导可以参考这篇文章:https://zhuanlan.zhihu.com/p/666465701

在这里插入图片描述

其中, π \pi π表示投影变换。投影变换 π \pi π的线性近似由雅可比矩阵 J π J_\pi Jπ表示。此外, C T W ∈ S E ( 3 ) ^CT_W \in SE(3) CTWSE(3)表示从世界坐标系到相机坐标系的变换, C R W ^CR_W CRW表示其旋转分量。

4.2 滑动窗口中的高斯实时优化(最关键内容)

球面谐波系数的零阶通过对相机捕获的图像进行双线性插值进行初始化,而高阶则初始化为零。如下面的方程所示,利用双线性插值计算投影非整数像素的颜色。

c ( q i ) = ∑ j = 1 4 c j ⋅ A j (7) c(q_i) = \sum_{j=1}^{4} c_j \cdot A_j \tag{7} c(qi)=j=14cjAj(7)

c ( q i ) c(q_i) c(qi)计算的值表示相邻像素颜色的加权和。权重因子 A i A_i Ai其邻近像素对应的面积相关

初始化后,高斯将进一步通过光度梯度进行优化。优化过程概述如下:

首先,高斯根据以下公式渲染图像 I ^ k \hat{I}_k I^k,采用α混合:

I ^ k ( q i ) = ∑ i = 1 M [ c i σ i G i 2 D ( q i ) ∏ j = 1 i − 1 ( 1 − σ j G j 2 D ( q j ) ) ] (8) \hat{I}_k(q_i) = \sum_{i=1}^{M} [c_i \sigma_i G^{2D}_i(q_i) \prod_{j=1}^{i-1} (1 - \sigma_j G^{2D}_j(q_j))] \tag{8} I^k(qi)=i=1M[ciσiGi2D(qi)j=1i1(1σjGj2D(qj))](8)

其中, G i 2 D ( q i , Σ 2 D ) G^{2D}_i(q_i, \Sigma_{2D}) Gi2D(qi,Σ2D)表示通过施加姿态变换和局部仿射变换[57]从 G i 3 D ( C p i , Σ 3 D ) G^{3D}_i(C_{pi}, \Sigma_{3D}) Gi3D(Cpi,Σ3D)导出的二维高斯。参数 σ i ∈ [ 0 , 1 ] \sigma_i \in [0,1] σi[0,1]表示与高斯相关的不透明度 M M M表示影响该像素的高斯数量。

为了优化高斯地图参数,我们考虑以下优化问题:

θ k − 1 ∗ = arg ⁡ min ⁡ θ k − 1 ∑ G i 3 D ∈ θ k − 1 ∥ I k − 1 − I ^ k − 1 ( W T C ; θ k − 1 ) ∥ (9) \theta^*_{k-1} = \arg\min_{\theta_{k-1}} \sum_{G^{3D}_i \in \theta_{k-1}} \|I_{k-1} - \hat{I}_{k-1}(^WT_C; \theta_{k-1})\| \tag{9} θk1=argθk1minGi3Dθk1Ik1I^k1(WTC;θk1)(9)

其中, θ k − 1 \theta_{k-1} θk1表示当前视野内高斯元素的结构参数和球面谐波系数。通过最小化这一光度损失,我们迭代调整 θ k − 1 \theta_{k-1} θk1,使得渲染图像 I ^ k − 1 \hat{I}_{k-1} I^k1更好地匹配观察到的图像 I k − 1 I_{k-1} Ik1。我们采用Adam优化器高效地解决此问题,更新高斯参数,以实现更准确且视觉一致的地图表示。

5. 高斯滑动窗口的维护

为了提高内存效率和优化计算速度,我们将优化范围限制在高斯滑动窗口内的高斯上。通过将优化范围限制在高斯滑动窗口内的高斯,我们可以显著提升优化速度并减少内存消耗。这种有针对性的方法不仅简化了计算过程,还最小化了视频内存的使用,从而提高了性能。此外,这一限制有助于避免在原始3D-GS实现中与基于瓦片的深度排序相关的混叠效应。在原始的3D-GS中,基于瓦片的深度排序可能会无意中导致前景点污染背景,从而引发视觉伪影和深度表示的不准确。通过将优化限制在高斯滑动窗口内,我们减轻了这些混叠问题,确保前景和背景元素之间的更清晰分离,从而改善深度排序过程的整体质量。

从全局高斯地图重建每帧的高斯滑动窗口天真地需要大量的内存复制,这会导致显著的计算开销。然而,连续帧通常共享场景的大部分内容,使得这一过程中的许多努力变得多余。为了利用帧之间的显著重叠,我们引入了一种增量更新策略来维护高斯滑动窗口。这种方法显著减少了不必要的内存传输,增强了实时性能,并在处理大型复杂环境时更具可扩展性。

如图3所示,维护高斯滑动窗口涉及以下关键组件:

  • 空间哈希表(SHT):一种基于哈希的索引结构,将空间坐标映射到CPU内存中的内存指针。这确保了快速查找和高效组织高斯参数。
  • CPU高斯缓冲区(CGB):CPU内存中用于存储当前活动体素的高斯参数的连续内存区域。这种紧凑的布局使得数据能够快速传输到GPU。
  • GPU高斯缓冲区(GGB):在GPU上分配的内存块,通过提供对高斯数据的直接访问,促进并行处理和快速渲染。

高斯滑动窗口的增量维护涉及五个步骤:

步骤1(更新到全局地图):识别来自前一帧高斯滑动窗口的高斯体素,这些体素仍然位于当前视野内(OVERLAP)。位于视野外的体素将其优化参数复制回全局高斯地图以进行持久存储,并标记为DELETE。

步骤2(删除与压缩):将标记为DELETE的体素的高斯参数与滑动窗口序列末尾的体素交换。重新定位所有可删除的体素后,从末尾移除它们,从而保持内存的连续性。

步骤3(重叠与添加):使用当前激光雷达帧派生的空间哈希键,我们识别与前一帧滑动窗口中的体素重叠的体素(OVERLAP),并确定需要集成到当前视野滑动窗口中的新区域(ADD)。

步骤4(附加新叶体素):将所有体素(ADD)附加到CPU高斯缓冲区(CGB)的末尾,并相应地更新空间哈希表(SHT)。随后,将高斯数据从CGB(主机内存)直接传输到GGB(设备内存),确保滑动窗口中的高斯可以被GPU进一步优化并立即渲染。该方法通过仅增量更新可见性变化的体素,而不是重新加载整个滑动窗口,显著减少了冗余内存操作。此外,将优化限制在当前视野内的高斯上减少了计算消耗,从而增强了实时性能。此外,利用CPU内存的可扩展性和充足容量,使系统能够更好地处理更大和更复杂的环境,提高了鲁棒性和效率。

6. 状态估计

基于高斯渲染的特性,我们重新设计了FAST-LIVO2的视觉更新管道。我们不再将当前帧的补丁扭曲到参考帧以计算光度误差,而是通过将从高斯地图渲染的图像与实际图像进行比较,均匀地计算当前帧上的光度损失。这种优化的收敛性得益于高斯渲染的平滑和可微性,正如MonoGS所示。正如图2所示,我们的里程计系统通过使用改进自FAST-LIVO2的IESKF进行顺序更新,紧密集成了激光雷达和图像测量。我们的视觉模块基于半稠密方法,与文献[7, 8]相同。然而,与Zheng等人[8]不同,我们使用的是稠密高斯地图,而不是稀疏视觉地图。

首先,我们在当前视野中采用优化后的高斯地图,通过激光雷达-惯性更新的位姿渲染新视图。基于高斯渲染的特性,我们重新设计了FAST-LIVO2的视觉更新管道。我们不再将当前帧的补丁扭曲到参考帧以计算光度误差,而是通过将从高斯地图渲染的图像与实际图像进行比较,均匀地计算当前帧上的光度损失。对于视觉测量模型,我们最小化以下光度残差:

W T C ∗ = arg ⁡ min ⁡ T ( ξ ) ∑ G i 3 D ∈ θ k − 1 ∥ I k − I ^ k W T C ; θ k − 1 ∥ 2 ^WT_C^* = \arg\min_{T(\xi)} \sum_{G^{3D}_i \in \theta_{k-1}} \| I_k - \hat{I}_k {^WT_C}; \theta_{k-1} \|^2 WTC=argT(ξ)minGi3Dθk1IkI^kWTC;θk12

其中, θ k − 1 \theta_{k-1} θk1表示用于构建光度误差的 G i 3 D G^{3D}_i Gi3D集合, ξ \xi ξ表示待优化的相机位姿 W T C ^WT_C WTC的李代数。通过最小化方程(10),我们迭代优化 ξ \xi ξ,使得从高斯地图渲染的图像 I k \mathbb{I}_k Ik与观察到的图像 I k I_k Ik最佳匹配。

如图4所示,高斯地图在当前帧的估计相机位姿下进行渲染。为了进行比较,我们使用不同的补丁大小设置将参考帧的补丁扭曲到当前帧(以模拟FAST-LIVO2方法中使用的不同金字塔级别)。随着补丁大小(和金字塔级别)的增加,可以明显观察到补丁之间出现接缝。然而,我们的高斯地图表示不仅能够实现无缝渲染,还能够以光真实感的质量渲染非朗伯表面,这突显了我们基于高斯方法的方案的优势。

在这里插入图片描述

图4:地图表示精细度与基于补丁的方法的比较。(a)和(b)分别展示了使用补丁大小为32和64的扭曲变换结果。©展示了高斯渲染结果,而(d)则呈现了参考(真实)图像。

我们从高斯渲染的光度损失推导出IESKF基础估计器的IMU位姿更新的雅可比矩阵。与MonoGS[51]类似,光度损失与相机位姿之间的雅可比矩阵的推导如方程(11)至方程(14)所示




根据您提供的样式,我将所有公式的结构调整为与您给出的图片格式一致:

∂ q i ∂ W R I = ∂ q i ∂ C p i ∂ C p i ∂ C R W ∂ C R W ∂ W R I ( 11 ) \frac{\partial q_i}{\partial ^W R_I} = \frac{\partial q_i}{\partial ^C{p_i}} \frac{\partial ^C{p_i}}{\partial ^CR_W} \frac{\partial ^CR_W}{\partial ^WR_I} \quad (11) WRIqi=CpiqiCRWCpiWRICRW(11)

好的,以下是根据您的要求重新生成的内容:

∂ q i ∂ W R I = ∂ q i ∂ C p i ∂ C p i ∂ C R W ∂ C R W ∂ W R I ( 11 ) \frac{\partial q_i}{\partial ^W R_I} = \frac{\partial q_i}{\partial ^C{p_i}} \frac{\partial ^C{p_i}}{\partial ^C R_W} \frac{\partial ^C R_W}{\partial ^W R_I} \quad (11) WRIqi=CpiqiCRWCpiWRICRW(11)

∂ q i ∂ W t I = ∂ q i ∂ C p i ∂ C p i ∂ C t W ∂ C t W ∂ W t I + ∂ q i ∂ C p i ∂ C p i ∂ C R W ∂ C R W ∂ W t I ( 12 ) \frac{\partial q_i}{\partial ^W t_I} = \frac{\partial q_i}{\partial ^C{p_i}} \frac{\partial ^C{p_i}}{\partial ^C t_W} \frac{\partial ^C t_W}{\partial ^W t_I} + \frac{\partial q_i}{\partial ^C{p_i}} \frac{\partial ^C{p_i}}{\partial ^C R_W} \frac{\partial ^C R_W}{\partial ^W t_I} \quad (12) WtIqi=CpiqiCtWCpiWtICtW+CpiqiCRWCpiWtICRW(12)

∂ Σ 2 D ∂ W R I = ∂ Σ 2 D ∂ J π ∂ J π ∂ C p i ∂ C p i ∂ C R W ∂ C R W ∂ W R I + ∂ Σ 2 D ∂ C R W ∂ C R W ∂ W R I ( 13 ) \frac{\partial \Sigma_{2D}}{\partial ^W R_I} = \frac{\partial \Sigma_{2D}}{\partial J_\pi} \frac{\partial J_\pi}{\partial ^C{p_i}} \frac{\partial ^C{p_i}}{\partial ^C R_W} \frac{\partial ^C R_W}{\partial ^W R_I} + \frac{\partial \Sigma_{2D}}{\partial ^C R_W} \frac{\partial ^C R_W}{\partial ^W R_I} \quad (13) WRIΣ2D=JπΣ2DCpiJπCRWCpiWRICRW+CRWΣ2DWRICRW(13)

∂ Σ 2 D ∂ W t I = ∂ Σ 2 D ∂ J π ∂ J π ∂ C p i ∂ C p i ∂ C t W ∂ C t W ∂ W t I + ∂ Σ 2 D ∂ J π ∂ J π ∂ C p i ∂ C p i ∂ C R W ∂ C R W ∂ W t I ( 14 ) \frac{\partial \Sigma_{2D}}{\partial ^W t_I} = \frac{\partial \Sigma_{2D}}{\partial J_\pi} \frac{\partial J_\pi}{\partial ^C{p_i}} \frac{\partial ^C{p_i}}{\partial ^C t_W} \frac{\partial ^C t_W}{\partial ^W t_I} + \frac{\partial \Sigma_{2D}}{\partial J_\pi} \frac{\partial J_\pi}{\partial ^C{p_i}} \frac{\partial ^C{p_i}}{\partial ^C R_W} \frac{\partial ^C R_W}{\partial ^W t_I} \quad (14) WtIΣ2D=JπΣ2DCpiJπCtWCpiWtICtW+JπΣ2DCpiJπCRWCpiWtICRW(14)

这一更新系统地从相机位姿扩展到IMU位姿,并集成在IESKF框架内,如方程(15)至方程(17)所示。

∂ C R W ∂ W R I = − I R C T ( 15 ) \frac{\partial ^C R_W}{\partial ^W R_I} = -^I{R_C}^T \quad (15) WRICRW=IRCT(15)

∂ C t W ∂ W t I = − W R C T ( 16 ) \frac{\partial ^C t_W}{\partial ^W t_I} = -^W R_C^T \quad (16) WtICtW=WRCT(16)

∂ C R W ∂ W t I = − C t I ∧ C R W ( 17 ) \frac{\partial ^C R_W}{\partial ^W t_I} = -^C t^{\wedge C}_I R_W \quad (17) WtICRW=CtICRW(17)

值得强调的是,大多数基于高斯点云的SLAM方法主要依赖优化器来计算相机位姿更新。通常,这些方法并不评估更新后位姿的协方差;然而,位姿及其协方差可以进一步传播到下一个传感器更新,如IMU和LiDAR,并有助于形成紧密耦合的IESKF系统。

在这里插入图片描述

图5:三种不同真实场景的映射结果(a)-(c)。顶 row:来自相机位置的渲染结果。中 row:来自漫游视角的渲染结果。底 row:场景高斯的形状。

7. 总结

翻译如下:

结论

在本文中,我们提出了GS-LIVO,这是一种新颖的实时SLAM系统,结合了传统的激光雷达-惯性视觉里程计与新颖的3D高斯点云映射表示。通过用基于高斯的场景表示替代传统的彩色点云和稀疏贴图,我们的系统实现了准确的定位和高保真的映射。我们的主要贡献包括:(1)一种空间哈希索引的八叉树结构,用于高效的全局高斯地图管理;(2)激光雷达与视觉的联合初始化,以实现高保真的映射;(3)一种增量滑动窗口策略,用于实时地图优化;(4)一个紧密耦合的多传感器融合框架,采用增量扩展卡尔曼滤波(IESKF)。尽管现有的基于高斯的SLAM系统通常能够实现实时定位,但在实时地图更新方面却面临挑战,我们的系统利用传统多传感器融合的优势,保持高频率的地图更新,同时实现紧密耦合的里程计。值得注意的是,GS-LIVO是首个成功部署在NVIDIA Jetson Orin NX平台嵌入式系统上的基于高斯的SLAM系统,展示了其在实际机器人应用中的潜力。大量实验表明,GS-LIVO在室内和室外环境中均表现出卓越的性能,相较于现有方法,减少了内存消耗和优化时间,同时保持了高渲染质量。

我们的基于八叉树的高斯地图有效地表示了场景;然而,进一步的研究可以探讨自适应细节层次技术,以考虑视距、结构复杂性和纹理丰富度。此外,对于均匀区域,合并颜色相似的高斯点可以进一步优化内存使用和计算效率。然而,这些高级体素管理机制将引入额外的复杂性,值得仔细研究。

为了充分利用公众号的碎片化时间,我们精心整理了经典博客文章、面试经验和一线开源项目等优质内容,并进行系统化的分享。这些资源不仅涵盖了前沿技术和行业动态,还提供了实用的学习和实战经验,使读者能够在短时间内快速获取有价值的信息。通过这种方式,我们希望帮助大家在忙碌的生活中有效利用零散时间,持续补充和深化知识,提升自身的专业素养和竞争力。无论是在通勤途中还是闲暇时光,都能轻松获取知识,助力个人成长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敢敢のwings

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值