本文最终贡献是一个基于全景视图的同步跟踪与地图构建框架,该框架围绕前面章节中描述的两个核心模块构建:运动初始化方法以及基于样条的后端优化方法。该框架采用ORB特征,其跟踪与地图构建模块受ORB-SLAM框架的启发。系统包含两个工作线程:一个前端线程运行视觉里程计,另一个后端优化线程运行带窗口的束束调整。需要注意的是,框架中没有添加回环闭合模块。相反加入了一个可选但经过仔细设计的低质量GPS信号,以防止长期漂移累积。借助所采用的核心模块,该框架能够实现前端相对位移的高度可靠初始化,以及后端精确的、即时的车辆运动学感知优化。
在前端视觉里程计线程中,每个来自全景视图系统的摄像头首先独立处理,以提取每一帧中的ORB特征。可以选择使用OpenCV的原始版本或ORB-SLAM的修改版(旨在实现更均匀的特征分布)。一旦提取了特征,会进行暴力时间内摄像头匹配。不进行跨摄像头的立体匹配,因为相邻视场的重叠区域被认为不存在或至少过小且变形,无法可靠地提取和匹配特征。相反通过可选的GPS读取来恢复并保持度量尺度。
但并不是每一帧都传递给后端优化器。前端采用一个简单的关键帧生成机制,验证帧间差异的中值是否超过某个阈值。然后,采用计算相对变换并通过RANSAC发现所有内点对应关系。接下来需要区分两种情况,如果某个对应关系是新的(即没有先前的3D地标参考),则通过三角化生成一个新的3D地标。反之,如果存在参考,则仅通过最新添加的关键帧中的新测量扩展该地标的测量列表。此外现有地标用于一致地重新调整新旧关键帧之间平移位移的幅度。鉴于可能存在多个这样的地标,通过对所有缩放因子的中值进行运算来以鲁棒的方式进行此操作。
建图线程会在足够的新关键帧添加后触发新的优化轮次。优化从标准的束束调整实现开始,通过最小化重投影误差来优化关键帧位姿和地标。这一预优化可以为后续的样条优化提供可靠的初始估计。后续的优化采用了更高效、几乎不受约束的FSBA变体,以确保精确、平滑且运动学感知的估计结果。由于没有惯性读取或重力测量的存在,我们还在滚转角上添加了正则化项,以限制沿第四维度的漂移。最后,GPS数据项作为可选的位置信差项被添加,以减缓长期的位移漂移。运动学约束轨迹模型的引入需要谨慎的时间节点放置策略。这尤其重要,因为长时间轨迹可能包含较少转弯的部分,而其他部分可能需要更多的节点和控制点,以允许更高的非线性。
在我们的工作中,引入的自动节点放置算法,该算法考虑了一种简单的平均策略,依赖于输入样本的局部时间密度。该策略的优势在于一旦车辆超过某个速度,每一组新采集的全景图像都会触发新的关键帧,从而使控制点在车速较高的直线路段上更加分散,在转弯时则更为集中。然而这一策略的缺点是,在城市环境中,交通信号灯和人行道过道导致车辆速度与道路布局的复杂性不总是相关。当汽车完全停下来时,情况极端。在这种情况下,自动节点放置可能会在长时间停驶期间触发额外的节点,这会导致控制点的局部积累,从而在最终优化结果中产生严重的伪影。为了规避这一问题,前端添加了一个检测静止间隔的特殊模块。该模块通过检查所有特征匹配的帧间差异,并将其与非常小的阈值进行比较,来评估有多少比例的差异可以忽略。如果这个比例足够大,则认为相对于背景的运动不存在。静止间隔被记录下来,曲线参数化的内部时间线仅是原始时间线中有效间隔的连续拼接。如前所述,低质量GPS读取被可选地集成,以实现更强的定位鲁棒性。在使用GPS信号时需要小心,避免使用由于卫星信号接收数量变化或多径效应导致的GPS异常值。通过GPS读取的连续性可以有效地检测到跳跃。只有当GPS读取保持在预期的误差范围内时,才会添加GPS数据项。所提出的配置确保了可靠的、全局一致的地图构建和定位,即使没有回环闭合或附加传感器,这使得它能够轻松部署在现有平台上。该框架不依赖于繁琐的IMU标定或与车辆固有传感器(如车轮里程计)的连接。