A Review of Visual-LiDAR Fusion based Simultaneous Localization and Mapping
基于视觉-激光雷达融合的同时定位与建图技术综述文章目录
- A Review of Visual-LiDAR Fusion based Simultaneous Localization and Mapping
- 摘要
- 一、介绍
- 二、同时定位与建图
-
- 2.1 原理
- 2.2 基于概率估计的SLAM解决方案框架
- 2.3 基于图的SLAM框架解决方案
- 3.视觉slam
-
- 3.1基于特征点的SLAM
- 3.2基于直接法的SLAM
- 3.3 RGB-D SLAM
- 3.4 事件相机SLAM
- 3.5 视觉SLAM总结
- 4.激光SLAM
-
- 4.1 扫描匹配与图优化
- 4.1.1 覆盖地图和粒子滤波器
- 4.1.2 回环精炼步骤
- 5.激光-视觉融合
-
- 5.1 强制标定步骤
- 5.2 视觉-激光 SLAM
-
-
- 5.2.1 基于EKF融合的SLAM
- 5.2.2 改进的视觉SLAM
- 5.2.3 改进的激光SLAM
- 5.2.4 激光-视觉一致的SLAM
- 5.3 总结
-
- 6.讨论未来的研究方向
- 7.结论
摘要
自主导航既需要精确又可靠的建图与定位解决方案。在这种情况下,同步定位和地图(SLAM)是一个非常合适的解决方案。SLAM存在于许多应用场景,包括移动机器人、自动驾驶汽车、无人驾驶飞行器或自主水下机器人。在这些领域,视觉和视觉惯导SLAM都得到了很好的研究,并在文献中定期提出改进。然而,激光雷达-SLAM技术似乎与十年或二十年前相对相同。此外,很少有研究工作侧重于视觉-激光雷达方法,而这种融合将有许多优势。事实上,融合解决方案提高了SLAM的性能,尤其是在剧烈运动运动、光线不足或缺乏视觉特征等场景中。本研究提供了一个关于视觉激光雷达SLAM的综合调查。在总结了SLAM的基本思想及其实现后,我们对SLAM的研究现状进行了全面的回顾,重点介绍了使用视觉、激光雷达和两种模式的传感器融合的解决方案。
关键词:SLAM;建图;定位;融合;激光雷达;照相机;视觉
一、介绍
在过去的几十年里,移动机器人的自主导航一直是一个非常活跃的研究领域。自主导航的要求是,第一,机器人本身的良好和准确的定位,第二,对其环境具有良好的先验知识或感知。今天,使用的主要定位系统是全球导航卫星系统解决方案,它在地球上提供高精度的绝对定位。然而,这种系统并不总是可用或准确的,这取决于环境(隧道、洞穴、城市峡谷等)并且会导致某些仪表的误差,这对于安全自主导航是不可接受的。此外,移动机器人甚至需要能够在具有潜在障碍物的动态环境中导航,并且不总是具有关于其环境的任何先验信息(行星探索、搜索和救援等)。)。让机器人能够导航的唯一方法是以某种形式表示环境。在线生成3D地图似乎是在3D世界中实现完全自主导航的起点。这样的地图可以由简单的几何特征组成,也可以由更复杂的语义对象组成。有了一致的地图,机器人将能够检测自由空间、障碍物和容易检测的地标,以便精确和安全地导航。这样,机器人将能够自我探索和绘制未知环境的地图,并与它安全地互动。这种移动机器人的应用非常广泛:太空探索、自动驾驶汽车、海底分析、采矿应用、搜索和救援、结构检查等等。
这种导航方法被称为同时定位和绘图(SLAM)。SLAM是机器人系统使用不同种类的传感器构建环境地图,同时估计其在环境中的位置的过程。这样的地图可以被人类操作员用来可视化环境和设置机器人的路径,甚至可以被机器人自己用来自主规划自己的任务。这就是自主导航的情况,机器人必须规划自己的路径,在没有人类干预的情况下做出正确的决定。这样的机器人可以保持自身的稳定性,规划自己的运动,即使发生了一些意想不到的事件。
这种导航方法被称为同时定位与建图(SLAM)。SLAM是机器人系统使用不同种类的传感器构建环境地图,同时估计其在环境中的位置的过程。这样的地图可以被人类操作员用来可视化环境和设置机器人的路径,甚至可以被机器人自己用来自主规划自己的任务。这就是自主导航的情况,机器人必须规划自己的路径,在没有人类干预的情况下做出正确的决定。这样的机器人可以保持自身的稳定性,规划自己的运动,即使发生了一些意想不到的事件。
目前,SLAM应用中研究最多的环境之一是自主车辆的区域,因为它需要定位和建图来在环境中导航。最近,该行业提出了称为“自动”的汽车,但这些汽车只是自动导航的第一步,必须被视为“半自动汽车”,因为它们只保证在非常特定的情况下安全自动驾驶。特斯拉自动驾驶仪保证此时仅在高速公路路段或简单场景下自动驾驶[1],但需要驾驶员的全部注意力。考虑到谷歌汽车,它的设计只是为了在良好的天气条件下,在预先存在精确3D地图的情况下,在“开阔的道路上”移动自己 [2]。
大多数自动驾驶汽车使用激光雷达和/或立体摄像机来感知它们正在导航的环境。这种系统通常与差分全球定位系统(差分全球定位系统)或基于卫星的增强系统(SBAS)和惯性测量单元(惯性测量单元)混合使用,以增强定位解决方案的鲁棒性[3]。有了这种传感器,如果有非常好的全球导航卫星系统,定位精度可以下降到几厘米以内。然而,在全球导航卫星系统不可信的情况下,必须研究其他定位解决方案。大多数最先进的技术都试图用外部传感器(如毫米波雷达、激光雷达和单目/立体摄像机)来解决这一定位问题。通过使用这种外部感受传感器与经典本体感受传感器(IMU、里程计)的混合,这允许减少或消除由于这种相对定位方法的累积误差引起的漂移。有趣的是,最常用的模式(相机和激光雷达)是两种截然不同的传感器,各有优缺点。例如,激光扫描仪对障碍物检测和跟踪很重要,但对雨很敏感,而相机通常用于获得场景的语义解释,但不能在恶劣的照明条件下工作。由于它们看起来是互补的,它们的融合可以平衡各自的主要弱点。有趣的是,SLAM问题最具挑战性的问题是误差累积,它可以达到任意高的值[4]。使用视觉和激光雷达传感器可以减少局部不确定性,进而限制全局漂移。
本文的目的是提供一个现有的SLAM方法的概述,重点是新的混合激光雷达-相机解决方案。为了让新的研究人员能够接触到这篇论文,我们将首先在第2节中给出一个关于SLAM过程背后理论的简短提示。然后,因为当前主要的最先进的激光雷达相机解决方案是视觉SLAM和激光雷达SLAM的简单结合,所以我们认为对每种模式的SLAM有一个概述是很重要的。第3节将重点介绍不同类型的视觉SLAM (V-SLAM)方法,这意味着V-SLAM有一个单目和一个立体摄像机,但也有现代的RGB-D和事件摄像机。然后,第4节将给出一个基于激光雷达的SLAM概述。最后,在第5节中,我们将讨论关于混合相机-激光雷达SLAM的最新技术,以了解已经覆盖的方面,在第6节中,还有什么要做的。
二、同时定位与建图
2.1 原理
SLAM是一种同时估计传感器运动和重建访问区域几何结构的技术。这项技术最初是在1985年开发的,目的是实现机器人的自主控制[5]。SLAM已被广泛研究并应用于各种传感器和多种机器人平台。自1985年以来,SLAM技术一直处于交流发展中。今天,我们开始看到一些成熟的算法,但这些方法仍然非常依赖于平台、环境和必须调整的参数。
基本思想是使用地标相关性,并且需要它们来改进解决方案[6]。结合数据关联,SLAM解决方案可以执行环路闭合,以减少地图每个姿态的不确定性,因为环路中的每个地标似乎是相关的[4]。
SLAM是一个估计问题。我们希望估计包括机器人轨迹或姿态的变量X和代表环境中地标位置的变量M。给定一组测量值Z = {z1,.。。,zm}和测量或观察模型h(。)表示为X和M的函数,如:
Xk,Mk分别是X,M和eka随机测量噪声的子集。SLAM倾向于通过以下方式解决最大后验概率问题:
p(Z|X,M)是给定X和M的测量Z的似然,p(X,M)是X和M的先验。
假设观察值ZK是独立的,则MAP问题变成:
由于扩展卡尔曼滤波器(EKF) [7],该SLAM映射问题最初得以解决。它减少了不确定性,并在算法的每一步给出一个估计。使用概率模型,EKF保证了地图的收敛性和一致性。然而,它对数据关联误差非常敏感,并且所有地标及其协方差矩阵的永久更新需要大量的计算工作。图1给出了EKF-SLAM过程的框图。目前最先进的方法解决了这个映射问题,这要归功于优化技术,如束调整[8]或深度神经网络方法[9,10]。
图1 EKF-SLAM流程框图。当外部感受数据在时间t到来时,利用等式(5)预测机器人此时的状态,并且检测到的特征与地图中的特征相匹配。匹配允许使用等式(6)更新状态和映射。如果检测不在地图中,则尽可能对其进行初始化,并将其添加到地图中。这个过程是递归完成的(见等式(7))。
2.2 基于概率估计的SLAM解决方案框架
前面已经看到,SLAM是一个递归的估计过程。这种过程通常以概率的方式来看待,在这种情况下,必须完成经典的预测和更新步骤。
考虑机器人在未知环境中移动,我们定义:
xk:在时间k描述机器人的状态向量
xk | k-1:在已知先前状态的情况下,在时间k的估计状态向量
uk:在k-1应用的控制向量,用于将车辆移动到状态xk(如果提供)
mi:描述第i个地标的向量
z k,i:在时间k时对第i个地标的观察
X:从时间0到k的车辆位置集合
U0:k:从时间0到k的控制输入集合
Z0:k:从时间0到k的观察集合
M:地标或地图集合
Mk | k-1:在已知时间k-1的先前地图的情况下,在时间k的估计地图。
当我们考虑SLAM的概率形式时,在每个时间k,我们想要计算概率分布函数:
为了继续,我们必须使用递归解决方案,该解决方案使用由uk和 zk更新先验P(xk-1 | k-1,Mk-1 | k-1 | Z0:k-1,U0:k-1)。
为此,我们首先需要定义一个运动模型,该模型提供给定控制输入P(xk | xk-1,uk)的状态预测,其方式如下:
同样,我们还必须定义一个感知或观察模型P(zi,k|Xk,M),该模型将以如下方式将关于时间k处的检测I的传感器数据与估计状态联系起来:
图2显示了SLAM流程,该流程代表了本节中使用的所有变量。
图2. SLAM流程说明和符号。蓝色为估算的轨迹和地图;白色为轨迹真值
在此步骤中,我们已经计算了预测步骤和更新步骤,并且SLAM可以分别表示为以下等式的迭代估计,该等式是等式(5)和(6)的组合:
公式(7)给出了SLAM实现的递归贝叶斯方法。 SLAM问题的解决方案必须对运动模型和感知模型都进行适当的计算,以有效地计算递归方法。当前最先进的方法通常使用惯性测量单元作为预测步骤或关于车辆运动(恒定速度,恒定加速度等)的假设。考虑到观察模型,在视觉SLAM的情况下,它通常基于逆深度或经典透视图模型。考虑到LiDAR,RGB-D或RADAR方法,观察模型要容易得多,因为观察是对3D世界的直接3D测量。
在T = [R,t]的情况下,提供传感器6D姿态的刚性变换,K为传感器的内在函数和Π()为透视投影函数。可以看出,应该将该函数取反以匹配经典的观察模型(P3D = g(P2D,K,T))。但是,这样的反演不是很简单,因此估算步骤通常会推迟进行额外的P2D观测。然后,对P3Dmap进行三角化处理。
2.3 基于图的SLAM框架解决方案
在LiDAR情况下,该模型很简单,因为观察是通过经典的刚性变换直接链接到状态的,例如:
即使概率框架可以随LiDAR数据一起使用,这种SLAM方法也常常由于基于图的方法而得以解决,其中基于图的方法仅对相对变换的集合进行了优化[11]。
基于SLAM图的公式由[12]提出。通过抽象原始传感器测量值,它构造了一个更简单的估计问题。原始测量值将替换为图中的边缘,可以将其视为“虚拟测量值”。实际上,这样的边缘被标记为以两个姿势的相互测量为条件的两个姿势的相对位置上的概率分布。如图3所示,该过程由两个主要模块组成:图形构造(前端)和图形优化(后端)。在有限制的情况下,大多数优化技术都专注于计算最佳地图:这是SLAM后端。相反,SLAM前端试图从传感器数据估计最佳约束。
有关基于图的SLAM的教程,可以参考[13]。
3.视觉slam
在提及了SLAM理论之后,本节的目的是简要概述执行视觉SLAM的所有现有方法。 Visual-SLAM是机器人技术中最活跃的研究领域之一。视觉传感器一直是SLAM解决方案的主要研究方向,因为它们价格便宜,能够收集大量信息并提供较大的测量范围。 visual-SLAM的原理很容易理解。这种系统的目的是根据图像序列中像素的感知运动来顺序估计摄像机运动。这可以通过不同的方式来完成。第一种方法是检测和跟踪图像中的一些重要点。这就是我们所说的基于功能的视觉SLAM。另一个是在不提取特征的情况下使用整个图像。这种方法称为直接SLAM。当然,也存在使用不同相机的其他SLAM解决方案,例如RGB-D或飞行时间(ToF)相机(不仅提供图像,而且还提供景深),还有事件相机(仅检测)图片中的变化)。
在本节中,为清楚起见,我们建议将visual-SLAM分解为这些不同的类别。
3.1基于特征点的SLAM
基于特征的SLAM可以再次分解为两个子系列:基于滤波器的方法和基于捆绑调整的(BA)方法。文献[14]提出了这种方法之间的比较。 Davison等人在2003年提出了第一种单眼方法MonoSLAM。 [15,16]。通过使用扩展的卡尔曼滤波器,可以轻松完成特征和姿势的估计。这种基于过滤器的技术已显示在大型环境中受到限制,因为必须在状态中保存太多特征。为了减少这个问题,在2007年提出了PTAM [17]。它将姿态和地图估计分为不同的线程,并建议使用BA。当然,还提出了许多扩展[18,19]。为了使用BA改进基于特征点的SLAM,添加了循环关闭以检测是否已经看到关键帧[20,21]。在撰写本文时,用于SLAM的最常用算法是ORB-SLAM [22,23]。这种算法包含了大多数“技巧”,可以提高SLAM的性能,并可以使用不同的算法处理单眼,立体声和RGB-D摄像机配置。这种算法的问题是需要调整大量的输入参数,以使SLAM在给定的环境中工作。但是,如果我们对环境了解得足够多,可以进行每件事的调整,我们真的需要执行SLAM吗?在[24]中提出的工作试图减少这种参数的数量,并使visual-SLAM独立于平台和环境,但是没有达到ORB-SLAM的性能。
3.2基于直接法的SLAM
与基于特征的方法相比,直接方法无需任何特征检测器和描述符即可直接使用图像。这种无特征的方法通常以光度一致性来注册两个连续的图像(对于基于特征的方法,该注册基于特征点的几何位置)。在此类别中,最著名的方法是DTAM [25],LSD-SLAM [26],SVO [27]或DSO [28,29]。最后,随着深度学习的发展,出现了一些SLAM应用程序来模仿先前提出的方法[9,30]。此类研究工作生成了代表环境的半致密地图,但是直接SLAM方法非常耗时,并且通常需要基于GPU的处理。
3.3 RGB-D SLAM
基于结构化光的RGB-D相机传感器[31,32]最近变得便宜且体积小。这样的摄像机可以实时提供3D信息,但是最有可能用于室内导航,因为其范围小于4到5米,并且该技术对日光非常敏感。可以参考[33–38]了解RGB-D vSLAM方法。
3.4 事件相机SLAM
最后,事件相机是一种受生物启发的成像传感器,可以通过检测视觉“事件”(即图像的变化)来提供“无限”的帧频。这种传感器最近已用于V-SLAM [39-41]。但是,这项技术还不够成熟,无法得出关于SLAM应用程序的性能的结论。
3.5 视觉SLAM总结
如您所见,V-SLAM研究领域非常丰富,我们只对主要方法进行了回顾。对于visual-SLAM的更完整综述,可以阅读[42,43]。即使V-SLAM提供了很好的结果,所有这些V-SLAM解决方案也容易出错,因为它们对光线变化或低纹理环境敏感。此外,基于RGB-D的方法对日光非常敏感,因为它们基于红外光。因此,它们仅在室内场景下表现良好。考虑其他视觉方法,它们在没有纹理或环境恶劣的情况下表现不佳,在这种情况下无法准确估算像素位移。最后,图像分析仍然需要很高的计算复杂度。总结见表1。
这些缺点促使研究人员创建了优化的强大算法,可以处理数据错误并减少执行时间。由于所有这些原因,还针对SLAM工艺对其他传感器进行了研究。目前,首批自动驾驶汽车原型机主要依靠其他传感器:RADAR或LiDAR。
4.激光SLAM
每个设计为执行SLAM的移动机器人的共同点是,它们都使用了外感传感器。即使基于雷达的SLAM被证明是有效的[44-46],我们还是选择将本文的注意力集中在激光扫描设备上。这种选择的一个原因是,radar还不够准确,无法提供车辆周围的良好3D映射,因此,将其与视觉传感器融合非常困难。考虑到LiDAR,使用激光扫描仪进行3D映射由于其简单性以及准确性而仍然是一种流行的技术。的确,将LiDAR应用于SLAM问题,可以实现低漂移运动估计,并且具有可接受的计算复杂度[47]。
激光扫描方法似乎是2D和3D映射研究的基石。 LiDAR可以提供点云,这些点云可以轻松地实施于SLAM。停止-扫描[48]是使用LiDAR达到适当SLAM解决方案的首批尝试之一。它避免了运动失真,但不是导航的可靠解决方案。与IMU的融合可以使用将速度信息作为输入的误差模型来校正运动失真[49]。虽然IMU通常用于使数据不失真,但也经常用于预测运动。文献[50]中的工作表明,这种方法可能会导致过度收敛,并且提出了基于LiDAR里程计的失真分析。
4.1 扫描匹配与图优化
扫描匹配是使用LiDAR创建3D地图的基本过程,可提供有关运动的精确信息。注册3D点云的通用方法是迭代最近点(ICP)[51]。有关原理,请参见图4。其主要缺点是对点对应关系的昂贵搜索以及对最小化起点的高度敏感性。为了解决这个问题,可以引入kd-tree结构[47]来加快对最接近点的搜索。 [52]中的工作表明,通过使用考虑了扫描平面结构的概率框架,可以增强ICP的鲁棒性。这是广义ICP。另一种方法是极坐标扫描匹配(PSM)[53],它利用激光扫描仪传递的极坐标来估计每个点之间的匹配。
为了减少局部误差,基于图的方法[54]可与LiDAR一起使用。机器人姿态的历史记录由图形表示:每个节点代表传感器的测量值,边缘代表由观察产生的约束(来自ICP结果)。依赖于姿态图的所有方法都可以使用各种优化方法(例如Levenberg–Marquardt优化器)来求解。
以飞机导航为例,[55]提出了结合GNSS和IMU的2D LiDAR的使用。让我们注意,可以对2D和3D LiDAR都进行扫描匹配。考虑到2D LiDAR应用,在“平坦”世界假设的情况下,还提出了基于滤波的方法。
以飞机导航为例,[55]提出了结合GNSS和IMU的2D LiDAR的使用。让我们注意,可以对2D和3D LiDAR都进行扫描匹配。考虑到2D LiDAR应用,在“平坦”世界假设的情况下,还提出了基于滤波的方法。
4.1.1 覆盖地图和粒子滤波器
解决SLAM问题的另一种有效方法是使用Rao Blackwellized粒子过滤器,例如Gmapping [56]。它极大地减少了局部误差,并在平面环境中提供了有趣的结果。每个粒子代表一个可能的机器人姿势和地图。但是,正确映射环境所需的大量粒子会导致不可忽略的计算时间。文献[57]中的研究表明,应用于二维SLAM的粒子滤波器能够基于似然模型来计算高度准确的提案分布。结果是获得了精确的占用栅格图,其中使用的粒子数量比传统方法小了一个数量级。当然,由于占用栅格的大小,使这种技术适应3D是非常困难的。
4.1.2 回环精炼步骤
以前的解决方案允许获取本地化信息,并以里程表方式构建环境图。为了完全解决SLAM问题,已将闭环步骤添加到LiDAR里程表中。为了提高全局地图的一致性,当机器人将自己放置在预先确定的位置时,可以执行循环闭合。可以通过[58]等基于特征的方法来执行。对于激光扫描,使用几何描述符,例如直线,平面或球体。这些描述符用于在扫描之间执行匹配以检测最终的循环。由于每个扫描之间的扫描匹配器几乎无法实时运行,因此在[59]中使用了代表多个扫描环境的子图。所有完成的子图都会自动插入扫描匹配循环中,这将在围绕当前机器人姿势的滑动窗口中进行循环检测。 Magnusson等。 [60]提出了一种使用3D云的正态分布变换(NDT)表示的原始环路检测过程。它基于描述表面方向和平滑度的特征直方图。
[55]中的工作证明了通过执行闭环可以有效地校正LiDAR-SLAM的整体漂移。在他们的案例中,卡尔曼滤波器只是简单地增加了一个能够检测环路的位置识别模块。表2总结了基于LiDAR的SLAM。
5.激光-视觉融合
如前所述,借助视觉传感器或LiDAR可以执行SLAM。视觉传感器的优点是目前需要对它进行很好的研究。即使V-SLAM提供准确的结果,也存在一些默认值,例如:单目情况下的比例因子漂移,深度估计不佳(延迟深度初始化)或立体视觉的范围小,重建图的稀疏性(针对基于特征的间接方法),在室外场景中使用RGB-D的难度等。考虑到基于3D LiDAR的SLAM,所使用的技术依赖于扫描匹配和图形姿态。一些解决方案着重于地标检测和提取,但是获得的点云通常不够密集以至于无法高效运行。尽管如此,LiDAR的主要优点是它在测距以及因此在制图方面具有非常好的准确性。如今,很明显,两种方式的融合对于现代SLAM应用程序将大有帮助。当然,使用这两种方式都需要第一步困难的校准步骤。本节将介绍可用的校准工具和LiDAR相机融合方法的最新技术。
5.1 强制标定步骤
为了通过具有最佳性能的LiDAR相机融合来执行SLAM,必须确保两个传感器之间的精确校准。如图5所示,需要进行外部校准来确定相机和LiDAR之间的相对转换。
最早提出交互式解决方案以校准相机至LiDAR的工具箱之一是[61]。它包括手动标记LiDAR扫描和相机的对应点,[62]中的工作详细介绍了使用棋盘进行自动相机激光校准的方法。它执行直线提取,以便推断两个传感器之间适当的刚性转换。但是,这些离线校准技术无法用于最佳的外部校准,因为外部参数每天都会更改,并且需要非常特殊的条件才能工作。
图5.外在校准原理。目的是在激光雷达和摄像头之间找到刚性变换MCL。目前,通常使用2D或3D棋盘或图案之类的校准目标并通过检测每种模式的这种图案(MB Land MB C)手动完成此操作。
随着深度卷积神经网络(CNN)最近在机器人应用中变得流行,[63]中的工作提出了基于CNN的校准。 CNN将LiDAR和摄像机视差作为输入并返回校准参数。这提供了适用于实时应用的快速在线校准解决方案。
5.2 视觉-激光 SLAM
5.2.1 基于EKF融合的SLAM
在视觉激光雷达SLAM的背景下,已证明可以修改扩展卡尔曼滤波器(EKF)SLAM的经典公式,以集成这种传感器融合。 [64]中的工作提出了一种使用数据关联的EKF的新表达方式,从而提高了SLAM的准确性。 [65]中的工作还提供了带LiDAR EKF SLAM的RGB-D相机。这项工作的主要目的是解决视觉跟踪失败的问题。如果失败,则使用LiDAR姿态对RGB-D摄像机的点云数据进行定位以构建3D地图。这样的方法实际上并没有提供融合,而是两种模式之间的切换机制。 [66]中的工作在微型飞机的低成本硬件环境下,基于视觉和惯性测量,使用EKF集成了不同的最先进的SLAM算法。 SLAM系统中集成了2D LiDAR,以生成2.5D地图并改善机器人姿态估计。这样提出的方法仍然是不依赖于测量空间上的特征检测的松散耦合方法。文献中仍然缺少更紧密耦合的LiDAR视觉传感器融合算法。
5.2.2 改进的视觉SLAM
从另一个角度来看,视觉SLAM算法所取得的出色性能促使人们使用传感器融合技术在这些框架上获得最佳解决方案。在[67]中,激光雷达被用于深度提取。在将点云投影到框架之后,使用基于可视关键帧的束调整执行运动估计和映射。文献[68]提出了一种直接的视觉SLAM,它使用了LiDAR的稀疏深度点云(图6)。但是,由于相机分辨率远高于LiDAR分辨率,因此很多像素都没有深度信息。在[69]中提出的工作提供了解决分辨率匹配问题的解决方案。在计算两个传感器之间的几何变换之后,进行了高斯过程回归以对缺失值进行插值。因此,仅使用LiDAR即可直接初始化图像中检测到的特征,方法与RGB-D传感器相同。
图6. LiDAR示例重新投影在图像上。请注意,校准中的小误差将导致估计深度的严重误差(请参见方框2)。我们处理了错误w.r.t.立体视觉获得的深度。
张等 [70]提出了与一维激光测距仪相关的单目SLAM。由于单目SLAM经常遭受标度漂移的影响,因此该解决方案以非常低的硬件成本提供了有效的漂移校正。 Scherer等。 [71]借助飞行机器人和混合框架,绘制了河流的路线和植被。通过视觉测距法结合惯性测量进行状态估计,并使用LiDAR感测障碍物并绘制河流边界。但是,点云可能包含被遮挡的点,这些点会降低估计的准确性。文献[72]中的工作通过提出一种具有遮挡点检测器和共面检测器的直接SLAM方法来解决这个问题。在这些最后的文章中,视觉SLAM估计姿势用于在映建图阶段记录LiDAR点云。
5.2.3 改进的激光SLAM
在视觉LiDAR SLAM的许多情况下,LiDAR用于通过扫描匹配进行运动估计,而相机则执行特征检测。梁等。 [73]使用具有ORB功能的视觉环路检测方案进行扫描匹配,增强了基于LiDAR的SLAM的性能。在[74]中,基于3D激光的SLAM与一种视觉方法相关联,以通过使用视觉词袋的基于关键帧的技术执行循环检测。此外,可以使用LiDAR相机融合来优化迭代最近点(ICP)。 [75]中的工作使用视觉信息对位姿转换进行了初步猜测,该位姿转换用于后续ICP估计。
5.2.4 激光-视觉一致的SLAM
其他作品试图将LiDAR和visual-SLAM结果结合起来。 [76]中的工作建议通过为每种模态并行运行SLAM并耦合数据来使用视觉和LiDAR测量。这是通过在优化阶段使用两种模态的残差来完成的。张等。 [77]结合他们以前的工作来设计VLOAM。该visual-LiDAR测距法执行高频视觉里程计法和低频LiDAR里程计法,以完善运动估计并校正漂移。
也许在[78]中提出了当前可用的最紧密的融合方法,其中使用考虑了激光和特征点约束的特定代价函数进行了图优化。在此,激光数据和图像数据都可以获得机器人姿势估计。还建立了一个2.5D贴图来加速回路检测。
- Jiang, G.; Lei, Y .; Jin, S.; Tian, C.; Ma, X.; Ou, Y . A Simultaneous Localization and Mapping (SLAM)
Framework for 2.5D Map Building Based on Low-Cost LiDAR and Vision Fusion. Appl. Sci. 2019, 9, 2105.
5.3 总结
综上所述,这些示例主要使用传感器融合为仅LiDAR或仅视觉的SLAM框架提供更多信息。在实现这种SLAM的所有方法中(见图7),对混合框架的研究最少。使用视觉信息和激光范围创建通用的SLAM框架似乎是一个真正的挑战。更紧密耦合的LiDAR-vision传感器融合算法尚未在文献中进行全面研究,应进行研究。
6.讨论未来的研究方向
在对文献进行回顾之后,似乎还不存在一种兼具两种传感器模式优势的完全紧密融合的视觉LiDAR方法。我们声明,以紧密的混合方式将LiDAR特征与视觉特征融合将使SLAM社区受益。确实,解决多模式,混合多约束MAP问题将是可行的。这样的解决方案将使SLAM对环境条件(例如光照或天气)更加健壮。众所周知,V-SLAM在恶劣的照明条件或无纹理的环境下无法工作,但LiDAR SLAM可以。另一方面,LiDAR-SLAM在雨天条件下(检测到错误的撞击)或在基于几何的突出区域(基于相机的SLAM可以正常工作)的几何显着区域(空旷的区域,长的走廊)中表现不佳。
我们建议在多约束MAP方法中使用一组来自不同模式(例如L = {Lvision,LLiDAR})的不同提取地标来研究一些混合方法(请参见图8)。
所提出的框架遵循经典的SLAM体系结构(如我们在[24]中提出的),主要包括以下三个步骤:(1)数据处理步骤,对两种模态进行特征检测和跟踪; (2)估算步骤,该步骤首先根据跟踪的特征估算车辆的位移(这可以通过ICP,对极几何形状,本体感受传感器或它们的融合来完成,例如卡尔曼滤波器或多准则优化),然后尝试检测和匹配地图中的地标和要素;一旦完成匹配,就可以对姿势进行优化(过滤/优化),最后可以估算出新的地标。最后一步(3)处理全局映射:当前数据是否定义了关键帧(它是否带来了足够的新信息),并且根据对循环闭合的检测,它是局部还是全局优化轨迹?为了使该框架正常工作,必须主要努力(1)用于特征检测的LiDAR扫描分析和(2)相机-LiDAR校准过程。一旦找到针对这两个问题的准确解决方案,LiDAR和视觉之间的紧密耦合将在数据级别成为可能,从而使状态估计更加准确。
7.结论
研究人员已经进行了各种研究,以找到SLAM的最佳实施方案。事实证明,自主机器人可以同时估计其自身的姿态和周围环境的地图,SLAM仍然是机器人技术中充满希望和令人兴奋的研究课题。从理论上讲,它是自主导航的完整解决方案。但是,实际上,会发生许多问题。即使这似乎是一个非常有前途的解决方案,我们能否预测SLAM的发展可以在多大程度上带来真正的自主导航?因此,有必要加深对SLAM及其对人工智能移动机器人的贡献的理解。
这时,存在一些使用与IMU混合的视觉传感器的强大而有效的解决方案。如今,这种方法主要用于基于虚拟或增强现实的工业应用中。 RGB-D摄像机是一个热门话题,但是这种传感器在室外环境中(环境光极大地干扰了检测)的性能不佳。视觉方法容易漂移,并且对环境中缺少显着特征非常敏感。为了克服室内单调环境中缺少特征的缺点,已经研究了几何特征,例如线,线段或边线。这样的界标的主要问题是(1)缺少用于匹配阶段的准确描述符,以及(2)几乎没有检测到的对应3D对象的困难的初始化阶段。结果,由于特征不匹配或初始化错误,环境的3D稀疏表示不太准确。最后,生成了具有不同地标表示形式的一些混合地图。然后使用这些不同的对象和观测值解决了广义的多约束MAP问题。
另一方面,基于LiDAR的SLAM也存在并且提供了很好的解决方案。 LiDAR方法可提供非常准确的环境3D信息,但通常很耗时,并且仍依赖于非常简单且不太鲁棒的扫描匹配方法。目前,很少有作品通过提取一些3D标志来处理3D扫描的分析。没有一种使用3D LiDAR的SLAM方法以与基于视觉的框架类似的方式处理地标。原因是分析和提取LiDAR标志所需的处理时间。目前,平面是LiDAR-SLAM方法中使用的唯一功能。但是,平面在天然的室外环境中并不是很有用,因为天然的室外环境自然没有很好的结构。基于LiDAR的SLAM主要基于ICP等扫描匹配方法。自30年前发明以来,这种算法几乎保持不变。
已经进行了一些将LiDAR和视觉传感器耦合的实验,但是所有这些实验都处于非常松散的融合水平。融合主要是利用两个测距步骤的结果完成的,这意味着LiDAR检测或视觉检测无法互相帮助,并且在融合相对位移估算的最后一步做出了决定。其他方法仅使用LiDAR的深度测量来直接初始化视觉特征。再一次,激光雷达的功能完全没有得到充分利用。
在未来的工作中,我们将研究使用传感器融合的SLAM的紧密混合实现。通过将摄像机的帧融合到LiDAR的点云,我们期望构建一个健壮且低漂移的SLAM框架。此外,随着LiDAR价格多年来不断下降,我们预计随着时间的推移,这种解决方案将变得低成本。