ORB_SLAM 论文阅读PART2

RELATED WORK

A. Place Recognition

Williams对比了许多种 place recongnition 方法并得出结论matching in large environment image-to-image better than map-to-map and image-to-map。基于外观的方法中,bags of words技术,例如概率方法FAB-MAP因其高效性而脱颖而出。DBOW2首次使用了从BRIEF描述子和FAST特征提取子中获取的二进制词包。与SURF 和SIFT特征相比,这在特征提取所需的时间减少了一个数量级以上。尽管这个系统被描述有效并且鲁棒,但BRIEF并不具有旋转和尺度不变性,因此系统在相似视点的平面内轨迹和闭环检测效果并不好。前面我们提出了一个基于ORB在DBoW2上构建的词袋位置识别。一定范围内具有旋转和缩放不变性,且具有良好的视点不变性。我们在四个不同的数据集中展示了识别器的高召回率和鲁棒性,需要不到39ms(包括特征提取)来从10K图像数据库中检索循环候选。在这项工作中,我们使用该位置识别器的改进版本,使用共视信息并在查询数据库时返回几个假设,而不仅仅是最佳匹配。

B. Map Initialization

由于深度不能从单张图像中恢复,所以单目slam需要一个程序去初始化地图。解决初始化问题的方法之一是跟踪一个已知结构(单视图初始化)。在滤波器方法中,使用反深度参数化方法初始化点,给深度带来了很大的不确定性,然后在期待慢慢收敛。Engel提出的半稠密slam就是沿用的这种方法,初始化一个像素,以一个方差很大的随机值。

双视图的初始化方法假定局部场景的平面性,通过计算单应矩阵恢复相机位姿,或者使用五点法计算平面和一般场景的基本矩阵,这需要处理多个解。两种重建方法在低视差下都没有很好的约束,如果平面场景的所有点都靠近一个摄像机中心,则会遇到双重模糊解决方案。如果看到具有视差的非平面场景,则可以使用八点算法计算唯一的基本矩阵,并且可以在没有模糊的情况下恢复相对相机姿势。

在第四部分,我们展示了一种模型选择的方法,平面场景用单应矩阵,非平面场景用本质矩阵。对于模型选择的一种统计方法被Torr提出,同样的原理,我们开发了一种启发式初始化算法,该算法考虑了在接近退化情况(即平面,近平面和低视差)中选择基本矩阵的风险,有利于选择单应性。在平面情况下,为了安全操作,如果解决方案具有双重模糊性,我们不会初始化,因此可以选择损坏的解决方案。 我们延迟初始化,直到该方法产生具有显着视差的唯一解。

C. Monocular SLAM

单目slam最初通过滤波器求解。在该方法中,每一帧由滤波器单独处理并联合估计地图特征位置和相机位姿。在处理具有很少新信息的连续帧时会很浪费计算,并且会累计线性误差。而基于关键帧的方法估计地图仅仅需要关键帧,也因此可以执行代价更高但是更准确的BA优化算法。因为建图和帧速率无关,Strasdat et证明了基于关键帧的技术比相同计算成本的滤波更准确。

最具代表性的基于关键帧的SLAM大概就是PTAM了,它是首次把跟踪和建图分为两个线程,并在小环境成功实现实时增强现实应用。后来改进了原始版本的边缘特征,跟踪期间的旋转估计步骤和更好的重定位方法。PTAM的地图点对应于由补丁相关匹配的FAST角点,使得这些点只能用于Tracking,而不能用于Place Recognition。而且PTAM没有检测大的闭环,并且重定位是基于关键帧的低分辨率缩略图的相关性,产生对视点的低不变性。

Strasdat et提出了一种大规模的单目SLAM系统,其前端基于在GPU上实现的光流,然后是FAST特征匹配和运动BA,以及基于滑动窗BA的后端。通过具有相似性约束(7DoF)的位姿图优化来解决闭环,其能够校正单目SLAM中出现的尺度漂移。 通过这项工作,我们采用7DoF姿势图优化的循环闭合的思想,并将其应用于第III-D节中定义的基本图。

Strasdat et.使用PTAM的前端,但是仅在共视图中取出局部地图用来跟踪,他们提出了一个双窗优化的后端,持续执行BA优化的内窗和限制尺度的位姿图外窗。然而闭环检测只有位姿图外窗包含整个闭环的时候才能有效。基于此优点,使用基于共视性的局部地图,并从共视图中构建姿势图,但将它们应用于完全重新设计的前端和后端。另一个不同在于,我们没有单独的使用特殊的特征用于闭环检测,我们在place recognition上使用和tracking and mapping相同的特征,从而获得了鲁棒的闭环检测和重定位。

Pirker et提出了CD-SLAM,一个非常完整的系统包含了闭环,重定位,大尺度操作,并且致力于动态场景。然而,并没有提到地图的初始化。缺乏公众的实验,不允许我们对准确性,稳健性或大规模功能进行比较。

Song et的视觉里程计使用ORB特征进行Tracking和一个临时的滑窗进行后端BA优化。通过比较我们的系统更加通用,因为他们的系统没有一个全局的重定位,闭环检测,并且没有复用地图,他们还使用从相机到地面的已知距离来限制单目尺度漂移

Lim et也用了同样的特征去tracking, mapping and loop detection。然而,BRIEF的选择将系统限制为平面内轨迹。他们的系统只跟踪最近关键帧的点,因此如果重新访问地图(类似于视觉里程计),则不能重复使用地图,并且存在无限增长的问题。 我们在第VIII-E节中定性地将我们的结果与这种方法进行比较。

扫描二维码关注公众号,回复: 10300852 查看本文章

Engel et.提出的LSD-SLAM可以用直接法而不是基于特征的BA优化(即直接在图像像素强度上进行优化)构建大尺度的半稠密地图。他们的方法是可以在没有GPU加速的情况下实时构建半稠密地图的。与基于特征的SLAM生成的稀疏输出相比,机器人技术的潜在应用更多。然而他们的系统在闭环检测时仍然需要特征,并且他们的相机定位精度显著低于我们的系统和PTAM。正如我们在第VIII-B节中的实验所示。 这一令人惊讶的结果将在第IX-B节中讨论。

Forster et al在直接法和基于特征的方法中折中提出了SVO半直接视觉里程计。并不需要在每一帧中提取特征。它们能够以高帧率运行,在quadracopters中获得令人印象深刻的结果。 然而,没有执行环路检测,并且当前的实现主要被认为是向下看的相机。

最终,我们讨论下关键帧的选择,文献中的所有视觉SLAM工作均认为运行具有所有点和所有帧的BA是不可行的。 Strasdat等人的工作表明最高效的方法是保持尽可能多的点,同时只保留非冗余关键帧。PTAM方法是非常谨慎地插入关键帧以避免计算复杂性的过度增长。这种限制关键帧插入的策略使得在hard exploration 的情况下会跟踪失败。

而我们通过尽可能快地插入关键帧并在以后删除多余的关键帧来实现最适合的策略的生存在困难的情况下实现前所未有的稳健性,以避免额外的成本。

发布了24 篇原创文章 · 获赞 2 · 访问量 6375

猜你喜欢

转载自blog.csdn.net/Xuesengxinyi/article/details/82997120
今日推荐