[论文学习]权美香,朴松昊,李国. 视觉 SLAM 综述

摘要

视觉 SLAM 指的是相机作为唯一的外部传感器,在进行自身定位的同时创建环境地图。 SLAM 创建的地图的好坏对之后自主的定位、路径规划以及壁障的性能起到一个决定性的作用。 本文对基于特征的视觉 SLAM 方法和直接的 SLAM 方法,视觉 SLAM 的主要标志性成果,SLAM 的主要研究实验室进行了介绍,并介绍了 SIFT,SURF,ORB特征的检测与匹配,关键帧选择方法,并对消除累积误差的闭环检测及地图优化的方法进行了总结。最后,对视觉SLAM 的主要发展趋势及研究热点进行了讨论,并对单目视觉 SLAM,双目视觉 SLAM,RGB_D SLAM 进行了优缺点分析。

1.根据传感器的视觉SLAM分类

根据采用的视觉传感器不同, 可以将视觉SLAM主要分为三类:仅用一个相机作为唯一外部传感器的单目视觉SLAM;使用多个相机作为传感器的立体视觉SLAM;基于单目相机与红外传感器结合构成的传感器的RGB-D SLAM。

 

2.视觉SLAM方法

2.1基于特征的 SLAM 方法

基于特征的视觉SLAM方法指的是对输人的图像进行特征点检测及提取,并基于2-D或3-D的特征匹配计算相机位姿及对环境进行建图。如果对整幅图像进行处理,则计算复杂度太高,由于特征在保存图像重要信息的同时有效减少了计算量,从而被广泛使用。

早期的单目视觉 SLAM 的实现是借助于滤波器而实现的,利用扩展卡尔曼滤波器^{概念摘出}( extended Kalman filter, EKF)  来实现同时定位与地图创建,其主要思想是使用状态向量来存储相机位姿及地图点的三维坐标,利用概率密度函数来表示不确定性,观测模型和递归的计算,最终获得更新的状态向量的均值和方差。(线性化问题+解决)

之后基于关键帧的单目视觉SLAM逐渐发展起来,其中最具代表性的是parallel tracking and mapping(PTAM)进行操作,避免了特征点的提取,能够使用图像的所有信息。此外,提供更多的环境几何信息,有的提取关键帧的方法,且将定位和创建地图分为两线程。(PTAM代表作:KLEIN G, MURRAY D. Parallel Tracking and Mapping for Small AR Workspaces[ C] / / IEEE and ACM Interna⁃ tional Symposium on Mixed and Augmented Reality. Nara, Japan, 2007: 225-234.)

也有将整个SLAM过程分为定位、创建地图、闭环3个线程,且对这 3 个任务使用相同的 ORB特征,且引进本质图的概念来加速闭环校正过程的做法。

RGB-D SLAM通常使用ICP算法来进行位姿估计。

[论文学习]权美香,朴松昊,李国. 视觉 SLAM 综述_第1张图片

2.2直接的SLAM方法

直接的SLAM方法指的是直接对像素点的强度进行操作,避免了特征点的提取,该方法能够使用图像的所有信息。此外,提供更多的环境几何信息,有助于对地阁的后续使用。且对特征较少的环境有更高的准确性和魯棒性。

稠密的图像定位:对当前图像构建半稠密inverse深度地图,并使用稠密图像配准(dense image alignment)法计算相机位姿。构建半稠密地图即估计图像中梯度较大的所有像素的深度值,该深度值被表示为高斯分布,且当新的图像到来时,该深度值被更新。

kinect融合的方法:该方法通过kinect获取的深度图像对每帧图像中的每个像素进行最小化距离测量而获得相机位姿,且融合所有深度图像,从而获得全局地图信息

2.3视觉SLAM主要标志性成果

1.MonoSLAM是第1个基于EKF方法的单目SLAM,能够达到实时但是不能确定漂移多少,能够在概率框架下在线创建稀疏地图。

2.DTAM是2011年提出的基于直接法的单目SLAM算法,该方法通过帧率的整幅图像对准来获得相对于稠密地图的相机的6个自由度位姿,能够在GPU上达到实时的效果。

3.PTAM是第1个用多线程处理SLAM的算法,将跟踪和建图分为两个单独的任务并在两个平行的线程进行处理。

4.KinectFusion是第1个基于Kinect的能在GPU上实时构建稠密三维地图的算法,该方法仅使用Kinect相机获取的深度信息去计算传感器的位姿以及构建精确的环境3D地图模型。

5.LSD-SLAM是直接的单目SLAM方法,即直接对图像的像素点进行处理,相比于之前的基于直接法的单目视觉里程计,不仅能计算出自身的位姿,还能构建出全局的半稠密且精确的环境地图。

6.ORB-SLAM是2015年出的比较完整的基于关键帧的单目SLAM算法,将整个系统分为追踪、地图创建、闭环控制3个线程进行处理,且特征的提取与匹配、稀疏地图的创建、位置识别都是基于ORB特征,其定位精确度很高,且可以实时运行。

之后看的论文就锁定是对应的这六篇论文了。

从其他论文中看到一个不错的表。(刘浩敏,章国锋,鲍虎军.基于单目视觉的同时定位与地图构建方法综述[J].计算机辅助设计与图形学学报,2016,28(06):855-868.)

[论文学习]权美香,朴松昊,李国. 视觉 SLAM 综述_第2张图片

 

3.SLAM算法的关键问题

3.1特征检测与匹配

常用特征SIFT,SURT,ORB特征。SIFT特征具有可辨别性,由于其描述符用高维向量(128维)表示,且具有旋转不变性、尺度不变性、放射变换不变性,对噪声和光照变化也有鲁棒性,时间复杂度高。SURF特征具有尺度不变性、旋转不变性,且相对于SIFT特征的算法速度提高了3到7倍。对两幅图像的SIFT和SURF特征进行匹配时通常是计算两个特征向量之间的欧氏距离,并以此作为特征点的相似性判断度量。ORB特征是FAST特征检测算子与BRIEF描述符的结合,并在其基础上做了一些改进。ORB特征最大的优点是计算速度快,是SIFT特征的100倍。FAST特征检测速度就很快,再加上BRIEF描述符是二进制串,大大缩减了匹配速度,而且具有旋转不变性,但不具备尺度不变性。BRIEF有种遗传算法转化原理的感觉呢。

在大量包含直线和曲线的环境下,使用点特征时,环境中很多信息都将被遗弃,为了弥补这个缺陷,从而也提出了基于边特征的视觉SLAM和基于区域特征的视觉SLAM方法。这两种论文有必要一看。

3.2关键帧选择

帧对帧的对准方法会造成大的累积漂浮,由于位姿估计过程中总会产生误差。为了减少帧对帧的对准方法带来的误差,基于关键帧的SLAM方法被提出。有三种:基于地图点数量[地图点?],基于特征点数量(低于某阈值为新关键帧),基于熵相似性。我以前读到过一篇和帧蒸馏网络相关的论文,还写过文章,或许这是个可以套用的点。

3.3闭环检测方法

闭环检测及位置识别,判断当前位置是否是以前已访问过的环境区域。三维重建过程中必然会产生误差累积,实现闭环是消除的一种手段。有文献对闭环检测方法进行了比较,且得出图像对图像的匹配性能优于地图对地图,图像对地图的匹配方法。图像对图像的匹配方法中,词袋方法由于其有效性得到了广泛的应用。词袋指的是使用视觉词典树将一幅图像的内容转换为数字向量的技术。对训练图像集进行特征提取,并将其特征描述符空间通过K中心点聚类方法离散化为个簇。由此,词典树的第一节点层被创建。下面的层通过对每个簇重复执行这个操作而获得,直到共获得层。最终获得W个叶子节点,即视觉词汇。这种特征逐层提取的感觉有点像CNN。

3.4地图优化

对于一个在复杂且动态的环境下工作的机器人,3D地图的快速生成是非常重要的,且创建的环境地图对之后的定位、路径规划及壁障的性能起到一个关键性的作用,从而精确的地图创建也是非常重要的。闭环检测成功后,往地图里添加闭环约束,执行闭环校正。

闭环问题可以描述为大规模的光束平差法(bundle adjustment)问题,即对相机位姿及所有的地图点3D坐标进行优化,但是该优化计算复杂度太高,从而很难实现实时。

另一种可执行方法为通过位姿图优化(pose graph optimization)方法来对闭环进行优化,顶点为相机位姿,边表示位姿之间相对变换的图称为位姿图,位姿图优化即将闭环误差沿着图进行分配,即均匀分配到图上的所有位姿上。

有文献提出的RGB-D SLAM算法的位姿图里每个边具有一个权重,从而在优化过程中,不确定性高的边比不确定性低的边需要变化更多去补偿误差,并在最后,对图里的每个顶点进行额外的闭环检测且重新优化整个图。

4.视觉SLAM主要发展趋势及研究热点

4.1多传感器融合

相机能够捕捉场景的丰富细节,而惯性测量单元IMU有高的帧率且相对小的能够获得准确的短时间估计,这两个传感器能够相互互补,从而一起使用能够获得更好的结果。

4.2与深度学习的结合

1.一种基于深度学习的立体匹配方法:用卷积神经网络来学习小图像块间的相似性,该卷积神经网络输出的结果用于线性化立体匹配代价。

2.一种通过整合局部敏感散列法和新的语义搜寻空间划分的优化技术,使用卷积神经网络和大的地图达到实时的位置识别。

3.一种使用卷积神经网络去学习视觉里程计的最佳的视觉特征和最优的估计器。

4.一种重定位系统,使用贝叶斯卷积神经网络从单个彩色图像计算出六个自由度的相机位姿及其不确定性。

个人希望研究的方向,有空这几篇对应的论文也要读。仔细想想这些确实在解决上述的关键问题,特征检测,闭环检测,地图优化。

 

5.不同种类视觉SLAM的优缺点

5.1单目视觉SLAM

单目相机应用灵活、简单、价格低。但是,单目视觉SLAM只能依靠获得的图像数据计算环境物体的方向信息,无法直接获得可靠的深度信息,从而初始地图创建及特征点的深度恢复都比较困难,尺度不确定性为误差来源。

5.2双目视觉SLAM

双目视觉SLAM利用外极线几何约束的原理去匹配左右两个相机的特征,从而能够在当前帧速率的条件下直接提取完整的特征数据,因而应用比较广泛,它直接解决了系统地图特征的初始化问题。

5.3RGB-D SLAM

深度相机在获得彩色图像的同时获得深度图像,从而方便获得深度信息,且能够获得稠密的地图,但是成本高,体积大,有效探测距离太短,从而可应用环境很有限。

 

你可能感兴趣的:(学术天涯,SLAM学习,SLAM,论文学习)