关于视觉SLAM的最先进技术的调查-A survey of state-of-the-art on visual SLAM

原文见文章末尾:

今天读了一篇视觉slam的综述,真的是读了一天,记录一下。我比较关注的是特征提取和匹配和深度学习有关的章节。好久,但是还算是有收获的吧。

摘要:

本文概述了视觉同步定位和测绘(V-SLAM)。我们讨论了SLAM和视觉系统领域的基本定义,并对用于移动机器人视觉和SLAM的最先进方法进行了回顾。本文涵盖了基本的SLAM方法、视觉传感器、用于特征提取和匹配的机器视觉算法、深度学习(DL)方法以及V-SLAM应用中的视觉里程计(VO)和闭环检测(LC)的数据集等主题。对几种特征提取和匹配算法进行了模拟,以显示基于特征的技术的更好视野。

“Keywords: SLAM Feature matching Sensors Robot Deep learning”

“1.Introduction”

同步定位和建图(SLAM)是现代机器人和智能产业中一个广泛而重要的课题,可用于室内和室外环境。导航、定位和建图是智能自主移动机器人的基本技术。在安全或高风险和难以导航的工业环境中,SLAM在智能制造中发挥着重要作用。SLAM的早期研究是由Leonard和Durrant-Whyte在20世纪90年代初进行的(Leonard & Durrant-Whyte, 1991),该领域发展非常迅速,至今已提出了许多算法和技术。

SLAM可以定义为有两个主要部分:一是建立一个未知的室内或室外环境的地图,二是同时通过该环境中的不同位置和不同时间来跟踪传感器和摄像机(一般在移动机器人上)的位置或运动。

SLAM可用于广泛的应用,如空中和水下移动机器人、自主车辆、无人机、物理视频游戏等。图1显示了一般算法的SLAM技术流程图。

图2:xk是机器人在k时间的状态(方向和位置),u k是机器人的控制输入,将其从状态xk-1移动到xk,zk是传感器的测量值,mn是在各自机器人状态下观察到的地标。SLAM技术被用来从u和z中找到x和m。

表1显示了迄今为止主要的SLAM调查。该表涵盖了自2015年以来的评论文献,以显示最先进的主题。在这些报告中,讨论了SLAM系统中使用的传感器和几种SLAM的类型,本文是对视觉SLAM中使用的从传感器到深度学习方法的全面回顾。

本文大纲如下。第2节包含了SLAM文献的概述,然后在第3节讨论了SLAM方法中使用的传感器。第4节介绍了特征提取和匹配算法的回顾以及仿真结果。第5节和第6节分别从比较的角度研究了深度学习(DL)方法和V-SLAM数据集。最后,在第7节中得出结论。

“2.SLAM”

在过去的三十年中,SLAM一直是智能车辆的一个热门研究课题。这种方法的第一个原理研究最初是为移动机器人的自主控制提出的(Chatila & Laumond, 1985)。随后,SLAM的应用被广泛用于增强现实(AR)可视化、计算机视觉建模和自动驾驶汽车等课题(Taketomi, Uchiyama, & Ikeda, 2017)。近年来,SLAM已被用作一种智能技术,使用传感器融合算法构建环境的三维地图。最近的研究工作主要集中在汽车行业的应用上,自动/半自动汽车的控制水平不断提高。

Lu和Milios(1997)提出了一个基本的图结构的SLAM模型,称为图-SLAM,根据机器人的运动和观察数据找到机器人在一个区域内的姿势。如图3所示,该方法有两个基本部分,前端和后端过程(Woo, 2019)。在前端过程中,根据传感器的输出计算移动机器人的姿势,产生一个基于节点和边的图,而后端过程则根据边的约束条件对这些节点进行优化。闭环检测系统用于进一步优化和识别移动机器人以前访问过的地方。闭环检测使移动机器人具有识别相同场景的能力。

有几种方法可以找到SLAM的输出参数并优化机器人的运动。卡尔曼和贝叶斯滤波器是用于寻找和估计未知参数的两个基本系统。卡尔曼滤波器假定高斯噪声影响数据。卡尔曼滤波器被设计用来解决线性系统的基本形式的问题,并被用于SLAM,尽管它们有很大的收敛特性。在非线性滤波系统中,如在SLAM中,扩展卡尔曼滤波(EKF)是一个常见的工具。EKF为非线性系统引入了一个线性化步骤,一阶泰勒扩展围绕当前估计值进行线性化(Ullah, Su, Zhang, & Choi, 2020)。EKF是被称为EKF-SLAM的著名方法的核心。Leonard和Durrnat-Whyte (Leonard & Durrant-Whyte, 1991)使用EKF来实现基本的SLAM技术系统之一。移动机器人的环境和运动是非线性系统,卡尔曼滤波器不能在非线性系统上正常工作,研究人员和公司从经典时代(1986-2004)开始就一直致力于SLAM算法的研究,采用基本思想。定位的蒙特卡洛算法是另一种解决非线性系统问题的滤波器,它是fast-SLAM(Montemerlo, Thrun, Koller, & Wegbreit, 2002)方法的基础,但它在有大量物体和图像的现代环境中不是那么有用。

Montemerlo等人(2002)提出了一种基于EKF算法和粒子滤波器的非高斯非线性系统模型,称为FastSLAM。该方法使用分离的条件图和运动模型部分,产生较小的采样空间,减少维度状态空间。目前,有几种过滤器被用来采用SLAM技术。对于粒子滤波,Rao-Blackwellised Particle Filter(RBPF)(Murangira, Musso, & Dahia, 2016; Zhao, Wang, Qin, & Zhang, 2018)和Kullback-Leibler Distance(KLD)采样算法(Shiguang & Chengdong, 2017)方法被用于SLAM应用。RBPF用许多粒子产生一个地图,计算成本很高,通过在第一步确定位置,然后重建地图来解决SLAM问题。这种技术可以采用优化算法来减少过程时间和计算量。首先,通过RBPF生成的样本(粒子)获得后验概率密度,然后在观察后为每个粒子计算重要性权重。粒子根据其代表概率和重要性的权重被重新排列,低权重的样本可以在这个阶段被淘汰,最后,根据观察和轨迹以较低的计算成本估算出地图。在每次观察之后,粒子的权重将被更新以获得最佳的地图估计。G-mapping是一种基于粒子过滤器、RBPF和扫描匹配算法的开源SLAM(Grisetti, Stachniss, & Burgard, 2007)。这种技术减少了样本和粒子,以选择有效的粒子,并以较低的计算成本和时间建立一个地图。

