前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于视觉语义信息的建图与定位综述

基于视觉语义信息的建图与定位综述

作者头像
点云PCL博主
发布2022-12-27 18:09:18
5120
发布2022-12-27 18:09:18
举报
文章被收录于专栏:点云PCL点云PCL

点云PCL免费知识星球,点云论文速读。

文章:Semantic Visual Simultaneous Localization and Mapping: A Survey

作者:Kaiqi Chen, Jianhua Zhang, Jialing Liu, Qiyi Tong, Ruyu Liu, Shengyong Chen

编辑:点云PCL

来源:arXiv 2022

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

基于视觉的同时定位和建图(vSLAM)在计算机视觉和机器人领域取得了巨大进展,并已成功应用于机器人自主导航和AR/VR等许多领域。然而,vSLAM无法在动态和复杂环境中实现良好的定位,许多论文通过将语义信息与vSLAM相结合,近年来语义vSLAM系统具有解决上述问题的能力。然而,关于语义vSLAM还没有全面的调查。为了填补这一空白。本文首先回顾了语义vSLAM的发展,明确关注其优势和差异,其次,我们探讨了语义vSLAM的三个主要问题:语义信息的提取和关联、语义信息的应用以及语义vSLAM的优势,然后,我们收集并分析了当前在语义vSLAM系统中广泛使用的最先进的SLAM数据集,最后,我们讨论了未来的方向,这将为语义vSLAM的未来发展提供建议。

介绍

目前有各种SLAM技术方法,但由于设备成本高或应用场景有限,大多数方法难以推广。基于视觉传感器的SLAM,也称为VSLAM(vSLAM),由于其低硬件成本、小场景中的高精度以及获取丰富环境信息的能力,最近成为一个热门的研究方向,必须提到的是vSLAM的缺点也非常明显。

  • 一方面,在应对照明变化、动态对象移动和缺乏纹理的环境方面仍然存在许多挑战。
  • 另一方面,系统计算量大,构建的几何地图难以用于路径规划和导航。

近年来深度学习技术的兴起使得研究人员能够解决传统的SLAM问题,基于深度学习技术,研究人员提取特征点、描述子和语义信息,并进行位姿估计。语义信息与传统vSLAM的集成提高了对图像特征的理解,并构建了高度精确的语义图,这在早期的工作中得到了验证。与传统的vSLAM相比,语义vSLAM不仅获取环境中的几何结构信息,还提取独立对象的语义信息(如位置、方向和类别)。在定位中,语义vSLAM借助语义约束提高了定位的准确性和鲁棒性,在建图中,语义信息提供丰富的对象信息以构建不同类型的语义地图,如像素级地图和对象级地图,因此,语义vSLAM可以帮助机器人提高准确感知和适应未知复杂环境以及执行更复杂任务的能力。

本综述提供了关于语义vSLAM的现有工作的详细概述,重点是语义信息提取、语义应用、SLAM数据集,以及语义vSLAM与传统vSLAM之间的比较,据我们所知,这是第一篇提供语义vSLAM全面和广泛概述的综述报告,本文的部分结构如图1所示。

图1 整体结构示意图

主要内容

A

语义信息

近年来,SLAM已开始与语义信息相结合,语义信息包含环境中对象的位置、方向、颜色、纹理、形状和特定属性,与以往的SLAM方法相比,语义vSLAM不仅可以在建图过程中获取环境中的几何结构信息,还可以识别环境中的对象并获取语义信息,以适应复杂环境并执行更智能的任务,传统的vSLAM方法通常基于静态环境的假设,而语义vSLAM可以预测动态环境中对象的移动属性,语义vSLAM中的相似对象知识表示可以共享,通过维护共享的已知库,提高了SLAM系统的操作和存储效率。此外,语义vSLAM可应用于智能路径规划和导航,例如服务机器人选择最佳路径以运送物资。

图2.语义机器人学的总体框架,语义视觉SLAM包括语义信息提取和视觉SLAM模块,它们相互影响,语义视觉SLAM广泛应用于自动驾驶、路径规划和导航

