VIGS-SLAM: Visual Inertial Gaussian Splatting SLAM¶
会议: ECCV2026
论文: ECCV 原文
领域: 3D 视觉
关键词: 视觉惯性 SLAM、高斯泼溅、IMU 初始化、联合束调整、回环一致性
一句话总结¶
VIGS-SLAM 将稠密视觉对应与 IMU 约束放入同一次联合优化,用分阶段初始化稳定启动、用回环变换同步修正高斯地图,在 EuRoC 上取得 2.79 cm 平均 ATE RMSE,并改善困难场景的新视角渲染。
研究背景与动机¶
高斯泼溅让 SLAM 不再只能输出稀疏路标,也能生成可实时渲染的稠密场景。 但地图好看并不自动意味着定位可靠:Splat-SLAM、HI-SLAM2 等纯视觉方法仍依赖相邻图像中的对应关系。 运动模糊、低纹理、曝光变化和丢帧会削弱这些对应,而错误位姿又会把后续高斯写到错误位置。 DROID-SLAM 的稠密对应和逐像素视差很适合初始化高斯,却仍缺少图像之外的运动约束。 IMU 的高频角速度与加速度测量恰好补充这个缺口,并能帮助恢复单目视觉缺失的公制尺度。
难点不是把 IMU 数据接进系统,而是避免错误惯性状态反过来拖坏视觉估计。 重力方向、尺度、速度和偏置在启动阶段相互耦合,直接联合求解容易从错误初值出发。 偏置也不应被永久固定,否则长序列中的积分误差会被解释成真实运动。 论文进一步指出,DBA-Fusion 先求视觉 BA、再将线性化结果交给惯性优化器,会产生两个求解阶段之间的线性化差异。 仅仅在定位之后追加高斯建图,也无法保证回环修正轨迹后,已有地图仍与新轨迹一致。
本文因此把问题拆成连续的估计过程:先让惯性参数达到可用状态,再在同一线性系统中融合视觉与惯性,最后让地图跟随全局轨迹修正。 其目标是 RGB 加 IMU 的在线定位与重建,而不是利用 LiDAR 或深度传感器直接提供输入几何。 核心 idea:先稳定建立视觉与惯性的尺度关系,再共同优化运动和深度,并把每次回环的位姿、尺度修正传播给对应高斯,使可靠定位真正转化为一致的稠密地图。
方法详解¶
整体框架¶
输入是按时间排列的单目图像和原始 IMU 测量,输出是相机轨迹与具有颜色、透明度和空间形状的高斯地图。 EuRoC 使用灰度图像,其余评测数据提供 RGB;系统不把评测参考轨迹所用的 LiDAR 当作自身输入。 方法先执行分阶段 IMU 初始化,随后由联合视觉惯性跟踪估计关键帧位姿、视差、速度和偏置。 增量高斯建图与跟踪并行运行,消费跟踪给出的几何;回环一致性更新则同时修正全局位姿图和既有高斯。 这里的“联合”主要指视觉与惯性状态的共同求解,并不意味着高斯渲染损失也直接参与前端跟踪。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Input["图像 + IMU"] --> Init["分阶段 IMU 初始化"]
Init --> Track["联合视觉惯性跟踪"]
Track -->|位姿与深度| Map["增量高斯建图"]
Track -->|检测到回环| Loop["回环一致性更新"]
Map -->|锚定关键帧的高斯| Loop
Loop -->|修正位姿图| Track
Loop -->|修正高斯| Map
Map --> Output["相机轨迹 + 高斯地图"]
Track --> Output
关键设计¶
1. 分阶段 IMU 初始化:先让尺度和重力可用,再耦合两种观测
第一阶段仅使用起始关键帧的视觉残差,得到一致但只有相对尺度的位姿与视差。 它先建立图像间的几何关系,不要求系统立刻猜对重力或传感器偏置。 第二阶段继续积累视觉关键帧,再先只优化重力对齐旋转,使惯性坐标系与当前世界坐标系的重力方向一致。 随后保持视觉位姿固定,把逐关键帧速度、IMU 偏置和全局对数尺度加入惯性优化,以恢复公制尺度。 这里固定的是当前视觉几何估计;额外尺度变量负责把该几何放到真实长度单位中。 第三阶段才共同最小化视觉与惯性残差,进一步修正此前获得的状态。
这种顺序不是三个互不相关的初始化器,而是逐渐开放变量之间的耦合。 视觉先给出形状和相对运动,惯性再解释重力、速度与尺度,最后允许双方共同调整。 这能减少不可靠的初始偏置或重力估计对图像几何的污染。 原文表 6 的“去掉三阶段初始化”具体是去掉中间的纯惯性优化阶段,而不是删掉所有启动处理。 当前正文缓存未给出两个初始化关键帧数量的具体取值,相关细节指向补充材料,因此不在这里虚构配置。
2. 联合视觉惯性跟踪:在同一个线性系统中修正运动、偏置与视差
前端按相对上一关键帧的光流幅度选帧,同时设置关键帧最大时间间隔,防止一段 IMU 预积分跨越过长时间。 每个关键帧维护位姿、逐像素视差、速度,以及陀螺仪和加速度计偏置。 新帧先用 IMU 预积分预测位姿,再通过几何变换初始化其与已有关键帧之间的视觉对应。 若预积分协方差的迹超过阈值,系统改用上一帧位姿初始化,避免把高不确定性的惯性预测强行交给视觉模块。 随后,冻结的 ConvGRU 对应更新模块反复修正稠密对应及其置信度。 视觉残差比较当前位姿、视差投影得到的位置与网络修正后的对应,并按置信度加权。
惯性侧将两关键帧之间的高频测量预积分成相对旋转、位置与速度,同时保留协方差和偏置修正所需的雅可比。 其残差衡量当前运动状态与预积分结果的差异,并加入相邻关键帧偏置的时间平滑约束。 因此“逐关键帧偏置”不是让每帧偏置任意变化,而是在允许时间变化的同时施加连续性约束。 实现还考虑相机与 IMU 的外参,虽然正文为了简化公式省略了该变换。 局部滑动窗口中,视觉与惯性贡献在同一轮 Levenberg-Marquardt 正规方程中合并,由定制 CUDA 内核求解。 视差块是对角结构,因为单个视觉残差只依赖相应像素的深度;系统可用 Schur 消元高效消去这部分变量。 与先完成视觉求解、再向独立惯性后端传入线性化因子的方式相比,这让位姿、速度和偏置的更新共享当前线性化状态。
3. 增量高斯建图:用跟踪深度建立可渲染的显式场景
每个新关键帧的视差先转换成深度,再按当前位姿反投影为三维点,用于初始化高斯。 高斯均值来自点的位置,颜色来自对应像素,初始透明度为 0.5;空间形状由各向异性协方差描述。 颜色直接使用 RGB,而不是球谐系数,这减少在线优化的复杂度,但也限制了视角相关外观表达。 系统将这些高斯融合进全局地图,每加入一个关键帧执行 10 次建图迭代。 每轮从当前前端图中随机抽取关键帧,并加入 2 个全局关键帧,渲染其颜色与深度进行监督。 局部视图有助于更新刚观察到的区域,全局视图让优化仍受到较早地图内容的约束。
颜色通过可见高斯的 alpha 混合得到,深度渲染则与前端估计的深度比较。 这不是有真实深度标签的离线训练,而是利用当前序列持续更新地图参数。 各向同性正则用于抑制观测稀疏区域中过度拉长的高斯,并不意味着表示本身被限制为球形。 建图依赖前端几何,因此跟踪偏差会影响地图,视觉惯性估计的收益也由此传递到渲染质量。 作者明确报告,当前高斯地图没有直接改善跟踪,不能将图中数据流理解成渲染误差反向优化相机位姿的闭环。
4. 回环一致性更新:让旧高斯随轨迹一起回到正确位置
回环检测线程用新旧关键帧之间的光流差异建立回环边,另一个全局位姿图持续接收前端产生的相对位姿约束。 检测到回环后,系统采用位姿图束调整 PGBA,而不是对所有历史视觉关系做完整全局 BA。 较重的稠密视觉更新仅放在回环帧对上,其余图边使用轻量相对位姿约束。 位姿图在 Sim(3) 中优化,因此不仅能调整旋转和平移,也能修正长时间运行后的尺度漂移。 这种取舍用少量精度代价换取更快的全局纠偏,不能与运行结束后的完整精修混为一谈。
轨迹修正后,每个高斯根据其初始化时锚定的关键帧接收对应变换。 具体过程是先把旧世界坐标中的高斯中心变到旧相机坐标系,再乘关键帧尺度变化,最后通过新位姿变回世界坐标。 协方差也必须跟随旋转,并按尺度变化的平方缩放,否则中心虽然归位,高斯的形状和覆盖范围仍然错误。 颜色与透明度保持不变,因为此时修正的是几何坐标关系,不是重新学习外观。 这些操作以批处理完成,无须重新初始化并优化全部高斯。 表 7 单独去掉这一传播步骤,说明回环不仅要纠正轨迹,还要纠正地图的几何状态。
一个完整示例¶
设相机沿走廊移动,在快速转向时图像模糊,随后返回此前经过的区域;这是用于说明流程的情景,并非新增实验。 完成启动后,高频 IMU 测量为新关键帧提供运动初值,图像对应模块从该初值继续修正稠密对应。 若惯性预测本身不确定,系统先回退到上一位姿,而非无条件信任 IMU。 局部联合求解同时更新位姿、速度、视差和偏置,让两种观测共同解释这次运动。 新关键帧的深度生成初始透明度为 0.5 的高斯,随后通过 10 次建图迭代改善地图。 再次看见旧区域时,PGBA 用回环边调整位姿和尺度,锚定旧关键帧的高斯随之移动、旋转和缩放。 最终改善的是同一场景的一致重建,而不是把回环前后的两套位置错误地保留在地图中。
损失函数 / 训练策略¶
跟踪优化使用视觉重投影残差和预积分惯性残差的联合目标;偏置平滑属于惯性约束的一部分。 ConvGRU 在系统图中被标为冻结网络,本文运行时优化的是序列状态和地图,不是重新训练该对应网络。 建图的两个数据项在正文中清楚给出,分别比较渲染颜色与输入颜色、渲染深度与跟踪深度:
总建图损失是这两项与各向同性正则的加权和;当前正文没有可核实的权重数值,不补写超参数。 深度监督来自系统估计而非独立传感器,因此它首先约束地图与跟踪几何一致,并非直接证明几何接近真实表面。 原文第 5 页对加速度与角速度符号的文字对应存在疑似互换,本笔记按物理测量名称说明,不沿用该歧义。 缓存中多个矩阵公式、PGBA 目标及高斯更新公式提取损坏,以上以可读正文解释机制,不将自行重建的矩阵式冒充原式。
实验关键数据¶
主实验¶
ATE RMSE 由 evo 对齐估计轨迹与参考轨迹后计算,单位为 cm,越低越好;正文未在此明确给出所有方法的对齐自由度。 下表选取表 1、2、4、5 的平均定位误差,并加入表 3 的 FAST-LIVO2 渲染指标;页码分别为 9、9、11、12 和 11。 这些列不是同传感器配置:HI-SLAM2 仅用图像,VINGS-Mono 与本文使用图像加 IMU。
| 数据集 / 指标 | HI-SLAM2 | VINGS-Mono | VIGS-SLAM | 原文位置 |
|---|---|---|---|---|
| EuRoC / ATE RMSE,cm,越低越好 | 2.94 | 24.47 | 2.79 | 表 1,第 9 页 |
| RPNG / ATE RMSE,cm,越低越好 | N/A | 6.65 | 1.68 | 表 2,第 9 页 |
| UTMM / ATE RMSE,cm,越低越好 | 8.10 | 12.54 | 3.24 | 表 4,第 11 页 |
| FAST-LIVO2 / ATE RMSE,cm,越低越好 | 10.22 | 104.80 | 6.08 | 表 5,第 12 页 |
| FAST-LIVO2 / PSNR,越高越好 | 21.49 | 10.36 | 23.15 | 表 3,第 11 页 |
| FAST-LIVO2 / SSIM,越高越好 | 0.692 | 0.343 | 0.729 | 表 3,第 11 页 |
| FAST-LIVO2 / LPIPS,越低越好 | 0.560 | 0.724 | 0.487 | 表 3,第 11 页 |
RPNG 中 HI-SLAM2 有一条序列失败,因此定位平均值为 N/A;表 3 的 RPNG 渲染比较排除了这条失败序列,二者不能混用统计范围。 渲染只评估没有被任何方法选作关键帧的图像,排除参与建图的视角。 对 DROID-SLAM、Splat-SLAM、HI-SLAM2 和本文,主评测不含结束后的全局 BA 与颜色精修,因此体现在线输出,而不是最终离线精修上限。 部分传统方法和 DROID-SLAM 的 EuRoC 数字来自既有论文,不是所有方法都在同一实现环境中重跑。 FAST-LIVO2 的参考轨迹来自其 LiDAR 融合系统,自采数据参考轨迹来自 MindCloud 的 LiDAR-视觉-惯性融合,不能一概称为独立运动捕捉真值。
消融实验¶
表 6,第 14 页:EuRoC 图像按 stride = 10 抽帧,保留全部原始 IMU;Recall@10cm 是平移误差低于 10 cm 的参考位姿比例。 抽帧评测中无法输出有效轨迹的方法计为零召回,不仅统计成功片段。
| 配置 | 平均 ATE RMSE,cm,越低越好 | 平均 Recall@10cm,%,越高越好 |
|---|---|---|
| 不估计 IMU 偏置,固定为零 | 338.99 | 0.05 |
| 去掉 IMU 融合 | 88.54 | 32.50 |
| 去掉初始化中的纯惯性阶段 | 50.65 | 68.32 |
| 不用 IMU 初始化关键帧位姿 | 40.94 | 64.95 |
| 去掉回环 | 23.78 | 40.63 |
| 用单个全局偏置替代逐关键帧偏置 | 8.83 | 90.01 |
| 完整系统 | 3.39 | 98.99 |
表 7,第 14 页:FAST-LIVO2 上仅禁用回环后的高斯更新,评估其对渲染的影响。
| 配置 | 平均 PSNR,越高越好 | 平均 SSIM,越高越好 | 平均 LPIPS,越低越好 |
|---|---|---|---|
| 去掉回环高斯更新 | 22.06 | 0.677 | 0.541 |
| 完整系统 | 23.15 | 0.729 | 0.487 |
关键发现¶
- 偏置建模不是次要修补:固定零偏置的 338.99 cm 明显劣于完整系统的 3.39 cm;即便估计全局偏置,8.83 cm 仍高于逐关键帧建模。
- 回环的轨迹收益与地图收益可以分开检验:表 6 去掉整个回环,表 7 仅去掉高斯更新,两者不是同一个消融。
- EuRoC 平均值领先不等于逐序列全面领先,例如表 1 的 V2_03 上本文为 3.27 cm,HI-SLAM2 为 1.92 cm。
- 自采数据包含 18 条困难序列,第 13 页图 5 报告本文平均 ATE 为 0.588 m;这里单位是 m,不能与上表 cm 直接混读。
亮点与洞察¶
- 真正的融合发生在求解层。让视觉和惯性共享一次状态更新,比只在系统框图中连接两个模块更接近本文的贡献所在。
- 地图一致性是回环的第二个任务。保存高斯与关键帧的锚定关系,可把轨迹纠偏转成便宜的批量几何更新。
- 初始化和运行时偏置建模同样关键。表 6 表明,更好的观测源只有在状态可解释、初值可用时才会转化为鲁棒性。
局限与展望¶
- 作者明确承认地图尚未反哺跟踪:尝试渲染损失优化位姿只带来很小收益,推测在线地图不够锐利,梯度不可靠。
- 本文展示困难动态场景中的鲁棒性,但没有专门的动态对象表示或运动分解模块,不能据此推断能正确重建独立运动物体。
- 评测参考轨迹有一部分来自其他融合系统,且传统基线来源、失败处理和传感器配置并不完全一致,横向结论需要这些条件。
- “实时”是作者的系统主张;本次可读正文没有硬件配置与端到端耗时表,不能据此保证特定设备的帧率。
- 可进一步研究按地图置信度选择可用于跟踪的渲染区域,以及传感器时间偏移、外参误差下的稳定性;这些是读者建议,不是已验证结果。
相关工作与启发¶
- DROID-SLAM / HI-SLAM2:本文继承稠密对应和高效几何优化路线,并加入惯性状态联合求解;高斯表示本身不是唯一创新。
- DBA-Fusion / VINGS-Mono:同样利用学习式对应与惯性信息,但本文强调单轮正规方程中的直接融合,减少串联优化的线性化差异。
- MM3DGS-SLAM:其开源实现主要面向含 LiDAR 的输入,本文仅在 UTMM 引用其已有非 LiDAR 定位数字,不能把渲染分数直接横比。
- 可迁移启发:对其他关键帧锚定的稠密表示,也值得将全局优化后的状态变化显式传播到地图,而非仅修正轨迹显示。
评分¶
- 新颖性: 4/5。贡献在于联合求解、分阶段初始化和地图回环一致性的系统整合,而非新高斯表示。
- 实验充分度: 4/5。覆盖 5 个数据集及跟踪、渲染消融,但本次未获得补充材料中的运行细节。
- 写作质量: 4/5。主线清楚、消融对应明确;部分公式的缓存损坏和符号文字歧义限制了逐式复核。
- 价值: 4/5。对低帧率、视觉退化条件下的在线稠密 SLAM 有明确参考价值,部署效率仍需进一步验证。