【论文笔记】SVO Fast Semi-Direct Monocular Visual Odometry
本文为《SVO Fast Semi-Direct Monocular Visual Odometry》一文的学习笔记
一、摘要:
问题: 特征提取和匹配技术消耗资源过多
方法: 使用“半直接法”,显式模拟离群值估计3D点
结果: 资源消耗变少,离群值变少,在小,重复和高频纹理的场景中提高鲁棒性
二、结论
课题构思(如何一步步得到结论):
① 运动估计没必要进行特征提取和匹配;
② 高帧率运动估计+排除离群值的概率建图方法
三、粗看图表
数据来源: 手持摄像机的序列;连接到MAC的downward-looking摄像机记录的数据集;
重要指标: 出错率、尺度漂移大小、相对位姿和旋转误差的均方根误差(RMSE)、中位数、运行耗时
四、引言
研究原因: 某些情况下MAVs使用GPS不能精确定位;
课题阶段: 基于最小化光度误差的直接法正在兴起
- 视觉运动估计方法的分类:
特征法:
特点:使用显著图像特征;使用不变性的特征描述子进行帧匹配;使用对极约束恢复位姿和地图结构;重定位误差最小化矫正位姿和地图;同时跟踪和建图。
缺点:过于依赖检测和匹配,有错误匹配问题,精度差。
直接法:
特点:估计图像强度值,利用图像中所有信息;计算光度误差多于重定位误差。
优点:在小纹理、相机散焦、运动模糊的场景下鲁棒性优于特征法;节省时间。
相关工作
① PTAM 用于AR,需要多次修改才能用于大型室外环境;
② 提出估计块表面法线减小漂移的方法;
③ 实时性能检测有局限性(区域少、数据集小);
④ 提出用于车载全向相机的 VO 算法;
⑤ 局部平面度假设放宽,提出从立体相机中计算任意3D结构的直接追踪法并应用于RGB-D;
⑥ 提出计算密集深度图法,但计算量大,可以只用强梯度像素点来优化。
本文工作
① 结合特征法和直接法;
② 每帧使用亚像素特征对应,特征匹配仅用于初始化;
③ 使用大量小块而不是少数大块;
④ 使用稀疏深度信息;
⑤ 使用贝叶斯滤波器为异常值建模估计特征位置深度。
主要贡献:
提出半直接VO流程;
集成概率建图法。
理论假设: 在MAVs上使用
五、实验过程
模型步骤 ,每个步骤的结论 :
- 系统总览:

使用双线程,建图从实时约束中分离。
运动估计线程:使用半直接法
位姿初始化→修正重投影点的2D坐标→修正位姿和结构
① 位姿初始化:最小化相同3D点的投影位置对应的像素的光度误差,以估计相对位姿;
② 修正重投影点的2D坐标:对其相应的特征块;
③ 修正位姿和结构:最小化重投影误差。
建图线程:
滤波器初始化→新滤波器初始化→更新深度估计→地图中插入3D点
① 概率深度滤波器初始化:初始化每个2D特征的深度滤波器以估计相应3D点;
② 新滤波器初始化:在选取有较少3D-2D对应的关键帧时;
③ 更新深度估计:随后的帧中使用贝叶斯更新深度估计;
④ 地图中插入3D点:深度滤波器的不确定性足够小时,在地图中插入3D点并立即用于运动估计。
符号介绍
运动估计:
1. 基于稀疏模型的图像对齐;通过特征对齐放宽;位姿和结构的修正;
2. 讨论:
SVO 中稀疏图像对齐中只通过6个自由度有效初始化特征对齐,满足对极约束并无离群值。
建图:也可应用于稠密建图
1. 使用逆深度坐标解决较大的场景深度;
2. 滤波器反复测量直至收敛,以减少离群值;
3. 为错误测量建模,以使系统在高度相似环境下收敛;
应用细节:
1. 算法自举获取初始2个关键帧位姿和初始地图;
2. 使用5级图像金字塔方案解决较大运动的问题;
3. 关键帧选取策略:维持固定数量关键帧。与其他帧距离超过12%时选为关键帧,剔除与当前位置最远的关键帧;
4. 用深度滤波器初始化FAST角点,使特征均匀分布,并用于重投影地图。在每个图像金字塔级别提取找到比例无关的最佳角点。
实验结果:通过数据集对比 SVO 与 PTAM 的精度、实时估计和鲁棒性。
六、文章总结:
问题: PTAM 特征提取和匹配技术消耗资源过多;
方法: 结合特征法和直接法,提出SVO方法;集成概率建图法
论证过程:
使用运动估计和建图双线程;
运动估计使用半直接法;
位姿初始化→修正重投影点的2D坐标→修正位姿和结构
建图使用集成概率建图法
滤波器初始化→新滤波器初始化→更新深度估计→地图中插入3D点