A、 语义信息提取

1) 对象检测:语义vSLAM中的对象检测模块可以帮助SLAM系统从图像中获取对象,通过将其与SLAM相结合,可以构建对象级语义地图,并提高对环境的理解,当前语义vSLAM中使用的对象检测方法主要分为两类:一阶段方法和两阶段方法。语义vSLAM通常采用SDD或YOLO系列作为单阶段对象检测方法。SSD是第一个基于DNN的实时对象检测器,在TitanX中以40fps的速度在PASCAL VOC数据集中实现70%以上的mAP,SSD也是一种单级物体检测检测器,能够很好地平衡速度和精度。

YOLOv1检测器比SSD更早,但其速度和检测性能与SSD相当,因此它也应用于语义vSLAM中进行对象检测,很快Redmon等人提出了YOLOv2,这在识别类型、检测精度、速度和定位精度方面比YOLOv1和SSD有了很大的改进,鉴于其良好的性能足以满足语义vSLAM需求,因此,大量语义vSLAM作品使用该检测器来满足动态环境中目标检测和定位的准确性。无论是SSD还是YOLO系列,它们都满足语义vSLAM的最关键要求,即实时性,因此,它们在许多语义vSLAM系统中被广泛使用。除了实时性能外,检测精度还影响语义vSLAM的性能。因此,有几篇论文采用了两级检测器进行物体检测,如R-CNN、Fast R-CNN、Faster R-CNN,与单阶段检测器不同,两阶段检测器需要获得区域建议,对结果进行分类并调整候选边界框位置,由于两级检测器的设计思想,两级检测器实时性能通常略低于一级检测器,但其检测精度高于一级检测器。尽管近年来在vSLAM和目标检测方面取得了重大进展,但由目标检测器获得的目标边界框还包含前景和其他目标信息,这会影响目标重建和全局定位精度。因此,研究人员尝试使用语义分割或实例分割来获取像素级对象。

2) 语义分割:语义分割是图像理解的基础技术,它可以给出每种类型对象对应的精确像素,但不能区分同一类型的不同个体,它在自动驾驶、无人机和可穿戴设备应用中至关重要,语义vSLAM中使用的当前语义分割方法基本上基于深度学习方法,如U-Net、贝叶斯SegNet、SegNet、PSPNet。U-Net是最常用的分割模型之一,它简单、高效、易于构建,并且只需要少量的数据集进行训练。SegNet还经常用于室外环境中的语义分割任务,其优点是更好地保存图像边缘信息和更高的运行速度,与U-Net和SegNet相比,PSPNet考虑了上下文关系匹配问题,即使在复杂环境中也显示出良好的分割效果。与输出粗略检测边界框的对象检测方法相比,语义分割方法可以在像素级识别对象,这大大有助于语义vSLAM理解环境,然而,语义分割无法区分同一类别的对象实例,限制了应用范围。

3) 实例分割:为了检测动态对象实例,语义vSLAM开始使用实例分割方法,获得图像的逐像素语义分割,实例分割是对象检测的进一步细化,以实现像素级对象分离,然而,它不能实现与目标检测相同的实时性能。语义vSLAM中使用的当前公共实例分割方法是Mask RCNN,这是一种强大的基于图像的实例级分割算法,可以分割80个语义对象类标签。这些工作适用于动态环境,因为它们将几何信息与掩码RCNN融合,以分割动态和静态对象,获得像素级语义分割和实例标签信息,然而,实时性能受到很大影响。虽然在现阶段,三种语义提取方法可以满足语义vSLAM的基本要求,但在识别准确率和操作速度方面,语义提取方法仍有很大的改进空间,以便有效地集成到语义vSLAM系统中,就像在许多复杂环境中一样,存在会影响对象检测性能的动态或遮挡对象,为了解决这些挑战,未来vSLAM和语义提取方法需要相互补充,帮助机器人执行更智能的任务。

B、 语义对象关联

