专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
广州房产  ·  英伟达押注文远知行,广州打响城市保卫第一枪 ·  9 小时前  
君哥说房  ·  我认为这是番禺最好的豪宅 ·  9 小时前  
君哥说房  ·  我认为这是番禺最好的豪宅 ·  9 小时前  
财宝宝  ·  灰姑娘不喜欢浪漫。 ... ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

NeRF 和 3D Gaussian Splatting 如何重塑 SLAM:综述

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-09-01 00:06

正文

24年4月来自意大利博洛尼亚大学、Rock Universe AI 中国分公司、ETH和阿姆斯特丹大学的论文“How NeRFs and 3D Gaussian Splatting are Reshaping SLAM: a Survey”。

在过去的二十年中,SLAM领域的研究经历了重大变革,突显了其在实现自主探索未知环境方面的关键作用。这一变革涵盖了从手工方法到深度学习时代,再到最近专注于 NeRF 和 3D 高斯 splatting 表示的发展。本文旨在通过辐射场的最新进展,首次全面概述 SLAM 的进展。它阐明背景、进化路径、固有优势和局限性,并作为强调动态进展和具体挑战的基本参考。


SLAM 的几个关键方面,包括全局一致性、强大的相机跟踪、精确的表面建模、实时性能、未观察区域的准确预测、大场景的可扩展性以及对噪声数据的鲁棒性。多年来,SLAM 方法已得到长足发展,以满足这些特定要求。一开始,手工算法 [2]、[10]、[25]、[26]、[27] 表现出卓越的实时性能和可扩展性。然而,它们在强光、辐射变化和动态/纹理较差的环境中面临挑战,导致性能不尽人意。采用深度学习方法 [3]、[4]、[11]、[28] 等先进技术的结合,对于提高定位和建图的精度和可靠性至关重要。这种整合利用深度神经网络强大的特征提取能力,这种能力在具有挑战性的条件下特别有效。尽管如此,对大量训练数据和准确的真值注释的依赖,限制了它们推广到未见过场景的能力。此外,手工制作特征方法和基于深度学习的方法都遇到了与使用离散表面表示(点/面元云 [29]、[30]、体素哈希 [31]、体素网格 [2]、八叉树 [32])相关的限制,这导致诸如稀疏 3D 建模、有限的空间分辨率和重建失真等挑战。此外,准确估计未观察区域的几何形状,仍然是一个持续的障碍。

受克服现有障碍的需求驱动,并受到最近NeRF [33] 和 3DGS [34] 表示在高保真视图合成中成功的影响,以及建模几何场的学习表示引入 [35-37] ,在[38] 中进行了广泛讨论 - 一场革命正在重塑 SLAM 系统。这些方法利用当代研究的见解,与以前的方法相比具有多种优势,包括连续表面建模、减少内存需求、改进噪声/异常值处理以及增强遮挡或稀疏观测的填洞和场景修复能力。此外,它们还有可能生成更致密、更紧凑的地图,这些地图可以以任意分辨率重建 3D 网格。然而,值得注意的是,在这个早期阶段,每种技术的优势都与特定的挑战和局限性共存。因此,该领域在不断发展,需要不断研究和创新才能取得进一步进展。

如图是SLAM的演化时间表:


辐射场,指描述三维空间内光的行为和分布的表示。 它概括了光如何与表面、材料和周围环境相互作用。 它可以隐式表示,完全编码在神经网络权重内,也可以显式表示,在离散空间结构(如体素网格)内映射光。 显式表示通常提供更快的访问速度,但需要更多内存并具有分辨率限制,而隐式表示提供紧凑的场景编码,可能具有更高的渲染计算需求。 混合方法利用显式存储的局部潜特征和隐式浅层神经网络的组合,使用各种结构,如稀疏体素哈希网格、多分辨率深度致密网格和无序点集等。 如图所示直观地说明了这些表示,它们最近对 SLAM 方法产生了重大影响,主要是结合 NeRF 模型和较新的显式方法(如 3DGS)。

3DGS 由 Kerbl [34] 于 2023 年提出,是一种显式辐射场技术,用于高效、高质量地渲染 3D 场景。与传统的显式体表示(例如体素网格)不同,它提供了一种连续且灵活的表示,用于可微分 3D 高斯形基元的形式对 3D 场景进行建模。这些基元用于参数化辐射场,并可以渲染以产生新视图。此外,与依赖于体射线采样的 NeRF 相比,3DGS 通过基于块 (tile) 的光栅化器实现实时渲染。如图突显了这一概念上的差异。


