GS如何融入GVINS
导航是现代自动驾驶车辆和机器人技术中的一个关键组成部分。持续的高精度导航对于先进驾驶自动化应用的最佳性能至关重要。全球卫星导航系统(GNSS)可以通过实时动力学(RTK)定位模式,在开阔天空环境下提供无漂移的厘米级全球定位。然而,GNSS的性能在涉及非视距(NLOS)信号或多路径干扰的场景中会显著下降。尽管惯性导航系统(INS)和基于相机的视觉里程计能够在局部坐标系中提供持续的实时姿态估计,但它们的导航解存在误差积累问题。为了充分发挥每个传感器的互补优势,提出了GNSS-视觉-惯性导航系统(GVINS),以提高复杂环境中的定位可用性、状态估计精度和鲁棒性。
GVINS中的单目视觉里程计利用视觉数据和极几何来估计相机姿态,仅使用低成本的相机。大多数GVINS实现采用点特征跟踪方法,将额外的视觉约束引入批优化过程,用于状态估计。特征检测在这一过程中发挥了至关重要的作用,常用的角点检测器包括Moravec、Harris、Forstner、Shi-Tomasi、FAST和ORB,用于提取特征。随后,利用Lucas-Kanade(LK)光流方法跟踪检测到的特征在连续帧中的运动。被跟踪的特征的3D位置和相机姿态在窗口化的束束调整框架中共同优化。在这种方法中,状态估计问题被表述为最小化被跟踪的3D地标的重投影误差。尽管这种方法在排除噪声视觉测量方面具有鲁棒性,但其性能对特征检测器和匹配阈值的选择高度敏感。在光照条件差的情况下,如在直射阳光下、阴影中,或在处理图像尺度变化和模糊图像时,错误匹配的可能性较高。此外,低纹理表面会导致特征稀缺,进一步增加视觉导航中的估计误差。
另一方面,直接法通过利用图像像素强度的梯度大小和方向来绕过这些限制。通过利用图像中的所有信息,直接视觉里程计(DVO)在低纹理场景、挑战性的光照条件以及涉及相机失焦和运动模糊的情况中表现出色,能够通过最小化光度误差来提高性能。
3D高斯最近成为了3D重建和视觉SLAM的最先进(SOTA)场景表示方法。3D高斯喷溅(3DGS)技术采用显式且可微分的高斯椭球体作为唯一的场景表示,这些椭球体可以迅速被光栅化为图像。通过利用高效的基于平铺的CUDA光栅化算法和现代图形处理单元(GPU)的计算能力,3DGS能够实现每秒200帧的渲染速度,分辨率为1080p。快速渲染和高质量的新视角合成的结合使得基于3DGS的SLAM能够进行准确的实时相机跟踪。关于3DGS的广泛研究已经针对室内地图构建和轨迹估计进行了探索,使用的设备包括仅相机或相机与LiDAR或IMU的集成。然而,3DGS与GNSS的集成,尤其是在大规模复杂的户外环境中的导航,仍然是一个研究空白。
本文介绍的GS-GVINS是一个紧密集成了GNSS-视觉-惯性导航系统和3DGS的系统。我们的系统利用3DGS的原始测量误差源,并与GNSS RTK紧密集成因素、INS因素、基于特征跟踪的视觉因素、运动约束和异常值剔除算法,结合非线性因子图优化(FGO)框架无缝集成。通过滑动窗口方法,共同优化局部和全局坐标系之间的六自由度(DOF)变换。为了考虑3DGS渲染质量在前端跟踪阶段的波动,我们引入了基于关键帧后端映射损失的3DGS因子加权方案。此外,为了在车辆接近极端动态状态时确保高质量且稳定的高斯地图,我们提出了一种基于相对位姿平移和光线累计不透明度的高斯地图修剪机制。
主要创新和贡献:
- 提出了一个基于非线性因子图优化的单目3DGS增强GNSS-视觉-惯性导航系统。这是首次在GVINS框架中应用3D高斯的SE(3)相机姿态解析雅可比。
- 提出了一个在图优化过程中对3DGS因子进行加权的方案,利用3DGS关键帧映射的L1光度损失。这确保了可以有效管理图像渲染性能对相机跟踪的影响,基于当前高斯地图的质量进行调整。
- 提出了一个运动感知的3D高斯修剪机制,当车辆接近极端动态状态时,去除不稳定的高斯。这确保了在接近静止或快速运动变化时保持3D高斯地图的质量,从而为相机跟踪提供更准确的观测。
系统概述
GS-GVINS采用了大部分系统架构,包括初始化算法、边缘化和非线性最小二乘(FGO)管道(特别是GNSS RTK、INS和基于特征的视觉因子的紧密集成)。此外,我们还引入了一个3DGS模块来支持3DGS因子。该系统由I/O硬件控制器、数据解码器/编码器、数据流处理器和估计处理器组成。每个组件都在其自己的线程中运行,支持实时、伪实时和后处理配置。由于其他因子的实现已在的系统手册中详细记录,本文主要集中在3DGS因子及其实现上。



