实时语义SLAM:激光+IMU+GPS/MAV

这项工作中,提出了一种利用语义来全局实时定位机器人方法,这种方法仅使用以自身为中心的三维语义标记的LiDAR、IMU以及从卫星或空中机器人获得的自顶向下的RGB图像即可完成。此外,在运行时,我们的方法构建了一个全局配准的环境语义地图。

01  介绍

定位是移动机器人的一个基本问题。从自动驾驶汽车[1]到探索型微型飞行器(MAV)[2],机器人需要知道自己在哪里。这个问题对于多机器人系统来说更具有挑战性。在这种环境下,有效的协作通常假设共享对全局地图的理解[3],而且也需要考虑到每个智能体所拥有的独特信息,这是一个重要的内容。

该问题最常见的解决方案是GPS[4]或设置的初始配置[5]。然而,GPS通常不可靠或不可用,基于初始配置统一构建地图的方法容易随时间推移而漂移,并且对初始对准中的小误差很敏感。其他还有使用视觉惯性里程计增强机器人-机器人检测的方案[6],将机器人定位在共同的移动框架[7]内,但如果机器人不在彼此的视野内或距离太远,这类方法就会失败。

为了鼓励自然收敛,我们还用距离起始位置的倒数来缩放\\sum_s 。一旦位姿中的尺度方差下降到阈值以下,我们就修正。

3)测量模型

我们的测量值z是一个语义点云,我们可以将其表示为具有相关标签的机器人框架的点位置列表:z=\\{(p_1,l_1),(p_2,l_2),...,(p_n,l_n)\\}。然后我们可以将这些点投影到地平面上。此外,对于任何给定的粒子状态,我们可以在自顶向下的空间地图L中查询机器人框架中任何点的期望类。然后,计算具有姿势d的特定粒子的成本的简单方法是:

为了通过扩大局部最小值来提高收敛性,我们选择了一个价值函数。我们不是以二分法评估成本,而是惩罚特定类别的点与航空地图上同一类别的最近点之间的(阈值)距离。然后价值函数为

最后,我们通过倒置C和归一化来计算ad-hoc概率。我们还引入了每类加权因子\\alpha _l 。即,

其中γ是引入慢收敛的正则化常数。所有粒子的概率最终被归一化,使得它们在所有粒子上的总和为1。我们注意到,这是一种特殊的度量,在实践中,常数通过实验来调整。然而,这对于基于蒙特卡洛的定位方法(如[29])来说并不罕见。

4)性能优化

简单地实现,方程3的计算成本很高,因为它相当于对一系列(非凸)最小化的结果求和。我们通过预计算航空语义图的TDF来优化这一点。计算的实现很简单,大约需要一分钟,但每个地图只需要执行一次。该映射编码从每个点到该类最近点的阈值距离,将等式3的最小化转化为简单的固定时间查找。此外,我们不是对所有点求和,而是首先将语义LiDAR扫描离散化为极性片段,并计算每个片段中每个类的点数。局部类TDF以相同的方式呈现。然后,我们可以通过对这两个图像的元素乘积求和来近似方程3,从而得到每个类的内积运算,这可以有效地执行。我们发现,对于100×25像素的极坐标图,每个粒子大约需要500µs的时间,几乎所有这些时间都用于查找极坐标TDF。该过程如图3所示。

图3:粒子权重计算的处理Pipeline

此外,在极坐标表示中旋转地图相当于索引移动,速度非常快,这是我们在初始化期间利用的一个事实。我们在地图道路上随机采样点,因为我们有很强的先验知识,知道我们正在开始一条道路。对于每一个点,我们初始化在s_{min}s_{max} 之间均匀变化比例的k_s 粒子(依据我们的实验,为1和10像素/米)。对于每个粒子,我们均匀地采样k_{\\theta} 可能的取向,这可以非常有效地利用折射率偏移来实现。我们选择最佳方向并将其用作初始粒子。

为了进一步加快我们的算法,我们在CPU内核上并行处理每个粒子的成本计算。我们还根据高斯混合模型(GMM)拟合粒子分布的协方差椭圆面积之和自适应地选择粒子数量。我们预计通过将粒子权重计算移动到GPU上可以获得较大的性能提高,但这将作为未来的工作。

