
# GS-LIVM：基于高斯泼溅的实时照片级真实感激光雷达-惯性-视觉建图系统

谢宇森 $^{1}$ 黄振敏 $^{2}$ 吴进 $^{2}$ 马军 $^{1,2}$

$^{1}$机器人及自主系统方向

香港科技大学（广州）

$^{2}$电子与计算机工程系

香港科技大学

{<mailto:yxie827@connect.hkust-gz.edu.cn>; <mailto:zhuangdf@connect.ust.hk>; <mailto:jwucp@connect.ust.hk>; <mailto:jun.ma@ust.hk>}

<https://github.com/xieyuser/GS-LIVM>

![Image](images/85e421e52a122770ade18405b866e0643eebf233f903492e786566f1af9a5bcf.jpg)

<div style="text-align: center;">Figure 1. Illustration of our photo-realistic mapping results on Botanic Garden Sequence 1018_13. The pink dashed line represents the running trajectory, with the entire trajectory being approximately 200 meters. The green square is the starting point and the red pentagram is the endpoint. The rendering images at different locations are shown in the corners. The quantitative metrics are shown in the table.</div>

## 摘要

本文提出了GS-LIVM，这是一种面向户外场景、基于高斯泼溅的实时照片级真实感激光雷达-惯性-视觉建图框架。与现有的基于神经辐射场（NeRF）和3D高斯泼溅（3DGS）的方法相比，我们的方法能够在实现实时照片级真实感建图的同时，确保在大规模无边界户外环境中生成高质量的图像。在本研究中，我们采用高斯过程回归（GPR）来缓解由稀疏且分布不均的激光雷达观测数据引发的问题。基于体素的三维高斯地图表示方式，配合定制化的CUDA内核加速，可实现大型户外环境中的实时密集建图。此外，整个框架采用以协方差为中心的设计思路，同时会输出估算得到的协方差信息。

我们利用该协方差来初始化三维高斯模型的尺度和旋转参数，同时更新GPR的相关参数。我们在多个户外数据集上对算法进行了评估，结果表明该方法在建图效率和渲染质量方面均达到了业界领先水平。源代码已在GitHub上开源。

### 1. 引言

在过去二十年中，同步定位与建图（SLAM）已成为推动机器人技术[^6]和自动驾驶领域[^4] [^5]发展的关键技术。通常，它依赖于利用稀疏特征表示的传感器融合技术[^18] [^19] [^42] [^43] [^48] [^52]。尽管这些方法在各种场景下都表现出色，但在实现高质量的三维重建和照片级渲染方面仍存在局限。

---

随着强大的神经场景表示技术的出现，尤其是神经辐射场（NeRF）[^22] [^27]和3D高斯泼溅（3DGS）[12–14]，SLAM研究领域开始发生转变。这种范式转变促成了照片级逼真的神经SLAM方法的诞生，它们显著提升了新视角合成（NVS）和环境表示的保真度。

尽管取得了这些进展，但如何将这类新型场景表示技术应用于大规模无边界户外场景仍是一个未解决的问题。现有方法在利用RGB-D传感器[^8] [^12] [^21] [^35] [^44] [^49]和单目相机[^8] [^21]的室内环境中表现出了卓越的性能。然而，当应用于户外场景时，其适用性却受到限制——因为户外场景的数据采集通常依赖多线旋转激光雷达和非重复扫描激光雷达。此外，点云扫描轨迹的不确定性进一步加剧了点云分布不均的问题。在户外SLAM场景中，物体运动往往呈单向性，这导致在优化3D高斯模型时，模型会过度偏向相机方向[^13] [^21]。这种方向偏差会导致从新视角观察时渲染质量显著下降。已有多项研究[^7] [^16] [^46] [^54]尝试将密集神经场景表示与传统的户外场景SLAM框架相结合，但仍面临诸多挑战。离线建图所需的漫长优化时间可能导致3D高斯表示过度拟合特定视角的监督信息，从而使得这些特定视角下的图像评估指标较高[^7] [^46] [^54]。这不仅导致处理效率低下，还会降低新视角的图像合成质量，凸显出开发高效且通用的户外SLAM系统的复杂性。

基于上述讨论，我们提出了GS-LIVM算法，以实现大规模无边界户外场景下的实时照片级真实感3DGS重建。我们的方法首先采用紧耦合的激光雷达-惯性-视觉里程计[^18] [^48]来进行精确的状态估计及彩色点云的坐标转换。为解决激光雷达点云固有的稀疏性和分布不均问题，我们在照片级真实感建图过程中应用高斯过程回归（GPR）[^17] [^28] [^31]来预测均匀分布的点云。GPR模块输出的协方差信息不仅用于更新GPR参数，还能辅助初始化3D高斯的尺度和旋转，从而加速3D高斯的优化过程。我们进一步利用激光雷达对环境的新观测数据来迭代更新GPR参数及3D高斯结构。通过不断利用协方差估计值和图像渲染数据进行框架优化，我们最终实现了户外场景下的高质量3D照片级真实感重建与渲染。图1展示了我们在Botanic Garden 1018_13序列中实现的实时照片级真实感建图结果。据作者所知，我们的成果是首个专为大规模无边界户外场景中的激光雷达-惯性-视觉融合应用设计的实时照片级真实感SLAM框架。

本文的主要贡献总结如下：

- 我们采用体素级GPR（Voxel-GPR）来构建均匀的点云网格，从而有效解决激光雷达观测数据稀疏且分布不均的问题。Voxel-GPR能够在不牺牲性能的前提下，使用比原始输入更少的三维高斯模型，大幅降低GPU内存占用，同时提升三维高斯模型的优化速度。

- 我们针对三维高斯的尺度和旋转参数开发了快速初始化技术，从而实现地图扩展过程中的快速收敛。该方法缓解了传感器平台快速移动时因优化迭代次数不足导致的渲染质量下降问题。

- 我们设计了一种以方差为核心的迭代优化框架，用于逐步降低噪声并加快Voxel-GPR模块的收敛速度。此外，利用激光雷达的新观测数据，我们在现有的三维高斯地图中引入了结构相似性正则化项，从而增强NVS的鲁棒性。

- 我们使用多种激光雷达、惯性测量单元和摄像头配置，在各种户外SLAM数据集上进行了全面验证。结果证明，我们的算法在大规模无边界户外场景中能够实现实时照片级真实感绘图，同时保证高质量的图像渲染效果。

### 2. 相关工作

传统多传感器融合SLAM。传统的SLAM系统通常依赖基于滤波的[^42] [^43] [^52] [^53]或基于图的[^32] [^33] [^50]求解器来进行自我状态估计，这类方法通常能够实现鲁棒、精确且快速的定位性能。近期发展起来的激光雷达-惯性-视觉SLAM系统成为了一种多功能框架，它具备高速运动补偿能力、精确的几何结构信息以及丰富的纹理信息[^18] [^19] [^33] [^52]，能够有效缓解复杂环境中的相关问题。不过，这些方法仍主要侧重于几何绘图，限制了其实现光度图像渲染的能力。

基于NeRF的SLAM。NeRF利用多层感知机（MLP）神经网络和体积渲染来实现隐式...

---

该系统能够快速学习3D场景，网络会存储场景的结构信息[^22]。不过，这种方法在大规模环境中会导致计算时间显著增加。此外，基于NeRF方法的主要缺陷在于其跨不同场景的泛化能力极差。一些方法将体素[^47] [^55]或哈希三平面[^11] [^29] [^38]表示与多层感知机结合，以此构建地图，从而实现更大区域的重建。NeRF-SLAM[^27]利用从DROID-SLAM[^37]估算出的密集深度图作为额外信息，来指导InstantNGP[^23]的训练。$H_{2}$-Mapping[^9]和$H_{3}$-Mapping[^10]采用分层混合表示法来增强重建效果，借助RGB-D相机在室内场景中取得了令人瞩目的性能。NeRF-LOAM[^3]和EINR[^45]在大规模环境中表现更佳，但它们主要侧重于几何结构重建而非照片级真实感渲染。尽管有上述进展，隐式表示方法在实时性能方面仍面临挑战，尤其是在室外场景中。

基于3DGS的SLAM技术。为提高计算效率，3DGS采用基于球体的显式场景表示法，用快速的光栅化取代了耗时的基于射线的体积渲染。该方法加快了神经视觉合成的速度，并产生了出色的渲染质量。针对照片级真实感地图构建，SplaTAM[^12]、Gaussian-SLAM[^49]和GS-SLAM[^44]等方法展现了3DGS相较于传统地图表示法在SLAM任务中的巨大优势。MonoGS[^21]利用单个RGB传感器，并引入几何正则化来解决增量重建中的歧义问题，在小规模场景中利用单目图像便取得了不错的效果。此外，Photo-SLAM[^8]借助经典的视觉里程计方法ORB-SLAM3[^1]来进行精确的状态估计，并构建集成ORB特征的混合高斯地图。它们通常依赖RGB-D/RGB相机传感器来实现室内场景的照片级真实感重建。另一方面，DrivingGaussian[^54]、StreetGaussian[^46]和LIV-GaussMap[^7]则基于多传感器融合在室外场景中实现照片级真实感重建。不过，这些方法均为离线处理方法。在融合SLAM框架[^16]中开发的Gaussian-LIC[^15]声称能提供高质量的照片级真实感地图构建性能。但据悉，每处理一帧关键帧大约需要1秒时间，这远远慢于实时地图构建所需的100毫秒要求。此外，由于它使用数百万个3D高斯点来重建完整场景，因此会因GPU内存溢出而无法处理完整的室外序列。MM3DGS SLAM[^36]、MM-Gaussian[^40]和HGS-Mapping[^41]能在城市场景中完成多模态传感器融合重建。然而，这些方法

![Image](images/cc80029d2047c2f9c67135807d65227dfc87fb35b11aa7aa2b693e06e2ba40e9.jpg)

<div style="text-align: center;">Figure 2. The system processes input from point cloud data obtained from LiDAR, motion data from an IMU, and monocular color image captured by a camera. In the tracking thread, the ESIKF algorithm is employed to track motion, producing odometry output at the IMU frequency. In the mapping thread, the rendered color point cloud is utilized for Voxel-GPR, after which the initialized 3D Gaussian data is integrated into a dense 3D Gaussian map for rendering optimization. The final output is a high-quality, dense 3D Gaussian map. Notations C, D, and S denote the rasterized color image, depth image, and silhouette image, respectively.  $\oplus$ represents the global hash-colored map, which provides neighboring query points for the recently scanned LiDAR points.</div>

与离线方法[^7]类似，它们通过扩展优化迭代来提升性能指标，但仍不足以实现实时处理能力。

### 3. 方法论

在这项工作中，我们依托在线激光雷达-惯性-视觉融合SLAM框架[^18] [^48]来实现鲁棒的状态估计与点坐标变换。为解决激光雷达点云的稀疏性问题，我们在第3.1节中引入了体素级高斯过程回归（Voxel-GPR）。在第3.2节中，我们介绍了一种基于Voxel-GPR来估算3D高斯初始尺度与旋转参数的方法，以加快收敛速度。随后，我们在第3.3节中介绍了我们的迭代系统，该系统涵盖了GPR参数的更新、地图扩展、相似性正则化以及实现细节。我们框架的简要概述如图2所示。

#### 3.1. 体素级高斯过程回归

多项研究[^7] [^16] [^53]表明，3DGS框架中的不均匀点云会导致内存利用率低下且优化效果变差。离线方法可以直接利用原始点云，因为遮挡和监督不足的问题可由密度控制算法来解决。然而在动态场景中，快速的视角变化会引发不均匀的梯度监督，从而阻碍快速收敛（可参考第4.4节的消融实验）。为解决这一问题，我们引入了Voxel-GPR，它采用高斯过程回归在体素层面均匀化点云，进而提升3D高斯地图优化的效率。

对于连续帧中的每个扫描体素，我们采用以下方式处理：

---

