24年8月来自土耳其中东科技大学(MEU)的论文“IG-SLAM: Instant Gaussian SLAM”。
3D Gaussian Splatting 最近作为 SLAM 系统中神经隐式表示的替代场景表示,显示出良好的效果。然而,当前的方法要么缺乏密集的深度图来监督制图过程,要么缺乏考虑环境规模的详细训练设计。为了解决这些缺点,提出 IG-SLAM,这是一个密集的仅 RGB SLAM 系统,它采用强大的密集 SLAM 方法进行跟踪并将其与 Gaussian Splatting 相结合。使用跟踪提供的精确姿势和密集深度构建环境的 3D 地图。此外,利用地图优化中的深度不确定性来改进 3D 重建。其中在地图优化中的衰减策略增强收敛性,并允许系统在单个过程中以 10 fps 速度运行。
该领域早期研究 [16, 39, 43] 采用高斯 Splatting 作为唯一场景表示,同时实时跟踪和制图环境。然而,利用新视图合成方法作为跟踪和制图工具既引人注目又具有挑战性。困难的出现,是因为姿势和地图优化是联合进行的。为了将这两个艰巨的任务分离开来,[11, 27] 利用传统的 SLAM 方法,在重建方面表现出优于唯一场景表示方法的性能。然而,这些研究要么缺乏密集的深度监督,要么缺乏高帧率。
3D 高斯splatting将场景表示为一组具有不同颜色、形状和模糊度的高斯函数。提出了一些改进措施以提高一致性和重建质量。例如,还提出了 2D 副本(counterpart) [10] 来增强多视图一致性。此外,与原始 3D 高斯splatting一样,使用 alpha 混合渲染深度会导致含噪表面;因此,更严格的方法通过根据视点使用每个高斯的不同深度来解决此问题 [4, 44]。
由于其渲染速度快并且与 NeRF [17] 不同,是一种明确的场景表示,高斯splatting [14] 迅速引起关注。MonoGS [16]、GS-SLAM [39] 和 SplaTAM [13] 是开创性的高斯splatting表示 SLAM 算法,它们联合优化高斯和姿势。Gaussian-SLAM [43] 引入了子地图来减轻神经遗忘。Photo-SLAM [11] 通过采用传统的视觉 SLAM 算法 [19] 作为其跟踪模块,将跟踪和建图分离,并引入了由粗到细的地图优化方法。RTG-SLAM [23] 仅考虑最前面的模糊高斯来渲染深度。最近的研究,Splat-SLAM [27] 使用代理(proxy)深度图来监督地图优化。
如图所示IG-SLAM概述:系统以 RGB 图像流作为输入,并以一组高斯函数的形式输出相机姿态和场景表示;将这个目标分解为两个部分:
跟踪和建图
;跟踪是基于平均光流创建关键帧并将其添加到帧图中,预训练的 GRU 可细化关键帧之间的光流;在帧图上执行密集集束调整 (DBA),在优化密集深度图和相机姿态的同时最小化重投影误差,并同时计算深度图协方差;经过几次迭代后,深度图和相机姿态预计会收敛;建图是从跟踪中获得的关键帧姿态、深度和协方差用于 3D 重建;利用相机姿态和深度图从低协方差区域初始化高斯函数;然后将 3D 高斯函数投影到图像平面上,并利用可微分光栅化器进行渲染。
损失函数是深度和颜色损失的组合。
深度损失由协方差加权。
最后,损失函数反向传播以优化高斯函数的方向、缩放、模糊度、位置和颜色(如图橙色箭头所示)。
此外,高斯函数根据局部梯度进行分割、克隆和剪枝。
主要采用 DROID-SLAM [34] 作为跟踪模块。DROID-SLAM 维护两个状态变量:每个相机帧 t 的相机姿态 Gt 和逆深度 dt。DROID-SLAM 根据共见性构建关键帧的帧图 (V , E )。当某一帧的光流平均幅度高于某个阈值时,将从所有相机帧中选择关键帧。如果帧 i 和帧 j 之间存在视觉重叠,则在 V 中的第 i 个和第 j 个顶点之间创建一条边。该图在推理过程中更新。
给定帧 i 和 j 的初始姿态和深度估计 (Gi ,di ) 和 (Gj ,dj ),通过从帧 i 反投影像素、将它们投影到帧 j 中并取逐像素位置差来估计光流场。重投影像素位置 pij 如下计算:
其中 Gij = Gj^−1 ◦ Gi 。
光流的初始估计是 pij - pj。
估计值与一个相关向量一起输入到 GRU 中,该相关向量是帧特征之间的内积。
GRU 产生流校正 rij 和置信度权重 wij 。
改进的重投影像素位置的计算结合了来自 GRU 的流校正。
然后,密集集束调整层最小化方程 (2) 中的成本函数如下:
对其线性化并在 Gauss-Newton 算法迭代求解姿态和深度。
线性化方程变成:
集束调整层对初始光流估计进行操作并更新关键帧的姿势和深度图。
然后通过改进的姿势和深度图,重新计算光流,随后将其反馈到集束调整层。
在对关键帧图进行连续迭代改进之后,姿势和深度图有望收敛。
在密集集束调整步骤之后,计算深度估计的协方差。如 NeRF-SLAM [26] 所示,如上公式中相同 Hessian 结构可用于计算深度和姿势估计的协方差 Σd,ΣG ,如下所示(注:深度协方差既用作初始化高斯的掩码,也用作损失函数深度分量中的权重):
地图过程负责使用配备有跟踪过程中获得姿势、图像、深度和协方差的关键帧进行 3D 重建。
采用高斯 Splatting [14] 作为场景表示。高斯函数描述为
其中 μ 和 Σ 是定义此高斯位置和形状的均值和协方差。
为了确保协方差在优化过程中保持半正定,协方差 Σ 分解为 RSS^TR^T,其中 R 是旋转矩阵,S 是缩放矩阵。
除了位置、旋转和缩放之外,还优化了模糊度 α 和颜色 c。
虽然原始实现将颜色参数化为球谐系数,但算法直接优化颜色。
3D 协方差的投影公式为 Σ′ = JRΣR^TJ^T,其中 R 是世界到相机变换 Tcw 的旋转分量,J 是投影变换 P [51] 的仿射近似雅可比矩阵。
位置直接投影为 μ′ = P*Tcw*μ。
首先将视点可见的一组高斯函数 N 投影到图像平面上。然后根据深度对 2D 高斯函数进行排序,并通过 α 混合进行光栅化,如下公式的颜色和深度所示:
由于关键帧的密集深度图可用,采用类似于 RGB-D MonoGS [16] 的训练策略,但利用受 Photo-SLAM [11] 和 Instant-NGP [18] 启发的由粗到细的训练策略。