Gaussian-LIC2:多传感器3DGS-SLAM 系统!质量、精度、实时全要

点击下方卡片,关注“3D视觉之心”公众号

第一时间获取3D视觉干货

>>点击进入→具身智能之心技术交流群

更多干货,欢迎加入国内首个具身智能全栈学习社区具身智能之心知识星球(戳我)这里包含所有你想要的。

三项全能

同时定位与建图(SLAM)是一项支撑混合现实系统和机器人应用空间感知的基础性技术。近年来,辐射场表示方法,尤其是神经辐射场(NeRF)和三维高斯喷溅(3DGS),引领了 SLAM 的新范式,即基于辐射场的 SLAM。借助可微分的真实感渲染能力,基于辐射场的 SLAM 系统旨在实现精确的位姿估计与真实感的三维地图构建,使机器人具备更丰富的三维场景理解能力。这类系统可广泛应用于路径规划、主动建图与三维网格重建等任务。

最初,基于 NeRF 的 SLAM 系统采用多层感知器(MLPs)表示整个场景,以实现高质量、低内存消耗的稠密地图。然而,这种隐式表示需依赖三维空间中的采样点进行体积渲染,计算开销大,限制了其在对实时性要求极高的机器人场景中的应用。三维高斯喷溅的出现打破了这一局限。它不仅具备快速渲染与出色的视觉质量,也展现出更强的实时应用潜力。多数基于 3DGS 的 SLAM 系统配备 RGB-D 或 RGB 传感器,主要面向室内场景,在精度与渲染质量上优于 NeRF 系统。然而,它们在剧烈的自运动、光照变化及缺乏纹理等具有挑战性的无界户外环境中表现不佳。已有部分研究尝试通过融合 LiDAR 与 IMU 解决此问题,其中 LiDAR-惯性-相机的融合方式在传统 SLAM 中已被充分验证其有效性。值得注意的是,LiDAR 提供的高精度几何先验不仅有助于位姿追踪,也利于高斯地图构建,而 LiDAR 成本的显著下降也提升了其集成可行性。

尽管现有基于 LiDAR-惯性-相机的 3DGS SLAM 系统在稳健状态估计与高视觉质量稠密建图方面表现出色,但仍存在诸多未解或未充分处理的问题。

  1. 首先,现有方法多数依赖视野范围与相机对齐的高密度 LiDAR,仅以 LiDAR 点初始化高斯分布。这在 LiDAR 盲区或使用稀疏 LiDAR 时容易造成重建不足。虽然原始 3DGS 中的自适应密度控制(ADC)可以通过复制与分裂高斯缓解该问题,但其在渐进式的 SLAM 系统中对不同成熟度高斯的优化效果不佳,而且需多次迭代累积梯度,难以满足实时需求。

  2. 其次,尽管 SLAM 系统采用 LiDAR 提供的几何信息,但过于强调地图的视觉质量,忽视了几何重建的准确性,限制了其在如避障等对几何要求高的任务中的应用。如何在保证实时性的同时兼顾高质量的 RGB 与深度渲染仍是巨大挑战。

  3. 此外,现有方法大多只关注训练视角下的渲染质量,而忽视了对序列内或序列外新视角合成能力的评估。当前支持 RGB 与深度渲染评估(特别是序列外视角)的 LiDAR-惯性-相机 SLAM 数据集亦较为稀缺

项目链接:https://xingxingzuo.github.io/gaussian_lic2/

本文介绍一套具备实时真实感的 SLAM 系统 Gaussian-LIC2[1],专门应对上述挑战。该系统不仅实现了稳健与高精度的位姿估计,还实时构建出同时具有高视觉保真度与几何准确性的三维高斯地图。

主要贡献包括:

  • 提出首个同时兼顾视觉质量、几何精度与实时性能的 LiDAR-惯性-相机三维高斯喷溅 SLAM 系统,能够在实时条件下精确地估计位姿并构建高保真、几何精确的真实感三维高斯地图。

  • 通过快速、轻量、具有泛化能力的稀疏深度补全网络,将 LiDAR 与图像数据有效结合,预测未被 LiDAR 覆盖像素的深度,从而更全面地初始化高斯,缓解重建盲区。在训练过程中,我们充分利用 LiDAR 提供的深度作为监督信号,并通过精心设计的 C++ 与 CUDA 实现加速。

  • 探索如何将逐步构建的高斯地图中的光度约束,与 LiDAR-惯性数据在连续时间框架中紧密融合,从而提升在 LiDAR 退化场景下的里程计鲁棒性。此外,我们还扩展该系统至视频帧插值、快速网格提取等下游任务。

  • 制作了一个专门的 LiDAR-惯性-相机数据集,包含真值位姿、深度图及精心设计的采集轨迹,用于评估序列外的新视角合成能力。我们在公开与自采数据集上进行了大量实验,验证了所提出系统的优越性与对不同类型 LiDAR 的适应能力。

