论文阅读:RGBD GS-ICP SLAM

ops/2024/9/22 13:12:58/

目录

概要

Motivation

整体框架流程

技术细节

小结


论文地址:[2403.12550] RGBD GS-ICP SLAM (arxiv.org)

代码地址:https://github.com/Lab-of-AI-and-Robotics/GS-ICP-SLAM


概要

RGBD GS-ICP SLAM 是一种结合通用迭代最近点算法(Generalized Iterative Closest Point, G-ICP)和3D高斯投影(3D Gaussian Splatting, 3DGS)的密集表示SLAM系统,旨在通过共享同一3D高斯地图提高SLAM性能。该方法通过在跟踪与映射过程间交换协方差信息,减少了冗余计算,提升了跟踪精度和地图质量,实现了最高107 FPS的实时性能。

Motivation

尽管基于3DGS的SLAM方法利用了高速渲染,但它们未能解决一个根本性问题:无法直接利用三维显式表示并通过二维图像渲染间接跟踪三维空间。即使大多数当前的基于3DGS的SLAM利用RGB-D数据,也忽视了显式表示的使用。

(1)提出了一个实时密集表示SLAM,结合了G-ICP和3DGS,实现了整个系统的极高速度(最高达107 FPS)和地图的优质性。

(2)通过将G-ICP用于跟踪,该系统积极利用三维信息,并显著减少了跟踪过程所需的时间。

(3)通过共享G-ICP和3DGS的协方差,并采用尺度对齐技术,实现了计算成本的减少和3DGS原始数据的快速收敛。

整体框架流程

系统概述。 系统的输入是RGBD帧。通过对当前深度图像进行降采样和重新投影来生成点云,并在GICP过程中利用它。在GICP过程中,从点云中创建源高斯,并通过将它们与目标高斯(这些高斯是3D GS地图的子集)对齐来估计当前相机姿态。如果当前帧被确定为关键帧或仅用于地图的关键帧,将源高斯添加到3D GS地图中作为新的基元。同时,在地图构建过程中,优化高斯与高斯的颜色和不透明度集,与跟踪过程同时进行。

  • 输入RGBD帧:系统输入RGBD帧并生成当前帧的点云。
  • G-ICP跟踪:使用G-ICP计算帧之间的协方差,通过最优变换矩阵对齐点云,实现相机位姿估计。
  • 关键帧选择:根据几何对应关系动态选择关键帧。
  • 3DGS映射:将选择的关键帧作为3DGS映射的一部分,优化高斯的坐标和协方差。
  • 并行优化:在跟踪的同时进行映射优化,保证系统性能。

技术细节

  • G-ICP跟踪:通过计算当前帧和地图的高斯协方差矩阵,找到最优位姿变换。通过最大似然估计计算出每帧的最优变换矩阵。
  • 3DGS映射:在映射过程中,3DGS将3D空间表示为高斯集合,通过光栅化方法加速渲染。跟踪过程中计算的协方差直接用于映射,避免了冗余计算。
  • 关键帧选择:根据当前帧与地图的几何对应关系选择关键帧,避免跟踪过程中误差积累​。报告的数值代表来自 Replica 数据集的八个场景的平均结果。当每 n 帧选择关键帧(以蓝色表示)时,跟踪准确性明显较低。相反,这篇文章的关键帧选择方法产生了最高的跟踪准确性。

在 Replica office4 上分离关键帧选择。 证明了少量跟踪关键帧可以产生准确的轨迹估计(案例1),而大量建图关键帧可以提高渲染性能(案例2)。因此,作者采用案例3,在不同的间隔时间内分别选择跟踪关键帧和映射关键帧。

  • 尺度对齐:通过在G-ICP跟踪中对帧的尺度进行正则化,保证高精度的位姿估计​。

不足

  • 噪声问题:该系统过度依赖深度信息,在处理真实环境中的深度噪声时,重建地图的质量受限
  • 图像质量权衡:为提高速度,系统在某些场景下可能牺牲一定的图像重建质量​。

