自动驾驶中采用激光雷达做感知可以分为两个层次,低层次感知也叫作障碍物检测,只需要探测到前方有障碍物即可;高层次感知可以看做目标识别,需要对障碍物信息进一步分类。
障碍物检测是指从点云数据中提取出潜在的障碍物体,得到它们的方位、尺寸、形状、朝向等信息,一般通过Bounding box来添加或者多边形来描述。
激光雷达的障碍物检测流程一般如下:
1. 考虑到车上有多个传感器共同作业,需要对输入的激光点云做时间同步和外参标定。
2. 考虑到激光雷达的采样噪声和点云数据量大的问题,需要对点云做预处理,减少数据量,剔除噪声点。
3. 每帧点云数据中包含了大量的地面点,检测的目的是获取道路障碍物信息,需要进一步分割出地面上的点云。
4. 地面上的障碍物点通常采用无监督的聚类算法形成多个团簇,每个团簇则表示一个障碍物。
5. 针对团簇的物体识别可以根据任务需求而定,如果需要类别信息,可以采用特征提取+分类器的方式分类障碍物。
6. 对每一块团簇做包围框拟合,计算障碍物属性,比如中心点,质心点,长宽高等。
7. 对每一个障碍物构建一个卡尔曼滤波器做跟踪,平滑输出。
为什么进行点云滤波处理?
1. 点云数据密度不规则需要平滑
2. 遮挡等问题需要进行离群点去除
3. 点云数据量大需要做下采样
4. 激光雷达采用时存在噪声数据需要去除
有哪些点云滤波方法?
1. 直通滤波:获取感兴趣范围内的点云数据,如下图所示过滤掉前方墙体;
2. 体素网格:平滑点云密度,减少点云数量,如下图所示下采样获得稀疏点;
3. 统计滤波:剔除离散群点,如下图所示剔除桌子边缘的离散点;
由于激光雷达每次采集障碍点时视角不同,采集的部分障碍点坐标变化较大,而且很多障碍点与障碍物的跟踪不相关,比如灌木、树叶、墙体、高楼等。障碍点过多会影响外接框轮廓的提取,所以需要对原始点云进行筛选出感兴趣区域。
高精地图
ROI区域可以从高精地图检索到包含路面、路口的可驾驶区域。从而去除路边建筑物和树木等背景对象。如下图所示:
高精地图具有分层的数据结构,最底层是基于红外线雷达传感器所建立的精密二维网格,精度通常在5×5厘米左右。可以行驶的路面、路面障碍物,以及路面在激光雷达下的反光强度都被存储于相应的网格当中。(绿色区域表示不可行驶的路面)
除此之外高精地图还提供路面语义信息,包括道路标识线的位置、特征;车道特征;路牌信息等。
路沿检测
激光雷达通过检测道路边沿,拟合三次曲线方程,从而将道路以外的点剔除。常用方法包括:
1. 栅格化后根据网格内点云的高度差判断路沿点;
2. 对同一条扫描线上的点集,计算曲率变化,从而判断路沿点;
3. 根据点云法向量的变化,求取路沿点;
以上方法也可混合使用,优化检测效果。
为什么要做地面分割?
由于传统的点云处理是采用聚类的方式进行物体分割,而聚类算法依据点之间的某种距离来度量属性,因此地面点会对位于地面上物体点集造成干扰。
有哪些地面分割的方法?
1. 基于平面栅格构建俯视图(即投影到x-y平面)2D网格,然后统计网格中点云个数;网格中点云最大/最小/平均高度;网格中点云密度等信息。基于统计量分割地面。
2. 基于模型拟合求取方程,如平面拟合-RANSAC;高斯过程-GP-INSAC;平面参数拟合(特征值)。
3. 基于面元mesh进行区域生长,判断地面点集。
如下图所示,当获取地面方程或者地面点集后,剔除掉地面点,保留地面上的障碍物点,用于后续算法。
ROI提取+地面分割后的点云数据,只留下路面上障碍物的点云,背景区域以及地面已被移除。聚类算法将针对单独的车辆、行人等障碍物分割出来。常用算法基于以下三种:
欧式聚类是找到最近点,只要点与点之间的距离,在一定半径范围内就认为这些点属于一个类别。
密度聚类的核心思想是从某个核心点出发,不断向密度可达的区域扩张,从而得到一个包含核心点和边界点的最大化区域,区域中任意两点密度相连。
超体聚类类似于特殊的区域增长算法,其目的并不是分割出特定物体,而是对点云实施过分割,将场景点云化成很多小块,并研究每个小块之间的关系。但是由于点云不存在邻接关系,聚类之前必须以八叉树对点云进行划分,获得不同点团之间的邻接关系,如面邻接,线邻接,点邻接。
包围框拟合是对每一聚类,确定一个能够将点云簇包裹的三维Bounding Box,将其视为一个物体处理。通常有三种拟合形式:最小外接矩形,带旋转的最小外接框;最小包围框。
外接矩形:针对一个凸多边形的顶点,求出外接该多边形且面积最小的矩形;
最小外接框:带旋转角的最小外接矩形;
点云凸包:包含所有点的最小凸集;
表述太拗口,看上图最直接。在三维点云的拟合中常采用最接外接框和凸包进行表征,因为如果是倾斜的车辆,采用外接矩形的方式会增大障碍物尺寸。
运动物体跟踪是指基于障碍物外接框的轮廓特征,对连续两帧的障碍物信息进行数据关联,估计运动物体的运动状态,包括运动方向、速度大小、加速度、角速度、运动轨迹等信息。
•采用EKF/UKF滤波得到目标ID,并且平滑目标运动方向,位置和尺寸;
•根据帧间隔以及车身提供的自车信息配合目标位置计算目标速度,加速度和角速度;
•根据目标位置与障碍物所在车道的拓扑关系(道路连接关系)进行目标的轨迹预测,以此作为无人车规划(避障、换道、超车等)的判断依据;
反射率低的物体造成点云缺失引起过分割?
采用扫描线补偿的方式针对一次激光发射的数据线性插值补全空洞的点。如下图蓝色区域
车速较快时激光雷达探测的物体有拖影问题?
无论是机械旋转式采样,还是非重复式扫描。每一帧点云中的点都是存在不同时刻的位置偏移,如下图蓝色框的两辆对向来车,当车速越快,拖影越明显。当激光雷达感知应用于运动物体速度大于50km/h的环境中,需要对每帧点云做运动补偿。
欢迎关注小编公众号,最小文章同步更新。