原文出自:飞思实验室

近年来,使用机器学习技术进行特征提取的基于调制解调器特征的SLAM越来越受到关注,并有望在几乎所有机器人工作环境中超越传统方法。这种方法利用经过训练的网络来学习关键点,从而增强可视化SLAM数据关联的鲁棒性。现代基于特征的SLAM也有望为实时映射生成可靠的感知图,因为基于学习的特征点更具可重复性和均匀分布性。此外,这些局部特征可以用作神经对应网络的输入,以消除异常值,从而使姿态估计变得更加准确。另一方面,由于资源有限,无人机上的SLAM经常对计算构成限制。在这种情况下,基于特征的SLAM更相关,因为提取的兴趣点可以稍后用于与分割和对象检测相关的任务。

因此,提取特征点的方法在SLAM中起着关键作用。我们引入了一种名为SupSLAM的视觉惯性SLAM方法,该方法基于一种称为超级点的新特征点的使用。这些特征点通过深度神经网络从SLAM前端的输入图像中提取的。我们的SLAM前端只需要一个带有IMU作为输入的立体摄像头。姿态估计由多状态约束卡尔曼滤波器(MSCKF)进行,而轨迹可靠性则由后端运行的图形优化过程维护。

01 系统架构

图1 中显示了表示我们的SLAM系统的图表。该系统使用立体摄像头作为输入来提取环境特征。该相机配有IMU,用于测量线性加速度和角速度。然后通过前端和后端模块处理来自输入设备的数据。

一种强大的视觉惯性SLAM系统SupSLAM_特征点

图1 系统概述

前端从输入数据中提取特征点,然后在左右摄像头之间匹配它们以获取深度信息。然后将这些信息提供给多态约束MSCKF,以估计无人机的3D姿态。另一方面,后端跟踪关键帧中的要素,以执行映射一致性和轨迹估计的循环闭包过程。因此,前端表现为视觉惯性里程计(VIO),以提供无人机姿势的实时估计,而后端则跟踪并随时间调整姿势。

02  SLAM 中数据关联的超级点

SuperPoint是一个完全卷积的神经网络,它在单个正向传递和运行中计算2D特征点位置和描述符。在我们的工作中,我们只考虑特征点,以降低计算成本并保持匹配结果的一致性。所用超级点的体系结构如图 2所示。

一种强大的视觉惯性SLAM系统SupSLAM_数据_02

图2 超级点的模型架构

03  实验设置

实验数据是从框架尺寸为40cm x40cm的四轴飞行器中收集的。IMU更新速率为200 Hz。立体相机的基线为7厘米,分辨率为752x480,速度为每秒20帧。SLAM系统在C++中使用OpenVINS框架实现。OpenCV和库用于图像处理。为了实时性能,要跟踪的视觉特征数限制为400个,当活动点数降至300以下时,将添加新的特征点。预训练的深度神经网络用于以752x480的分辨率从输入图像中提取特征。MSCKF中的时间窗口设置为3秒。在后端,每隔1.2米向姿势图添加新的关键帧。

04  数据准备

真实数据和合成数据都用于实验。真实数据包括EuRoC数据集中名为MH3,MH4和MH5的三个最复杂的序列,其中无人机沿着机房飞行。合成数据包括两个场景,分别代表一个农村农场和一个城市地区,这些场景是由我们从AirSim开发的工具集生成的,如图3所示。

一种强大的视觉惯性SLAM系统SupSLAM_数据_03

图3 用于实验的农村农场和城市地区的综合场景

05  评价指标

我们使用两个指标进行性能评估,包括绝对轨迹误差(ATE)和相对轨迹误差(RTE)。计算ATE的方法是首先将估计的轨迹与地面实况对齐,然后测量它们之间的差异,如图4a所示。RTE的计算方法是将估计的轨迹划分为段dk然后将每个线段与地面实况轨迹对齐,以计算误差,如图4b所示。

一种强大的视觉惯性SLAM系统SupSLAM_无人机_04

图4 评估指标的图示(a) 绝对轨迹误差和(b) 相对轨迹误差

06  SLAM结果

图5 显示了SuperPoint在三个场景中检测到的特征点,包括城市地区、农村农场和机房,具有两种不同的设置,即100个和400个特征点。可以看出,角落,边缘,颜色变化等特征被很好地检测到。此外,检测到的特征分布在图像中,因此算法对某些对象的依赖性较小。

一种强大的视觉惯性SLAM系统SupSLAM_无人机_05

图5 超级点检测到的特征点

图6显示了检测到的特征点在左右图像之间的对应关系。可以看出,大多数特征点都正确匹配,这意味着提取的深度信息是可靠的。

一种强大的视觉惯性SLAM系统SupSLAM_无人机_06

图6 超级点检测到的特征点

在不同时间捕获的两个图像帧之间的特征点的跟踪Δt=0.3s如图7a 所示。由于检测到的特征点分布在图像中,因此帧之间的共同特征点的数量得到了很好的维护,这对于稳定的SLAM非常重要。

一种强大的视觉惯性SLAM系统SupSLAM_特征点_07

图7 使用时差捕获(a) FAST和(b)两帧中的超级点的跟踪结果Δt=0.3s

图 8 显示了LoopF数据集的SLAM结果,其中无人机在农村农场上空飞行两轮。可以看出,最终估计的轨迹(红线)即使在近500米的长距离上也能很好地跟踪地面实况轨迹(黄线)。

一种强大的视觉惯性SLAM系统SupSLAM_特征点_08

图8LoopF数据集的无人机轨迹包括地面实况轨迹(黄线)、前端估计(绿线)和后端估计(红线)

07  结果比较

为了进一步评估我们方法的性能,我们与OpenVINS 进行了比较,OpenVINS是一种最先进的SLAM系统,使用FAST进行特征提取。图9显示了FAST检测到的特征点。与SuperPoint不同,这些特征点集中在某些对象(如植物、房屋或机器)周围。因此,当物体移出场景时,不同时间拍摄的图像帧之间的共同特征点数量显着减少,如图7b所示。这个问题反过来又会影响SLAM的结果。

一种强大的视觉惯性SLAM系统SupSLAM_数据_09

图9 FAST检测到的特征点

为了评估SupSLAM的性能,我们进行了许多实验,并与真实和合成数据集进行了比较。结果验证了我们提出的无人机系统的有效性和有效性。

源自:2021 8th NAFOSTED Conference on Information and Computer Science (NICS)