- 论文标题:
Ground and Aerial Collaborative Mapping in Urban Environments - 发表期刊/会议:
RAL 2021 - 下载地址:
https://www.sci-hub.ren - 代码地址
无
目录
个人理解
提出问题
- 针对卫星拒止场景中定位困难问题
- 针对同质(homogeneous)平台建图后不适用于异质(heterogeneous)平台的问题(详见图一) (或者说是为了构建更加完整的地图)
解决问题
作者使用空地协同的方法构建完整的3D地图,以实现导航功能。
文中使用了相机和激光雷达两种传感器。
阅读前知识准备
1.SFM
SFM区别于SLAM的是,SLAM要求视频序列是连续的(时间序列),而SFM则只需要混乱的序列即可(这也就意味着,有了更多的先验信息,计算过程可以大大的简化)。SFM重建的点云更加稠密,但速度也更慢。
通过求解m个摄像机投影矩阵(运动 motion)得到n个三维点的坐标(结构 structure),就叫做运动恢复结构(SFM)。
计算机视觉(本科) 北京邮电大学 鲁鹏 清晰完整合集——P16
13.运动恢复结构
2.什么是tightly-coupled(紧耦合)?
按照 Davide Scaramuzza 的分类方法,首先分成 filter-based(基于滤波)和 optimization-based(基于优化)的两个大类,这也和一般 SLAM 系统的分类方法类似。
按照是否把图像特征信息加入状态向量来进行分类,可以分为松耦合 (loosely-coupled) 和紧耦合 (tightly-coupled) 。
这是两种独立的分类方法,首先看是基于滤波还是优化的,然后进一步根据状态向量中是否加入了图像的特征信息来判断松紧耦合。
松耦合的工作不多,而且效果显然是没有紧耦合好,紧耦合中比较经典的是 OKVIS,前端基于 BRISK 算法,后端基于滑动窗口的优化,支持单目和双目视觉。
OKVIS 的算法流程是通过 IMU 测量值对当前状态做预测,根据预测进行特征提取和特征匹配,3D 点特征和二维图像特征构成优化中重投影,同时预测的 IMU 的状态量和优化的参数之间构成 IMU 测量误差,这两项误差放在一起做优化。
小觅智能 | OKVIS 学习笔记(持续更新中)
3.什么是inverse depth?
逆深度(Inverse depth)是近年来SLAM研究中出现的一种广泛使用的参数化技巧。在极线搜索和块匹配中,我们假设深度值满足高斯分布。然而仔细想想会发现,在一些室外应用中,可能存在距离非常远,乃至无穷远处的点。我们难以通过高斯分布描述他们,
同时在Bundle Ajustment中,参数空间通常呈现出高维度、非线性的特点。其中对于3D特征点的优化占据了大量的运算量。然而当特征点的距离很远时,该特征点带来的误差就会很大,代价函数需要对该特征点进行较大幅度的调整才能进一步降低代价函数。
于是,逆深度应运而生。人们在仿真中发现,假设深度的倒数(也就是逆深度),为高斯分布是比较有效的。随后,在实际应用中,逆深度也具有更好的数值稳定性,从而逐渐成为一种通用的技巧。
SLAM—逆深度
论文——Inverse Depth Parametrization for Monocular SLAM
4.什么是huber norm?
huber norm,还是要结合这篇知乎文章给出的正则项损失来理解更好,下面给出相关部分的截图。
啥是DTAM:DenseTracking&Mapping
5.什么是warp?
warp,这个操作本身可以理解为扭曲,变型,变换;其实就是一种数学运算,是一种统称。
对于计算机视觉有欧式变换、相似变换、仿射变换等,均可以叫做warp。
计算机视觉里warp是一种什么操作,现在主要用在哪里?
6.什么是voxel?
voxel,体素。相当于3D空间中的像素。我们的世界某种意义上也可以说是由类似体素的东西构成的,只不过构成物体的原子更小,所以理论上体素可以说是完美的建模技术。
体素(voxel)简介
13.10 体素(Voxels)
7.什么是pose graph?
pose graph,位姿图。pose graph就是没有point只有pose的优化。
单看书的话确实不好理解。但是结合实际看一些开源方案的源代码就好理解了。
以ORB-SLAM中的位姿图优化为例。首先位姿图优化发生在回环的时候。这个时候,受到回环影响的关键帧就有两个位姿:一个是回环前带有漂移的位姿,一个是回环后将这个漂移消去的位姿。
抛开它构建essential graph这些过程,ORB-SLAM在位姿图优化的时候,把回环前带有漂移的位姿作为了初值,但利用回环后的位姿计算了帧间的相对位姿作为约束,也就是测量值,来进行优化。
位姿图(Pose Graph)优化的测量值是什么?
刚刚接触机器人导航,请问SLAM中的,pose graph优化具体指的是什么?
深入理解图优化与g2o:图优化篇
8.什么是session?
session,“会话”,其实就是子地图,或者序列,这样理解即可。
我就直接将multi-session翻译为多段、多地图比较直观理解的名词了。
【ORB-SLAM3论文翻译】ORB-SLAM3:一个精确的视觉、视觉惯性和多地图SLAM的开源库(注:带着原文看,很多公式和变量不好输入)
摘要
由无人地面车辆(ugv)和无人机(uav)组成的异构多机器人系统在效率和灵活性方面优于单机器人系统,可以执行更大范围的任务。为了允许异构平台在卫星拒止的场景中协同工作,构建完整的环境3D地图至关重要。本文提出了一种利用相机和三维激光雷达传感器采集的视觉和距离数据进行地面和空中协同建图的新方法。在该系统中,一个考虑点、线和平面约束的视觉-激光雷达自我运动估计模块可以提供鲁棒的测程信息。生成代表障碍轮廓的缩略图,并使用神经网络提取描述符,以帮助在不同的跑步之间执行数据关联。在位姿图优化过程中,将地图段和机器人位姿组织在一起并更新。与其他方法相比,本文提出的地面-航空协同建图方法在合成数据集和真实数据集上都得到了评估。实验结果表明,该方法能取得较好的映射效果。
一 引言
与单机器人系统相比,由空中和地面机器人组成的异构机器人系统具有许多潜在的优势,在完成大规模环境中的探索和救援等复杂任务时,可以提高效率、可靠性和灵活性。当无人驾驶系统试图执行特定任务或在环境中成功导航时,有关环境的信息是必要的。SLAM技术(SLAM)可用于提供环境信息。在SLAM问题中,对机器人的自我运动进行估计,恢复环境信息。然而,当涉及到异构机器人团队场景时,这个问题更具挑战性。多机器人系统中的机器人为了相互协作,不仅需要知道自己的状态,还需要知道在同一参考系统下代表的其他机器人的定位结果、障碍物检测结果等感知信息。在卫星拒止环境中,这一要求将难以满足。幸运的是,如果我们能够构建一个3D地图,机器人的姿态和障碍位置就可以在一个共同的地图框架下表示,并被机器人团队的每个成员所利用。解决这个问题的一个方法是部署多个机器人进行SLAM。
请注意,同质化平台构建的地图的感知范围有限,地面地图可以覆盖近地面的大部分区域,但较高位置的信息仍然未知。如果不了解飞行环境,地面地图就不能被无人机直接使用。在这种情况下,地面和空中协同建图系统有助于有效地构建完整和一致的环境三维地图。地面-空中协同建图问题如图1所示
近年来,人们对地空地图重建进行了大量的研究。根据所使用的传感器,现有方法主要分为两大类[2]:基于图像的方法和基于激光雷达的方法。
基于图像的方法将地面-航空协同建图任务视为一种图像特征匹配问题,在基于结构-运动(SfM)或视觉SLAM系统中得到了广泛的应用。在这些方法中,[3]-[5]分别提取和匹配图像间的特征来估计相机的姿态,并利用多视点立体视觉技术来恢复图像的深度信息。使用表面重建技术[6]、[7],以相机位姿和深度点云为输入,生成密集的三维地图表示。由于地面和空中机器人采集的图像在视点和尺度上存在较大差异,地面图像匹配可能不直接。(这就是难点)Zhou等人[8]提出了一种尺度不变的图像匹配方法来解决视图的大尺度变化问题。特征匹配首先在尺度空间中确定相关尺度级别,然后同时考虑图像相似性度量和特征对应。还有一些工作是根据地面图像的深度图[9]直接对地面图像进行扭曲,或者将地面模型投影到航空相机的投影矩阵[10]下,然后将合成图像与航空图像进行特征匹配,从而从空中视点生成合成图像。
基于激光雷达的方法是对点云数据进行相关操作,其主要思想是对地面和空中点云进行对齐。由于激光雷达收集的点云比SfM系统恢复的点云更精确,因此可以直接将合并的点云呈现为全局地图。在遥感领域,一些方法从地面和空中激光云中提取建筑物轮廓的特征线[11]、[12]或角点[13],并利用这些特征对应来估计两点云之间的旋转平移。除了建筑轮廓,特征也可以从生点云提取。Zhang等人将激光雷达SLAM之前的工作[14]扩展为协同建图框架。从每次扫描中提取边缘上的点和平面上的点,然后将其作为对应点。Surmann等人[16]提出利用平面段进行配准。Gawel等人提出了一种关键点描述符匹配算法来进行配准。也有依赖全球定位系统(GPS)参考或人类辅助的方法,如预处理阶段[18],[19]的公共点选择。
在这篇论文中,我们提出了一个集成了地空点云配准算法和基于姿态图的协作SLAM的协同建图系统。它允许在不需要GPS或地理标记数据库的情况下,为异构机器人团队进行地面和空中、多路的协同建图。提出的系统包括以下特点:
- 提出了一种用于定位的紧耦合的视觉-激光雷达里程计方法。该算法利用快速深度补全算法帮助地标点初始化,并在优化过程中考虑点、线、面约束。
- 从遥感领域提取和匹配建筑物轮廓的思想中得到启发,提出了一种回环检测方法。生成代表子地图中障碍轮廓的缩略图,以帮助数据关联。
二 提出的方法
该方法的体系结构如图2所示,其中矩形表示框架的关键模块。在本节中,将详细描述关键组件。
A.传感器配置
我们的地面和空中平台使用的传感器配置如图3(a)所示。激光雷达和图像数据是时间同步的,两个传感器提前进行了标定。对齐结果如图3(b)所示。
B.紧耦合视觉-激光雷达里程计
为了建立环境的点云地图,根据激光雷达相应的姿态,将点云缝合在一起。
在没有GPS信息的情况下,需要估计传感器的位置,因此,提出的地-空协同建图pipeline以紧耦合的视觉-激光雷达里程计模块开始工作。该模块接收来自激光雷达传感器和单目相机的输入,并提供满足点、线和平面约束的里程估计。通过将单目相机和激光雷达传感器相结合进行自我运动估计,里程测量模块在重复纹理或平面主控区域(这里的意思是指,以平面表面为主的环境,例如马路等)等退化场景下具有鲁棒的,而这对于纯视觉和纯LiDAR方法都是非常具有挑战性的。
对每个入射图像I_k,采用KLT稀疏光流算法[20]对图像特征进行检测和跟踪。设F_k表示从时刻k的图像帧中提取的所有特征点,特征点参数为深度逆λ,像素坐标u =[u, v]T。设fi k表示在F_k中的第i个特征。对于incomingLiDARscans,让LPk表示LiDAR帧l下在k时刻获取的点云。为了简单起见,默认情况下会使用提前标定好的参数将LiDAR点转换到相机帧,因此左上角将被忽略(即点云的帧数)。为了用这些输入数据估计自我运动,下一步是寻找帧到帧的约束。
注意,深度值对于刚开始提取的特征点是不可用的,我们建议从使用对齐的LiDAR扫描生成的深度图像中提取深度值,这样就不需要再进行最近的搜索。近年来,出现了[21]-[23]方法用于深度补全或单图像深度预测。在本文中,我们实现了[21]的修改版本,以生成用于视觉地标初始化的深度图。它是快速和准确的,可以运行在近100赫兹。具体细节见算法1流程图,利用图4所示的核函数对16波束激光雷达采集的稀疏点云数据进行处理。给定激光雷达扫描P_k,根据相机特性将其投影到像面上,得到稀疏深度图像D_s,其像素与单眼图像i对应,然后利用算法1生成密集深度图像D_k。图5中给出了算法1关键步骤的算例结果。对于F_k中的每个fi k,如果Dk上对应的像素有一个有效的深度值,那么fi k将用反深度初始化,否则,它将继续被跟踪并等待一个有效的深度观测。具有有效深度的特征f可以被反投影到3D点X =[X, y, z]T。由于每个特征都是由精确的LiDAR扫描直接生成的,而不是使用先前估计的运动进行三角化,因此它们可以在初始化后对运动估计做出贡献。
在预处理阶段,根据计算的局部曲率提取边缘点ε和平面点P。这些特征点按照激光雷达SLAM系统[15]、[24]中常用的策略进行维护和逐帧匹配。设Rk−1 k∈SO(3)和tk−1 k∈R3分别是第k−1帧和第k帧之间的刚性旋转和平移。在时间k−1时,3D点X_k可以被变形为摄像机帧中的X¯k:
变形后的边缘点和平面点的集合分别用¯e和¯P表示。对于每一个在ε中的点E_k,相邻线之间的距离由两个最近的点的距离确定,记为dE(¯Ek)。对于P¯k中的每个P¯k点,相邻面之间的距离由三个最近的点的距离确定,记为dP(¯k)。dE(¯Ek)和dP(¯Pk)的定义可参考[15]和[24]。初始化的特征点集,其深度值在k时刻仍然可用,记作F¯k。
两幅同步图像- lidar帧之间的相对位姿可以通过求解以下非线性最小二乘问题来估计:
其中ρ是Huber范数[25]。为了让点残差具有与激光雷达边缘和平面约束相同的度量(以米为单位),视觉点约束被定义为点对光线误差dR(¯Xi k,Xi k−1),而不是通常使用的重投影误差。图6给出了一个直观的说明。式(2)中只考虑同步的图像-LiDAR对。由于图像数据通常具有较高的帧率,因此与LiDAR数据未对齐的图像仅用于高频位姿传播。视觉特征的逆深度λ通过固定延迟优化进行更新。利用Ceres求解器[26]求解非线性问题(2)。
C.分部管理
分部管理模块负责局部地图的构建和pose图的维护。该模块的数据结构如图7所示:将激光雷达点云和传感器poses组织成子图,每个子图包含一个pose图段和一个局部点云图。位图段由节点和边组成,其中第一个插入的pose node被标记为基节点。
在基节点框架表示下,地图点数据被分为边缘地图和平面地图。地图点被存储为voxels以便快速访问。对于第k帧的每个传入数据对,我们首先使用估计的相对姿态将点云转换到本地地图帧中,然后通过最小化从Ek中的每个Ek和Pk中的Pk到分别从Em和Pm提取的最近的线和平面的距离,每5帧执行一次扫描以映射配准,以细化当前姿态估计。有关此扫描到地图匹配过程的详细描述,请参见[15]。细化后,将相对姿态和当前估计的地图帧姿态分别作为边和节点添加到姿态图中。尽管精细的姿态估计和重建的局部地图已经具有高精度,但误差随着时间的推移而累积,并且可能导致重叠区域中的地图失真和不一致。如果我们只构建一个全局地图,点云数据会逐帧融合到地图中,直到最后,很难调整合并后的地图。一种可能的解决方案是将每次扫描存储在缓冲区中,并在优化后传感器姿态发生变化时重建整个地图。
但是,存储所有原始数据并在每个优化步骤之后重建映射并不适合长时间运行的情况。该系统在假设重构后的地图具有较高的局部质量的基础上,将整个地图分割成若干段。可以通过对子地图进行刚性转换来调整全局地图。由于地图点在每个子地图的相应基础框架下表示,一旦基础框架姿态被更新,地图点也要进行更新。当到基本帧的距离达到一个阈值时,就会创建一个新的子地图。如果阈值太小或太大,会导致局部地图拷贝过多,或失去地图调整的灵活性。极端的情况是每帧都创建新的子地图,或者一直使用相同的地图。该系统中使用的阈值为25米。第一帧被设置为新子地图中的基帧。
D.回环检测
回环检测模块的目标是从其他机器人或自身访问过的地方识别当前的位置,并建立数据关联。其主要思想是找到一个评价数据相似性的指标。在地空协同建图系统中,回环检测可分为同质和异质两个子问题。同质回环检测利用具有相同硬件配置的平台收集的数据进行位置识别。用于单机器人回环检测的算法[27]-[29]也可以应用于同质平台场景。对异质平台采集的数据进行回环检测是一项非常具有挑战性的工作。地面和航拍图像在视点和尺寸上存在较大偏差,特别是当航拍相机朝下安装时。因此,基于图像的回环检测方法不适用于异质场景。
在本文中,提出了一种处理同构和异构场景的回环检测方法。受遥感领域建筑物轮廓匹配方法[11]-[13]的启发,利用障碍物(建筑物和树木)轮廓来帮助回环检测。在这里,我们假设建筑的轮廓不会随高度发生很大的变化(也就是,假设地面和空中机器人看到的建筑的轮廓的一样的,即我们常见的宿舍楼)。由于单一图像或激光雷达扫描只能捕捉到障碍物轮廓的有限信息,不足以进行位置识别,因此采用子地图点云提取障碍物轮廓。这些轮廓首先通过四个步骤来生成子地图的缩略图:
- 首先,利用RANSAC[30]算法估计地平面法线np =[nx,ny,nz]T。
- 其次,过滤出与已提取的3D平面P_map平行的曲面,然后使用估计的平面法线np将剩余的点云投影到Pmap上。
- 第三,平面法线np与Z坐标对齐,从而将Pmap上的投影点Cmap转换为X - Y平面上的C¯map。
- 最后,可以通过简单地将C¯map中每个点的X - Y坐标映射到特定分辨率的像素坐标来生成缩略图Bmap。由于大多数屋顶或地面点已经被剔除,Bmap上的有效像素提供了障碍物轮廓的信息。每40帧生成一幅缩略图,每幅图覆盖50 m× 50 m的区域。
图8给出了一些生成的缩略图的例子。
生成缩略图后,使用NetVLAD[29]计算压缩描述符,这些描述符稍后将用于图像查询。在环路检测中还考虑了几何一致性: - 首先,将现有子图的基节点位姿保持在k - d树结构中,只选择k个最近的子图进行相似性检验;
- 然后,使用NDT[31]算法估计每对缩略点云Cmap之间的刚性转换,并使用匹配分数进行粗离群点剔除。
- 最后,将NDT估计的变换与子图基的距离进行比较,从而剔除了可能带来较大偏差的候选环路。一旦检测到两个子图之间的环路,通过使用广义迭代最近点(GICP)[32]算法计算两个子图点云之间的相对变换来计算两个基本帧之间的相对位姿。然后将相对位姿作为约束边添加到位姿图中。
E.地和空位姿图优化
设T = {α, β, γ,···}为所有地图序列的集合,nα表示序列α中位姿估计的个数。(tαi =[R αi tαi 01]∈SE(3), R αi∈SO(3), tα R3表示会话α在帧i的估计机器人位姿,而qαi表示R αi的四元数表示。setofall位姿估计表示为x。给定会话β的第j帧和会话α的第i帧之间的相对位姿测量,位姿图边缘上的残差可以为
设L表示所有环闭边的集合,从(L)到(L)表示L所连接的两个位姿图节点。设sβ表示会话β中子图的个数,base β(i)表示会话β中子图i的基位图节点。位姿图优化(PGO)问题可以表示为:
其中考虑了里程计、环闭合以及子地图连续性约束,确保位姿和子地图平滑连接。ρ是Huber范数。图9给出了位姿图优化问题的直观说明。一旦优化问题得到解决,地面和空中飞行器的坐标就统一了,从而可以将不同时段的地图数据进行集成。
最后,对于每个空中子地图,可以通过选择最近的地面neighbour和空中neighbour来执行可选的全局细化,并使用全局姿态作为初始值来执行GICP修正。匹配分数低的子地图对也被添加为位姿图边缘。在我们的实现中,位姿图优化问题是通过Ceres求解器[26]解决的。
三 实验结果
在本节中,本文所提系统的每个模块都将在真实世界或合成数据集下从实验角度进行评估。
在现实实验中,如图10所示,采用一辆DJI matrix600 Pro和一辆车辆作为搭载II-A节所述传感器模块的数据采集平台。对于空中和地面平台,传感器的方向分别调整为45◦向下和0◦向前。空中平台的飞行高度约为40米。采用GPS-IMU数据作为轨迹评估的真值(ground truth)。
为了丰富异构数据集,还会生成模拟真实世界数据的合成数据。模拟传感器与实际配置一致。模拟无人机沿着预先设定的路径在三维城市模型中行进并捕捉传感器数据。城市模型是使用Blender生成的。为了简单起见,模拟的地面车辆没有使用额外的模型,因为地面数据可以通过控制无人机在地面附近飞行来获得。
在本节中,评估了在里程计模块中引入视觉约束的必要性。此外,本文还将提出的环路检测方法与最近使用RGB图像的解决方案进行了比较。此外,还对整个协同建图pipeline进行了评价。所有采集到的数据都是在Intel i9-9900 K 3.6 GHz CPU、NVIDIA GeForce RTX 2080 Ti GPU、64gb内存的同一系统上处理的。
A 里程计结果评价
提出的紧耦合视觉-激光雷达里程计模块需要时间同步的RGB图像和激光雷达扫描作为输入。实验采集了7个数据序列,其中包括1920 × 1200分辨率20 HzRGB图像数据、10 Hz LiDAR点云数据和200 Hz GPS-IMU数据。在校园内采集7条序列,其中地面序列4条,空中序列3条,移动距离234米至530米。具有挑战性的场景如重复纹理(Ground 2和Ground 4)和开放环境(Aerial 1)如图11所示。采用GPS-IMU数据作为轨迹评估的ground truth。
我们使用evo包[33]进行里程计评估。实验采用了绝对位姿误差(APE)和相对位姿误差(RPE)两个定量指标。
在APE测试中,将转换部分(以m为单位)中估计出的位姿Pest的与ground truth位姿 Pgt进行比较:
在RPE测试中,将旋转部分(以度为单位)中估计的位姿Pest和ground truth位姿 Pgt进行了比较:
每米测量一次RPE。比较了另外三种测程方法,分别是基于激光雷达的LOAM[15]和LeGO-LOAM[24]法,以及基于视觉的ORB-SLAM2 (mono)[34]法。这些方法中的环路检测模块被禁用,仅用于里程比较。由于所估计的轨迹和gps数据是在不同的坐标下表示的,而在单目ORB-SLAM2中尺度是未知的,因此轨迹坐标和尺度在轨迹评估之前是对齐的。
实验结果如表1所示,其中列出了均方根误差(root-mean square-error)数据,粗体表示结果最好。实验结果表明,提出的视觉-激光雷达里程计模块在APE测试中平均优于纯视觉或纯激光雷达的方法,在空中测试中APE和RPE测试结果也是最好。纯视觉ORB-SLAM2方法在地面2测试中获得了最大的APE成绩,而在地面4测试中由于重复的纹理和快速移动而失败。LOAM 和 LeGO-LOAM方法在地面测试中表现良好,但在空中情况下无法提供可靠的位姿估计结果。第3空中场景的视觉结果如图11所示。可以看出,在里程计模块中同时考虑视觉和激光雷达的约束,可以显著提高位姿估计的鲁棒性和整体精度,特别是在空中情况下。本文所提出的方法,为地面和空中平台提供了一种有效的视觉-激光雷达里程计模块方案,有利于地面-空中协同建图场景的应用。
B.地面和空中回环检测方法评价
为了定量地评估所提出的回环检测方法的性能,我们需要更多的环路数据。对于同构的情况,一个可能的解决方案是通过轨迹本身来扩展数据集,这样所有的帧都可以被视为候选回环[35]。对于异构的情况下,地面和航拍数据应该有足够的轨迹重叠,这样才能理想地在各个地方检测到环路,并能获得区分不同场景的能力。在仿真环境下生成这些数据具有更大的灵活性,因此实验中使用的是合成数据集。在仿真中,空、地两种飞行器的规划轨迹除飞行高度外基本相同,空、地数据分别通过控制飞行高度的高低来获得。轨迹的可视化图如图12所示。采集的数据由752 × 480分辨率的10HzRGB图像和10 Hz激光雷达点云组成。
使用提出的环路检测方案对收集的数据进行处理。如第II-D节所述,生成缩略图图像,然后计算紧凑描述符h。用紧致描述子的距离来度量两帧i和j的相似度:
如果距离很小,则认为两帧是相似的。将第i帧与所有候选帧进行比较后,将所有分数除以相对于第i帧的最大响应,得到归一化数值:
因此,通过计算每个地空数据帧对的d_f,就可以得到地空数据的差分矩阵D。为了减少场景模糊的影响,通过删除差分矩阵D特征值中5个最大的[35],[36]来降低差分矩阵的秩。采用降秩后的差分矩阵D_r检测候选回环。构造了两个差分矩阵。第一个是使用直接在捕获的RGB图像上计算的图像描述符生成的。第二个是使用在第II-D节中描述的子映射缩略图上计算的图像描述符生成的。这两个矩阵的视觉比较和它们的秩简化形式如图13所示。
由于地面和空中平台行驶的轨迹,但高度不同,因此理想情况下应该始终检测跨平台闭环,且差分矩阵的对角线上的值应该较小。由图13(b)可以看出,本文方法生成的差分矩阵具有更明显的对角线像素,说明本文环路检测方法优于从地面和空中异构数据中识别相似场景。
为了更好地评估跨平台的回环检测性能,我们将两个已经减少秩的矩阵中的所有可能值作为判别阈值,并将长度为3的窗口内的相邻帧作为ground truth环路。得到的P-R (precision-recall)曲线如图14所示。同时也对原始RGB图像数据使用DBoW3[27]方法生成P-R结果,以便进行比较。此外,在生成缩略图图像时,对于生成得不好的缩略图可以通过在方向或平移上添加高斯噪声来再次生成。可以看出,当召回率在40%左右时,所提方法的准确率在80%左右。即使添加了噪声,通过略微牺牲召回率,仍然可以达到相同的精度水平。相比之下,RGB-NetVLAD/ RGB-DBoW3方法的精度与本文所提算法相比分别低20%/10%。80%的精确度和大约40%的召回率对于地面和空中协同建图问题是有效的,因为使用II-D节中描述的几何形状和配准验证将进一步缩小候选回环。一旦找到一个环路,就可以通过位姿图优化来消除跨平台的坐标偏差。注意,本文提出的方法对航向变化更加敏感,因此在实践中需要仔细设计轨迹,使不同的机器人在轨迹重叠时具有相似的方向。这也意味着这是一个可以优化改进的思路
C.完整系统的评估
在对关键模块进行评估后,以一个实际的地面-空中协同建图问题验证了所提系统方法的有效性。实验中采用了III-A部分的5个数据序列(Ground 1-3, Aerial 1-2)进行异构协同建图测试。图15显示了协同建图结果,其中不同session的映射呈现为不同的颜色。利用本文提出的协同建图方法,可以成功地融合地面和航拍地图,生成的地图细节丰富,与真实场景一致。
通过比较优化前后估计的传感器位姿来进行数量评估。如表二所示,虽然不是所有的机器人都能从优化中获益,但是整体的系统误差降低了。这是意料之中的,因为当连接不同sessions 的姿态图时,漂移较小的sessions 会吸收其他会话的错误,导致会话错误的增加。关键操作的时间成本见表三。表四列出了五个会话之间的循环统计,完整的映射过程在我们的补充视频中显示。
四 结论
本文介绍了一种基于slam的地面和空中协同建图系统。它包括三个主要部分:
- 视觉激光雷达里程计模块提供鲁棒的和准确的姿态估计;
- 回环检测模块处理跨平台、大视点差(例如空中、地面,这种视角差距较大的情况)数据关联问题;
- 子地图管理模块有效地将位姿图和点云段组织在一起,并提供合并的环境地图。
实际和综合实验表明,该协同方法能有效解决地空异构成图问题,并能提供高质量的成图结果。
在未来的工作中,该系统将通过简化地图表示和减少多个sessions之间数据共享所需的带宽来进一步优化。此外,里程计模块将考虑IMU约束,以进一步提高姿态估计的鲁棒性和准确性。本文提出的回环检测方法未来可以进行进一步的改进,以处理较大的航向偏差。