DynamicFilter

《DynamicFilter: an Online Dynamic Objects Removal Framework for Highly Dynamic Environments》

原文:https://arxiv.org/abs/2206.15102
真实世界实验:https://sites.google.com/view/dynamicfilter/


摘要: 当机器人在城市环境中导航时,大量动态物体的出现将使空间结构多样化。因此,动态对象的在线移除至关重要。在本文中,介绍了一种针对高度动态的城市环境的新型在线清除框架。该框架由扫描到地图前端和地图到地图后端模块组成。前端和后端都深度集成了基于可见性的方法和基于地图的方法。实验在高度动态的模拟场景和真实数据集中验证了该框架。


在线场景理解是消除机器人对高精地图依赖的一个有效方法。
重点关注3D雷达感知的动态点的检测和去除。


从单次扫描中检测动态点具有挑战性。尽管基于学习的方法可以通过单次扫描立即预测动态片段 ,但它们依赖于大量标记的数据集,并且在遇到未标记的类时可能会失败。通过考虑多次扫描之间的不一致,基于占用图和基于可见性的方法可以在没有任何语义标签的情况下估计动态点。然而,这两种方法都有其自身的缺点。基于占用图的方法利用光线追踪,可以估计网格空间中的占用概率。尽管它已广泛应用于 2D mapping,但 3D 点的实时光线追踪的计算成本却难以承受。为了减轻计算负担,基于可见性的方根据特定的视场(FOV)和分辨率将3D点云的范围测量重新投影到图像平面。每个像素的多次扫描之间的可见性差异被视为动态点。然而,它存在入射角模糊和遮挡问题。这些可见性问题会降低其性能。

本文提出了一种在线动态对象去除框架,该框架集成了基于地图和基于可见性的方法。受现代 SLAM 范式 [13] 的启发,框架分为 scan-tomap 前端和 map-to-map 后端。前端对时间要求严格,需要立即计算粗略结果,而后端可能是计算密集型的,需要利用历史数据提供进一步的优化结果。具体来说,我们的框架将连续扫描及其姿势作为输入。首先,基于可见性的方法由于其优越的计算效率而被用于动态对象去除。去除后,可以获得原始静态子图 M ^ S \hat{M}_S M^S。请注意,由于上述可见性问题, M ^ S \hat{M}_S M^S保留了稀疏的静态点。然后,我们提出基于地图的恢复方法从稀疏特征中恢复更密集的静态点 M ˉ S \bar{M}_S MˉS。由于连续帧的范围有限,前端生成的静态子图 M S M_S MS可能并不令人满意。最后,引入map-tomap后端来进一步优化结果。后端的核心思想是从多个子图中计算每个体素的占用概率。当光线穿过体素时,体素被标记为自由,我们使用可见性检查来近似计算 n ^ f r e e \hat{n}_{free} n^free,即穿过每个体素的光线数量,以加速光线追踪过程。整个流程如图 2 所示,主要贡献总结如下:

  • 提出了融合基于可见性和基于地图的方法的在线动态对象删除框架。这是第一个提出动态对象删除的前端和后端结构的工作。
  • 提出了可见性检查,它使用基于可见性的方法来近似光线追踪过程并加速占用计算。
  • 在前端提出了基于地图的恢复算法,可以减轻基于可见性的删除引起的可见性问题。
  • 定量评估算法在复杂模拟场景中的性能,并定性演示在拥挤的多样化现实场景中的在线性能。
    在这里插入图片描述

方法

1、Problem setup:从连续3D LIDAR扫描中去除动态点。

2、Scan-to-Map front-end:前端以N个时间上的连续的帧作为输入,将这些点转换为全局坐标,最后构造一个未处理的子图 W M _WM WM

  • 基于可见性的去除:首先将每一帧点云 B P _BP BP和未处理的子图 W M _WM WM投影到局部坐标系中的图像平面。然后可以分别计算它们的距离 B I P _B{I^P} BIP, B I M _B{I^M} BIM。通过比较两个距离图之间的差异,可以检测动态点作为子图 M ^ D \hat{M}_D M^D。处理完子图中所有的帧,分为两类:仅包含静态点的静态子图和包含动态点的动态子图。
  • 基于地图的恢复:在大视角和遮挡的情况下,基于可见性的去除的性能会降低。这种退化的表现是许多静态点被错误地过滤为动态点。本文采用恢复阶段来恢复错误检测到的静态点,引入基于地图地恢复来缓解可见性问题。(静态子图是稀疏且保守地,它严格保留了静态点。本文根据全局坐标中删除的动态点和静态子图之间的距离来恢复静态点。具体来说,对于动态地图中的每个动态点,首先在静态地图中搜索其最近的点。然后,我们采用主成分分析(PCA)来计算最近点集的特征向量。类似地,也可以为这组最近点和动态点本身的并集计算另一个特征向量。最后,通过比较这两个特征向量之间的法线距离,可以得到添加动态点后的分布变化。如果变化足够小,则将动态点恢复为静态。请注意,恢复过程不依赖于任何模型/平面假设,因此与模型无关。
    在这里插入图片描述
  • 在基于地图的恢复之后,我们获得静态子图 MS 并将其添加到子图缓冲区中,以及它与整个序列上平均的全局帧的相对位姿。

3、Map-to-map back-end:前端有潜力在离线范式下删除长序列中的所有动态点。然而,考虑到在线性质,只能使用短序列,这将限制前端性能,因此前端可能只对一些快速移动的物体有效。因此,本文提出了map-to-map后端来不断提高去除性能。

  • 占用网格模型:给定一个查询位姿,可以在子图缓冲区中搜索特定半径内的最近的子图。其核心思想是利用占用网格模型结合多个最近的静态子图来估计环境中的占用网格。首先,离散化附近的空间,即完成体素化。然后,计算空间中每个体素被占用的次数,以及体素通过的次数,计算占用概率。其中引用可见性检查来近似估计占用概率的分母。

  • 可见性检查:为了近似光线追踪过程,首先将范围维度离散化为多个深度通道。具体而言,将原始图像尺寸(宽度×高度×1)离散化为(宽度×高度×深度)。如图 4a 所示,来自一个像素的深度通道被分为不同的单元。单元格越远,包含的体素就越多。然后,可以根据特定的视场(FOV)和分辨率将每个子图重新投影到查询位姿的图像平面。接下来,对于每个像素,可以计算该像素中的点可以到达的深度。像素的可见性边界由最大深度定义。可见性边界之前的单元被近似为通过光线追踪穿过。
    在这里插入图片描述

  • 这种近似仍然受到**大角度模糊和遮挡(即可见性问题)**的影响。具体来说,由于子图由多个帧组成,遮挡不可避免,因此子图在同一像素中会占据不同的深度。同样,考虑到大入射角的情况,同一表面可能会检测到不同的深度。这些问题会导致每个像素占据多个不同深度的情况,即使这不是由动态点引起的。由于入射角较大的点不能很好地逼近子图中的最大深度范围,因此本文提出了 入射校正。通过计算每个点的入射角,可以将那些入射角大于阈值的点标记为伪占据点。只考虑最近的伪占据点作为可见边界。不考虑伪占据点之外的任何其他点,因为光线追踪的近似可能不准确。它可能会保留更多的静态点,但会遗漏一些边界外的动态点。对于其他常见的占用点,结合预先计算的可见性边界,计算每个像素中最远的可见性边界。最终可以获得所有子图的可见边界。根据可见性边界,可以近似计算占用概率,如图4b所示。

  • 计算占用概率后,可以获得查询位姿处的最终静态局部地图。

4、Submaps merging:单个静态子图仅足以理解局部场景。因此,需要合并多个静态子图来获得全局空间结构。可见性检查对子图姿势附近的点有更好的光线追踪近似。因此,在合并过程中,当体素被标记为被最近的子图占用时,该体素被标记为占用,否则被标记为空闲。图 5 中可视化合并结果。
在这里插入图片描述

实验

见原论文。
消融实验:四种变体

  • 仅前端方法仅使用我们的前端;
  • 仅后端方法仅使用我们的后端;
  • 非可见性检查方法,不使用可见性检查来近似nfree +nocc。相反,将最近的子图的数量指定为 nfree + nocc,这假设所有体素在子图中都可见;
  • 非入射校正方法,在能见度检查期间不考虑伪占据点。

总结

文提出了一种在线动态对象去除框架,该框架集成了基于地图和基于可见性的方法。各种实验验证了其在高度动态场景中的效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值