系统概览

图2展示了我们所提出的 Gaussian-LIC2 系统的整体框架,该系统由两个主要模块组成:一是连续时间紧耦合的 LiDAR-惯性-相机里程计,二是基于三维高斯喷溅的渐进式真实感建图后端。

LiDAR-惯性-相机融合

我们借鉴了经典的多传感器融合里程计的思路,以实现实时、鲁棒且精确的位姿估计,为后续的真实感建图奠定基础。具体来说,我们的里程计系统继承并扩展自 Coco-LIC,这是一个基于非均匀 B 样条的连续时间紧耦合 LiDAR-惯性-相机里程计。通过使用连续时间轨迹表示,该方法天然支持在任意传感器测量时间戳下进行位姿查询,使得异步且高频的 LiDAR-惯性-相机数据能被无插值误差地紧密融合,从而提升系统的稳定性与精度。

轨迹扩展

我们的 LiDAR-惯性-相机系统从静止状态初始化,首先使用一段 IMU 测量数据缓冲来估计 IMU 的偏置与对齐重力方向的初始姿态。系统采用一个活动滑动窗口,窗口长度为最新的 0.1 秒,用于进行优化,与 Coco-LIC 一致。

从时间点   开始,一旦滑动窗口时间段   内的 LiDAR-惯性-相机数据准备完毕,我们便在此区间内估计轨迹,其中  。所累积的数据包括该时间段内的所有原始 LiDAR 点集  、所有 IMU 原始数据  ,以及最新的图像帧  。为简便起见,我们省略了该时间段内其他图像帧的处理,经实测对系统性能无显著影响。

与 Coco-LIC 相同,我们首先根据 IMU 推断的运动强度自适应初始化若干个控制点,然后将这些控制点插入滑动窗口,用以扩展轨迹。随后,在滑动窗口内优化以下状态量:

其中,  表示该时间段内的所有控制点,参数化了世界坐标系下 IMU 的连续时间轨迹;  与   分别表示陀螺仪与加速度计的偏置,假设在该时间段内偏置恒定,分别为  ,并在高斯随机游走模型下演化至 

连续时间因子图

1)LiDAR 因子: 与 Coco-LIC 中采用特征提取与 kd 树建图不同,我们直接将下采样的原始 LiDAR 点注册到基于 ikd-Tree 组织的 LiDAR 地图中,以提升效率与精度。给定一个在时间   采集的原始 LiDAR 点  ,我们首先利用连续时间轨迹查询得到其世界坐标:

然后搜索其在地图中的五个最近邻点,拟合出一个平面,并计算点到该平面的残差项如下:

其中   是该平面的单位法向量,  是平面到原点的距离。

2)惯性因子: 定义如下惯性因子:

其中前者为 IMU 因子,后者为基于随机游走过程的偏置因子。  与   为 IMU 的原始角速度与线加速度测量,  与   为通过轨迹导数计算得到的预测值。

3)相机因子(选项一,默认): 我们的系统包含两种相机因子,第一种基于 LiDAR 地图的重投影约束。具体而言,类似 Coco-LIC,我们在体素中维护部分 LiDAR 地图点,并将其与图像像素进行投影关联,使用 KLT 稀疏光流与 RANSAC 进行外点剔除。设某 LiDAR 地图点   被关联到图像像素  ,其在时间   下的重投影残差为:

其中   为相机投影函数,  表示时间   下的相机位姿逆变换。

4)相机因子(选项二): 第二种相机因子利用逐步构建的高斯地图。依赖连续时间轨迹建模,我们可获取任意时间点的相机位姿  。设在时间   采集的原始图像为  ,从高斯地图   渲染得到的图像记为  ,我们通过最小化以下渲染损失来优化相机位姿:

其中   是结构相似性损失项。在实际操作中,我们使用 Adam 优化器迭代   次,高斯地图保持不变,仅优化相机位姿,得到优化后的相机位姿记作:

由此定义的高斯地图提供的光度约束残差为:

LiDAR-惯性-相机因子图优化

我们在因子图中联合融合 LiDAR、IMU 与相机数据,构建如下非线性最小二乘优化问题来求解状态量 

该问题由 Ceres Solver 使用 Levenberg-Marquardt 算法求解,且我们通过解析导数进一步加速。相机因子   可选择为  (LiDAR 地图重投影约束,轻量但手工设计)或  (高斯地图光度约束,计算成本更高但更自然)。  是边缘化产生的先验因子,  是各类测量的协方差矩阵。

