社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

综述论文丨基于深度学习的图像深度感知SLAM综述

新机器视觉 • 6 月前 • 235 次点击  


基于深度学习的图像深度感知SLAM综述

渠海榕,杨钊龙,张海,任章

(北京航空航天大学自动化科学与电气工程学院,北京100191)


摘要同步定位与地图构建(SLAM)技术在精度和建图方面取得了显著进展,并在家用机器人和自动驾驶等领域得到广泛应用。随着深度学习和神经网络的快速发展,现阶段的神经网络已经具备从大量数据中学习普适规律的能力,而且神经网络还能作为一种新型三维表示方法。基于此,将深度学习与SLAM技术进行结合的方法成为研究热点。概述了SLAM技术与基于深度学习的图像深度感知技术结合的最新进展,对最新的方法进行了总结并提出了一种可行的框架来构建SLAM系统,其中的深度感知技术包括深度估计网络,神经辐射场(Neural Radiance Field,NeRF)和三维高斯喷溅技术(3D Gaussian Splatting,3DGS)。详细分析了这三种深度感知技术之间的联系以及它们在SLAM中的潜在应用,为SLAM的未来发展提供一个新的视角,为进一步的研究提供参考。

关键词:同时定位与地图构建;深度学习;图像深度估计;里程计;智能定位技术;神经辐射场;三维高斯喷溅




0

引言


同时定位与地图构建(Simultaneous Localization and Mapping, SLAM)技术是机器人自主导航中的关键技术之一。SLAM技术在计算机视觉和机器人学中扮演着关键角色,它使机器能够在未知环境中进行自主导航和构建地图。随着机器人、计算机视觉、传感器技术以及人工智能的快速发展,SLAM技术在各种领域中的应用需求日益增长。SLAM技术的核心在于在未知环境中,机器人能够实时构建环境地图的同时,准确确定自身在地图中的位置。该技术广泛应用于无人驾驶汽车、无人机、移动机器人、增强现实(AR)和虚拟现实(VR)等领域。随着人工智能和传感器技术的快速发展,SLAM技术的研究不断取得新的突破,具有重要的理论意义和实际应用价值。
SLAM技术的起源可以追溯到20世纪90年代初期,当时的研究主要集中在通过扩展卡尔曼滤波器(EKF-SLAM)来解决机器人在未知环境中的定位和地图构建问题。EKF-SLAM利用卡尔曼滤波器对机器人位置和环境特征进行联合估计,这一方法虽然提供了理论框架,但由于计算复杂度高和精度限制,其应用范围相对有限。
2000年代初,SLAM技术迎来了重要的发展,其中包括视觉SLAM的崛起。视觉SLAM利用相机捕获的图像数据来实现环境的建图和机器人定位。ORB-SLAM[1]是这一时期的重要进展之一,它通过特征点匹配实现了高效的实时SLAM。ORB-SLAM的成功不仅提高了视觉SLAM的准确性和实时性,也推动了相关技术的广泛应用。随后,Mur-Artal等人(2017)改进了该系 统,推出了ORB-SLAM2,支持单目、立体和RGB-D相机 。

与此同时,激光SLAM技术的出现进一步丰富了SLAM的应用场景。激光SLAM系统如Cartographer[2]利用激光雷达提供的高分辨率距离信息,显著提高了地图构建的精度和效率。激光SLAM在处理大型和复杂环境时表现出色,特别适用于无人驾驶汽车和仓储机器人等需要高精度定位的应用场景。

随着计算能力和算法的发展,SLAM技术在21世纪第二个十年进入了新的阶段。深度学习的迅猛发展为SLAM技术带来了新的机遇。深度学习在图像处理和特征提取方面展现出显著优势,使SLAM系统在复杂和动态环境中能够取得更好的性能。深度学习技术通过深度神经网络对图像进行深度估计,形成了直接深度估计网络;同时,也有研究将深度网络融入SLAM系统的多个模块,形成了间接深度估计网络,以实现更全面的优化。
最近,神经辐射场(NeRF[3])和3D高斯溅射(3D Gaussian Splatting[4])等新兴技术在SLAM中得到了广泛关注。这些技术通过优化位姿实现实时稠密建图,显著提高了定位精度和地图细节。神经辐射场通过学习场景的三维表示,能够生成高质量的稠密地图;而3D高斯分布则利用高斯分布的特性来进行高效的图像特征提取和匹配。这些进展不仅提升了SLAM系统在动态环境中的表现,也为其在复杂场景的应用提供了新的可能性。
现如今的SLAM技术朝着三个方向不断发展,第一个是实时性和精度:视觉SLAM和激光雷达SLAM在实时性和精度上不断提升,但在动态环境中依然面临挑战。第二个是鲁棒性和稳定性:深度学习的引入和多传感器融合技术的应用,提高了SLAM系统的鲁棒性和稳定性,但在极端环境下的性能仍需进一步验证。第三个是不同下游任务的需求对建图提出了不同的要求,例如需要避障或者按照视觉线索去进行导航[5]
本文将详细分析SLAM技术的发展历程,并重点探讨深度感知与SLAM结合的最新进展。本文将从两个主要方面进行综述:首先是深度感知对SLAM的跟踪部分的精度的提升;其次是深度感知在建图层面的改变。通过对现有方法的分析,本文将总结其优势和挑战,并探讨未来的发展方向。希望本文能够为SLAM技术的进一步研究和实际应用提供新的理论支持和技术指导。


