建图(深度滤波器)
VO 把像素的深度误差模型看做概率分布,使用 高斯——均匀混合分布的逆深度(深度值服从高斯分布,局外点的概率服从 Beta 分布),称为 深度滤波器 Depth Filter,每个特征点作为 种子 Seed(深度未收敛的像素点)有一个单独的深度滤波器。
- 初始化种子:如果进来一个 关键帧,就提取关键帧上的新特征点,初始化深度滤波器,作为种子点放进一个种子队列中
- 更新种子:如果进来一个 普通帧,就用普通帧的信息,更新所有种子点的概率分布;如果某个种子点的深度分布已经收敛,就把它放到地图中,供追踪线程使用
初始化种子
代码主要在 DepthFilter::initializeSeeds。
- 当前帧上已经有的特征点,占据住网格
- 多层金字塔 FAST 特征检测并进行非极大值抑制,映射到第 0 层网格,每个网格保留 Shi-Tomas 分数最大的点
- 对于所有的新的特征点,初始化成种子点 Seed
- 高斯分布均值:mu = 1.0/depth_mean
- 高斯分布方差:sigma2 =