高斯建图的数据准备

建图数据分组

当滑动窗口内最新轨迹段   的优化完成后,我们便获得了图像帧   对应的准确相机位姿。该时间段内的所有原始 LiDAR 点   可根据优化后的连续时间轨迹变换至世界坐标系。图像与转换后的 LiDAR 点联合构成一个混合帧(hybrid frame),我们每隔五帧选择一个混合帧作为关键帧,用于真实感建图。

若当前混合帧被选为关键帧,我们将最近五个混合帧中的所有 LiDAR 点合并成一个点云,并将其投影至当前图像平面以生成稀疏深度图。接着,我们对点云进行下采样,保留每   个点中的一个。下采样后的点云再次投影至图像平面以获取颜色。已着色的点将用于初始化三维高斯分布(将在第八节详细介绍)。至此,该关键帧构建完成,包含一幅已定姿态的图像、一张稀疏深度图以及一组已着色的 LiDAR 点。

实时深度补全

LiDAR 可为高斯初始化提供精准的几何先验。然而,由于 LiDAR 与相机视场角不一致,若仅依赖 LiDAR 点,在盲区或使用稀疏 LiDAR 时将导致重建不足。原始 3DGS 中的自适应密度控制(ADC)在某种程度上可缓解此问题,但在 SLAM 场景中效果有限。增量插入的高斯分布会导致不同批次之间收敛不一致,容易误导梯度操作如复制与分裂。此外,多次迭代所需的梯度累积阻碍了系统的实时性能。Gaussian-LIC 曾利用在线三角化的视觉特征来补偿 LiDAR 未观测区域,但该方法在纹理缺失场景中表现不佳,并且对视角差异较为敏感。因此,仍需探索如何更有效地利用视觉线索来实现高效的高斯初始化。其核心问题在于如何获取图像像素的精确深度。

为什么应采用深度补全?近年来计算机视觉在从图像恢复稠密深度方面取得诸多进展。首先,单目相对深度估计可从一幅图像中预测深度,但存在尺度模糊问题。尽管可与 LiDAR 深度对齐进行尺度校正,但在所有像素上恢复准确的绝对尺度仍然困难,特别是在缺乏 LiDAR 覆盖的区域。其次,单目绝对深度估计方法可直接输出尺度感知的深度,但其精度在大规模室外环境下仍显不足。第三,多视图立体(MVS)方法可通过多帧图像估计度量深度,尽管准确性高,但对视角变化较为敏感,且在室外环境下泛化能力有限。相比之下,深度补全融合稀疏 LiDAR 数据与单帧 RGB 图像,能在大规模场景下实现稳健的深度恢复,避免尺度模糊,且能达到接近 LiDAR 的精度。

本文采用 SPNet 作为深度补全模型,因其具备高效性、紧凑性与良好的泛化能力,且无需额外微调即可直接使用。如算法1与图3所示,我们将关键帧中的稀疏深度图   与图像   输入 SPNet,生成补全后的稠密深度图  。随后计算已知区域在补全前后的平均深度变化,若其超过阈值  ,则认为补全过程失败(但这种情况极少出现)。完成补全后,过滤掉   中的负深度值或深度梯度过大的像素,得到滤波后的稠密深度图 

然后我们将稀疏深度图划分为大小为   的图像块,对每一块进行遍历。对于没有有效 LiDAR 深度的图像块,从   中选取具有最小深度的像素  ,若其深度小于阈值  ,则将其加入集合  。所有集合中的像素将反投影形成补充的有色点云  ,用于补偿 LiDAR 未覆盖区域。最终,该补充点云   会变换至世界坐标系,并与当前关键帧中的着色 LiDAR 点进行合并。

真实感高斯建图

高斯初始化

每当一个新的关键帧产生后,其稀疏 LiDAR 点与由深度补全生成的补充点将联合组成一组输入点云,并具有对应的颜色。我们以这些点为中心初始化三维高斯分布,其尺度、方向与颜色分别通过下述方式计算得到:

  • 初始协方差设定为单位矩阵;

  • 每个点附近   个邻域点用于计算样本协方差,并将其对角化获取特征值与特征向量;

  • 特征值开方后的结果乘以缩放因子   用作初始尺度;

  • 特征向量用于确定高斯分布的方向;

  • 对应的图像像素颜色赋予该高斯的颜色属性。

最终,每个高斯被表示为:

其中,  为均值(中心),  为尺度,  为旋转矩阵,  为 RGB 颜色。初始化完成后,新的高斯将添加进地图中,参与后续渲染与优化。