1

深度感知方法与SLAM总述

首先说明NeRF、3DGS、三维场景重建和深度估计之间的联系:
如图1所示,NeRF和3DGS都可以视作三维重建的方法,其中NeRF于2020年被提出,意为神经辐射场,是一种可微的、自动生成的且连续的三维隐式表达方式,最初用于解决新视角合成的任务;3DGS于2023年被提出,意为三维高斯喷溅,是一种显式的三维表达方式,可以直接生成显式的场景的三维结构。有了三维重建的场景,也可以得到NeRF和3DGS的表示方法,即图1中的关系①和③。
深度估计,即对一张单目RGB图像的每一个像素的深度进行估计,得到深度图,深度图可以分为相对深度和绝对深度,经过训练的绝对深度网络往往只在训练场景下泛化[6],而得到相对深度的网络泛化性更强。 高质量的深度估计对于虚拟遮挡、路径规划和物体规避效果均非常有效,现有离线的方法可以获取每帧的深度,但是不适用于交互式应用,已经有研究[7]在假设短期或长期的场景几何快照是获取高质量深度的信息来源的前提下,通过引入截断符号距离函数(TSDF)来维护3D几何的低成本全局表示,用网络去提取这种几何提示,输入给深度估计器来获取实时绝对深度。即一个先验的场景有利于提高深度获取的效果和实时性,对应图1中的②。
图片

图1 NeRF,3DGS和深度估计与导航定位关系图

如图2所示, NeRF的输入是多视角的二维图像及其对应的相机位姿,输出是一个隐式的3D场景表示,通过一个神经网络来预测每个点的颜色和密度,从而实现高质量的新视角合成。因此对其体密度场进行渲染可以得到新视角下的深度图,也可以根据真实的深度对NeRF添加深度损失,进而更好地优化NeRF[8],即图1中的④。但是由于数据噪声等影响,渲染的图像会出现漂浮物,这些漂浮物可被视作空间密度的噪声集群,目前已经有研究[9][10]对这方面进行改进。针对NeRF训练和渲染速度较慢的问题,已有许多研究[11][14]加速NeRF,但仍难以找到一种能够在消费级GPU上快速训练(≤1小时)并在普通设备(如手机和笔记本电脑)上以约30 FPS的交互帧率渲染3D场景的稳健方法。因此,通过NeRF可以得到某个场景下的深度图,是一种具有深度感知能力的技术。

图片

图2 NeRF流程图,来自NeRF论文

相比之下,如图3所示,3DGS的输入也是多视角的二维图像及其相机位姿,但输出的是一组高斯椭球体,这些椭球体的属性(位置、旋转、缩放及透明度等)通过优化来直接渲染逼真的3D场景。如果有真实的深度图,可以指导初始的椭球体的生成,即图1的⑤。3DGS 提供的显式几何表示使得在不同视点之间灵活重投影,以缓解视点之间的错位,从而比基于NeRF的方法获得更好的重建效果。3DGS的实时渲染特性也使得基于神经网络的SLAM方法更具应用性,因为前者在时间需求上比基于NeRF的方法更少。
图片

图3 3DGS优化流程图,来自3DGS原论文

SLAM包含跟踪和建图两个部分,由于传统的基于特征点法或者直接法建立的地图更多的是点云地图,用来进行回环检测以及后端优化,而建立出的点云地图对于后续任务的指导有限,因此,经典的SLAM算法更侧重于跟踪,通过各种约束来提升跟踪精度,而对建图效果的要求相对较低。将NeRF和3DGS与SLAM相结合的研究展示了新型地图表示方式,提供了更优的建图效果。然而,目前提出的融合方法在精度上并未显著超越经典SLAM算法。因此,本文之后的章节将详细地讲解深度网络在SLAM跟踪部分的改进,以及NeRF和3DGS应用在跟踪部分整体框架的改变以及对建图层面的改进。


2

单目图像深度估计与SLAM

2.1单目图像深度估计的深度学习方法评估指标

1)单目图像深度估计深度学习方法分类

