ORB_SLAM 论文阅读PART3

SYSTEM OVERVIEW

A. Feature Choice

写到这里,感觉自己写成了论文翻译,哈哈,惭愧,惭愧!

我们的系统的主要思想之一是被用来tracking and mapping 的特征同样可以被用来place recognition以执行帧速率重定位和回环检测。这使得我们的系统高效并且避免了从近SLAM特征中插入识别特征的深度值。我们需要提取每个图像少于33ms的提取功能,这排除了流行的SIFT(~300ms),SURF(~300ms)或最近的A-KAZE(~100ms)。 为了获得一般的位置识别能力,我们需要旋转不变性,这不包括Brief 和LDB 。

我们选择ORB,它们是旋转不变的多尺度FAST角点结合256位描述符。它的计算和匹配都非常快,并且对于视点具有很好的不变性。这允许从宽基线匹配它们,提高BA的准确性。ORB在位置识别中也有很好的表现,虽然我们当前的实现使用ORB,但所提出的技术不限于这些特征。

B. Three Threads: Tracking, Local Mapping and Loop Closing

系统框架如图已给出,包含Tracking,Local Mapping,Loop Closing三个并行线程

âorb slamâçå¾çæç´¢ç»æ

Tracking负责凭借每帧定位摄像机并决定何时插入新的关键帧。我们首先执行与前一帧匹配的初始特征,并使用motion-only BA优化位姿。如果Tracking ls lost(由于闭塞或突然移动),Place Recognition模块开始执行一个全局重定位。一旦初始估计了相机姿态和特征匹配,就会使用由系统维护的关键帧的共视图来检索局部可见地图。然后通过重投影搜索与本地地图点的匹配,并且使用所有匹配再次优化相机位姿。最后tracking线程决定是否一个新的关键帧将被插入,所有跟踪步骤都在第五节中详细解释。新程序第四节介绍了创建初始地图的方法。

Local mapping处理新的关键帧并且执行局部BA去完成相机位姿周围的最优重建,新的关键帧中未匹配的ORB的新的响应在共视图中搜寻已经连接的关键帧来三角化新的点。在创建之后,基于在tracking期间收集的信息,应用exigent点剔除的策略,以便保留高质量的点,local mapping还负责剔除冗余关键帧,我们将在第VI节详细解释所有local mapping步骤。

Loop closing 在所有关键帧中搜寻闭环,如果一个闭环被检测,我们计算相似变换,该变换中报告循环中累积的漂移。然后,将循环的两侧对齐并且复制点融合。最后,执行相似性约束的位姿图优化以实现全局一致性。主要的新颖之处在于我们对本质图进行了优化,这是共视图的一个较稀疏的子图,在第III-D节中有解释。循环检测和校正步骤在第VII节中详细说明。

我们使用在g2o中实现的Levenberg-Marquardt算法来执行所有优化。 在附录中,我们描述了每个优化中涉及的错误项,代价函数和变量。

C. Map Points, KeyFrames and their Selection

每组地图点p_{i}存储以下内容:

  • 在世界坐标系下它的3-D位置\large x_w
  • 观察方向\large n_i,是所有观察方向的平均单位矢量(将点与关键帧的光学中心连接起来观察它的光线)。
  • 代表性的ORB描述符D_i,这是汉明距离相对于观察到该点的关键帧中的所有其他相关描述符是最小的相关的ORB描述符。
  • 通过ORB特征尺度不变限制,点能被观测的最大,最小距离\large d_{max}\large d_{min}

每个关键帧K_i存储以下内容:

  • 相机位姿\large T_{iw}是从世界坐标到相机坐标的转换
  • 相机内参,包括焦距和焦点
  • 在关键帧中提取的与地图点相关或不相关的所有ORB特征,如果提供失真模型,则其坐标未失真。

使用慷慨的策略创建地图点和关键帧,而后一个非常exigent的剔除机制负责检测冗余的关键帧和误匹配或不可追踪的地图点。这使得在探实验期间灵活的地图扩展,这提高了在恶劣条件下(例如旋转,快速移动)的跟踪鲁棒性,整个过程中,它的大小被限定在在不断重访同一环境的范围内。此外,与PTAM相比,我们的地图包含非常少的异常值,但代价是包含更少的点。 地图点和关键帧的剔除程序分别在第VI-B和VI-E节中解释。

D. Covisibility Graph and Essential Graph

关键帧间的共视图信息在我们系统的许多任务里都是非常有用的,并且被标示为一个权重无向图。每个节点是关键帧,并且如果它们共享相同地图点(至少15)的观察值,则存在两个关键帧之间的边缘,边缘的权重θ是公共地图点的数量。

为了纠正闭环,我们对沿着图分布的闭环检测误差执行位姿图优化。为了包含共视图的所有的边,这个将会非常稠密,因此,我们提供去构建一个保留所有节点(关键帧),但是很少边,却仍然保持可以生成精确结果的强的网络连接的本质图。系统从初始帧构建了递增的生成树,该关键帧提供了具有最小边数的共视图的连接子图。当一个新的关键帧被插入,它将被包含在链接到关键帧共享更多点的树中,当一个新的关键帧被当下的剔除策略消除,系统更新被该关键帧影响的连接。本质图包含这个生成树,具有高共视性(θmin= 100)的共视图的边缘子集,以及环闭合边缘,从而形成强大的摄像机网络。图中展示了共视图,生成树和连接本质图的例子,如第VIII-E部分的实验所示,在执行位姿图优化时,解决方案非常准确,以至于额外的完整BA优化几乎不能改善解决方案。 基本图的效率和θmin的影响显示在第VIII-E节的末尾。

E. Bags of Words Place Recognition

系统已经嵌入了一个基于DBoW2位置识别的词袋模型,用来闭环检测和重定位。视觉词只是描述符空间的离散化,称为视觉词汇。词汇表是从大量图像集中提取的ORB描述符离线创建的。如果图像足够通用,那么相同的词汇表可用于获得良好性能的不同环境。系统逐步构建一个包含反转索引的数据库,该反转索引存储词汇表中的每个视觉词,其中已经看到了关键帧,因此可以非常有效地查询数据库。当剔除过程删除关键帧时,也会更新数据库。

因为关键帧之间存在视觉重叠。当向数据库进行索引时,将不存在一个有很高分数的关键帧。原始的DBoW2考虑到了视觉交叠的问题,将时间上接近的图像的分数相加。这具有不包括查看相同位置但在不同时间插入的关键帧的限制。相反,我们将在共视图中连接的关键帧分组。 此外,我们的数据库会返回得分高于最佳得分75%的所有关键帧匹配。

当我们想要计算两组ORB特征之间的对应关系时,我们可以约束暴力匹配仅限于那些属于某一级别词汇树中同一节点的特征(我们选择六分之二),这可以加速搜索。当搜索匹配三角测量新点以及闭环检测和重定位时,我们使用该策略。我们还是用方向一致性测试来对他进行细化,它可以丢弃异常值,确保所有的响应保持一致的旋转。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值