动态环境SLAM近期阅读的相关论文综述

文章目录

  • 一、动态环境对激光SLAM有什么影响
    • 1. 前端配准
    • 2.后端建图
  • 二、如何解决上述动态环境遇到的问题
    • 1.前端层面
    • 2.建图层面(离线)
    • 3.建图层面(在线)
  • 三、相关论文汇总
    • 1. The peopleremover – removing dynamic objectsfrom 3D point cloud data by traversing a voxeloccupancy grid(offline)
    • 2. Remove, then Revert: Static Point cloud Map Construction using Multiresolution Range Images(offline)
    • 3. DynamicFilter: an Online Dynamic Objects Removal Framework for Highly Dynamic Environments(online)
    • 4. ERASOR: Egocentric Ratio of Pseudo Occupancy-based Dynamic Object Removal for Static 3D Point Cloud Map Building(offline)
    • 5.RF-LIO: Removal-First Tightly-coupled Lidar Inertial Odometry in High Dynamic Environments(online)

一、动态环境对激光SLAM有什么影响

我认为一般来说,分为两个方面:

1. 前端配准

无论是哪种点云配准方式,点到点或是帧到帧,都是基于静态地图的假设。如果有动态点的存在,在实际配准的时候就会有点前后不一致,或者是特征消失,这样的动态点占比过高的话,会造成轨迹的偏差精度下降。

2.后端建图

即使大多数环境下,我们认为整个地图中还是静态物体占了绝大部分,动态物体对整个配准的影响有限,不会有太大的影响。但是这些动态物体在最终生成的地图中会留下大量的类似“鬼影”的痕迹,这对于我们后续定位、建立三维地图模型以及基于地图的路径规划产生不利影响。

二、如何解决上述动态环境遇到的问题

1.前端层面

因为在前端层面有影响的时间非常短,所以考虑的一般是快速移动的物体,解决方案大多采用在前端配准之前或者过程中,实时地滤除掉。从而确保最终留下的大多数是静态点云。这里的重难点在于——滤除的过程必须非常快速,最好是毫秒级甚至忽略不计为好。然而传统方法通常基于帧间对比来分离动态点云,因此最终效率和精度都不尽如人意。

2.建图层面(离线)

在SLAM完成后,一般会生成一张完整的配准后的地图,采用后处理的方式滤除。这样的动态点检测可以参照整个SLAM周期的所有地图信息,更加准确地滤除动态物体。但是唯一的问题是无法和SLAM同步运行,在实际工程应用中可能不适用。优点是对于动态物体的滤除比较彻底。

3.建图层面(在线)

这一策略最大的优点是动态物体过滤与SLAM同步进行,不需要先等待再滤除。该方法一般而言是在前面的离线算法的基础上实现的,通常存在滤除动态点的效果没那么好(牺牲了精度换取时间)的缺点。

三、相关论文汇总

1. The peopleremover – removing dynamic objectsfrom 3D point cloud data by traversing a voxeloccupancy grid(offline)

作者:Johannes Schauer
发表于 ICRA-2018
论文下载:The Peopleremover:paper link
源码下载:3DTK-The 3D Toolkit

  1. 基本思想:改进后的光线投影方法(ray casting-based method),即如果一个栅格先被激光点击中(hit),而后又被其它激光点的光路穿过(miss, or intersect, or see-through),那么这个栅格是动态栅格,其包含的点云将作为动态点云被过滤掉。The peopleremover 的创造之处在于,每个栅格内存储的不是hit/see-through次数或占据概率,而是所有hit到这个栅格的点云帧的scan id (scan idendifier),这样可以很大程度上避免同一条光路造成的误杀。
  2. 提出了“安全面”和“最大搜索距离”的概念,很好地解决了“入射角大”导致误杀的问题
  3. 存在遮挡时”,作者提出一种假设,认为所有此问题造成的误杀的动态点都是少数孤立的,只需要对dynamic栅格进行聚类,小于一定阈值的把它改回static
  4. 一些动态栅格相邻的栅格中会有残留的动态点,基于一般动态点都是相邻出现的,可以一并滤除。(解决了漏杀问题,虽然有误杀的风险,但是收益大于损失)

