0. 简介

之前作者在《激光雷达动态障碍物滤除-调研与展望》以及《3D帧间匹配——-剔除动态障碍物》中提到了如何通过各种方法来完成动态障碍物的滤波。而本文也将围绕着如何完成动态障碍物滤波来展开,来介绍《ERASOR: Egocentric Ratio of Pseudo Occupancy-based Dynamic Object Removal for Static 3D Point Cloud Map Building》一文的内容,本文在Github上已经有开源代码以供读者学习。

1. 文章贡献

城市环境的扫描数据通常包括动态对象的表示,如车辆、行人等。然而,当使用扫描数据的连续累积来构建3D点云图时,动态对象通常会在图中留下不必要的痕迹。这些动态物体的痕迹作为障碍,从而阻碍移动车辆取得良好的定位和导航性能。针对这一问题,本文提出了一种新的静态地图生成方法,即基于自我中心比的伪占用的动态对象去除方法(ERASOR),该方法对运动模糊具有快速和鲁棒性。本文的方法将注意力集中在城市环境中大多数动态物体的本质上,它们不可避免地与地面接触。

  1. 本文提出了一种称为扫描比测试(SRT)的快速而健壮的方法,基于城市环境中大多数动态对象(如地面车辆和行人)不可避免地与地面接触的性质,获取包含动态点的栅格。
  2. 获取栅格后,我们应用区域地平面拟合(R-GPF),这是一种计算负荷低的新型静态点检索方法。R-GPF克服了基于射线跟踪的方法和基于可见性的方法的潜在局限性,如图2所示。

  3. 与其他最先进的方法进行验证。本文指出了精度/召回指标的局限性,并提出了适用于静态地图构建任务的替代指标:保存率和拒绝率。

  4. 本文提出的方法比最先进的方法显示出有前途的性能。特别是,ERASOR以最小的静态点损失去除动态点,比目前最先进的方法快至少10倍。

2. 详细内容

这里我们可以先来看一下无疆WGH博客对这篇文章的解析,红色文字是作者对算法各个环节的注释,下面我们将对这四个部分进行解释
)

2.1 问题定义与符号系统

先验地图由一帧帧不同时刻的原始点云“拼接”而成,设P_t = {p1, p2,…, pn}是时间步t时包含n个点的点云集合,其中每个点在笛卡尔坐标下表示为p_k = {x_k, y_k, z_k}。设P^Q_t为查询框架上的查询点云,^W_QT_t为与P^Q_t相关的SE(3)位姿。本文假设姿态集是经过配准优化或校正后得到的。通过让^W_QT_t * P^Q_t是世界框架WP^Q_t的变换表示,用一组原始LiDAR扫描M构建的先验地图可以公式如下:

其中T是总时间步长,[T]等于{1,2,…, T−1,T}。注意M在世界坐标系上,包含了所有测量的动态点

接下来,以位姿点^Q_W T_t为中心,在 prior map 中以特定半径圈出一个局部的 submap,记作P^M_t.即M的子地图通过^Q_W T_t = ^W_Q T_{t−1}进行转换。在本文中,使用上标QM分别表示查询和映射。设M坐标系坐标系为估计的静态映射,我们感兴趣的问题定义如下:


ERASOR 的策略中的\hat{M}_{dyn,t}指由P^Q_tP^M_t之间的差异,并将P^M_t中动态的点云并标记出来。

在介绍本文的visibility-free方法之前,必须先说明本文的方法将注意力集中在城市环境中大多数动态物体的本质上,例如地面车辆和行人,不可避免地与地面接触。基于这个假设,我们可以构造四种可能的情况:

  1. 在$$P^M_t$$中有一个物体在地面上,而在$$P^Q_t$$中相同位置的地面不受物体的影响。
  2. 在$$P^M_t$$中,地面不受物体的影响,而在$$P^Q_t$$中,地面上有相同位置的物体。
  3. $$P^M_t$$和$$P^Q_t$$中都有一个物体在地面上。
  4. 在$$P^M_t$$和$$P^Q_t$$中地面上没有物体。

在这些情况中,表示动态对象的点将被分为第一种情况和第二种情况。但是,我们的目标是改进地图云,因此忽略了第二种情况。为了清晰起见,我们定义了两个术语;第一种情况可能是动态的第三种和第四种情况肯定是静态的。

2.2 栅格划分与占据状态描述子计算(R-POD)

栅格划分与计算栅格内的占据状态描述子,是解决两个子问题的第一步。

不难发现,P^M_tP^Q_t的原点位置是重叠的,考虑到 query scan 中距离越远的地方点云越稀疏,我们首先要圈定范围:对P^M_tP^Q_t ,我们均只考虑距离原点 80 米半径范围内 、-1米到+3米高度区间内的空间,这个空间是我们的感兴趣区域 —— Volume of Interest, VOI。

接下来,将 VOI 按照角度和半径划分为一个个栅格,以自我为中心的方式定义了一个垂直容器,用垂直信息的边界差来表示占用,或伪占用。与Scan Context类似,RPOD取V_t,在方位角方向和径向方向的规则间隔(即扇区和环)上对体积进行划分。设N_rN_θ为环数和扇区数。则R-POD记为S_t,可表示为:

其中S_{(i,j),t}表示R-POD在时间步长t时的(i,j)栅格处,令θ = arctan 2(y, x),则每个S_{(i,j),t}由满足以下条件的云点组成

其后,单位空间即每个料仓分配一个实数来描述伪占用量∆h_{(i,j)},t。设Z_{(i,j),t} = {z_k∈p_k|p_k∈S_{(i,j),t}}。然后,对每个bin的伪占用进行如下编码:
)
这个高度差,描述了该 bin 内的点云分布信息。经过该步骤处理后的P^M_tP^Q_t如下图所示,很容易看出一个个扇区状的 bin 。

2.3 根据描述子对比筛选潜在动态区域(SRT)

针对查询点云和地图点云的P^M_tP^Q_t的R-POD,提出了扫描比测试(SRT)来检验伪占用是否存在差异。SRT是由尺度不变特征变换(SIFT)[26]中的Lowe’s Ratio检验驱动的。结果表明,基于比率的方法对基于全局阈值的方法[26]的场景变化具有更强的鲁棒性。

这里我们来对比S^Q_tS^M_t中每对栅格的伪占用率之比,即∆h^Q_{(i,j),t}∆h^M_{(i,j),t}之比。然后使用扫描比率将栅格分类到前面提到的情况,并选择属于潜在动态情况的栅格,其中任何一个栅格都包含我们感兴趣的动态点。简单地说,如果两个栅格都没有变化,扫描比必须接近于1,即绝对静态的情况,而属于潜在动态情况的扫描比必须远小于1,这是由地面上存在一个动态物体引起的,如第II.A节所述。


因此,我们选择扫描比小于比率阈值的箱子作为可能包括动态对象或潜在动态箱子的箱子。图4(a)展示了扫描比的概率分布函数(PDF),图4(b)描述了使用SemanticKITTI数据集的云点数量的直方图(见Section III.A)。包含查询或映射中的动态点的一组箱子往往具有较小的扫描比。相反,只有静态点的一组箱子显示的扫描比接近于1。

根据这些观察,比率阈值设置为0.2,这是经验确定的足够严格。图3说明了从SRT检索的结果。SRT上的绿色箱子是潜在的动态箱子,蓝绿色箱子是扫描比超过0.2的箱子。红色箱为确定性静态区域或已清洗区域,即∆h^M_{(i,j),t}/∆h^Q_{(i,j),t}<0.2. 请注意,如果映射或查询bin包含很少的点,SRT将被跳过,图3中的SRT中这些点用蓝色表示。

2.4 地面拟合&动态点滤除(R-GPF)

接下来就是最简单的一部分,即在潜在动态 bin 中,拟合出地面点,然后地平面以上的点,全部作为动态点滤除掉。所以本环节的核心,是如何准确地拟合出 bin 内的地平面。

注意我们上文提到的假设条件:所有的动态物体都是位于地面上的,所以潜在动态 bin 中的点,如果不属于地面,就属于动态物体。每个 bin 内的地面拟合是独立进行的,并不会参考其它 bin 中的地面分布。作者认为这种方式会更准确,因为参考整个地图的地平面拟合,可能因斜坡、路沿等的影响而失败,但在 bin 内这样一个局部空间中,斜坡的斜度可以被忽略,仍呈现出平面特征。

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

3. 参考链接

https://zhuanlan.zhihu.com/p/409884870