GS-SLAM论文阅读笔记--MM3DGS SLAM

前言

多传感器融合GS-SLAM的另一个IROS2024,不过这篇没有用到激光雷达,而是相机和IMU结合而实现的。今天看一下这篇。

1


文章目录

  • 前言
  • 1.背景介绍
  • 2.关键内容
    • 2.1 跟踪
    • 2.2 深度监督
    • 2.3 惯性融合
    • 2.4建图
    • 2.5 总体流程
  • 3.文章贡献
  • 4.个人思考


1.背景介绍

  1. 虽然SLAM方法使用稀疏点云来表示操作环境,可以获得最先进的跟踪精度,但由于稀疏性,生成的地图是不相交的,在视觉上不如较新的3D重建方法。虽然视觉质量与导航的唯一目的无关,但创建逼真的地图对于人类消费,语义分割和后期处理是有价值的。
  2. 3DGS的前置操作是高斯的深度初始化。大多数方法使用来自相对昂贵的传感器(如激光雷达)的深度输入,这些传感器可能不容易在消费者手机等设备上获得
  3. 其他方法使用RGB-D相机通过立体深度估计提供深度信息。然而,仅仅依靠RGB-D相机可能会导致错误的深度,特别是随着距离相机的增加,导致跟踪精度下降。

2.关键内容

2.1 跟踪

跟踪过程包括给定固定的三维高斯地图的相机姿态优化。为了使梯度反向传播到相机姿态,在保持相机固定的情况下,将反相机变换应用于高斯地图。这实现了相同的渲染,而无需在3DGS光栅化器中实现相机姿态梯度。随后,对三维高斯图进行冻结,并根据以下损失函数对相机姿态进行优化:
在这里插入图片描述
由于此渲染过程是可微的,因此可以使用渲染图像与未失真图像之间的L1损失I来优化G:深度损失在下一章介绍。
在这里插入图片描述
其中 l g ( G , T c ) l_{g (G,Tc)} lg(G,Tc)是一个指标函数,定义为:
在这里插入图片描述
由于地图不能保证覆盖当前帧的整个范围,所以不透明度< 0.99的像素被过滤。

为了帮助收敛,可以在优化之前应用动态模型来提供相机位姿的初始假设。在大多数情况下,使用恒定速度模型。然而,在惯性传感器的存在下,跟踪精度可以通过利用惯性测量来提高。需要注意的是,第一帧的跟踪被跳过,因为还没有现有的建图,并且假设一个标识变换矩阵作为初始假设。

2.2 深度监督

当使用三维高斯图进行相机姿态跟踪时,对图像进行精确的几何信息编码是至关重要的。这对于一个未优化的地图来说尤其如此,因为高斯函数的训练时间不够长,无法收敛到正确的位置。深度先验的使用通过为高斯位置提供合理的初始估计来解决这个问题,最大限度地减少不一致的几何形状和训练时间。此外,深度先验可以监督地图训练损失,以防止几何伪影在有限视图上过度拟合。

为了以可微的方式渲染深度,执行第二次光栅化通道,将每个高斯的颜色 c i c_i ci替换为其在图像平面上的投影深度。在RGB-D的情况下,这些深度先验可以直接通过深度传感器或使用立体深度收集。然而,在没有此类传感器的情况下,可以使用单目密集深度估计网络,如DPT。由于稠密深度估计器输出的是相对相反的深度,因此无法直接比较估计的深度和呈现的深度。接下来,使用估计和渲染深度图 D e D_e De D r D_r Dr之间的线性相关(Pearson相关系数)来计算深度损失:

在这里插入图片描述
对于初始化高斯位置,必须首先解决深度估计的尺度模糊问题。这可以通过求解适合当前地图深度估计的缩放σ和平移θ来实现。这可以用线性最小二乘问题的形式来建模:
在这里插入图片描述
其中de和dr是De和Dr的平面向量。一旦估计的深度被适当地拟合到现有的地图上,新的高斯函数就可以被初始化到未知的区域,用几何信息初始化未优化的地图。

2.3 惯性融合

在优化当前帧的相机姿态之前,需要初始姿态估计来帮助优化。良好的初始估计可以缩短优化时间。此外,在收敛误差可能较小的未优化地区,良好的初始估计对于防止跟踪发散至关重要。
在单目环境中,姿态估计可以通过假设连续帧之间的恒定速度来推断。然而,在剧烈的相机运动和低图像帧率的存在下,该模型失效。

