MonoGS

Matsuki 2024 · 论文

一句话总结 — “Gaussian Splatting SLAM”(CVPR 2024 highlight):将3D高斯溅射首次应用于单目SLAM,仅用高斯作为3D表示,并通过对光栅化地图进行直接优化来跟踪相机,实时速度达3 fps。

问题

3D高斯溅射借助快速的可微光栅化生成照片级真实感地图,但原始3DGS算法”需要来自离线Structure from Motion(SfM)系统的精确位姿”——它是一种给定位姿的批处理方法。要在SLAM内部使用它,则意味着相反的方向:从高斯中估计位姿,同时从实时相机流中递增式地构建高斯,这是”视觉SLAM中最基础但也最困难的设置”——单一的单目RGB视频流,其中光栅化在视线方向上不施加任何约束,新插入的高斯在被多个视角约束之前几何上是模糊的。

方法与架构

地图由一组各向异性高斯G\mathcal{G}构成,每个高斯具有颜色cic^i、不透明度αi\alpha^i、世界坐标系下的均值μWi\boldsymbol{\mu}_W^i和协方差ΣWi\boldsymbol{\Sigma}_W^i(球谐函数被省略)。像素颜色通过溅射并对N\mathcal{N}个按深度排序的高斯进行alpha混合合成:

Cp=iNciαij=1i1(1αj),Dp=iNziαij=1i1(1αj),\mathcal{C}_p=\sum_{i\in\mathcal{N}}c_i\alpha_i\prod_{j=1}^{i-1}(1-\alpha_j), \qquad \mathcal{D}_p=\sum_{i\in\mathcal{N}}z_i\alpha_i\prod_{j=1}^{i-1}(1-\alpha_j),

其中ziz_i是沿射线到高斯ii的距离(深度以同样方式光栅化)。投影到图像的过程为μI=π(TCWμW)\boldsymbol{\mu}_I=\pi(\boldsymbol{T}_{CW}\cdot\boldsymbol{\mu}_W)ΣI=JWΣWWJ\boldsymbol{\Sigma}_I=\mathbf{J}\mathbf{W}\boldsymbol{\Sigma}_W\mathbf{W}^\top\mathbf{J}^\top,其中TCWSE(3)\boldsymbol{T}_{CW}\in SE(3)为相机位姿,J\mathbf{J}为线性化投影的雅可比,W\mathbf{W}TCW\boldsymbol{T}_{CW}的旋转部分。

DμCDTCW=[IμC×],\frac{\mathcal{D}\boldsymbol{\mu}_C}{\mathcal{D}\boldsymbol{T}_{CW}}=\begin{bmatrix}\boldsymbol{I} & -\boldsymbol{\mu}_C^{\times}\end{bmatrix},

这样的最小化雅可比,其中μC×\boldsymbol{\mu}_C^{\times}是相机坐标系下高斯中心的反对称矩阵。这些可直接接入CUDA光栅化器。

实验结果

在配备RTX 4090的桌面系统上(多进程实现,单目实时3 fps):

对SLAM的意义

MonoGS是高斯溅射SLAM中典范的单目入门系统:它表明渲染质量的地图与相机跟踪可以在交互速率下共享同一个可微表示。其解析雅可比、直接对齐的公式将溅射SLAM与直接法(DTAM、LSD-SLAM、DSO)联系了起来——同样的光度原理被应用于一个远为丰富的地图——而其共可见性关键帧管理方式则呼应了DSO的窗口管理策略。它来自与MonoSLAM和iMAP相同的帝国理工学院实验室,这些系统各自在其所处的时代重新定义了地图表示方式。

动手实践

相关条目