当带有传感器的机器人在未知环境中移动时,它将收集一系列数据。在vSLAM系统中,图像集I包含从开始时间到当前时间T获取的所有图像,假设当前环境包含对象标签C,例如,语义vSLAM系统中常用的对象是门、椅子、桌子、人和车辆,xt表示图像It的相机姿态,包括位置和方向,X表示每次的相机轨迹集,由于相机姿态是基于最后状态而不是直接计算的增量估计,因此结果容易受到噪声的影响,时间t处的相机姿态可以表示如下:

当机器人处于姿态xt时,它将通过摄像机观察标志点测量值yt和物体测量值Lt,在时间t的相应相机的测量值如下:

SLAM系统创建关键帧F以减少重复计算,假设当前场景中存在一些可检测对象,每个关键帧Fd可以通过对象检测方法检测Nd个对象测量值,通常,关键帧Fd具有多个对象测量值。可以表示为:

环境中地标的数量远小于物体测量的数量,原因是可以在连续的关键帧中观察到相同的地标,并且在每个关键帧中检测到多个对象测量,因此,引入了对象关联S的概念,它指定关键帧之间的对象测量与同一地标关联,可以理解,每个物体测量Ldi都被指定了一个唯一的地标O,在t时间有dt关键帧,当前时间t的对象关联可以表示为:

上述方程描述了基本语义vSLAM问题,综上所述,语义vSLAM的对象关联的作用是将语义对象测量与对象地标精确关联,对象关联的困难在于当当前图像中存在相同类别、相似外观和邻近位置的多个对象时,将新对象测量与地图中的现有3D地标正确关联,对象关联帮助机器人获得环境中真实对象的数量,并将它们集成到语义地图中,提高对环境的感知。

语义信息的应用

语义信息和SLAM技术是相互促进的两部分,语义信息与定位和建图相结合可以提高定位和场景理解的准确性,近年来,语义vSLAM技术推动了定位和地图的发展,对自动驾驶、移动机器人和无人机等研究领域产生了重大影响。本节将重点讨论语义定位和语义建图的两个方面。

A、 语义定位

定位的目的是使机器人在未知环境中获得其方向,即确定其在该环境的世界坐标系中的位置,传统vSLAM易受环境因素影响,导致定位失败,然而,vSLAM可以提取丰富的语义信息,帮助车辆和机器人感知环境中的高级信息。此外,语义信息中存在几何约束,可以有效提高系统的定位精度,因为室内和室外环境之间存在明显差异,导致不同的定位困难,因此,我们从两个不同的环境中描述语义定位。户外长期基于视觉导航必须面临长期运行、交叉天气和显著光照变化等挑战。在这些挑战下,很难可靠地匹配图像和地图之间的特征,最终导致定位精度差,甚至定位算法完全失败。为了解决这些问题,一些研究人员尝试了一种基于语义分割图像和语义点特征图的定位算法,该算法解决了长期视觉定位问题。在论文[71]中,还基于跟踪期间的语义信息建立了中期约束,减少了视觉里程计的漂移误差。面对急剧的视点变化,论文[72]采用语义图描述符匹配进行全局定位,以实现多视点下的定位。室内机器人定位问题的挑战性不亚于室外机器人定位问题,vSLAM系统仍然依赖于表面图像信息来感知环境,并且缺乏认知水平能力,当进入具有动态或显著照明变化的复杂室内环境时,SLAM的鲁棒性和可靠性尚未达到实用性,为了提高机器人在环境中的认知能力,[论文43]提出了一种对象级语义vSLAM系统,该系统首次采用了三维地标的双二次曲面表示,包含地标的大小、位置和方向,同时,他们推导了基于因子图的SLAM公式,该公式在解决对象关联的假设下联合估计对偶二次曲面和摄像机姿态参数。