传统的深度估计方法依赖于各种假设、限制以及优化算法来提供密集的深度估计。然而,基于传感器的方法,如利用RGB-D相机或激光雷达,面临着测量范围有限、对室外照明条件敏感、标定要求高和高能耗等问题[15]在高度复杂的深度计算任务中,与之相比,深度学习方法将深度计算问题转化为一个学习问题,对每个像素的深度值进行回归,在单目图像的密集深度估计方面取得了显著进展。具体的进步路线是由一开始的对卷积神经网络的改进,到后来生成式方法的应用,伴随着一些图像增强、语义识别以及时序分析的新方法的产生和应用。单目图像深度估计的深度学习方法可以根据其学习范式分为监督学习、自监督学习和半监督学习。
监督学习方法依赖于标注的训练数据,其中训练图像的每个像素都包含深度标注。这使得网络能够学习输入图像与其对应的每像素深度值之间的映射关系。监督学习方法的优点在于,当在标注丰富的数据集上训练时,能够实现高精度。然而,大规模的像素级深度标注数据集的制作既耗时又昂贵[16]
自监督学习方法利用未标记数据中固有的结构和信息来学习深度估计。这些方法通过利用已知相机位姿或场景几何形状的图像对或图像序列来生成训练信号。通过将任务表述为重建问题或相对深度排序问题,自监督学习方法能够在没有明确深度标注的情况下学习深度的估计。这种方法减轻了对大量手动标注数据的需求,但仍然需要仔细的数据选择。例如,在选择相机位姿时,可优先考虑相互间隔较小且视角变化适中的图像对,以有效捕捉场景结构信息;而相机位姿变化过大的图像对则可能引入噪声,导致重建困难。
半监督学习方法旨在平衡监督学习和自监督学习方法的优点。它们在训练过程中结合了标记数据和未标记数据。通过利用少量标记数据和大量未标记数据,半监督学习方法可以实现有竞争力的性能,同时减少了完全监督学习方法所需的标注工作量。然而,在联合学习框架中有效利用标记和未标记数据具有挑战性,需要仔细地设计考虑。
近年来,各种网络架构已被应用于单目深度估计,包括卷积神经网络(CNN)、全卷积神经网(FCN)、编码器-解码器(ED)、自动编码器(AE)、生成对抗网络(GAN),Transformer架构以及扩散模型(diffusion model)。每种架构在准确性、效率和计算要求方面都提供了独特的优势和权衡。在以下部分中,将更详细地描述每种类型方法的学习模式。

2)单目图像深度估计的深度学习方法评估指标

以下是一些常用的误差函数和评估深度估计准确性的指标,一个成功的方法应该具有更高的准确性和更低的误差。对于总像素个数为N的像素,每个像素i的真实深度为d,预测的深度值为图片,使用的指标如表1所示。

1  深度估计方法的评估指标

图片

表2 深度估计研究最常用的数据集

图片

3)单目图像深度估计深度学习数据集

主要受到当下自动驾驶汽车研究趋势的推动,深度估计领域的一些有限但广泛的使用的基准数据集被创建并公开。深度估计基准数据集的一个共同要求是,场景图像应该伴随着密集的深度数据,形成所谓的真值(ground truth)。深度数据可以用作最小化深度误差估计的参考点。然而,大多数数据集在这方面并不完备,通常仅提供稀疏的深度值。在其他情况下,深度图可能完全缺失,例如使用立体图像或成对的视频帧进行自监督学习。研究者通过数据增强等手段在受限的基准数据集上训练他们的新方法或评估新方法的泛化能力(例如,在数据集A上进行训练,然后在数据集B上进行测试)。无论采用哪种方法,使用多个数据集的情况并不少见。
表2列出了最常用的数据集,报告了每个数据集中的数据量、数据特征、数据集的创建方式及其最初的应用目的(例如,用于室内还是室外场景)。除了表中列出的数据集外,还开发了许多其他用于单目深度估计的数据集,包括ETH3D[17]、DIW[18]、TUM-RGBD[19]和Sintel[20]。这些数据集为研究人员提供了多样化的训练和评估资源,以推动单目深度估计方法的发展。

2.2 单目图像深度估计的深度学习方法总结

1)单目深度估计网络有监督学习方法总结

监督方法利用标记图像,需要利用成对的图像和对应的深度图。真实深度值(D)与对应的估计深度图(图片)的距离是监督学习方法的主要特征。作为一个回归问题,这些深度神经网络的目标就是从单个深度图像中学习深度预测规律,真实深度信息d通常基于传感器的方法获取。在监督学习中,设置一些简单的损失函数,如L2损失,类似于上述的平方相对误差,在优化过程中减小该损失,如式(1)所示

图片1

