自动驾驶去地面算法学习(1)—方法调研

前言

基于传统的感知算法包括去地面点云,障碍物聚类,目标跟踪和障碍物信息输出等,去地面算法绝对这感知算法中障碍物识别效果,因此对一般算法进行调研。

一 去地面算法一般思路

采用激光雷达做感知的障碍物检测任务,传统的点云处理算法进行障碍物的分割、拟合、跟踪,在这个过程中使用聚类算法进行障碍物分割,而聚类算法依据点之间的欧式距离来度量属性,因此地面点会对位于地面上物体点集造成干扰。地面分割思路通常可以分为:模型拟合法、平面栅格法、点云法向量法、面元网格法。

地面提取是目标检测过程中的一个重要环节,主要难点在于两个方面,一方面是非障碍物地形区域的正确识别,另一方面是计算机的计算负载。

  1. 非障碍物地形区域的正确识别,结构化的道路中,非障碍物地形区域是指行驶的路面,矿区环境复杂,道路中斜坡区域多,道路本身中间高两边低, 坑洼地形多、两侧还存在一定深度的排水渠,这就使得地面的识别变得困难。

  2. 计算负载高,地面提取前需要将多个激光雷达的原始点云进行融合,多个激光雷达的原始数据融合达到了十几万,计算负载大,算法耗时长。

二 模型拟合法

常用的模型拟合方法包括以下几种:平面拟合-RANSAC,高斯过程-GP-INSAC,平面参数拟合(特征值),以RANSAC平面拟合的方法为例,具体流程如下:

  1. 在设置的迭代次数内,每次随机选取3个点确定一个平面方程(Ax+By+Cz+D=0);
  2. 将所有点依次带入该平面方程中,根据设定的距离阈值做判定,若在阈值范围内,则认为属于该平面的内点,否则为外点,遍历所有点后统计内点个数;
  3. 在迭代次数内内点数量最多的平面方程即为地面方程,该地面方程下的内点就是地面点云集,外点就是障碍物点云集;

采用分区域拟合平面的方法,效果如下:

在这里插入图片描述
● 存在问题:

  1. 交通道路从排水考虑通常是中间凸起,两边低洼,类似于拱桥形状,虽然曲率不大,但是通过随机采样一致性算法计算地平面,可能会得到倾斜于一侧的平面作为地面方程
  2. 在上下坡的时候同样因为地面非绝对平面,计算出的地面方程,会出现把前方地面点集作为障碍物点的情况;
  3. 由于RANSAC是在点云空间随机的取三个点构建平面,如果场景中存在大块墙面时,会出现将墙面作为地面方程的情况;(井下容易把两侧墙体拟合成平面)

​ 三 点云法向量法

点的法线估计是需要其邻域点的做支持,邻域的大小一般由邻域半径值或临近点个数来表示。过大的邻域会抹平三维结构细节使得法向量过于粗糙,而过小的邻域由于包含了太少的点受噪声干扰较大。
用法向量进行地面分割是考虑到地面点的法向量一般为竖直方向,通过设置角度阈值,求每个点的法向量与地面法向量的夹角,与阈值对比进行分类,下图选择和地面的夹角为30度点,进行地面提取:

存在问题:

  1. 远处点云稀疏,法向量求解困难,可能存在无效点 近距离点云存在地面漏识别问题
  2. 考虑到人行道,车顶等道路上很多物体都存在法向量为(0,0,1)或(0,0,-1)的区域,所以通常会把点云法向量作为特征与其他方法结合过滤地面点集。

四 面元网格法

基于面元的分割可以分为局部类型或者表面类型,常采用区域增长的方式进行地面分割。其核心是基于点法线之间角度的比较,将满足平滑约束的相邻点合并在一起,以一簇点集的形式输出,每簇点集被认为是属于相同平面。只不过是用曲率代替距离和高度。

区域增长的具体流程:

  1. 选择种子点:在当前点集A中选择有最小曲率的点加入种子点集;
  2. 区域增长:寻找种子点的邻域点,对于位于A中且与种子点的法向量夹角小于阈值的邻域点,将其加入当前区域中,如果其曲率小于阈值则也加入种子点集;
  3. 对于每个种子点重复上一步操作,最终输出一组类,每个类的点都认为是同一平滑表面的一部分;

存在问题:

  1. 采用面元区域增长的方法在一定程序上能够较好的应对地面存在曲率的情况。对于比较平缓的曲面或者平面能够达到较好的分割效果,但是实际道路中的噪声点太多,直接使用区域增长分割地面,会出现较多零星的地面点被当成障碍物点集。
  2. 而且区域增长算法的时耗较大,时间复杂度和面积成正比,对于实时性要求较高的感知算法模块,需要进一步优化。比如将平面的区域增长降维到边缘,或者划分区域,在小范围内进行分割等等。

五 平面栅格法

栅格法通常是根据设定好的尺寸建立平面网格(也可以做多层网格或者三维体素),然后将原始点云投影到对应的网格中,对每个网格中的点集提取特征,比如:平均高度、最大高度、高度差、密度等等。

基于坡度高度差的地面提取方法:

  1. 设置网格尺寸生成栅格图;
  2. 根据点的x,y坐标投影到对应的栅格中;
  3. 统计每个栅格中的点集高度特征;
  4. 统计量与设定的阈值比较进行分类。

存在问题:

  1. 采用高度特性进行地面过滤,低矮障碍物容易漏检和误识别,阈值设置低了(0.3),地面容易误识别,阈值设置高了(0.6),低矮障碍物漏识别
  2. 当地面两侧存在下水道和水坑时,采用高度差分割地面容易出现误识别,(最低点为坑道内部最低点,地面被误识别为障碍物)

在栅格法中,我们一般会利用高度信息对点集进行分类,但是往往地面高度和路两边的人行道高度差距只在30cm左右,如果没有先验信息提取出道路ROI区域的话,使用高度阈值划分道路,路沿,障碍物可能存在误差,但是引入点云法向量,可以较好的提取出道路两旁法向量突变的点集构成路沿,从而配合栅格化将道路区域,非道路区域,障碍物进行划分。

参考资料

1 超详细的激光点云地面分割(可行驶区域提取)方案

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值