研究人员注意到,语义信息可以帮助区分静态和动态对象,提高机器人在动态环境中的定位精度和鲁棒性,采用语义信息分割移动对象并过滤出与移动对象相关的特征点是常用的方法之一,可提高动态环境中的系统定位。可见,融合语义信息是提高机器人定位性能的根本途径,在改进定位时,语义工作通常用于SLAM系统初始化、后端优化、重定位和回环阶段,因此,有效地处理和利用语义信息对于提高定位精度至关重要。

B、 语义建图

建图是SLAM的另一个目标,它服务于vSLAM中的定位问题,通常,我们希望机器人保存地图,以便机器人在下一步工作中不需要重复构建地图,从而节省大量计算资源,在应用中,由vSLAM构造的地图包括稀疏地图]、半密集地图和稠密地图,与稀疏地图相比,稠密地图包含许多三维空间点来描述地图,更适合定位、导航、避障和重建。然而,传统的vSLAM地图缺乏用于人机交互的高级环境语义信息,使得机器人无法执行智能避障、识别和交互等复杂任务。为了更好地解决地图问题,建立准确可靠的三维语义地图越来越重要。在[9]、[69]、[78]、[79]中,研究人员构建了静态密集语义图,将密集vSLAM与语义分割标签集成在一起。对于动态环境重建,[10]、[35]、[60]采用实例感知语义分割将对象分类为背景、移动对象或潜在移动对象,然而,它们未能实现系统的实时性能。考虑到语义vSLAM的实时性问题,一些研究人员尝试构建稀疏语义地图。由[11]、[36]、[44]、[47]、[51]、[64]表示,这些方法基于ORB-SLAM2框架,并将语义对象与实时构建稀疏3D语义对象映射相结合。必须注意的是,语义地图比传统的视觉地图更广泛地用于智能场景,然而,它需要面对繁重的计算、不同类型对象的识别和地图存储的挑战。

语义SLAM数据集

众所周知,由于昂贵的设备和设备操作的复杂性,大多数SLAM系统在多个公共数据集上评估其算法以证明其在某些方面的有效性,最常用的SLAM数据集包括KITTI、TUM RGB-D、ICL-NUIM和EuRoC MAV。这些数据集收集自不同的环境,适用于不同的vSLAM算法,因此,找到合适的数据集来评估vSLAM非常重要。最近,文章[84]整理了过去十年中SLAM工作中常用的数据集,并对其进行了全面介绍和分析,这将有助于SLAM社区找到合适的数据集。我们总结了适合语义vSLAM的数据集,并从中进行评估和比较。

A、 数据集分类

数据集的分类通常基于传感器差异或适用场景,以帮助他们理解和利用现有的SLAM数据集,根据传感器的不同,SLAM相关数据集可分为激光雷达、视觉和视觉激光雷达融合数据集,视觉传感器的优势在于它们是廉价且无处不在的视觉设备,可以是移动电话或相机,尽管这些设备不如雷达设备那样强大和准确,但它们被公认为在SLAM领域具有巨大潜力,并正在稳步向前发展。此外,基于语义的vSLAM显著提高了传统vSLAM的性能,这归因于通过语义提取在视觉图像中获得丰富的环境信息,帮助机器人对未知环境有高水平的理解,为了帮助语义vSLAM系统选择合适的数据集,我们调查了当前的开源数据集并收集了31个数据集。对于每个数据集,我们从八个维度描述数据集,显示尽可能多的关于每个数据集的信息,如表I所示。

我们明确指出数据集是否包含语义标签,标签类型包括对象框架、语义分割、实例分割以及是2D还是3D,此外,还指出了数据集中有多少对象类别,因为这些语义注释对于检查语义vSLAM非常有帮助。

B、 数据集概述和比较