Milford、Wyeth和Prasser(2004年)提出了一种基本的现代SLAM技术,包括路径整合、视觉联想和竞争吸引器过程,称为Rat-SLAM。这个模型被用来识别独特和模糊的地标。视觉联想过程是在面对来自粗略的路径整合过程的不一致的表征时保持一致的姿势表征,竞争吸引器动态是一个块,以确保姿势细胞的总活动是恒定的(Milford等人,2004)。独特的地标是指可以唯一区分的地标,模糊的地标是指那些不太明显的地标,由于它们的相似性,一个地标可能被混淆成另一个。

各种各样的传感器,如照相机、声纳、激光雷达等,可用于机器人系统的定位和建图。视觉SLAM或VSLAM指的是那些使用相机作为主要输入传感器来接收未知物体和环境的视觉信息的SLAM系统。Mono-SLAM Davison(2003)开发的一种用于实时应用的V-SLAM技术。这种基于特征的SLAM技术是现代SLAM实时应用的基础。特征提取是这种SLAM的关键,有几种特征检测和提取算法可用于Mono-SLAM。Klein和Murray(2007)提出了分离的跟踪和建图系统,以减少单体SLAM的计算成本,称为平行跟踪和建图(PTAM)。ORB SLAM(Mur-Artal & Tard ́ os, 2017; Mur-Artal, Montiel, & Tardos, 2015)是MonoSLAM的采用版本,它使用ORB关键点特征描述器算法对提取的特征进行工作。ORB-SLAM2(Mur-Artal & Tard ́ os, 2017)因其稳健性而成为最受欢迎的现代方法之一,它建立在原始ORB-SLAM方法的基础上,对立体和RGB-D相机设置提供了更多的支持。

ProSLAM(Schlegel, Colosi, & Grisetti, 2018)是一个基于间接/特征的V-SLAM系统,旨在便于理解和实施。它利用在附近区域获得的地标建立本地地图。这些局部地图是通过ProSLAMs的四个核心模块建立的:三角测量、增量运动估计、地图管理和重定位。与其他众所周知的SLAM系统相比,该系统显示出具有竞争力的性能,同时具有较低的计算负荷,但由于缺乏其他方法中使用的捆绑调整等优化措施,使其在对错误的鲁棒性方面落伍(Gao, Lang, & Ren, 2020)。

迭代最接近点(ICP)和扫描匹配算法被广泛用于SLAM技术中的姿势估计和建图(Donoso, Austin, & McAree, 2017; Grisetti等人, 2007)。在这些方法中,最初计算的移动机器人姿势被迭代,扫描信息被匹配和优化,以建立一个精确的区域地图。图4显示了SLAM技术的三种扫描匹配方法(Xuexi, Guokun, Genping, Dongliang, & Shiliu, 2019)。视觉SLAM的直接方法是指直接使用原始图像作为输入数据而不是关键点特征,并重建所有的点而不是只重建边缘和角落的技术。密集跟踪和建图(DTAM)是Newcombe, Lovegrove和Davison(2011)提出的基于RGB视频的直接方法。在这个算法中,深度信息和相机运动被估计,以建立一个区域的三维模型。Ondrúˇska, Kohli, and Izadi (2015) 提出了一个用于实时手机应用的DTAM模型。Engel, Sch ̈ ops, and Cremers (2014) 提出了一个直接的单目SLAM,称为Large-Scale Direct Monocular(LSD-SLAM)。该模型需要对每个像素进行深度估计,并使用密集图中的图像像素来代替特征提取。在这个算法中,相机运动和像素深度值被估计,并可用于低质量和立体图像。Engel、Koltun和Cremers(2017)提出了一种基于直接稀疏和直接结构与运动系统的视觉里程计(VO)方法 直接稀疏里程计(DSO)。该方法使用光度和几何相机校准结果,并将图像划分为不同的区块,选择高强度的点作为重建样本。DSO同时使用直接和稀疏模型作为单目视觉里程计算法,以优化实时性能。VO是对物体在相机图像帧中的运动和相邻图像之间的相机运动的估计,是基于视觉SLAM技术的。

Liu等人(2020年)提出了一个用于惯性测量单元(IMU)的紧密耦合的EKF框架,称为紧密学习惯性里程计(TLIO)。该方法使用深度学习算法来训练一个网络,该网络从统计运动模式中先验地学习位移分布。他们表明,通过先验学习,IMU传感器可以产生足够的信息用于校准和低漂移姿势估计。漂移是姿态估计不准确的积累,导致预测的位置与现实世界的姿态相比越来越偏移,在闭环检测中进行校正。较少的不准确度允许更简单的校正,并为实时系统提供更大的可靠性。该系统中的神经网络被迫只从典型人类运动的先验信息中学习,不使用基于模型的状态传播。

Karto-SLAM是Konolige等人(2010)提出的只有一个点图(机器人姿势)的图优化模型。该算法使用稀疏姿势调整和非迭代的Cholesky矩阵,直接进行非线性优化解决。该技术使用备用姿势调整(SPA)进行匹配和闭环检测,这是一种建立在Levenberg-Marquardt算法基础上的方法,使其对构建二维地图中发现的稀疏系统具有高效性。

Kohlbrecher、Von Stryk、Meyer和Klingauf(2011)提出了一种基于LiDAR系统的稳健扫描匹配技术,称为HectorSLAM。该算法有两个主要部分,包括一个集成的三维导航系统和一个没有明确的环路闭合检测的二维LiDAR-SLAM系统。扫描匹配技术利用近邻扫描匹配来估计两个扫描之间的移动机器人的旋转和平移(Xuexi等人,2019)。

近年来,RGB-D相机在实时应用中被广泛用于V-SLAM技术。图像处理、机器视觉和深度学习算法是这些系统的核心,以减少计算成本和时间,提高移动机器人在三维建图、定位、纹理信息、物体检测和其他工业目标的准确性和能力。一般的RGB-D SLAM过程可以被安排为。

  1. - 使用迭代最接近点(ICP)进行RGB-D相机运动估计(Chen & Medioni, 1992)

  2. --应用机器视觉技术检测物体并消除移动物体

  3. --使用深度建图进行区域的三维重建视图