```pseudo
// Algorithm 1: Voxel-GPR for processing single-frame collected point clouds.

Input: $P_f$, C (Global Stored Point Cloud in Voxels)
Output: $P_{f*}$

```

1 $\mathcal{S}_{\mathrm{updated}} \leftarrow \mathrm{ALG.STORE}(P_f, C)$
2 (CUDABatched) 针对 $H_p$ 中的 $\mathcal{S}_{\mathrm{updated}}$ 执行操作
3 $\left|\begin{array}{c}\mathcal{P}_{\alpha} = \mathcal{S}_{\mathrm{updated}}[H_p] \rightarrow \text{points} \\ \mathbf{V}_{\alpha} = \mathrm{ALG.PCA}(\mathcal{P}_{\alpha})\end{array}\right.$
4 $\mathrm{switch}\ \mathcal{V}_{\alpha}$ 执行操作
5 6 $\left|\begin{array}{c}\text{case X do} \\ \left|\begin{array}{c}\mathbf{f}_{\alpha} \leftarrow \mathcal{P}_{\alpha}^x, \mathbf{x}_{\alpha} \leftarrow \left[\mathcal{P}_{\alpha}^y, \mathcal{P}_{\alpha}^z\right]^\top \\ \mathbf{x}_{\alpha^*} \leftarrow \mathrm{ALG.MESHGRID}(\mathcal{P}_{\alpha^*}^y, \mathcal{P}_{\alpha^*}^z)\end{array}\right.\end{array}\right.$
7 8 9 10 11 12 13 14 15 16 17 结束
18 (CUDABatched) $\mathbf{K} \leftarrow \kappa(\mathbf{x}, \mathbf{x}_*)$
19 (CUDABatched) $\mathbf{K}_{**} \leftarrow \kappa(\mathbf{x}, \mathbf{x}_*)$
20 (CUDABatched) $\mathbf{K}_{**} \leftarrow \kappa(\mathbf{x}, \mathbf{x}_*)$
21 (CUDABatched) $\mu_{*}, \Sigma_{*} \leftarrow \mathrm{ALG.SOLVE}(3)$
22 $P_{f*}=(\mathbf{f}_*, \mathbf{x}_*)$

Voxel-GPR用于点云补全，并基于不均匀的输入$P_{f*}$生成采样均匀的点云$P_{f}$。使用CUDA实现的Voxel-GPR伪代码见算法1。我们首先对$P_{f}$应用哈希函数，同时记录已访问的体素哈希点作为$S_{updated}$。从第1行的$P_{f}$到$S_{updated}$的伪代码详见补充材料。随后我们并行对每个体素进行Voxel-GPR处理。

对于第$\alpha$个体素，当其包含的点数满足点数阈值$\tau$时，我们便对其执行Voxel-GPR操作。设n表示该体素内点的数量，$\mathcal{P}_\alpha \cdot \mathcal{P}_\alpha \in \mathbb{R}^{n \times 3}$代表该体素内包含的点云训练子集。受[^28]的启发，我们通过主成分分析（PCA）计算点云$\mathcal{P}_\alpha$的特征向量，接着分别确定$\mathbf{V}_\alpha$与三个坐标轴$\mathbf{X}$、$\mathbf{Y}$、$\mathbf{Z}$之间的夹角。其中夹角最小的轴被定义为值轴，$\mathcal{P}_\alpha$在该值轴上的投影记为$\mathbf{f}_\alpha$（$\mathbf{f}_\alpha \in \mathbb{R}^{n}$）；另外两个轴则被视为参数轴，$\mathcal{P}_\alpha$在参数轴上的投影记为$\mathbf{x}_\alpha$（$\mathbf{x}_\alpha \in \mathbb{R}^{n \times 2}$）。注意$\mathbf{f}_\alpha = \mathbf{y}_\alpha + \varepsilon$，其中$\mathbf{y}_\alpha$为无噪声观测值，噪声$\varepsilon \sim \mathcal{N}(0, \sigma^2)$独立添加到每个观测值中，而$\sigma$为预定义的传感器方差（或第3.3节中更新的方差）。第$\mathcal{P}_\alpha$个体素中的$\alpha$被赋予一个随机变量$\mathbf{f}_\alpha$，其联合分布如下：

 $$ p(\mathbf{f}_{\alpha}\mid\mathbf{x}_{\alpha})\sim\mathcal{N}(\mathbf{f}_{\alpha}\mid\mu_{\alpha},\mathbf{K}_{\alpha}) $$

其中 $\mu_\alpha$ 是每个维度中的平均值。$\mathbf{K}_\alpha = \kappa(\mathbf{x}_\alpha, \mathbf{x}_\alpha)$ 和 $\kappa$ 是定义为 $\kappa(\mathbf{x}_{\alpha i}, \mathbf{x}_{\alpha j}) = \exp\left(-\lambda(\mathbf{x}_{\alpha i} - \mathbf{x}_{\alpha j})(\mathbf{x}_{\alpha i} - \mathbf{x}_{\alpha j})^\top\right)$ 的正定核函数，它是一个表示变量 $\mathbf{x}_{\alpha i}$ 与 $\mathbf{x}_{\alpha j}$ 之间距离的尺度值，而 $\lambda$ 是一个常数（在我们的实验中为 $\lambda = 1$）。

![Image](images/e9839d5288de15e594c6a9dda5114c581e7fa302f9cd3c90b2a42cc1331f8f48.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/90202d07578c637768e50a852f5971deaa2ce0940830abe1cd0ae2249bd21914.jpg)

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">Figure 3. (a) Illustration of Voxel-GPR for the  $\alpha$th voxel involves processing voxels that contain a sufficient number  $\tau$ of points. The depicted surface illustrates the distribution of the predicted points, where the variance decreases from areas marked in red to those in green. (b) Illustration depicts the initialization of 3D Gaussians. As indicated by the curved orange arrow, we consider the points within the neighborhood (black dash region). The green spheres represent the fitted 3D Gaussians.</div>

第 $\alpha$ 个体素的每个侧面由 $n_s$ 个区间组成。为了生成点云 $\mathcal{P}_{\alpha^*} \in \mathbb{R}^{n_s \times 3}$（即 $n_s = n_s^2$），我们首先在由参数轴确定的平面上生成均匀分布的网格 $\mathbf{x}_\alpha$，然后将其作为查询输入到 VoxelGPR 模块中，以获取沿数值轴的 $\mathbf{f}_{\alpha^*} \in \mathbb{R}^{n_s}$。根据一般 GPR 问题的定义 [^26]，观测值 $\mathbf{f}_\alpha$ 与预测值 $\mathbf{f}_{\alpha^*}$ 的联合分布同样服从高斯分布，可进一步划分为

 $$ \left(\begin{matrix}{\mathbf{f}_{\alpha}}\\ {\mathbf{f}_{\alpha*}}\\ \end{matrix}\right)\sim\mathcal{N}\left(\mathbf{0},\left(\begin{array}{c c}{\mathbf{K}_{\alpha}+\sigma^{2}\mathbf{I}}&{\mathbf{K}_{\alpha*}}\\ {\mathbf{K}_{\alpha*}^{\top}}&{\mathbf{K}_{\alpha**}}\\ \end{array}\right)\right) $$