3.2 语义分割

1) 卫星图像分割

我们训练了完全卷积网络(FCN)[33]的两个简单修改的版本,该网络具有在ImageNet上预训练的ResNet-34[34]主干,以分割卫星图像。图像直接从Google Earth获取。我们使用4个类别:道路、地形、植被和建筑。为了分析卫星图像,将256×256像素RGB图像作为输入传送到图像分割网络。该网络是在表1中数据集的三张手动标记的卫星图像上训练的。这些图像被随机缩放、旋转、裁剪和翻转,以生成更多的训练样本。卫星图像的随机缩放也允许模型更好地概括从多个高度收集的图像。我们网络的示例输出和训练数据如图5所示。尽管我们的模型仅在3幅图像上进行训练,但表现良好,这可能令人惊讶,但每幅图像都包含许多对象实例,此外,训练图像与测试图像来自同一城市,需要最小的泛化。

2) 扫描分割

我们使用图2中绿色框中显示的两个不同Pipeline,根据数据集生成语义点云。通过使用这些不同的分割方法进行测试,我们表明,如果最终输出是逐点标记的点云,我们的方法可以在不同的传感系统之间很好地扩展应用。

PC:对于KITTI数据集,我们使用与卫星分割相同的FCN结构(也是经过预处理的ImageNet),但对LiDAR扫描进行操作,该扫描表示为具有X、Y、Z和深度通道的2D极坐标网格图(64,2048)(我们不使用强度)。我们在SemanticKITTI上训练,使用{10}和{00;02; 09}作为验证和测试分割,剩余数据在训练分割中。我们还将额外的vehicle和Other类别添加到用于卫星分割的类别集合中,作为自上而下投影过程的一部分,将vehicle变换为road。

RGB:对于我们自己的Morgantown和UCity数据集,我们使用了与KITTI(Ouster OS-1)不同的LiDAR传感器,因此无法使用SemanticKITTI来训练数据。相反,我们使用在Cityscapes上训练的HRNets[13]对校准到LiDAR的RGB图像进行分割[35]。使用我们计算的外显性,我们可以将LiDAR点云投影到相机帧上,并为RGB分割中的每个点分配适当的类。

图4:UPSLAM为UCity数据集的一部分整合的深度、正常和语义全景图

3.3 建图

我们使用了[32]中描述的UPSLAM建图功能,但在此简要概述了我们的相关更改。UPSLAM使用迭代最近点(ICP)来估计LIDAR传感器的运动,并根据附加到关键帧的全景深度图的集合来表示整体几何结构,这些关键帧彼此连接以形成姿势图。对于这项工作,我们扩展了UPSLAM,另外集成从图像中提取的语义标签,以形成语义全景。值得注意的是,UPSLAM根本不使用扫描匹配的语义,它只是使用估计的刚体变换来集成语义信息。因此,因为我们不需要每次扫描的语义数据,所以我们可以以低于LiDAR的速度运行我们的推断,而无需删除ICP的数据,以提高地图质量。样本深度、正常和语义全景如图4所示。

除了对粒子过滤器运动模型使用UPSLAM自运动估计,我们还计算了每次更新时后验粒子过滤器估计的协方差和均值。一旦协方差下降到阈值\\sum _t 以下,我们使用相对于the overhead map的估计位置作为姿态图中的先验因子,将相应的全景锚定到全局图。最终生成的姿态图如图2所示。通过这种方式,我们允许图优化也基于全局定位对全局地图进行地理参考。我们的实验表明,添加这些语义边可以消除漂移,有效地在每个关键帧创建全局地图的语义回环包。这使建图功能能够处理更大的轨迹,而无需循环,同时保持全局一致。

04  评估数据集

我们首先在SemanticKITTI[17]上评估我们的系统,这是一个来自KITTI里程计基准[36]的LiDAR扫描的手动逐点标记数据集。在这项工作中,我们对里程数据集的00、02和09序列进行了测试。