2. Remove, then Revert: Static Point cloud Map Construction using Multiresolution Range Images(offline)

作者:Giseop Kim
发表于 IROS-2020
论文下载:Removert
源码下载:irapkaist removert

REMOVERT算法的大致流程是会首先保守地保留确定的静态点(也就是会有很多FN的情况),再通过一次次的迭代将query-to-map的搜索窗口扩大来恢复被误杀掉的静态点,其中query-to-map的搜索窗口隐式补偿了激光雷达运动或配准错误。一言以蔽之,正如算法的名称一样:在第一阶段先疯狂地Remove掉所有可能的动态点,就算杀错了也不管,到了第二阶段,通过一次次地放大query-to-map的搜索窗口来恢复在第一阶段中被过度杀掉的静态点。

3. DynamicFilter: an Online Dynamic Objects Removal Framework for Highly Dynamic Environments(online)

作者:Tingxiang Fan
发表于 ICRA-2022
论文下载:DynamicFilter
源码下载:未开源

DynamicFilter这篇文章对上述Removert进行了一定的改进优化,作者依旧采用 reverting 阶段来恢复错误检测的静态点,即:反复执行基于可见性的移除,但将动态子图( M D M_D MD)作为输入,从而不断从动态子图( M D M_D MD)中恢复静态点。然而,这种还原方法仍然可能存在可见性问题。

因此文章中根据去除的动态点与全局坐标下的静态子图之间的设定距离来恢复静态点。对于动态地图中的每个动态点,首先在静态地图中搜索它的最近点。然后,使用主成分分析( PCA ) 来计算最近点集的特征向量。类似地,对于这组最近点和动态点本身的并集也可以计算另一个特征向量。最后,通过比较这两个特征向量之间的法向距离,可以得到加入动态点后的分布变化。如果变化足够小,我们将动态点( M D M_D MD)还原为静态 M S M_S MS

4. ERASOR: Egocentric Ratio of Pseudo Occupancy-based Dynamic Object Removal for Static 3D Point Cloud Map Building(offline)

作者:Hyungtae Lim
发表于 ICRA-2021
论文下载:ERASOR
源码下载:ERASOR.

原始地图即已经跑完一遍SLAM的先验地图M,而某一时刻运行的点云则是记作Q,用Q去和M进行对比,Q中没有的,M中有的,点云z向高度差超过一定的阈值的(论文中为0.2),就可以称之为潜在动态区域,用于后续的动态点清除。

这些被判定为潜在动态区域的,拟合出地面点,然后地平面以上的点,全部作为动态点滤除掉。

拟合地平面的具体方法是先选出高度最低的若干个点作为种子点,向上进行3次区域生长,找出的点为地面点。然后,用主成分分析法(Principal Component Analysis, PCA)计算地面点云的特征值和特征向量,则特征值最小的那个特征向量,最有可能是地面的法向量,据此算出地平面的平面方程。这个地面提取方法称为 Region-wise Ground Plane Fitting, R-GPF。最后将地平面以上的点作为动态点移除。

5.RF-LIO: Removal-First Tightly-coupled Lidar Inertial Odometry in High Dynamic Environments(online)

作者:Qian, Chenglong
发表于 IROS 2021
论文下载:RF-LIO
源码下载:未开源

(i) 通过IMU测程法获得初始位姿。然后利用IMU预积分和扫描匹配之间的误差来确定初始分辨率(即每个像素对应多少个视场角度)。

(ii)RF-LIO使用该初始分辨率分别从当前激光雷达扫描和相应的子地图构建距离图像。

(iii)通过比较其可见度,去除子图的主要移动点。

(iv) RF-LIO将激光雷达扫描与子地图进行匹配,判断扫描匹配是否收敛。如果是收敛的,在图形优化之后,使用最终的精细分辨率去除当前关键帧中剩余的移动点。否则,将生成新的决议,并重复步骤(ii)、(iii)和(iv)。

你可能感兴趣的:(计算机视觉,SLAM)