经典文献阅读之--RGBD GS-ICP SLAM(结合ICP和3D GS构建最快的稠密SLAM)

0. 简介

同时定位与地图构建(SLAM)的密集表示在机器人技术、虚拟现实(VR)和增强现实(AR)应用中扮演了关键角色。在密集表示SLAM的最新进展中,利用神经场景表示和3D高斯表示以实现高保真的空间表示显示出巨大潜力。在本文中,我们提出了一种结合广义迭代最近点(G-ICP)和3D高斯涂抹(3DGS)的新型密集表示SLAM方法。与现有方法不同的是,我们使用单个高斯地图同时进行跟踪和绘图,从而带来相互利益。通过在跟踪和映射过程中交换协方差,并结合规模对齐技术,我们最小化了冗余计算并实现了一个高效的系统。此外,我们通过关键帧选择方法提高了跟踪精度和映射质量。实验结果证明了我们方法的有效性,显示出整个系统高达107 FPS的惊人速度和重建地图的卓越质量。相关代码可以在GIthub中找到。

1. 主要贡献

G-ICP和3DGS可以共享同一个高斯世界。因此,我们的系统通过在跟踪和映射过程中相互利用关键元素——高斯分布,最小化不必要的计算并促进高效的系统配置。为了确保在跟踪和映射中共享G-ICP和3DGS之间的信息时获得最佳性能,我们还引入了若干技术,如规模对齐。总结来说,我们的贡献如下:

  1. 我们提出了一个实时的密集表示SLAM,结合了G-ICP和3DGS,实现了整个系统的极高速度(高达107 FPS)和地图的优越质量。
  2. 通过将G-ICP用于跟踪,我们的系统积极利用3D信息,显著减少了跟踪过程所需的时间。
  3. 通过共享G-ICP和3DGS的协方差以及采用规模对齐技术,实现了计算成本的降低和3DGS原语的快速收敛。

2. 主要工作

为了相互增益跟踪和映射,我们引入了G-ICP和GS的融合,分别代表跟踪和映射过程。我们方法的关键洞察是,协方差可以被视为这种融合的一个基本共同因素。假设我们有一个点集(点云) X = { x m } m = 1 , . . . , M X = \{x_m\}_{m=1,...,M} X={xm}m=1,...,M其对应的协方差集 C = { C m } m = 1 , . . . , M C = \{C_m\}_{m=1,...,M} C={Cm}m=1,...,M,其中 x = [ x , y , z ] T x = [x, y, z]^T x=[x,y,z]T。一个3D点x的协方差 C C C是通过计算 x x x k k k 最近邻点的协方差矩阵得到的。【点云认为是均值,和协方差 C C C组成连续的3D表示】让我们定义 G = { X , C } G = \{X, C\} G={X,C}作为一组高斯分布。G-ICP旨在找到一个变换 T T T最大限度地对齐源高斯分布(当前帧) G s = { X s , C s } G^s = \{X^s, C^s\} Gs={Xs,Cs}目标高斯分布(地图) G t = { X t , C t } G^t = \{X^t, C^t\} Gt={Xt,Ct}。假设我们知道由最近邻搜索确定 X s X_s Xs X t X_t Xt之间的对应关系。例如,我们有 { x i s } i = 1 , . . . , N ⊂ X s \{x^s_i\}_{i=1,...,N} ⊂ X^s {xis}i=1,...,NXs, { C i s } i = 1 , . . . , N ⊂ C s \{C^s_i\}_{i=1,...,N} ⊂ C^s {Cis}i=1,...,NCs { x i t } i = 1 , . . . , N ⊂ X t \{x^t_i\}_{i=1,...,N} ⊂ X^t {xit}i=1,...,NXt, { C i t } i = 1 , . . . , N ⊂ C t \{C^t_i\}_{i=1,...,N} ⊂ C^t {Cit}i=1,...,NCt,其中 x i s x^s_i xis x i t x^t_i xit相关联。为了找到最优变换 T ∗ T^* T,我们不是利用单个点,而是利用该点定义为高斯分布的分布: x i ∼ N ( x ^ i , C i ) x_i ∼ N(\hat{x}_i, C_i) xiN(x^i,Ci)。让 d i = x i t − T x i s d_i = x^t_i − T x^s_i di=xitTxis 是误差项,如果我们假设存在一个最优变换 T ∗ T^* T,很明显 x i t = T ∗ x i s x^t_i = T^*x^s_i xit=Txis,因此 d ^ i = 0 \hat{d}_i = 0 d^i=0。由于我们假设 x x x是一个高斯随机变量, d i d_i di也是一个高斯随机变量,如下所示:

在这里插入图片描述

为了找到 X s X^s Xs X t X^t Xt 的最优变换 T ∗ T^* T,我们按照如下方法使用最大似然估计(MLE):

在这里插入图片描述

