Semantic Visual Simultaneous Localization and Mapping A Survey

基于视觉传感器的SLAM,又称视觉SLAM(visual SLAM),因其硬件成本低、小场景精度高、能获取丰富的环境信息等优点,近年来成为热门的研究方向。

VSLAM的缺点也很明显。一方面,在应对光线变化、动态物体移动和缺乏纹理的环境方面仍有许多挑战。另一方面,该系统计算量大,构造的几何地图难以用于路径规划和导航。

语义SLAM是指SLAM系统在建图过程中不仅获得环境中的几何结构信息,同时可以识别环境中独立个体,获取其位置、姿态和功能属性等语义信息,以应对复杂场景及完成更加智能的服务任务。

语义VSLAM的三个主要问题:语义信息的提取与关联、语义信息的应用以及语义VSLAM的优势。

《在SLAM中,基于语义信息执行任务需要准确的目标识别。对象的语义信息以TOSM的形式存储,其中包含符号、显式和隐式信息。语义分析是将通过传感器接收到的信息与预先映射的感官数据数据库和知识库进行合并。结果,它被表示为语义描述符,我们通过匹配描述符提出并执行数据关联,然后最终识别对象。》

将语义信息集成到系统中,语义信息有两种方式与视觉SLAM相结合。

  1. 将语义信息与定位相结合,优化定位的准确性、鲁棒性和实时性。
  2. 将语义信息与建图相结合。这些方法大多采用三维重建技术,其目的是完成语义图的构建,仅使用摄像机作为传感器是不够有效的。

语义SLAM的技术框架,大致为语义提取、SLAM定位与建图两部分,不同的语义SLAM问题区别在于语义提取的方法、语义信息的应用。

语义提取主要体现为图像的处理,对图像进行识别分割,加语义标签,而识别与分割图像的方法目前主要为深度学习方法,比如CNN、R-CNN等卷积神经网络,网络模型训练的结果也决定着语义SLAM的最终效果。

对于语义信息的应用,主要体现在辅助定位与语义地图,而辅助定位又可以分为SLAM特征提取、回环检测、BA等方面,提高SLAM本身的定位精度,语义地图主要是构建含语义信息的可用于导航的地图,为机器人层面理解提供丰富的信息。

与传统的VSLAM相比,语义VSLAM不仅可以获取环境中的几何结构信息,还可以提取独立对象的语义信息(如位置、方向和类别)。在定位中,语义VSLAM借助语义约束提高了定位的准确性和鲁棒性。在映射中,语义信息提供了丰富的对象信息来构建不同类型的语义映射,如像素级映射[9],对象级映射[10],[11]。因此,语义VSLAM可以帮助机器人提高对未知的准确感知和适应能力

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

语义VSLAM的框架大致可以分为语义信息提取模块和VSLAM模块,如图2所示。此外,语义VSLAM方法的关键是准确地识别环境中的对象。

对于语义提取的过程,可以把这个过程看作是识别图像中感兴趣的对象并获取关于对象的信息。近年来出现的深度学习技术是最有前途的语义提取方法。语义对象提取的研究逐渐从传统的机器视觉算法转向深度神经网络的方向,如CNN和R-CNN。它们的语义提取精度和实时性都能满足SLAM的要求。

语义VSLAM提取语义信息常用的方法有三种,分别是对象检测[21]-[28]、语义分割[29]-[32]和实例分割[33]。此外,语义对象关联的处理也至关重要。我们将在下面描述语义信息的提取和关联。

图2所示:语义机器人的总体框架。语义视觉SLAM由语义信息提取和视觉SLAM两个相互影响的模块组成。语义视觉SLAM广泛应用于自动驾驶、路径规划和导航等领域。

Semantic Information Extraction

Object Detection对象检测:

语义VSLAM中的对象检测模块可以帮助SLAM系统从图像中获取对象。通过将其与SLAM结合,我们可以构建对象级语义映射,提高对环境的理解。目前语义VSLAM中使用的对象检测方法主要分为单阶段方法和两阶段方法两大类。

语义VSLAM通常采用SDD[21]或YOLO系列(YOLOv1[22]、YOLOv2[23]、YOLOv3[24]、YOLOv4[25])作为单级对象检测方法。

SSD[21]是第一个基于DNN的实时对象检测器,在PASCAL VOC数据集[34]中实现了70%以上的mAP,TitanX中达到了40 FPS。SSD也是一种单级物体检测检测器,能够很好地平衡速度和精度。因此,几个语义VSLAM工作[35]–[38]将SSD部署为检测器模块。

[36]–[38]利用SSD来检测静态对象,而不考虑动态对象,但Zhong等人[35]认为,大多数语义VSLAM工作在动态和复杂环境中表现不佳。为了解决这些挑战,他们通过SSD检测器检测潜在的移动对象(例如,人、车辆、动物),并剔除其区域,以消除动态对象对姿态估计的影响。

实验结果表明,该系统有助于机器人在未知和动态环境中可靠、高效地完成任务。然而,在暴力移除潜在的动态对象时,不可避免地将非动态区域识别为动态区域。

YOLOv1[22]检测器比SSD早,但其速度和检测性能与SSD相当,因此也应用于语义VSLAM中进行对象检测[39]。很快Redmon等人提出了YOLOv2[23],在识别类型、检测精度、速度和定位精度上都比YOLOv1和SSD有了很大的改进。考虑到YOLOv2的良好性能足以满足语义VSLAM的需求,一些研究[11]、[40]-[42]尝试使用YOLOv2作为语义VSLAM的检测器。

Bavle等[40]提出了一种基于室内环境语义信息的粒子滤波定位方法。它们将语义信息融合到先前的地图中,帮助空中机器人进行精确定位。在室外语义VSLAM中,[41]、[42]分别使用YOLOv2检测室外车辆和街道路标,获得大量的目标测量值以提高定位精度。Yang等[11]提出了一种适用于室内外场景的单幅图像三维长方体检测方法,该方法通过YOLOv2检测器和消失点技术获取三维语义对象。YOLOv3[24]利用残差网络结构和多尺度检测思想,形成更深层次的网络,提高了平均精度(mean average precision,mAP)和小目标检测。

因此,大量语义VSLAM作品[43]-[48]使用该检测器来满足动态环境中目标检测和定位的精度。在这些方法中,Nicholson等[43]专门设计了一种基于YOLOv3的目标检测器传感器模型。从而解决了部分可见物体的检测难题,大大提高了VSLAM的精度。无论是SSD还是YOLO系列,都满足语义VSLAM最关键的要求,即实时。因此,它们在许多语义VSLAM系统中被广泛使用。

除了实时性外,检测精度也会影响语义VSLAM的性能。因此,有若干作品(如[2]、[49])采用两级探测器进行物体检测,如R-CNN[26]、Fast R-CNN[27]、Faster R-CNN[28]。

与单阶检测器不同的是,双阶检测器需要获取区域建议,对结果进行分类并调整候选边界框位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值