GS-SLAM论文阅读笔记-MGSO

前言

MGSO首字母缩略词是直接稀疏里程计(DSO),我们建立的光度SLAM系统和高斯飞溅(GS)的混合。这应该是第一个前端用DSO的高斯SLAM,不知道这个系统的组合能不能打得过ORB-SLAM3,以及对DSO会做出怎么样的改进以适应高斯地图,接下来就看一下吧!
在这里插入图片描述

G i s h e l l o G^s_ihello Gishello
我是红色


文章目录

  • 前言
  • 1.背景介绍
  • 2.关键内容
    • 2.1SLAM module
    • 2.2 Dense Reconstruction
  • 3.文章贡献
  • 4.个人思考


1.背景介绍

  1. 然而,现有的基于3dgs的SLAM系统难以平衡硬件简洁性、速度和地图质量。大多数系统在上述的一个或两个方面表现出色,但很少能做到全部。一个关键问题是在同时进行SLAM时初始化高斯的困难。
  2. 传统上,SLAM系统提供语义差的地图表示,对定位和基本导航有效,但缺乏复杂任务所需的细节。解耦的稠密地图SLAM一个关键挑战是SLAM和密集重建组件之间缺乏协同作用。SLAM算法往往不能为高质量的密集重建提供最优数据,从而影响系统的整体性能。
  3. 3DGS通常需要一个初始点云来开始重建,更密集、结构良好的初始点云可以改善和更快地得到结果。然而,传统的基于特征的SLAM方法产生的稀疏点云对于3DGS初始化不是最优的。虽然RGB-D数据可以提供密集和精确的点云,但使用单目相机适用范围更广。
  4. 紧耦合方法在继续跟踪之前引入了对建图细化的依赖,从而导致性能降低。此外,目前大多数3DGS系统严重依赖深度数据来执行3D重建,这使得它们依赖于RGB-D传感器。虽然MGSO与Photo-slam最相似,,但我们解决了photoslam倾向于创建大型,内存效率低下的地图的问题。
    在这里插入图片描述

2.关键内容

MGSO集成了两个并发操作的核心组件:负责精确姿态估计的SLAM模块和用于绘图的3D稠密重建模块。

2.1SLAM module

我们系统的跟踪主干是建立在直接稀疏里程计(Direct Sparse Odometry, DSO)的一系列视觉SLAM方法之上的。<>DSO的关键创新在于,与使用图像中的所有像素相比,用于光度跟踪的选择性像素采样提高了定位精度。我们之所以选择基于DSO,是因为我们发现它的像素选择策略也与初始化3DGS非常一致。DSO在连续帧 i 和 j 上跟踪一组像素,通过最小化跟踪的每个像素的光度损失方程来优化相机姿势p。
在这里插入图片描述
其中I查询像素强度,a和b是考虑光照变化的变量,s是相机曝光。该损失方程的基本原理是识别最匹配连续帧i和j之间像素强度变化的姿态变化。该方程适用于跟踪和建图级别。

在每一帧,我们的系统的跟踪过程计算相对于最新关键帧的姿态变化,假设一个固定的地图。只有在插入关键帧时才调整跟踪像素的建图。一个新的关键帧是一个参考帧,它捕获了相对于现有关键帧的场景的独特视图。当建图完成后,所有当前关键帧姿态和由跟踪像素点组成的地图都会被调整。然后,我们的系统将跟踪像素的地图转换为点云地图,并将其与关键帧姿势一起添加到稠密重建模块中。

我们采用DSO的窗口关键帧管理策略,当检测到视场、旋转或光照发生重大变化时,生成关键帧。如果关键帧的数量超过窗口大小(默认为8个),旧的关键帧将被删除,使用基于距离的评分来确保关键帧在3D空间中分布良好。

我们方法的灵感来自于对原始3DGS的最终3DGS高斯位置的分析(图3)。我们意识到最终地图的最终位置、颜色和高斯分布与DSO输出的点云相似。根据这一观察,我们推测用光度SLAM初始化3DGS会增强3DGS优化,因为它会减少所需的优化。

在这里插入图片描述