在地图构建过程中,通过位置梯度实现对3D高斯点的自适应密度控制,允许高斯点进行拆分或克隆,以更好地表示精细的几何细节。系统维护一个小的关键帧窗口,添加新的关键帧以捕捉新的视角,并移除过时的关键帧。新的高斯点也会被插入以捕捉更多的场景细节,同时冗余的高斯点会被修剪。当前窗口内的3D高斯地图随后会被联合优化。
通过这种方式构建的3D地图,能够通过重新渲染当前视点并与传入帧进行比较,最小化光度损失,从而执行位姿追踪。
具体方法
3DGS增强导航


基于3DGS映射损失的加权方案
在GS-GVINS中,3DGS因子的加权方案旨在通过映射损失来调整高斯因子的权重,以便更有效地进行优化。该方案利用3D高斯地图的光度损失来评估当前高斯地图的质量,并据此调整高斯因子的权重,从而提高相机跟踪的精度。
3DGS映射损失是通过计算渲染图像与地面实况图像之间的光度误差来实现的。我们采用L1光度损失作为优化目标,光度损失的大小与当前高斯地图的质量密切相关。通过这种方式,我们能够确保在不同的场景和视角下,高斯因子的加权能够反映出图像渲染的可靠性和精确度。
为了调整高斯因子的权重,我们引入了一个加权系数,该系数依据当前高斯地图的优化损失进行动态调整。当光度误差较大时,加权系数较小,意味着相应的高斯因子在优化过程中所起的作用会减弱。相反,当光度误差较小时,加权系数较大,这时高斯因子对优化的贡献将得到增强。这种加权方式确保了在优化过程中,对于渲染误差较大的区域,高斯因子的影响被抑制,从而使得系统能够集中优化那些渲染效果较好的区域。
此外,我们在加权方案中还考虑了关键帧的映射损失。每个关键帧都会通过前后帧的对比,评估当前帧的映射质量。对于质量较差的帧,相应的3D高斯因子会被赋予较低的权重,避免这些因子在优化过程中的干扰。而对于质量较高的帧,其对应的3D高斯因子则会获得较高的权重,有助于提高系统的整体性能。
这种基于3DGS映射损失的加权方案能够在不同的场景和条件下灵活调整各个因子的影响,从而优化系统在各种动态环境中的导航精度和鲁棒性。
运动感知的3D高斯修剪
在GS-GVINS中,运动感知的3D高斯修剪机制用于确保在车辆运动过程中,3D高斯地图的质量和稳定性。当车辆接近极端动态状态时,如高速行驶或急刹车时,3D高斯地图中的某些高斯点可能变得不稳定或不可靠,从而影响系统的性能。为了解决这个问题,我们引入了一种基于相对位姿平移和光线累计不透明度的修剪机制,以提高地图的稳定性和精度。
具体而言,修剪机制根据车辆的相对位姿变化(即车辆在不同时间步长之间的平移)来判断哪些3D高斯点应被保留,哪些应被移除。当车辆的动态状态发生剧烈变化时,系统会通过计算相对位姿平移来识别不再符合当前运动状态的高斯点。这些高斯点通常与动态物体(如行驶中的车辆或行人)相关,它们不满足多视角一致性,并且在优化过程中会迅速消失。因此,我们会在车辆接近这些极端动态状态时,主动移除这些不稳定的高斯点,从而避免它们对优化过程产生干扰。
此外,为了进一步提高高斯地图的质量,我们还引入了光线累计不透明度的概念。在3D高斯投影过程中,光线经过多个高斯点时,透明度会根据每个高斯点的影响进行累计。对于那些透明度较低的高斯点,系统会认为它们对最终图像的贡献较小,因此会对这些高斯点进行修剪。这一机制能够确保高斯地图在动态变化的环境中始终保持高质量,特别是在车辆进行快速运动或接近静止时,能够有效去除不必要的高斯点,避免它们影响相机跟踪和整体导航精度。
通过运动感知的3D高斯修剪机制,GS-GVINS能够在不同的运动状态下,保持稳定和高效的3D高斯地图表示,进而提供更加准确和鲁棒的定位和导航能力。
实验效果






总结一下
GS-GVINS是一种由3DGS增强的紧耦合GNSS-视觉-惯性导航系统,结合了基于映射损失的3DGS因子加权方案和运动感知的高斯剪枝机制。通过对复杂、大规模户外环境中的数据进行全面的姿态估计评估,实验结果表明,与最先进的传感器融合库GICI和IC-GVINS相比,GS-GVINS在平移精度方面有显著提升。
此外,结果还突出了3DGS在处理极端曝光、无特征场景和阴影区域等挑战性条件时的鲁棒性——这些场景通常会降低基于特征跟踪的导航性能。此外,剪枝机制在极端车辆动态情况下提高了地图质量,改善了在低动态和高动态运动中的姿态估计精度。
由于GS-GVINS在伪实时配置下运行,我们相信在足够的计算资源下,它可以实现实时性能。此外,GS-GVINS在典型驾驶场景中具有高保真地图重建的潜力,特别是在外部传感器提供准确深度信息的情况下。一个良好重建的3D高斯地图可以进一步增强GNSS性能,特别是通过改进异常值检测,其中GNSS信号光线可以追踪到3D重建的高斯地图以识别非视距信号或多径信号。
参考
[1] GS-GVINS: A Tightly-integrated GNSS-Visual-Inertial Navigation System Augmented by 3D Gaussian Splatting

发表回复