当前位置: 首页 > news >正文

GS-SLAM论文阅读--High-Fidelity SLAM Using Gaussian Splatting

前言

这篇文章是几个月之前的IROS2024了,之前忘记看了,但是最近看到,觉得有一些值得参考的部分,接下来仔细阅读一下。


我是红色


文章目录

  • 前言
  • 1.背景介绍
  • 2.关键内容
    • 2.1 建图
    • 2.2 跟踪
    • 2.3总体流程
  • 3.文章贡献


1.背景介绍

3DGS的连续建图存在“遗忘”问题,即高斯参数倾向于过拟合最新帧,导致前一帧的重建质量下降。

2.关键内容

2.1 建图

高斯建图致密化:与原始3D高斯飞溅中对所有图像初始化高斯参数不同,我们处理顺序RGBD帧输入。对于具有估计姿态的最新RGBD输入帧,我们需要向地图添加新的高斯,以完成未观察到的区域(complete unobserved regions)或提高先前建图区域的渲染质量(improve the rendering quality of previously mapped regions)。

首先,对于未观测到的区域,我们需要添加新的高斯来填补空洞。我们通过渲染不透明度来判断孔洞。也就是说,当接收到一个新帧时,我们在估计的姿态下渲染不透明度图像。
在这里插入图片描述
在不透明度图像中,如果渲染值低于某个预定义的不透明度阈值 τ o p a τ_{opa} τopa(即O(x, y) < τ o p a τ_{opa} τopa),则需要对相应区域进行致密化以填充孔洞。

其次,由于例如遮挡和照明的变化,渲染的图像通常依赖于视图。此外,优化后的高斯参数可能会陷入局部最小值以适应某些帧。为了解释这种与视图相关的错误,我们提出了一个由渲染误差引导的致密化步骤。在给出估计姿态时,我们渲染该姿态的彩色图像 C ~ \tilde{C} C~和深度图像 D ~ \tilde{D} D~;当前参考颜色图像和深度图像分别为C和D。当渲染图像和输入图像之间的误差较大时,我们添加新的高斯,其中颜色误差和深度误差分别为:
E c o l o r ( x , y ) E_{color}(x, y) Ecolor(x,y) = | C ~ ( x , y ) \tilde{C}(x, y) C~(x,y)−C(x, y)|
E d e p t h ( x , y ) E_{depth}(x, y) Edepth(x,y) = | D ~ ( x , y ) \tilde{D}(x,y) D~(x,y)−D(x, y)|
我们将对那些 E c o l o r ( x , y ) E_{color}(x, y) Ecolor(x,y) > τ c o l o r τ_{color} τcolor E d e p t h ( x , y ) E_{depth}(x, y) Edepth(x,y) > τ d e p t h τ_{depth} τdepth的区域进行密集化,其中 τ c o l o r τ_{color} τcolor τ d e p t h τ_{depth} τdepth是预定义的阈值。在比较 τ d e p t h τ_{depth} τdepth时,我们除以 D ( x , y ) D(x,y) D(x,y)以补偿不同的尺度。

连续性建图:我们通过最小化渲染的颜色和深度图像与输入帧之间的损失来优化高斯参数。
在这里插入图片描述
作为一个连续学习问题,我们工作中的增量建图也存在遗忘问题:在多个相机姿势中可能会“看到”相同的高斯分布,并且高斯参数往往会被优化(过拟合)以适应最新的帧,从而导致前几帧的性能下降(见下图)。
在这里插入图片描述
为了缓解过拟合问题,先前的工作维护了一个关键帧缓冲区,从中选择先前的关键帧(基于与当前帧的重叠比例等标准),然后选择的关键帧与当前帧一起优化。在原始的三维高斯飞溅中,所有帧都被排队并随机挑选,进行多次迭代以优化高斯参数。
当然,当我们优化当前帧时,我们可以选择许多以前的帧;然而,多帧优化导致处理时间较长,不适合在线连续建图。相反,为了防止高斯参数遗忘,我们在建图时增加了一个额外的正则化项 L r e g L_{reg} Lreg
在这里插入图片描述
其中G为当前框架优化中涉及的高斯集; s i t s^t_i sit r i t r^t_i rit z i t z^t_i zit分别为步骤 t 需要优化的尺度、颜色和深度; s i ∗ s^*_i si r i ∗ r^*_i ri z i ∗ z^*_i zi是当前参数值,即步骤 t − 1 t−1 t1之后的值。Ω是不同参数的重要权重。这样,我们只需要保持一个较小的关键帧缓冲区,就可以获得更好的重建质量。

