基于高斯的稠密视觉SLAM研究

描述

基于高斯的场景表示在新视角下会出现几何失真,这大大降低了基于高斯的跟踪方法的准确性。这些几何不一致主要源于高斯基元的深度建模以及在深度融合过程中表面之间的相互干扰。为了解决这些问题,我们提出了一种基于二维高斯的增量重建策略,并结合了表面感知深度渲染机制,这显著提高了几何精度和多视角一致性。此外,所提出的局部地图设计在跟踪过程中动态隔离可见表面,减轻了全局地图中被遮挡区域引起的错位,同时随着高斯密度的增加保持了计算效率。

• 文章:

GauS-SLAM: Dense RGB-D SLAM with Gaussian Surfels

• 作者:

Yongxin Su, Lin Chen, Kaiting Zhang, Zhongliang Zhao, Chenfeng Hou, Ziping Yu*

• 论文链接:

https://arxiv.org/abs/2505.01934

• 编译:

INDEMIND

01本文核心内容

SLAM

在过去的十年里,稠密视觉SLAM一直是计算机视觉领域的一个基础研究方向。近期在地图表示方面的进展越来越多地聚焦于将神经模型与传统3D特征(如点、体素和表面元素)相结合,从而实现更灵活和精确的地图构建。尽管有这些创新,当前的方法在诸如姿态优化、收敛困难以及持续学习过程中的灾难性遗忘等方面仍面临重大挑战。

基于三维高斯泼溅(3D Gaussian Splatting, 3DGS) 的显式表示方法在三维重建和稠密SLAM任务中展现了潜力。

过去的研究提出了基于高斯模型的跟踪和建图流程。然而,这些基于高斯的跟踪方法常常会因姿态估计不准确和收敛问题而受到影响。相比之下,一些研究通过将跟踪与高斯模型分离,并利用成熟的里程计方法来解决这些问题。尽管这种分离式设计提高了实时性能,但它本质上缺乏耦合系统所能提供的重建与定位之间的相互强化。

在本文中,我们重点关注在基于高斯的耦合SLAM框架中遇到的两个关键挑战,如图2所示。

SLAM

几何失真问题

在大多数基于高斯的跟踪方法中,相机变换是通过将观测结果与当前视角的渲染结果对齐来估计的。在此过程中,透视引起的几何失真会导致帧与高斯模型之间的错位,从而降低跟踪精度。

问题原因在于。首先,基于高斯的深度表示模型存在固有的不一致性,其中中心深度模型三维高斯基元的多视图深度估计不一致(如图2(a1)所示),而二维高斯曲面元素通过相交深度模型有效解决了这种不一致性。第二个原因源于不同表面在深度融合过程中的相互干扰。如图2(a2)所示,在重建椅子靠背时,远处深度较大的地板导致深度融合效果不佳。为解决深度融合的模糊性,我们提出了一种基于高斯曲面元素的增量重建策略,并结合表面感知深度渲染方案,显著提高了高斯场景的几何精度和视图一致性。

帧与高斯模型对齐过程中的异常值剔除

正如SplaTAM所展示的,异常值消除至关重要,他们的方法通过遮蔽累积不透明度低的区域来实现。然而,如图2(b)所示,累积不透明度高的干扰区域仍然难以遮蔽,尤其是在相机围绕物体移动时。我们的方法限制了相机的移动范围通过跟踪到一张小的局部地图,从而将这些干扰区域与全局地图隔离开来。此外,通过定期重置局部地图,我们确保相机跟踪始终在高斯原语的子集内运行,避免随着高斯数量的增加而导致跟踪效率下降。

为此,我们提出了GauS-SLAM,这是一种稠密SLAM系统,它在紧密耦合的前端/后端框架中利用二维高斯基元和局部地图架构,成功解决了多视角几何失真与异常值干扰难题,在RGB-D数据集上实现了优异的定位精度和视图合成质量。

02方法架构

GauS-SLAM概述。该框架由前端和后端组成,前端使用单个局部地图进行跟踪和建图,后端负责将局部地图合并到全局地图中,并进行基于子地图的全局优化。

SLAM

前端

在前端,所有的优化过程都在本地地图中进行。本地地图的第一帧作为参考关键帧(RKF)。在处理新帧时,前端首先执行相机跟踪以估计其相对于RKF的位姿。然后根据新观测到的场景比例是否超过预定义阈值,用来评估该帧是否符合关键帧(KF)的条件。增量式地图构建在KF上进行。如果本地地图中的高斯基元数量超过指定阈值,前端将帧和本地高斯地图发送到后端,并重新初始化一个新的本地地图以继续跟踪和构建地图。此时,当前帧在新的本地地图中被标记为新的RKF。

