8

一文详解激光雷达的障碍物检测

 3 years ago
source link: https://mp.weixin.qq.com/s/k8nrA8nBhSldAdQDFmB9Ag
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一文详解激光雷达的障碍物检测

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

640?wx_fmt=jpeg

640?wx_fmt=jpeg

激光雷达感知

自动驾驶中采用激光雷达做感知可以分为两个层次,低层次感知也叫作障碍物检测,只需要探测到前方有障碍物即可;高层次感知可以看做目标识别,需要对障碍物信息进一步分类。

障碍物检测是指从点云数据中提取出潜在的障碍物体,得到它们的方位、尺寸、形状、朝向等信息,一般通过Bounding box来添加或者多边形来描述。

障碍物检测框架

激光雷达的障碍物检测流程一般如下:

1. 考虑到车上有多个传感器共同作业,需要对输入的激光点云做时间同步和外参标定。

2. 考虑到激光雷达的采样噪声和点云数据量大的问题,需要对点云做预处理,减少数据量,剔除噪声点。

3. 每帧点云数据中包含了大量的地面点,检测的目的是获取道路障碍物信息,需要进一步分割出地面上的点云。

4. 地面上的障碍物点通常采用无监督的聚类算法形成多个团簇,每个团簇则表示一个障碍物。

5. 针对团簇的物体识别可以根据任务需求而定,如果需要类别信息,可以采用特征提取+分类器的方式分类障碍物。

6. 对每一块团簇做包围框拟合,计算障碍物属性,比如中心点,质心点,长宽高等。

7. 对每一个障碍物构建一个卡尔曼滤波器做跟踪,平滑输出。

640?wx_fmt=png

预处理

为什么进行点云滤波处理?

1. 点云数据密度不规则需要平滑

2. 遮挡等问题需要进行离群点去除

3. 点云数据量大需要做下采样

4. 激光雷达采用时存在噪声数据需要去除

有哪些点云滤波方法?

1. 直通滤波:获取感兴趣范围内的点云数据,如下图所示过滤掉前方墙体;

640?wx_fmt=png

2. 体素网格:平滑点云密度,减少点云数量,如下图所示下采样获得稀疏点;

640?wx_fmt=png

3. 统计滤波:剔除离散群点,如下图所示剔除桌子边缘的离散点;

640?wx_fmt=png

ROI提取

由于激光雷达每次采集障碍点时视角不同,采集的部分障碍点坐标变化较大,而且很多障碍点与障碍物的跟踪不相关,比如灌木、树叶、墙体、高楼等。障碍点过多会影响外接框轮廓的提取,所以需要对原始点云进行筛选出感兴趣区域。

高精地图

ROI区域可以从高精地图检索到包含路面、路口的可驾驶区域。从而去除路边建筑物和树木等背景对象。如下图所示:

640?wx_fmt=jpeg

高精地图具有分层的数据结构,最底层是基于红外线雷达传感器所建立的精密二维网格,精度通常在5×5厘米左右。可以行驶的路面、路面障碍物,以及路面在激光雷达下的反光强度都被存储于相应的网格当中。(绿色区域表示不可行驶的路面)

除此之外高精地图还提供路面语义信息,包括道路标识线的位置、特征;车道特征;路牌信息等。

路沿检测

激光雷达通过检测道路边沿,拟合三次曲线方程,从而将道路以外的点剔除。常用方法包括:

1. 栅格化后根据网格内点云的高度差判断路沿点;

2. 对同一条扫描线上的点集,计算曲率变化,从而判断路沿点;

3. 根据点云法向量的变化,求取路沿点;

以上方法也可混合使用,优化检测效果。

640?wx_fmt=png

地面分割

为什么要做地面分割?

由于传统的点云处理是采用聚类的方式进行物体分割,而聚类算法依据点之间的某种距离来度量属性,因此地面点会对位于地面上物体点集造成干扰。

有哪些地面分割的方法?

1. 基于平面栅格构建俯视图(即投影到x-y平面)2D网格,然后统计网格中点云个数;网格中点云最大/最小/平均高度;网格中点云密度等信息。基于统计量分割地面。

2. 基于模型拟合求取方程,如平面拟合-RANSAC;高斯过程-GP-INSAC;平面参数拟合(特征值)。

3. 基于面元mesh进行区域生长,判断地面点集。

如下图所示,当获取地面方程或者地面点集后,剔除掉地面点,保留地面上的障碍物点,用于后续算法。

640?wx_fmt=png

团簇聚类

ROI提取+地面分割后的点云数据,只留下路面上障碍物的点云,背景区域以及地面已被移除。聚类算法将针对单独的车辆、行人等障碍物分割出来。常用算法基于以下三种:

欧式聚类是找到最近点,只要点与点之间的距离,在一定半径范围内就认为这些点属于一个类别。

640?wx_fmt=jpeg

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

640?wx_fmt=png

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

640?wx_fmt=png

包围框拟合

包围框拟合是对每一聚类,确定一个能够将点云簇包裹的三维Bounding Box,将其视为一个物体处理。通常有三种拟合形式:最小外接矩形,带旋转的最小外接框;最小包围框。

外接矩形:针对一个凸多边形的顶点,求出外接该多边形且面积最小的矩形;

最小外接框:带旋转角的最小外接矩形;

点云凸包:包含所有点的最小凸集;

640?wx_fmt=png

表述太拗口,看上图最直接。在三维点云的拟合中常采用最小外接框和凸包进行表征,因为如果是倾斜的车辆,采用外接矩形的方式会增大障碍物尺寸。

640?wx_fmt=png

目标跟踪

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

•采用EKF/UKF滤波得到目标ID,并且平滑目标运动方向,位置和尺寸;

•根据帧间隔以及车身提供的自车信息配合目标位置计算目标速度,加速度和角速度;

•根据目标位置与障碍物所在车道的拓扑关系(道路连接关系)进行目标的轨迹预测,以此作为无人车规划(避障、换道、超车等)的判断依据;

640?wx_fmt=jpeg

问题1

反射率低的物体造成点云缺失引起过分割?

采用扫描线补偿的方式针对一次激光发射的数据线性插值补全空洞的点。如下图蓝色区域

640?wx_fmt=jpeg

问题2

车速较快时激光雷达探测的物体有拖影问题?

无论是机械旋转式采样,还是非重复式扫描。每一帧点云中的点都是存在不同时刻的位置偏移,如下图蓝色框的两辆对向来车,当车速越快,拖影越明显。当激光雷达感知应用于运动物体速度大于50km/h的环境中,需要对每帧点云做运动补偿。

640?wx_fmt=png
本文仅做学术分享,如有侵权,请联系删文。下载1在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。下载2在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。下载3在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

640?wx_fmt=png▲长按加微信群或投稿

640?wx_fmt=jpeg

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款640?wx_fmt=jpeg 圈里有高质量教程资料、可答疑解惑、助你高效解决问题觉得有用,麻烦给个赞和在看~640?wx_fmt=gif


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK