从零手写VIO学习记录 ——系列六:【前端视觉】(学习记录 | 作业 | 代码)

本系列主要根据深蓝学院《视觉SLAM进阶:从零开始手写VIO》。博客主要以本人在课程学习过程中的作业和修改的代码为主。如需详细视频及PPT,请联系深蓝学院相关人员。

代码已上传github: https://github.com/why-freedom/VIOLearning_Note_Code.git(有用话给个star >_<)

本节主要介绍前端:提取匹配特征点和光流跟踪,关键帧和三角化

(很多大部分框架都是在前端优化改进的,前端对最终定位精度的影响起着决定性作用)

特征点提取和匹配
  1. 这一块研究已经很多了,我就不再赘述。贴上大佬连接:https://www.cnblogs.com/skyfsm/p/7401523.html
  2. 要注意的是SLAM的实时性,一般采用速度较快的算子,而SIFT等虽然精度高,目前还不能实时。
光流跟踪
  1. 光流法抗光照干扰弱,比较依赖角点。目前常用的是FAST+光流。
  2. 继续贴上大佬的连接(我不产生知识,我是知识的搬运工,<_>):https://blog.csdn.net/u014568921/article/details/46638557
    【光流跟踪针对白墙等弱纹理环境确实比ORB等特征匹配方法效果稳】
关键帧和三角化
  1. 如果每一帧都参与后端运算的话,后端会炸,所以需要选区一些有代表的帧,即关键帧。

    1. 关键帧不必太近(会产生退化或三角化问题)。参考《视觉SLAM十四讲》、
    2. 关键帧之间不能太远(否则共视点太少)
  2. 在计算量允许范围内,且不引起退化时,应尽可能插入关键帧。(比较观测多了)

  3. 在单目SLAM中,通常在插入关键帧时计算新路标点的三角化。

    1. 有的SLAM系统在关键帧时提取新Feature(DSO、SVO),也有的方案对每个帧都提取新的Feature(VINS、ORB)。
    2. 前者节省计算量,后者效果好(在单目里需要防止三角化Landmark数量不够)。继续贴上大佬链接:https://www.cnblogs.com/yepeichu/p/10792899.html

本节作业主要是证明题及通过SVD分解 D T D D^TD DTD特征值,判断三角化的有效性:

你可能感兴趣的:(从零手写VIO)