Zou和Tan(2012)在SLAM过程中为动态物体和环境提出了一个相机姿势估计和建图模型,称为Co-SLAM。该技术遵循传统的从运动中获得结构的顺序方法,并在一连串的任务中工作,包括相机姿势估计、建图、点分类和相机分组。

Kaess、Ranganathan和Dellaert(2008年)提出了一种基于快速增量矩阵分解的SLAM方法,称为增量平滑和建图(i-SAM),它允许访问基础估计的不确定性。矩阵分解是一种常用于基于过滤的推荐的技术,便于生成潜在的特征,并允许进行预测。然而,这并不是一个克服视觉系统问题的完美模型。该算法通过应用矩阵分解更新来逐步维护平方根信息矩阵,新方法的效率和准确性需要改进,这在新版本中得到了更新。Milford和Wyeth(2012)提出了一种基于视觉路线的导航,称为SEQ-SLAM。该方法是基于寻找局部最佳匹配和序列识别组件来计算每个局部导航序列中的最佳样本匹配位置。Newcombe, Izadi, et al. (2011)提出了一个使用Kinect传感器设备进行实时密集表面跟踪和建图的模型,称为Kinect融合。这项技术不受光线变化的影响,通过将深度图融合到体素空间来建立三维地图,具有较高的精度和较短的处理时间。体素代表三维空间中网格上的一个数值。体素空间是一个三维网格环境。Rossi等人(2018)开发了一种类似于Kinect融合的水下应用技术,称为 Stereo Fusion.。Kinect传感器的红外投射光成分不适合水下应用,所以立体融合中的3D几何图形是通过立体图像得出的。该技术使用GPU技术以相机帧率进行图像处理。连续时间SLAM(CT-SLAM)是一种连续时间轨迹模型,用于结合高速异步传感器(Dub ́e, Sommer, Gawel, Bosse, & Siegwart, 2016; Park等人, 2018)。这种技术可以改善LiDAR传感器的运动失真问题,这在绘制的地图中表现为不准确,需要事后进行补偿。计算成本和操作时间都很高,操作是使用该系统的一个重要方面。SLAM++是Salas-Moreno、Newcombe、Strasdat、Kelly和Davison(2013)提出的一种基于Kinect融合的实时三维物体导向方法。该方法在实时系统中跟踪并建立物体层面的三维场景地图。在这个模型中,ICP被用来跟踪物体,以产生物体水平位置图系统的边缘测量。SLAM++的过程可以定义为。

  1. - 以规则地图的形式进行表面测量计算

  2. - 使用ICP进行相机姿态跟踪

  3. - 使用提供的数据库进行物体检测

  4. - 使用第二次ICP估计更新数据

  5. - 将正确的物体添加到地图中

  6. - 通过渲染SLAM图中的物体建立完整的深度图和物体检测

Steckel和Peremans(2013)提出了一个用于移动机器人声纳感应的功能模型,称为Bat-SLAM。这个模型是一个更新的RatSLAM,使用仿生声纳传感器代替视觉传感器,并使用连续吸引网络(CAN)神经网络进行空间定位和地图构建。吸引子网络是一个随着时间的推移向一个稳定模式收敛的网络。有不同类型的吸引子网络,每一种都更有用,取决于被建模的内容。连续型适合于连续变量,如空间中的位置。

Whelan、Leutenegger、Salas-Moreno、Glocker和Davison(2015)提出了一种实时密集视觉SLAM,用于使用RGB-D相机构建基于surfel的地图,并将该技术称为Elastic Fusion SLAM。Surfels,或称表面元素,是代表表面斑块的小圆盘,可以作为多边形的替代品。该技术基于Keller等人(2013)的方法,增加了一个闭环检测系统,并提供了一个相机轨迹和密集的surfel地图。在Elastic Fusion中,顶点着色器将surfel位置转化为相机视图,并使用法线矢量和surfel半径来产生一个方形平面,而片段着色器则丢弃圆形半径之外的任何方形片段来渲染最终的surfel(McCormac, 2018)。顶点着色器和片段着色器基本上都是由开发者定义的函数类型,用于图形编程中。

正如本节所述,有大量的V-SLAM方法可供选择。它们的适用性在很大程度上取决于它们的预期用途和将要部署的环境。这些方法通常被归类为间接模型或直接模型(Chen, Zhou, Lv, & Deveerasetty, 2018)。间接模型是那些利用特征提取和匹配的模型,而直接方法则是根据像素强度来估计运动。在建图模型方面,通常看到的是对环境的几何形状进行编码的度量表征,但也有人希望探索基于语义的表征,以便从环境中提取意义。

这可以使自主导航更加智能(Cadena等人,2016),(Xia等人,2020),(Radwan,Valada,&Burgard,2018)。在之前的对比评论文献中(Gao等人,2020),发现ORB-SLAM2在涉及到平移和旋转均方根误差(RMSEs)时,在间接方法中表现强劲,特别是在快速运动应用中注意到,而Stereo DSO与其他直接方法相比效果良好。总的来说,直接方法在使用照明信息进行旋转估计方面似乎有更好的结果,而间接方法通过跟踪重要的特征在翻译估计方面表现突出。SLAM问题的主要目标是使用移动机器人建立一个环境地图。这种地图在机器人导航、操纵、远程呈现、语义地图和无人车以及行星探测器中都有应用(Ajay & Venkataraman, 2013)。V-SLAM的挑战之一是在实时情况下使用视觉数据解决闭环问题。这一挑战的难度在于环境情况的变化,由于天气、光照、噪音等动态因素,会影响机器人的性能。

为了提高准确性和稳健性,传感器融合的方法被认为是可取的。虽然相机可以捕捉到丰富的细节,但来自传感器的其他数据流,如声纳或激光雷达,可以补充这一点,在下一节中讨论。大规模数据集的现代引入也推动了深度学习对V-SLAM的贡献,本文后面将对此进行概述。

“3.Sensors”

