五边形战士DenseSplat:首个无缝结合NeRF和3DGS的SLAM系统

点击下方卡片,关注“3D视觉之心”公众号

第一时间获取3D视觉干货

>>点击进入→3D视觉之心技术交流群

3DGS对关键帧的依赖

视觉稠密同时定位与建图(SLAM)是三维计算机视觉领域的核心研究方向,主要关注于实时定位相机位置并生成周围环境的高精度地图。该技术在机器人定位与导航、自动驾驶以及虚拟/增强现实(VR/AR)等领域发挥着关键作用。

近年来,基于可微渲染的突破性进展,特别是神经辐射场(NeRF)和三维高斯喷溅(3DGS),显著推动了视觉稠密 SLAM 系统的发展。基于 NeRF 的神经隐式 SLAM 通过将 NeRF 模型与同时跟踪和建图相结合,实现了高质量的在线密集地图重建,并大幅提升了几何精度。在此基础上,高斯 SLAM 系统进一步拓展了研究边界,提供了更高保真的地图重建。3DGS 采用显式高斯原语,具备细节纹理表现力强、可显式操控场景以及卓越的实时渲染能力等优势。

然而,在 SLAM 系统的应用中,3DGS 仍然面临一定挑战。与常见的离线重建不同,SLAM 需要在有限的计算资源下进行在线处理,而 3DGS 依赖于大量关键帧来优化场景的几何和外观。这种依赖性在机器人应用中尤为突出,因为机器人往往只能从稀疏的视角观察场景,导致地图中存在大量空洞。此外,当前高斯 SLAM 系统大多缺乏回环检测和捆绑调整(BA)机制,这可能导致跟踪误差积累并影响长期建图的精度。

7c373d8541a46a1fe10b8c5d7ae3f717.png

本文介绍的DenseSplat[1]是首个结合 NeRF 和 3DGS 优势的 SLAM 系统。DenseSplat 通过利用 NeRF 先验信息来引导高斯原语的初始化,从而在稀疏关键帧条件下生成密集的地图表示,并有效填补未观察到的区域。此外,我们设计了基于几何的原语采样和修剪策略,以优化粒度并提高渲染效率。更进一步,DenseSplat 结合了回环检测和捆绑调整,以提高跟踪鲁棒性并减少漂移误差。

主要贡献

  1. 提出 DenseSplat,这是首个利用 NeRF 先验优化 3DGS 的视觉 SLAM 系统,在稀疏关键帧条件下实现高质量地图重建。

  2. 设计了一种基于几何的高斯原语采样和修剪策略,以优化渲染效率并减少无关原语的影响。

  3. 集成了回环检测和捆绑调整,显著提高了帧间跟踪精度,减少了误差积累。

  4. 在多个大规模数据集上进行实验,结果表明 DenseSplat 在跟踪和建图方面均优于现有的最先进方法。

具体方法

图 2 展示了 DenseSplat 的整体流程。系统以 RGB-D 数据流  作为输入,并通过同时优化相机位姿和神经辐射场  进行跟踪。随后,系统利用从隐式辐射场采样的点来引导高斯原语的初始化,以实现高精度的地图重建和场景插值。为了减少漂移误差,我们在高斯地图上实施了局部回环检测和捆绑调整。最后,介绍了整个建图过程中的损失计算方法以及有效降低系统内存消耗的子地图划分策略。

752129e03de88243df36f9a3de2a187d.png

神经辐射先验

神经辐射渲染基础

NeRF 模型  是一个连续函数,用于预测沿采样光线  的颜色  和体密度 。具体而言,给定相机原点  和光线方向 ,我们在光线方向上均匀采样  个点 (其中 ),然后使用光线行进(ray marching)计算像素颜色 :

其中  表示透射率, 是点  处的透明度, 表示相邻采样点之间的间距。辐射场  由一个带 ReLU 激活函数的 MLP 参数化,并通过梯度下降优化,以最小化光度损失:

其中, 表示来自具有有效深度测量的光线集合的一个批次, 是真实颜色值。

