激光雷达检测障碍物

激光雷达检测障碍物

funnywii 299 2023-12-06

LIDAR感知任务

使用LIDAR的感知任务可以分为两种:

  • 低层次感知:仅检测障碍物。
  • 高层次感知:对障碍分类,是目标识别。

检测到障碍物后,得到其位置,方向,尺寸等信息,一般用bbox或多边形来描述障碍物。

障碍物检测

Pipeline

  1. 如果是多传感器,需要对Lidar的点云 (pc) 做时间同步,并对多个传感器进行联合标定。
  2. 由于Lidar采样的 pc 数据量大,噪声也多,因此需要对 pc 进行预处理,以实现减少冗余数据和噪声的目的。
  3. 输入的 pc 的每个 frame 中,都包含大量地面点,但是地面点不需要被检测。因此要分割出地面 pc。这步是整个流程中的重点。
    image-1701850008534
Figure 1.1 地面分割方法
  1. 采用无监督聚类算法为地面障碍物进行聚类,会得到多个 cluster,每个 cluster 代表一个障碍物。
  2. 为每个 cluster 进行bbox拟合,计算障碍物的 L/W/H 和中心点等属性。
  3. 使用 Kalman Filter (KF) 为障碍物进行跟踪。

预处理

预处理的目的:

  • 点云数据密度不规则,需要平滑。
  • 遮挡等问题需要进行离群点去除。
  • 点云数据量大,下采样以减少数据量。
  • 去除Lidar噪声数据。

滤波方法

  • 直通滤波:获取 ROI 的 pc 数据。
  • 体素网络:平滑点云密度。
  • 统计滤波:统计滤波,剔除离群的散点。

ROI区域

一般指路面和路口等可行驶区域。可以使用高精地图或路沿检测的方法。

Lidar可以检测马路边缘,拟合三次曲线方程,从而剔除道路以外的点。下面三种方法可以结合使用:

  1. 栅格化后根据网格内点云的高度差判断路沿点
  2. 对同一条扫描线上的点集,计算曲率变化,从而判断路沿点
  3. 根据点云法向量的变化,求取路沿点

地面分割传统方法

基于栅格

将 pc 投影到栅格,按照扫描线遍历栅格,根据栅格内的密度、平均高度、高度方差、最大高度差和直方图等信息进行聚类分析,判断对应的栅格是障碍物or地面。

栅格划分的本质是将非结构化且稀疏的 pc 进行结构化和信息压缩处理。栅格大小的选择会直接影响到分割准确率。

image-1701853518290

基于分类器

在栅格法的基础上,为消除使用单一特征的局限,可以使用基于分类器的方法,即提取更多特征(如局部法向量),使用分类器进行训练,根据其提取的特征分类判断地面点和非地面点。不过这种方法耗时依然过长。

基于地面建模

采用 Plane Fitting 、 Line Extraction 和 高斯过程回归 (Gaussian Process Regression ,GPR) 等方法。

基于相邻点和局部特征

主要是依靠 pc 临近点和局部几何特征之间的关系,从而对周围地形进行分类。

方法有基于面元 mesh 进行区域生长 (实时性差),以及基于通道和范围图像的方法,判断地面点集。

基于高阶推理

  • 马尔可夫随机场 MRF:MRF 模型可视为一个无向图,其中 Node 代表随机变量,Edge 代表 Node Pair 之间所需的局部影响。在Lidar数据中,pc 的点就是图的 Node,而 Edge 可以用高度值来建模。不过该算法实时性较差。
  • 条件随机场 CRF:CRF 是 MRF 的一个子集。通过一个特定的观测链来标记 Node 序列,能提高捕捉 Node 之间长距离依赖关系的能力。该算法具有一定的实时性(作者说的)?

地面分割深度学习方法

image-1701849841546

直接法

在 pc 上直接进行 3D CNN 进行物体检测。由于 pc 稀疏,并且 3D CNN 需要在3个维度上进行运算,导致检测和定位非常耗时。方法有 3D FCN 和 Vote3Deep

投影法

将 pc 投影到某个平面上,比如 鸟瞰图 (BEV) 或者 前视图 (FV)。然后进行特征提取和检测。BEV 表示车辆等大型目标效果较好,但是对行人等检测效果较差。

深度学习网络

针对 pc 的特点,使用特定的网络结构,比如 PointNet 、VoxelNet、GndNet 等。这些网络可以从 pc 中高效地学习有效的几何空间表征。
image-1701918037146

障碍物聚类

欧式聚类

点与点之间的距离在一定阈值内就认为这些点属于一个类别。

密度聚类

从某个核心点出发,不断向密度可达的区域扩张,从而得到一个包含核心点和边界点的最大化区域,区域中任意两点密度相连。

超体聚类

类似于特殊的区域增长算法,其目的并不是分割出特定物体,而是对点云实施过分割,将场景点云化成很多小块,并研究每个小块之间的关系。但是由于点云不存在邻接关系,聚类之前必须以八叉树对点云进行划分,获得不同点团之间的邻接关系,如面邻接,线邻接,点邻接。

BBox拟合

三种拟合方法:

  • 外接矩形:针对一个凸多边形的顶点,求出外接该多边形且面积最小的矩形。
  • 最小外接框:带旋转角的最小外接矩形。
  • 点云凸包:包含所有点的最小凸集。
    image-1701847957493

跟踪

跟踪是指基于障碍物外接框的轮廓特征,对连续两帧的障碍物信息进行数据关联,估计运动物体的运动状态,包括运动方向、速度大小、加速度、角速度、运动轨迹等信息。

参考文章

[1] 张银, et al. “三维激光雷达在无人车环境感知中的应用研究.” Laser & Optoelectronics Progress 56.13 (2019): 130001.
[2] https://zhuanlan.zhihu.com/p/349107169
[3] Gomes, Tiago, et al. “A survey on ground segmentation methods for automotive LiDAR sensors.” Sensors 23.2 (2023): 601.