其中 $\mathbf{K}_{\alpha*} = \kappa(\mathbf{x}_{\alpha}, \mathbf{x}_{\alpha*})$ 和 $\mathbf{K}_{\alpha**} = \kappa(\mathbf{x}_{\alpha*}, \mathbf{x}_{\alpha*})$。对于 n 个训练数据和 $n_*$ 个预测数据，预测的 $\mu_{\alpha^*}$ 和 $\Sigma_{\alpha^*}$ 分别为

 $$ \begin{align*}p\left(\mathbf{f}_{\alpha*}\mid\mathbf{x}_{\alpha*},\mathbf{x}_{\alpha},\mathbf{f}_{\alpha}\right)&=\mathcal{N}\left(\mathbf{f}_{\alpha*}\mid\boldsymbol{\mu}_{\alpha*},\boldsymbol{\Sigma}_{\alpha*}\right)\\\mathbf{f}_{\alpha*}&=\boldsymbol{\mu}_{\alpha*}=\mathbf{K}_{\alpha*}^{\top}(\mathbf{K}_{\alpha}+\sigma^{2}\mathbf{I})^{-1}\mathbf{f}_{\alpha}\quad( 洛斯尔 \\\boldsymbol{\Sigma}_{\alpha*}&=\mathbf{K}_{\alpha**}-\mathbf{K}_{\alpha*}^{\top}(\mathbf{K}_{\alpha}+\sigma^{2}\mathbf{I})^{-1}\mathbf{K}_{\alpha*}.\end{align*} $$

预测点 $\mathcal{P}_{\alpha*}$ 由 $(\mathbf{f}_{\alpha*}, \mathbf{x}_{\alpha*})$ 给出，其中 $\mathbf{x}_{\alpha*}$ 是均匀分布的网格。此外，$\Sigma_{\alpha*} \in \mathbb{R}^{n_x \times n_y}$ 是 $\mathcal{P}_{\alpha*}$ 的估计方差。预测结果 $\mathcal{P}_{\alpha*}$ 和 $\Sigma_{\alpha*}$ 作为第 $\alpha$ 个体素的代表，将被纳入第 3.2 节中 3D 高斯的初始化过程。Voxel-GPR 的结果如图 3(a) 所示。

---

利用 CUDA 的并行计算能力，我们能够高效地处理数百甚至数千个体素；即便在大规模地图扩展场景下，处理时间也不足 30 毫秒。VoxelGPR 算法第 21 行中 CUDA 批量算法 ALG.SOLVE 的伪代码详见补充材料。

#### 3.2. 3D 高斯的高效初始化

在我们实现的地图管理系统中，每个高斯 $\mathcal{M}_k$ 由位置 $\mathbf{p}_k \in \mathbb{R}^3$、协方差矩阵 $\boldsymbol{\Phi}_k \in \mathbb{R}^{3 \times 3}$、不透明度 $\Lambda_k \in \mathbb{R}$ 以及每个颜色通道的零阶球谐函数（SHs）$Y_k \in \mathbb{R}^3$ 来定义。我们的密集 3DGS 地图场景 $\mathcal{M}$ 为

 $$ \mathcal{M}=\left\{\left(\mathcal{M}_{k}:\mathbf{p}_{k},\boldsymbol{\Phi}_{k},\boldsymbol{\Lambda}_{k},\boldsymbol{Y}_{k}\right)\mid k=1,2,\cdots,N\right\} $$

其中 N 表示密集地图中 3D 高斯的数量。

在原始的 3DGS 实现中 [^13]，第 k 个高斯的 3D 协方差矩阵 $\Phi_k \in \mathbb{R}^{3 \times 3}$ 初始化方式为

 $$ \Phi_{k}=R_{k}S_{k}S_{k}^{\top}R_{k}^{\top} $$

其中 $S_k$ 是通过寻找距周围邻居的最近距离计算得到的尺度向量，具体描述见 [^30]；$R_k$ 则被统一初始化为一个常数，并以 4D 四元数形式存储。借助 Voxel-GPR 技术，我们开发了一种用于计算 $\Phi_k$ 的协方差矩阵 $\mathcal{M}_k$ 的高效初始化算法。

在第 3.1 节中，第 $\alpha$ 个体素的预测侧区间为 $n_s$，该个体素内的预测结果可划分为 $n_s \times n_s$ 个子网格。在实际的代码实现中，我们还会为每个区间额外预测其周围的 $n_r$ 个邻近点。因此，第 $\alpha$ 个体素每侧的预测点数量即为 $n_s \times n_r$。接下来，我们将探讨针对每个子网格初始化 3D 高斯的算法。

第$\beta$个子网格中的点被定义为$\mathcal{G}^{\beta} = \{(\mathcal{P}_{f*}^{\alpha})_{i}^{\beta} \in \mathbb{R}^{3}, w_{i}^{\beta} \in \mathbb{R}\}$，其中$w_{i}^{\beta}$是第i个点在第$\beta$个网格中的权重系数，其计算公式为$w_{i}^{\beta} = 1/\Sigma_{*i}^{\alpha}$，而$\Sigma_{*i}^{\alpha}$则是第i个点的协方差。我们使用球体来对该子网格中的$\mathcal{G}^{\beta}$进行回归分析，如图3(b)所示。随后，第$\mathbf{p}^{\beta}$个子网格中初始3D高斯函数的位置$\beta$可由下式给出：

 $$ \mathbf{p}^{\beta}=\frac{\sum_{i=1}^{n_{r}^{2}}(\mathcal{P}_{f*}^{\alpha})_{i}^{\beta}\cdot w_{i}^{\beta}}{\sum_{i=1}^{n_{r}^{2}}w_{i}^{\beta}} $$

对于每个高斯的缩放和旋转参数，我们通过计算第$\Phi^{\beta}$个网格中的协方差矩阵$\beta$来进行邻域拟合，公式如下：

 $$ \Phi^{\beta}=\frac{\mathbf{Q}^{\top}\cdot d i a g(w_{1}^{\beta},w_{2}^{\beta},\ldots,w_{n_{r}^{2}}^{\beta})\cdot\mathbf{Q}}{\sum_{i=1}^{n_{r}^{2}}w_{i}^{\beta}} $$

其中$\mathbf{Q} = (\mathcal{P}_{f*}^{\alpha})^{\beta} - \mathbf{p}^{\beta}$。上述Q的计算过程涉及从$\mathbf{p}^{\beta}$的每一行中减去$(\mathcal{P}_{f*}^{\alpha})^{\beta}$，最终得到的Q的维度为$n_r^2 \times 3$。第$S^{\beta}$个子网格中的缩放参数$\beta$可由下式确定：

 $$ S^{\beta}={d i a g}(\Phi^{\beta}) $$

该3D高斯函数的$R^{\beta}$被设定为单位四元数。$S^{\beta}$和$R^{\beta}$用于估计3D高斯的初始形状。对于颜色信息，我们通过相机外参将$\mathbf{p}^{\beta}$重新投影到当前图像上，提取该RGB图像中的颜色，进而计算出初始的SHs Y。

利用上述方法，我们为第$n_s \times n_s$个体素计算出$\alpha$个高斯函数的参数。这些3D高斯函数代表了空间中第$\alpha$个体素的特征。实验结果表明，该方法在确保高质量渲染的同时，显著提升了3D高斯的优化效率。

#### 3.3. 迭代式照片级真实感映射框架

地图扩展与协方差更新。对于场景中的体素，我们将其分为四类：(a) 未探索的体素或未达到处理阈值$\tau$的体素（图4(a)）；(b) 达到处理阈值但尚未被添加到地图中的体素（图4(b)）；(c) 已被包含在地图中但仍处于活跃状态的体素，即其方差尚未达到收敛阈值$\eta$，仍需进一步的Voxel-GPR优化（图4(c)）；以及(d) 在Voxel-GPR模块中已完成收敛的体素（图4(d)）。

![Image](images/2d0ac6481b1b692bde91e83218fd41290efd6c69d489876492265b5fd9120cb7.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/4a4fc4065b9fa02decccb2ef88f861645d42be778ba9a3cae0300f5515c14b60.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/29c0611b8a7389036aca4bb280c395fa9c48b11c1294cc4a867e2b7c633c88ee.jpg)

<div style="text-align: center;">(c)</div>

![Image](images/b43409ee51cb9d183a96d9c70b1a8b1240303c78f6bc8f4e753253ed55764404.jpg)

<div style="text-align: center;">(d)</div>

<div style="text-align: center;">Figure 4. This illustration presents four types of voxels in hash voxel map. Small dots marked in black represent new scanned points cloud from LiDAR, with their variance corresponding to the sensor's inherent noise. Larger dots highlighted in dark blue are from the meshgrid, poised for processing via Voxel-GPR, while the small dots in light blue have undergone variance updates. The ellipsoids are shaded in various colors, where each color signifies the magnitude of their variance.</div>

为提高处理速度，我们不会让Voxel-GPR模块处理类型(a)和(d)的体素。我们的重点是对类型(b)的体素进行处理，之后将这些更新后的体素扩展到密集地图$\mathcal{M}$中。扩展与否取决于更新后的体素数量是否超过某一阈值，具体细节可参考我们的代码。对于类型(c)的体素，我们会用前一次迭代估算出的数值来更新原有的方差，然后再次执行Voxel-GPR计算。

---

我们将新的观测点与原有点堆叠起来，直到该体素的Voxel-GPR过程收敛，此时它便转变为类型(d)。

渲染与深度差异相似性损失。与[^13]类似，我们将3D高斯函数$\mathcal{M}$光栅化到具有位姿T和相机内参$\pi$的观测相机中。一个像素的颜色由按深度排序的$\mathcal{N}$个3D高斯函数渲染而成，最终得到的光度图像C为：

 $$ C=\sum_{i\in\mathcal{N}}c_{i}\alpha_{i}\prod_{j=1}^{i-1}(1-\alpha_{j}) $$

其中，$c_i$ 表示通过学习得到的SHs系数所确定的颜色，而 $\alpha_i$ 则是通过将二维协方差 $\sigma'$ 与不透明度 $\Lambda_i$ 相乘计算得出的密度。我们还会对像素级深度D和轮廓图像S进行光栅化处理，以便通过 $\alpha$ 混合渲染方式判断某个像素是否包含当前地图的信息，该方式类似于 [^12]。

在深度差异相似性损失函数中，我们对两幅深度图像 $(D_{\mathcal{F}_c}, D_{\mathcal{F}_{c+1}})$ 和两幅轮廓图像 $(S_{\mathcal{F}_c}, S_{\mathcal{F}_{c+1}})$ 进行光栅化处理，以计算相对相机 $\mathcal{L}_d$ 与 $\mathcal{F}_c = \{D_{\mathcal{F}_c}, S_{\mathcal{F}_c}, \pi_{\mathcal{F}_c}, \mathbf{T}_{\mathcal{F}_c}\}$ 之间的深度差异相似性损失 $\mathcal{F}_{c+1} = \{D_{\mathcal{F}_{c+1}}, S_{\mathcal{F}_{c+1}}, \pi_{\mathcal{F}_{c+1}}, \mathbf{T}_{\mathcal{F}_{c+1}}\}$。$\mathcal{L}_d$ 通过反向传播梯度来指导3DGS密集地图的优化过程。$\mathcal{L}_d$ 的定义如下：

 $$ \mathcal{L}_{d}=\|\boldsymbol{S}_{\mathcal{F}_{c+1}}\circ\boldsymbol{D}_{\mathcal{F}_{c+1}}-\boldsymbol{\pi}_{\mathcal{F}_{c+1}}\mathbf{T}_{\mathcal{F}_{c+1}}\mathbf{T}_{\mathcal{F}_{c}}^{-1}\boldsymbol{\pi}_{\mathcal{F}_{c}}^{-1}(\boldsymbol{S}_{\mathcal{F}_{c}}\circ\boldsymbol{D}_{\mathcal{F}_{c}})\|_{1} $$

其中，$\circ$ 表示对渲染后的深度图像逐元素应用的操作。

结构相似性损失。对于最新帧中扫描得到的点云 $P_f$，我们引入相似性损失 $\mathcal{L}_p$ 以加速优化过程。该损失用于衡量当前3D高斯地图 $\mathcal{M} = \{\mathcal{M}_k : \mathbf{p}_k \in \mathbb{R}^3, S_k \in \mathbb{R}^3\} \mid k = 1,2,\cdots,m\}$ 与最新扫描的点云帧 $P_f$ 之间的欧几里得距离；m和n分别为球体和点的数量。对于帧内的每个扫描点，我们会找到最近的3D高斯并计算其欧几里得距离。结构相似性损失 $\mathcal{L}_p$ 定义为 $P_f$ 中所有点所计算出的最近距离的平均值。$\mathcal{L}_p$ 可表示为：

 $$ \mathcal{L}_{p}=\frac{1}{n}\sum_{j=0}^{n}\min_{k\in\{1,2,\ldots,m\}}\left(\|(P_{f})_{j}-\mathbf{p}_{k}\|_{2}-\bar{S}_{k}\right) $$

其中，$\bar{S}_{k}$ 是第k个3D高斯缩放参数的平均值。

训练过程。我们系统中的建图线程会维护一个由3D高斯 $\mathcal{M}$ 构成的密集地图以及一个连续的相机队列。我们将该相机队列分为两部分：当前访问过的相机窗口 $Q_{curr}$ 和历史相机队列 $Q_{hist}$。$Q_{curr}$ 包含最近添加的 $\mathcal{T}$ 个相机。每次迭代中，我们会选取 $k_{curr}$ 帧 $\mathcal{F}_{curr}$ 用于地图优化。为防止历史数据被遗忘，每次迭代还会从 $k_{hist}$ 中随机选取 $\mathcal{F}_{hist}$ 个历史帧 $Q_{hist}$ 进行联合优化。通过迭代光栅化图像损失、深度差异相似性损失以及结构相似性损失，来最小化以下目标函数以优化3D高斯密集地图：

 $$ \mathcal{L}=(1-\lambda_{s})\|C-C_{g t}\|_{1}+\lambda_{s}\mathcal{L}_{s s i m} + \lambda_{d}\sum_{\mathcal{F}_{*}\in\{\mathcal{F}_{c u r r},\mathcal{F}_{h i s t}\}}\mathcal{L}_{d}(\mathcal{F}_{*},\mathcal{F}_{*+1})+\lambda_{p}\mathcal{L}_{p} $$

其中，$C_{gt}$ 和C分别表示观测到的图像以及由公式(9)渲染出的图像。$\mathcal{L}_{ssim}$ 是一个SSIM [^39] 项。$\mathcal{L}_{d}$ 是由 $k_{curr}$ 个当前帧 $\mathcal{F}_{curr}$ 与 $k_{hist}$ 个历史帧 $\mathcal{F}_{hist}$ 根据公式(10)计算得出的深度差异相似性损失。$\mathcal{L}_{p}$ 是在公式(11)中计算得出的结构相似性损失。$\lambda_{s}$、$\lambda_{d}$ 和 $\lambda_{p}$ 分别是SSIM损失、结构相似性损失以及深度差异相似性损失的权重。

### 4. 实验

在本节中，我们首先在4.1节介绍实验设置，包括数据集、基线方法和参数设置等。接着在4.2节主要比较密集地图的渲染性能。4.3节分析了该框架的建图时间和GPU内存消耗情况。4.4节展示了所提出框架的消融实验。

#### 4.1. 实验设置

数据集。我们在四个公开的激光雷达-惯性-视觉数据集上开展实验，包括R³LIVE [^18] 数据集、FAST-LIVO [^52] 数据集、NTU-VIRAL [^24] 数据集以及植物园 [^20] 数据集。前两个数据集是在香港大学和香港科技大学校园内采集的，使用的是配备Livox Avia激光雷达（采样频率为10 Hz）、内置IMU（采样频率为200 Hz）以及15 Hz RGB相机（图像分辨率为640×512）的手持设备。NTU-VIRAL [^24] 数据集是由Ouster-16多线旋转式激光雷达采集的，其点云密度比Livox激光雷达更稀疏，图像分辨率为752×480。植物园 [^20] 数据集则是由轮式机器人穿越茂密的植物园时采集的，同时收集了Velodyne VLP-16多线旋转式激光雷达和Livox Avia激光雷达生成的点云，图像分辨率为480×300。

基准方法与评估指标。我们将所提方法与现有的基于NeRF的稠密视觉SLAM方法NeRF-SLAM [^27] 以及基于3DGS的SLAM方法 [^21] 进行比较。此外，原始的离线实现3DGS [^13] 也被用作对比基准。需要注意的是，由于RGB-D方法 [^8] [^12] [^35] [^44] [^49] 在室外场景中的表现较差，因此不适合用于此类场景，故未纳入比较范围。我们采用PSNR、SSIM [^39] 和LPIPS [^51] 来评估渲染性能。注意，我们会在各数据集上运行所有基准方法，并计算所有观测图像的平均指标。