基于 NeRF 的相机跟踪

我们通过优化 NeRF 的目标函数来跟踪每一帧的相机到世界变换矩阵 。相机位姿初始化遵循恒定速度假设:

在此,我们仅利用 NeRF 模型进行逐帧相机跟踪,之后基于精细化的高斯地图进行回环检测和捆绑调整,以纠正累积漂移误差(详见第 III-C 节)。

基于几何的点采样

与需要密集视角优化场景的显式高斯表示不同,基于 NeRF 的模型在插值能力方面表现优异,可以推断出未观测到的几何信息。为了在实时场景中高效利用这一能力,我们采用了多分辨率哈希辐射场,该方法能够在不同分辨率下精确获取体数据,特别是在稀疏采样区域内捕捉详细的表面几何。我们通过设置密度阈值  识别关键的表面过渡区域,并使用以下公式进行插值计算:

其中, 和  为采样网格点, 表示体密度。随后,我们将这些点汇总为点云。这种方法利用 NeRF 的强大插值能力,实现了密集、基于几何的高斯原语初始化,并在后续的建图步骤中进一步优化。

精细化高斯地图

多尺度高斯渲染

通过从 NeRF 模型进行网格采样初始化,我们使用一组各向异性的 3D 高斯原语  来表示场景。每个高斯原语  由均值 、协方差矩阵 、不透明度值 、三阶球谐系数  以及缩放因子  组成。在渲染过程中,这些高斯原语首先投影到 2D 平面上,转换为 2D 高斯。转换过程使用视图矩阵 ,2D 协方差矩阵  计算如下:

其中  是仿射投影的雅可比矩阵。2D 高斯的均值  通过  将  投影到图像平面上。随后,这些投影的高斯按照从近到远的顺序排序,并使用类似于光线行进的 alpha 混合过程进行渲染,最终得到光栅化的像素颜色  和深度值 。

射线引导的高斯修剪

从 NeRF 模型进行采样时,可能会引入误差的高斯浮动原语和异常值,这些都可能影响重建质量。为了减少密集化过程中产生的冗余高斯原语并提高渲染效率,我们实施了基于射线的修剪策略。具体来说,我们使用重要性评估来识别和去除在优化过程中不活跃的高斯原语。每个高斯原语的 重要性 通过它对所有输入图像  上采样光线的贡献来量化。灵感来自于之前的研究,我们通过以下公式对每个原语进行评分:

其中  捕捉了高斯原语  对像素颜色预测的贡献。然后,我们通过以下公式计算修剪掩码:

其中,低于修剪阈值  的原语会从地图中去除。需要注意的是,由 NeRF 模型初始化的高斯原语不参与此修剪过程,以避免去除那些用于桥接遮挡视角的原语,从而保证场景的可管理粒度。

多尺度高斯渲染策略

高斯原语的多尺度渲染策略通过合并较小的高斯原语来提高场景的一致性,尤其在较细粒度的层次中有效。具体来说,我们使用四个不同分辨率的高斯函数进行渲染,分别对应于 1×、4×、16× 和 64× 的降采样分辨率。在训练过程中,我们将较小的细节级别的高斯合并到较大的粗糙级别的高斯中。选择哪些高斯进行合并,是根据像素覆盖范围来确定的,覆盖范围由该区域内的最高频率成分的倒数  来决定,其中  为缩放因子。

通过这种方式,我们能够有效地合并较小的高斯原语,从而避免渲染过程中出现混叠效应,提高地图的质量和一致性。

回环检测和捆绑调整

在捆绑调整(BA)过程中,我们使用词袋(BoW)模型来确定关键帧之间的相关性。一旦检测到回环,就会触发对涉及关键帧的 BA 过程。为了在 BA 之后保持地图的几何和视觉一致性,我们调整渲染颜色  和深度 ,并使用估计的相对位姿变换  对共视关键帧  进行变换。我们构造 BA 损失如下:

高斯地图优化

建图目标函数