DSO结构良好的密集点云的一个主要方面是它的像素选择策略。DSO通过将图像分成块并在每个块中选择梯度阈值以上的最高梯度像素来进行像素选择。然后用更低的阈值和更大的块重复这个过程。该方法不仅可以在复杂区域跟踪更多的像素,而且可以保证在简单区域的像素选择。它与传统方法不同,传统方法通常只跟踪容易识别的特征,如角落和边缘。在图4中可以观察到这两种方法之间的差异。这很重要,因为我们观察到,虽然完成的3DGS地图在复杂区域有更多的高斯分布,但它们在非复杂区域仍然保持一些高斯分布。
在这里插入图片描述
此外,DSO跟踪具有高梯度的像素,这比可跟踪的特征点更常见。因此,DSO的输出点云更接近于完成3DGS地图的密度。我们的实验表明,虽然edso的像素选择密度是跟踪的最佳选择,但增加像素选择密度可以增强3DGS的性能,特别是在低梯度区域,这对跟踪具有挑战性。为了解决这个问题,我们修改了DSO,增加了不用于姿态估计的额外跟踪像素,以增加输出点云密度(图5)。这种修改允许系统具有跟踪和3DGS的最佳像素密度。尽管有这些增强功能,但具有最小或没有梯度的平坦区域仍然稀疏地填充有跟踪像素。这是因为DSO的像素跟踪系统至少需要一些梯度进行跟踪,因此,没有梯度的区域中的像素永远不会被跟踪。
在这里插入图片描述
我们观察到,在平面区域中初始化点稍微错位的情况下,3DGS的性能要优于没有初始化点的情况。因此,我们实现了一种插值方法,该方法基于附近的跟踪像素估计低梯度区域中的点位置。我们的方法采用Delaunay三角剖分算法,以跟踪像素为顶点将图像划分为一系列三角形。每个插值点的深度计算为三角形顶点的平均深度,这通常为平面上的像素提供准确的结果。虽然像Photo-SLAM这样的基于特征的系统也可以插值非活动的2D特征点,但我们的方法优于他们的方法,因为初始点计数更高,并且通过将插值集中在最准确的平坦区域。

2.2 Dense Reconstruction

MGSO采用3DGS作为密集重建方法。

在原始3DGS之后,我们使用一组各向异性高斯g来创建场景,每个高斯g都使用不透明度、旋转、位置、比例和颜色进行建模。我们遵循Mono-GS的技术,使用RGB而不是球面谐波来表示颜色,因为Mono-GS显示这种速度的提高对重建质量的影响最小。我们使用3DGS中引入的原始可微分瓷砖光栅化来渲染地图的RGB图像。利用梯度下降法优化每个高斯函数的参数,使光度损失L最小:
在这里插入图片描述
为了提高系统的速度,我们采用Photo-SLAM中引入的基于高斯金字塔的学习来逐步训练高斯映射。金字塔有助于加速现场视频场景的训练。通过对相机捕获的真地图像进行多次平滑和下采样,建立了一个多尺度高斯金字塔。光度损失计算从初始迭代中使用最高金字塔水平到随着训练的进展使用更低的金字塔水平。此外,我们使用了一个优化版本的3DGS CUDA后端,比原来的更快。

我们的自适应控制策略每1000次训练迭代就会周期性地对高斯分布进行密度化和剪枝处理,以提高地图质量。我们围绕SLAM模块返回的点云设计策略,类似于Photo-SLAM为ORBSLAM3量身定制策略。我们的SLAM系统生成的点云具有密度大、覆盖均匀的特点。

它们适应场景的复杂性,集中在复杂的区域,同时保持简单区域的代表性。当一个新的关键帧被处理时,我们用SLAM系统创建的点云中获取的位置和颜色初始化新的高斯函数。

然而,我们注意到在使用3DGS的致密化和修剪策略时出现了漂浮物。为了减轻飞蚊的存在,我们在AbsGS中采用了自适应控制策略。因此,作为自适应控制策略的一部分,我们通过分裂或克隆具有高同向视图空间位置梯度的高斯函数来周期性地致密化它们。大的、高方差的高斯分布被分割,而小的高斯分布在重建不足的区域被克隆。此外,我们定期修剪低不透明度的高斯分布,以去除透明的漂浮物。我们使用与原始3DGS相同的分裂和克隆参数。

