GS-SLAM论文阅读笔记--TAMBRIDGE
前言
本文提出了一个自己的分类方法,传统的视觉SLAM通常使用以帧为中心的跟踪方法,但是3DGS作为一种高效的地图表达方法好像更侧重于地图的创建。这两种方法都有各自的优缺点,但是如果能取长补短,互相结合,那么就会是一个不错的工作。本文就是这样描述的。我比较好奇,ORB-SLAM3与高斯融合最终能达到什么样的效果。
文章目录
- 前言
- 1.背景介绍
- 2.关键内容
- 2.1 即插即用的融合连接模块
- 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模块,但我阅读完整篇文章,我觉得这个创新大部分是对阈值进行一些简单的调整,有些过于简单了。
相关文章:

GS-SLAM论文阅读笔记--TAMBRIDGE
前言 本文提出了一个自己的分类方法,传统的视觉SLAM通常使用以帧为中心的跟踪方法,但是3DGS作为一种高效的地图表达方法好像更侧重于地图的创建。这两种方法都有各自的优缺点,但是如果能取长补短,互相结合,那么就会是…...
[Redis面试高频] - zset的底层数据结构
文章目录 [Redis面试高频] - zset的底层数据结构一、引言二、zset 的底层数据结构1、zset 的编码方式1.1、ziplist 编码1.2、skiplist 编码 1.3、ziplist 编码适用条件1.4、skiplist 编码适用条件2、zset 的操作命令 三、zset 的性能考量1、内存效率2、搜索效率 四、总结 [Redi…...
搜维尔科技:OptiTrack将捕捉到的人类动作数据映射到人形机器人的各个关节上进行遥操作
OptiTrack将捕捉到的人类动作数据映射到人形机器人的各个关节上进行遥操作 搜维尔科技:OptiTrack将捕捉到的人类动作数据映射到人形机器人的各个关节上进行遥操作...

CentOS Linux教程(6)--CentOS目录
文章目录 1. 根目录2. cd目录切换命令3. CentOS目录介绍4. pwd命令介绍5. ls命令介绍5.1 ls5.2 ls -a5.3 ls -l 1. 根目录 Windows电脑的根目录是计算机(我的电脑),然后C盘、D盘。 Linux系统的根目录是/,我们可以使用cd /进入根目录,然后使…...

观察者模式全攻略:从设计原理到 SpringBoot 实践案例
观察者模式 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都能得到通知并自动更新。 核心思想: 观察者模式将**观…...
【MyBatis】Java 数据持久层框架:认识 MyBatis
Java 数据持久层框架:认识 MyBatis 1.CRUD 注解2.映射注解3.高级注解3.1 高级注解3.2 MyBatis 3 注解的用法举例 MyBatis 和 JPA 一样,也是一款优秀的 持久层框架,它支持定制化 SQL、存储过程,以及高级映射。它可以使用简单的 XML…...

【Delphi】通过 LiveBindings Designer 链接控件示例
本教程展示了如何使用 LiveBindings Designer 可视化地创建控件之间的 LiveBindings,以便创建只需很少或无需源代码的应用程序。 在本教程中,您将创建一个高清多设备应用程序,该应用程序使用 LiveBindings 绑定多个对象,以更改圆…...

深度学习——基础知识
深度学习的重点在于优化,其中很重要的步骤在于如何调参,会涉及到一些微积分等数学知识。不同于以往接触到的数值运算,深度(机器)学习都是关于张量Tensor(向量)的计算,Python中最常用…...

QT实现升级进度条页面
一.功能说明 在Qt中实现固件升级的进度条显示窗口,你可以通过创建一个自定义的对话框(Dialog)来完成。这个对话框可以包含一个进度条(QProgressBar)、一些文本标签(QLabel)用于显示状态信息&am…...

JavaWeb--纯小白笔记04:Tomcat整合IDEA
IDEA整合Tomcat 1.点击Idea的导航栏里的Run,选择Edit Configurations 2.点击左上角的"",向下翻找到Tomcat Server 选择里面的Local 3.创建一个web工程,点击IDEA的File-->new-->project 然后选择Java Enterprise,…...
【jvm】动态链接为什么需要常量池
目录 1. 常量池的作用2. 动态链接与常量池的关系3. 动态链接的必要性 1. 常量池的作用 1.常量池是JVM(Java虚拟机)中用于存储字面量(如字符串常量、整数常量等)和符号引用(如类和接口的完全限定名、字段的名称和描述符…...
HTTPS详解
文章目录 HTTPS加密 常见加密方式对称加密非对称加密非对称对称数据指纹 证书CA认证数字签名非对称证书对称 中间人 HTTPS 这也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层 为什么要加密呢,这主要是因为如果不对传输主体加密,当…...
redis作为mybaits(mybatisplus)的缓存
引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency>配置application.yml文件 spring:data:redis:# 地址host: 127.0.0.1# 端口port: 6379# 数据…...

【环境配置】AST: Asymmetric Student-Teacher Networks for Industrial Anomaly Detection
文章目录 一、环境的配置二、预处理三、训练四、问题 一、环境的配置 # zheP04_cmp_AST $ conda create -n P04_cmp_AST python3.9 $ conda activate P04_cmp_AST $ conda install -y anaconda::scikit-learn $ conda install -y conda-forge::scipy $ conda install -y conda…...

TinkerTool System for Mac实用软件系统维护工具
TinkerTool System 是一款功能全面且强大的 Mac 实用软件,具有以下特点和功能: 软件下载地址 维护功能: 磁盘清理:能够快速扫描并清理系统中的垃圾文件、临时文件以及其他无用文件,释放宝贵的磁盘空间,保…...

物理学基础精解【9】
文章目录 直线与二元一次方程两直线夹角直线方程斜率两点式方程截距式方程将不同形式的直线方程转换为截距方程直线的一般方程直线一般方程的系数有一个或两个为零的直线 参考文献 直线与二元一次方程 两直线夹角 两直线 y 1 k 1 x b 1 , y 2 k 2 x b 2 形成夹角 a 1 和 a…...

Flask-JWT-Extended登录验证
1. 介绍 """安装:pip install Flask-JWT-Extended创建对象 初始化与app绑定jwt JWTManager(app) # 初始化JWTManager设置 Cookie 的选项:除了设置 cookie 的名称和值之外,你还可以指定其他的选项,例如:过期时间 (max_age)&…...

Altium Designer(AD)百度云下载与安装(附安装步骤)
在我们日常使用当中,Altium designer常常也被简称为AD,是一款一体化的电子产品开发系统软件,主要运行在Windows操作系统上。 我们通过Altium designer把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技…...

无人机视角下的车辆数据集
车辆数据集 无人机视角下的车辆数据集。数据集为无人机俯拍的真实场景下的车辆机动车数据集。数据集已经标注好,yolo格式,txt标签。数据集已经划分好训练集(20970张图片)验证集(5242张图片)测试集ÿ…...

【MYSQL】聚合查询、分组查询、联合查询
目录 聚合查询聚合函数count()sum()avg()max()和min()总结 分组查询group by 子句having 子句 联合查询笛卡尔积内连接外连接自连接子查询单行子查询多行子查询from子句使用子查询 合并查询 聚合查询 聚合查询就是针对表中行与行之间的查询。 聚合函数 count() count(列名)&a…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...