高斯地图优化

为进一步提升渲染质量,我们在每次加入新关键帧后,优化所有高斯参数,包括中心位置、尺度、方向、颜色与不透明度。优化过程以如下损失函数为目标:

其中:

  • 第一项为图像重建的   损失;

  • 第二项为结构相似性损失;

  • 第三项为深度图在   方向的梯度一致性损失;

  •  分别为从当前高斯地图渲染得到的颜色图与深度图;

  •  为关键帧中原始图像与稠密深度图;

  • 超参数   分别调节各项损失的权重。

为保证实时性,我们使用 CUDA 对渲染与梯度计算进行加速,并将优化限制在部分活跃高斯上。具体而言,遍历当前高斯地图中所有高斯,根据其可见性筛选出活跃集  ,每次优化迭代仅更新该子集。

此外,我们限制高斯的尺度与不透明度在合理范围内,防止优化发散。

构图策略

考虑到渲染时间与内存的限制,我们不对所有历史关键帧进行联合优化,而是采用滑动窗口机制。即每次仅将最近   个关键帧加入优化中,其对应的高斯集合也构成当前优化的目标子图。

窗口外的高斯将被冻结,用于渲染但不参与梯度更新。这样可以在保证渲染质量的同时控制优化开销。

此外,考虑到真实场景中光照变化与纹理不足等情况对颜色优化的不利影响,我们在损失中加入深度项,提升几何一致性。结合稠密深度图与图像信息,有助于在弱纹理区域获得更准确的高斯参数更新。

实时性能优化

为了提升建图过程中的运行效率,我们对整个渲染与优化流程进行了 CUDA 加速。包括:

  • 高斯筛选与排序;

  • 图像/深度图渲染;

  • 各项损失的计算;

  • 梯度反向传播与参数更新。

特别地,我们采用了 block-wise 分组处理方式,并对每个线程块内的像素进行共享内存的特征聚合与归一化,显著减少了全局内存访问。此外,梯度累积与指数平滑也被并行化以减少延迟。

实验证明,我们的系统可在桌面 GPU 上实现每秒数帧的建图速率,满足大多数移动机器人或混合现实平台的实时需求。

实验效果

总结一下

Gaussian-LIC2是一种完整且实用的 LiDAR-惯性-相机三维高斯喷溅 SLAM 系统 ,是首个同时关注视觉质量、几何精度和实时性能的工作。我们基于连续时间轨迹,紧密融合 LiDAR、IMU 与相机测量,显著提高了里程计在退化场景下的稳定性与精度。为了补偿稀疏 LiDAR 带来的重建盲区,我们引入了高效、轻量且通用的深度补全模型,用于稠密深度估计,提升高斯初始化的覆盖度。此外,我们通过对高斯地图的 CUDA 加速优化策略,确保系统在不牺牲渲染质量的前提下,实现实时运行。实验中,我们在多个公开和自建数据集上验证了系统在定位精度、新视角合成质量和实时性的领先表现,涵盖了不同采样密度的 LiDAR 类型。我们希望该工作能为构建通用的实时真实感 SLAM 系统提供新思路,并推动三维高斯喷溅在实际机器人与增强现实应用中的落地。

参考

[1] Gaussian-LIC2: LiDAR-Inertial-Camera Gaussian Splatting SLAM

【3D视觉之心】技术交流群

3D视觉之心是面向3D视觉感知方向相关的交流社区,由业内顶尖的3D视觉团队创办!聚焦维重建、Nerf、点云处理、视觉SLAM、激光SLAM、多传感器标定、多传感器融合、深度估计、摄影几何、求职交流等方向。扫码添加小助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

扫码添加小助理进群

【具身智能之心】知识星球

具身智能之心知识星球是国内首个具身智能开发者社区,也是最专业最大的交流平台,近1500人。主要关注具身智能相关的数据集、开源项目、具身仿真平台、VLA、VLN、Diffusion Policy、强化学习、具身智能感知定位、机器臂抓取、姿态估计、策略学习、轮式+机械臂、双足机器人、四足机器人、大模型部署、端到端、规划控制等方向。星球内部为大家汇总了近40+开源项目近60+具身智能相关数据集行业主流具身仿真平台、各类学习路线,涉及当前具身所有主流方向。

扫码加入星球,享受以下专有服务:

1. 第一时间掌握具身智能相关的学术进展、工业落地应用;
2. 和行业大佬一起交流工作与求职相关的问题;
3. 优良的学习交流环境,能结识更多同行业的伙伴;
4. 具身智能相关工作岗位推荐,第一时间对接企业;
5. 行业机会挖掘,投资与项目对接;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值