因此, T ∗ T^* T 可以用作当前帧 G s = { X s , C s } G^s = \{X^s, C^s\} Gs={Xs,Cs} 和地图 G t = { X t , C t } G^t = \{X^t, C^t\} Gt={Xt,Ct} 之间的相对位置。同时,为了映射目的,GS 也依赖于3D场景表示的高斯 G = { X , C } G = \{X, C\} G={X,C}。与 G-ICP 不同,GS 的目标是找到高斯 X ∗ = { x m ∗ } m = 1 , . . . , M X^* = \{x^*_m\}_{m=1,...,M} X={xm}m=1,...,M 的最优坐标和最优协方差 C ∗ = { C m ∗ } m = 1 , . . . , M C^* = \{C^*_m\}_{m=1,...,M} C={Cm}m=1,...,M,具体如下【优化迭代部分】:

在这里插入图片描述

其中, H = { h m } m = 1 , . . . , M H = \{h_m\}_{m=1,...,M} H={hm}m=1,...,M O = { o m } m = 1 , . . . , M O = \{o_m\}_{m=1,...,M} O={om}m=1,...,M 是用于** RGBD 图像渲染的 3D 点的颜色集合和不透明度集合**。 I I I D D D 是通过使用 G G G H H H O O O 进行光栅化得到的渲染的 RGB 和深度图像。请注意,在 G-ICP 和 GS 中,关键的共同因素是高斯函数 G = { X , C } G = \{X , C\} G={X,C},允许这些高斯函数相互共享。在 G-ICP 跟踪过程中,计算了每帧的协方差。因此,当添加关键帧以扩展 3D GS 地图时,无需为每次扩展重新计算 C C C。此外,G-ICP 不需要计算地图的协方差,因为我们的 GS 地图已经包含了高斯函数。此外,通过根据 3D 几何结构对帧进行对齐,G-ICP 在初始化一定数量的点及其坐标时 inherently 初始化了一定数量的点及其坐标,这些点和姿势适合描述 3D 结构。因此,它带来了一个效果,其中适当数量的点及其姿势被初始化,非常适合描述 3D 结构,大大减少了寻找最佳姿势 X ∗ X^* X 和高斯函数 G G G 在 GS 中的最佳协方差 C ∗ C^* C 的学习时间。另外,在同样的思路下,像稠密化或不透明度重置之类的计算来调整 GS 中的 3D 点数变得不必要。因此,通过共享一个共同的来源,每个过程变得相互有益,并且由于减少了冗余计算,执行速度加快。我们的方法可以简化如下:

  1. 使用 G-ICP 将当前帧与包含协方差的 3D GS 地图对齐(仅需要计算当前帧的协方差)。
  2. 当向 3D GS 地图添加关键帧时,在跟踪期间利用 GICP 计算的协方差(无需稠密化或不透明度重置)。
  3. 重复步骤 1-2。

…详情请参照古月居

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/891023.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mycat引领MySQL分布式部署新纪元:性能与扩展性的双重飞跃

作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客 目录 前言&#…

使用OneAPI+Ollama+Dify搭建一个兼容OpenAI的API发布及AI应用开发系统(三)Dify的安装及配置

在GitHub中的AI工作流短代码平台中,Dify获星一直名列前茅,目前已达48K星,其工作稳定性也是非常的高,在这里我们介绍一下Dify的安装。 由于Dify的结构非常的复杂,我们这里介绍Docker的方式进行安装,硬件的最…

Nvidia Jetson Orin平台部署CenterPoint模型

最近尝试将CenterPoint模型部署到Orin平台,网络上教程很多,也很杂乱,于是便整理一版自用。 主要根据NVIDIA Lidar AI Solution进行复现。并在此基础上进行补充 Orin平台: python:3.8 CUDA:11.4 torch:1.14.0 torchvision:0.15.1 TensorRT: 8.5.2.1 在Compile &&a…

Java并发编程实战 08 | 彻底理解Shutdown Hook

