您当前的位置: 首页 > 
  • 2浏览

    0关注

    417博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

(01)ORB-SLAM2源码无死角解析-(48) 不同跟踪方法的对比、梳理完整跟踪流程→Tracking::Track()

江南才尽,年少无知! 发布时间:2022-08-05 11:38:04 ,浏览量:2

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析链接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件): (01)ORB-SLAM2源码无死角解析-(00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/123092196   文末正下方中心提供了本人 联系方式, 点击本人照片即可显示 W X → 官方认证 {\color{blue}{文末正下方中心}提供了本人 \color{red} 联系方式,\color{blue}点击本人照片即可显示WX→官方认证} 文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证  

一、前言

核心思想 : \color{red}{核心思想:} 核心思想: 当前帧与上一帧(或者最近关键帧)进行特征点匹配,如果匹配点足够,则能计算出上一帧到当前帧的位姿变换,同时能够获得该关键点对在三维空间的坐标,显然易知对应的地图点。依次循环即可。

但是大家需要注意一个点,只有关键帧产生的新关键点才会进行地图更新,普通帧(双目或者深度相机)生成新的地图点是临时地图点,主要用于优化位姿估算,不会参与到全局地图的更新。

通过前面的博客,已经对 参考关键帧跟踪Tracking::Relocalization()、恒速模型跟踪Tracking::TrackWithMotionModel()、重定位跟踪Tracking::Relocalization(),进行了详细的简介,大家结合前面的博客,以及下面的图解进行分析: 在这里插入图片描述  

二、参考关键帧跟踪Tracking::Relocalization()

应用场景 : \color{blue}{应用场景}: 应用场景: 没有速度信息的时候、刚完成重定位、或者恒速模型跟踪失败后使用,大部分时间不用。只 利用到了参考帧的信息。         ①匹配方法是SearchByBoW,匹配当前帧和关键帧在同一节点下的特征点,不需要投影,速度很快。         ②BA优化(仅优化位姿),提供比较粗糙的位姿。

思路 : \color{blue}{思路}: 思路: 当使用运动模式匹配到的特征点数较少时,就会选用关键帧模式跟踪。思路是:尝试和最近一个关键帧去做匹配。为了快速匹配,利用了 bag of words (BoW) 来加速匹配。 在这里插入图片描述 具体流程 : \color{blue}{具体流程}: 具体流程: ①计算当前帧的 BoW ②通过特征点的 bow 加快当前帧和参考帧之间的特征点匹配。使用函数 matcher.SearchByBoW()。          ∙ \bullet ∙对属于同一node(同一node才可以是匹配点)的特征点通过描述子距离进行匹配,遍历该 node 中特征点,           特征点最小距离明显小于次小距离才作为成功匹配点,记录特征点对方向差统计到直方图。          ∙ \bullet ∙ 记录特征匹配成功后每个特征点对应的 MapPoint(来自参考帧),用于后续 3D-2D 位姿优化。          ∙ \bullet ∙ 通过角度差投票进行剔除误匹配 ③将上一帧的位姿作为当前帧位姿的初始值(加速收敛),通过优化 3D-2D 的重投影误差来获得准确位姿,只优化位姿 T c w Tcw Tcw,不优化 MapPoints 的坐标。其涉及的函数 Optimizer::PoseOptimization(&mCurrentFrame) 后续有专门章节进行讲解。 ④剔除优化后的 outlier 地图点    

三、恒速模型跟踪Tracking::TrackWithMotionModel()

应用场景 : \color{blue}{应用场景}: 应用场景: 大部分时间都用这个跟踪,只利用到了上一帧的信息。         ①用恒速模型先估计一个初始位姿         ②用该位姿进行投影匹配 SearchByProjection,候选点来自GetFeaturesInArea,未使用BoW         ③BA优化(仅优化位姿),提供比较粗糙的位姿

思路 : \color{blue}{思路}: 思路: 假设短时间内(相邻帧)物体处于匀速运动状态,可以用上一帧的位姿和速度来估计当前帧的位姿。移动模式跟踪, 跟踪前后两帧得到变换矩阵。上一帧的地图3d点反投影到当前帧图像像素坐标上,在不同尺度下不同的搜索半径内,做描述子匹配搜索,这样可以加快匹配。在投影点附近根据描述子距离进行匹配(需要>20对匹配,否则匀速模型跟踪失败,运动变化太大时会出现这种情况),然后以运动模型预测的位姿为初值,优化当前位姿。优化完成后再剔除外点,若剩余的匹配依然>=10对,则跟踪成功,否则跟踪失败,需要Relocalization 在这里插入图片描述 * 具体流程 : \color{blue}{具体流程}: 具体流程: ①创建 ORB特征点匹配器 最小距离 < 0.9 ∗ < 0.9*

关注
打赏
1592542134
查看更多评论
立即登录/注册

微信扫码登录

0.0387s