---

<div style="text-align: center;">Table 1. Quantitative rendering performance comparison between radiance-field-based SLAM method [^27], 3DGS-based SLAM method [^21], and original offline optimization [^13] on R $^{3}$LIVE dataset [^18], FAST-LIVO dataset [^52], NTU dataset [^24], and Botanic Garden dataset [^20]. The results ranked from best to worst are highlighted as first, second, and third.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Sequence</td><td style='text-align: center; word-wrap: break-word;'>LiDAR</td><td colspan="3">Nerf-SLAM [^27]</td><td colspan="3">MonoGS [^21]</td><td colspan="3">3DGS [^13]</td><td colspan="3">Ours</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Type</td><td style='text-align: center; word-wrap: break-word;'>PSNR $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PSNR $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PSNR $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>PSNR $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>hku-campus_seq_00</td><td style='text-align: center; word-wrap: break-word;'>Livox Avia</td><td style='text-align: center; word-wrap: break-word;'>13.232</td><td style='text-align: center; word-wrap: break-word;'>0.410</td><td style='text-align: center; word-wrap: break-word;'>0.653</td><td style='text-align: center; word-wrap: break-word;'>12.142</td><td style='text-align: center; word-wrap: break-word;'>0.368</td><td style='text-align: center; word-wrap: break-word;'>0.608</td><td style='text-align: center; word-wrap: break-word;'>21.744</td><td style='text-align: center; word-wrap: break-word;'>0.719</td><td style='text-align: center; word-wrap: break-word;'>0.302</td><td style='text-align: center; word-wrap: break-word;'>22.430</td><td style='text-align: center; word-wrap: break-word;'>0.719</td><td style='text-align: center; word-wrap: break-word;'>0.247</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Visual_Challenge</td><td style='text-align: center; word-wrap: break-word;'>Livox Avia</td><td style='text-align: center; word-wrap: break-word;'>12.981</td><td style='text-align: center; word-wrap: break-word;'>0.408</td><td style='text-align: center; word-wrap: break-word;'>0.592</td><td style='text-align: center; word-wrap: break-word;'>13.478</td><td style='text-align: center; word-wrap: break-word;'>0.579</td><td style='text-align: center; word-wrap: break-word;'>0.414</td><td style='text-align: center; word-wrap: break-word;'>18.552</td><td style='text-align: center; word-wrap: break-word;'>0.545</td><td style='text-align: center; word-wrap: break-word;'>0.378</td><td style='text-align: center; word-wrap: break-word;'>21.806</td><td style='text-align: center; word-wrap: break-word;'>0.717</td><td style='text-align: center; word-wrap: break-word;'>0.289</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>eee_02</td><td style='text-align: center; word-wrap: break-word;'>Ouster-16</td><td style='text-align: center; word-wrap: break-word;'>8.316</td><td style='text-align: center; word-wrap: break-word;'>0.320</td><td style='text-align: center; word-wrap: break-word;'>0.693</td><td style='text-align: center; word-wrap: break-word;'>11.632</td><td style='text-align: center; word-wrap: break-word;'>0.407</td><td style='text-align: center; word-wrap: break-word;'>0.514</td><td style='text-align: center; word-wrap: break-word;'>20.388</td><td style='text-align: center; word-wrap: break-word;'>0.686</td><td style='text-align: center; word-wrap: break-word;'>0.382</td><td style='text-align: center; word-wrap: break-word;'>20.718</td><td style='text-align: center; word-wrap: break-word;'>0.700</td><td style='text-align: center; word-wrap: break-word;'>0.319</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1005_00</td><td style='text-align: center; word-wrap: break-word;'>Livox Avia</td><td style='text-align: center; word-wrap: break-word;'>9.790</td><td style='text-align: center; word-wrap: break-word;'>0.362</td><td style='text-align: center; word-wrap: break-word;'>0.750</td><td style='text-align: center; word-wrap: break-word;'>14.563</td><td style='text-align: center; word-wrap: break-word;'>0.602</td><td style='text-align: center; word-wrap: break-word;'>0.406</td><td style='text-align: center; word-wrap: break-word;'>22.167</td><td style='text-align: center; word-wrap: break-word;'>0.657</td><td style='text-align: center; word-wrap: break-word;'>0.380</td><td style='text-align: center; word-wrap: break-word;'>21.123</td><td style='text-align: center; word-wrap: break-word;'>0.679</td><td style='text-align: center; word-wrap: break-word;'>0.258</td></tr></table>

实现细节。我们的框架基于Robot Operating System (ROS) [^2]，利用LibTorch框架 [^25] 通过CUDA/C++实现，其中高斯泼溅相关代码使用CUDA编写。该框架在一台配备5.50 GHz Intel Core i9-13900HX CPU、64 GB内存以及NVIDIA RTX 4060 Laptop 8 GB GPU的台式机上训练。在所有序列中，实验中使用的超参数均列于补充材料中。

![Image](images/83836c5d34bfe9e97745e5a0b2a978ab7cde79f16a69ae107980bcadbcba0fb0.jpg)

<div style="text-align: center;">Figure 5. Illustration of the rendering performance on the NeRF-based method [^27] and the 3DGS-based method [^13] [^21] on sequence hkust_campus_seq_00, Visual_Challenge, eee_03, 1005_00, respectively.</div>

#### 4.2. 渲染评估

我们采用3DGS原始实现[^13]、NeRF-SLAM [^27]以及Gaussian Splatting SLAM [^21]来进行渲染对比实验。所有这些方法都仅以图像作为监督信息。由于GPU内存限制以及跟踪性能不佳，这些方法[^13] [^21] [^27]无法完成对整个环境的重建任务。为了便于对比，我们缩小了重建场景的规模，并使用由COLMAP [^30]计算出的相机位姿和深度图，作为输入供方法[^13] [^21] [^27]使用。在我们的框架中，相机位姿是通过多传感器融合里程计来估计的。场景中重建序列被限制在100帧以内，重建时间也被限定在5分钟之内。渲染性能对比结果如表1和图5所示。可以看出，由于严格的时间限制，NeRF-SLAM [^27]和MonoGS [^21]的重建结果相对较差。尽管3DGS在某些场景中表现良好，但其在NVS上的离线优化效果却不尽如人意。关于渲染实验的更多细节可在补充材料中找到。

![Image](images/1ddde22ca47772f4af3226ba22355daa07d4cd0a2410678fd5e4fb14f3b6bb99.jpg)

<div style="text-align: center;">Figure 6. Time consumption and GPU memory consumption on Botanic Garden sequence 1018_13.</div>

<div style="text-align: center;">Table 2. Duration (DT), mapping Time (MT), count of 3D Gaussians, and maximum memory cost (Mem) in photo-realistic mapping in different sequences.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Sequence</td><td style='text-align: center; word-wrap: break-word;'>DT (s)</td><td style='text-align: center; word-wrap: break-word;'>MT (s)</td><td style='text-align: center; word-wrap: break-word;'>Count</td><td style='text-align: center; word-wrap: break-word;'>Mem (Mb)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>hku_campus_seq_00</td><td style='text-align: center; word-wrap: break-word;'>202</td><td style='text-align: center; word-wrap: break-word;'>202</td><td style='text-align: center; word-wrap: break-word;'>1,209,666</td><td style='text-align: center; word-wrap: break-word;'>2495</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Visual_Challenge</td><td style='text-align: center; word-wrap: break-word;'>162</td><td style='text-align: center; word-wrap: break-word;'>162</td><td style='text-align: center; word-wrap: break-word;'>353,334</td><td style='text-align: center; word-wrap: break-word;'>1353</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>eee_02</td><td style='text-align: center; word-wrap: break-word;'>321</td><td style='text-align: center; word-wrap: break-word;'>321</td><td style='text-align: center; word-wrap: break-word;'>758,213</td><td style='text-align: center; word-wrap: break-word;'>1523</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1005_00</td><td style='text-align: center; word-wrap: break-word;'>611</td><td style='text-align: center; word-wrap: break-word;'>612</td><td style='text-align: center; word-wrap: break-word;'>2,177,464</td><td style='text-align: center; word-wrap: break-word;'>3492</td></tr></table>

#### 4.3. 运行时与内存开销分析

我们实验中的实时性能标准是：所有采集到的图像帧都必须被处理，也就是说，每一帧 t 的处理时间应满足 $t \leq D/C$，其中 $\mathcal{D}$ 表示采集数据集的持续时间，C 表示添加的跟踪相机队列的大小。图6展示了植物园序列1018_13（时长：208秒）中随时间变化的映射耗时情况。可以看出，随着时间的推移，整个系统的耗时基本都低于实时限制。更长序列的耗时图表可在补充材料中找到。

---

随着映射过程的推进，由于3D高斯数量的增加，GPU内存的消耗也会随之上升。当 $n_s = 3$ 时，所有序列都能在8GB GPU上通过照片级真实感映射完成处理。表2列出了不同序列上的实验结果。

#### 4.4. 消融研究

我们对系统中的Voxel-GPR模块和3D高斯初始化算法模块，以及结构相似性损失和深度差异相似性损失进行了消融研究，如图7所示。可以看出，基于原始点云构建的3D高斯（图7(a)）并未考虑环境中的几何依赖关系，这会导致3D高斯分布不均。此外，使用图7(b)和图7(c)达到预期的优化效果所需的时间要长1.3倍，这表明合理的初始化方法能够加速收敛。在图7(c)的基础上加入图7(d)中的结构相似性损失以及图7(e)中的深度差异相似性损失后，环境细节的呈现效果得到增强，生成的图像也更接近实际采集的图像。

定量消融实验的结果如表3所示，主要比较了不同超参数下所有观测图像的映射时间和平均渲染指标的差异。每个序列的第一行和第二行主要对比参数 $\eta$ 对映射时间和渲染指标的影响。为 $\eta$ 设置合适的值会对不同激光雷达配置的映射时间产生显著影响。较小的 $\eta$ 值会导致映射时间更长，但并不能明显提升渲染指标。第2至4行对比了结构相似性损失和深度差异损失对渲染指标的影响。可以发现，加入这两种损失并不会影响映射时间，却能改善渲染指标。表3的第4行和第5行以及图7(e)-图7(f)对比了 $n_s$ 对结果的影响。在较小的场景中（如植物园中的1018_13 [^20]、R³LIVE中的hkust_campus_seq_00 [^18]），$n_s$ 不会影响映射时间，还能显著提升渲染指标；但在较大的场景中（如R³LIVE中的hku_main_building [^18]），$n_s$ 可能会消耗过多的时间和GPU内存。这体现了精度与速度之间的权衡。更多序列上的扩展消融实验可参考补充材料。

### 5. 结论

总之，本文提出了GS-LIVM，这是一种基于高斯泼溅技术的新型实时照片级真实感激光雷达-惯性-视觉映射框架。我们的方法能够在大型、无控制的室外场景中实现实时照片级真实感映射，同时保证高质量的图像渲染。在这项工作中，我们利用Voxel-GPR来

![Image](images/4d2801953cd9a7d2db1c418d02464f3693cd37cecad90cc536e0a018a089e5ec.jpg)

<div style="text-align: center;">(a) w/o Voxel-GPR</div>

![Image](images/2d0b00d04623eac79c08a21bf33b9c40ded3f27d139acc4d9d7ea25401f4812d.jpg)

<div style="text-align: center;">(b) w/o our initialization</div>

![Image](images/6f7d41e23f93fc7a24a01dbf69e3a7925bf912f680b1e7756c33009f937c4f8b.jpg)

![Image](images/43d9524547315c849d15d261fcb4fe9e47b8ae063edc1fc4781de66456acac25.jpg)

<div style="text-align: center;">(d) w/o DDS</div>

<div style="text-align: center;">(c) w/o SS</div>

![Image](images/d78bb93393404a933dff69dc67856703272a34723906ab84ba93ef3b2de273ca.jpg)

<div style="text-align: center;">(e) Full  $(n_{s}=4)$</div>