感知或探测真实空间和环境的能力是SLAM和机器人系统的一个关键因素。自主机器人应该有适当的传感器来接收和处理来自环境的最佳信息和信号,以建立一个空间的地图。目前,SLAM的应用经常利用相机作为传感器。相机可以促进用户采用更多的能力,如物体检测、分割和其他视觉基础系统的应用。有几种类型的传感器应用于SLAM,如RGB-D相机、LiDAR等。表2显示了常用于SLAM的传感器。

声音导航和测距(SONAR)传感器通过超声波信号反弹的回声来探测物体,被广泛用于移动机器人。SONAR传感器的操作是基于声音信号的,可以在黑暗的环境中工作,在使用基于光的成像面临挑战的情况下,SONAR在非水上机器人中很常见。声纳可以覆盖广阔的空间进行测绘和导航,但它们不适合用于物体探测目标,因为它们不能高精度地探测物体的角落。有各种各样的商业声学传感器,具有不同的功耗和操作频率

基于二维激光扫描仪的SLAM解决方案是文献中报道的一种常见的SLAM模型。这些方法一般适用于机器人的运动受到限制的情况,例如,在平面上移动的轮式机器人或在恒定高度或恒定离地高度轨迹上飞行的飞行机器人。使用激光传感器,机器人可以建立一个室内和室外空间的地图。更新率为20赫兹的激光传感器通常可以被用于室内SLAM机器人。像声学传感器一样,激光器不是物体探测技术的合适选择,但它们可以用于二维和三维地图的建图与高速处理,称为微小的SLAM(Steux & El Hamzaoui, 2010)。它更容易应用于例如高度/海拔是恒定的场景中。如果这个值是变化的,那么在使用二维激光时就会增加一定程度的复杂性,因为有必要使用另一个传感器来识别变化,并将这些信息融合在一起以补偿建图问题。

基于LiDAR的SLAM是现代建图系统之一,广泛应用于机器人系统中。虽然以前的激光雷达通常是笨重的传感器,但最近小型和轻型的激光雷达可用于快速和精确的成像过程。LiDAR类似于RADAR,但使用激光而不是无线电波来探测/成像一个区域、物体和深度达300米。

近年来,物体检测方法已被添加到机器人系统中,以设计一个具有区分环境中可识别物体能力的综合区域地图。为此,RGB-D照相机是一种常见的选择,用于寻找物体和检测角落和轮廓,以便进行聚类。RGB-D相机包括红外发射器、红外接收器和单眼相机,通过在某一区域传输和接收的红外结构光模式制作RGB图像,给出每个图像像素的深度(或范围)(Sturm, Engelhard, Endres, Burgard, & Cremers, 2012)。

单目摄像头是常见的、便宜的、普遍容易获得的传感器,作为许多机器人的标准配置,它们可以用于SLAM技术。数以千计的算法、源代码、书籍和技术论文可用于图像处理、机器视觉和深度学习,这些都是基于提供RGB图像的相机输出。有几种算法可以建立环境地图,并使用数据融合和图像分析进行物体检测。单目相机是低功率传感器,适合于低预算的SLAM项目(Civera, Davison, & Montiel, 2008;Engel等人,2014;Mur-Artal等人,2015)。

立体相机是另一种用于SLAM的视觉系统,它可以使用两个不同角度的物体拍摄的图片来估计图像的深度。RGB-D传感器使SLAM取得了巨大的进展(Dryanovski, Valenti, & Xiao, 2013)。这些系统的优势在于低成本和高流动性。然而,RGB-D传感器在密集的三维建图系统中有一些明显的缺点。这些传感器可以用于有限的距离和有限的视场(FoV)。由于缺乏制约ICP(迭代最接近点)排列所需的空间结构,这可能会造成跟踪损失(Tang等人,2016)。

“Fig. 5 shows the stereo vision geometry for stereo camera operation model.

From Fig. 5, the depth of the object point (Z) can be obtained as:”

解决SLAM问题取决于传感技术,价格、功耗、实时处理、尺寸和除噪能力是自主机器人的主要因素。声学传感器一般不能以足够的分辨率探测和提取未知区域的主要特征。激光雷达往往是笨重昂贵的传感器,并且有姿势估计的问题。单目相机缺乏深度信息,RGB-D相机可以获得深度信息和物体特征,但它们的范围有限(Zaffar, Ehsan, Stolkin, & Maier, 2018)。

图一:传感觉(接受图像)-》特征提取-》特征匹配-》位姿估计-》闭环检测-》地图构建

图二:slam技术备用来从机器人的控制输入和传感器的测量值中找到机器人在某时刻的状态(方向和位置)和路标。


表一:关于slam的一些综述,可以看一下。

其中F是相机的焦距,C1和C 2是相机1和相机2的位置,X1和X2是图像空间坐标。通过了解立体成像中每个点的深度,可以获得一个区域的三维视图。(x2 - x1)是视差,定义为图像平面中对应于相机中心的点与场景点3D之间的距离。图6显示了两个不同角度图像的差异图。明亮的白色像素意味着物体在摄像机附近,每个物体的深度可以根据差异图来估计。

“4.Feature extraction & matching”

基于相机的SLAM检测人类视觉系统可以自动区分的环境的视觉特征,如角点、边缘、颜色、阴影和深度。特征提取是图像匹配中最重要的部分,用于设计/构建一个区域的地图和物体检测技术。近年来,使用高质量、高分辨率的相机,具有大细节的大数据图像作为相机输出产生(Schlegel等人,2018 ),(Xuexi等人,2019)。大数据的处理可能很慢,导致需要快速和大容量的处理器,而这些处理器对于研究实验室和目标机器人系统来说往往是昂贵的。这些处理器的运行需要消耗大量的电力,对于移动机器人来说并不理想。特征提取可以利用选定的数据和输入图像的特征来减少输入数据的大小。文献中报道了几种特征提取的方法和算法,可用于SLAM。图像中的特征是具有共同属性的像素,并且与其他近似的像素不同。对象检测技术的特征可以是图像的细节,如纹理、像素的平均值、颜色、角点等,对于视觉SLAM来说,必须对旋转、方向、平移、缩放和发光强度保持不变。对于移动机器人来说,视觉系统可能非常敏感,能够找到周围物体的姿势并找到无碰撞的路径非常重要。从相机收到的视频流的每一帧都应与之前的帧进行比较,这个实时系统需要一个快速的算法来寻找和提取最佳的图像特征,并删除其他数据。重要的是要有强大的方法来识别当前的机器人位置,这样它就可以避免该地区的障碍物,并准确地继续绘图。如果一切都做得很好,它所采取的路径将是无碰撞的,系统将有一个完整的地图,显示该地区的边界和它所操纵的任何障碍。

