多视觉异步SLAM系统

文章:Asynchronous Multi-View SLAM

作者:Anqi Joyce Yang, Can Cui , Ioan Andrei Bârsan , Raquel Urtasun , Shenlong Wang

编辑:点云PCL

主页:https://www.cs.toronto.edu/~ajyang/amv-slam

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

现有的多摄像机SLAM系统假设所有摄像机的快门都是同步的,这在实际使用中通常很难满足。在这项工作中,我们提出了一种考虑异步传感器观测的广义多相机SLAM方案。我们的框架集成了一个连续运动模型,以在跟踪、局部建图和回环闭合期间跨异步多帧关联信息。为了进行评估,我们收集了AMV Bench,这是一个具有挑战性的新SLAM数据集,使用我们的异步多摄像头机器人平台记录了482公里的行驶数据。AMV Bench比以前的多视图高清室外SLAM数据集大了一个数量级,涵盖了多种多样且具有挑战性的运动和环境。我们的实验强调了异步传感器建模的必要性,并表明在具有挑战性的室外场景中,使用多个相机对于稳健和准确的SLAM至关重要。

项目主页:https://www.cs.toronto.edu/~ajyang/amv-slam

主要贡献

现有的视觉SLAM方法和基准方法主要关注单目或双目相机配置。虽然重量轻,但这种配置很容易因遮挡、动态对象、照明变化和无纹理场景而导致跟踪失败,所有这些在现实世界中都很常见,其中许多挑战可归因于通常使用的狭窄视野(图1a)。

5ddd96c454e612dd95c60d6476550813.png

图1:AMV Bench中的异步多摄像头设备,包括一对立体摄像头和五个广角摄像头。摄像机与激光雷达同步,异步触发如(c)所示。示例图像突出了具有挑战性的场景,如遮挡、眩光、低纹理公路、道路阴影和低光雨环境

广角或鱼眼镜头或多相机装备可以显著提高视觉SLAM系统的鲁棒性,由于其较大的视野(图1b)。尽管如此,使用多个摄像头也面临着一系列挑战。现有的立体或多摄像机SLAM文献假设所有摄像机的快门同步,并基于此假设采用离散时间轨迹建模。然而,在实践中,由于技术限制或设计原因,不同的相机并不总是同时触发。例如,相机快门可以与另一个传感器同步,例如旋转的LiDAR(例如,图1c),这是自动驾驶中常见的设置。考虑一辆汽车在高速公路上以30m/s(108km/h)的速度行驶。然后,在短33ms的摄像机触发间隔内,车辆将行驶一米,这在需要厘米级精确姿态估计时非常重要。因此,需要对多视图视觉SLAM进行概括,使其不受摄像机触发的影响,同时对真实世界条件具有可扩展性和鲁棒性。在本文中,我们实现了异步多视图SLAM(AMV-SLAM)问题。主要贡献:

  • AMV-SLAM的通用框架,据我们所知,它是第一个用于大型户外环境的全异步连续时间多摄像机视觉SLAM系统。该方案的关键是异步多帧的概念,其将来自多个异步相机的输入图像分组,连续时间运动模型的集成,其将异步多帧中的时空信息关联起来用于联合连续时间轨迹估计。由于没有公开的异步多摄像机SLAM数据集

  • 这是一个具有高质量地面真值的新型大规模数据集。AMV Bench是在宾夕法尼亚州匹兹堡的一整年中收集的,包括具有挑战性的条件,如低光场景、闭塞、快速驾驶(图1d)以及三点转弯和倒车停车等复杂机动。我们的实验表明,多摄像机配置对于克服大型户外场景中的不利条件至关重要。此外,我们表明异步传感器建模至关重要,因为与异步建模相比,将相机用作同步slam会导致30%的故障率和4倍的局部姿态误差。

主要内容

e7e8fc345f047736b462dd306b7a5d73.png

图2:方案概述,初始化之后是跟踪、局部建图和闭合回路。MF=Multi-Frame; KMF=Key MF