监督学习方法最早的工作将单目深度估计问题视为一个典型的判别式任务。Eigen 等[34]引入了一种使用单张图像进行深度预测的技术。方法首次将CNN网络结构带入到这个领域,设计了一个端到端的有监督单目图像深度估计网络,结合了全局和局部的细化,重点处理尺度不变的损失。通过引入表面法线并将深度图扩展到原始输入分辨率,从而提高网络性能。
作为有监督学习,训练过程需要大量标注数据,激光雷达或RGB-D获取的数据存在噪声且稀疏,且激光与照相机的投影中心不重合,不同训练集的不同标注方式也使得模型泛化更为困难。随着深度学习的发展,研究者们意识到这个单一数据集的局限性和不同标注方式带来的泛化问题,Ranftl等[35]介绍了实现多样化数据集融合的方法MiDaS,用于全面的单目深度估计。他们提倡有原则的多目标学习,促进深度范围和尺度变化的稳健性。重点在于对编码器进行额外任务的预训练。利用五个训练数据集和3D电影数据,通过整合另外五个数据集来扩展他们的方法[36]该架构名为“密集预测变换器”,是一个新型的Transformer架构,并且与全卷积模型进行了对比。在此基础上,作者改进了原有架构,提出了新的基于视觉Transformer的方法DPT[37],相比MiDaS,在性能,泛化性上都得到了提升。
Bhat等[38]提出了一个两阶段的框架ZoeDepth,使用一个通用的编码-解码器架构进行相对深度估计的预训练,在第二阶段添加绝对深度估计的轻量级检测头,并使用绝对深度数据集进行微调。ZoeDepth是第一个结合了相对深度和绝对深度的方法,弥补了相对深度估计和绝对深度估计之间的差距,并且可以通过在更多的数据集上定义更细化的域和,并在更多的绝对深度数据集微调来进一步改进网络性能。
Feldmann等[39]提出用NeRF进行数据增强。单目深度估算(MDE)模型的功能受限于是否能获得充足且多样化的数据集。对于用于自动驾驶的MDE模型,这一问题因捕获数据轨迹的线性而更加严重。提出了基于NeRF的数据增强管道,将具有更多样化观察方向的合成数据引入训练数据集,并展示了模型性能和鲁棒性方面的优势。
在生成式深度学习框架的推动下,单目深度估计开始向生成式模型转变。Bingxin Ke等[40]提出将单目深度估计任务定义为一个条件去噪扩散生成任务。具体地,开发了Marigold模型,这是一个基于潜在扩散模型的框架,用于建模条件分布D(d|x),其中d代表深度,x是给定的RGB图像。通过逐步添加和移除噪声,模型能够从噪声数据中恢复出清晰的深度信息。训练过程中,模型通过对抗性学习调整参数,以最小化去噪扩散目标函数,从而有效地从输入的RGB图像预测出对应的深度图。这种生成式框架不仅提升了深度估计的准确性,也增强了模型对新领域数据的泛化能力。
Fu,Xiao等[41]进一步扩展了生成式框架的应用,提出基于扩散模型的深度估计网络GeoWizard。在微调过程中,首先利用稳定扩散VAE编码器,将输入图像及其对应的真实深度图、真实法线图映射到潜在空间,获得各自的潜在编码。然后,将两种几何潜在编码与图像潜在编码连接,形成两个组。这些组被输入到U-Net中,在几何切换器的引导下生成深度或法线域中的输出。此外,引入场景提示,用于生成具有室内、室外或对象三种场景布局的结果。在推理过程中,给定图像和场景提示,通过初始深度噪声和法线噪声,GeoWizard可以联合生成高质量的深度和法线。
单目深度估计的有监督学习方法经历了从判别式方法到生成式框架的演变。生成式模型通过建模数据分布、多任务学习、数据增强和不确定性处理,显著提升了单目深度估计的泛化能力。相比传统判别式方法,生成式模型不仅更好地理解数据多样性,还能生成类似训练数据的样本,扩展数据集多样性。此外,其强大的上下文理解和处理复杂场景的能力,使模型在不同环境下实现更稳健的深度预测。

2)单目深度估计网络自监督学习方法总结

由于图像的深度信息并不总能获得,因此很多时候监督学习方法并不能使用。自监督学习的方法就是在损失函数的指导下,在图像之间学习图像重建规则。自监督深度估计方法主要通过双目视差或时序约束构建损失函数,避免了对深度真值的依赖。然而,在无纹理区域的深度预测仍具挑战性。
首先介绍利用双目图像左右视差的约束。Garg等[42] 提出基于自动编码器的方法,编码器(CNN)预测深度,解码器通过逆扭曲重建图像。该方法通过最小化图像重建误差学习深度,无需深度标注。但在无纹理区域表现欠佳,促进了后续研究改善此问题,如探索额外的几何约束。
Alleoti等[43]介绍了利用生成对抗网络(GAN)的方法,用于使用立体图像对进行深度估计。这个GAN网络包括一个生成新图像的生成器和一个经过训练以区分真实的和生成的(扭曲的)图像的判别器。
Wang等[44] 提出统一处理光流和立体深度估计的方法,使用三个轻量级CNN分别处理深度、相机运动和光流。引入刚性感知直接视觉里程计模块改善相机运动估计。该方法面临多任务平衡和动态场景处理的挑战。
Godard等[45]提出了一种编码器-解码器网络MonoDepth,通过左右图像的相互计算来推导视差。他们的方法在损失函数中引入了左右一致性项、平滑项和重建项。之后,Godard等人[46]进一步改进了从视频或立体数据中进行单目深度估计的方法,包括处理遮挡的每像素最小光度误差、用于检测静止像素的自动掩码以及减少伪影的全分辨率多尺度上采样技术。
另一种可利用的自监督方式是利用单目图像序列或者双目图像序列来提取帧间的几何约束。pt是目标视图It中像素的齐次坐标,则pt可以由源视图Is中的点ps投影如式(2)所示
图片
(2)
其中,K为相机内参矩阵;Dt(pt)pt的深度值;Tt→s为帧It到帧Is的齐次变换矩阵。通常情况下,Dt(pt )Tt→s都是未知的,是需要通过计算得到的,如式(3)