Gabor小波技术(Lee,1996)是一种基本的图像处理和机器视觉算法,用于基于纹理描述的特征提取工作,使用图像分解为不同方向和尺度。Gabor滤波器通常对具有不同纹理和片段的图像很有用(Zhang, Wong, Indrawan, & Lu, 2000)。这种基本技术也被用于医疗机器人的纹理分类和模糊技术(Singh & Singla, 2020)。对于室内SLAM和物体检测,Gabor滤波器是有帮助的,因为例如在工业环境中,物体在几个不同的尺度和方向上都有很强的线条、轮廓和边缘,这些特征的统计数据对于物体检测是非常合适的(Dewi, Sundararajan, Prabuwono, & Cheng, 2019)。二维图像Gabor滤波器的一般函数G(x,y)可以定义为(Sun, Bebis, & Miller, 2006)。

其中σ是Gabor滤波器在x和y维度上的缩放参数,W是中心频率,θ是滤波器方向。这个滤波器就像一个局部带通滤波器。这种滤波器已被证明在频域和空间域都具有最佳的定位特性,适用于纹理分割问题。Gabor滤波器允许某个频段,拒绝其他频段。Gabor滤波器可以显示为一个频率和方向的正弦信号,由一个高斯波调制。

一般来说,小波是用于图像分解的多分辨率函数方法。这些算法从多级分辨率的图像中输出紧凑的有价值的数据,这些数据具有每个图像中物体的边缘数据。有几种快速小波算法,如物体检测文献中使用的Haar小波。离散小波变换(DWT)是另一种基于多小波的特征提取技术(Gokulalakshmi, Karthik, Karthikeyan, & Kavitha, 2020)。这些技术可用于具有不同空间方向和频率的高频子带图像。

在SLAM中,为了描述一个单一图像中特定物体的不同角度、方向和模式,纹理属性是有用的,因为纹理分析方法为进行物体识别和分类提供了客观条件(Xu, Zhang, Li, Liu, & Zhu, 2021)。高质量图像中代表纹理属性的特征向量的高维度限制了其计算效率。因此,不可避免地要应用一种方法,将纹理的表示与降低维度结合起来,以使物体检测算法更有效、更快速、可计算地处理。原理成分分析(PCA)(Pearson, 1901)是另一种特征检测技术,广泛用于许多基于物体的分析应用,以减少数据。PCA将多维数据转化为线性矢量,通过确定具有最大方差的线性变量进行降维。目前,所采用的PCA版本被用于更好的特征提取和图像矩阵降维。

一个被采用的PCA技术是2维主成分分析((2D)2PCA)。在这个版本中,一个二维PCA被应用在图像的行方向上,然后另一个二维PCA被应用在图像的列方向。在这种方法中,尺寸缩小同时适用于图像的行和列(Kazerouni & Haddadnia, 2014)。2维主成分分析是一种准确而快速的数据表示、特征提取和图像矩阵降维技术,其目的是寻找一种更紧凑、更少冗余的图像数据表示,其中有效减少的成分数量可以独立负责图像数据变化(Abaspur Kazerouni, Dooly, & Toal, 2020)。给定图像A中具有m行和n列的2维PCA算子,我们可以将协方差矩阵C定义为。


线性判别分析(LDA)(Balakrishnama & Ganapathiraju, 1998)是另一种特征提取和数据还原技术,它将高维特征向量投射到低维空间。这种技术通常与PCA算法一起用于图像矩阵的还原。在图像中寻找方向、角度和对比度不变的最佳特征是实现导航和SLAM中更高的精度和更快的结果的一个重要关键。目前,文献中已经提出了几种现代技术用于关键点特征提取和匹配。最好的例子包括以下几种。尺度不变特征变换(SIFT)、加速增强特征(SURF)、加速片段测试特征(FAST)、二进制增强独立基本特征(BRIEF)、定向FAST和旋转BRIEF(ORB)、学习不变特征变换(LIFT)、快速视网膜关键点(FREAK)。Binary Robust Invariant Scalable Key-points (BRISK), Histogram of Oriented Gradients (HOG), A Fast-Local Descriptor for Dense Matching (DAISY), Gradient Location and Orientation Histogram (GLOH), Local Intensity Order Pattern (LIOP), MatchNet, MROGH, KAZE and A_KAZE。当智能系统检查实时系统中视频流的序列帧的特征时,特征匹配算法在这些帧中找到共同的特征,并基于图像的方向和深度,估计摄像机的位置和移动。为了识别类似的特征,特征匹配描述符在各图像之间进行比较。假设所选择的技术是有效的,这些特征描述符将是唯一的,使它们在视频流的后续帧中可以识别。

Dalal和Triggs(2005年)提出了一个用于人类检测的定向梯度直方图(HOG)的基本模型。在这个特征描述符算法中,主要特征是梯度方向(定向梯度)的分布(直方图)。使用图像梯度,物体的角落和边缘可以被提取出来并定义为主要的物体特征。这种算法是在引入深度学习技术的特征描述符之前的基本算法之一。图7显示了一个图像的梯度大小和HOG的结果。Lowe(2004)提出了一种叫做SIFT的图像旋转和尺度不变的算法。这种技术被广泛用于关键点特征匹配,在图像缩放和旋转中非常稳健,同时对光照变化和仿生变换也有部分不变性。该算法为了准确定位关键点,使用了高斯差(DOG)标度空间函数的泰勒扩展,D(x,y,σ)被移位,使原点位于候选点(Lowe,2004)。


为了拒绝低对比度的不稳定极值,极值的函数值表示为