3.文章贡献

  1. 一个实时密集SLAM系统,利用了光度SLAM和3DGS之间的协同作用。
  2. 我们的系统只需要一个单目摄像机。
  3. 实验表明,我们的系统具有其他稠密SLAM系统无法比拟的速度、地图质量和内存效率。

4.个人思考

  1. 对于文章说的,DSO生成的初始化点云比ORB-SLAM更好,我比较赞同。因为DSO是通过光度跟踪像素,会生成更结构化的点云。ORB-SLAM在弱纹理的情况下提取特征很少。
  2. 总的来说,作者使用了解耦的方法保证了SLAM的速度,又使用DSO获得一个更好的初始化点云,保证了建图的质量,最终得到了一个较好的结果。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一次性语音芯片:重塑语音识别技术,引领智能化生活新时代

随着一次性语音芯片的突破性进展&#xff0c;语音识别技术正融入我们生活的方方面面&#xff0c;引领着智能化生活迈向一个全新的时代。这些芯片不仅体积小巧、成本低廉&#xff0c;更在性能上实现了质的飞跃&#xff0c;能够更精确地捕捉并理解人类语音。本文将解读关于一次性…

Crypto虐狗记---”你“和小鱼(五)

前言&#xff1a;剧情五 提示&#xff1a; 一种食物&#xff1f; 一种食物——培根&#xff1a;&#xff08;A B 也暗示是培根加密&#xff09; cyberpeace{attackanddefenceworldisinteresting} 密码学笔记——培根密码 - ILK - 博客园 (cnblogs.com)

Appium Device Farm安装教程

环境要求&#xff1a;Appium version ≥ 2.4.X 安装appium npm install -g appium2.11.3 如果安装提示如下问题 npm error code EEXIST npm error syscall rename npm error path /Users/wan/.npm/_cacache/tmp/d5787519 npm error dest /Users/wan/.npm/_cacache/content-…

Android一个APP里面最少有几个线程

Android一个APP里面最少有几个线程 参考 https://www.jianshu.com/p/92bff8d6282f https://www.jianshu.com/p/8a820d93c6aa 线程查看 Android一个进程里面最少包含5个线程&#xff0c;分别为&#xff1a; main线程(主线程&#xff09;FinalizerDaemon线程 终结者守护线程…

cnn突破七(四层bpnet网络公式与卷积核bpnet公式相关)

我们要有一个概念&#xff0c;就是卷积核就是我们的w1&#xff0c;w12&#xff0c;w2 那么我们的5*5卷积核怎么表达&#xff0c;当他在14*14的图像中流动时&#xff0c;对应的像素也在变化 这个和我们的上面w1&#xff0c;w12&#xff0c;w2不同&#xff0c;因为这几个都是全…

7. 整数反转【数学】

文章目录 7. 整数反转解题思路Go代码 7. 整数反转 7. 整数反转 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [ − 2 31 , 2 31 − 1 ] [−2^{31}, 2^{31} − 1] [−231,231−1] &#xff0…

数学建模算法与应用 第12章 现代优化算法

目录 12.1 粒子群优化算法 Matlab代码示例&#xff1a;粒子群优化算法求解函数最小值 12.2 遗传算法 Matlab代码示例&#xff1a;遗传算法求解函数最小值 12.3 蚁群算法 Matlab代码示例&#xff1a;蚁群算法求解旅行商问题 12.4 Matlab 遗传算法工具 使用遗传算法工具箱…

U盘误删文件?一招教你轻松找回!

大家好&#xff01;今天咱们来聊聊一个让人头疼却又常见的问题——U盘数据丢失。是不是有时候不小心删了个文件&#xff0c;或者格式化了U盘&#xff0c;结果发现重要资料不见了&#xff0c;心里那个急啊&#xff01;别急&#xff0c;别急&#xff0c;今天我就给大家推荐几款免…

Scalable TCP 如何优化长肥管道

来看一个极简的拥塞控制实现 net/ipv4/tcp_scalable.c&#xff0c;去掉注释不到 50 行代码。它的介绍在 Scalable TCP-improving performance in highspeed networks。由于太简单&#xff0c;估计没什么人会在意。 本文说一下它背后的道理。 无论 bic/cubic&#xff0c;westw…

leetcode:反转字符串II

