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

news2024/9/20 22:28:05

介绍

GS-SLAM是最近比较新的方向,由于传统SLAM的研究变得很少,拥抱与新的技术结合的方法也许是个好主意。之前总结了大部分GS-SLAM的文章。但是这个方向在不断发展,而发展初期的很多论文值得参考。所以用博客记录一下比较新的论文阅读笔记。GSFusion 这篇文章是TUM发表的,TUM在SLAM领域是非常牛的,所以需要仔细阅读一下这篇文章,肯定会有所收获!
在这里插入图片描述


文章目录

  • 介绍
  • 1.背景介绍
  • 2.关键内容
    • 2.1混合场景表达
      • (1)基于八叉树的TSDF网格
      • (2)3D Gaussian表达
    • 2.2增量地图
      • (1)TSDF融合
      • (2)新高斯的初始化策略
      • (3)关键帧维护策略
    • 2.3整体流程
  • 3.文章贡献
  • 4.个人思考


1.背景介绍

  1. 传统的体积融合算法保留了三维场景的空间结构,这对计算机视觉和机器人技术中的许多任务都是有益的。然而,它们在可视化方面往往缺乏真实感单纯的颜色融合通常会导致低照片真实感和不完整的地图,因为遮挡,深度图中的洞,以及忽视材料属性,如反射和透明度。

  2. 新兴的三维高斯飞溅弥补了这一差距,但现有的基于高斯的重建方法经常受到伪影和与底层3D结构不一致的影响,并且难以实时优化,无法为用户提供高质量的即时反馈高斯虽然优于Nerf,但原始范式是为离线操作而设计的,这仍然需要大约10-30分钟来批量优化小规模数据集(300张图像)。

  3. 其中一个瓶颈来自于在优化过程中需要更新的大量高斯参数。 不通过使用3D高斯作为一个独立的地图表示,作者将其合并到一个体映射系统中,以利用几何信息,并建议在图像上使用四叉树数据结构,以大大减少初始化的splats数量。通过这种方式,可以同时生成一个紧凑的三维高斯地图,具有更少的伪影和一个动态的体积地图。

  4. 作者认为问题的关键在于 限制添加到场景中的3D高斯的数量对于在扫描过程中保持视觉质量和效率之间的平衡 。并且解释了原因:
    1.可以充分利用体网格的空间结构来避免在邻域中重复三维高斯分布。
    2.其次,与3DGS相比,体积地图更加成熟,使其适用于更广泛的下游机器人任务。

2.关键内容

2.1混合场景表达

(1)基于八叉树的TSDF网格

八叉树是一种空间数据结构,通常用于将三维空间划分为八个八叉,以提高计算效率。在supereight( 作者主要参考这篇文章的方法)中,每个叶子节点包含一个连续的8的三次方个体素块。这将体积图转换为无序的稀疏分布体素块的集合,八叉树作为基于整数坐标检索数据的空间索引。

这里使用Morton编码实现了高效的树遍历,其中来自3D坐标的交错位形成了每个节点的唯一标识符。这个编码方案隐式地定义了树结构,因为它递归地指示了父节点在较粗层次上的位置。注意,这个建图系统支持灵活的数据类型,比如TSDF和occupancy。为了简化实现,作者选择单分辨率TSDF。因此,每个体素存储到最近表面的截断带符号距离,负值表示表面里面的体素。

(2)3D Gaussian表达

选择了3D高斯作为场景原语的原因不仅在于高质量的渲染,还因为它们是可微的,可以很容易地投影到2D空间中,从而实现快速α-blending。 三维高斯函数可以看作一个椭球,其中3 × 3协方差矩阵Σ定义了椭球在三维空间中的形状和方向。

假设三维高斯函数以pg为中心,则其定义如下:
在这里插入图片描述
其中R∈R 3×3, S∈R 3×3分别表示三维高斯函数的旋转和缩放。给定时间步长k从摄像机坐标帧到世界坐标帧的刚变换TW Ck∈SE(3),则二维投影定义为:

在这里插入图片描述
其中π(·)依次进行去均质化和透视投影。W表示T−1 W Ck的旋转部分,J是将相机坐标转换为射线坐标的射影变换的仿射近似的雅可比矩阵。除了3D位置pg,旋转R和缩放S,每个3D高斯还包含一个不透明度值α∈[0,1],用于混合和球面谐波(SH)系数,以捕获与视图相关的颜色c。