这种方法提供了更好的视觉质量和更快的训练,无需依赖神经组件,同时还避免了在空的空间中进行计算。 更具体地说,从具有已知相机姿势的多视图图像开始,3DGS 学习一组 3D 高斯函数 G = {g1, g2, ..., gN},其中 N 表示场景中的高斯函数数量。 每个图元 gi(1 < i < N)都由完整的 3D 协方差矩阵、位置的平均值或中心、模糊度和颜色参数化,这些参数由球面谐波 (SH) 表示,实现与视图相关的外观,其中所有属性都是可学习的,并通过反向传播(BP)进行优化。 这允许将单个高斯图元的空间影响紧凑地表达为:


这里,空间协方差 Σ 定义了一个椭圆体,它被计算为 Σ = RSS^⊤R^⊤,其中 S 是空间尺度,R 表示旋转,由四元数参数化。 对于渲染,3DGS 的操作类似于 NeRF,但在混合系数的计算上存在显著差异。 具体而言,该过程首先涉及将 3D 高斯点投影到 2D 图像平面上,该过程通常称为 “splatting”。 这是将投影的 2D 协方差矩阵和中心表示为 Σ′ = JWΣW^TJ^T 和 μ′ = JWμ 来完成的,其中 W 表示视图变换,J 是射影变换仿射近似的雅可比矩阵。

因此,3DGS 混合在给定像素处重叠的 3D 高斯 splats,按其深度排序,计算最终的像素颜色 C:


其中最终的模糊度 αi 是学习的模糊 oi 与高斯的乘积结果:


其中 x′ 和 μ′i 是投影空间中的坐标。 类似地,深度 D 渲染为:


这里,di 表示第 i 个 3D 高斯中心的深度,通过投影到相机坐标系的 z 轴获得。 对于优化,该过程从运动恢复结构(SfM)的点云或随机的参数初始化开始,然后使用 L1 和 D-SSIM 损失函数针对真值和渲染视图进行随机梯度下降 (SGD)。 此外,周期性自适应致密化,调整具有显着梯度的点,并移除低模糊度点来处理重建不足和过度重建问题,从而细化场景表示并减少渲染错误。


下表提供了综述方法的详细概述。此表提供深入的摘要,重点介绍每种方法的主要功能,并提供对项目页面或源代码的引用(如果有)。

将不同的SLAM方法分为主要的 RGB-D、RGB 和基于激光雷达的框架。在最左边的列中,标识了具有特定属性的方法的子类别。然后,对于每种方法,从最左边的第二列到最右边的第二列报告方法名称和发布地点,后跟 (a) 它们可以处理的输入模态:RGB、RGB-D、D(例如 激光雷达、ToF、Kinect 等)、立体视觉、IMU 或事件摄像头;(b) 制图属性:模型学习的场景编码和几何表示;(c) 该方法学习的额外输出,例如目标/语义分割或不确定性建模(Uncert.);(d) 与采用帧-到-帧或帧-到-模型方法、使用外部跟踪器、全局集束调整 (BA) 或闭环相关的跟踪属性;(e) 高级设计策略,例如建模子地图或处理动态环境 (Dyn. Env.);(f) 使用额外的先验。最后,在最右边的列中报告项目页面或源代码的链接。† 表示代码尚未发布。

RGB-D 图像

基于 3D Gaussian Splatting 的显式体表示开发 SLAM 解决方案。这些方法通常利用 3DGS 的优势,例如与其他现有场景表示相比,渲染速度更快、更逼真。它们还提供了灵活性,可以通过添加更多高斯基元来增加地图容量,完全利用每像素的密集光度损失,以及直接参数梯度流来促进快速优化。到目前为止,3DGS 表示主要用于离线系统,专用于从已知相机姿势合成新视图。