为了计算重要性权重,对于每个高斯分布,我们额外添加以下参数:
在这里插入图片描述
其中 N i s e e n N^{seen}_i Niseen记录了每个高斯的“被看到的次数”; Σ Σ Σ L m a p p i n g L_{mapping} Lmapping相对于参数的梯度之和,表示对变化的敏感性。在每一帧训练之后,我们通过平均建图损失相对于参数的梯度来更新重要性权重。以第i尺度参数 s i s_i si为例,用 N i s e e n N^{seen}_i Niseen帧训练后,其重要权值 Ω i s Ω ^s_i Ωis为:
在这里插入图片描述
建图中使用的最终损失函数为:
在这里插入图片描述

2.2 跟踪

我们以类似于iNeRF的渲染和比较方式对每个输入帧进行摄像机跟踪。相机姿态由T = (T, q)参数化,包括3D平移T和旋转四元数q。在跟踪新帧时,我们初始化相机姿态,假设相机速度恒定。由于彩色图像会受到光线的影响,我们在跟踪过程中将亮度与图像解耦,。具体来说,设ρ表示将图像从RGB空间转换为LAB空间的操作,在比较两幅图像时,我们放弃光通道(L通道)。
在这里插入图片描述

2.3总体流程

给定RGBD帧和估计的相机姿势,我们通过比较渲染图像和地面真相来更新地图,以识别未观察到的区域和需要改进的区域。正则化项被纳入到优化过程中,以减轻建图过程中的遗忘问题节)。我们通过最小化颜色和深度重渲染损失来跟踪高斯图中的相机姿态。
在这里插入图片描述

3.文章贡献

  1. 引入了一种基于渲染的新型致密化策略。我们直接利用渲染损失对地图进行密度化,使我们能够有效地绘制未观测区域,并提高重新观测区域的渲染质量。
  2. 建图过程中的正则化优化。为了缓解遗忘问题,引入了额外的参数来监督学习过程,我们的实验表明,我们的方法可以保持先前访问区域的渲染质量。

http://www.mrgr.cn/news/65614.html

相关文章:

  • hunyuan-DiT模型部署指南
  • 深度学习相关资料
  • 云原生周刊:微服务架构 2025 年的发展趋势丨2024.11.04
  • SystemC简明教程
  • openEuler 系统中 Samba 文件共享服务器管理(windows、linux文件共享操作方法)
  • 跳表原理笔记
  • DoubletFinder报错小结
  • 人工智能----Ai普及---手机App
  • 8、raid磁盘阵列
  • C++线程池
  • sklearn红酒数据集分类器的构建和评估
  • 图说复变函数论重大错误:将无穷多各异平面误为同一面
  • 智慧医疗——提出了一种基于敌对领域适应症预测候选抗癌药物的方法
  • 江协科技STM32学习- P35 硬件I2C读写MPU6050
  • 信息安全工程师(74)网络安全风险评估技术方法与工具
  • 633. 平方数之和 中等
  • 总结拓展十五:SAP物料分割评估
  • MATLAB绘图基础10:MATLAB极坐标相关图形
  • NRF52832学习笔记(41)——添加串口库libuarte
  • 【ACM出版,EI稳定检索】2024年人工智能、数字媒体技术与交互设计国际学术会议(ICADI 2024,11月29-12月1日)
  • clickhouse配置用户角色与权限
  • VScode插件:前端每日一题
  • 西门子1200PLC输入/输出的源漏型解释
  • gozero--环境安装和api语法
  • Dify 中的 Bearer Token 与 API-Key 鉴权方式
  • flutter 专题七 Flutter面试之渲染流程