点击下方卡片,关注“3D视觉之心”公众号
>>点击进入→3D视觉之心技术交流群
室外场景的挑战
SLAM是大规模场景重建的关键技术,通过精确定位重建观测到的场景。激光雷达和相机作为场景重建中常用的两类传感器,推动了SLAM技术的发展。传统的激光雷达SLAM利用点云中的几何特征和精确的深度信息,实现高精度定位。近年来,神经辐射场(NeRFs)和3D高斯投影(3DGS)的兴起,为视觉SLAM提供了更为细致的环境表示。然而,传统的地图表示方法(如点云、体素和表面元素)在建图中存在分辨率受限的问题,而隐式神经场则需要高昂的计算资源。相比之下,3DGS使用高斯椭球作为一种高效地图表示方法,不仅支持自适应的空间特征表示,还能实现快速渲染。结合对高精度SLAM和真实感场景重建的需求,3D高斯投影展现出了激光雷达和相机传感器结合的强大潜力。
室外SLAM和场景重建面临独特的挑战,如光照变化和深度范围无限等问题,使得基于RGBD的室内解决方案在室外应用中显得不足。尽管激光雷达在室外环境中能够精确测量距离,但由于点云稀疏且不连续,不同视图之间的像素匹配依然是一个挑战。现有方法(如手持建图)依赖重复测量来增强图像深度,这对仅能从相机视角捕获单视图的移动机器人平台而言并不现实。
为了解决上述问题,LiV-GS[1]是一种基于3D高斯空间表示的SLAM框架,能够无缝集成激光雷达和相机图像。通过将高斯协方差从渲染中与当前观测对齐来估计机器人位姿,并通过后端纠正漂移并更新高斯地图。为了解决在无限场景中视觉与激光雷达深度的连续性问题,基于激光雷达点云提出了一种高斯分裂方法,确保地图更新中的分布约束。
主要贡献如下:
提出了一种基于3D高斯表示的统一激光雷达-相机室外SLAM框架,能够在高精度定位的过程中实现增量建图和高质量的新视图合成 提出了有效的高斯-激光雷达对齐方法,包括用于稳定追踪的法向方向约束和基于密度与法向一致性的加权机制,用于评估不同高斯的可靠性 提出了一种条件高斯分布约束,用于地图更新,即使在激光雷达点不可用的区域,也能利用激光雷达先验传播可靠的高斯,表示整个场景
具体方法
系统概述
如图1所示,LiV-GS系统由四个模块组成:数据预处理、前端追踪、后端优化和地图更新。多模态传感器数据(包括激光雷达和视觉传感器)在数据预处理模块中进行集成,随后输入前端追踪模块。在前端,系统将从上一时刻渲染的高斯椭球与当前点云结合,用于帧到地图的匹配。关键帧通过可视区域的共视性评估进行选择,并被加入高斯地图中。包含关键帧参数的高斯地图随后在后端进行位姿优化和地图更新。通过最小化损失函数,高斯地图会连续更新其参数,同时进行高斯的分裂与裁剪操作。
在所提系统中,数据输入包括相机图像和激光雷达点云。这些数据通过已校准的外参进行融合,将时间对齐的激光雷达点云转换为深度图像。转换方程如下:
其中, 表示激光雷达点云中的点, 和 分别为从激光雷达到相机坐标系的旋转矩阵和平移向量, 为相机内参矩阵。该转换实现了激光雷达数据与视觉数据的对齐,从而在RGB视角下统一深度感知。
前端追踪
前端追踪的主要挑战在于如何将由颜色监督生成的高斯与具有固定分辨率的激光雷达点云对齐。我们采用协方差作为桥梁,这是点云和高斯的共享属性。在确定每个激光雷达点的法向方向后,我们将其与高斯的最短轴对齐。为了进一步提高追踪的稳定性,我们引入了一种权重函数,用以区分仅由颜色监督生成的高斯和那些结合了激光雷达深度信息生成的高斯,并在点云与高斯匹配的误差计算中考虑其权重。
点云与高斯的匹配
我们首先维护一个滑动窗口,从最近的10帧中筛选出高斯,同时屏蔽掉其余的高斯。这个选择过程确保在关注的子地图内匹配的高斯具有相关性。随后,我们通过一个增量误差最小化函数来确保点云与高斯之间的精确匹配,公式如下:
其中, 表示激光雷达点云 中的一个点, 是从前一时刻到世界坐标系的当前位姿估计, 是最接近 的高斯中心, 是 的法向量, 是高斯点 的置信权重。
为了进一步提高稳定性和精度,引入了一个正则化项 ,用来衡量法向之间的方向误差,其公式如下:
正则化项通过一个超参数进行调节,进一步强化了法向对齐的效果。
权重函数的构建
点云的可靠权重与其密度密切相关。我们首先确定局部球形区域 中的所有高斯分布中心,其中 是球的中心, 是半径。通过最小化点 与每个高斯中心 的距离,确定这些高斯分布中心。密度函数 定义如下:
其中, 是通过以下公式重新构造的协方差矩阵:
在优化过程中,由于高斯法向长度难以控制,我们引入了对点云和高斯的法向长度归一化,以确保法向方向的稳定性,从而提高算法的鲁棒性。
此外,为了加速匹配过程中密度函数的计算,我们对上述公式进行了简化,使得计算更加高效。
共视性评估
我们通过评估当前帧与上一关键帧之间的高斯函数重叠程度来衡量共视性。如果共视性低于设定的阈值,则将当前帧标记为关键帧。为了确保快速追踪在前视角下能持续匹配当前点云与足够的高斯椭球,关键帧中的点云直接被添加到高斯地图中,并通过沿射线传播方向扩展点云协方差进行初始化。随后,后端通过与先前关键帧的视角比较优化高斯地图,从而实现高斯地图的增量更新。
后端优化
后端优化模块通过处理关键帧及其参数进行两轮优化。第一轮针对滑动窗口中的关键帧位姿进行优化,第二轮则用于更新高斯地图。
深度和颜色渲染
高斯地图的深度渲染和颜色渲染过程如下所示:
深度渲染公式:
颜色渲染公式:
其中:
表示高斯集合 中的单个高斯; 和 分别表示高斯 沿摄像机射线的距离和颜色; 是高斯的不透明度。
损失函数设计
为了优化高斯的参数,我们设计了如下损失函数:
损失函数的组成部分包括:
光度误差 : 表示视觉真实值与渲染图像之间的差异; 几何误差 : 衡量激光雷达深度输入与渲染深度图之间的差异; 法向误差 : 表示高斯在法向方向上的平均方差的范数:
在室外场景中,高斯通常稀疏且分布较大。为了使高斯与物体表面更紧密对齐,我们引入法向误差 来优化法向的稳定性和长度。优化后的高斯法向更短、更稳定,从而显著提升渲染质量。
优化流程
在优化过程中:
关键帧位姿优化: 限制在滑动窗口内的关键帧位姿进行调整,确保局部精度。 高斯地图更新: 利用优化后的关键帧位姿对高斯地图进行全局更新。
优化效果
图3显示了引入法向误差后,高斯地图的结构更加稳定,渲染质量显著提升。特别是在细节丰富的场景中(如建筑物表面和地面纹理),优化后的高斯地图更能精确反映场景的几何特征。
地图更新
为处理无限场景中的天空区域表示,我们在场景外初始化一个包含10万个高斯原语的天空盒,并随着高斯地图的增量构建动态更新。在地图初始化和更新过程中,高斯主要分为两类:由颜色监督生成的高斯 和由激光雷达测量生成的高斯 。
条件高斯约束 (Conditional Gaussian Constraint, CGC)
我们提出了一种条件高斯约束(CGC),通过调整损失函数对颜色监督生成的高斯的位置进行优化和调整。对于通过颜色监督生成的每个点 ,我们从激光雷达测量的高斯集合中选择最近的高斯 。假设给定 ,点 服从以下高斯分布:
其中:
:表示从高斯 的正态分布中采样分裂出的新高斯的中心; :为高斯 的协方差矩阵。
条件高斯约束通过调整新高斯 的均值 和协方差 ,使其更接近于最近的可靠高斯 。在后端优化完成后,从可靠高斯分裂出的新高斯被认为是可靠的高斯,优化过程会持续迭代,直到所有高斯都变为可靠高斯。
地图增量更新
为了更新地图:
分裂与裁剪: 在地图更新过程中,系统动态对高斯进行分裂与裁剪操作,以确保地图表示的稠密性和有效性。 区域适应: 对于激光雷达数据缺失的区域(如天空或其他未被激光雷达扫描的场景),利用条件高斯约束指导高斯的分裂和位置调整,使这些区域的高斯分布与最近的可靠区域保持一致。
优化效果
如图4所示,在复杂形状或具有显著表面特征的区域,通过CGC生成的新高斯严格遵循现有可靠点的分布模式。此方法显著提升了地图在稀疏区域的表达能力,确保了高斯地图在整个场景中的一致性和可靠性。
实验效果
总结一下
LiV-GS是一种新颖的室外SLAM系统,利用3D高斯作为空间表示,集成了激光雷达-相机数据。该系统通过协方差将激光雷达点云与高斯地图紧密结合,用于追踪,并利用视觉信息优化全局高斯分布。引入条件高斯约束指导高斯椭球的分裂,特别是针对缺乏几何约束(如激光雷达深度不可用)的高斯椭球。这一方法利用视觉纹理的连续性和激光雷达的可靠性,构造出具有一致深度约束的椭球。
实验验证了该系统能够实现稳健而精确的定位,并渲染出清晰的场景图像。据我们所知,这也是首次成功在室外环境中利用3D高斯地图实现跨模态雷达-激光雷达定位,标志着室外3D高斯SPLAM系统在定位与建图中的显著潜力和广泛应用前景。
参考
[1] LiV-GS: LiDAR-Vision Integration for 3D Gaussian Splatting SLAM in Outdoor Environments
本文仅做学术分享,论文汇总于『3D视觉之心知识星球』,欢迎加入交流!
扫码添加小助理进群
3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。