图片  (3)

Kumar等[47]介绍了一种基于GAN的方法,用于使用视频序列进行深度和姿态估计。生成器包括深度和姿态网络,预测连续帧的深度图和旋转/平移参数。从当前图像预测深度,并从先前,当前和下一帧的三元组中估计姿势。该算法将真实的图像与生成的图像区分开来,从而产生了一个包含图像一致性、对抗性和深度项的三项损失函数,用于网络训练。

3)单目深度估计网络半监督学习方法总结

另一种可以利用的方法是半监督的学习方法,通过利用一小部分标注数据和大部分未标注的数据来训练模型。因此,进行数据增强与辅助监督的方法非常重要。
Zhao等[48]使用图像风格转换和深度估计模块将合成数据合并到他们的单目深度估计方法GASDA中。基于CycleGAN[49]的图像风格转换可以在真实图像和合成图像之间进行转换。这种合成数据的集成补充了无监督方法无法捕获的深度信息。
Depth-Anything[50]用少量已标注深度的图像数据训练教师模型,将数据引擎收集到的大规模无标注图像数据通过教师模型得到伪深度标签,使用伪深度作为无标注图像的优化目标,引入无标注图像到伪深度的学生模型,在这个过程中学生模型通过数据增强和语义分割的预训练编码器学习到更丰富的先验知识,提升了模型的学习能力。作者给出了三种不同大小的模型,可以在边缘设备运行。
Ming Gui等[51]提出了DepthFM,是一种用于单目深度估计的流匹配方法,通过回归图像和深度分布之间的向量场,实现高效推理。仅在63k纯合成样本上训练的DepthFM,在室内外数据集上实现了Zero-shot深度估计,并通过辅助表面法线损失提升了深度估计的准确性。这种方法节省计算资源,强调模型的适应性和训练效率,提供细粒度的深度图和可靠的置信度估计。
表3总结了今年以前效果较好的三种类型的单目深度估计网络,并展示了它们的效果(“—”表示原论文中未提到)。

表3 深度学习网络深度估计精度总结

图片

2.3 单目图像深度估计的深度学习方法总结

视觉里程计/视觉惯性里程计是机器人领域感知模块的重要部分,也是自主导航与定位不可或缺的一环。此领域的最新进展产生了深度学习混合视觉里程计的方法,这些方法结合了单目深度估计网络和传统的姿态估计方法。根据单目深度估计网络和传统姿态估计方法结合的紧密程度,可以分成单目深度网络提供的信息辅助位姿估计的方法和单目深度网络与位姿估计方法相互监督的方法。 其中,单目深度估计网络与位姿估计方法相互监督的方法是对深度估计的自监督学习方法,正如2.2节所述,对单目深度估计的自监督方法中引入了来自位姿估计的约束,从而提升里程计的精度;而单目深度网络提供的信息辅助位姿估计的方法中,会进行一些筛选从而提高定位精度。
常用的SLAM系统评估指标包括三维重建和二维深度估计以及轨迹估计等指标,能够去评估与真实值之间的差异。
姿态估计的评估指标包括:绝对轨迹误差(Absolute Trajectory Error, ATE, cm, ↓)用于衡量SLAM系统估计的轨迹与实际路径之间的偏差。‌通过计算估计位置和真实位置的欧氏距离来量化定位精度,‌低ATE值表明系统能更准确地估计自身运动‌;相对姿态误差(‌RPE)‌评估相邻帧之间的相对运动估计误差,‌通过比较估计的相对运动与真实相对运动之间的差异来衡量局部精度,‌常用于评估短时间内的累积误差,‌特别适用于动态环境。
2.4 图像深度估计与SLAM结合方法总结

上一章中有关图像深度的自监督学习中也提到了利用相邻帧之间的帧间位姿约束去优化深度,这种方法侧重在于深度估计,在训练完成之后位姿估计网络就不再使用,即不再关注定位问题。以下介绍的方法都是深度估计与SLAM结合对定位精度或深度预测精度的影响。