后端

系统的后端主要负责合并本地地图并优化全局地图。在接收到本地地图后,后端将本地地图中的帧作为子地图存储在数据库中,并将本地高斯地图整合到全局地图中。具体来说,首先将本地地图中的高斯基元的不透明度重置为0.01,然后根据其RKF位姿添加到全局地图中。随后,当前子地图及其共视子地图将被共同选中用于本地映射。为了确定子地图之间的共视性,我们使用NetVLAD从每个子地图的第一帧和最后一帧中提取的视觉特征。映射过程完成后,不透明度低于0.05的高斯基元将被修剪。这一步有效地消除了本地地图和全局地图之间的重叠部分,从而防止了高斯基元的持续累积。

为了减少轨迹误差的累积,将应用束调整(BA)来优化共视子地图中涉及的的位姿及全局地图。在BA过程中,帧将从共视子地图中随机选取,并通过最小化以下公式来进行优化。

SLAM

当后端不繁忙时,会从数据库中的子地图中随机选择一帧来优化全局地图,我们将其称为随机优化。这一过程有效地缓解了遗忘问题,并增强了高斯场景的全局一致性。在前端和后端完成重建后,随机优化会继续运行一段时间以减少漂浮的高斯,确保全局地图得到均匀优化。我们将此过程称为最终细化,实验表明这显著提高了渲染质量。

03实验结果

与SOTA基线的比较

1.跟踪性能

在四个数据集上所选序列的跟踪性能比较分别在表1和表2中给出。我们提出的GauS-SLAM实现了毫米级定位精度,在Replica和ScanNet++数据集上建立了新的SOTA性能。具体而言,在Replica数据集上,我们的方法表现出色,ATE-RMSE为0.06厘米,比之前的SOTA方法GSICP提高了62.5%,比我们的基线SplaTAM提升了83%。尽管在TUM RGB-D和ScanNet数据集中存在曝光变化和运动模糊等挑战因素,GauS-SLAM仍保持了竞争力。值得注意的是,在ScanNet的某些序列中,它甚至超过了具有闭环校正的SLAM方法。

SLAM

2.渲染和重建性能

在表1展示了GauS-SLAM在Replica数据集上的渲染和重建性能。尽管2DGS的渲染质量已被实验证明不如3DGS,但GauS-SLAM却超越了大多数基于3D高斯的方法。值得注意的是,它在峰值信噪比(PSNR)上比我们的基线算法SplaTAM高出6分贝。这一改进归功于我们新颖的基于局部地图的设计,这使得高斯基元的初始化更加准确。更详细的比较见图4。通过采用表面感知深度渲染方法,我们的方法在深度L1和F1分数方面均优于其他基于高斯的算法。值得注意的是,各向同性高斯基元往往会产生不均匀的网格表面,如图5所示,而2D高斯点则能产生明显更平滑的结果。

SLAM

SLAM

3.几何一致性

为了评估渲染方法的几何一致性,我们设计了以下实验。首先,我们在ReplicaRoom0数据集的前四帧上使用真实姿态对模型进行完全训练。然后,我们计算前60个视角下渲染深度图的平均L1误差,将其作为几何一致性评估的指标,该指标用于消融研究。我们在图6中展示了第40帧和第55帧的误差图。虽然2DGS展示了更高的视图一致性,但在物体边界区域也观察到了显著的深度误差。这种现象的发生是因为来自不同表面的深度值共同影响最终的渲染深度。我们提出的表面感知深度渲染策略有效地减轻了被遮挡表面对渲染结果的影响,从而增强了几何一致性。

SLAM

4.运行时间比较

表3展示了GauS在Room0序列(分辨率为1200×680)上跟踪和建图过程的平均每帧时间。与我们的基线SplaTAM相比,GauS-SLAM我们不仅在渲染质量和跟踪精度方面取得了显著改进,而且在时间效率上提高了三倍多。具体而言,我们开发了一个更高效的模型GauS-SLAM-S,将跟踪迭代次数从40次减少到25次,并减少了建图次数。迭代次数从40次减少到30次,同时将关键帧阈值降低至5%。

SLAM

04总结

在本文中,我们探讨了高斯表示法中相机跟踪的两个关键挑战:多视图场景中的几何失真以及帧对模型对齐过程中的异常值剔除。为了解决这些问题,我们基于2DGS提出了一种表面感知深度渲染策略,并设计了一个融合关键帧和局部地图的SLAM系统。我们的实验结果表明,所提出的GauS-SLAM在四个基准数据集上的跟踪和渲染性能均优于基线方法。特别是在Replica和ScanNet++数据集上,它实现了最先进的跟踪性能,突显了2D高斯在相机跟踪任务中的有效性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分