关键帧及其选取策略
关键帧即具有代表性的帧。使用关键帧可以减少冗余度,提高计算效率,保证图像质量。
使关键帧具有代表性,就涉及到选择。主要是从自身和与其他关键帧的关系来考量。
自身:特征点/有效点足够多,图片质量足够好
和其他帧关系:有一定共视性但重复度不能太高
量化指标:时间跨度、空间跨度、跟踪地图点情况、
跟踪
特征跟踪模式 | 参考关键帧跟踪 | 恒速模型跟踪 | 重定位跟踪 |
---|---|---|---|
基本原理 | 利用最近的关键帧作为参考 | 假设相机以恒定速度移动,使用上一帧位姿 | 当前帧与已知地图全局匹配以恢复位姿 |
适用场景 | 初始跟踪(恒速模型中的速度为空)或恒速模型、重定位失败后 | 绝大多数正常跟踪情况 | 参考关键帧或恒速模型跟踪都失败,拯救式 |
操作过程 | 匹配当前帧与最近关键帧特征 | 上一帧位姿预测当前帧位姿 | 候选关键帧搜索(倒排索引+共视图)+EPnP |
鲁棒性 | 较高,但依赖关键帧质量 | 中等,适用于相机匀速运动 | 能处理大幅度运动或环境变化 |
计算复杂度 | 中等 | 较低,更简单更快 | 高,需全局搜索 |
可靠性 | 受关键帧分布影响 | 易受剧烈运动影响 | 在无合适匹配时失败风险高 |
初始化 | 上一帧位姿作为初始值 | 利用参考关键帧更新上一帧位姿(若是双目和RGBD相机,还根据深度值生成临时地图点),并估计速度 | EPnP |
后续动作 | 成功则持续跟踪,失败则尝试其他模式 | 成功则继续,失败尝试重定位 | 成功则恢复精确跟踪,失败则重置系统 |
应用 | 物体跟踪 | 导航 | VSLAM中的重定位 |
倒排索引:词袋模型中非常重要的概念,和它对应的操作叫做直接索引。倒排索引是以单词为索引,存储有单词出现的所有图像的ID及对应权重,优势是可快速查询某个单词出现在哪些图像中,进而得到那些图像有多少共有单词。判断图像相似性很有效
直接索引:以图像为索引,存储每张图像的特征及该特征所在的节点ID。
EPnP:输入为世界坐标系下的n个3D点、n个3D点在图像上的2D坐标、K,输出相机位姿。只需要4对非共面点(平面只需要3对)。思路是先反投影再ICP。求解时涉及到统一量级。
参考:《视觉惯性SLAM 理论与源码解析》