Liu等[54]提出了一种新型的视觉里程计方法,其中使用比真实深度图更容易获得的真实姿态来监督网络,从而获得密集的深度图。从神经网络获得的深度图用于将当前图像扭曲到参考帧中,并通过最小化对扭曲图像和参考图像之间的相似性进行编码的成本函数来获得最佳位姿估计。
N. Yang等[55]提出了一种新颖的框架D3VO,用于单目视觉里程计,通过在三个层面上利用深度网络:深度估计、位姿估计和不确定性估计。具体而言,作者设计了一个自监督的单目深度估计网络,通过立体视频进行训练,并采用亮度变换参数对齐训练图像,从而提高了深度估计的准确性。D3VO将预测的深度、位姿和光度不确定性紧密集成,显著提升了前端跟踪和后端非线性优化的性能。此外,作者还通过光度不确定性建模,优化了图像匹配过程,提高了在光照变化和动态场景中的鲁棒性。实验结果表明,D3VO在KITTI和EuRoC MAV数据集上表现出色,达到了与最先进的立体/激光雷达方法相当的效果,并在视觉惯性里程计(VIO)任务中也表现接近最先进水平。
Y. Almalioglu等[56]提出了SelfVIO,将深度估计与视觉惯性里程计(VIO)有效结合。SelfVIO利用自监督学习从未标记的RGB图像序列和IMU读数中联合估计6自由度(6-DoF)相机运动和场景深度图。该方法采用生成对抗网络(GAN)进行对抗训练,通过对比生成的图像和真实图像来优化深度图和相机位姿的预测。此外,SelfVIO引入了自适应传感器融合技术,将IMU数据和RGB图像数据结合,提升了运动估计和深度预测的准确性。与传统方法不同,SelfVIO不需要IMU与相机之间的精确校准,而是通过自适应调整传感器数据来解决校准问题。通过这种迭代优化过程,SelfVIO使得深度估计和VIO任务相互促进,显著提升了整体性能。
L.Sun等[57]将单目深度估计融入视觉里程计(VO)系统,提出了一个结合几何基础视觉里程计和学习基础单目深度估计网络的框架。该框架包含两个工作模式:第一个模式利用单张RGB图像输出相对深度图以提高定位准确性,第二个模式则结合RGB图像和稀疏深度图生成尺度一致的稠密深度图用于高精度的稠密映射。在VO系统中,作者通过最小化重投影误差来获得相机姿态,并引入了近远一致性约束以剔除错误深度点,增强了定位的准确性。尺度恢复通过将稀疏点投影到关键帧的图像平面,并使用中位数尺度来简化尺度调整。最终,学习的深度被用于稠密深度映射,通过像素级的强度和深度一致性检查来提升映射质量,从而使得该系统能够在多样化的场景中表现出更好的鲁棒性和准确性。
X. Xing等 [58]提出了一种新方法,将经典视觉SLAM与基于卷积神经网络(CNN)的单目深度估计相结合,以提升三维重建和位姿估计的性能。该方法通过利用CNN预测的深度图来改善伪RGB-D SLAM的视觉里程计和地图构建的准确性,同时使用SLAM获得的3D场景结构来微调预训练的深度估计网络,解决了单目深度估计在强光照条件下的不准确问题。实验结果表明,所提出的方法在KITTI和TUM RGB-D数据集上的深度预测和位姿估计任务中表现优越,相比传统方法显著提高了性能。该方法通过在深度估计网络中引入稀疏辅助网络,并迭代优化,解决了单目SLAM和深度估计中的多个挑战。
引入深度估计网络不仅能够提供额外的几何约束,更能从根本上提升系统的鲁棒性和精度。首先,深度信息可以作为特征点选取的重要参考依据,通过对场景深度的理解,系统能够更加智能地在具有显著几何结构的区域分布特征点,同时避免在深度不连续或不可靠的区域提取特征,从而构建更加稳定的视觉里程计。特别值得注意的是,现代深度估计网络通过自监督学习等先进训练范式,已经展现出在复杂场景下的出色性能,能够在光照变化、动态物体及反光表面等充满挑战的环境中提供可靠的深度预测,为增强SLAM系统在实际应用场景中的适应性提供了有力支持。
深度信息在SLAM系统的多个核心模块中都具有巨大的应用潜力。在回环检测方面,结合深度的场景描述子能够捕获环境的三维结构特征,在外观发生显著变化(如日夜更替、季节变换)的场景中仍能保持较高的识别准确率。在初始化阶段,深度估计网络提供的先验信息可以大幅提高系统的启动速度和稳定性,解决传统单目SLAM系统在低纹理或静止场景下的初始化困难问题。此外,深度网络对远距离物体的感知能力,使得系统能够更好地利用环境中的远景信息。


3

NeRF和3DGS与SLAM的结合方法

3.1 NeRFSLAM中的应用方法总结