![Image](images/569697ee5e26f6322dbc0ac6ebfe27eb3c95ad09ee48ddf5eaba81e217d04cb9.jpg)

<div style="text-align: center;">(f) Full  $(n_{s} = 3)$</div>

<div style="text-align: center;">Figure 7. (a) Similar to [^7] [^16], each collected point corresponds to a generated 3D Gaussian. (b) The use of a uniform initialization method. (c) There is no structural similarity loss (SS) for the single frame point cloud. (d) There is no delta depth similarity loss (DDS) for the relative frame. (e) The combined results of all the modules and losses are presented. Note that,  $n_s = 4$ in (a-e). (f) The combined results of all the modules ( $n_s = 3$).</div>

<div style="text-align: center;">Table 3. Quantitative ablation comparison of hyperparameters in various sequences, such as duration (DT), mapping time (MT), interval of 3D Gaussians in voxel side $n_{s}$, convergence variance of Voxel-GPR $\eta$, structure similarity loss (SS), and delta depth similarity loss (DDS).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Sequence</td><td style='text-align: center; word-wrap: break-word;'>DT (s)</td><td style='text-align: center; word-wrap: break-word;'>MT (s)</td><td style='text-align: center; word-wrap: break-word;'>$n_{{s}}$</td><td style='text-align: center; word-wrap: break-word;'>$\eta$</td><td style='text-align: center; word-wrap: break-word;'>SS</td><td style='text-align: center; word-wrap: break-word;'>DDS</td><td style='text-align: center; word-wrap: break-word;'>PSNR</td><td style='text-align: center; word-wrap: break-word;'>SSIM</td></tr><tr><td rowspan="5">hku_campus_seq_00</td><td rowspan="5">202</td><td style='text-align: center; word-wrap: break-word;'>1240</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.1</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>18.494</td><td style='text-align: center; word-wrap: break-word;'>0.637</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>202</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>19.005</td><td style='text-align: center; word-wrap: break-word;'>0.647</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>202</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>19.944</td><td style='text-align: center; word-wrap: break-word;'>0.648</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>202</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>19.292</td><td style='text-align: center; word-wrap: break-word;'>0.640</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>202</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>20.143</td><td style='text-align: center; word-wrap: break-word;'>0.672</td></tr><tr><td rowspan="5">1018_13</td><td rowspan="5">208</td><td style='text-align: center; word-wrap: break-word;'>891</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.2</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>14.754</td><td style='text-align: center; word-wrap: break-word;'>0.449</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>208</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>16.039</td><td style='text-align: center; word-wrap: break-word;'>0.475</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>208</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>15.988</td><td style='text-align: center; word-wrap: break-word;'>0.488</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>208</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>15.732</td><td style='text-align: center; word-wrap: break-word;'>0.461</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>208</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>17.982</td><td style='text-align: center; word-wrap: break-word;'>0.493</td></tr></table>

解决激光雷达点云中的稀疏性问题。基于体素的3D高斯映射表示法能够在大规模无边界户外场景中实现实时照片级真实感映射，这得益于自定义CUDA内核提供的加速功能。此外，该框架采用以协方差为中心的设计，利用估计出的协方差来初始化3D高斯的尺度与旋转参数，同时更新Voxle-GPR的参数。在各种户外数据集上的实验评估表明，我们的算法在映射效率与渲染质量方面均达到了最先进的水平。而且，源代码已公开，便于该领域的进一步研究与开发。

---

## 参考文献

[^1]: Carlos Campos, Richard Elvira, Juan J Gómez Rodríguez, José MM Montiel, and Juan D Tardós. ORB-SLAM3: An Accurate Open-source Library for Visual, Visual-Inertial, and Multimap SLAM. IEEE Trans. Robot., 37(6):1874–1890, 2021. 3

[^2]: PyTorch Contributors. Installing C++ Distributions of PyTorch, 2024. 7

[^3]: Junyuan Deng, Xieyuanli Chen, Songpengcheng Xia, Zhen Sun, Guoqing Liu, Wenxian Yu, and Ling Pei. NeRFLOAM: Neural Implicit Representation for Large-Scale Incremental LiDAR Odometry and Mapping. In Int. Conf. Comput. Vis., pages 8184–8193, 2023. 3

[^4]: Andreas Geiger, Philip Lenz, and Raquel Urtasun. Are We Ready for Autonomous Driving? The KITTI Vision Benchmark Suite. In IEEE Conf. Comput. Vis. Pattern Recog., 2012. 1

[^5]: Andreas Geiger, Philip Lenz, Christoph Stiller, and Raquel Urtasun. Vision Meets Robotics: The KITTI Dataset. Int. J. Rob. Res., 32(11):1231–1237, 2013. 1

[^6]: Wolfgang Hess, Damon Kohler, Holger Rapp, and Daniel Andor. Real-time Loop Closure in 2D LiDAR SLAM. In IEEE Int. Conf. Robot. Autom., pages 1271–1278, 2016. 1

[^7]: Sheng Hong, Junjie He, Xinhu Zheng, Chunran Zheng, and Shaojie Shen. LIV-GaussMap: LiDAR-Inertial-Visual Fusion for Real-time 3D Radiance Field Map Rendering. IEEE Robot. Autom. Lett., 2024. 2, 3, 8

[^8]: Huajian Huang, Longwei Li, Hui Cheng, and Sai-Kit Yeung. Photo-SLAM: Real-time Simultaneous Localization and Photorealistic Mapping for Monocular Stereo and RGB-D Cameras. In IEEE Conf. Comput. Vis. Pattern Recog., pages 21584–21593, 2024. 2, 3, 6

[^9]: Chenxing Jiang, Hanwen Zhang, Peize Liu, Zehuan Yu, Hui Cheng, Boyu Zhou, and Shaojie Shen. $H_{2}$-Mapping: Real-time Dense Mapping Using Hierarchical Hybrid Representation. IEEE Robot. Autom. Lett., 2023. 3

[^10]: Chenxing Jiang, Yiming Luo, Boyu Zhou, and Shaojie Shen. $H_{3}$-Mapping: Quasi-Heterogeneous Feature Grids for Real-time Dense Mapping Using Hierarchical Hybrid Representation. arXiv preprint arXiv:2403.10821, 2024. 3

[^11]: Mohammad Mahdi Johari, Camilla Carta, and François Fleuret. ESLAM: Efficient Dense SLAM System based on Hybrid Representation of Signed Distance Fields. In IEEE Conf. Comput. Vis. Pattern Recog., pages 17408–17419, 2023. 3

[^12]: Nikhil Keetha, Jay Karhade, Krishna Murthy Jatavallabhula, Gengshan Yang, Sebastian Scherer, Deva Ramanan, and Jonathon Luiten. SplaTAM: Splat Track & Map 3D Gaussians for Dense RGB-D SLAM. In IEEE Conf. Comput. Vis. Pattern Recog., pages 21357–21366, 2024. 2, 3, 6

[^13]: Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, and George Drettakis. 3D Gaussian Splatting for Real-Time Radiance Field Rendering. ACM Trans. Graph., 42(4):139–1, 2023. 2, 5, 6, 7, 1

[^14]: Bernhard Kerbl, Andreas Meuleman, Georgios Kopanas, Michael Wimmer, Alexandre Lanvin, and George Drettakis. A Hierarchical 3D Gaussian Representation for Real-time

超大数据集的渲染。《ACM图形学汇刊》，第43卷第4期：1–15页，2024年。2

[^15]: Xiaolei Lang, Chao Chen, Kai Tang, Yukai Ma, Jiajun Lv, Yong Liu, and Xingxing Zuo. Coco-LIC: Continuous-time Tightly-coupled LiDAR-Inertial-Camera Odometry using Non-uniform B-spline. IEEE Robot. Autom. Lett., 2023. 3

[^16]: Xiaolei Lang, Laijian Li, Hang Zhang, Feng Xiong, Mu Xu, Yong Liu, Xingxing Zuo, and Jiajun Lv. Gaussian-LIC: Photo-realistic LiDAR-Inertial-Camera SLAM with 3D Gaussian Splatting. arXiv preprint arXiv:2404.06926, 2024. 2, 3, 8

[^17]: Bo Li, Yingqiang Wang, Yu Zhang, Wenjie Zhao, Jianyuan Ruan, and Ping Li. GP-SLAM: Laser-based SLAM Approach based on Regionalized Gaussian Process Map Reconstruction. Auton. Rob., 44(6):947–967, 2020. 2

[^18]: Jiarong Lin and Fu Zhang. R $^{3}$LIVE: A Robust, Real-Time, RGB-colored, LiDAR-Inertial-Visual Tightly-coupled State Estimation and Mapping Package. In IEEE Int. Conf. Robot. Autom., pages 10672–10678, 2022. 1, 2, 3, 6, 7, 8, 4

[^19]: Jiarong Lin, Chunran Zheng, Wei Xu, and Fu Zhang. R $^{2}$LIVE: A Robust, Real-Time, LiDAR-Inertial-Visual Tightly-coupled State Estimator and Mapping. IEEE Robot. Autom. Lett., 6(4):7469–7476, 2021. 1,2

[^20]: Yuanzhi Liu, Yujia Fu, Minghui Qin, Yufeng Xu, Baoxin Xu, Fengdong Chen, Bart Goossens, Hongwei Yu, Chun Liu, Long Chen, et al. Botanic Garden: A High-quality and Large-scale Robot Navigation Dataset in Challenging Natural Environments. arXiv preprint arXiv:2306.14137, 2023. 6, 7, 8, 2, 4

[^21]: Hidenobu Matsuki, Riku Murai, Paul HJ Kelly, and Andrew J Davison. Gaussian Splatting SLAM. In IEEE Conf. Comput. Vis. Pattern Recog., pages 18039–18048, 2024. 2, 3, 6, 7

[^22]: Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, and Ren Ng. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis. In Eur. Conf. Comput. Vis., 2020. 2, 3

[^23]: Thomas Müller, Alex Evans, Christoph Schied, and Alexander Keller. Instant Neural Graphics Primitives with a Multiresolution Hash Encoding. ACM Trans. Graph., 41(4):1–15, 2022. 3

[^24]: Thien-Minh Nguyen, Shenghai Yuan, Muqing Cao, Yang Lyu, Thien H Nguyen, and Lihua Xie. NTU VRAL: A Visual-Inertial-Ranging-LiDAR Dataset, from an Aerial Vehicle Viewpoint. Int. J. Rob. Res., 41(3):270–280, 2022. 6, 7

[^25]: Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, Andrew Y Ng, et al. ROS: An Open-source Robot Operating System. In IEEE Int. Conf. Robot. Autom. Worksh., page 5. Kobe, Japan, 2009. 7

[^26]: Carl Edward Rasmussen. Gaussian Processes in Machine Learning. In Summer School on Machine Learning, pages 63–71. Springer, 2003. 4

## [^27]: Antoni Rosinol, John J Leonard, and Luca Carlone. NeRF-SLAM: Real-time Dense Monocular SLAM with nNeural Radiance Fields. In IEEE Int. Conf. Intell. Rob. Syst., pages 3437–3444, 2023. 2, 3, 6, 7

---

[^28]: Jianyuan Ruan, Bo Li, Yinqiang Wang, and Zhou Fang. GP-SLAM+: Real-time 3D LiDAR SLAM based on Improved Regionalized Gaussian Process Map Reconstruction. In IEEE Int. Conf. Intell. Rob. Syst., pages 5171–5178, 2020. 2, 4

[^29]: Erik Sandström, Yue Li, Luc Van Gool, and Martin R Oswald. Point-SLAM: Dense Neural Point Cloud-based SLAM. In Int. Conf. Comput. Vis., pages 18433–18444, 2023. 3

[^30]: Johannes Lutz Schönberger and Jan-Michael Frahm. Structure-from-Motion Revisited. In IEEE Conf. Comput. Vis. Pattern Recog., 2016. 5, 7

[^31]: Matthias Seeger. Gaussian Processes for Machine Learning. Int. J. Neural. Syst., 14(02):69–106, 2004. 2

