参考链接:https://blog.csdn.net/qq_30356613/article/details/76409367 注释详细
https://blog.csdn.net/u010128736/article/details/53169832 思路清晰
-
整体流程如图所示:
orb-slam主要有三个线程组成:跟踪、Local Mapping(又称小图)、Loop Closing(又称大图)。
(1)跟踪模块:主要是通过提取每一帧的ORB特征,通过恒速模型、关键帧模型、重定位估计相机初始位姿,然后通过共视关系跟踪局部局部地图来优化相机位姿进行优化,最后确定当前帧是否作为关键帧插入地图中。
(2)局部建图:主要是针对跟踪过程中产生的关键帧进行操作,包括把该关键帧插入到地图中,添加新的地图点,剔除冗余的关键帧、地图点,通过Local BA优化相机位姿和地图点。
(3)回环检测:同样针对关键帧进行操作,主要是通过BoW模型判断当前关键帧是否产生回环,如果产生可能的回环则进行回环一致性检测,通过一致性检测之后认为运动已经产生回环,则计算Sim3变换进行回环矫正,并另起线程进行全局优化。
其中跟踪模块需要处理摄像头获取的每一帧图像&#