数据集收集的结果如表一所示,本文主要显示了近年来开源的31个数据集,包括六个经典、高引用数据集和过去五年发布的25个数据集,本文提供了以下建议指南考虑各种传感器设备。除了MulRan之外,大多数收集的数据集都可以用于评估语义vSLAM。考虑环境的挑战(光线变化、弱纹理、恶劣天气),一些SLAM系统试图说明其系统在恶劣环境中的鲁棒性,因此研究人员可以选择数据集[90]-[93]进行评估考虑不同的场景,如果研究人员需要多场景数据集,那么他们可以从城市数据集[87]、[94]、室内数据集[95]、[96]、丛林数据集[97]中进行选择选择带有数据标签的数据集。研究人员如果正在研究语义vSLAM,他们可以选择评估数据集[80]、[85]、[88]、[93]、[94]、[97]–[103]选择不同的运动模式。对于不同的应用场景,需要选择不同的捕获设备运动模式,例如机器人、汽车、UAV、USV、手持设备和仿真设备,最近,模拟设备受到SLAM社区的欢迎,因为它不需要考虑场地限制,而且其设备成本低、耗时短。

C 语义VSLAM与传统VSLAM的比较研究

传统的vSLAM系统基于图像信息估计未知环境中的机器人姿态,并使用多视图几何原理构建低级别地图,目前,传统的vSLAM系统主要表现为基于滤波的方法、基于关键帧的BA方法、和直接跟踪方法。传统vSLAM通过点云表示周围环境,如稀疏地图、半稠密地图和稠密地图,由于这些地图中的点云与环境中的对象不对应,因此它们对机器人来说没有意义,如图3c所示。

图3(a)(b)是不同视角的场景图像,(c) 基于传统vSLAM点云表示的3D地图,(d) 基于语义信息的环境重构

因此,研究人员尝试使用几何和先验感知信息来浓缩和理解3D点云的特征,这有助于机器人感知高层次的环境细节,随着语义概念的兴起,vSLAM系统与语义信息解决方案相结合,大大提高了机器人感知未探索环境的能力,在3D语义地图中,语义信息为点云提供语义标签,帮助构建3d地标信息的语义图,经过多年的开发和验证,语义信息提高了vSLAM对环境的鲁棒性,并实现了更精确的回环闭合。语义vSLAM的早期工作可以追溯到Salas Moreno等人的早期研究,他们认识到,传统的vSLAM系统在需要严格处理的低级特征上运行,此外,通过传统方法构建地图只会产生噪声点云,这些点云看起来不像人类视觉中显示的地图,值得注意的是,该系统仅限于预先建立的对象数据库,并对检测对象的位置有严格要求,然而,它为语义vSLAM的后续开发提供了必要的基础,近年来,基于特征点的vSLAM系统在定位方面表现出了突出的准确性和鲁棒性,因此研究人员尝试构建基于ORB-SLAM2算法框架的语义vSLAM。语义vSLAM的开发近年来备受关注,但许多解决方案局限于特定场景,在实际应用中面临许多挑战,当面对在短时间内处理大量语义对象度量时,语义信息的有效过滤和关联仍然值得进一步研究。

为了更形象地比较语义vSLAM,我们收集了2017年至2022年的30个语义vSLAM系统,如表II所示,不同的语义vSLAM系统有其特点。例如,[59]、[68]的优点在于,它适用于各种类型的传感器,满足实时需求。[2] ,[10]、[62]、[65]、[127]显示了重建3D对象的优势,弥补了[11]、[43]、[124]、[130]的不足。然而,重建对象会消耗大量计算资源,使得其在实时性能上可能低于其他语义vSLAM系统。[65]、[124]、[127]、[132]适用于动态室外场景,这些系统的鲁棒性远远优于室内或静态vSLAM。从2017年至2022年的语义vSLAM工作来看,语义vSLAM系统的输入数据类型越来越多模态,这些工作越来越强调对象重建。此外,这些作品的应用场景正逐渐向大规模和动态环境发展,语义vSLAM的实时性能可以满足当前应用的要求,而无需重建对象的外观。