通过IMU获得的惯性测量可以集成到帧之间准确传播相机姿态并产生有意义的初始估计。大多数6自由度(6-DOF) imu通过加速度计提供三维空间的线性加速度测量, a = [ x ¨ , y ¨ , z ¨ ] a = [\ddot x,\ddot y,\ddot z] a=[x¨,y¨,z¨],以及角速度, Θ ˙ = [ α ¨ , β ¨ , γ ¨ ] \dot Θ =[\ddot α,\ddot β,\ddot γ] Θ˙=[α¨β¨γ¨]
t 时刻的位置变化,在前一坐标系中表示为 t − 1 ∆ p t t−1_{∆pt} t1pt,可由式(8)计算:
在这里插入图片描述

同样,t时刻的角度位置变化,在前一坐标系中表示为t−1∆pt,可通过式(9)计算,
在这里插入图片描述
利用Eq.(8)和Eq.(9),可以构造两个连续坐标系t - 1 t T I T_I TI之间的相对变换,如Eq.(10)所示:
在这里插入图片描述
其中,相对旋转矩阵t−1 t R由式(9)中的 t − 1 ∆ Θ t t−1_{∆Θt} t1∆Θt构造。使用IMU与摄像机帧的静态变换,则连续摄像机帧之间的相对变换可按式(11)计算:
在这里插入图片描述
为了获得滑动窗口内任意两帧之间的变换,可以将式(11)中的相对变换从当前帧链接到感兴趣的目标帧。

需要注意的是,这种开环方法不估计内部IMU偏差。这是因为t−1 t T c Tc Tc的误差在短时间delta内很小,这些小误差被视觉相机姿态优化所消除。

2.4建图

(1) 高斯初始化:为了覆盖看不见的区域,在不透明度低于0.5且深度误差超过中位数深度误差50倍的像素处添加每个关键帧的新高斯。这些新的高斯分布是按像素添加的,RGB初始化为像素颜色,位置初始化为深度测量/估计,不透明度初始化为0.5,缩放初始化为各向同性,以覆盖初始化深度处单个像素的范围。

(2) 关键帧选择: 在实时设置中,在整个视频帧集上优化3D高斯建图是不切实际的。通常,关键帧的选择应尽量减少处理的冗余帧数,并使信息增益最大化。当地图没有足够的信息来跟踪当前帧时,MM3DGS通过选择一个输入帧作为关键帧来实现这一点。这是使用共可见度度量来计算的,它定义了在多个关键帧中哪些高斯是可见的。

为此,首先,使用当前帧的估计姿态创建深度渲染。这种深度渲染可以反向投影到点云中。这个点云可以投影到任意关键帧估计位姿的图像平面上。然后可以将共可见度定义为关键帧中可见点的百分比。如果此共可见度低于95%,则将当前帧添加为关键帧。

在存在视觉噪声的情况下,例如当输入帧描绘运动模糊时,低图像质量的关键帧可能会持续存在并降低重建和跟踪质量。(这确实是一个很需要解决的问题!!)为了防止异常噪声图像被选择,使用自然图像质量评估器(NIQE)度量在滑动窗口中选择最高质量的帧。

(3) 建图损失: 在建图阶段,高斯在与当前帧共可见的关键帧集上进行优化。通过这种方式,优化影响所有可用的相关测量,同时最大限度地减少冗余帧的处理并减少计算负载。建图过程优化了当前共可见关键帧集内可见的高斯特征。对于当前帧和每个选定的关键帧,根据以下损失函数进行优化:
在这里插入图片描述

2.5 总体流程

我们接收来自移动机器人的相机图像和惯性测量值。利用深度测量和IMU预积分进行姿态优化,使用组合跟踪损失。我们在滑动窗口中应用了基于图像共可见度和NIQE度量的关键帧选择方法,并为低不透明度和高深度误差的关键帧初始化新的3D高斯。最后,根据所选关键帧的建图损失对三维高斯参数进行优化。
2

3.文章贡献

  1. 本文将惯性测量和深度估计从没有位姿的单目RGB或RGB- D相机集成到实时MM3DGS SLAM框架中,使用3D高斯图像进行场景表示。
  2. 本文的框架实现了尺度感知以及横向、纵向和垂直轨迹对齐。并且可以利用大多数消费者智能手机上的廉价传感器的输入。
  3. 我们发布了一个使用移动机器人收集的多模态数据集,该数据集由多个室内场景组成,包括RGB和RGB- D图像、激光雷达深度、6自由度惯性测量单元(IMU)测量以及用于误差分析的地面真实轨迹。