考虑异步多视图SLAM问题,其中观测结果由在任意时间相对于彼此触发的多个相机捕获。假设每个摄像机C是具有固有矩阵K的校准针孔摄像机,并且通过从body帧Fb到摄像机帧Fk的映射Tkb来编码外参矩阵。问题的输入是一系列图像和捕获时间戳对与每个摄像机C相关联。然后,目标是估计世界坐标系中的机器人轨迹T。我们还将环境的3D结构的地图M估计为一组点云。我们的系统遵循标准的视觉SLAM初始化结构,结合三线程跟踪、局部建图和闭合回路,关键区别在于我们通过异步多帧和连续时间运动模型将其推广到具有异步定时的多个相机。特别地,在初始化之后,跟踪将每个传入的多帧作为输入,推断其运动参数,并决定是否将其提升为关键多帧(KMF)。为了提高效率,在局部建图和闭合回路期间仅使用KMF。当选择新的KMF时,局部建图模块在最近的KMF窗口上优化姿态和地图点,以确保局部一致性,而闭合回路模块则检测何时重新访问先前地图的区域,并校正漂移以增强全局一致性,概览见图2。

A、 异步多帧

现有的同步多视图系统将同时捕获的多视图图像分组为多帧作为输入。然而,当每个传感器的点火时间变化时,这不能直接应用。为了推广到异步相机定时,我们引入了异步多帧的概念,该概念将在时间上(例如,在100ms内)捕获的图像分组。在图1中,每个异步多帧包含在10Hz的单个旋转激光雷达扫描期间拍摄的图像。与存储图像和在单个时间戳估计的离散姿态的同步多帧不同,每个异步多帧MFi存储:(1)由相关相机Ck索引的一组图像和捕获时间对,以及(2)用于恢复估计轨迹的连续时间运动模型参数。

B、 连续时间的轨迹表示

为了将机器人位姿与可以在任意时间进行的观察相关联,将整个机器人轨迹表示为连续时间函数Twb(t),而不是离散姿势,利用累积三次B样条函数,因为该参数化的一阶导数和二阶导数是平滑的,并且计算效率很高。累积结构对于SE(3),精确的流形插值是必要的。如图3。

47a3e27fd89745195bc3cd6c2f41f795.png

C、 初始化

系统初始化假设存在一对共同重叠视野并在时间上非常接近地发射的摄像机(例如,同步双目相机对,存在于大多数自动驾驶车辆配置中)。在系统启动时,我们使用关联的相机图像和捕获时间创建第一个MF,将其选择为第一个KMF,将代表时间t´0设置为相机对触发时间,将控制位姿设置为世界帧的原点,并使用相机对三角化的点初始化地图。在插入第二个KMF之后,在建图期间创建来自其他相机图像的地图点。

D、 跟踪

在跟踪期间,我们通过将传入的多帧MFi与最近的KMF进行匹配来估计其连续姿态。然后决定是否应选择MFi作为KMF,用于地图优化和未来跟踪。

1) 特征匹配:对于新MF中的每个图像,我们将其在参考KMF中的参考图像识别为由相同相机或共享重叠视野的任何相机捕获的图像。我们从新图像中提取稀疏2D关键点和相关描述子,并将它们与参考图像关键点进行匹配,以建立与现有3D地图点的关联。

2) 姿态估计:三次B样条曲线对整体轨迹建模是有效的,但在跟踪中直接使用它们需要估计四个6-DoF控制姿态,这些姿态不仅定义了新MF中的运动,也定义了现有轨迹中的运动。因此,需要更多的信息来进行稳定的估计。

3) 多关键帧选择:我们使用基于估计的运动和地图点可重新观察性的混合关键帧选择方案。即如果所跟踪的姿态具有高于某一阈值的局部平移或旋转变化,或者如果在多个相机中重新观察到的地图点的比率低于某一阈值,则当前MF被登记为KMF。此外,为了更好地调整三次B样条的形状,在运动和场景几乎没有变化的长时间内(例如,当机器人停止时),会定期插入新的KMF。根据经验发现,在低纹理区域(例如,高速公路行驶)的快速运动中,仅可重新观察的启发式算法是不够的,但表明它们与基于运动的启发式算法的组合对此类场景是鲁棒的。