SIFT对于特征匹配和图像镶嵌很有用(Rublee, Rabaud, Konolige, & Bradski, 2011),然而,其大量的计算使其难以在实际的时间系统中使用。它在富含blob的区域而不是富含角点的区域表现更好(见图8(b))。图8显示了SIFT方法的关键点提取和图像匹配结果。为了将SLAM方法用于通常计算资源有限的移动机器人,解决和处理SIFT困难的一个有用的算法是FAST,这是Rosten和Drummond(2006)提出的一个角点检测算法。对于图像中的每个像素,FAST考虑特定半径内的相邻像素。该算法将每个像素与圆圈内的连续像素进行比较,以检查它们是否比该像素的阈值更亮或更暗。如果圆圈中一组特定的连续像素都比候选像素的强度加一个阈值要亮,或者都比候选像素的强度p减一个阈值要暗,那么这个候选像素就是一个角像素。FAST转角检测器非常快,但对于嘈杂的图像不能提取正确的特征,而且对于某些图像来说,选择一个适当的阈值水平可能很困难。SURF是Bay, Ess, Tuytelaars和Van Gool(2008)提出的SIFT的快速版本。它产生了多层次的图像和描述符对。SURF算法的工作原理与SIFT相似,但使用了Haarwavelet而不是使用高斯差。SURF算法使用Hessian矩阵行列式来选择位置和尺度,以生成快速而准确的描述符。Hessian行列式的近似值可以定义为:。


其中Dxx、Dyy和Dxy是最高空间分辨率的高斯二阶导数的近似值。SURF方法的计算成本和计算器计算更可行,适合于实时应用,但SIFT显示出更多重要特征和细节的稳健性。

Calonder等人(2011)提出了一种在实时应用中效率更高的描述符算法,称为BRIEF。二元鲁棒独立基本特征(BRIEF)是一种对噪声非常敏感的算法,使用高斯核对图像进行平滑处理,然后将平滑后的图像转换成二元特征向量。BRIEF的特征描述可以定义为:


ORB(Oriented FAST and Rotated BRIEF)算法是Rublee等人(2011)提出的另一种描述符。该方法基于BRIEF描述符和FAST关键点检测器工作,并通过使用强度中心点来测量角点方向。图像补丁的矩值可以表示为:


使用θ,可以将其旋转到一个典型的旋转来计算描述符,从而获得一些旋转不变性。ORB算法非常快,但它在尺度方面的效果较差。这种方法被用于名为ORB-SLAM(Mur-Artal等人,2015)和ORB-SLAM2(Mur-Artal & Tard ́ os,2017)的SLAM方法中,这些方法是基于特征的SLAM技术,使用ORB特征描述符根据图形生成关键帧。图11显示了一个样本图像的ORB图像匹配结果。

Yi, Trulls, Lepetit, and Fua (2016 )提出了一个名为学习不变特征转换(LIFT)的深度网络(DN)架构,它实现了一个检测系统,一个方向估计和一个特征描述。图12显示了LIFT系统概述图。LIFT的描述符可以定义为:

d = hρ(Pθ),(13)

其中h、ρ和Pθ分别是描述符CNN、其参数和来自方向估计器的旋转补丁。该方法是一个快速和实时的深度学习系统,可用于SLAM技术。

Alahi、Ortiz和Vandergheynst(2012)提出了一种基于人类视觉系统和视网膜的新型方法,称为快速视网膜关键点(FREAK)。该算法是一种二元特征方法。通过改变高斯核的大小,FREAK建立了一个对方向、噪声和尺度具有鲁棒性的系统,并且计算复杂度低。FREAK描述符可以被定义为一比特的高斯差(DoG)序列。


Leutenegger、Chli和Siegwart(2011)提出了一种用于关键点特征检测、描述和图像匹配的技术,称为二元稳健不变的可扩展关键点(BRISK)。BRISK算法是BRIEF描述器和SIFT尺度关键点检测器的结合。为了建立一个尺度和旋转不变的归一化描述符,采样模式围绕关键点k旋转atan2(gy, gx)(gx和gy是长距离点二维对的梯度和)。这种方法是一个512位的二进制描述符,和其他二进制描述符一样,用hamming距离而不是欧氏距离工作。图14显示了使用BRISK算法进行特征提取和图像匹配的结果。

Mikolajczyk和Schmid(2005)提出了一个稳健的描述符,称为梯度位置和方向直方图(GLOH)。GLOH是SIFT算法的一个扩展,它通过考虑更多的空间区域来整合位置信息和局部外观的图谱。这项技术计算对数极地位置网格的SIFT算法,并生成272个bin直方图,然后,使用PCA技术,减少结果的大小。

Tola, Lepetit, and Fua (2009 )提出了一个基于GLOH和SIFT算法的本地图像描述符,用于密集和大型图像,称为密集匹配的快速本地描述符(DAISY)。该技术对对比度、比例、旋转、光照和透视变化具有鲁棒性。该算法利用原始图像与几个具有大标准偏差的高斯滤波器的定向导数进行卷积。DAISY描述符可以定义为。

h是用标准偏差的高斯核卷积后的方向图中(u,v)的值的矢量,Ij是当方向被量化为N个值时,距离像素(u,v)在j给出的方向上的距离R的位置。这种算法对光线变化的嘈杂环境有很好的效果。图15显示了使用DAISY算法进行特征提取和图像匹配的结果。

Wang, Fan, and Wu (2011)提出了一种基于强度顺序的特征描述方法,称为局部强度顺序模式(LIOP)。

“Detector”

  1. -输入图像补丁

  2. -生成一个分数图S

  3. -执行一个软的argmax

“Orientation Estimator”

  1. -确定特征点x的位置

  2. -使用空间转换层作物提取更多的补丁

  3. -预测一个补丁的方向 θ

“Descriptor Network”

  1. -使用第二空间变换器层旋转P

  2. -产生Pθ

  3. -计算特征向量d

在这个算法中,局部斑块的局部和整体强度序数信息都被考虑到了,以做出一个判别性的描述符。LIOP不受图像模糊、图像旋转和单调强度变化的影响,可简要定义为:


P(x)是N个相邻样本点中第i个的强度,Ind是根据提议的LIOP索引表得到的映射(或0)的索引。巨大的计算成本使这种方法对于实时应用来说很复杂。

Fan, Wu, and Hu (2011)提出了一个结合多个支持区域的梯度分布和强度顺序的局部图像描述符。称为MROGH。在MROGH算法中,在每个支持区域获得梯度,然后根据强度顺序在空间上汇集旋转不变的梯度,最后用多个支持区域来创建MROGH描述符。旋转不变梯度是这项技术的基本组成部分,可以定义为:


Xu, Tian, Feng和Zhou(2014)提出了一个基于区域不变性的顺序和空间信息的二元描述符,称为OSRI。为了创建一个快速和低成本的计算方法,OSRI通过设计旋转不变的抽样,从一个区域建立一个子区域集,并根据高水平的不变性,定义一个描述符。子区域的几何中心点的空间顺序不变量是基于ORB方法定义的。为了获得子区域内各点的空间分布信息,直方图的每个bin可以定义为。

(x,y)是一个点,||是一个集合的cardinality,Oj是支持区域的第j个同心环。通过比较描述符的一小部分,该算法在早期阶段拒绝不匹配的描述符。

Han, Leung, Jia, Sukthankar和Berg(2015)提出了Match-Net:一个统一的方法,结合学习特征表示和比较函数来训练一个补丁匹配系统。这个系统包括一个用于提取补丁特征的深度卷积网络和一个由三个全连接层组成的网络,用于计算这些提取的特征的相似性。Match-Net对于宽基线视点不变的匹配很有用。该技术利用整流线性单元(ReLU)来实现卷积层的非线性,并利用随机梯度下降(SGD)在一个由n个补丁对组成的训练集上使交叉熵误差最小,批处理量为32,可以定义为:。

这里yi是输入对xi的标签,ˆ yi是SoftMax激活,被用作标签1的概率估计。这种技术是一种适当的深度学习方法,用于图像匹配和物体检测。

Alcantarilla, Bartoli和Davison(2012)提出了一种非线性尺度空间的多尺度二维算法,称为KAZE。这个算法是基于Hessian矩阵的尺度归一化行列式。KAZE的特征对尺度和旋转是不变的。这种方法计算出关键点的主要方向,并使用一阶图像导数计算出旋转和尺度不变的描述符。为了实现一组演化时间(ti)并将尺度空间转换为时间单位,非线性尺度空间可以定义为。


其中L是图像亮度,Al是一个矩阵,它编码了每个维度的图像电导率。该算法中的非线性尺度空间是利用可变电导率扩散和高效的加算子分割(AOS)技术建立的。

Alcantarilla和Solutions(2011)也提出了一种快速的多尺度特征检测方法,利用了非线性尺度空间的帮助,称为加速-KAZE(A-KAZE)。在主要算法之前使用预处理技术通常有助于获得更准确的结果。在SLAM中,图像预处理技术,如去噪和增强(特别是在水下SLAM应用中)可以减少导航和寻路的错误。需要注意的是,使用这些技术会影响处理时间,但在处理时间和准确性之间有一个权衡。还需要注意的是,降噪技术有可能损坏图像中的主要或重要像素。这种方法利用了模糊图像像素的非线性尺度空间,从而在不损害主要图像像素的情况下实现了去噪过程。利用快速显性扩散(FED)算法和非线性扩散滤波器的原理,建立一个非线性尺度空间。图像亮度通过非线性尺度空间的偏微分方程的非线性性质进行扩散。在这个算法中,在特征提取之后,将计算非线性尺度空间中每个滤波图像Lumi的Hessian的元素。Hessian矩阵的计算可以定义为:


其中σ2i,norm是非线性尺度中每个图像的倍频的归一化尺度因子(即σi,norm = σi/2σi)。Lumixx和Lumiyy分别是二阶导数的水平和垂直图像,Lumixy是交叉部分导数。具有尺度和旋转不变性的特征向量是根据一阶差分图像提取的。A-KAZE算法使用修改后的局部差分二进制

“Fig. 16 shows the AKAZE algorithm result for an image matching application.”

Yang和Cheng(2012)引入了一种二进制描述符,称为局部差异二进制(LDB),其原理与BRIEF(Calonder等人,2011)相同。该算法利用成对网格单元之间的梯度和强度差异,计算出一个图像斑块的二进制字符串。LDB将每个图像斑块P划分为n*n个网格,并计算出一个二进制测试:

其中F是用于提取网格单元信息的函数。LDB根据补丁的旋转积分图像计算任何网格单元的强度和梯度。

“5.Deep learning”

深度学习(DL)是一种人工神经网络(ANN)训练技术,在输入和输出层之间有大量的隐藏层。深度神经网络(DNN)是一个基本的有监督的DL模型,被组织成一个层级的结构。卷积神经网络(CNN)或ConvNet,是一种使用卷积层和池化层的深度神经网络,目前被广泛用于计算机视觉、图像分类和机器人系统。这种流行的技术使用卷积滤波结构,在一维、二维和三维矩阵数据和图像中提取特征作为输入。

CNN是大多数神经网络算法的主要核心,可以以监督或无监督的方式进行训练。对于SLAM方法,有几种DL技术用于系统学习,如深度递归卷积神经网络(RCNN)、深度递归神经网络(RNN)、生成对抗网络(GAN)等,目前,有几个基于CNN算法的深度学习系统被提出。图17显示了一个用于3D成像的基于CNN的符号网络。输入、输出和多个卷积层(池化层、全连接层(FC)和归一化层)是CNN系统的主要部分。

DL可以用于V-SLAM技术领域,可以优化视觉里程计和闭环检测部分。最近,深度学习相机运动和姿势估计技术已被广泛用于移动机器人系统中。这样的系统可以取代完整的传统VSLAM管道,需要大量的工程努力来开发。特征提取和匹配是基于特征的VO算法的核心,DL技术使用这些基本算法来构建神经网络系统。LIBVISO(Kitt, Geiger, & Lategahn, 2010)是一个立体和单眼图像库,用于VO应用和6-DoF姿势估计。

词袋(BoW)方法是移动机器人SLAM中最流行的闭环检测算法之一。BoW使用称为单词的视觉数据生成基于物体和场景的视觉字典,并使用倒置索引来检索之前看到的场景和物体(GarciaFidalgo和Ortiz,2018)。本文上一节讨论的特征提取和匹配就是基于这种方法。这种技术需要大量的内存来处理数据,这对机器人系统是一个重要的限制。

FAB-MAP(Cummins & Newman, 2011)系统就是基于这种技术建立的,用来检查新的图像特征并与准备好的字典进行比较。因此,移动机器人在闭环检测期间知道并理解环境中的物体和场景。因此,移动机器人在闭环检测期间知道并理解环境中的物体和场景。表3显示了state-artliterature中使用的DL方法,以及SLAM技术中视觉里程计和闭环检测(VO和LC)的报告。