4.个人思考

  1. 本文的深度估计应该是采用了一个网络,将估计深度和渲染深度进行一个相关性计算获得深度损失。
  2. 对于IMU的融合,作者采用的应该是一个松耦合方式,只在初始化或者剧烈运动导致相机位姿估计比较困难的时候,采用IMU进行估计,这个策略还是比较简单的。不过作者在最后提及未来的工作可能会扩展到包括紧密耦合的IMU融合和回环检测,以进一步提高跟踪性能。

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

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

相关文章

计算神经学笔记01

- **The term neuromorphic is generally used to describe analog, digital, mixed-mode analog/digital VLSI, and software systems that implement several models of neural systems.** - 神经形态一词通常用于描述模拟、数字、混合模式的模拟/数字超大规模集成电路&…

记录|Modbus-TCP产品使用记录【摩通传动】

目录 前言一、摩通传动实验图1.1 配置软件 IO_Studio1.2 测试软件Modbus Poll1.2.1 读写设置测试1.2.2 AI信号的读取 1.3 对应的C#连接Modbus的测试代码如下【自制&#xff0c;仅供参考】1.4 最终实验图 更新时间 前言 参考文章&#xff1a; 自己需要了解和对比某些产品的Modbu…

C++基础---类和对象(上)

1.类的定义 C程序设计允许程序员使用类&#xff08;class&#xff09;定义特定程序中的数据类型。这些数据类型的实例被称为对象 &#xff0c;这些实例可以包含程序员定义的成员变量、常量、成员函数&#xff0c;以及重载的运算符。语法上&#xff0c;类似C中结构体&#xff0…

3D建模软件 | Blender v4.2.2 绿色版

Blender是一款功能强大的免费开源3D创作套件&#xff0c;适用于创建3D可视化效果&#xff0c;如静态图像、3D动画、视觉特效以及视频编辑。Blender以其跨平台兼容性、高效内存管理、统一的工作流程和活跃的社区支持而受到独立艺术家和小型工作室的青睐。 它提供了从建模、渲染…

10.2 Linux_并发_进程相关函数

创建子进程 函数声明如下&#xff1a; pid_t fork(void); 返回值&#xff1a;失败返回-1&#xff0c;成功返回两次&#xff0c;子进程获得0(系统分配)&#xff0c;父进程获得子进程的pid 注意&#xff1a;fork创建子进程&#xff0c;实际上就是将父进程复制一遍作为子进程&…

智慧防灾,科技先行:EasyCVR平台助力地质灾害视频监测系统建设

随着科技的飞速发展&#xff0c;视频监控技术已成为地质灾害监测与预警的重要手段之一。在众多视频监控平台中&#xff0c;EasyCVR视频汇聚平台凭借其强大的视频整合、实时传输、视频处理及分发等能力&#xff0c;在地质灾害场景中展现出显著的应用优势。 一、实时监测与远程监…

实用工具推荐---- PDF 转换

直接上链接&#xff1a;爱PDF |面向 PDF 爱好者的在线 PDF 工具 (ilovepdf.com) 主要功能如下&#xff1a; 全免费&#xff01;&#xff01;&#xff01;&#xff01;

Kali Linux语言设置成中文

要将Kali Linux设置成中国地区&#xff08;简体中文&#xff09;&#xff0c;可以按照以下步骤进行操作&#xff1a; 一、更新软件包列表 打开Kali Linux的终端。输入以下命令来更新软件包列表&#xff1a; sudo apt-get update二、安装语言包 输入以下命令来安装locales包…

AI技术在爱奇艺视频搜索中的应用

当前AI技术已经全面在爱奇艺搜索引擎中落地应用。与传统搜索仅能查找片名不同&#xff0c;爱奇艺的AI搜索功能让用户能够在搜索阶段使用更多模糊信息获得想找的影片。首次将生成式AI技术应用于角色搜索、剧情搜索、明星搜索、奖项搜索和语义搜索五大场景。通过对模糊搜索query的…

【笔记】Dynamic Taint Analysis 动态污点分析

