前言
本文提出了一个自己的分类方法,传统的视觉SLAM通常使用以帧为中心的跟踪方法,但是3DGS作为一种高效的地图表达方法好像更侧重于地图的创建。这两种方法都有各自的优缺点,但是如果能取长补短,互相结合,那么就会是一个不错的工作。本文就是这样描述的。我比较好奇,ORB-SLAM3与高斯融合最终能达到什么样的效果。
文章目录
- 前言
- 1.背景介绍
- 2.关键内容
-
- [2.1 即插即用的融合连接模块](#2.1 即插即用的融合连接模块)
- [2.2 在线3DGS重建](#2.2 在线3DGS重建)
- 2.3总体流程
- 3.文章贡献
- 4.个人思考
1.背景介绍
- 三维高斯溅射(3DGS)对运动模糊和相机噪声的鲁棒性有限,实时性差,限制了其在机器人SLAM任务中的应用。经过分析,产生这些问题的主要原因是运动模糊视图的密度和基于噪声原始图像和渲染结果计算损失的密集姿态估计累积误差,增加了3DGS渲染收敛的难度。
- 以帧为中心、稀疏和有效的信息可以提高定位精度,但缺乏对整个场景的高层次理解。相反,以地图为中心的、密集的和全局的信息有助于构建全局一致的地图。因此,挑战的实质在于这两个方面的矛盾:高效而稀疏,密集而嘈杂。
- 真实传感器的随机噪声和不断增加的视角重叠是影响绘制收敛速度的两个主要障碍,尤其是在长时间机器人任务中。因此,利用以跟踪为中心的SLAM的局部最优姿态来提供稳健的初始估计。通过联合优化稀疏重投影和稠密渲染误差,有效降低了图像噪声的影响。
什么是tracking-centered 与 mapping-centered 方法?
优先考虑定位精度的方法被称为"tracking-centered"的方法,而那些专注于高保真映射的方法被称为" mapping-centered "的方法。最初,由于计算能力的限制,以跟踪为中心的方法成为研究的焦点,因为它们在定位方面具有高实时性、准确性和鲁棒性。然而,这些方法往往缺乏一致的场景理解能力。
随着计算能力的发展,mapping-centered的方法通过对场景表示的明智选择和处理逐渐解决了收敛问题。同时,这些范式的运行效率也在稳步提高。一个重要的进步是采用神经辐射场(NeRF),它利用隐式神经网络进行全局一致的表示,并结合光线投射三角测量进行高保真渲染和新颖的视图合成。然而,神经网络推理和密集的逐像素优化计算的大量计算需求挑战了基于nerf的SLAM方法在真实机器人场景中对传感器噪声和运动模糊的鲁棒性。
最近,3D高斯喷溅(3DGS)利用高斯原语,既可解释又可编辑,作为场景的全局一致表示。该方法通过高斯溅射实现了更快速、可微分的栅格化渲染,并生成了更高保真度的新视图。
2.关键内容
2.1 即插即用的融合连接模块
如下图所示的融合bridge过程由五个部分组成:
- 视点选择
- Tracking-centered Encoder
- 3DGS-centered Encoder
- Filter Gate
- 联合优化
这个过程的目的是最小化由视觉测程生成的稀疏点云与用于高斯飞溅的后端之间的差距,特别是具有选定视点的3DGS,以获得合适的稀疏姿态进行重建。
视点选择:包括通过筛选关键帧之间的共视性关系来选择有利的视点进行渲染。两帧之间的共视性应在一个封闭的间隔内,平衡足够的匹配点以计算重投影误差,并保持视点之间足够的多样性。
其中Ri表示是否选择当前关键帧i进行重构(1表示是,0表示否)。 M i − 1 M_{i−1} Mi−1,i对匹配的特征点进行计数。 M i − 1 M_{i−1} Mi−1,i是前一个关键帧中的匹配总数,它与α一起设置了最大匹配的百分比阈值,而β指定了选择所需的最小匹配。(这是一个简单的判断关键帧公式情况,也相当于优化了一下关键帧选择策略吧)。
Tracking-centered Encoder:对视觉里程计生成的稀疏点云进行编码,增强基于鲁棒特征的跟踪姿态的锚定效果。通过从渲染帧的局部地图中重新投影可见地图点。
3DGS-centered Encoder:对用于高斯飞溅的3DGS进行编码,其中局部仿射变换将这些各向同性(注意,作者也采用了各向同性,就是球不是椭圆)的3D高斯投影到相机平面上,然后使用alpha-blending算法渲染颜色和深度图像,得到渲染损失 L r g b L_{rgb} Lrgb和 L d e p t h L_{depth} Ldepth。此外,根据高斯的不透明度信息计算反映渲染像素p的不确定性的边界掩码 M b ( p ) M_b(p) Mb(p),如下所示:
Filter Gate:在优化过程中消除噪声。作者分为两个部分,深度门从点云和高斯分布中滤除深度异常。边界门根据边界蒙版过滤掉具有高不确定性的渲染像素:
其中G§表示是否选择当前像素p进行优化(1表示是,0表示否)。 D c ( p ) D_c(p) Dc(p)和 D g ( p ) D_g(p) Dg(p)为云点深度,像素p处的高斯分布。γ为p的最小边界掩模值的阈值。
联合优化:采用基于深度和颜色的渲染误差和基于特征坐标的重投影误差交替优化:
其中,L表示集合损失,包括点云特征的重投影损失 L r p j L_{rpj} Lrpj、高斯颜色Lc的渲染损失和深度Ld。系数w1、w2和w3分别表示这三种损失的权值超参数。
2.2 在线3DGS重建
在线3DGS重建方法使用稀疏帧和通过Fusion Bridge模块过滤的边界蒙版实现近实时重建。目前,基于3DGS的SLAM通常采用增量致密化,将当前帧中的未重构像素初始化为新的3DGS,这标志着在线和离线3DGS的关键区别。
致密化:边界蒙版之外的像素重构不足,缺乏稳健的高斯表示,需要进行致密化。在第一帧期间,从该帧中选择所有像素进行重建。在重建过程中,在像素平面上以一个像素长度的半径添加新的高斯函数,如式8所示,其中f表示焦距。
高斯修剪:更新高斯参数后,不透明度低于零或过高的高斯值在渲染过程中被移除,因为它们被认为是冗余或对重建没有贡献:
其中 P ( p ) P(p) P(p)表示像素P是否被修剪(1表示是,0表示否),τ为不透明度阈值。
2.3总体流程
该工作的前端使用以跟踪为中心的前端模块获得初始姿态估计,并使用ORB视觉里程计模块计算关键帧序列,类似于ORB- slam3。并且通过全局优化模块通过局部建图和闭环后的全局BA来优化最终轨迹。即插即用融合融合连接模块利用共可视性从关键帧序列中进一步选择重建帧,并通过最小化重新投影误差和颜色深度渲染误差,共同优化渲染位姿和边界蒙版。在线3DGS后端模块使用重构帧和边界蒙版的位姿,几乎实时地构建高保真,全局一致的高斯场景表示。
3.文章贡献
- 强调了精确的姿态初始化和好的视点选择对促进在线3DGS的收敛,特别是在大场景任务中的意义。
- 引入了即插即用的Fusion Bridge模块,将以跟踪为中心的SLAM前端与以在线3dgs为中心的后端无缝集成。
4.个人思考
- 这篇文章并没有提出新的东西,前端讲解了部分ORB-SLAM流程,在建图部分也只是把高斯的流程讲解了一边。
- 本文的创新在于设计了一个即插即用的Fusion Bridge模块,但我阅读完整篇文章,我觉得这个创新大部分是对阈值进行一些简单的调整,有些过于简单了。