除了SemanticKITTI,我们还在Philadelphia和Morgantown收集了自己的数据集,以便在更多样的环境中进行测试。这些数据集是使用Ouster OS-1-64激光雷达和4台PointGrey Flea3 RGB相机收集的。摄像头与Ouster硬件同步,并使用文献[37]中介绍的方法进行校准。表1概述了我们用于评估的数据集。我们还使用了一个额外的数据集ucity',它遵循与ucity相同的轨迹,但在几个月前就收集完成了。此外,我们还启动kitti2 50秒,kitti9 10秒,以避免UPSLAM在数据集开始时出现故障的区域。

表1:使用的实验数据集。PC标签指示是否对LiDAR(PC)或RGB图像(RGB)进行了推理。Sat.labeling指定自上而下的图像是手动标记还是网络标记。
表2:空中和激光雷达分割网络的联合上的每类交叉点。

05  结果

5.1 推理性能

我们首先评估了推理网络的性能,其结果如表2所示。对于LiDAR网络,测试集为KITTI 00、02和09。对于空中网络,模型在每个训练图像的3/4上进行训练;最后的1/4用于评估。我们注意到,这并不能很好地测试其他城市的通用性,但稳健的多城市航空分割不是本工作的重点。然而,我们强调,无论是在激光雷达扫描还是航空图像中,我们的定位器在分割数据中都能够很好地处理显著的真实噪声。

5.2 精准性

我们对KITTI 00、02和09进行了测试,通过对每个轨迹进行5次运行,既使用了主动尺度估计,也使用了固定的地面真实尺度。

图5:地图覆盖在KITTI数据集9、2和0的卫星图像上(从上到下)。还显示了自上而下的分段。数据集9和2由我们的卫星分割网络自动标记。

图6显示了自动检测到收敛后整个数据集的像素位置误差。为了方便运行,我们向系统提供了地面真实比例尺。除了kitti9之外,所有运行的所有参数都是固定的,对于kitti9,我们将角过程噪声增加了10倍,因为UPSLAM的估计值更高。平均误差分别为2.0、9.1和7.2米。对于后来的数据集,误差集中在几个局部区域,这些区域通常是UPSLAM困难的区域(通常在几何结构较少的树的隧道状区域中),因此运动先验没有那么准确。我们将这些结果与表3中的[20]和[29]进行了比较。通过结合更丰富的语义数据,我们能够在kitti0上以10倍的优势超过文献[29]。Kim等人[20]获得了与我们相当的定位精度,尽管使用了单个RGB相机而不是LiDAR,并且需要在卫星图像上的网格上预计算深度嵌入。

表3:采用各种方法的KITTI数据集的平均精度和收敛时间(显示为acc/conv)。N/A表示论文中未给出的数据。对于文献[20],仅给出数据集末尾的精度。

KITTI上的这些实验完全实时执行,包括分割、定位和建图,运行在AMD Ryzen 9 3900X CPU和NVidia GeForce RTX 2080 GPU上。这种级别的计算可以很容易地安装在车辆或中等大小的地面机器人上。我们还预计,通过进一步优化我们的方法,例如将粒子权重函数移动到GPU,我们可以在计算资源更加受限的平台上实时运行。

此外,我们在图7中对ucity和morg的结果进行了定性检测。我们注意到,通过将全局边缘合并到建图位姿图中,我们不仅能够在自顶向下的图像中全局定位机器人,还可以提高全局地图的一致性。在长循环过程中,UPSLAM本身由于漂移而无法找到回环,从而导致全局不一致的建图。从语义定位器中加入我们的全局边缘可以缓解这种漂移,使UPSLAM能够成功地找到回环。

图6:不同KITTI数据集的5次不同运行的误差,显示了标准偏差。显示会聚前行驶的时间和距离。
图7:覆盖在卫星图像上的morg和ucity语义图的俯视图和侧视图。左下角显示了在不使用语义定位的情况下构建的ucity。

5.3 收敛性

