Visual simultaneous localization and mapping: a survey论文翻译

Fuentes-Pacheco J, Ruiz-Ascencio J, Rend, et al. Visual simultaneous localization and mapping: a survey[J]. Artificial Intelligence Review, 2015, 43(1):55-81.

相机校正 
线下校正:受到环境的影响,温度、湿度 
线上校正 
单目SLAM:bearing-only SLAM,延迟与非延迟 
追踪多目标的显著特征 
1. 假设相机运动平缓并且显著特征能够匹配;使用特征提取算法和匹配技术;当存在纹理或者模糊时将会不精确,解决方法:使用关键帧或者分析实时视觉追踪问题 
2. 假设探测的环境是静止的并且只包含静物和刚体;大部分环境中包含运动的人或物体。如果不考虑此类问题将会造成错误地匹配和不可预测的错误。 
3. 世界是视觉重复的。现实世界中存在大量的相似纹理,例如重复的建筑、植物枝叶、墙的砖或石头等。还有就是交通灯等物体将会在郊区环境重复出现,这使得在大型区域识别出之前探测过的区域并进行SLAM是困难的.

显著特征提取

显著特征(salient features)与路标(landmarks)的区别 
* 显著特征描述的是二维图像环境的一块区域 
* 路标是三维现实世界的一块区域

显著特征是最容易被定位的,由人为放置的路标产生。路标是为了在导航中产生救急的显著特征而被有意放置。例如放置在墙或地板上的方块或者圆形。这些标志的形状可以预先知道,并且容易探测,但是环境必须在系统初始化之前被预先布置。自然界的路标是在居住环境中出现的标志。对于室内环境通常会使用门或窗的拐角作为自然路标,室外环境通常使用树干、区域或者兴趣点。对于给定探测器,兴趣点是有着容易和其他点区分的领域的点。 
优质特征的特质: 
* 显著性(容易提取) 
* 精确性(可以使用精确度衡量) 
* 旋转、转换、伸缩和光照的不变性

优质的路标应该在不同的三维视角下有着相似的形状。显著特征提取过程由两个阶段组成: 
* 探测:处理图像,从中得到大量显著元素 
* 描述:根据图像的视觉外观构建特征向量 
描述器对位置和方向的不变性将会提高图像匹配和数据融合过程的效率。

4.1 探测器

视觉、自然特征:角点、兴趣点、线段和区域。兴趣点的选择极大依赖于机器人工作环境。 
有大量的显著特征探测器:Harris角点探测器;Harris-Laplace和Hessian-Laplace点探测器以及它们仿射不变版本Harris-Affine和Hessian-Affine;SIFT使用的DoG(Difference of Gaussians,高斯微分);MSERs(Maximally Stable Extremal Regions,最大稳定极值区域);FAST (Features from Accelerated Segment Test);SURF (Speeded Up Robust Features)中使用的Fast-Hessian。Hessian-Affine 和 MSER有最优的性能,MSER是最鲁棒的在视角和光照改变时。 
由于角点的不变性特征和它们在视觉领域的广泛应用,大量vSLAM系统使用角点作为路标。但是Eade和Drummond使用线段作为路标,并且能够融合高度几何信息地构造地图。作者声称对于追踪和SLAM,边是好的特征,有着光照、方向和伸缩不变性。使用边作为特征似乎是好的,因为对于相机突然移动而造成的模糊,边受到的影响较小。然而边提取困难、难以匹配。

4.2 描述器

物体识别中最常用的描述器是直方型SIFT描述器,基于显著特征点领域的局部特征,获取128个分量的向量。PCA-SIFT是SIFT的变种,其主要思路是得到一个特别的、鲁棒的、并且有着更少分量的SIFT,它使用PCA(Principal Component Analysis technique,主要成分分析技术)技术减少分量数。直方图型描述器具有转换、旋转、伸缩不变性,和对光照和视角改变的局部不变性。 
SIFT不能保证高的稳定性,这意味着摄像头在某个视角探测到的路标将会在摄像头轻微移动之后消失。当前有很多SIFT算法的变种提高了SIFT算法的性能,例如:ASIFT,BRIEF,ORB(一种快速的二值描述器基于BRIEF,具有旋转不变性和抗噪性);PIRF(Position-Invariant Robust Feature)和GPU-SIFT(SIFT在GPU上的实现)

5 图像匹配和数据融合问题

图像匹配:在一副图片中搜索每个元素,并且将其与另一幅图片中的对应。匹配算法可以分为两种:短基线和长基线。

5.1 短基线匹配

基线是划分用来捕获图像的两个摄像头的光学中心的线段。当图像从差别较小的视角被捕获时,图像中相应点几乎有相同的外形和位置,减少了问题的复杂度。在这种情况下,这个点可以使用矩形窗口的一组采样点的强度值来描述。这个强度值可以通过相关性的进行衡量,如互相关、差的平方和、差的绝对值和,或者其他的。存在大量的公式衡量两个两个窗口的相似性。 normalized crossed correlation (NCC)是一种最好的度量方法之一,归一化使这种方法有着亮度的不变性。homography单应性与NCC结合,使得NCC有着视角的不变性,使摄像头能够更自由地移动。但是NCC的一致性使其容易受到假正与假负样本的影响。重复的纹理的图片区域,搜索区域的两个或多个点将会有强响应。 
短基线相关性,考虑搜索区域的维度和窗口的维度都是重要的,否者将会出错。例如,较小的窗口可以加快速度,但是会出现假的匹配,大的窗口会消耗过多的时间。通常建议使用9x9、11x11的窗口,并且窗口应包括角点,因为图像在交点处有着两个或者多个方向梯度,同时有利于相关性的求解。帧与帧之间的短基线匹配不需要使用描述器,但是一旦追踪失败,描述器将会很有帮助。 
短基线匹配的缺点是计算量大并且对噪声敏感,例如对图像坐标的错误度量会导致不同视角之间距离变小。然而,短基线还是可以实现对视频中相应特征的精确追踪。

长基线匹配

使用长基线匹配时,图像出现尺寸或视角方面的巨大变化将会导致图像中的一个点移动到另一个图片中的任何位置。这产生了一个困难的关联问题。一个点领域的点将会由于视角和光照的变化而打乱,相关性度量不能得到较好的结果。 
选择相关性的最简单方法是对比两幅图像中所有特征(暴力方法)。但是这种方法花费的时间会随着提取特征的数量而平方增长,这对于实时的应用中是不可取的。 
最近,已经提出了大量某些变换不变性长基线匹配算法,许多算法使用对探测的特征提取描述器,计算描述器之间相似性并且使用数据结构来快速而有效地搜索匹配对。 
不相似性的度量方法有很多,如欧拉距离、曼哈顿距离、卡方距离等等。数据结构可以是平衡二叉树、哈希表。特征相关度量方法: 
* 距离临界值:距离小于临界值的两个特征是相关的 
* 最近领居:当距离相同时,选择最近领域的特征 
* 最近邻居距离比:与最近邻居类似,临界值为当前像素与第相似特征的距离比。

多义性:第一帧中的一个特征被匹配到第二帧中的多个特征,解决方法:means of relaxation techniques和considering 
collections of points 
图形约束可以加速匹配过程。极限约束:x与y是对应点的必要条件是:y处于x的极线上。通过这种方式,全局的匹配变为一条线的匹配。 
其他研究:使用学习策略确定特征的相似度。对相关性的定义看为分类问题,似乎是可以的。但是实时SLAM的特殊情况下,这似乎是不准确的,因为必须使用充分的数据进行在线训练。同样有论文提出了在线训练的快速方法可以应用于SLAM之中。一些论文提出了不同的图像相关性度量方法,点的相似关系使用图像中点的均值来度量。两幅图片中相同或者相似的图像被认为是相关的。相同地,提出了一种基于图像的的迭代匹配算法。但是,相关的研究还是有限的,不能解决实时问题,无法处理了时间闭塞问题。 
使用高质量的描述器或是不同的相似度量方法并不能避免错误匹配问题。如果将这些匹配用于SLAM中将会对摄像机定位和建图产生重要影响。因此使用鲁棒性的估算器如RANSAC (Random Sample Consensus)、PROSAC (Progressive Sample Consensus)等是必要的,它们能够自动处理错误匹配。其主要不同之处是估算模型质量的的方法。鲁棒性的估算器通过获取到的异常值来估算模型的质量。PANSAC估算异常值的全局关系,同时对数据进行分类(是否与全局关系相容),这种方法可以容忍大量异常值,已被广泛使用。 
另一种估算器使用从帧到帧间的贝叶斯技术,被成为动态匹配。动态匹配算法对图像中最可能找到真正点的部分进行搜索,减少了离群值的数量和图像处理操作数量。这个算法基于香农信息论原理进行指导性搜索。动态匹配显示出了很好的结果对于快速相机移动。这种技术的局限性是当特征增加时,拓展性较弱。实时无损的处理数百个特征。 
衡量匹配算法的性能的方法是通过ROC curve(means of the Receiver Operating Characteristic curve)。这是一种图形化表示包括计算真正、假正、假负、真负,计算正的预测的值和精确度。 
* 真正:正确匹配的数量 
* 假负:没有被正确检测到的匹配 
* 假正:错误的匹配数量 
* 真负:正确被拒绝的非匹配。

某些相关文献中出现如下词语: 
* 精确度:正确匹配的数量除以被发现匹配的数目 
* 召回率:正确匹配的数量除以期待正确匹配的数量

5.3视觉SLAM的数据融合

视觉地理识别技术(Visual Place Recognition techniques) 
数据融合有如下特殊情况:闭环检测、绑架的机器人(摄像头)、多会话、协作建图

5.3.1 闭环检测

闭环检测:识别任意长度的环状移动中已经过的地方。这个问题是大型SLAM和错误恢复的最大障碍。 
感性走样(perceptual aliasing):环境中不同的两个地方被识别为相同。使用摄像头作为传感器,但是环境中出现重复的特征。例如:走廊、相似的建筑元素、或者灌木丛。一个好的闭环检测算法不能产生任何的假正,并且尽量少的假负。 
闭环检测的方法被分为三种:地图到地图、帧到帧、帧到地图。主要区别为融合数据时的数据源(地图空间或者图像空间)。然而理想的是能够结合三种的优势构建一种系统。闭环检测对于任何SLAM都是重要的问题。 
【】中使用相似性矩阵来检测捕获图像中可能的匹配对来检测闭环,重复和视觉混淆的图像。【】提出了一种特别的方法去从追踪失败中恢复,并且在单目SLAM中进行实时闭环检测。他们同样提出了一种GraphSLAM的系统,每个接点储存着路标并且保存相关接点之间的装换关系的估算值。为了能够检测失败或者闭环,他们的模型看起来BoVW(Bag of Visual Words),寻找获取图像中相似的部分。【】中提出了一种使用贝叶斯滤波器优化BoVW的闭环检测方法,其中获取的每帧都会计算经过的可能性。【】中提出了一种值使用图像数据识别位置的可能性架构。通过学习生成的外观模型,他们声称不仅可以计算两个观察物的相关性,同样可以计算他们属于同一位置的可能性,因此,他们计算获取位置的概率分布函数(pdf)。最后,【】提出了一种新的拓扑矩阵表示世界的方法,基于共可视性,简化数据的关联,提升识别性能。 
闭环检测为了能够达到100%的精确度。这是因为一个假正可能会导致建图中无法挽回的错误。在SLAM的上下文中假正比假负更可怕。假负减少了召回率但是对精确度没有影响。因此闭环检测器的衡量标准是精度为100%下的召回率。

5.3.2 机器人诱拐

机器人诱拐问题:在没有之前位置信息的情况下,确定机器人的位置。这种情况可能发生如果机器人被放到一个已经建图的区域,在不知道放置过程的前提下。或者当机器人由于遮蔽区域出现盲目移动,空间位置传感器故障或是摄像头的快速移动。 
【】提出一种能够容忍相机位置的不确定性和由于连续误差错误的移动或遮蔽导致的追踪错误。这个问题包括生成一个基于SIFT的描述器在不同的分辨率来保证数据关联的鲁棒性。除此之外,基于哈尔小波的低阶系数索引还被用到。【】提出一种重定位模块来检测SLAM系统,检测追踪错误,在路标地图中确定相机位置;一旦状态变好就重新进行最终。重定位被执行通过路标识别使用随机树分类器并且使用特征收割技术进行在线训练。为了找到相机的位置,通过当前帧和地图中的地标来生成候选的位置。三种潜在可能匹配中进行选择。并且通过三点算法计算集合中所有的相关位置。使用RANSAC,通过在图像中其他相关性来计算位置。如果一个位置的产生一个较大的“常识”,这个位置就被认为是正确的。

5.3.3 多会话协作建图

多会话协作建图:将不同时间机器人收集的两个或多个地图或者不同机器人收集的地图进行融合, 
地标测量的方法:最近领域、时序兼容最近领域、结合相容、Joint Compatibility Branch and Bound。相似:地图可用、机器人初始化良好。

6 vSLAM问题的解决方法

解决vSLAM问题的技术主要分为3类: 
* 经典方法:基于概率滤波器,系统保存着机器人姿态和路标位置的概率性代表 
* 运动结构(Structure from Motion ,SfM): 
* 仿生技术:

6.1 概率滤波器

大部分的SLAM技术基于概率技术。有the Extended Kalman Filter (EKF,拓展卡尔曼滤波)、Factored Solution to SLAM (FastSLAM,SLAM因素分解)、Maximum Likelihood (ML,最大似然法)和Expectancy Maximization (EM,期望最大化)。前两种技术是最常用的,它们提供了最小化元素和地图的不确定性。对于小区域成功,大区域和闭环检测能力有限。 
增量的构建地图,随机地图、SLAM问题的精确解决方法使用EKF。包含元素位置和地图元素的状态向量。对观察和测量的非线性模型进行迭代计算。通过概率密度函数(pdfs)表示不确定性。迭代的均值和方差接近于最优解。EKF对错误关联非常敏感,一个错误的测量都会导致整个滤波器的发散。EKF计算复杂度是路标数量的二次方,成为大型建图的主要困难。解决计算复杂度的文献:atlas Framework、Compressed Extended Kalman Filter (CEKF) (Guivant 2002), Sparse Extended Information Filter (SEIF) (Thrun et al. 2002), Divide and Conquer in O(n) given by Paz et al. (2008) or Conditionally Independent Submaps (CI-Submaps) developed by Piniés and Tardós (2008). 
FastSLAM使用Rao-Blackwellized粒子集表示元素姿态分布,粒子代表元素的轨道,使用EKF进行建图,假设数据关联并且服从概率分布。这种算法包括粒子生成过程和重采样,以防止粒子退化。这种算法的计算复杂度是对数级的,O(plogn)其中p为粒子数、n为路标数。无法确定能够精确代表元素位置的粒子数,粒子数过多消耗计算时间和内存,过少则会导致不精确的结果。 
MonoSLAM实时单目概率系统,能够产生3D矩阵点云图,速率30帧每秒。考虑相机6个自由度的移动,位置(x,y,z)方向(pitch,yaw,roll)。由于使用EKF来计算数据只适合室内环境。 
MonoSLAM使用线段和角速度建立运动模型。产生不相容,无法正确处理瞬间位移,限制了摄像头的移动。两帧之间显著特征的移动非常小时才能精确追踪。 
优化方案:拓展运动模型,200Hz,考虑加速度、线速度和角速度。只能在几秒内保持实时,地图规模和计算量迅速增长。 
维持大型地图,使用粒子滤波器。每帧能够追踪30个特征,保持数千个路标。 
MonoSLAM户外解决方法,使用层次建图技术和基于Geometric Constraints Branch and Bound (GCBB)的数据关联技术,能够进行大型闭环检测。 
单目vSLAM的主要问题是初始化路标,单次观测无法获取深度。延迟初始化技术, 反深度参数化,能够在EKF-SLAM系统中无延迟的进行路标初始化。

6.2 运动构图

运动构图(Structure from Motion (SfM))能够从一系列图像中计算场景的3D结构和摄像头位置。SfM算法通过在当前帧中提取显著特征,匹配并进行非线性优化(bundle adjustment,BA)来减少重映射误差。SfM对摄像头的定位精度高,但是不一定能产生相容地图。使用SFM进行精准定位。 
视觉测距包括同时估算相机姿态和3D世界的特征。视觉测距能够处理每帧中数千的特征而概率化技术只能处理少数。 
Parallel Tracking and Mapping (PTaM)平行追踪与建图,基于关键帧,两个并行执行的线程。第一个线程进行大量特征的鲁棒性追踪,第二个使用BA技术产生3D点云图。 
FrameSLAM and View-Based Maps,基于骨架的地图表示,包括帧间非线性的约束(而不是独立的3D特征)。作者使用有轮机器人的双目设备,结果显示了长距离、状态改变下(穿过郊区环境)的优良性能。 
为了提高单目SLAM系统的定位精度,提高特征数量而非帧的数量,同时BA优化技术要优于滤波器。然而他们论证了滤波器是有用的,在高度不确定的环境中。理想的SLAM系统需要结合SfM技术和概率滤波器的优点

6.2 仿生模型

RatSLAM:使用海马模型,啮齿动物定位和建图技术。使用单摄像头,能够生成复杂环境的相容、稳定地图表示。实验显示了室内外环境的优良性能。能够闭合多于51个环、高达5KM在一天中的不同时刻。大量的RatSLAM系统被研究,其他生物的仿生研究、蜜蜂、蚂蚁、灵长类、人类。 
【】中测试和蚂蚁的行为为了分析蚂蚁如何通过视觉路标进行导航而非信息素。旨在理解蚂蚁如何使用视觉信息进行导航、说明了该方法是可行的并且可以用于机器人实现。

7 观测世界的表示

地图是当今活跃的研究领域,空旷和障碍物在地图中通过几何的均值被表示。有几种地图表示,大致分为矩阵表示和拓扑地图。矩阵地图描述环境的几何特性而拓扑地图描述不同位置的关联。 
矩阵地图分为障碍网格图和路标图。网格图以胞格离散化环境,对空旷和障碍物进行建模,包含2D,2.5D,3D的信息。路标地图确定并保存着某个显著特征的3D位置。 
路标图中只有孤立的路标被描述,因此内存资源和计算消耗比较少。对避障和导航不理想。合适元素姿态比地图更加重要的情况。 
拓扑地图表示环境通过标志点和弧边,与图类似。基于图的表示简化了地图拓展问题。对地图进行全局优化,减少局部误差。拓扑图缺少矩阵信息,不能用于导航。【】提出了结合矩阵和拓扑信息在一个相容的模型中。 
最有前景的环境表示方法是基于图的表示。有大量问题需要克服。检测到错误位置时如何对图形进行修正,或者全局地图的生成。


猜你喜欢

转载自blog.csdn.net/danmeng8068/article/details/81057791