里程计计算旋转角度_DSO源码解读(二):前端里程计

本文深入解析DSO(Direct Sparse Odometry)的前端里程计流程,包括初始化两帧、计算新帧位姿等步骤。通过流程图和详细步骤分析,阐述了从CoarseInitializer的点匹配到FullSystem的优化过程,展示了如何计算旋转角度并决定是否新增关键帧。
摘要由CSDN通过智能技术生成

话不多说,直接上流程图吧,一图胜千言(这张图是高翔博士博客里的,链接:https://zhuanlan.zhihu.com/p/29177540)

b3da7fd804c2496469fa26c24d2c90e8.png

有了这张图,我们就对前端里程计有了清晰的整体认识,下面我们看具体的流程。

DSO的前端和后端在文件结构上分的比较清楚,前端里程计全在文件夹src/FullSystem中,其中里程计的主流程管理在FullSystem.cpp中,管理主流程的函数是addActiveFrame。

(下面介绍流程的部分内容来自博客https://blog.csdn.net/gbz3300255/article/details/90511237)

1. 初始化

初始化需要有两帧。

1.1 第一帧。

第一帧的处理在函数CoarseInitializer::setFirst中,它在影像的每一层选取点,作为后续第二帧匹配生成 pointHessians 和 immaturePoints 的候选点,这些点存储在 CoarseInitializer::points 中。每一层点之间都有联系,在 CoarseInitializer::makeNN 中计算每个点最邻近的10个点 neighbours,在上一层的最邻近点 parent。

1.2 第二帧

第二帧依然交由 CoarseInitializer。Co

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值