2.2增量地图

本文的实时增量建图过程包括三个主要阶段。

(1)首先,它使用输入深度帧进行TSDF融合以更新必要的体素。
(2)然后,利用视觉和几何信息在三维空间中分配新的高斯分布,以避免高斯原语的爆炸。
(3)最后,设计了一个有效的关键帧维护策略进行高斯参数的优化,实现渲染质量和计算效率之间的平衡

接下来具体介绍这三个步骤。

(1)TSDF融合

TSDF融合过程包括将新的传感器数据集成到体素图中。因此,在给定当前深度帧的情况下,确定哪些体素块应该更新是很重要的。 由于TSDF场只编码截断带宽 ±ϵ 内的表面信息,射线沿着每个像素的视线行进,体素块只有在在深度测量周围指定的 ϵ 带时才会被分配。supereight 采用从上到下的宽度优先分配,利用Morton编码以最小的开销进行快速体素块分配。

值得注意的是,在初始阶段之后,随后的帧中需要分配的体素块更少,因为新的块将主要出现在帧边界或以前未见过的区域。当分配完成后,参考与KinectFusion相同的方式进行测量值的整合。

通过将体素位置pv投影到图像坐标中,计算深度图像的测量距离与相机中心到体素的度量距离之差,得到新的SDF值。新值进一步归一化为TSDF,并使用简单的运行加权平均与前一个值融合(假设权重的上限为wmax)。数学上来讲,如下公式:
在这里插入图片描述
上式中Dk为时间步长k处的输入深度图,zcv表示pv在相机帧内的z轴坐标。最后,更新后的wk和tsdfk都存储在相应的体素中。

(2)新高斯的初始化策略

为了显式地控制要添加到建图中的高斯基元的数量,作者建议对每个输入RGB图像使用四叉树方案。四叉树类似于八叉树,但在2D空间中操作,树中的每个节点要么正好有四个子节点,要么根本没有(即叶节点)。作者基于对比度对图像进行划分,以便每个叶节点包含一个特定的子区域,其对比度低于预定义的阈值。
在这里插入图片描述
在上图中,作者演示了不同的四叉树阈值如何影响分区结果。总的来说,使用更严格的四叉树阈值可以帮助捕获更精细的细节,特别是由对比度引起的薄边缘。
假设象限的中心是uq∈r2,我们可以使用深度图将其反向投影到世界坐标系中:
在这里插入图片描述
在pq处放置一个新的三维高斯函数之前,首先需要检查它的周围环境。这是为了防止在一个邻域中复制多个高度相似的原语。否则,即使在扫描过程中没有发现新的区域,地图也会继续扩展。因此,简单地查询离pq最近的体素。具体方法是:
如果体素权重等于1,则表示这是一个新分配的体素,我们可以安全地在pq处初始化一个新的3D高斯函数,如下所示:
在这里插入图片描述
其中Rq是3×3单位矩阵,Sq是3×3对角矩阵,每个元素d等于从象限中心到它的角的反向投影长度。注意,前三个SH系数是使用图像Ik中的像素颜色初始化的。一旦体素权重超过1,我们就知道这个位置之前已经被访问过了,并且不应该在这里分配新的高斯分布。

作者的初始化策略有很多好处。它不仅大大减少了地图大小,从而提高了计算效率,而且最大限度地利用了每个原语,从而减少了场景中的浮动伪影。此外,作者的结果地图的紧凑性消除了原始3DGS方法中需要进一步致密化或修剪过程的需要,这是在线优化的另一个计算瓶颈。

(3)关键帧维护策略

由于可微渲染,我们可以使用梯度下降法直接优化高斯参数。由于gausian splatting采用基于tile的栅格化,将屏幕划分为多个tiles。当前视锥体中的3D高斯分布是基于每个tile的深度进行排序的。因此,可以通过混合N个在像素处重叠的排序和高斯原语来获得渲染的RGB图像 Ik:

在这里插入图片描述
为了尽量减少输入RGB图像和渲染图像之间的光度损失,将优化目标函数定义为:
在这里插入图片描述

在每个时间步骤中,需要多次迭代。运行的迭代次数越多,从当前视点获得的渲染图像质量就越好。然而,在线过程无法承受大量的一阶优化迭代。此外,它还会导致严重的过拟合问题,最终降低3D高斯图的整体质量。为了平衡渲染质量和优化时间,作者采用了一个简单而有效的在线优化策略:利用关键帧列表

