我自己关于DSO相关的论文阅读笔记汇总在这里:
https://github.com/tum-vision/LDSOhttps://github.com/tum-vision/LDSO
一、创新点:
1. 在保证poor-feature环境下鲁棒性的同时, 倾向于选择图片中的角点,方便计算特征给BoW进行回环检测;
2. 回环:1) 匹配点的深度进行Sim(3)计算 + pose-only BA ;2)Point cloud alignment ;用滑动窗口优化得到的共视图(co-visibility graph)把二者融合;
二、实现
2.1 总体框架(Framework)
在原版DSO的基础上增加全局位姿图优化:
a. sliding window天然提供了不同关键帧之间的共视关系以及它们之间的相对位姿;
b. 对关键帧中的点同时计算ORB, 这样可以借助BoW进行回环检测;
c. 如果检测到回环,可以匹配回环帧的ORB, 并用匹配点的深度计算Sim(3)约束;
d. Sim(3)约束加到全局位姿图中进行优化
2.2 考虑特征可重复性的点选择(Point Selection with Repeatable Features)
因为要做回环, LDSO中用Shi-Tomasi score计算角点; 角点更具有可重复性(这样ORB匹配上的才是一个点);
2.3 候选回环位置的提出和检查(Loop Candidates Proposal and Checking)
a. 用BoW给出待选回环;
b. 用RANSAC PnP计算初始SE(3)
c. 计算Sim(3), 注意q中有的点由于深度没有收敛, 只能计算重投影误差;
2.4 滑动窗口和Sim(3)位姿图
滑窗内的key frames的位姿在位姿图优化的时候不做更新;
三、评估
kitti上总体和orb-slam2差不多