从近年来SLAM的发展来看,语义vSLAM被认为是提高vSLAM系统感知能力的最佳方法,传统的vSLAM系统主要使用低级几何特征进行匹配和定位,例如角点、线和曲面特征,通过引入语义信息,语义vSLAM系统可以感知有关环境的高级信息,如识别行人和检测车辆,这大大丰富了地图信息,提高了定位精度。目前,语义信息可用于传统SLAM算法框架的所有阶段,包括初始化、后端优化、重定位和回环闭合。然而,当前有限的计算资源与对算法计算资源日益增长的需求之间的矛盾极大地阻碍了语义vSLAM的发展,例如,在语义信息提取中,系统需要获取实时语义信息,并需要对语义信息进行及时过滤和关联。此外,需要注意的是,语义vSLAM仍处于开发阶段,许多隐藏的问题需要解决。例如,错误的对象关联将使系统在对象级SLAM中变得脆弱。

展望

A、 多模态数据融合

一些语义SLAM工作使用多模态传感器(如RGB摄像机、深度摄像机、激光雷达)进行未知环境中的姿态估计和建图,在复杂和动态环境中,多模态语义SLAM系统可以更加鲁棒和准确,因为这些系统包含多模态语义信息,减少了对象关联的模糊性,此外,这些系统更准确地识别动态对象,以减少由动态对象引起的定位漂移。当然,经过处理的多模态环境信息可以用于构建稠密的语义地图,然而,在复杂和高度动态的环境中,这些传感器单独获取的语义信息不再足以满足实际需要,因此,未来的语义SLAM工作可以尝试融合更多传感器(如毫米波雷达、红外摄像机和事件摄像机)和先前的语义地图(如2.5D地图)。虽然多模态方法可以获得更丰富的语义对象信息,有助于改善对象关联的模糊性,但它们也带来了挑战,如多传感器的校准和同步、实时融合以及多模态语义信息的关联。

B、 多机器人协作模式

多机器人系统是机器人学最重要的研究方向之一,在多机器人协作SLAM系统中,机器人之间的相互通信和协调可以有效利用空间分布的信息资源,提高问题求解效率,此外,系统中单个机器人的不作用不会影响其他机器人的操作,这些机器人比单机器人系统具有更好的容错性和抗干扰性。在传统的SLAM研究中,多机器人系统有两种协作方法,一种是每个客户端机器人分别构建本地地图,服务器接收并融合所有本地地图以构建全局一致的地图。另一种是分散式架构,多机器人协作的前提是如何高效、准确地执行多机器人全局定位,但基于外观的定位方法难以在显著的视点差异和光线变化下实现精确定位,近年来,语义信息(例如文本信息)的融合帮助多机器人系统变得更加鲁棒,这归功于基于外观和上下文的语义定位方法,这些方法可以稳定和准确地执行全局定位,此外,多机器人为语义vSLAM带来了多视图语义信息,例如,在对象关联中,从多视图观察的对象会增加同一对象的观察次数,这可以有效避免对象关联的模糊问题,但同时也增加了计算成本。

C、 语义信息的获取与关联

语义信息的获取和关联仍然是语义vSLAM系统中值得研究的问题,当前的语义信息获取方法基于深度学习模型,模型的泛化和准确性决定了语义信息的准确性,例如,当对象被遮挡时,它很容易被对象检测方法忽略,随着对象测量的数量累积,将对象测量与地标正确关联变得更加困难,当前的对象关联方法通常基于语义信息,如距离、方向和外观,然而,当环境中出现相同类别的对象、彼此接近的对象、模糊对象或动态对象时,不可能通过采用常规方法精确地关联对象,因此,我们需要更深入的研究来挖掘潜在的语义信息约束,以改善对象关联和全局定位。

总结

该综述总结了机器人视觉感知语义信息的最新发展,包括语义信息提取、对象关联、定位和建图,为了让读者了解该领域的现状,我们总结了调查中的一些代表性作品,介绍了三种基于深度学习模型的获取语义信息的方法:对象检测、语义分割和实例分割。还介绍了语义信息关联问题,总结了语义信息在vSLAM中的应用,此外收集并评估了30个开源SLAM数据集,最后给出了传统vSLAM和语义vSLAM之间的差异,列出了30个语义vSLAM系统,调查中的大部分参考文献来自过去五年,并还对语义vSLAM的未来发展提出了一些看法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档