“6.Datasets”

与传统的机器视觉方法不同,神经网络需要带有地面实况的数据来优化参数并学习执行任务。因此,有必要在提供图像和地面真相作为网络输入的数据集上训练和测试DL方法。有多种有效的数据集可用于SLAM方法的训练和测试。

KITTI(Geiger, Lenz, Stiller, & Urtasun, 2013)数据集包含了从移动车辆上拍摄的图像对,以及由GPS和Velodyne激光扫描仪获得的地面实况序列。这个数据集及其更新的更多移动物体(Menze Geiger, 2015)是用于移动机器人算法的大型计算机视觉数据集,包含200个立体图像对和帧序列(约42,000帧)。该数据集是立体视频、激光雷达的三维点云和车辆轨迹的大数据源。

MoSeg数据集(Brox和Malik,2010)包含具有挑战性的物体运动的序列,包括来自移动的动物和人的铰接运动。MPI Sintel(Butler, Wulff, Stanley, & Black, 2012)数据集是另一个有1041个训练图像对的数据集。

ImageNet(Deng等人,2009)数据集是一个用于训练网络系统的图像数据集,包含1000个类别的120万张图像。通常情况下,网络在这个数据库上进行训练,用于许多应用中的特征提取和物体检测。

DTU机器人图像数据集(Jensen, Dahl, Vogiatzis, Tola, & Aanæs, 2014)涵盖124个场景。它包括有49个摄像头位置的77个场景(类型I)和有64个摄像头位置的47个场景(类型II)。

TUM RGB-D SLAM基准(Sturm等人,2012)数据集由TUM计算机视觉小组收集,是动态SLAM方法的良好数据集。

城市中心和新学院数据集(Cummins & Newman, 2008)分别包含2474和2146幅640×480像素的图像。这些图像是具有稳定照明条件的室外城市环境,并按收集的顺序进行编号。这些图像是用安装在云台上的两台摄像机采集的,从机器人的左侧和右侧采集图像。城市中心和新学院数据集的地面实测闭环检测数分别为26976和14832。

“7.Conclusion”

视觉SLAM的知识对智能机器人的应用很有价值。本文介绍了最先进的VSLAM方法的回顾,以及回顾了基于其预期环境的方法的比较和适用性。目前还没有一种适合所有情况的方法可以应用于任何用例。一些方法可能需要更多的计算资源,同时提供更详细和更密集的大环境地图。其他方法可能依赖于稀疏的特征,由于现代特征检测器和描述器的速度和鲁棒性,可以提供快速的定位和绘图,允许在资源有限的移动设备上良好运行。另外,还介绍了传统和现代的SLAM模型、传感器、基于特征的算法和新方法,并对其中一些算法进行了实验模拟,以显示每种方法的结果。目前,深度学习视觉SLAM技术被用来减少计算时间和提高精度。我们总结了移动机器人视觉研究领域中使用的一系列DL技术、框架、处理器和数据集。在这项研究中,已经讨论了V-SLAM中的特征提取和匹配算法,对于未来的工作,可以研究V-SLAM中的物体检测和移动物体移除技术。视觉SLAM技术需要克服大规模环境下的大量计算、运动失真以及平衡精度和实时过程关系等问题。这被认为是SLAM系统中的一个早期问题,特别是在Mono-SLAM中出现的问题,后来一直在努力解决,但仍然没有完全解决。尽管在过去的几年里取得了巨大的进步,但现有的SLAM系统还远远没有建立起可操作的、完整的、可与人类建造的地图相媲美的未知环境的地图和模型。另一个有待改进的问题是基于语义的方法。如果自主机器人对其周围环境有更好的意义上的理解,特别是在非结构化的户外环境中,它们可以更智能地运作。近年来,深度学习在许多学术和工业领域提供了突破,特别是在决策和图像分析及操作等目标上,提供了自主性和速度的极大呈现。这被认为是VSLAM系统和一般SLAM的发展方向。最先进的深度学习技术可用于改善SLAM过程,包括循环闭合、数据处理、姿势估计、轨迹和映射,以便在未来实现高精度和快速SLAM。大规模的数据集及其可用性对深度学习的应用非常重要,但当数据稀少或没有标签时,也可以被视为一个限制因素。建立功能良好的无监督学习模型的尝试是很有希望的。

 声明内容归原作者所有,图片都是来自论文综述中。

Elsevier Enhanced Readerhttps://reader.elsevier.com/reader/sd/pii/S0957417422010156?token=21080347C77C1F550A9E1586B3135D656FC197C6CD98E6E915236C9FEC0CAA3622E7B70499FD885BAD7ABDE7712F4A0B&originRegion=us-east-1&originCreation=20220630131946
综述文献:

“Chong, T., Tang, X., Leng, C., Yogeswaran, M., Ng, O., & Chong, Y. (2015). Sensor technologies and simultaneous localization and mapping (SLAM). Procedia Computer Science, 76, 174–179.”

“Xia, L., Cui, J., Shen, R., Xu, X., Gao, Y., & Li, X. (2020). A survey of image semanticsbased visual simultaneous localization and mapping: Application-oriented solutions to autonomous navigation of mobile robots. International Journal of Advanced Robotic Systems, 17(3), 1729881420919185”

“Kolhatkar, C., & Wagle, K. Review of SLAM Algorithms for Indoor Mobile Robot with LIDAR and RGB-D Camera Technology. In Innovations in Electrical and Electronic Engineering (pp. 397-409): Springer.”

“Duan, C., Junginger, S., Huang, J., Jin, K., & Thurow,K. (2019). Deep Learning for Visual SLAM in Transportation Robotics: A review. Transportation Safety and Environment, 1 (3), 177–184.”

“Chen, Y., Zhou, Y., Lv, Q., & Deveerasetty, K. K. (2018). A Review of V-SLAM. Paper presented at the 2018 IEEE International Conference on Information and Automation (ICIA).”

“Yousif, K., Bab-Hadiashar, A., & Hoseinnezhad, R. (2015). An overview to visual odometry and visual SLAM: Applications to mobile robotics. Intelligent Industrial Systems, 1(4), 289–311.”

猜你喜欢

转载自blog.csdn.net/qq_44808827/article/details/125548396