ORB-SLAM中的地图点策略
1 平均观测方向
- 地图点中维护了一个向量,这个向量代表的含义是关键帧光心到单位方向向量的平均向量
- vmean=1k∑i=0kvnormv_{mean} = \frac{1}{k}\sum_{i=0}^{k}v_{norm}vmean=k1∑i=0kvnorm,值得注意的是,vmeanv_{mean}vmean并不是单位向量,而是一些单位向量的平均值
- 地图点的平均观测方向给定了一个观测方向的参考,也就是说其他观测到这个地图点的关键帧或者普通帧与参考的这个观测方向之间的夹角不能太大,如果太大就说明这次匹配有误,用于进一步筛选匹配。
- 值得注意的是,在ORB-SLAM的源码中,将vmeanv_{mean}vmean当做了单位向量,我认为这是不对的!!
2 最具代表性描述子
- 地图点中还维护了描述子信息,这个描述子是地图点中产生观测的最具代表性的描述子。
- 地图点和关键帧之间存在观测信息,即地图点对应了多个关键帧的ORB特征点,相应的对应了多个关键帧之间的BRIEF描述子,而地图点对应的描述子应该是和其他描述子之间存在比较近的距离。
- 一般来说,可以用平均值或者中位数来描述某一个描述子与所有描述子之间的距离,在ORB-SLAM中使用的是距离中位数代表某一个描述子与其他所有描述子之间的距离,选择距离最小的描述子作为地图点的描述子。
- 在构建局部地图后,使用局部地图中的地图点去增加某关键帧或者某普通帧的匹配时,可以根据这个代表性描述子和关键帧或普通帧中特征点描述子来判断距离。在跟踪线