优点

  • 高效计算:通过共享跟踪与映射过程中的高斯协方差,减少了冗余计算,大幅提升系统速度​。
  • 实时性能:系统的处理速度最高可达107 FPS,能够支持实时SLAM。
  • 准确跟踪:与传统方法相比,系统显著提高了相机位姿的估计精度,尤其是在复杂场景下​。

小结

RGBD GS-ICP SLAM 通过结合G-ICP与3DGS,实现了高效的跟踪和映射。该系统通过共享协方差信息和动态关键帧选择,提升了SLAM的性能和速度,同时在追求高效的同时仍保持了较高的地图重建质量。

文章提出了RGBD GS-ICP-SLAM,这是一种利用三维高斯表示进行高保真度空间表示的密集表示SLAM系统。作者证明了利用单一三维高斯地图进行跟踪和建图的G-ICP和3DGS的融合可以产生相互的好处。跟踪和建图过程之间的高斯交换与尺度对齐最小化了冗余计算并构建了一个高效的系统。此外,动态关键帧选择方法提高了跟踪和建图性能。通过广泛的实验,所提出的方法在空间表示、相机位姿估计和总系统速度方面呈现出最先进的性能。


http://www.ppmy.cn/ops/111923.html

相关文章

【爬虫软件】批量采集抖音主页已发布作品

一、背景介绍 以下xx代表你猜中的部分。 1.1 爬取目标 用python开发的xx爬虫采集软件,可自动按博主抓取其已发布视频。 为什么有了源码还开发界面软件呢?方便不懂编程代码的小白用户使用,无需安装python,无需改代码,…

系统架构设计师教程 第5章 5.2 需求工程 笔记

5.2 需求工程 ★★★★★ 软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。 软件需求包括3个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求)。 (1)业务需求 (business requirement) 反映了组织机构或客户对系统、产品高层次的目标…

Day7 | Java框架 | SpringMVC

Day7 | Java框架 | SpringMVC SpringMVC简介SpringMVC 概述入门案例入门案例工作流程分析Controller 加载控制与业务bean加载控制(SpringMVC & Spring)PostMan 请求与响应请求映射路径请求方式(不同类型的请求参数)&#xff1…

Rust 控制流

文章目录 发现宝藏1. if 表达式1.1 基本用法1.2 带有 else if 的多重条件1.3 在 let 语句中使用 if1.4 类型不匹配的错误 2. 循环结构2.1 使用 loop 进行无限循环2.2 使用 break 从循环中退出2.3 while 循环2.4 for 循环遍历集合2.5 使用 Range 进行迭代 总结 发现宝藏 前些天…

Vite + Electron 时,Electron 渲染空白,静态资源加载错误等问题解决

问题 如果在 electron 里直接引入 vite 打包后的东西,那么有些资源是请求不到的 这是我的引入方式 根据报错,我们来到 vite 打包后的路径看一看 ,修改一下 dist 里的文件路径试了一试 修改后的样子,发现是可以的了 原因分析 …

【可视化大屏系列】数据列表自动滚动效果

要实现列表的自动滚动效果,这里提供两种解决方案: 1.vue插件 官方文档:链接: vue-seamless-scroll (1)安装依赖 npm install vue-seamless-scroll --save(2)全局注册(main.js中&a…

新手教学系列——用Nginx将页面请求分发到不同后端模块

在当今的Web开发中,前后端分离架构已经成为主流,尤其是大型应用项目。前端可以通过Vue这样的框架来统一管理页面和用户交互,而后端则通常会拆分成多个微服务模块,以便应对不同业务需求和功能扩展。在这样的架构下,Nginx作为一个高效、灵活的Web服务器,能够帮助我们将前端…

R语言统计分析——散点图1(常规图)

参考资料:R语言实战【第2版】 R语言中创建散点图的基础函数是plot(x,y),其中,x和y是数值型向量,代表着图形中的(x,y)坐标点。 attach(mtcars) plot(wt,mpg,main"Basic Scatter plot of MPG vs. Weigh…