在我们的实验中,我们观察到在捆绑调整(BA)过程中,聚合的高斯原语可能会经历尺度膨胀,进而可能在地图中引入伪影。为了缓解这一问题,我们引入了 L2 正则化损失 ,该损失用于对尺度超过阈值  的高斯原语进行惩罚。因此,整体的建图损失定义为:

其中, 和  分别表示输入流的真实颜色和深度。SSIM 损失用于计算渲染图像与真实图像之间的结构相似性。系数 ,, 和  是加权超参数。

子地图划分与融合

在大规模环境中部署 SLAM 系统时,密集建图带来的过度内存消耗是实际应用中的一个关键问题。为了解决这一问题,我们采用了一种简单而有效的子地图划分与融合策略,如算法 1 所示。具体而言,我们将输入帧按每 400 帧为一个间隔进行子地图划分,结构如下:

其中, 表示每个子地图,用于开发 NeRF 模型和后续的高斯地图。尽管显式的高斯表示使得子地图可以无缝地合并为一个全局地图,但直接融合子地图仍然是一个具有挑战性的任务。我们借鉴 Mipsfusion 的思路,在子地图融合过程中使用锚帧捆绑调整(BA)来实现精确对齐,并确保子地图边界的无缝融合。每个子地图的锚定是基于其第一帧的估计位姿进行的。完成 BA 后,我们精确调整每个子地图的中心位姿,以确保准确的重新锚定。

我们的子地图策略通过允许每个子地图的并行构建,显著减少了内存消耗,从而缓解了全局地图持续扩展带来的问题。

实验效果

14220fa10b76da2677aba6c6cd26024a.png e0cd5920d5b05256af62eb9f347d4f50.jpeg b54d7ab66ca59ff0ac988dfa3201401f.png 044b1fa03be9b1ad4edf9649c794e0c1.png c60622c5ae3132a6b4ce71fb5217b585.png 6d46c3e48fd843a4a908f7ccb8eeb4e3.png c8056e6b9827d7a8779801108626cc64.jpeg

总结一下

DenseSplat是首个无缝结合 NeRF 和 3DGS 优势的 视觉稠密 SLAM 系统,用于实现鲁棒的跟踪和建图。DenseSplat 主要针对现实应用中的挑战,例如 遮挡视角、计算硬件限制导致的关键帧稀疏性 等问题。该方法通过 NeRF 先验 提升了高斯原语的插值能力,并优化了在较少关键帧条件下的 SLAM 性能,从而实现了 精细化的场景重建 和 卓越的实时表现。未来研究方向可以包括 在移动端应用中实现该系统,或在 多智能体协作系统 中推广 DenseSplat,并进一步在真实环境中进行实验。

限制性:其场景插值能力依赖于 NeRF,因此继承了 NeRF 的一些限制。当缺失区域过大,且 NeRF 无法有效捕捉几何信息时,我们的方法和 NeRF 一样 难以填补这些空洞,导致部分区域在重建地图中仍然欠缺。此外,由于 DenseSplat 采用 显式高斯原语 进行场景表示,其存储 高保真地图 需要的内存比 NeRF 模型更大(后者采用 隐式神经表示)。尽管 DenseSplat 通过 子地图系统 来减少计算过程中的内存消耗,但仍然存在优化空间,未来的研究可以探索更先进的 子地图管理策略,以在 多智能体系统 中实现更好的扩展性。

参考

[1] DenseSplat: Densifying Gaussian Splatting SLAM with Neural Radiance Prior

本文仅做学术分享,论文汇总于『3D视觉之心知识星球』,欢迎加入交流!

【3D视觉之心】技术交流群

3D视觉之心是面向3D视觉感知方向相关的交流社区,由业内顶尖的3D视觉团队创办!聚焦维重建、Nerf、点云处理、视觉SLAM、激光SLAM、多传感器标定、多传感器融合、深度估计、摄影几何、求职交流等方向。扫码添加小助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

566ef530b641d96742a3d3389640cfe6.jpeg

扫码添加小助理进群

【3D视觉之心】知识星球

3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。

d3d97581f8338d8c43b10e330efab1b3.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值