ORB-SLAM: A Versatile and Accurate Monocular SLAM Syetem 讲解 1

ORB-SLAM是一种融合单目、双目和RGBD的视觉SLAM系统,强调实时性和鲁棒性。它采用多线程结构,包括追踪、建图和重定位,并具有闭环检测功能。ORB-SLAM通过点云和关键帧的选择优化数据去冗余,提高建图精度。其贡献包括使用ORB特征、大型环境建图、covisibility图和essential图等。此外,系统利用DBoW2进行图片匹配和闭环检测,实现高精度地图构建。
摘要由CSDN通过智能技术生成

转载请注明:http://blog.csdn.net/c602273091/article/details/54348202

对该论文进行讲解,同时看看自己有什么不懂的地方。

摘要

ORB-SLAM是一种基于特征的稀疏法的视觉SLAM,它不仅仅可以用于单目,还可以用于双目、RGBD(其实能够用于单目的一般都能够用于双目,单目的做法就是把连续的几帧串了起来,假设汽车的速度不变,那么连续两帧不就是可以看做双目了么?)

ORB-SLAM可以实时运行,看ORB-SLAM的官网,你可以看到它们做到了手机上。ORB-SLAM鲁棒性很高,可以在室内外,大小环境中都有较好的表现。与此同时,ORB-SLAM可以在运动剧烈的环境中工作,它可以检测出较大的闭环,在追踪丢失以后,它可以重新计算位姿,而且可以自动初始化(不像PTAM需要手动选两张图片初始化)

这篇论文可以看做是这几年来做视觉SLAM稀疏法(特征法)算法的集大成者,而且作者优美的代码,给这个工作增色不少。整个SLAM系统采用了多线程,分成了追踪、建图、重定位(Relocalization)、闭环检测。在这个SLAM里面,作者又增加了不少小技巧,来选择关键点(在3D中你可以叫它点云)和关键帧来进行数据去冗余,(不去除冗余的话,你试试跑几个小时的数据,那是惊人的,更不用说你要跑辣么久)同时使得这种方法会使建的图更加精确。作者在kitti上测试了ORB-SLAM,说他的ORB-SLAM是单目中最牛叉的。而我看到的是ORB-SLAM2上面显示是双目的呀,另外SVO2可是超过你了呀,SVO2是直接法里面最牛叉的了吧?
这里写图片描述

关键词: 超长期建图、定位、单目视觉、识别、SLAM。

介绍

Bundle Adjustment(BA)是一种估计相机位姿和几何重建常用的工具,但是长期以来在实时的视觉SLAM里面用这个被认为是一种不现实的事情。视觉SLAM的任务是估计相机位姿和建图,用BA再合适不过了。作者知道了为了达到较高的正确率,在非概率性的计算代价下(之前很多SLAM用的滤波法,计算的代价就是概率的代价)。我们需要给BA(g2o)提供以下数据:

1、将观测到的特征点和关键帧联系起来(要知道特征点对应的是那几帧);
2、关键帧越来越多,需要剔除冗余;
3、关键帧和关键点的网络具有很好的配置(就是graph-slam优化的时候参数设置,关键点选多少,关键帧多少帧取一帧合适)
4、初始化关键帧的位姿和关键点位置,用于非线性优化;
5、局部图的优化关注在于取得可扩展性;
6、快速的闭环检测,最好实时。

ORB-SLAM一直被认为是PTAM的改进版,因为PTAM提出的关键帧选取、特征匹配、特征点的三角化、相机位姿计算、重定位、多线程等等都被ORB-SLAM吸取。但是PTAM没有闭环检测、没有自动初始化等等。ORB-SLAM对此进行了改进和增加。

这篇论文的贡献在于:
1、所有步骤都是采样一样的特征:ORB特征。2、可以在大的环境中使用,这就是很多公司想做的高精度地图吧。这得益于covisibility-graphy的使用,这种图使得建图的时候可以先建立局部图(俗称map partition),再合并。3、在做闭环检测的时候,使用的就是essential graph(我觉得这个就是对总的covisibility graph进行一个精简,成为最小生成树);4、鲁棒性高,因为关照影响暂时不能使用,之后又可以重新定位回来。5、新的自动初始化技巧,可以在平面和非平面的情况下使用;6、一系列技巧用于提高鲁棒性和去除冗余。

听起来真棒,具体怎么做的呢?

相关工作

地点识别

之前说到了ORB-SLAM在PTAM上增加了闭环检测,那么我们就需要进行图片比较,来确定是不是经过了同一个地方。闭环匹配呢有图片到图片的匹配,有图片到地图的匹配,也有地图到地图的匹配。目前来看,图片到图片的匹配精度最高了。所以ORB-SALM使用的就是图片到图片的匹配。

在匹配的时候,这里用到了DBoW2的一个库,这个库就是做两幅图片匹配,计算相似度的。原本用到的特征是fast特征,BRIEF描述子。但是BRIEF不像SURF、SIFT那样具有大小、方向不变性。所以作者提出了一种具有方向(Oriented)的BRIEF特征——ORB。作者使用的是DBoW2的库,使用ORB特征进行图片匹配,进而做闭环检测。在这里,需要说一下DBoW2的原理,它首先是对大量图片提取出visual word,然后使用k-shift进行特征聚类,就有了字典,然后我们描述一幅图片的时候,就用visual word进行描述,通过对比不同图片之间visual word的“距离”大小,我们就得到了它的相似度。(具体细节看Bags of binary words for fast place recognition in image sequences)在速度上的话,因为BRIEF是二进制,操作相当快。10k的图片的匹配少于39ms。具体在ORB-SLAM里面,作者有很聪明的地方,他不仅仅是看最高的匹配度,还有匹配的两幅图片的连续那几副的匹配程度来决定最后的闭环检测结果。

地图初始化

一种是滤波法,初始化的位置有很大的不确定性,后面就是越来越高的置信度。目前半稠密的方法就用到了这种初始化方法。还有的就是假设初始化的位置是平面的,用homography或者是五点法求关键矩阵(essential matrix)但是在非平面情况下呢?这里就使用8点法计算fundamental matrix(这些东西都在MVG里面)

所以呢作者就根据一种启发的方式选择使用的模型是用于平面还是非平面。在大多数情况下,更倾向于选择平面模型。

单目的SLAM

单目SLAM有filter-based和key frame-based两大类。filter-based计算冗余度大,而且容易误差累计。key frame-based(基

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值