最初的将两者结合的项目是NICE-SLAM[59],如图4所示,该框架直接利用图像损失来优化网络参数和相机位姿,完全没有利用经典的特征点来指导优化。绿色部分左侧展示了传感器收集的RGB-D真实数据,包括深度信息和RGB图像;右侧则显示了模型推断出的预测深度值和RGB图像。为优化这两部分之间的差异,采用了NICE-SLAM系统。经过训练,系统生成了右侧黄色区域内的分层特征网格和相机位姿,并将这两者输入到蓝色的可微渲染器中,从而完成对RGB图像和深度图像的预测。如果要使用NICE-SLAM,必须获得深度图。这是因为在初始阶段,仅依靠RGB图像来训练网络会导致收敛效果不佳。深度图中蕴含了光线传播方向上物体的先验概率分布,这种先验信息能够帮助网络更快地收敛。在这个背景下,一个创新点是:针对仅有RGB图像的情况,利用前文提到的深度估计网络来实现快速收敛的处理方法。我们可以利用深度估计网络,对相对深度进行估计,并将其融入到框架中。需要注意的是,通过单目图像进行深度估计时,得到的多张图像之间的深度一致性往往较差,需要添加正则项来一致化深度,可以通过式(4)来转化。
图片
(4)
其中,图片是NeRF渲染得到的深度图;图片是单目图像深度估计得到的深度图; 图片分别为比例修正项和偏移修正项,通过这种设计来确保深度的一致性。还可以通过一些非深度学习的方法对深度估计的不确定性进行评估,进而修改深度损失。另一个可行的创新点在于结合运动信息(imu)以充分利用不同时刻的相机位姿。
此外,NeRF与SLAM结合可以得到由NeRF构建的隐式地图,这种地图可以成为视觉导航的基本地图,有利于实现后续功能多样的定位。
如图5所示,RNR-Map[60]是一种用于视觉导航的基于NeRF的新型地图,构建时需要准确的里程计信息,旨在包含3D环境的整体视觉信息。RNR-Map具有网格形式,由每个像素处的潜在代码组成。这些潜在代码是从图像观察中嵌入的,可以转换为神经辐射场,从而在给定相机姿势的情况下实现图像渲染。记录的潜在代码隐式包含有关环境的视觉信息,这使RNR-Map具有视觉描述性。RNR-Map中的这种视觉信息可以成为视觉定位和导航的有用指南。因此利用隐式的NeRF来进行渲染有一个好处就是这部分网络的内存大小在一定范围内不会随着地图的扩大而增加,而且与深度学习提取的视觉描述子之间的衔接显得更加自然。
图片

图4  NICE-SLAM系统概述[58]

图片图5 RNR-Map系统概述
考虑到经典算法维护的地图通常较为稀疏且轻量,因此存在一种工程解决方案Nerfbridge[61],如图6所示,可有效地将传统里程计模块与NeRF建图模块结合,以实现更优的性能表现。该系统通过搭载摄像头的机器人(如无人机)进行信号采集,采集到的图像数据流被传输到NerfBridge节点,利用ORBSLAM3实时估计相机位姿,随后通过nerfstudio进行场景重建。无人机运行在树莓派4B平台上,负责操控摄像头并与NerfBridge节点进行网络交互。同时, NerfBridge节点在一台配备RTX 3090的后台服务器上并行运行ORBSLAM3、nerfstudio及系统控制程序。

图片

图6 Nerfbridge系统概述

图片

图7 Ir-mcl系统概述

图片
图8 Gaussian-splatting-SLAM系统概述

除此之外,NeRF可以存储占据信息。Ir-mcl框架[62]将NeRF这样的隐式环境表示扩展到移动机器人二维室内定位任务中,提出了一种神经占据场,使用神经网络来隐式地表示用于替代机器人定位任务中的二维地图。通过预训练的神经网络可以渲染合成当前场景下任意机器人姿态所对应的2D 激光扫描。基于该隐式地图,提出了一个观测模型来计算渲染和真实扫描之间的相似性,并将其集成到蒙特卡洛定位系统中进行准确的定位。


因此,可以通过构建一个由NeRF网络维护的地图,将其转化为传感器所需的数据格式以实现定位。例如,可以利用单目相机捕获的图像进行定位,同时也可以通过NeRF网络生成激光点云格式的数据。由于在给定视角下已知该视角的占据信息,进而可以利用点云进行匹配和定位。因此,从这一角度来看,NeRF网络能够有效地解决不同模态间的定位挑战。


3.2 3DGSSLAM中的应用方法总结

在3DGS方法中,也有一些针对同时定位和重建3D场景的SLAM方法。SuGaR[63]根据当前高斯点和新帧捕获的深度来优化几何位置。为了避免重复密化,SplaTAM[64]利用视点独立的颜色来判断新的帧是否需要密化。GS-SLAM[65]提出了一种自适应的3D高斯扩展策略,通过捕捉的深度值来添加新的3D高斯点,并删除旧的不准确高斯点。为了稳定定位和建图,Gaussian-Splatting SLAM[66]和Gaussian- SLAM[67] 在高斯点的尺度上增加了额外的空间正则化损失,以鼓励各向同性高斯点。SemGauss-SLAM[68]、NEDS-SLAM[69]和SGS-SLAM[70]进一步考虑高斯点在同时定位和建图过程中语义信息的重要性,通过蒸馏数据集提供的2D分割信息来获取语义信息。CG-SLAM[71]在训练过程中引入不确定性图,并基于渲染深度优化3D重建精度。Deng等[72]避免了基于滑动窗口掩模和向量量化的方法中的冗余高斯分裂,从而进一步提高了3DGS的精度,系统概述如图 9所示,该系统通过精确的场景重建和深度图生成,提升了对下游任务的支持,尤其是为复杂环境中的物体识别、语义标注、障碍物检测等任务提供了可靠的基础。此外,最近有研究者提出了DepthSplat[73],它利用稀疏视角的前馈3DGS和稳健的单目深度估计的互补性提高3DGS在稀疏视角下的表现以及网络深度估计的一致性。

