摘要:
对极约束理解: 1. 对于有重叠纹理的两帧图像,通过特征点匹配可以找到一些匹配对,这是对极几何约束的基础; 2. 匹配对是由同一空间点在不同像素平面投影得到的不同像素坐标,以参考帧为基础,假设空间点为 $P_{w}$,参考帧投影像素为 $p_{r}$, 当前帧投影像素为 $p_{c}$。由于空间点 阅读全文
摘要:
特征匹配 特征匹配,又可以称之为数据关联。在图像领域中,特征匹配的作用非常大。比如: 在图像拼接中,需要进行特征匹配,方便求出单应矩阵以拼接两幅图像; 在三维重建中,需要进行特征匹配,方便求出变换矩阵以及三角化特征点; 在图像检索中,可以通过特征点在数据库中检索,查找到特征匹配数量最多的识别结果; 阅读全文
摘要:
特征提取 特征的种类在图像领域主要分为点,线,面。线特征和面特征对图像信息利用得更多,因而其分辨性更高。但遗憾的是,由于线特征和面特征提取的条件比较苛刻,因此在实际应用中并不广泛。(尽管在SLAM中也有点线结合的实例,在图像纹理较弱的情况下,线特征可以发挥更大的用处。但是却是在增加计算量的同时,提高 阅读全文
摘要:
本讲的文字内容主要用于描述图片,这张思维导图是我在阅读ORB-SLAM2源码时记录的,ORB-SLAM2系列的博客全部都是根据思维导图中的内容扩充的。可以说,这个思维导图就是我对ORB-SLAM2的大部分的理解。但因为个人能力有限,理解难免有所偏颇,望大家见谅。 这次,我就不私藏了。贡献给大家阅读。 阅读全文
摘要:
ORBSLAM2运行ROS节点障碍 ORBSLAM2提供了与ROS耦合的应用程序,放在单独的ROS文件夹中。同样的,它提供了与ROS无关联的同类型的应用程序。不过,为了方便,笔者主要测试了它在ROS下的应用程序,因为笔者的摄像头是用ROS提供的openni2来驱动的,所以可以利用相机主题直接为ORB 阅读全文
摘要:
ORBSLAM2特征点三角化简介 插入关键帧以后,我们还需要插入新的地图点。为了确保新插入的地图点是足够鲁棒的,进行严格的检查是必要的。ORBSLAM2在插入地图点的时候也十分仔细,上一讲我们提到了地图的更新策略,唯独三角化没有细讲,倒不是因为它不重要而不提,而是因为三言两语说不清楚,所以才需要单独 阅读全文
摘要:
ORBSLAM闭环简介 SLAM中闭环的目的,是将当前的相机位姿和场景与回环帧处的位姿和场景进行融合,从而消除累积误差,校正运动轨迹。那么达到这个目的的前提,是必须要检测到正确的回环。当然,这个要求在前面我们讲解回环检测的时候已经详细介绍过了,如果不能通过层层筛选,那么我们会选择不要闭环。但是,在检 阅读全文
摘要:
ORBSLAM2回环检测之几何验证简介 回环检测的目的是找到当前场景在历史中是否出现过,如果出现过,那会给我们提供一个非常强的约束条件,把我们偏离很多的轨迹一下子修正到正确的位置上。当然,这么好的东西,有利自然就有弊。万一我们检测出来的回环不是真正的回环,也就是说我们认错了地方,这种时候提供的回环约 阅读全文
摘要:
ORBSLAM2回环检测简介 由于回环检测模块包含两个部分的内容:其一是位置识别,即外观验证,通过图像间的相似度信息进行判断;其二是几何验证,通过回环候选帧与当前关键帧的几何关系来做进一步验证。 由于两部分内容都较为繁琐,因此笔者将回环检测模块拆分成两讲,今天这一讲主要介绍外观验证,下一讲则继续几何 阅读全文
摘要:
ORBSLAM2地图更新策略简介 地图的更新目标在于如何插入新的关键帧和地图点,同样,怎么剔除多余的关键帧和没用的地图点。 接下来,笔者会从下面几个方面来介绍地图的更新策略: 1. 统计当前关键帧的共视图关键帧,构建临时的局部地图; 2. 剔除当前关键帧中质量较差的地图点; 3. 局部地图重投影获取 阅读全文