Dynamic Taint Analysis 动态污点分析 什么是动态污点分析&#xff1f;为什么要搞动态污点分析&#xff1f; “污点”指的是什么&#xff1f; DTA中的“污点”指代的是不可信的输入&#xff0c;比如用户输入、网络请求、文件数据等。比方说&#xff0c;如果把程序看作一个城市&…

2.点位管理开发(续)及设计思路——帝可得后台管理系统

目录 前言一、页面原型二、修改1、页面展示2、新增 3 、总结思路 前言 提示&#xff1a;本篇继续点位管理的改造 一、页面原型 页面展示新增 二、修改 1、页面展示 页面修改&#xff1a;修改标签换行、顺序顺序、地址过长时换行问题&#xff1b; <el-table v-loading…

四DHCP服务实验

复习 &#xff1a;DHCP基础实验&#xff1a; 1. 在server端安装dhcp yum -y install dhcp 2. 找回dhcp的配置文件&#xff1a;/etc/dhcp/dhcpd.conf cp -a /usr/share/doc/dhcp-4.25/dhcpd.conf.example /etc/dhcp/dhcpd.conf 3. 修改/etc/dhcp/dhcpd.conf配…

音视频入门基础:FLV专题(10)——Script Tag实例分析

一、引言 在《音视频入门基础&#xff1a;FLV专题&#xff08;9&#xff09;——Script Tag简介》中对FLV文件的Script Tag进行了简介。下面用一个具体的例子来对Script Tag进行分析。 二、Script Tag的Tag header实例分析 用notepad打开《音视频入门基础&#xff1a;FLV专题…

国外电商系统开发-需求记录

一、客户需求 1、商城后台需要添加产品、添加一级代理商&#xff1b; 2、一级代理商可以添加二级代理商&#xff0c;二级代理商需要添加店铺&#xff1b; 3、店铺需要购买产品(进货)、店铺也可以推广给用户(用户在用户APP里最近店铺下单、购买产品)&#xff1b; 4、需要对接当地…

波动方程(将麦克斯韦方程组求出只有E或H的表达式)

都在无源线性介质下求解波动方程&#xff0c;且复数形式的波动方程有两种解法&#xff0c;我们用4方法求解复数形式波动方程 电场强度E满足的波动方程&#xff1a; 先写出线性介质的麦克斯韦方程组 2、根据麦克斯韦方程组&#xff0c;获得只有E的表达式 3、再根据场的复数表示…

NVIDIA Hopper 架构深入

在 2022 年 NVIDIA GTC 主题演讲中,NVIDIA 首席执行官黄仁勋介绍了基于全新 NVIDIA Hopper GPU 架构的全新 NVIDIA H100 Tensor Core GPU。 文章目录 前言一、NVIDIA H100 Tensor Core GPU 简介二、NVIDIA H100 GPU 主要功能概述1. 新的流式多处理器 (SM) 具有许多性能和效率…

基于Hive和Hadoop的哔哩哔哩网站分析系统

本项目是一个基于大数据技术的哔哩哔哩平台分析系统&#xff0c;旨在为用户提供全面的哔哩哔哩视频数据和深入的用户行为分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xf…

Qt Creator安卓环境配置【筑基篇】

1.前言 由于我的Qt Creator目前就先的14版本IDE老是存在各种莫名奇妙的bug&#xff0c;我都已经成为官方Qt Forum官方论坛的常客了。有一说一新版本的各种设置不小心误触是真的坑死人。不说了给我小主机配置安卓环境了。小主机系统版本window11-23H,Qt-Creator版本是13.01版本…

k8s搭建一主三从的mysql8集群---无坑

一&#xff0c;环境准备 1.1 k8s集群服务器 ip角色系统主机名cpumem192.168.40.129mastercentos7.9k8smaster48192.168.40.130node1centos7.9k8snode148192.168.40.131node2centos7.9k8snode248192.168.40.132node3centos7.9k8snode348 k8s集群操作请参考《K8s安装部署&…

【开源鸿蒙】OpenHarmony 5.0.0 发布了,速来下载最新代码

【开源鸿蒙】OpenHarmony 5.0.0 发布了&#xff0c;速来下载最新代码 一、写在前面二、准备命令工具三、配置用户信息四、下载OpenHarmony源码4.1 使用ssh协议下载&#xff08;推荐&#xff09;4.2 使用https协议下载 五、下载编译工具链六、参考链接 今天是9月30号&#xff0c…