我们通过在整个数据集中以偶数间隔开始运行,对UCity、Morgantown和KITTI 0和2数据集进行收敛分析。我们不分析kitti9,因为它相对较短。我们将正确的收敛速度定义为检测到的收敛的分数,其中收敛后前20秒的平均误差小于10米。图8显示了正确收敛到整体检测收敛的频率。我们忽略粒子过滤器在运行结束前未收敛的运行,这发生在数据集中剩余时间小于收敛时间的开始时间。除固定比例情况下正则化项γ加倍外,所有运行均使用相同的参数。

图8:不同数据集的收敛鲁棒性和收敛时间,无论有无主动尺度估计。
图9:根据s_{est}=s_{true}正确收敛的运行的估计尺度分布

根据这些结果,我们得出结论,在估计尺度时,收敛更困难,这与我们所说的一致。我们在两种情况下使用相同数量的粒子,使得样品更可能收敛。ucity对于我们的系统来说显然是非常困难的,我们将其归因于环境更接近于一个统一的网格,其结构不那么独特,可以帮助定位。为了改进定位,我们在几个月前拍摄的相同轨迹(ucity)的数据集上运行定位器,并使用生成的地图细化原始卫星分割。这一过程的结果如图10所示。使用这一新的细化建图ucity ref,我们能够显著提高正确的收敛速度,这表明尽管先前的运行提前了几个月,但能够为建图添加有用的关联信息。Kim等人[20]和Yan等人[29]在表3中获得了差不多的时间,但无法估计尺度。对于kitti9,由于数据集较短,我们仅从开头就开始。注意,这些工作只计算从数据集开始的收敛时间,并且计算从不同点开始的平均时间。

图10:“ucity”的细化自上而下分割,未改变的部分显示为褪色。请注意卫星图像中未添加的在建建筑。

最后,图9中对我们系统的估计规模的分析表明,在大多数情况下,我们的方法可以在真实值的大约0.05倍内准确估计规模。

5.4 消融实验

注意到地图细化对于提高ucity的收敛性非常有帮助,我们调研了我们的定位器在多大程度上依赖于道路形状和轨迹,以及它在多大限度上使用了来自建筑物和树木的额外线索。我们计算了树木和建筑物的成本,并在图11中展示了这些发现。对于所有运行,我们假设了固定的已知尺度。我们得出结论,对于具有复杂道路结构的环境和轨迹,简单地利用轨迹并将其与道路模式匹配就足够了。然而,对于更像曼哈顿假设的结构,建筑物和树木等局部细节变得更为相关。有趣的是,对于ucity来说,仅仅移除树木比建筑和树木都稍微差一些。我们设想,这是因为在密集的城市环境中,两边几乎都有建筑物,因此它们在道路之外增加的结构很少,在噪音的情况下可能是有害的。然而,对于ucity来说,这些树显然提供了强有力的有效线索。

图11:在粒子权重中忽略树和/或建筑物时,不同数据集的收敛速度和时间。

06  总结

我们提出了一种在卫星或自上而下的无人机图像中进行实时语义SLAM系统。此外,我们还展示了在各种环境中使用不同传感器收集的多个数据集的定量和定性结果。在所有这些实验中,我们的系统运行稳定且准确。未来,我们计划在异构机器人团队上部署我们的系统,以实现分散建图和更高级别的自动化。

精彩推荐

  1. 视觉3D目标检测,从视觉几何到BEV检测
  2. 万字综述 | 自动驾驶多传感器融合感知
  3. 两万字 | 视觉SLAM研究综述与未来趋势讨论
  4. 清晰讲解激光雷达与相机标定的时间戳同步问题
  5. 末流985研一在读,视觉SLAM方向快坚持不下去了,大家可不可以给点建议...
  6. 基于SLAM的机器人自主定位导航全流程

版权声明:
作者:一点人工一点智能
链接:https://jkboy.com/archives/7096.html
来源:随风的博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
实时语义SLAM:激光+IMU+GPS/MAV
定位是移动机器人的一个基本问题。从自动驾驶汽车[1]到探索型微型飞行器(MAV)[2],机器人需要知道自己在哪里。这个问题对于多机器人系统来说更具有挑战性。在这...
<<上一篇
下一篇>>