图片

图9 基于GS的slam系统概述[72]

表4 3DGS SLAM方法相机追踪精度

图片
表4显示了不同 SLAM 方法在TUM-RGBD数据集和Replica数据集上的相机追踪精度的定量比较。
目前,基于3DGS和SLAM仍在发展中,理论上3DGS具备更好地筛选物体的能力与增加物体的能力,比如通过判断动态物体的范围,可以筛选出属于动态物体的3d高斯球,从而在有动态物体干扰的场景下,依旧能实现动态场景下的跟踪以及静态地图的构建[74]。此外,与CNN网络不同卷积核大小对应的特征提取能力不同类似,3DGS球具备不同大小的场景提取能力,即可以通过少量的大体积的高斯球来构建粗略的场景,或者通过大量的小体积的高斯球来构建精细的场景,这尤其利于在大场景粗略结构保留的情况下保存精细物体的结构,具体地可以实现场景识别以及视觉导航。


4

结论


1)本研究系统性地探讨了基于深度学习的深度感知技术与SLAM的融合进展。深度感知方法在SLAM系统中的感知和定位两个关键环节都带来了重要改进:在感知端,深度网络提供的深度先验信息帮助系统更好地理解场景结构,特别是在低纹理区域的特征匹配;在定位端,NeRF和3DGS的引入允许构造新的地图形式,增强了系统处理场景和匹配场景的能力。这些改进使得基于深度学习深度感知的SLAM系统能够更好地应对传统方法的局限性,如光照变化等复杂环境;
2)单目深度估计技术的引入为SLAM系统带来新的可能性,特别是在缺乏立体视觉或深度传感器的场景中。无论是作为独立模块的直接深度估计网络,还是集成到SLAM流程中的间接深度估计网络,都能为系统提供有价值的深度信息。直接深度估计网络提供了灵活的集成方案,可与现有SLAM框架协同工作;而间接深度估计网络通过端到端优化,展现出更强的场景适应性。然而,这些方法在计算效率和实时性方面仍面临挑战,特别是在资源受限的设备上的应用仍需深入研究;
3)NeRF和3DGS为SLAM系统提供了新的思路:首先,其场景表示方式比传统点云更加紧凑和结构化,有助于提高系统的运行效率;其次,这种新型的场景表示方式为后续的场景理解和语义分析提供了更丰富的信息基础;
4)尽管基于深度学习的深度感知技术在SLAM应用中取得了显著进展,但仍存在一些亟待解决的技术难题:
a) 实时性与精度的权衡:如何在保证高精度的同时提高系统的实时性,特别是在处理大规模环境时;b) 长期运行的稳定性:如何有效解决累积误差和闭环检测问题,确保系统在长时间运行中的稳定性;c) 多传感器融合:如何高效整合IMU、GPS等多源数据,以提高系统的鲁棒性和适应性;d) 动态环境处理:如何准确识别和处理动态物体,最小化其对SLAM系统的干扰。
5)未来研究方向可能包括:a) 开发计算效率更高的深度估计算法;b) 优化3DGS技术,如引入图神经网络等先进结构,以提高其表达能力和效率;c) 拓展NeRF隐式地图的应用场景,如研究在大规模室外环境、极端光照条件下的SLAM解决方案;d) 深化SLAM与高级计算机视觉任务的结合,如语义SLAM、实例级SLAM等,实现更深层次的场景理解;e) 探索在线学习和增量式学习方法,提高SLAM系统的长期自主性和环境适应能力;
深度感知技术的引入为SLAM领域注入了新的活力,不仅显著提升了系统性能,还拓展了其应用边界。随着这些技术的持续演进,我们预见SLAM系统将在精度、鲁棒性和泛化能力等方面取得突破性进展。 未来,SLAM技术有望在自主导航、空间感知、环境理解等领域发挥更为关键的作用,推动智能系统的革新。然而,要充分释放这些技术的潜力,研究者们仍需在算法优化、硬件适配、大规模数据处理等方面进行深入探索,以克服现有的技术瓶颈,推动SLAM技术向更高水平迈进。


参考文献:略

作者简介:渠海榕(2001—),男,博士研究生,主要从事视觉语言导航,机器人导航与控制等方面的研究。

通信作者:张海(1970-),男,副教授、博士,主要从事最优估计理论及组合导航方面的研究。

来源:导航定位与授时

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/192428