在初始化阶段,新的高斯函数只被分配到以前未观察到的区域。因此,每帧初始化的新原语的数量自然可以作为每个输入帧的信息增益的指标。简单地说,我们选择一个关键帧,并在新原语的数量大于某个阈值时将其添加到列表中。关键帧和非关键帧将分别进行m和n次迭代优化。然而,作者在优化非关键帧上花费的时间较少,保留了一些资源给从维护列表中随机选择的关键帧(即洗牌后的第一个(m−n)关键帧)。这种随机关键帧优化有助于减轻遗忘问题,而不会显著增加计算负担。

2.3整体流程

GSFusion整体的pipeline如下图所示。在每个时间步长中,它采用一对RGB-D图像作为输入。深度数据融合到基于八叉树的TSDF网格中捕获几何结构,同时基于对比度使用四叉树对RGB图像进行分割。如果没有相邻的高斯,则通过检查其最近的体素,在一个象限的反投影中心初始化一个新的3D高斯。最后,作者通过最小化渲染图像和输入RGB之间的光度损失来优化高斯参数。并且维护一个关键帧集来处理遗忘问题。扫描后,系统为后续任务提供体素地图和三维高斯地图。
在这里插入图片描述

3.文章贡献

  1. 提出了一种混合映射系统GSFusion,它结合了高斯飞溅和TSDF融合,可以同时实时生成两种类型的地图。
  2. 利用四叉树分割方案以及体积网格结构来明确控制添加到场景中的新高斯,从而优化模型大小和计算效率。

4.个人思考

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营第七天|LeetCode 334.反转字符串、541反转字符串II、151反转字符串中的单词

一、LeetCode 334.反转字符串 题目链接:. - 力扣(LeetCode) 题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修…

万字长文浅谈三高系统建设方法论和实践

1 概述 整个软件的发展历程是一部软件复杂性对抗史,软件的复杂性分为技术复杂性和业务复杂性,业务复杂性主要是建模和抽象设计,技术复杂性主要是三高(高性能,高并发,高可用)的应对,…

高中生护眼台灯哪个牌子好?五款性价比高的护眼台灯测评结果

现在市面上形形色色的打着“护眼”口号的台灯太多了,因为眼睛对于我们来说很重要,我们看到美丽的事物都因为有他,所以大家一听到护眼就会选择购买。很多商家为了赚钱,随便贴个标签就说护眼,其实一点用都没有。高中生护…

九源基因第二大客户是供应商:国内分销商减少250家,押注减肥药

《港湾商业观察》廖紫雯 日前,杭州九源基因工程股份有限公司(以下简称:九源基因)二闯港交所,保荐机构为华泰国际、中信证券。此前,公司曾于1月向港交所提交过上市申请,但后续未有相关进展。 招…

Vue Element Plus el-select 使用 filterable 搜索下 @blur 事件绑定失效

失效原因 使用 filterable 导致 blur 事件绑定在输入框上,而不是整个选择器上 当点击选项时,输入框失去焦点触发 blur 事件 而点击其她位置收起下拉款的时候,并不会触发输入款的 blur 事件 解决方案 使用 element 提供的 visible-change …

【嵌入式学习笔记】---- 时钟源时钟树 RCC

微观引入时钟源 在芯片内部,布满了各种逻辑电路,通过数字信号进行通信 假设芯片内部存在如下这种逻辑电路: ①状态:当A、B均输入1时,与门输出1,异或门输出0,故此时寄存器的值为0 ②状态&…

文件被误删?找回电脑删除的文件,这4招很好用

在日常使用电脑的过程中,不小心误删重要文件的情况时有发生,让人心急如焚。但别担心,只要掌握了一些实用的方法,你就有可能轻松找回那些看似已经消失的文件。今天,就为大家分享四招非常有效的找回电脑删除文件的方法&a…

Java笔试面试题AI答之正则表达式(2)

