语义SLAM综述
摘要
SLAM技术在计算机视觉和机器人领域中占有重要地位。传统的SLAM框架采用了较强的静态世界假设,便于分析。大多基于小区域静态环境。在大规模的动态环境下,它们大多难以获得较好的性能,系统的准确性、快速性仍需加强。如何应对动态环境是一个非常重要而又备受关注的问题。现有的面向动态场景的SLAM系统要么只利用语义信息,要么只利用几何信息,要么以松散耦合的方式天真地组合它们的结果。近年来,一些研究集中在语义信息与视觉SLAM的结合上。
当前现状
视觉 SLAM(visual SLAM)是以图像作为主要环境感知信息源的SLAM系统,可应用于无人驾驶、增强现实等应用领域,是近年来的热门研究方向。典型视觉SLAM算法以估计摄像机位姿为主要目标,通过多视几何理论来重构3D地图。为提高数据处理速度,部分视觉 SLAM算法是首先提取稀疏的图像特征,通过特征点之间的匹配实现帧间估计和闭环检测,如基于SIFT(scaleinvariant feature transform)特征的视觉 SLAM和 基于ORB(oriented FAST and rotated BRIEF)特征的视觉。SIFT 和 ORB 特征凭借其较好的鲁棒性和较优的区分能力以及快速的处理速度,在视觉 SLAM 领域受到广泛应用。
但是,人工设计的稀疏图像特征当前有很多局限性,一方面如何设计稀疏图像特征最优地表示图像信息依然是计算机视觉领域未解决的重要问题,另一方面稀疏图像特征在应对光照变化、动态目标运动、摄像机参数改变以及缺少纹理或纹理单一的环境等方面依然有较多挑战。面对这些问题,在视觉 SLAM 领域近年出现了以深度学习技术为代表的层次化图像特征提取方法,并成功应用于SLAM帧间估计和闭环检测。深度学习算法是当前计算机视觉领域主流的识别算法,其依赖多层神经网络学习图像的层次化特征表示,与传统识别方法相比,可以实现更高的识别准确率。同时,深度学习还可以将图像与语义进行关联,与 SLAM 技术结合生成环境的语义地图,构建环境的语义知识库,供机器人进行认知与任务推理,提高机器人服务能力和人机交互的智能性。
重要环节
视觉里程计:
视觉里程计也称为帧间估计(inter-frame motion estimation),是通过分析关联摄像机图像之间的多视几何关系确定机器人位姿与朝向的过程,可作为视觉 SLAM 的前端。相较于传统的基于稀疏特征或稠密特征的帧间估计方法,基于深度学习的方法无需特征提取,也无需特征匹配和复杂几何运算,使得基于深度学习的方法更加直观简洁。
闭环检测:
闭环(loop closure)检测是视觉SLAM领域的一个关键问题和研究热点,是指机器人在地图构建过程中,通过视觉等传感器信息检测是否发生了轨迹闭环,即判断自身是否进入历史同一地点。目的是减少机器人姿态估计的累积漂移,实现在大规模复杂环境下的精确导航。闭环检测发生时可触发 SLAM 后端全局一致性算法进行地图优化,消除累积轨迹误差和地图误差。正确的环路闭合检测可以在位姿图中加入边缘约束,进一步优化机器人的运动估计,建立一致的地图,而环路闭合检测不正确会导致地图建立失败,因此,一个好的环路闭合检测算法是至关重要的。闭环检测问题本质上是场景识别问题,传统方法通过人工设计的稀疏特征或像素级别稠密特征进行匹配,而深度学习则可以通过神经网络学习图像中的深层次特征,其识别率可以达到更到水平。
目前遇到的问题
环境的动态性在实际应用中是普遍存在的,有时动态元素甚至占据了场景的很大一部分,例如城市街道上总是有移动的人或车。由于静态世界的假设,标准的slam 上述系统高动态环境的准确性大大降低,结果可能是完全不可靠的。
一般环境通常分为动态环境和静态环境。不像静态环境只有静态对象,动态环境有一些可以自主移动的目标,如人、动物、车辆等。目前大多数的视觉SLAM系统都可以在静态环境中获取特定的姿态和地图。但在具有动态对象的场景中,其定位和映射能力较弱。因为移动的物体会极大地干扰结构和定位。在ORB-SLAM的情况下,不可能确定特征点来自静态还是动态对象。由于来自动态对象的特征点在环境中不断移动,必然会对定位和映射造成干扰。近年来,一些可视化SLAM解决方案与语义网络相结合,取得了很好的效果。
视觉SLAM结合其它应用
1视觉与惯性测量单元(IMU)融合(VI-SLAM):
早期的VI-SLAM,例如MSCKF,是基于EKF(EKF是一种基于概率模型的状态和参数的估计方法,通常用于解决非线性系统模型的估计问题。EKF是对标准Kalman滤波进行扩展,用Taylor级数展开的一阶项来近似非线性的方程,从而运用 Kalman 滤波对系统状态进行递归估计,以测量误差为依据进行估计和校正,不断逼近真实值(就是EKF对非线性系统线性化,之后再利用卡尔曼滤波进行线性系统的估计))的VIO方法。
近年来,Leutenegger等人提出了OKVIS系统,该系统采用非线性优化来提高精度,适用于立体相机。
Bowman等人提出共同解决度量性问题,利用对象识别来将度量和语义信息紧密地结合在传感器状态和映射估计中。除了提供对场景的有意义的解释之外,带有语义标记的地标地址还解决了两个关键的几何SLAM问题:数据关联(匹配传感器观测到地图地标性)和循环关闭(识别前访问的地点)。
VINS - Mono是Qin等人提出的另一种基于非线性优化的VIO算法。这种融合方法使用IMU来测量角速度和加速度。虽然存在漂移,但IMU可以在较短的时间内为快速运动提供合理的估计。摄像机数据几乎不漂移,因此IMU的读数也可以修正。与视觉冲击相比,激光冲击的提出更早,技术更成熟。
2视觉与激光雷达融合(VL-SLAM):
大多数较老的激光SLAM方案都是基于Hector SLAM和GMapping等滤波方法。然后利用图形优化的方法对一些方案进行改进,如Karto SLAM,Cartographer。Kaijaluoto等人比较了Hector slam、GMapping、Karto slam三种激光打击方法,并详细分析了它们的优缺点。激光打击精度高,抗干扰能力强,但没有视觉带来的语义信息。
近年来,一些解决方案将摄像机与激光雷达相结合以获得更好的结果。Zhang等人提出了一种快速移动速度和强烈光照改变时性能更好的实时方法。Wang等人提出利用激光测距来校正视觉的尺度漂移。
3视觉与编码器融合(VE-SLAM):
关于VE-SLAM的研究相对较少。该视觉SLAM方案在轮式机器人应用中具有良好的鲁棒性和实时性。RTAB-MAP和DREAM - SLAM利用了这种融合方法。通常情况下,移动机器人是在一个平面内移动的,而IMU有时会失去它的功能。因此,视觉与编码器的融合比视觉与IMU的融合具有更好的性能。
语义分析
在SLAM中,基于语义信息执行任务需要准确的目标识别。对象的语义信息以TOSM的形式存储,其中包含符号、显式和隐式信息。语义分析是将通过传感器接收到的信息与预先映射的感官数据数据库和知识库进行合并。结果,它被表示为语义描述符,我们通过匹配描述符提出并执行数据关联,然后最终识别对象。
1基本框架
是新获得的数据,蓝色块是预先映射的数据库。语义分析(红框)是将感官数据与数据库进行融合,生成语义描述符的过程。然后我们得到了两个语义描述符:一个来自环境,另一个来自map。数据关联是匹配两者的过程。
从图像中提取数据进行语义分析并提取其特征涉及以下两个过程。首先是对视频输入数据进行预处理。降低摄像机等传感器接收到的视频输入数据的噪声是必要的。我们使用光照均衡和对比度增强来处理。此外,应用各种过滤器去除噪音。第二个过程是提取特征。利用计算机视觉方法提取特征点。这里描述的特性包括全局特性和局部特性。然后,我们根据提取的颜色、边角等特征分析图像。
2语义结合SLAM
将语义信息集成到系统中,语义信息有两种方式与视觉SLAM相结合。一种是将语义信息与定位相结合,优化定位的准确性、鲁棒性和实时性。另一种方法是将语义信息与建图相结合。这些方法大多采用三维重建技术,其目的是完成语义图的构建,仅使用摄像机作为传感器是不够有效的。
3优势
语义SLAM是指SLAM系统在建图过程中不仅获得环境中的几何结构信息,同时可以识别环境中独立个体,获取其位置、姿态和功能属性等语义信息,以应对复杂场景及完成更加智能的服务任务。
语义SLAM的优势在于:
(1) 传统SLAM方法以静态环境假设为前提,而语义SLAM可以预知物体(人、汽车、动物等)的可移动属性。
(2) 语义SLAM中的相似物体知识表示可以共享,通过维护共享知识库提高SLAM系统的可扩展性和存储效率。
语义SLAM可实现智能路径规划,如机器人可以搬动路径中的可移动物体等实现路径更优。
语义 SLAM 的关键在于对环境中物体目标的精准识别,而近年兴起的深度学习技术恰好是当前最具潜力和优势的物体识别方法,因此深度学习和语SLAM的结合受到领域内研究者的广泛关注。地图的语义生成与 SLAM 过程是可以相互促进 的两部分。一方面精确的地图构建有利于目标模型的学习和分类,另一方面目标的精确识别和分类有利于地图的精确构建,如精准的闭环检测等,因此两者是相辅相成的.语义信息生成的挑战在于精确 的物体目标级别或像素级别的分类。
具体方法归纳
为了成功实现基于语义信息的SLAM,目标识别至关重要。在我们的语义SLAM方法中,机器人应该只知道周围物体的位置。TOSM中隐含的信息包含了概念知识,我们在其中存储的数据不能仅被传感器感知。但是,它不仅需要区分对象类,还需要区分给定检测对象与哪个特定对象实例相关。在许多方法中,通过检测特征点并将其表示为描述符来识别对象。对于特征点有几种类型的描述符,例如SIFT和SURF。
在实践中许多观点是对象,如人、动物、汽车等。消除动态对象干扰的方法有两种,一种是基于特征的方法。另一种方法是识别动态对象,然后处理它们,这是当前的主流方法。
基于一般方法–特征法:
Wangsiripitak和Murray提出了基于边缘的多面体跟踪来实现动态对象判断。Tan等人将关键帧投影到当前帧进行外观和结构比较,可以检测变化区域。Jaimez等人使用几何聚类将对象分为动态和静态部分。Sun等人提出了一种运动去除方法改善RGB-D在动态环境中,他们也提出了一个背景建模方法部分前景从背景这些方法更加依赖对象的形状和颜色特征和环境中不能有更好的适应性。
识别动态特征检测并处理法:
YOLO
YOLO :将以往目标检测的各个单独步骤集成到一个神经网络中,使得网络基于整个图像的特征(全面地关注图像中的完整图像和所有目标)来预测所有类的所有边界框,实现端到端训练和实时检测的目的。Zhang等人使用YOLO来获取语义信息,他们认为总是位于移动对象上的特征是不稳定的,并将其过滤掉。
SSD
SSD: 在特征图上采用卷积神经网络进行预测一系列的默认的边界框的类别以及偏移量;在不同尺度下进行预测,得到具有不同纵横比的结果;实现端到端的训练,在分辨率较低的图像上也能获得较好的结果。检测速度比YOLO快。Liu 等提出的基于卷积神经网络的单次拍摄多边界框检测(SSD)方法,对关键帧图像生成固定数量的物体建议边界框,并计算每个建议边界框的置信值。Zhong等人利用对象检测网络SSD对人、狗、猫、车等移动对象进行检测。例如,一旦检测到一个人,它就被认为是一个潜在的移动对象,无论它是行走还是站立,所有属于这个区域的特征都会被删除。Xiao等人使用运行在单独线程中的SSD对象检测网络来获得动态对象的先验知识,然后在跟踪线程中通过选择性跟踪算法处理动态对象的特征,以显著降低姿态估计的误差。
Li等提出了基于 CNN 和 LSD-SLAM(largescale direct SLAM)的单目半稠密3维语义建图构建方法,其过程与 McCormac 所提方法类似,但利 用 LSD-SLAM 代替Elastic Fusion 方法估计摄像机位姿,利用单目相机而非 RGB-D 深度相机和立体相机。其过程分为 3 部分:首先选取关键帧估计摄像机位姿,提高处理速度;其次利用 DeepLab-v2 中的 CNN 架构进行像素级分类,包含亚卷积和亚 空间金字塔池化(ASPP)两个核心组件,以扩大滤 波范围,融合多尺度特征信息;最后利用贝叶斯升 级像素分类概率预测,结合条件随机场(CRF)进行地图正则化,对生成的语义分割地图进行噪声平滑。
SegNet
SegNet: 通过对图像中每一个像素点进行分类,识别每一个像素点的类别来实现图像的分割[37]。Yu等人使用SegNet在一个单独的线程中获得像素性的语义标签。如果将一个特征分割为“person”,那么进一步的移动一致性检查就会使用epi极性几何约束。如果检查结果是动态的,那么所有带有语义标签“person”的特性将被分类为动态和删除。
Mask-RCNN
Mask-RCNN: 是在faster-RCNN的基础之上来进行改进的,是专门负责做目标检测任务的检测精度与SSD相当。Bescos等人结合掩模R-CNN和多景几何的语义分割结果。他们实际上是把这两个结果结合在一起:特征是有蓝色的动力几何的动力,都被认为是动态的。
LK光流法
LK光流法:通过 Lucas-Kanade( LK) 光流法用一定的阈值检测出移动物体所处的区域,然后剔除移动物体所在区域里的特征点,重新进行特征点匹配,计算相机位姿的精确值。光流,即相同像素在连续两帧之间的位移关联,主要分为稠密光流和稀疏光流。是一种比较常见的稀疏光流跟踪方法,经常与图像金字塔一起使用,可以很好地跟踪物体的运动。
DS
DS-SLAM:使用语义网络分割动态对象。
Lianos等人提出了一种可以应用于现有视觉SLAM的视觉语义量测框架。
SOF
SOF-SLAM:检测方法是语义光流法。一种基于ORB-SLAM2 RGB-D模式的面向动态环境的视觉语义SLAM系统(2019.8) 是一种紧密耦合的方法,能够充分利用隐藏在语义和几何信息中的特征的动态特性,有效合理地去除动态特征。利用语义分割信息来辅助基础几何的计算,而不是简单的结果组合。因此,我们的系统可以更合理和有效地去除动态特征,从而得到更准确的结果。
Xu等人提出了MID-Fusion融合系统,该系统使用掩码R-CNN来寻找语义实例。
RTFNet将RGB图像与热图像相结合,在弱光环境下获得更好的性能。
Wang等人提出了一种自监督学习方法来分离可驾驶区域和道路异常。
Li等人利用RTAB-MAP的数据融合方法,结合ORB-SLAM 2的特征提取和匹配算法,提出了一种结合增强语义分割的新系统。一个有效的视觉大满贯系统架构集成不同的传感器数据来定位和地图在复杂环境中语义分割 精度提高了增强语义标签随深度值和彩色图像处理修复语义标签是建立在地图上实现语义地图。
环路闭合检测
随着深度学习的发展,大量的研究者将卷积神经网络(Convnets)应用于环路闭合检测。它们从多层神经网络中自动提取特征信息,并与传统方法进行比较,证明Convnets提取的特征对光照变化具有更强的鲁棒性。然而,基于Convnets的方法也有一些缺点,因为它通常需要大量标记数据来训练网络。此外。convnets提取的特征是全局特征,对较大的视点变化鲁棒性差。
Xiang等人提出了一种新的基于模块空间金字塔池的卷积自动编码器(SPP-CAE),它大大提高了从Convnets中提取特征的鲁棒性。
Liu等人提出了一种基于混合卷积神经网络的环闭合检测的深度学习结构。主要思想是生成对视点和照明变化都具有良好不变性的高级语义特征。它极大地提高了高层次语义特征的鲁棒性,并对两个点不变性和条件不变性都表现出了鲁棒性。
总结
语义SLAM的技术框架,大致为语义提取、SLAM定位与建图两部分,不同的语义SLAM问题区别在于语义提取的方法、语义信息的应用。语义提取主要体现为图像的处理,对图像进行识别分割,加语义标签,而识别与分割图像的方法目前主要为深度学习方法,比如CNN、R-CNN等卷积神经网络,网络模型训练的结果也决定着语义SLAM的最终效果。对于语义信息的应用,主要体现在辅助定位与语义地图,而辅助定位又可以分为SLAM特征提取、回环检测、BA等方面,提高SLAM本身的定位精度,语义地图主要是构建含语义信息的可用于导航的地图,为机器人层面理解提供丰富的信息。
来源:CSDN
作者:a1003032404
链接:https://blog.csdn.net/a1003032404/article/details/104538205