SVO是种半直接法:结合特征点法和直接法,先跟踪特征点,然后利用直接法根据关键点周围的4*4小块进行块匹配,估计相机位姿。
优点:计算量小,速度快
缺点:不是SLAM,舍弃了后端优化和回环检测。
基本流程分为两个线程:Motion Estimated 和 Mapping
Motion Estimated 分为三部分:1)Frame-to-frame 的粗略位姿估计 2)光流跟踪 Feature Alignment优化匹配关系 3)BA优化
Mapping主要是深度估计,深度滤波器的提出是本文主要亮点,并推到了基于均匀-高斯混合分布的深度滤波器。
姿态估计
初始化:假设前两帧所有特征点在同一平面,先估计单应性矩阵H,然后三角化估计初始化特征点深度。
SVO中的motion estimation简单概括为:
1、利用相邻两帧之间的稀疏特征块,使用direct method 配准,获取粗略的frame-to-frame相机位姿
2、通过上步骤中粗略的相机位姿预测参考帧中特征块在当前帧的位置,但和真实位置有误差(深度估计不准确导致上步骤位姿偏差),牛顿高斯迭代法对特征块预测位置进行优化。
3、利用步骤2优化的特征块预测位置,再使用直接法对相机位姿进行优化。
1. Frame-to-frame 的粗略位姿估计
已知:假设的相邻帧位姿T(k-1)(先初始化为上一帧或单位矩阵),k