[^32]: Tixiao Shan, Brendan Englot, Drew Meyers, Wei Wang, Carlo Ratti, and Daniela Rus. LIO-SAM: Tightly-coupled LiDAR Inertial Odometry via Smoothing and Mapping. In IEEE Int. Conf. Intell. Rob. Syst., pages 5135–5142, 2020. 2

[^33]: Tixiao Shan, Brendan Englot, Carlo Ratti, and Daniela Rus. LVI-SAM: Tightly-coupled LiDAR-Visual-Inertial Odometry via Smoothing and Mapping. In IEEE Int. Conf. Robot. Autom., pages 5692–5698, 2021. 2, 4

[^34]: Jürgen Sturm, Nikolas Engelhard, Felix Endres, Wolfram Burgard, and Daniel Cremers. A Benchmark for the Evaluation of RGB-D SLAM Systems. In IEEE Int. Conf. Intell. Rob. Syst., pages 573–580, 2012. 2

[^35]: Edgar Sucar, Shikun Liu, Joseph Ortiz, and Andrew J Davison. iMAP: Implicit Mapping and Positioning in Real-time. In Int. Conf. Comput. Vis., pages 6229–6238, 2021. 2, 6

[^36]: Lisong C Sun, Neel P Bhatt, Jonathan C Liu, Zhiwen Fan, Zhangyang Wang, Todd E Humphreys, and Ufuk Topcu. MM3DGS SLAM: Multi-modal 3D Gaussian Splatting for SLAM Using Vision, Depth, and Inertial Measurements. arXiv preprint arXiv:2404.00923, 2024. 3

[^37]: Zachary Teed and Jia Deng. DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB-D Cameras. Adv. Neural Inform. Process. Syst., 34:16558–16569, 2021. 3

[^38]: Hengyi Wang, Jingwen Wang, and Lourdes Agapito. Co-SLAM: Joint Coordinate and Sparse Parametric Encodings for Neural Real-time SLAM. In IEEE Conf. Comput. Vis. Pattern Recog., pages 13293–13302, 2023. 3

[^39]: Zhou Wang, Alan C Bovik, Hamid R Sheikh, and Eero P Simoncelli. Image Quality Assessment: from Error Visibility to Structural Similarity. IEEE Trans. Image Process., 13(4): 600–612, 2004. 6

[^40]: Chenyang Wu, Yifan Duan, Xinran Zhang, Yu Sheng, Jianmin Ji, and Yanyong Zhang. MM-Gaussian: 3D Gaussian-based Multi-modal Fusion for Localization and Reconstruction in Unbounded Scenes. arXiv preprint arXiv:2404.04026, 2024. 3

[^41]: Ke Wu, Kaizhao Zhang, Zhiwei Zhang, Shanshuai Yuan, Muer Tie, Julong Wei, Zijun Xu, Jieru Zhao, Zhongxue Gan, and Wenchao Ding. HGS-Mapping: Online Dense Mapping Using Hybrid Gaussian Representation in Urban Scenes. arXiv preprint arXiv:2403.20159, 2024. 3

[^42]: Wei Xu and Fu Zhang. Fast-LIO: A Fast, Robust LiDAR-Inertial Odometry Package by Tightly-coupled Iterated

卡尔曼滤波器。《IEEE机器人学与自动化快报》，第6卷第2期：3317–3324页，2021年。1, 2

[^43]: Wei Xu, Yixi Cai, Dongjiao He, Jiarong Lin, and Fu Zhang. Fast-LIO2: Fast Direct LiDAR-Inertial Odometry. IEEE Trans. Robot., 38(4):2053–2073, 2022. 1, 2, 4

[^44]: Chi Yan, Delin Qu, Dan Xu, Bin Zhao, Zhigang Wang, Dong Wang, and Xuelong Li. GS-SLAM: Dense Visual SLAM with 3D Gaussian Splatting. In IEEE Conf. Comput. Vis. Pattern Recog., pages 19595–19604, 2024. 2, 3, 6

[^45]: Dongyu Yan, Xiaoyang Lyu, Jieqi Shi, and Yi Lin. Efficient Implicit Neural Reconstruction using LiDAR. In IEEE Int. Conf. Robot. Autom., pages 8407–8414. IEEE, 2023. 3

[^46]: Yunzhi Yan, Haotong Lin, Chenxu Zhou, Weijie Wang, Haiyang Sun, Kun Zhan, Xianpeng Lang, Xiaowei Zhou, and Sida Peng. Street Gaussians for Modeling Dynamic Urban Scenes. arXiv preprint arXiv:2401.01339, 2024. 2, 3

[^47]: Xingrui Yang, Hai Li, Hongjia Zhai, Yuhang Ming, Yuqian Liu, and Guofeng Zhang. Vox-Fusion: Dense Tracking and Mapping with Voxel-based Neural Implicit Representation. In IEEE Int. Symp. on Mix. and Augm. Real., pages 499–507, 2022. 3

[^48]: Zikang Yuan, Jie Deng, Ruiye Ming, Fengtian Lang, and Xin Yang. SR-LIVO: LiDAR-Inertial-Visual Odometry and Mapping With Sweep Reconstruction. IEEE Robot. Autom. Lett., 2024. 1, 2, 3

[^49]: Vladimir Yugay, Yue Li, Theo Gevers, and Martin R Oswald. Gaussian-SLAM: Photo-Realistic Dense SLAM with Gaussian Splatting. arXiv preprint arXiv:2312.10070, 2023. 2, 3, 6

[^50]: Ji Zhang and Sanjiv Singh. Low-drift and Real-time LiDAR Odometry and Mapping. Autonomous Robots, 41(2):401–416, 2017. 2

[^51]: Richard Zhang, Phillip Isola, Alexei A Efros, Eli Shechtman, and Oliver Wang. The Unreasonable Effectiveness of Deep Features as a Perceptual Metric. In IEEE Conf. Comput. Vis. Pattern Recog., pages 586–595, 2018. 6

[^52]: Chunran Zheng, Qingyan Zhu, Wei Xu, Xiyuan Liu, Qizhi Guo, and Fu Zhang. Fast-LIVO: Fast and Tightly-coupled Sparse-direct LiDAR-Inertial-Visual Odometry. In IEEE Int. Conf. Intell. Rob. Syst., pages 4003–4009, 2022. 1, 2, 6, 7

[^53]: Chunran Zheng, Wei Xu, Zuhao Zou, Tong Hua, Chongjian Yuan, Dongjiao He, Bingyang Zhou, Zheng Liu, Jiarong Lin, Fangcheng Zhu, et al. Fast-LIVO2: Fast, Direct LiDAR-Inertial-Visual Odometry. arXiv preprint arXiv:2408.14035, 2024. 2, 3

[^54]: Xiaoyu Zhou, Zhiwei Lin, Xiaojun Shan, Yongtao Wang, Deqing Sun, and Ming-Hsuan Yang. Driving Gaussian: Composite Gaussian Splatting for Surrounding Dynamic Autonomous Driving Scenes. In IEEE Conf. Comput. Vis. Pattern Recog., pages 21634–21643, 2024. 2, 3

### [^55]: Zihan Zhu, Songyou Peng, Viktor Larsson, Weiwei Xu, Hujun Bao, Zhaopeng Cui, Martin R Oswald, and Marc Pollefeys. NICE-SLAM: Neural Implicit Scalable Encoding for SLAM. In IEEE Conf. Comput. Vis. Pattern Recog., pages 12786–12796, 2022. 3

---

#### GS-LIVM：基于高斯泼溅的实时照片级真实感激光雷达-惯性-视觉映射系统

补充材料

6. Voxel-GPR中预处理算法ALG.STORE与CUDA批量算法ALG.SOLVE的伪代码

最新扫描点云$P_{f}$的预处理算法如算法2所示。$P_{f}$中的每个点都会被存入体素结构中，同时记录本帧中已被访问过的体素信息。借助GPU内的cuBLAS科学计算库，所有体素的公式(3)批量求解伪代码如算法3所示。

```pseudo
// Algorithm 2: Preprocessing for single-frame collected point clouds

Input:  $P_f$,  $\mathcal{C}$ (Global Stored Point Cloud in Voxels)

Output:  $\mathcal{S}_{\text{updated}}$ (Store Visited Voxels in This Frame)

```

1 $\mathcal{S}_{\text{updated}} \leftarrow [\cdot]$

2 for p in $P_f$ do

3 $\quad H_p = \text{ALG.HASH}(p^x, p^y, p^z)$

4 $\quad \text{push } p \text{ to } \mathcal{C}[H_p] \rightarrow \text{points}$

5 $\quad \text{push } H_p \text{ to } \mathcal{S}_{\text{updated}}$

6 end

```pseudo
// Algorithm 3: Batch solving $\mu_*$ and $\Sigma_-$ in Voxel-GPR based on cuBLAS

Input: f, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K, K,

```

##### 7. 补充实验

##### 7.1. 与完全优化的离线3DGS对比

在图5所示的渲染对比中，为确保对比公平，我们将原始3DGS实现的训练迭代次数限制在3000次。有趣的是，我们发现只要给予充足的优化时间，3DGS确实能取得比我们的方法更好的指标（见表4）。这是因为3DGS需要经过长时间的离线优化才能拟合训练数据。不过，如图8所示，NVS存在局限性：对训练数据集的过拟合会导致3D高斯延伸到观测点之外，这正是离线方法的主要问题。可以看出，我们的方法能够克服过拟合带来的弊端。

<div style="text-align: center;">Table 4. Comparison with the fully optimized offline 3DGS [^13].</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Sequence</td><td rowspan="2">PSNR $\uparrow$</td><td colspan="2">3DGS</td><td rowspan="2">PSNR $\uparrow$</td><td colspan="2">Ours</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SSIM $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>hku_seq_00</td><td style='text-align: center; word-wrap: break-word;'>27.827</td><td style='text-align: center; word-wrap: break-word;'>0.861</td><td style='text-align: center; word-wrap: break-word;'>0.204</td><td style='text-align: center; word-wrap: break-word;'>22.430</td><td style='text-align: center; word-wrap: break-word;'>0.719</td><td style='text-align: center; word-wrap: break-word;'>0.247</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1005_00</td><td style='text-align: center; word-wrap: break-word;'>26.196</td><td style='text-align: center; word-wrap: break-word;'>0.812</td><td style='text-align: center; word-wrap: break-word;'>0.233</td><td style='text-align: center; word-wrap: break-word;'>21.123</td><td style='text-align: center; word-wrap: break-word;'>0.679</td><td style='text-align: center; word-wrap: break-word;'>0.258</td></tr></table>

![Image](images/5e5c59516b6a2de12e4e3b7aceabdff25f172bf63a8697adecd6b6a71c7f7c9b.jpg)

![Image](images/d79c31e9f8f6645589834e4632c43395b859766872eeb138fcf9e3f2842af61b.jpg)

<div style="text-align: center;">(c) 3DGS [^13]</div>

![Image](images/f32d13587b8bfb649000493f24862e0f2e52e2890c009d3c41b055a78b79ba48.jpg)

![Image](images/5bbff11a9551460dd004374059314ead116d05f06ca98d584f9c15f5b34a2621.jpg)

<div style="text-align: center;">(d) Ours</div>

<div style="text-align: center;">Figure 8. In all subfigures, the top images represent a supervised perspective with image information, while the bottom images depict an unsupervised perspective with synthesized new viewpoints. Results in (a)(c) are obtained using the offline 3DGS method, while results in (b)(d) are obtained using our method.</div>

---

