如何让多相机视觉SLAM系统更易于部署且对环境更具鲁棒性?本文提出了一种适用于任意排列多相机的通用视觉里程计系统。在KITTI-360和MultiCamData数据集上验证了该方法对于任意放置相机的鲁棒性。与其他立体和多相机视觉SLAM系统相比,该方法获得了更高的位姿估计精度,具有更好的泛化能力。
01 本文核心内容
视觉SLAM乃是机器人技术与自主导航领域的一项基础性技术,能使系统借助视觉传感器估算其相对于所处环境的运动情况。传统的单目或立体SLAM系统往往需要严格的相机配置,并且在进行真实尺度姿态估计和地图构建时严重依赖惯性测量单元(IMU)。然而,这些方法因视场角狭窄而受限,在相机布置灵活性至关重要的环境中表现欠佳,比如大多数配备6个不同相机的汽车。近来,多相机视觉SLAM在这类情形下展现出了更强的稳健性,能够涵盖更多的周边视觉场景,为纹理欠佳的环境提供冗余信息。这为诸如无人机在杂乱环境中导航以及配备周边多相机的自动驾驶等应用开辟了新的可能。
然而,当前的多相机视觉SLAM系统在实际应用中仍面临诸多挑战。其一,相机数量的增多虽提供了信息冗余,却不可避免地致使数据处理压力数倍增长。多数现有的方法采用诸如ORB等传统的特征关联方式,这导致中央处理器(CPU)的使用率大幅攀升,且难以平衡后端非线性优化的资源,进而需要高性能的CPU,否则无法达成实时性。其二,对于多相机视觉里程计(MCVO)系统而言,精确的尺度估计亦颇具挑战。现有的方法大多通过多目设置或添加惯性测量单元(IMUs)来估计尺度,这就要求精心配置相机的视场(FOV)重叠或相机与IMU传感器之间的外部校准,致使难以在系统配置的灵活性与尺度估计的准确性之间实现平衡。因此,本研究的主要目标是通过解决任意排列的多相机系统中的特征关联计算压力和尺度估计问题,实现稳健且通用的多相机视觉里程计。
为应对这些挑战,我们提出了一种通用的多相机视觉里程计系统,即MCVO,其仅需处于任意方向和位置的多个刚性捆绑的相机。我们首先从精度-效率的视角对现有的先进特征关联方法进行分析,并设计了一个基于学习的特征提取和跟踪框架,以转移多个视频流的CPU处理计算压力。接着,我们基于每个相机的对齐姿态间的刚性约束,利用运动恢复结构(SfM)来初始化SLAM系统,以获取真实尺度的身体姿态。在后端,我们融合多相机特征以实现稳健的姿态估计和尺度优化。多相机特征在词袋(BoW)中进一步串联,用于闭环检测。通过在KITTI-360和MultiCamData数据集上的严格测试和实际应用,我们旨在证明我们的系统在以空前的灵活性和通用性增强各领域自主代理能力方面的有效性。所提出系统的亮点在于:(i)仅需外部参数要求,即可使用任意朝向布置的多个相机。(ii)通过消除对惯性测量单元(IMU)的依赖,并提供处理任意配置相机(无论重叠与否)的灵活性,其仅专注于视觉信息,从而能够实现真实尺度估计和在线优化,提高了准确性和鲁棒性。(iii)此外,它能够适应包括但不限于鱼眼和标准针孔相机在内的多种相机类型,使其适用于广泛的应用场景。
我们的代码和在线演示可在https://github.com/JunhaoWang615/MCVO上获取。
02 主要贡献
我们为任意排列的多相机提出了一种通用的视觉SLAM系统框架,并对前端的多相机特征检测和匹配、系统初始化、后端优化以及闭环进行了创新设计。
我们全面考虑现有的最先进(SOTA)特征关联方法,并设计了基于SuperPoint的提取器和LK跟踪前端,将CPU的计算压力转移,提高了特征匹配的稳定性,最终为多眼SLAM的稳定性和效率提供了保障。
我们提出了一种基于多相机轨迹一致性的SLAM尺度估计策略,该策略兼容不同的相机模型,无论相机视场(FoV)是否重叠,都展现出了强大的泛化性和稳定性。
03 方法架构
我们所提出的通用多相机视觉里程计框架如图2所示。该框架的主要输入为同步的多相机视频序列。多个相机已提前进行刚性捆绑并校准,其内在参数和外在参数已知。输出为现实环境中的度量尺度6自由度机器人位姿。
该流程包括四个部分:前端特征提取、位姿和度量尺度初始化、后端优化以及闭环检测。为加速多相机特征关联的前端处理,我们采用了GPU加速的特征提取和3优先级特征选择。然后,我们利用多相机位姿和外在参数来初始化度量尺度的多相机系统。为确保运动尺度的真实性,我们在后端优化过程中对尺度偏差进行自适应关联。鉴于多相机系统较大的视场角,我们设计了一种更稳健的多相机全方位闭环检测算法。我们还利用位姿图约束进一步优化闭环中的体位姿。
04 实验
在本节中,我们将在两个公开数据集上进行实验,以评估我们提出的方法。
A.实验设置
1)数据集:为评估我们的方法,所选用的数据集必须包含具有预先校准的内在和外在参数的多相机设置。我们选取了两个公开可用的数据集,即KITTI360和MultiCamData,它们具有不同的相机类型、场景类型以及各种相机布局。KITTI360数据集是在户外道路环境中通过两个180°鱼眼相机和两个90°针孔相机采集所得,如图1所示。这四个相机同步且已预先校准。与EuRoC等其他数据集相比,KITTI360具有更大的规模、更长的距离以及更具挑战性的场景,例如桥下道路(光照变化)、荒野(纹理退化)和动态场景。我们对大多数序列进行了测试,并与真实轨迹进行了对比。MultiCamData是在室内环境中使用6个相机采集的。我们主要使用非重叠的相机(cam0、cam5和cam6)以考察其泛化能力。该数据集还涵盖了具有挑战性的场景,如狭窄走廊、大型白色墙壁(纹理退化)、突然转弯和动态场景。
2)评估设置:我们选取VINS-Fusion、ORB-SLAM3以及MultiCamSLAM作为对比基准。为使VINS-Fusion和ORB-SLAM3获得度量尺度状态估计,针对每个数据集的前置立体相机对这两种方法进行了设置。而对于MultiCamSLAM,我们采用了与方法[Designand evaluation of a generic visual slam framework for multi-camerasystems]一致的非重叠相机设置。在KITTI360数据集上,MCVO配置了两个鱼眼相机和一个前置针孔相机。在KITTI360上的评估指标涵盖了绝对轨迹误差(ATE)、相对位姿误差(RPE)以及尺度误差。鉴于MultiCamData缺少真实轨迹,我们按照[Designand evaluation of a generic visual slam framework for multi-camerasystems]中的方式,使用视觉目标来估计初始位姿和最终位姿之间的误差,因为轨迹的起点和终点处于相同位置。所有实验均在配备2.5GHzIntelCorei7-11700CPU和NVIDIARTX3060GPU的台式机上开展。
B.实验结果
ATE的定量结果在表I和图5中呈现。与立体ORB-SLAM3和VINS-Fusion相比,MCVO在KITTI360的多数序列上达成了显著更低的旋转误差,且平移误差具有竞争力。这主要归因于多相机设置所提供的宽视场,以及前端的高精度和强鲁棒性。小尺度误差进一步证明了我们的尺度估计策略的有效性。MultiCamSLAM方法无法完成KITTI360的多数序列。此问题源于KITTI360数据集是以高速采集的,导致了较大的帧间位移。MultiCamSLAM在处理显著的帧间位移时存在困难,阻碍了三角测量和初始化。与MCVO在ORB特征方面的对比进一步表明了我们前端设计的鲁棒性。此外,MCVO在MultiCamData上展现出了强劲的性能和鲁棒性。其在精度上优于VINS-Fusion,与ORB-SLAM3相比仅有细微差距。这种精度上的轻微降低主要是由于室内走廊中存在众多白色墙壁,引入了噪声,从而影响了多相机视觉里程计(VO)。与同样采用非重叠相机设置的MultiCamSLAM相比,MCVO在不同序列中实现了更优的精度和更好的泛化能力。
图6展示了不同方法在KITTI360数据集00序列上的RPE结果。MCVO显著优于其他方法,姿态漂移最小。这一改进在很大程度上得益于多相机设置中稳健且高效的前端,其场景覆盖范围广泛。扩大的视场为状态估计提供了更强的约束,从而导致更高的姿态估计精度。此外,稳健的前端即使在低质量场景中也能确保准确的特征跟踪。这些结果验证了MCVO在状态估计上的有效性。
为了进一步对性能进行定性分析,我们在图7中绘制了KITTI360数据集的00和05序列上不同方法的轨迹。ORB-SLAM3和VINS-Fusion在00序列中表现出较大的旋转误差。相比之下,MCVO在这种情况下显示出更高的稳定性和准确性。此外,我们方法的整体轨迹更平滑,位置估计更稳定。
05 总结
在本文中,我们提出了一种通用的多相机视觉里程计系统,其在相机设置方面具有高度灵活性,可适应不同类型的相机,无论视场是否重叠。多相机的任意排列,不仅提高了SLAM系统的灵活性,还实现了仅基于相机的稳健真实比例姿态估计。所设计的基于学习的特征关联前端利用GPU有效地减轻了CPU在多相机数据处理中的计算压力,并提高了特征匹配的稳定性。在实验过程中,多相机特征在尺度初始化、后端优化和闭环等系统功能得到了充分验证。与最先进的技术进行比较,进一步证明了MCVO在状态估计方面的有效性和鲁棒性。未来的工作将侧重于在更多平台上部署MCVO。
全部0条评论
快来发表一下你的评论吧 !