题目链接 string reverse(string s1) {string s2;string::reverse_iterator rit s1.rbegin();while (rit ! s1.rend()){s2 *rit;rit;}return s2; } class Solution { public:string reverseStr(string s, int k) {string s1;int i 0;//标记字符串下标int j 0;int length …

react+ts+vite 别名一直爆红问题

已经配置如下代码安装了types/node import path from "path"; // https://vitejs.dev/config/ export default defineConfig({plugins: [react()],server: {proxy: {"/api": {target: "http://localhost:3000",changeOrigin: true,rewrite: (pa…

数字电路尚硅谷学习笔记

学习视频&#xff1a;01_数字电路_从零搭建计算机引导_哔哩哔哩_bilibili 第1章数字电路基础 1.引言 数字电路是现代科技和工程领域中不可或缺的基础。从计算机系统到通信设备&#xff0c;从家庭电子产品到工业自动化&#xff0c;数字电路无处不在&#xff0c;影响着我们的生…

手写mybatis之解析和使用ResultMap映射参数配置

前言 学习源码是在学习什么呢&#xff1f; 就是为了通过这些源码级复杂模型中&#xff0c;学习系统框架的架构思维、设计原则和设计模式。在这些源码学习手写的过程中&#xff0c;感受、吸收并也是锻炼一种思维习惯&#xff0c;并尝试把这些思路技术迁移到平常的复杂业务设计开…

1.MySQL存储过程基础(1/10)

引言 数据库管理系统&#xff08;Database Management System, DBMS&#xff09;是现代信息技术中不可或缺的一部分。它提供了一种系统化的方法来创建、检索、更新和管理数据。DBMS的重要性体现在以下几个方面&#xff1a; 数据组织&#xff1a;DBMS 允许数据以结构化的方式存…

“云计算+高职”:VR虚拟仿真实训室的发展前景

随着科技的飞速进步&#xff0c;云计算与虚拟现实&#xff08;VR&#xff09;技术的结合正在深刻改变着教育领域&#xff0c;尤其是在高等职业教育中&#xff0c;这一融合为实训教学带来了革命性的变革。VR虚拟仿真实训室作为这一变革的前沿阵地&#xff0c;正展现出广阔的发展…

Chromium 如何查找V8 引擎中JavaScript 标准内置对象

JavaScript 标准内置对象 - JavaScript | MDN (mozilla.org) 一、JavaScript 标准内置对象 本章介绍和说明了 JavaScript 中所有的标准内置对象、以及它们的方法和属性。 这里的术语“全局对象”&#xff08;或标准内置对象&#xff09;不应与 global 对象混淆。这里的“全局…

出海快报 | “三消+短剧”手游横空出世,黄油相机“出圈”日本市场,从Q1看日本手游市场趋势和机会

编者按&#xff1a;TopOn出海快报栏目为互联网出海从业者梳理出海热点&#xff0c;供大家了解行业最新发展态势。 1.“三消短剧”横空出世&#xff0c;融合创新手游表现亮眼 随着竞争的加剧&#xff0c;新产品想要突出重围&#xff0c;只能在游戏中加入额外的元素。第一次打开…

Spring Boot项目的创建与使用

1.SpringBoot初识 SpringBoot是什么 介绍 ​ 为了简化 Spring 应用的搭建和开发过程&#xff0c;Pivotal 团队在 Spring 基础上提供了一套全新的开源的框架&#xff0c;它就是 Spring Boot。 Spring Boot是由Pivotal团队提供的全新&#xff0c;其设计目的是用来新应用的初始…

Java JWT:原理、机制及案例示范

一、什么是JWT&#xff1f; 1.1 JWT的基本概念 JWT&#xff08;JSON Web Token&#xff09;是一种用于在各方之间传递JSON格式信息的紧凑、URL安全的令牌&#xff08;Token&#xff09;。JWT的主要作用是验证用户身份或权限。它由三部分组成&#xff1a; Header&#xff08;…

Ubuntu 上安装 MySQL 并且实现远程登录

目录 1. 安装MySQL 2. 安全配置MySQL 3. 配置MySQL远程登录 3.1. 允许远程连接 3.2. 重启MySQL服务 3.3. 为用户分配远程访问权限 进入MySQL后&#xff0c;执行以下命令&#xff1a; 3.4. 创建新用户 3.5. 授予权限 3.6. 刷新权限 3.7. 退出 MySQL 控制台 4. 配置防火…