点击下方
卡片
,关注“
3D视觉之心
”公众号
>>
点击进入→
3D视觉之心技术交流群
3DGS对关键帧的依赖
视觉稠密同时定位与建图(SLAM)是三维计算机视觉领域的核心研究方向,主要关注于实时定位相机位置并生成周围环境的高精度地图。该技术在机器人定位与导航、自动驾驶以及虚拟/增强现实(VR/AR)等领域发挥着关键作用。
近年来,基于可微渲染的突破性进展,特别是神经辐射场(NeRF)和三维高斯喷溅(3DGS),显著推动了视觉稠密 SLAM 系统的发展。基于 NeRF 的神经隐式 SLAM 通过将 NeRF 模型与同时跟踪和建图相结合,实现了高质量的在线密集地图重建,并大幅提升了几何精度。在此基础上,高斯 SLAM 系统进一步拓展了研究边界,提供了更高保真的地图重建。3DGS 采用显式高斯原语,具备细节纹理表现力强、可显式操控场景以及卓越的实时渲染能力等优势。
然而,在 SLAM 系统的应用中,3DGS 仍然面临一定挑战。与常见的离线重建不同,SLAM 需要在有限的计算资源下进行在线处理,而 3DGS 依赖于大量关键帧来优化场景的几何和外观。这种依赖性在机器人应用中尤为突出,因为机器人往往只能从稀疏的视角观察场景,导致地图中存在大量空洞。此外,当前高斯 SLAM 系统大多缺乏回环检测和捆绑调整(BA)机制,这可能导致跟踪误差积累并影响长期建图的精度。
本文介绍的
DenseSplat[1]是首个结合 NeRF 和 3DGS 优势的 SLAM 系统
。DenseSplat 通过利用 NeRF 先验信息来引导高斯原语的初始化,从而在稀疏关键帧条件下生成密集的地图表示,并有效填补未观察到的区域。此外,我们设计了基于几何的原语采样和修剪策略,以优化粒度并提高渲染效率。更进一步,DenseSplat 结合了回环检测和捆绑调整,以提高跟踪鲁棒性并减少漂移误差。
主要贡献
:
提出 DenseSplat,这是首个利用 NeRF 先验优化 3DGS 的视觉 SLAM 系统,在稀疏关键帧条件下实现高质量地图重建。
设计了一种基于几何的高斯原语采样和修剪策略,以优化渲染效率并减少无关原语的影响。
集成了回环检测和捆绑调整,显著提高了帧间跟踪精度,减少了误差积累。
在多个大规模数据集上进行实验,结果表明 DenseSplat 在跟踪和建图方面均优于现有的最先进方法。
具体方法
图 2 展示了 DenseSplat 的整体流程。系统以 RGB-D 数据流
作为输入,并通过同时优化相机位姿和神经辐射场
进行跟踪。随后,系统利用从隐式辐射场采样的点来引导高斯原语的初始化,以实现高精度的地图重建和场景插值。为了减少漂移误差,我们在高斯地图上实施了局部回环检测和捆绑调整。最后,介绍了整个建图过程中的损失计算方法以及有效降低系统内存消耗的子地图划分策略。
神经辐射先验
神经辐射渲染基础
NeRF 模型
是一个连续函数,用于预测沿采样光线
的颜色
和体密度
。具体而言,给定相机原点
和光线方向
,我们在光线方向上均匀采样
个点
(其中
),然后使用光线行进(ray marching)计算像素颜色
:
其中
表示透射率,
是点
处的透明度,
表示相邻采样点之间的间距。辐射场
由一个带 ReLU 激活函数的 MLP 参数化,并通过梯度下降优化,以最小化光度损失:
其中,
表示来自具有有效深度测量的光线集合的一个批次,
是真实颜色值。
基于 NeRF 的相机跟踪
我们通过优化 NeRF 的目标函数来跟踪每一帧的相机到世界变换矩阵
。相机位姿初始化遵循恒定速度假设:
在此,我们仅利用 NeRF 模型进行逐帧相机跟踪,之后基于精细化的高斯地图进行回环检测和捆绑调整,以纠正累积漂移误差(详见第 III-C 节)。
基于几何的点采样
与需要密集视角优化场景的显式高斯表示不同,基于 NeRF 的模型在插值能力方面表现优异,可以推断出未观测到的几何信息。为了在实时场景中高效利用这一能力,我们采用了多分辨率哈希辐射场,该方法能够在不同分辨率下精确获取体数据,特别是在稀疏采样区域内捕捉详细的表面几何。我们通过设置密度阈值
识别关键的表面过渡区域,并使用以下公式进行插值计算:
其中,
和
为采样网格点,
表示体密度。随后,我们将这些点汇总为点云。这种方法利用 NeRF 的强大插值能力,实现了密集、基于几何的高斯原语初始化,并在后续的建图步骤中进一步优化。
精细化高斯地图
多尺度高斯渲染
通过从 NeRF 模型进行网格采样初始化,我们使用一组各向异性的 3D 高斯原语
来表示场景。每个高斯原语
由均值
、协方差矩阵
、不透明度值
、三阶球谐系数
以及缩放因子
组成。在渲染过程中,这些高斯原语首先投影到 2D 平面上,转换为 2D 高斯。转换过程使用视图矩阵
,2D 协方差矩阵
计算如下:
其中
是仿射投影的雅可比矩阵。2D 高斯的均值
通过
将
投影到图像平面上。随后,这些投影的高斯按照从近到远的顺序排序,并使用类似于光线行进的 alpha 混合过程进行渲染,最终得到光栅化的像素颜色
和深度值
。
射线引导的高斯修剪
从 NeRF 模型进行采样时,可能会引入误差的高斯浮动原语和异常值,这些都可能影响重建质量。为了减少密集化过程中产生的冗余高斯原语并提高渲染效率,我们实施了基于射线的修剪策略。具体来说,我们使用重要性评估来识别和去除在优化过程中不活跃的高斯原语。每个高斯原语的
重要性
通过它对所有输入图像
上采样光线的贡献来量化。灵感来自于之前的研究,我们通过以下公式对每个原语进行评分: