解决单目尺度不确定性的几个方法

  1. 基于优化的融合IMU 的方案

基于优化的方法主要依靠图像处理技术进行特征提取和图像匹配,而 IMU 数据则被视为先验项或者正则化项。

  • 自 PTAM(parallel tracking and map-ping) 之后,批量非线性优化方法一般都分为2 个线程:跟踪和建图.在跟踪线,通过各种特征检测器从图像中提取 3 维空间中的点、线或其他路标特征。然后,针对检测到的所有特征,在 2 个图像之间定义重投影误差。之后用该误差建立优化的代价函数,以便找到特征或地标的坐标,即光束平差法(bundle adjustment,BA) 。在建图线程,地图中特征和路标的坐标被用于定义 2 幅图像之间的重投影误差,然后再次应用优化算法来发现移动机器人位姿的变化。将优化问题分成 2 个并行线程的目的是使跟踪部分实时响应图像数据,以便快速获得跟踪结果。而地图的优化没有必要实时计算,可以放在后端缓慢运行.基于优化的方法通常使用g 2 o 、Ceres 、GTSAM 等非线性优化库实现优化。

基于优化的方法有两种类型,一种是含有局部优化(LBA)和全局优化(GBA),一种是只有全局优化(GBA)

LBA通过设定固定的窗口,将在这个窗口内的系统状态进行估计,同时边缘化旧的状态维持实时优化窗口。相比于滤波方法,基于优化的方法精度更高,因为它们可以对过去的测量结果重新进行线性化处理,同时在优化时可以设置鲁棒核函数来剔除一些异常值。从而提高精度;但是缺点是,边缘化旧的一帧时带来了稠密的先验信息,这在一定程度上降低了效率,针对这个问题,一些文献 中提出了为了稀疏性而放弃某些测量的方法。此外,由于采用了边缘化的方法,LBA方法具有与部分滤波方法相似的问题,如一致性,线性化误差的累积等。

  • 苏 黎 世 联 邦 理 工 学 院 ASL 实 验 室 Leutenegger 等 提 出 了 OKVIS(open keyframe-based visual-inertial SLAM);利用基于关键帧的滑动窗口进行批量非线性优化,先于滑动窗口的关键帧被边缘化,不用来进行估计。系统前端使用多尺度 Harris 特征检测器 来提取特征,然后在其基础上计算 BRISK(binary robust invariant scalable keypoint)描述子,以便在帧与帧之间进行数据关联。

  • 香港科技大学飞行机器人实验室提出的 VINS-Mono(monocular visual-inertial system)方法类似于 OKVIS,是一种基于非线性优化的 VI-SLAM方法。VINS-Mono 方法为这类框架引入了几个全新的功能,其完整系统包括观测值预处理、 初始化、 局部视觉惯性联合优化、全局图优化和回环检测 5 个部分,如图 4 所示. 前端提取 Harris 特征点,并采用 LK(Lucas-Kanade)光流(opticalflow)法跟踪相邻帧。光流法是一种描述像素随时间在图像之间运动的方法。LK 光流法计算部分像素,在 SLAM 中用于跟踪特征点的位置。VINS-Mono 方法只计算特征点,不计算描述子,同时使用光流法跟踪特征点的运动。这样就减少了计算和匹配描述子的时间和资源,只需要计算光流.在初始化部分,作者使用了一种松耦合的传感器融合初始化程序,称为动态初始化,先用图像信息构建SFM,后面结合IMU信息,进行在线VIO标定。使得系统可以在优化之前从任意初始状态引入估计器。同时采用预积分的处理方法处理IMU信息,得到两帧之间的IMU相对运动,而不是随着某一时刻位姿改变而要重新处理IMU信息,减少计算量。系统采用与 OKVIS相似的基于滑动窗口的紧耦合位姿估计方法,并且加入了基于DBoW2(bag of binary words 2)的回环检测线程,使系统具有重定位功能,而全局优化则采用4Dof优化。

  • 香港科技大学飞行机器人实验室随后又推出了 VINS-Mobile 和 VINS-Fusion。VINS-Mobile 在 iOS 设备上运行,并为增强现实(AR)应用程序提供本地化服务。VINS-Mobile 对 VINS-Mono 框架作了许多轻量化处理,并采用了一种基于小滑动窗口的联合优化方案。VINS-Fusion 在完善 VINS 框架的同时,提供了 4 个不同硬件的版本,包括单目 IMU、 双目 IMU、 纯双目和双目 IMU 与GPS 松耦合。

  • 百度 AR 技术小组提出的 ICE-BA(incremental,consistent and efficient bundle adjustment) 沿 用了 OKVIS 以及 VINS-Mono 这一类框架。前端提取Harris 特征点 并采用 LK 光流法 跟踪相邻帧,与 VINS-Mono 相似.后端则是论文中提出的增量式 BA,主要分为 3 个部分:局部 BA(LBA)、全局 BA(GBA) 以及相对边缘化(Relative-Marginalization),前两者采用增量式方法提升了后端速度,后者保证了LBA 和GBA 的一致性。其中,G BA 在建立增量方程时,对系统已经计算过且不变的状态向量不进行计算。因为即使重新计算,精度也不会有太大的改善。对于LBA 来说,由于几乎每个点都被滑动窗口里面所有帧看到,因此即使只重新线性化一部分点,也会带来较大的改动。因此在LBA这个部分,系统中采用了一个更高效的针对局部 BA 的后端设计。这个方法把长期跟踪的特征点分成很多短期跟踪段,这样每次重新计算特征点的时候,重新线性化的区域减小,从而提高了效率。见图5;对于滑窗系统,往往都有边缘化这一步,把有些本应该出了滑动窗口的信息以另一种形式存储下来。但是当有GBA 存在时,边缘化的效果未必会有很大的提升,反而可能会下降。ICE-BA 中改进了边缘化方法,保持了边缘化和全局 BA 的一致性。但在测试的时候,去掉相对边缘化有些数据集效果会更好。

  • 在这里首先介绍纯视觉ORB-SLAM ,其首次使用 3 个线程:实时跟踪特征点的线程、局部建图的优化线程(co-visibility graph)和全局回环检测与优化线程(essential graph),来完成 SLAM。跟踪线程对每幅图像提取 ORB 特征点,并与最近的关键帧比较,计算特征点位置并估计位姿。局部 BA 线程求解更精细的相机位姿和特征点空间位置.全局回环检测线程采用 DBoW2 对全局的地图与关键帧进行回环检测,消除累积误差。ORB-SLAM 的三线程结构取得了优异的跟踪和建图效果,保证了移动机器人轨迹与地图的全局一致性,该算法框架在开源数据集测试的结果是效果最好的开源代码。

  • VI-ORB SLAM 改进自 ORB-SLAM2,作者引入 IMU 尝试解决在快速运动时丢失特征点的问题。VI ORB-SLAM 分别对 3 个线程作了修改,用以融合 IMU 信息。在跟踪线程,基于重投影误差和 IMU 预积分,建立帧与帧之间的约束关系来构造代价函数,从而得到当前帧位姿的最优估计。在局部建图线程,有了新的关键帧之后,将会对前 N 个关键帧进行优化,当前的关键帧(第 N + 1帧)将固定不变,提供 IMU 预积分约束。如图 7所示,P、v、b 分别为优化的位姿、IMU 速度与偏差。在全局回环检测线程,由于 IMU 提供了尺度信息,因此全局优化将从 7 个自由度下降到 6 个自由度。全局位姿优化将忽略 IMU 信息,因此不再优化速度和偏差,当完成全局位姿优化后,再根据矫正后的位姿对速度进行矫正。

图片

图7 ORB-SLAM 与 VI ORB-SLAM 的局部 BA 比较

在2020年,ORB-SLAM3开源,其第一个能够执行视觉、视觉惯性和多地图重用的系统,相比于ORB-SLAM2,ORB-SLAM3新增元素有以下面这几个:

  1. 单、双目的vo/vio slam系统,并支持鱼眼相机。

  2. 地图复用,拥有合并地图的功能。

  3. 高召回的地点识别(占用较低的计算资源换得高召回与精度)

  4. 不限制相机模型,只需提供投影,反投影及Jacobian方程(程序里提供了针孔与鱼眼模型)

其主要的创新点分为:

1.“完全”基于最大后验估计MAP的VI-SLAM ,无论在初始化阶段还是运行阶段,都采用了MAP进行状态估计,因此ORB-SLAM3在室内外、大小场景中鲁棒性很好,且精确度是其他方法的2~5倍; 如文中所讲,本文的IMU和视觉的组合系统是extremely robust的。

2.多地图系统,当定位丢失即lost时,ORB-SLAM3会自动建立一个新的小地图,并在revisit两张地图上的同一地点的时候进行地图的seamlessly merge,因此,这一算法能够使用不仅仅几帧之前的信息,而是运用了全局的信息,能够在bundle adjustment中利用视差较大的帧来增加BA求解的准确性(因为当视察较小时,求解不准确,且优化容易进入局部极值)。这种方法里对同一特征的观测可能在时间上的间隔较大,因为我们对其上一次的观测甚至可能出现在之前一张小地图中(中间过程里lost了至少一次)。

其系统框架如图8

图片

图8 ORB-SLAM3系统框架

在这里简单介绍一下iSAM,iSAM是增量式图优化,该算法可简单的理解为iSAM可以自适应的判断当前测量是否影响某个历史状态,从而判断是否要计算更新,从而能够减少不必要的计算;在2012年,iSAM2 用贝叶斯树+在线启发式排序重新解决iSAM问题,后端部分原理相似与ICE-BA相似,都是增量式BA,该技术是GBA的一项突破,利用因子图来保持稀疏性,并仅识别和更新受新度量影响的变量的一小部分。使用贝叶斯树数据结构来获得有效的变量排序,从而最大程度地减少了计算时间。由于新的测量结果只对估计值的局部产生影响,通过分析受影响的区域,可以减少一些没必要的计算,加速优化流程。

基 于 优 化 的 方 法 是 目 前 VI-SLAM 领 域 以 及SLAM 相关领域的热点之一,非线性优化方法实现了相较于滤波方法更精确的状态估计效果。但由于计算资源有限,目前的方法往往以牺牲一部分精度和路标点为代价换取系统的实时性。新型的优化器以及并行计算方法的出现有望进一步减少对计算资源的占用,但大范围在线系统的实时性仍然是一个有待解决的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值