ORB-SLAM3中新增了单独记录边、地图点和关键帧的容器,比如单目中的vpEdgesMono、vpEdgeKFMono和vpMapPointEdgeMono,分别记录的是误差值、关键帧和地图点,目的是在获取优化后的关键帧位姿时,使用该误差值vpEdgesMono[i],对地图点vpMapPointEdgeMono[i]进行自由度为2的卡方检验e->chi2()>5.991,以此排除外点,选...
Atlas翻译为“地图集”,即管理着一系列的子地图(sub-map),这些子地图共用同一个DBoW数据库,使得能够实现重定位回环等操作。 当相机在正常跟踪状态,所生成关键帧所在的地图称为“活动地图(active map)”。如果跟踪失败,首先将进行重定位操作寻找地图集中对应的关键帧,如果依旧失败,则重新创建一个新的地图。此时旧的...
1) 单目SLAM系统需要设计专门的策略来生成初始化地图,这也是为什么代码中单独设计一个CreateInitialMapMonocular()函数来实现单目初始化,也是我们这篇文章要讨论的。为什么要单独设计呢?就是因为单目没有深度信息。 2) 怎么解决单目没有深度信息问题?有2种,论文用的是第二种,用一个具有高不确定度的逆深度参数来初始...
Atlas翻译为“地图集”,即管理着一系列的子地图(sub-map),这些子地图共用同一个DBoW数据库,使得能够实现重定位回环等操作。 当相机在正常跟踪状态,所生成关键帧所在的地图称为“活动地图(active map)”。如果跟踪失败,首先将进行重定位操作寻找地图集中对应的关键帧,如果依旧失败,则重新创建一个新的地图。此时旧的...
1) 单目SLAM系统需要设计专门的策略来生成初始化地图,这也是为什么代码中单独设计一个CreateInitialMapMonocular()函数来实现单目初始化,也是我们这篇文章要讨论的。为什么要单独设计呢?就是因为单目没有深度信息。 2) 怎么解决单目没有深度信息问题?有2种,论文用的是第二种,用一个具有高不确定度的逆深度参数来初始...
Atlas翻译为“地图集”,即管理着一系列的子地图(sub-map),这些子地图共用同一个DBoW数据库,使得能够实现重定位回环等操作。 当相机在正常跟踪状态,所生成关键帧所在的地图称为“活动地图(active map)”。如果跟踪失败,首先将进行重定位操作寻找地图集中对应的关键帧,如果依旧失败,则重新创建一个新的地图。此时旧的...
Atlas翻译为“地图集”,即管理着一系列的子地图(sub-map),这些子地图共用同一个DBoW数据库,使得能够实现重定位回环等操作。 当相机在正常跟踪状态,所生成关键帧所在的地图称为“活动地图(active map)”。如果跟踪失败,首先将进行重定位操作寻找地图集中对应的关键帧,如果依旧失败,则重新创建一个新的地图。此时旧的...
1) 单目SLAM系统需要设计专门的策略来生成初始化地图,这也是为什么代码中单独设计一个CreateInitialMapMonocular()函数来实现单目初始化,也是我们这篇文章要讨论的。为什么要单独设计呢?就是因为单目没有深度信息。 2) 怎么解决单目没有深度信息问题?有2种,论文用的是第二种,用一个具有高不确定度的逆深度参数来初始...
一、ORB特征点提取与描述子生成 ORB-SLAM3使用Oriented FAST and Rotated BRIEF (ORB)算法进行特征点提取和描述子生成。ORB算法在FAST角点检测的基础上引入了旋转不变性,通过计算角点周围的矩形区域的二进制描述子来表示特征点。 二、初始化与重定位 ORB-SLAM3通过初始化来建立初始的地图和相机位姿。初始化过程中,...