[从零写VIO|第六节]——前端Frontend

本节主要介绍前端:提取匹配特征点和光流跟踪,关键帧和三角化
(很多大部分框架都是在前端优化改进的,前端对最终定位精度的影响起着决定性作用)

[从零写VIO|第六节]——前端Frontend_第1张图片[从零写VIO|第六节]——前端Frontend_第2张图片

1. 特征点提取和匹配

https://www.cnblogs.com/skyfsm/p/7401523.html

要关注SLAM的实时性问题,.一般采用速度较快的算子,精度可能不会很高。SIFT等虽然精度高,目前还不能实时。
[从零写VIO|第六节]——前端Frontend_第3张图片[从零写VIO|第六节]——前端Frontend_第4张图片再就是,直接法不依赖角点,但实现效果根据选点数量变化较大.

2. 光流跟踪

光流法抗光照干扰弱,比较依赖角点。目前常用的是FAST+光流。
光流是图像亮度的运动信息描述。

将二维速度场与灰度相联系,引入光流约束方程,得到光流计算的基本算法.光流计算基于物体移动的光学特性提出了2个假设:

①运动物体的灰度在很短的间隔时间内保持不变;
②给定邻域内的速度向量场变化是缓慢的。
[从零写VIO|第六节]——前端Frontend_第5张图片
https://blog.csdn.net/u014568921/article/details/46638557

3. 关键帧和三角化

[从零写VIO|第六节]——前端Frontend_第6张图片
[从零写VIO|第六节]——前端Frontend_第7张图片

  • 对于非关键帧,只执行前端算法,不参与后端优化. 因此,对于非关键帧,它的误差会逐渐累积。直接该帧被作为关键帧插入后端,BA 才会保证窗口内的一致性

关键帧选取的策略:在计算量允许范围内,且不引起退化时,应尽可能多地插入关键帧。

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

    有的SLAM系统在关键帧时提取新Feature(DSO、SVO),也有的方案对每个帧都提取新的Feature(VINS、ORB)。
    前者节省计算量,后者效果好(在单目里需要防止三角化Landmark数量不够)。

https://www.cnblogs.com/yepeichu/p/10792899.html

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