<div style="text-align: center;">Table 5. Quantitative rendering performance comparison on more datasets. The results ranked from best to worst are highlighted as first, second, and third.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Sequence</td><td style='text-align: center; word-wrap: break-word;'>LiDAR</td><td colspan="3">Nerf-SLAM [^27]</td><td colspan="3">MonoGS [^21]</td><td colspan="3">3DGS [^13]</td><td colspan="3">Ours</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Type</td><td style='text-align: center; word-wrap: break-word;'>PSNR $^{\uparrow}$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $^{\uparrow}$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $^{\downarrow}$</td><td style='text-align: center; word-wrap: break-word;'>PSNR $^{\uparrow}$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $^{\uparrow}$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $^{\downarrow}$</td><td style='text-align: center; word-wrap: break-word;'>PSNR $^{\uparrow}$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $^{\uparrow}$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $^{\downarrow}$</td><td style='text-align: center; word-wrap: break-word;'>PSNR $^{\uparrow}$</td><td style='text-align: center; word-wrap: break-word;'>SSIM $^{\uparrow}$</td><td style='text-align: center; word-wrap: break-word;'>LPIPS $^{\downarrow}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>hkust_campus_02</td><td style='text-align: center; word-wrap: break-word;'>Livox Avia</td><td style='text-align: center; word-wrap: break-word;'>10.728</td><td style='text-align: center; word-wrap: break-word;'>0.389</td><td style='text-align: center; word-wrap: break-word;'>0.716</td><td style='text-align: center; word-wrap: break-word;'>12.408</td><td style='text-align: center; word-wrap: break-word;'>0.426</td><td style='text-align: center; word-wrap: break-word;'>0.582</td><td style='text-align: center; word-wrap: break-word;'>17.629</td><td style='text-align: center; word-wrap: break-word;'>0.692</td><td style='text-align: center; word-wrap: break-word;'>0.412</td><td style='text-align: center; word-wrap: break-word;'>15.745</td><td style='text-align: center; word-wrap: break-word;'>0.634</td><td style='text-align: center; word-wrap: break-word;'>0.382</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>hkul</td><td style='text-align: center; word-wrap: break-word;'>Livox Avia</td><td style='text-align: center; word-wrap: break-word;'>9.232</td><td style='text-align: center; word-wrap: break-word;'>0.384</td><td style='text-align: center; word-wrap: break-word;'>0.716</td><td style='text-align: center; word-wrap: break-word;'>8.928</td><td style='text-align: center; word-wrap: break-word;'>0.286</td><td style='text-align: center; word-wrap: break-word;'>0.750</td><td style='text-align: center; word-wrap: break-word;'>19.548</td><td style='text-align: center; word-wrap: break-word;'>0.708</td><td style='text-align: center; word-wrap: break-word;'>0.328</td><td style='text-align: center; word-wrap: break-word;'>14.990</td><td style='text-align: center; word-wrap: break-word;'>0.600</td><td style='text-align: center; word-wrap: break-word;'>0.424</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1018.00</td><td style='text-align: center; word-wrap: break-word;'>Velodyne VLP-16</td><td style='text-align: center; word-wrap: break-word;'>12.186</td><td style='text-align: center; word-wrap: break-word;'>0.387</td><td style='text-align: center; word-wrap: break-word;'>0.699</td><td style='text-align: center; word-wrap: break-word;'>12.721</td><td style='text-align: center; word-wrap: break-word;'>0.634</td><td style='text-align: center; word-wrap: break-word;'>0.417</td><td style='text-align: center; word-wrap: break-word;'>23.452</td><td style='text-align: center; word-wrap: break-word;'>0.720</td><td style='text-align: center; word-wrap: break-word;'>0.253</td><td style='text-align: center; word-wrap: break-word;'>16.971</td><td style='text-align: center; word-wrap: break-word;'>0.688</td><td style='text-align: center; word-wrap: break-word;'>0.338</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>private-360</td><td style='text-align: center; word-wrap: break-word;'>Livox MID-360</td><td style='text-align: center; word-wrap: break-word;'>13.681</td><td style='text-align: center; word-wrap: break-word;'>0.407</td><td style='text-align: center; word-wrap: break-word;'>0.598</td><td style='text-align: center; word-wrap: break-word;'>8.912</td><td style='text-align: center; word-wrap: break-word;'>0.263</td><td style='text-align: center; word-wrap: break-word;'>0.778</td><td style='text-align: center; word-wrap: break-word;'>22.428</td><td style='text-align: center; word-wrap: break-word;'>0.693</td><td style='text-align: center; word-wrap: break-word;'>0.302</td><td style='text-align: center; word-wrap: break-word;'>17.777</td><td style='text-align: center; word-wrap: break-word;'>0.618</td><td style='text-align: center; word-wrap: break-word;'>0.439</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>private-pandar</td><td style='text-align: center; word-wrap: break-word;'>Pandar XT-32</td><td style='text-align: center; word-wrap: break-word;'>9.492</td><td style='text-align: center; word-wrap: break-word;'>0.328</td><td style='text-align: center; word-wrap: break-word;'>0.610</td><td style='text-align: center; word-wrap: break-word;'>7.414</td><td style='text-align: center; word-wrap: break-word;'>0.289</td><td style='text-align: center; word-wrap: break-word;'>0.623</td><td style='text-align: center; word-wrap: break-word;'>18.647</td><td style='text-align: center; word-wrap: break-word;'>0.658</td><td style='text-align: center; word-wrap: break-word;'>0.369</td><td style='text-align: center; word-wrap: break-word;'>16.234</td><td style='text-align: center; word-wrap: break-word;'>0.600</td><td style='text-align: center; word-wrap: break-word;'>0.330</td></tr></table>

##### 7.2. 更多渲染与映射结果

我们采集了Livox MID-360（private-360）和HESAI Pandar XT-32（private-pandar）序列，图像分辨率为$640 \times 512$，用以验证不同类型激光雷达下我们算法的性能。渲染性能的详细对比结果见表5。

值得注意的是，我们的方法能够在有限的GPU资源（8GB）下重建整个场景，这是其他方法无法实现的特性[^7] [^16]。在图9中，我们展示了相应完整序列中的渲染图像快照。可以看出，即使在实时映射要求下处理大型户外场景时，我们的方法仍能保持出色的渲染质量。

由于我们的3D高斯信息是从点云初始化的，因此对于稀疏的多线旋转激光雷达而言，其渲染性能不如Livox激光雷达，这源于点云密度的差异。这种差异可以在图9中的植物园序列中观察到。

图10还展示了hku_main_building和1005_01序列的重建3D高斯模型。hku_main_building序列时长20分钟，轨迹长度约900米，但我们仍能够实现实时地图扩展。户外公园（序列1005_01）通常包含丰富的结构和纹理特征，因此实现照片级真实感映射极具挑战性。在户外公园使用Velodyne VLP-16激光雷达时，我们提出的算法能够生成良好的密集重建模型。

##### 7.3. 更多消融实验

表6展示了在额外序列上开展的扩展消融实验。在具有挑战性的环境中，例如传感器退化（Visual_Challenge）或点云极其稀疏的情况（eee_02），实验继续表明我们的模块设计具有鲁棒性，能够增强这些场景下的照片级真实感映射效果。

##### 7.4. 跟踪性能

我们的照片级真实感映射方法利用通用的SLAM框架来获取精确的相机位姿。理论上，这种方法可以集成到任何通用的LIVO框架中。在实验中，我们采用了来自[^48]的框架。与原始的[^48]相比，我们做出了以下改进：1) 我们用传感器更精细的原始时间戳替换了时间扫描

<div style="text-align: center;">Table 6. Quantitative ablation comparison of hyperparameters in various sequences, such as duration (DT), mapping time (MT), interval of 3D Gaussians in voxel side $n_{s}$, convergence variance of Voxel-GPR $\eta$, structure similarity loss (SS), and delta depth similarity loss (DDS).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Sequence</td><td style='text-align: center; word-wrap: break-word;'>DT (s)</td><td style='text-align: center; word-wrap: break-word;'>MT (s)</td><td style='text-align: center; word-wrap: break-word;'>$n_s$</td><td style='text-align: center; word-wrap: break-word;'>$\eta$</td><td style='text-align: center; word-wrap: break-word;'>SS</td><td style='text-align: center; word-wrap: break-word;'>DDS</td><td style='text-align: center; word-wrap: break-word;'>PSNR</td><td style='text-align: center; word-wrap: break-word;'>SSIM</td></tr><tr><td rowspan="5">Visual_Challenge</td><td rowspan="5">162</td><td style='text-align: center; word-wrap: break-word;'>166</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.1</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>18.479</td><td style='text-align: center; word-wrap: break-word;'>0.608</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>162</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>17.326</td><td style='text-align: center; word-wrap: break-word;'>0.617</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>162</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>17.599</td><td style='text-align: center; word-wrap: break-word;'>0.626</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>162</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>18.127</td><td style='text-align: center; word-wrap: break-word;'>0.613</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>162</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>18.422</td><td style='text-align: center; word-wrap: break-word;'>0.659</td></tr><tr><td rowspan="5">eee_02</td><td rowspan="5">321</td><td style='text-align: center; word-wrap: break-word;'>321</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.2</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>12.766</td><td style='text-align: center; word-wrap: break-word;'>0.436</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>321</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>12.136</td><td style='text-align: center; word-wrap: break-word;'>0.430</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>321</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✗</td><td style='text-align: center; word-wrap: break-word;'>12.395</td><td style='text-align: center; word-wrap: break-word;'>0.434</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>321</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>12.512</td><td style='text-align: center; word-wrap: break-word;'>0.441</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>321</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>14.328</td><td style='text-align: center; word-wrap: break-word;'>0.473</td></tr></table>

基础的优化方法，从而解决了使用多线旋转激光雷达时产生的崩溃问题。2) 我们对某些大型矩阵乘法操作进行了CUDA封装，以加速优化过程。为确保比较的公平性，我们在改进后的[^48]版本上开展了跟踪实验。

我们将改进后的方法与基于滤波的方法R $^{3}$LIVE [^18]、FAST-LIO2 [^43]以及基于图优化的方法LVI-SAM [^33]进行比较。在跟踪性能评估中，我们重点关注相对位姿误差（RPE）和绝对轨迹误差（ATE）[^34]等关键性能指标，这些指标涵盖了旋转和平移在内的完整变换。

为了评估我们的数据集在跟踪任务中的适应性，我们从Botanic数据集中精心挑选了7个具有代表性的序列[^20]，并针对包括[^18]、[^33]、[^43]中所提出的算法在内的前沿算法进行综合评估，将其结果与真实数据进行比较。我们用于跟踪算法的数据来源于Velodyne VLP-16多线旋转激光雷达。表7展示了在Botanic Garden [^20]数据集的7个序列上的评估指标。由于我们的方法缺少闭环检测模块，在某些序列上的精度低于LVI-SAM [^33]。总体而言，与上述最先进方法的对比表明，我们的方法在特定序列上展现出明显优势。图11展示了Botanic Garden [^20]数据集中序列1006_01的轨迹对比情况，该序列的轨迹长度约为730米。

---

![Image](images/bc9bca39aaf58e7b15ed2846748f087646663100902ba2d7226aa5bb534c4e2a.jpg)

<div style="text-align: center;">Figure 9. Illustration of the rendering performance of the entire sequence from a dataset. It is noteworthy that these illustrations are all rendered based on the real-time mapping results. These scenes are hkust_campus_seq_00 (Livox AVIA), Visual_Challenge (Livox AVIA), eee_03 (Ouster 16), 1005_00 (Livox AVIA), hku_park_00 (Livox AVIA), hku_main_building (Livox AVIA), 1006_01 (Livox AVIA), 1006_01 (Velodyne VLP-16), 1005_01 (Velodyne VLP-16), and eee_03 (Ouster 16), respectively.</div>

---

![Image](images/959d050d81dad5d233a21e87b7a9496a0e306e8206fd2703d1db454695d54b44.jpg)

<div style="text-align: center;">Figure 10. More illustrations of the 3D Gaussians model of the entire sequence. These two scenes are hku_main_building ((Livox AVIA)) and 1005_01 (Velodyne VLP-16), respectively.</div>