E、 局部建图

当选择新的KMF时,我们运行局部捆集调整以优化3D地图结构,并最小化最近帧中跟踪误差累积的漂移。然后创建并剔除地图点,以反映到最新的地图中。

F、 闭合回路

闭环模块检测机器人何时重新访问一个区域,并校正累积的漂移,以实现地图和轨迹估计的全局一致性。由于视野更广,多视图SLAM系统可以检测在任意角度遇到的回路。我们通过多视图相似性检查和多视图几何验证扩展了先前基于DBoW3的回路检测算法,为了实现闭环集成了三次B样条运动模型,以形成姿态图优化问题的异步多视图情况。

数据

计算机视觉和机器人技术的大部分最新进展都是由大规模高质量数据集的存在推动的。然而,在SLAM领域,尽管其数量众多,但由于规模、多样性或传感器配置限制,先前的数据集不足以评估异步多视图SLAM系统。此外,现有SLAM数据集中没有一个具有多个异步摄像机来直接评估AMV-SLAM系统。为了解决这些局限性,我们提出了AMV Bench,这是一种新型的大型异步多视图SLAM数据集,使用宾夕法尼亚州匹兹堡的一组SDV在一年内进行了记录。

4efaed246a72fb6bdcac9ba041f8cb48.png

表I显示了提出数据集与其他类似SLAM重点数据集之间的高级比较

1)传感器配置:每辆车都配有七个摄像头、车轮编码器、一个IMU、一个消费级GPS接收器和一个HDL-64E激光雷达。激光雷达数据仅用于计算真实姿态。有五个广角摄像头覆盖了车辆的大部分环境,另外还有一对前向立体摄像头。每个相机的RGB分辨率为1920×1200像素,并使用全局快门。五个广角相机是硬件触发的,与旋转的激光雷达同步,平均频率为10Hz,彼此异步触发。

2) 数据集组织:数据集包含跨越482km和21h的116个序列。所有序列都是在白天或黄昏时记录的。每个序列从4分钟到18分钟不等,场景多种多样,包括

  1. 不同的环境(繁忙的街道、高速公路、居民区和农村地区)

  2. 不同的天气,从晴天到强降水;

  3. 不同速度的各种运动(高速公路、城市交通、停车场)、轨迹循环和机动,包括掉头和倒车。

实验与评价

在提出的AMV Bench数据集上评估了我们的方法。我们首先表明,它优于几种流行的SLAM方法。接下来进行融合研究,强调异步建模的重要性、多个摄像头的使用、闭合回路的影响,以及特征提取器之间的差异。

1) 定量比较:将我们的方法与多种流行的SLAM方法进行比较,包括单眼DSO、各种ORBSLAM。我们在单目配置中使用前中摄像头。与我们的离散时间运动模型实现进行了比较。

89f80fe08eff6c9cc6b6975dd154641f.png

表II显示,我们的数据集确实具有挑战性,第三方基线完成的验证序列不到80%。我们的方法在准确性和鲁棒性方面显著优于其他方法。我们的双目同步基线性能更优,主要是由于更稳健的关键帧选择策略。

2) 运动模型融合:使用所有相机进行以下实验,但使用不同的运动模型:(1)同步离散时间模型;(2) 异步线性运动模型;(3) 异步三次B样条模型,这是我们提出的解决方案。为简单起见,禁用了回环检测。表III显示,错误的同步定时假设完成的序列减少了约30%,并且与主系统相比具有4倍高的局部误差。此外,使用三次B样条的轨迹建模始终优于表达较少的线性模型。

691501b1413e2114dc40127190592f07.png

3) 相机融合:我们使用相同的三次B样条运动模型,用不同的相机组合进行实验。为了简单起见,我们禁用循环关闭。表III显示了所有指标的性能提升,更多的摄像头覆盖更广的视野。

0d21a3967cfd2c67b62e67a1782bae99.png