钩子线程(Hook Thread)简介 在一个 Java 应用程序即将退出时(比如通过正常执行完成或通过用户关闭应用程序),通常需要进行一些清理操作,例如: 释放资源(如文件句柄、网络连接&…

解锁C++继承的奥秘:从基础到精妙实践(下)

文章目录 前言🥐五、多继承,菱形继承和菱形虚拟继承🧀5.1 多继承🧀5.2 菱形继承🧀5.3 虚拟继承(解决菱形继承问题)5.3.1 虚拟继承的语法:5.3.2 虚拟继承示例: &#x1f9…

大舍传媒-海外媒体发稿:为您打造全球品牌影响力

大舍传媒-海外媒体发稿:为您打造全球品牌影响力 在当今全球化的商业环境中,企业若想在激烈的市场竞争中脱颖而出,拓展全球市场,提升品牌影响力至关重要。大舍传媒的海外媒体发稿服务,正是您实现这一目标的得力助手。 …

面对服务器掉包的时刻困扰,如何更好的解决

在数字化时代,服务器的稳定运行是企业业务连续性的基石。然而,服务器“掉包”现象,即数据包在传输过程中丢失或未能正确到达目的地的情况,却时常成为IT运维人员头疼的问题。它不仅影响用户体验,还可能导致数据不一致、…

【AI 新观察】“转人工!转人工!”——智能客服痛点与破局之路

在当今数字化时代,智能客服在电商等众多领域被广泛应用,然而,一句又一句“转人工!转人工!”却常常暴露出智能客服存在的痛点。一、智能客服之痛 1. 理解偏差引不满 智能客服在理解客户问题时,常常出现偏差…

mybatisPlus对于pgSQL中UUID和UUID[]类型的交互

在PGSQL中&#xff0c;有的类型是UUID和UUID[]这种类型&#xff0c;在mybatis和这些类型交互的时候需要手动设置类型处理器才可以&#xff0c;这里记录一下类型处理器的设置 /*** UUID类型处理器*/ public class UUIDTypeHandler extends BaseTypeHandler<UUID> {/*** 获…

Golang | Leetcode Golang题解之第478题在圆内随机生成点

题目&#xff1a; 题解&#xff1a; type Solution struct {radius, xCenter, yCenter float64 }func Constructor(radius, xCenter, yCenter float64) Solution {return Solution{radius, xCenter, yCenter} }func (s *Solution) RandPoint() []float64 {r : math.Sqrt(rand.…

热更新解决方案2 —— Lua语法相关知识点

概述 开发环境搭建 Lua语法 1.第一个Lua程序 2.变量 print("******变量*******"); --lua当中的简单变量类型 -- nil number string boolean -- lua 中所有的变量声明 都不需要声明变量类型 它会自动的判断类型 -- 类似C# 中的var --lua中的一个变量 可以随便赋值 ——…

Product1M 深度理解 PPT

系列论文研读目录 文章目录 系列论文研读目录 模态内检索&#xff1a;是指在同一模态&#xff08;例如&#xff0c;图像、文本或音频&#xff09;中进行的检索任务。它通常涉及在同一类型的数据中查找相关项。比如下面图像只能查询图像&#xff0c;文本只能查询文本&#xff0c…

modbus tcp wireshark抓包

Modbus TCP报文详解与wireshark抓包分析_mbap-CSDN博客 关于wireshark无法分析出modbusTCP报文的事情_wireshark 协议一列怎么没有modbus tcp-CSDN博客 使用Wireshark过滤Modbus功能码 - 技象科技 连接建立以后才能显示Modbus TCP报文 modbus.func_code 未建立连接时&…

D36【python 接口自动化学习】- python基础之函数

day36 函数的定义 学习日期&#xff1a;20241013 学习目标&#xff1a;输入输出与文件操作&#xfe63;-49 函数定义&#xff1a;如何优雅地反复引用同一段代码&#xff1f; 学习笔记&#xff1a; 函数的用途 定义函数 调用函数 # 定义函数 def foo():print(foo)print(foo …

胤娲科技:AI短视频——创意无界,即梦启航

在这个快节奏的时代&#xff0c;你是否曾梦想过用几秒钟的短视频&#xff0c;捕捉生活中的每一个精彩瞬间&#xff1f;是否曾幻想过&#xff0c;即使没有专业的摄影和剪辑技能&#xff0c;也能创作出令人惊艳的作品&#xff1f; 现在&#xff0c;这一切都不再是遥不可及的梦想。…

一区鱼鹰优化算法+深度学习+注意力机制!OOA-TCN-LSTM-Attention多变量时间序列预测

一区鱼鹰优化算法深度学习注意力机制&#xff01;OOA-TCN-LSTM-Attention多变量时间序列预测 目录 一区鱼鹰优化算法深度学习注意力机制&#xff01;OOA-TCN-LSTM-Attention多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.基于OOA-TCN-LSTM-Attenti…

Mysql(八) --- 视图

文章目录 前言1.什么是视图&#xff1f;2.创建视图3. 使用视图4. 修改数据4.1.注意事项 5. 删除视图6.视图的优点 前言 前面我们学习了索引&#xff0c;这次我们来学习视图 1.什么是视图&#xff1f; 视图是一个虚拟的表&#xff0c;它是基于一个或多个基本表或其他视图的查询…

Docker 入门篇

&#x1f3dd;️ 博主介绍 大家好&#xff0c;我是一个搬砖的农民工&#xff0c;很高兴认识大家 &#x1f60a; ~ &#x1f468;‍&#x1f393; 个人介绍&#xff1a;本人是一名后端Java开发工程师&#xff0c;坐标北京 ~ &#x1f389; 感谢关注 &#x1f4d6; 一起学习 &…

05 django管理系统 - 部门管理 - 修改部门

04我们已经实现了新增部门的功能&#xff0c;下面开始修改部门模块的实现。 按道理来说&#xff0c;应该是做成弹框样式的&#xff0c;通过ajax悄咪咪的发数据&#xff0c;然后更新前端数据&#xff0c;但是考虑到实际情况&#xff0c;先用页面跳转的方式实现&#xff0c;后面…

106页PPT企业管控模式方案:战略、产业与职能管理体系核心规划

企业集团管控模式的设计方案是一个复杂而系统的过程&#xff0c;其核心规划涉及到战略、产业与职能管理体系。以下是对这三个方面的详细规划&#xff1a; 一、战略规划 明确集团战略目标&#xff1a;集团应根据市场环境和自身优势&#xff0c;明确战略发展方向和目标&#xf…