GSSLAM [109]。这项工作利用 3D 高斯作为表示,并结合 splatting 渲染技术,引入了范式转变。具体而言,该系统采用 3DGS 作为其唯一表示,使用单个移动 RGB 或 RGB-D 相机进行在线 3D 重建。该框架包括几个关键组件,如跟踪和相机姿态优化、高斯形状验证和正则化、制图和关键帧以及资源分配和修剪。跟踪阶段采用针对 3D 高斯的直接优化方案,为相机姿态估计提供快速而鲁棒的跟踪能力和宽广的收敛盆地。同时,引入几何验证和正则化技术来处理增量 3D 密集重建中的模糊性,并提出一种高斯形状正则化来确保几何一致性。对于制图和关键帧,GSSLAM 集成了高效在线优化和关键帧管理技术,包括根据帧间共视性选择和维护一小段关键帧窗口。此外,还使用资源分配和修剪方法来消除不稳定的高斯分布并避免模型中出现伪影。

Photo-SLAM [110]。这项工作将显式几何特征和隐式纹理表示集成到超基元地图中。该方法结合了 ORB 特征 [176]、旋转、缩放、密度和球面谐波系数,优化相机姿势和地图精度,同时最大限度地减少光度损失。值得注意的是,Photo-SLAM 采用多线程架构,包含用于定位、制图、真实感渲染和闭环的模块。这种设计有助于高效因子图求解、稀疏 3D 点生成和超基元的渐进优化。一个关键特性在于利用 3DGS [34] 从超基元地图进行图像渲染。利用基于几何的致密化和基于高斯金字塔的学习等先进技术,该框架实现了高质量渲染、提高制图精度和实时可操作性。本文使用多种相机设置评估 Photo-SLAM,包括立体视觉、单目和 RGB-D。

SplaTAM [112]。该方法将场景表示为一组简化的 3D 高斯函数,从而实现高质量的彩色和深度图像渲染。SLAM 流程包含几个关键步骤。1)相机跟踪:最小化重渲染错误以进行精确的相机姿势估计,专注于可见轮廓像素并在结构良好的地图区域内进行优化。2)高斯致密化:根据渲染的轮廓和深度信息添加新的高斯函数,仅在需要准确性的地方增强场景表示。3)地图更新:跨帧细化高斯参数,最小化 RGB 和深度错误,同时优化有影响的帧以更新场景的几何形状。通过采用这种方法,SplaTAM 从根本上重新定义密集 SLAM 实践,在渲染效率、优化速度和空间地图功能方面取得了进步。虽然这项研究取得了显著的进展,但它也承认存在局限性,例如对运动模糊和深度噪声的敏感性。

GS-SLAM [12]。与依赖神经隐式表示的方法相比,GS-SLAM 采用一种新方法,利用 3D 高斯函数以及模糊度和球面谐波来封装场景几何和外观。其关键贡献在于其自适应扩展策略,动态管理 3D 高斯函数的添加或删除,以有效重建观察的场景几何形状,同时提高映射精度。此外,GS-SLAM 引入一种粗到精的相机跟踪技术,通过图像细化和可靠的 3D 高斯选择迭代细化相机姿态估计。接下来是 BA,旨在同时优化相机姿态和 3D 高斯场景表示。尽管 GS-SLAM 具有优势,但它也面临着对高质量深度信息的依赖以及大场景中大量内存使用的限制。

Gaussian-SLAM [113]。该方法可有效地为新探索区域植入新的高斯函数,并将场景组织成独立优化的子图来在线优化它们,从而可扩展到更大的场景。子图根据相机运动进行初始化,并通过考虑关键帧的渲染 alpha 值和颜色梯度将新的高斯函数添加到活动子图中。每个子图的高斯参数,使用光度和几何损失进行联合优化。通过最小化输入和渲染帧之间的光度和几何损失,同时使用软 alpha 和内点掩码,处理遮挡和异常值,可以执行帧-到-模型相机跟踪。

Compact-GSSLAM [114]。所提出的方法引入了一种紧凑的 3DGS SLAM 系统,该系统减少了高斯椭球数和参数大小,解决了现有基于 3D 高斯 SLAM 方法的高内存使用率、存储要求和训练速度慢的问题。采用一种基于滑动窗的在线掩码策略在操作过程中去除多余的高斯椭球,而几何码本利用场景中的相似性来压缩剩余椭球的几何属性(缩放和旋转)。这种紧凑的表示,可以实现更快的渲染速度和高效的内存使用。此外,还采用结合重投影损失的全局集束调整(BA)方法来实现稳健的相机姿态估计。

