《Parallel Tracking and Mapping for Small AR Workspaces》阅读笔记一
一、摘要
探讨一种在未知环境中的相机位姿估计方法,在机器人导航领域内可视为源自于机器人导航领域的SLAM算法体系的研究对象。已有相关研究对这一技术展开深入探讨并取得一定成果。
这篇论文的主要贡献在于:将跟踪子程序与绘图子程序划分为两个独立子程序,在双核计算机上实现多线程并行计算。一个专门负责相机稳定追踪;另一个专门利用历史视频帧中的特征点构建三维地图模型。
- 采用了一种计算开销较高的批量优化方法,在实际应用中通常不适用于实时系统环境。
 
二、介绍
大多数增强现实系统都基于用户环境的先验知识,在城市地图、相关部件的CAD模型以及稀疏点云图等场景下运行良好。如果这些地图或目标模型包含足够的信息量,则可以直接完成注册过程;然而,在实际应用中这类信息往往不够完善,在此背景下该方法(即extensible tracking)应运而生并得到了快速发展[21,14,4,28,2]。该方法的主要特点是能够在初始地图之外添加未知场景的信息,并在感知区域超出初始范围时仍能完成注册操作;文献[4]中的初始地图设定较为简单仅为一个模板构成
为了使用户能够自由地与虚拟目标交互,在探索过程中需要确保相机追踪系统既精确又稳定,并在探索过程中动态更新地图数据。这一问题具有显著的技术难度。研究论文对追踪场景设定了若干合理约束条件:1. 所有的追踪场景均为静态环境;2. 研究限定在用户的日常活动空间内(例如桌子、房间一角或建筑入口等)。
三、SLAM方法回顾
这篇文章方法概况:1)跟踪和绘图是分开的,并行运算;
2)地图是基于关键帧的,用batch techniques (bundle adjustment)方法构建;
3)用立体图像对(5-point algorithm)进行稠密地图初始化;
4)用epipolar search方法添加新的特征点;
5)构建大量的特征点的地图。
早期的两个著名同步定位与绘图系统分别由Davison在其文献[5]中提出EKF-SLAM算法[26]以及由Eade and Drummond各自独立地在文献[8,7]中提出FastSLAM2.0算法[17]. 这些方法均采用了基于增量式的方法,并将绘制的过程与追踪过程紧密相连; 因此,在视频序列中的每一帧都需要实时更新这两者的状态.
相比之下, 跟踪静止物体的难度低于动态机器人的追踪. 主要原因在于: 首先, 运动机器人为 odometry 的应用提供了便利; 其次, 在速度上具有更大的灵活性. 但对于摄像机来说, 这是不可比拟的限制, 因为数据关联错误成为一个关键挑战, 并且基于增量式地图生成的方法同样难以规避这一问题. 为了应对这一难题, 文献[5]中采用了 Joint Compatibility Branch and Bound (JCBB) 方法; 文献[7]中采用了 Random Sample Consensus (RANSAC) 方法. 然而, 尽管两种解决方案在一定程度上缓解了相关问题的影响, 但它们仍然未能达到令人满意的鲁棒性水平
这个方法导致跟踪与绘图相关的处理被分开。如果将它们划分为两个独立处理线程,则一方面地采用了层次化的跟踪算法(文中使用coarse-to-fine approach with a robust estimator)。因此,在这种情况下,不需要共享数据关联关系。同时能够充分利用双核处理器的优势,并且降低了每帧地图更新所需的计算负担,并使跟踪线程能够处理更多的图像数据。
另一方面,在不影响整体功能的前提下,“地图线程”未将跟踪线程捆绑为同一整体结构;因此在处理视频数据时,“地图线程”无需为每个视频帧执行绘图操作;相反,在多数情况下,“跟踪线程”会在静置状态下获取大量冗余信息;传统的增量处理方法通常会对每一帧重复处理相同的原始数据;这种做法导致处理效率低下;而本研究采用了一种基于批量优化(Bundle Adjustment)的新方法来替代传统的逐帧增量绘制方式;
Bundle Adjustment has been effectively employed in Offline Structure from Motion (SfM) tasks. The application of Bundle Adjustment in such contexts has demonstrated significant success, particularly in real-time visual odometry and tracking [20, 18, 9]. These methods initialize maps using the 5-point stereo [27] approach and then employ local bundle adjustment for camera tracking.
四、更加相关的文献
为增强单目SLAM系统的鲁棒性, 文献[22]将EKF替换成PF, 减少由于相机快速运动带来的负面影响. 然而, 绘图线程未考虑到帧间关系以及相机与特征间的关联. 为此, 文献[3]通过将相关搜索技术替换为更为稳定的图像描述子, 降低了异常检测的成功率. 该系统能够处理大范围内的大量特征, 同时保持了系统的鲁棒性. 然而, 系统采用无采样卡尔曼滤波器, 在地图扩展方面存在局限性, 并且仅能描绘少量关键点.
文献[11,28]中涉及了基于批处理技术的可扩展跟踪方法。在训练过程中采用了经典的束元调整方法,并追踪已学习特征点序列,在此过程中并未对地图进行扩展。另一方面,在文献[28]中提出了一个新的估计器声称系统的鲁棒性和准确性较优但因高昂的计算成本导致该方案难以应用。
文献[2]中系统实现了实时三角化新的特征块的同时同步跟踪一个预先已知的CAD模型,并且实现了高质量的patch tracking效果。文中指出该方法通过使用高自由度最小化技术跨越多个尺度范围,并且比常用的NCC搜索方法能够实现更好的patch tracking效果。然而由于算法计算复杂度很高作者采取了一种折中的策略即通过丢弃特征协方差信息来简化地图构建过程
文献[15]基于SfM技术生成地图,并对未知场景进行监测。该算法由两个处理器构成:研究者从3D姿态估计中提取2D特征。