<div style="text-align: center;">Table 7. Quantitative tracking performance comparison of LiDAR-IMU SLAM method [^43] and LiDAR-Visual-IMU fusion SLAM method [^18] [^33] on BotanicGarden dataset [^20].</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td colspan="2">1005.00</td><td colspan="2">1005.01</td><td colspan="2">1005.07</td><td colspan="2">1006.01</td><td colspan="2">1008.03</td><td colspan="2">1018.00</td><td colspan="2">1018.13</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>RPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>ATE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>RPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>ATE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>RPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>ATE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>RPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>ATE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>RPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>ATE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>RPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>ATE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>RPE $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>ATE $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>R3LIVE [^18]</td><td style='text-align: center; word-wrap: break-word;'>1.165</td><td style='text-align: center; word-wrap: break-word;'>3.153</td><td style='text-align: center; word-wrap: break-word;'>1.151</td><td style='text-align: center; word-wrap: break-word;'>1.451</td><td style='text-align: center; word-wrap: break-word;'>2.112</td><td style='text-align: center; word-wrap: break-word;'>3.893</td><td style='text-align: center; word-wrap: break-word;'>0.934</td><td style='text-align: center; word-wrap: break-word;'>3.505</td><td style='text-align: center; word-wrap: break-word;'>2.050</td><td style='text-align: center; word-wrap: break-word;'>3.383</td><td style='text-align: center; word-wrap: break-word;'>0.165</td><td style='text-align: center; word-wrap: break-word;'>0.378</td><td style='text-align: center; word-wrap: break-word;'>0.133</td><td style='text-align: center; word-wrap: break-word;'>0.366</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FAST-LIO2 [^43]</td><td style='text-align: center; word-wrap: break-word;'>1.048</td><td style='text-align: center; word-wrap: break-word;'>2.665</td><td style='text-align: center; word-wrap: break-word;'>0.652</td><td style='text-align: center; word-wrap: break-word;'>0.483</td><td style='text-align: center; word-wrap: break-word;'>0.947</td><td style='text-align: center; word-wrap: break-word;'>0.751</td><td style='text-align: center; word-wrap: break-word;'>1.047</td><td style='text-align: center; word-wrap: break-word;'>1.521</td><td style='text-align: center; word-wrap: break-word;'>0.852</td><td style='text-align: center; word-wrap: break-word;'>0.798</td><td style='text-align: center; word-wrap: break-word;'>0.241</td><td style='text-align: center; word-wrap: break-word;'>0.187</td><td style='text-align: center; word-wrap: break-word;'>0.245</td><td style='text-align: center; word-wrap: break-word;'>0.308</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LVI-SAM [^33]</td><td style='text-align: center; word-wrap: break-word;'>0.347</td><td style='text-align: center; word-wrap: break-word;'>0.312</td><td style='text-align: center; word-wrap: break-word;'>0.147</td><td style='text-align: center; word-wrap: break-word;'>0.129</td><td style='text-align: center; word-wrap: break-word;'>0.127</td><td style='text-align: center; word-wrap: break-word;'>0.257</td><td style='text-align: center; word-wrap: break-word;'>0.462</td><td style='text-align: center; word-wrap: break-word;'>0.410</td><td style='text-align: center; word-wrap: break-word;'>0.272</td><td style='text-align: center; word-wrap: break-word;'>0.252</td><td style='text-align: center; word-wrap: break-word;'>0.139</td><td style='text-align: center; word-wrap: break-word;'>0.044</td><td style='text-align: center; word-wrap: break-word;'>0.152</td><td style='text-align: center; word-wrap: break-word;'>0.051</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>OURS</td><td style='text-align: center; word-wrap: break-word;'>0.174</td><td style='text-align: center; word-wrap: break-word;'>0.291</td><td style='text-align: center; word-wrap: break-word;'>0.058</td><td style='text-align: center; word-wrap: break-word;'>0.073</td><td style='text-align: center; word-wrap: break-word;'>0.061</td><td style='text-align: center; word-wrap: break-word;'>0.496</td><td style='text-align: center; word-wrap: break-word;'>0.202</td><td style='text-align: center; word-wrap: break-word;'>0.702</td><td style='text-align: center; word-wrap: break-word;'>0.068</td><td style='text-align: center; word-wrap: break-word;'>0.414</td><td style='text-align: center; word-wrap: break-word;'>0.055</td><td style='text-align: center; word-wrap: break-word;'>0.075</td><td style='text-align: center; word-wrap: break-word;'>0.050</td><td style='text-align: center; word-wrap: break-word;'>0.077</td></tr></table>

![Image](images/1990c63d473edd0716620ce68fd971d9369681715b99e8225ef40273dabb43c0.jpg)

<div style="text-align: center;">Figure 11. The trajectory comparison for the Botanic Garden sequence 1006_01 is illustrated, featuring a detailed illustration of a three-way intersection within the scene in the upper left, with the offset along the Z plane for this junction depicted below. It is evident from this comparison that our trajectory aligns most closely with the actual trajectory, demonstrating a high level of tracking precision.</div>

图11的右上角展示了XY平面上一个三岔路口的放大视图，而右下角则显示了该路口在Z平面上的高程图。从可视化结果可以看出，我们的轨迹与真实轨迹最为吻合，体现了最高的定性跟踪精度。更多对比结果详见图12。

<div style="text-align: center;">Table 8. Duration (DT), mapping time (MT), count of 3D Gaussians, maximum memory cost (Mem), and rendering metrics on ultra long sequence.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Sequence</td><td style='text-align: center; word-wrap: break-word;'>DT (s)</td><td style='text-align: center; word-wrap: break-word;'>MT (s)</td><td style='text-align: center; word-wrap: break-word;'>Count</td><td style='text-align: center; word-wrap: break-word;'>Mem (Mb)</td><td style='text-align: center; word-wrap: break-word;'>PSNR</td><td style='text-align: center; word-wrap: break-word;'>SSIM</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>hku_main_building</td><td style='text-align: center; word-wrap: break-word;'>1170</td><td style='text-align: center; word-wrap: break-word;'>1170</td><td style='text-align: center; word-wrap: break-word;'>2,674,234</td><td style='text-align: center; word-wrap: break-word;'>4489</td><td style='text-align: center; word-wrap: break-word;'>15.234</td><td style='text-align: center; word-wrap: break-word;'>0.538</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>hkust_campus_00</td><td style='text-align: center; word-wrap: break-word;'>1073</td><td style='text-align: center; word-wrap: break-word;'>1090</td><td style='text-align: center; word-wrap: break-word;'>3,302,675</td><td style='text-align: center; word-wrap: break-word;'>5812</td><td style='text-align: center; word-wrap: break-word;'>15.124</td><td style='text-align: center; word-wrap: break-word;'>0.496</td></tr></table>

#### 7.5. 超长时间序列下的时间消耗与内存占用

在超长时间序列中处理SLAM和照片级真实感地图构建是一项极具挑战性的任务。随着地图规模的扩大，可用的存储空间不足会导致建图过程变慢甚至中断。为解决这些问题，我们在测试数据集上对两个超长序列进行了测试。在有限的GPU资源条件下，我们设定了$n_{r}=2$，并获取了建图时间与渲染时间。

---

![Image](images/3386c5e87c782c73003e899bdf7b758e30d56a9a588c1844dc114c83eea0b4af.jpg)

![Image](images/c6d6a2ceb4d725d38acf337edb1e186709a661b5ce93d9de8acb9acae5934cea.jpg)

![Image](images/f96725a8360590b5967cc640c95dd5b27bf20ec8edb4152764562ed444f6b2e8.jpg)

![Image](images/aca2c403c1b31737e2f517fab647c7673b729bb54f57738dc059b2423ddbf654.jpg)

![Image](images/0b819c425dd4bf94d4f974d469822aa66aeaf3ff1ff082392f2fc66ee1f01c8b.jpg)

![Image](images/32374daa907a6d0d55f4c5d1aca529b8ee499368f2a6cc24ad840a0b230b9dc2.jpg)

![Image](images/a46b258790a63a324e7477740a20f27fb6a113698902010d90a5af16098810d2.jpg)

![Image](images/df66b39d194afdcf2c62defe2304f9f78492e4ee347a5fbe8d1536f8cd56d9d4.jpg)

<div style="text-align: center;">Figure 12. More trajectory comparisons. The first row of images shows the trajectory of the entire scene, while the second row of images displays the enlarged results within the corresponding blue boxes. The four scenes are 1005_00, 1005_07, 1008_03, 1008_13, respectively.</div>

![Image](images/96dd215d93bebfbd57104a119f224913afd4e678fe0d3152219f949271f50db3.jpg)

<div style="text-align: center;">Figure 13. Time consumption and GPU memory consumption on ultra long scequence hku_main_building (Duration: 1170 s).</div>

<div style="text-align: center;">Table 9. Hyper parameters used in all datasets.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Name</td><td style='text-align: center; word-wrap: break-word;'>Value</td><td style='text-align: center; word-wrap: break-word;'>Description</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>size</td><td style='text-align: center; word-wrap: break-word;'>0.2</td><td style='text-align: center; word-wrap: break-word;'>Side length of each voxel.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\tau$</td><td style='text-align: center; word-wrap: break-word;'>10</td><td style='text-align: center; word-wrap: break-word;'>Point count threshold for voxel processing.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$n_s$</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>Interval between each side within the voxel.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$n_r$</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>Number of neighboring Gaussians per side.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\eta$</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>Convergence threshold for Voxel-GPR.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\lambda_{SSIM}$</td><td style='text-align: center; word-wrap: break-word;'>0.2</td><td style='text-align: center; word-wrap: break-word;'>Weight for the photometric SSIM loss.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\lambda_p$</td><td style='text-align: center; word-wrap: break-word;'>0.1</td><td style='text-align: center; word-wrap: break-word;'>Weight for the structural similarity loss.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\lambda_d$</td><td style='text-align: center; word-wrap: break-word;'>0.1</td><td style='text-align: center; word-wrap: break-word;'>Weight for delta depth similarity loss.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathcal{T}$</td><td style='text-align: center; word-wrap: break-word;'>50</td><td style='text-align: center; word-wrap: break-word;'>Size of the sliding window for recent images.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$k_{curr}$</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>Number of frames selected from the current window.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$k_{his}$</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>Number of frames selected from historical data.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$lr_{position}$</td><td style='text-align: center; word-wrap: break-word;'>0.0005</td><td style='text-align: center; word-wrap: break-word;'>Learning rate for position parameters.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$lr_{color}$</td><td style='text-align: center; word-wrap: break-word;'>0.0025</td><td style='text-align: center; word-wrap: break-word;'>Learning rate for color parameters.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$lr_{opacity}$</td><td style='text-align: center; word-wrap: break-word;'>0.025</td><td style='text-align: center; word-wrap: break-word;'>Learning rate for opacity parameters.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$lr_{scale}$</td><td style='text-align: center; word-wrap: break-word;'>0.0025</td><td style='text-align: center; word-wrap: break-word;'>Learning rate for scale parameters.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$lr_{rotation}$</td><td style='text-align: center; word-wrap: break-word;'>0.0025</td><td style='text-align: center; word-wrap: break-word;'>Learning rate for rotation parameters.</td></tr></table>

具体指标如表8所示。各算法模块随时间变化所消耗的时间和GPU内存情况如图13所示。在长时间序列的后阶段，大部分时间都用于渲染超大的3DGS地图、地图反馈以及优化工作。由此可见，我们的方法仍能在超长序列中实现实时地图扩展，且在超大场景下的资源消耗仍处于可接受范围内。

##### 7.6. 我们实验中的超参数设置

所有序列中使用的超参数均列于表9中。如需了解更多配置细节，请参阅我们GitHub仓库中的配置文件。

#### 8. 局限性

本文主要侧重于实时性能，所有模块的设计目的都是为了降低算法的时间复杂度，从而最终实现大规模开放环境下的实时照片级真实感地图构建。不过，本研究仍存在一定局限性：3DGS模型的初始化完全依赖于点云数据，这导致在点云覆盖不足的区域会出现初始化失败现象，进而产生缺失区域。未来的研究将探索整合图像数据以辅助初始化过程。此外，受实时性限制，重建质量可能无法达到通过实际数据采集所获得的图像质量。提升重建质量将是我们的后续研究方向。