GS-ICP SLAM [115]。GS-ICP SLAM 方法是一种结合两种技术的 SLAM 系统——广义ICP (G-ICP) [116] 和 3DGS。与以前主要依赖 2D 图像跟踪的方法不同,该方法使用 G-ICP 进行跟踪过程,积极利用 3D 信息。这允许系统直接使用 3D 高斯的地图表示进行跟踪,而无需额外的后处理。一个关键之处,是跟踪和制图组件之间相互共享协方差信息。在 G-ICP 跟踪期间计算的协方差,用于初始化 3DGS 制图,而地图中的 3D 高斯又用作 G-ICP 跟踪的 3D 点及其协方差。这种双向信息交换由尺度对齐(scale alignment)技术促进,最大限度地减少了冗余计算,并实现了高效、高性能的 SLAM 系统。

HF-GS SLAM [117]。基于 3DGS,HF-GS SLAM 引入了两个关键之处。首先,它提出一种以渲染损失为指导的高斯致密化策略,制图未观察区域并细化重观察区域。其次,它在制图过程中结合了正则化参数以缓解遗忘问题。制图涉及通过最小化渲染图像和输入图像之间的损失来优化高斯参数,以及一个正则化项来防止过拟合并保留以前访问过区域的细节。

CG-SLAM [118]。CG-SLAM 使用一种不确定性-觉察 3D 高斯场进行一致、稳定的跟踪和制图。该系统对 EWA(椭圆加权平均)splatting 过程中的相机姿态导数进行数学分析,并开发一个 CUDA 框架来解耦跟踪和制图组件。为了减少过拟合并实现一致的高斯场,CG-SLAM 采用尺度正则化、深度对齐和深度不确定性模型等技术来指导信息丰富的高斯基元选择。该系统使用各种损失函数来更新高斯特性,并通过最小化一个低不确定性基元的重渲染损失,实现高效准确的跟踪。

MM3DGS-SLAM [120]。MM3DGS SLAM 是第一个使用 3D 高斯作为地图表示的视觉惯性 SLAM 框架。该框架从单目相机或 RGB-D 相机、以及惯性测量获取输入。使用结合深度测量和 IMU 预积分的组合跟踪损失,优化相机姿势。关键帧选择,基于图像共可见性和滑动窗口上的 自然图像质量评估器 (NIQE) 指标。新的 3D 高斯,针对具有低模糊度和大深度误差的关键帧进行初始化,其位置使用深度测量或估计进行初始化。制图阶段,根据包括光度渲染质量、结构相似性和深度相关性在内的损失优化 3D 高斯参数。该框架提出解决单目深度估计的尺度模糊性问题,主要方法是求解拟合深度估计与当前地图的一个缩放和位移量。另外还发布了一个多模态数据集 UT-MM,该数据集从配备摄像头和 IMU 的移动机器人收集。

额外提一下,语义RGB-D SLAM的方法: SGS-SLAM [142]、 SemGauss-SLAM [143]和 NEDS-SLAM [144]。

SGS-SLAM 采用 3D 高斯的语义密集 SLAM 系统。为了实现这一点,该框架在制图过程中使用多通道优化来同时集成视觉、几何和语义约束。因此,语义信息以附加颜色通道的形式嵌入到 3D 高斯中,这些通道在与颜色关键帧相对应的 2D 语义分割图上进行优化。在跟踪过程中,假设恒定速度相机运动模型,根据前一个关键帧估计新关键帧的相机姿势,并通过最小化渲染视图和真值图像之间的颜色、深度和语义损失来迭代细化。

SemGauss-SLAM 将语义特征嵌入到 3D 高斯表示中,实现密集语义制图。它将 2D 语义特征直接传播到 3D 高斯初始化,以实现有效的地图优化。除了语义和 RGB/深度损失之外,还引入了特征级损失,提供更高级别的指导。特征级损失是使用 Dinov2 模型 [138] 从图像中提取的特征来计算的,这些特征与 3D 高斯表示中的 splatted feature 进行比较。为了减少漂移,利用 Dinov2 提取的共视帧之间语义一致性约束,对相机姿态和 3D 高斯表示进行语义报告的集束调整(BA)进行联合优化。







请到「今天看啥」查看全文