4) 环路闭合:我们首先研究了多个摄像头对环路检测的影响。在9个包含环路的验证序列中,我们使用所有摄像机的完整方法可以100%准确地检测8个环路,而我们的立体环路检测实现只能检测同一方向上闭合的6个环路。图4中最左侧的子图比较了多视图与立体环路闭合后的漂移。为了进一步强调全局轨迹漂移的减少,图4中的第二个子图描述了在执行环路闭合的每个多帧处,在有环路闭合和无环路闭合的情况下相对于地面真相的漂移。

5) 运行耗时:与单目或立体SLAM方法不同,异步多视图SLAM需要处理多个相机图像。这为整个SLAM流程的复杂性引入了一个线性乘数,包括特征提取、跟踪、捆集调整和闭合回路。因此,尽管在鲁棒性和准确性方面有了显著提高,但我们当前的实现无法实现实时运行。因此,提高AMV-SLAM的效率是未来研究的一个重要领域。

6) 定性结果:图4描绘了我们的方法轨迹、ORB-SLAM2和选定验证序列中的地面真相,该方法优于ORB-SLAM2,并且在大多数情况下视觉上与GT轨迹很好地对齐。

总结

本文解决了具有异步快门的多相机SLAM问题,我们的框架将输入图像分组为异步多帧,并使用三次B样条连续时间运动模型将基于特征的SLAM扩展到异步多视图设配置。为了评估AMV-SLAM系统,提出了一个新的大规模异步多摄像机室外SLAM数据集AMV-Bench。在该数据集上的实验强调了异步传感器建模的必要性,以及使用多个相机在具有挑战性的真实场景中实现鲁棒性和准确性的重要性。

更多详细内容请加入知识星球查看原文。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

基于鱼眼相机的SLAM方法介绍

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

fc1dc9730a905b8e200558e4ad6058b7.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在信号处理领域,DOA(Direction of Arrival)估计是一项关键技术,主要用于确定多个信号源到达接收阵列的方向。本文将详细探讨三种ESPRIT(Estimation of Signal Parameters via Rotational Invariance Techniques)算法在DOA估计中的实现,以及它们在MATLAB环境中的具体应用。 ESPRIT算法是由Paul Kailath等人于1986年提出的,其核心思想是利用阵列数据的旋转不变性来估计信号源的角度。这种算法相比传统的 MUSIC(Multiple Signal Classification)算法具有较低的计算复杂度,且无需进行特征值分解,因此在实际应用中颇具优势。 1. 普通ESPRIT算法 普通ESPRIT算法分为两个主要步骤:构造等效旋转不变系统和估计角度。通过空间平移(如延时)构建两个子阵列,使得它们之间的关系具有旋转不变性。然后,通过对子阵列数据进行最小二乘拟合,可以得到信号源的角频率估计,进一步转换为DOA估计。 2. 常规ESPRIT算法实现 在描述中提到的`common_esprit_method1.m`和`common_esprit_method2.m`是两种不同的普通ESPRIT算法实现。它们可能在实现细节上略有差异,比如选择子阵列的方式、参数估计的策略等。MATLAB代码通常会包含预处理步骤(如数据归一化)、子阵列构造、旋转不变性矩阵的建立、最小二乘估计等部分。通过运行这两个文件,可以比较它们在估计精度和计算效率上的异同。 3. TLS_ESPRIT算法 TLS(Total Least Squares)ESPRIT是对普通ESPRIT的优化,它考虑了数据噪声的影响,提高了估计的稳健性。在TLS_ESPRIT算法中,不假设数据噪声是高斯白噪声,而是采用总最小二乘准则来拟合数据。这使得算法在噪声环境下表现更优。`TLS_esprit.m`文件应该包含了TLS_ESPRIT算法的完整实现,包括TLS估计的步骤和旋转不变性矩阵的改进处理。 在实际应用中,选择合适的ESPRIT变体取决于系统条件,例如噪声水平、信号质量以及计算资源。通过MATLAB实现,研究者和工程师可以方便地比较不同算法的效果,并根据需要进行调整和优化。同时,这些代码也为教学和学习DOA估计提供了一个直观的平台,有助于深入理解ESPRIT算法的工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云PCL公众号博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值