文章目录 7. 简述Java正则表达式零宽断言 ?8. 简述Java正则表达式贪婪与懒惰 ?贪婪匹配(Greedy Matching)懒惰匹配(Lazy Matching)区别与应用示例 9. 简述Java正则表达式POSIX 字符类(仅 US-ASC…

docker安装prometheus、grafana监控SpringBoot

1. 概述 最新有一个需求, 需要安装一个监控软件,对SpringBoot程序进行监控, 包括机器上cpu, 内存,jvm以及一些日志的统计。 这里需要介绍两款软件: prometheus 和 grafana prometheus: 中文名称, 普罗米…

OpenCV 与 Matplotlib 的结合使用:探索有趣的图像处理与可视化功能

本文将讲述,将 OpenCV 与 Matplotlib 相结合,可以充分利用两者的优势,实现丰富多彩的图像处理和数据可视化功能。本文将介绍几种有趣且实用的结合应用,并通过示例代码展示具体实现方式。在今后的博客中会扩展下面的十个基础实现以…

宝贝甜梦秘籍!康姿百德柔压磁性枕豪华款守护成长每一夜

科学护航童年梦!康姿百德豪华柔压磁性枕,给孩子五星级的睡眠享受 孩子的成长过程中,良好的睡眠环境至关重要。而康姿百德柔压磁性枕(豪华款),凭借其独特的设计和材料,成为了孩子成长过程中不可…

乐凡三防平板高性能为稳定运行保驾护航

随着科技进步的浪潮,三防工业平板电脑在自动化生产、设备监控及数据收集等场景中日益彰显其关键作用。但在特定环境,比如户外探险、紧急救援或电力供应不稳定的场合,维持设备的持续运行成为了一大挑战。因此,开发一款配备可更换电…

运动耳机怎么选购?解密最值得购买的五大品牌!

​到了2024年,开放式耳机已经成为耳机界的大热门。它们的好处是,既能让你听得健康,戴着又舒服,还能一边听歌一边留意周围的声音,这对于喜欢户外活动的人来说,能提高安全意识,是个很好的优势。作…

GaussDB关键技术原理:高弹性(三)

书接上文GaussDB关键技术原理:高弹性(二)从优化器剪枝、执行器两方面对hashbucket进行了解读,本篇将从段页式技术方面继续介绍GaussDB高弹性技术。 3 段页式 3.1 段页式存储 根据前文的介绍,hashbucket需要对文…

数据库审计是什么?主要用在哪些场景呢?

数据库审计是什么?主要用在哪些场景呢? 数据库审计 数据库审计是指对数据库系统中的操作进行记录、监控和分析的过程,用于检查和评估数据库的安全性、合规性和完整性。数据库审计可以为组织提供重要的安全保障和合规性需求的满足。本文将介…

嵌入式24千兆电口+4万兆光口管理型三层交换机RTL9301模块

核心模块概述: 嵌入式RTL9301模块可以支持4口万兆上联24口千兆三层管理型以太网交换机,也就是最多可以提供24个10/100/1000自适应电口、4个10 Gb SFP 端口、1个console口、1个USB串口。 完善的安全控制策略及CPU保护策略(CPU protect policy)提高容错能力&#xff0…

LLM大模型学习:LLM常见问题(思维链部分)

1. 什么是思维链提示? 思维链(Chain-of-thought,CoT),指的是一系列有逻辑关系的思考步骤,形成一个完整的思考过程。人在日常生活中,随时随地都会用思维链来解决问题,比如工作、读书经常用到的思维导图&…

【git】git安装方法

1 Git 的下载 这个就需要去 Git 官网下载对应系统的软件了,下载地址为 git-scm.com或者gitforwindows.org,或者阿里镜像(感谢评论区的星悸迷航同学) 上面的 git-scm 是 Git 的官方,里面有不同系统不同平台的安装包和…

Nhanes数据(复杂调查数据)绘制限制立方样条(rcs)函数svyggrcs1.8尝鲜版发布

临床上,因变量和临床的结局有时候不是线性关系,而回归模型有一个重要的假设就是自变量和因变量呈线性关联,因此非线性关系模型用回归分析来拟合受到限制。因此,一个更好的解决方法是拟合自变量与因变量之间的非线性关系&#xff0…

智慧公厕:城市公共卫生管理的新篇章‌@卓振思众

在快节奏的现代生活中,公共厕所作为城市基础设施的重要组成部分,其使用体验和管理效率直接影响着市民的生活质量与城市形象。随着科技的飞速发展,智慧公厕应运而生,它以一种全新的姿态,为城市公共卫生管理带来了前所未…