APP下载

越野车激光雷达障碍物检测系统研究

2022-08-19柳广照曹海强刘桂宇

信息记录材料 2022年6期
关键词:栅格激光雷达障碍物

柳广照,曹海强,刘桂宇

(一汽解放汽车有限公司 吉林 长春 130011)

0 引言

未来战争向高度信息化方向发展,“智能化”是未来作战系统最终目标,而“智能化”武器也必然要求配套的机动平台智能化。智能车包括遥控车辆、跟随车辆和自主行驶车辆,是车辆和智能技术结合的产物,具有自主环境感知、自主导航和路径规划、自主规避障碍行驶的能力。尤其是感知系统,是实现无人驾驶的基础,其为路径规划和车辆控制提供依据,保证着车辆的行驶安全。同时,影响车辆行驶安全的关键性因素是障碍物,对于障碍物检测便是环境感知的重要任务之一。障碍物信息包括障碍物类别信息、位置信息和运动信息,车辆通过获取的各个障碍物信息结合局部路径规划来做出具体的避障行为从而确保行车安全。本文研究的激光雷达障碍物检测系统,是无人车环境感知系统的重要组成部分,能够实现对无人车周边环境的精确三维建模[1]。

1 越野车激光雷达障碍物检测系统

激光雷达障碍物识别系统主要由路面识别控制器、激光雷达、摄像头、加速度传感器、供电电源及显示屏组成,激光雷达安装在车辆顶部,摄像头安装在驾驶室前挡风玻璃内侧,加速度传感器安装在激光雷达正下方,控制器、显示器、电源安装在驾驶室。

该系统主要通过激光雷达采集环境信息,并通过摄像头、加速度传感器数据进行补充和修正,在智能域控制器中对信息进行处理。控制器采用英伟达Jetson Xavier 控制器,该控制器算力行业领先,能够部署较大规模的深度学习人工智能算法,满足算法开发需求。激光雷达使用速腾80 线激光雷达,点云稠密,对周围环境表征良好。系统简图见图1。

2 算法研究

激光雷达感知模块从输入激光点云开始,以此经过点云融合子模块(Fusion)、深度学习感知子模块(CNNSeg)、传统方法感知子模块(NCut)、跟踪子模块(Tracking)。子模块及子模块间关系,见图2。

点云融合子模块:接收各激光雷达驱动的点云数据,做时戳同步后,根据外参标定转换到自车坐标系,并将相邻时间的不同传感器点云拼接为一个点云输出。

深度学习感知子模块:输入拼接后的点云数据,采用CNNSeg 算法检测出障碍物信息,包括位置、朝向、尺寸、类型,并调用NCut 子模块,将去除地面点和障碍物点的点云数据发送到NCut 子模块,待NCut 检测完成后,将两种算法的检测结果合并发送到跟踪子模块。

传统方法感知子模块:由CNNSeg 子模块调用,可以通过配置文件选择不调用,收到经过CNNSeg 过滤的点云,采用NCut 方法对点云做分割,并返回目标检测结果,包括位置、朝向、尺寸,由CNNSeg 子模块合并后发送到跟踪子模块。

跟踪子模块:接收感知结果,采用卡尔曼滤波和匈牙利匹配,跟踪匹配多帧间的目标,并计算输出目标的速度大小和方向。

2.1 点云拼接和时间同步

点云拼接子模块输入各激光雷达对应驱动的点云数据,首先对各点云数据进行时间同步,同步后的各激光点云坐标分别根据外参转换到自车坐标系,最后在自车坐标系下将多个激光雷达的点云拼接为一帧点云,并输出到后续分割子模块。点云拼接时间同步流程见图3。

时间同步方法具体是,以多个激光雷达中的一个为主传感器(如果只有一个激光雷达则跳过当前子模块),可以从任意时刻开始接收激光点云,若收到次激光点云,则缓存到对应buffer,若收到主激光雷达点云,则等待50 ms 后到各个次激光雷达点云中搜索时间戳最近的一帧,若该帧时戳与主激光点云时戳相差超过50 ms 则舍弃,否则进入坐标转换步骤。时间同步的具体流程图见图4。

经过点云时间同步之后,见图5,局部放大之后可以看出同一车辆不同雷达扫描点云有很好的吻合度。

2.2 基于深度学习的障碍物感知

基于深度学习的障碍物感知流程图,见图6。该模块从点云拼接模块获取点云数据后,经过特征提取模块获得点云特征,将该特征以及预训练好的深度学习模型送入模型推理模块得到模型输出,输出的特征经过后处理模块之后得到深度学习感知结果[2]。

2.2.2 模型推理

推理模块使用特征提取模块的特征以及预训练好的深度学习模型(ONNX 格式),使用TensorRT 库进行模型推理,即使用特征和模型,调用TensorRT 库的函数进行模型推理[3],过程说明见图8。模型推理的输出为同点云特征相同尺寸的多通道矩阵:(1)栅格所属障碍物类别;(2)栅格所属障碍物置信度;(3)栅格是否为地面;(4)栅格所属障碍物高度;(5)栅格所属障碍物x 方向夹角;(6)栅格所属障碍物y 方向夹角;(7)栅格所属障碍物的长度;(8)栅格所属障碍物的宽度;(9)栅格所属障碍物高度;(10)栅格中心到所属障碍物中心的x 方向偏移量;(11)栅格中心到所属障碍物中心的y 方向偏移量。最后,将模型推理的输出整理成11 通道矩阵,存储在内存中,传递给后处理模块。

2.2.1 特征提取

得到拼接点云后,将点云按照预定义的感知范围和栅格尺寸,将点云转换成栅格化的特征。本模块对每个栅格提取的特征共8 种类别:(1)栅格内最高点高度;(2)栅格内平均高度;(3)栅格内点的数目;(4)栅格中心点相对于原点坐标的夹角;(5)栅格内最高点的反射率;(6)栅格内平均反射率;(7)栅格相对于原点坐标的距离;(8)栅格内是否为空(没有任何点)。最后,将该8 种特征以8 通道矩阵的形式存储在内存中,传递给模型推理模块,见图7。

网络模型采用U-Net 网络,输入特征和输出特征有相同的尺寸,可以更好地表现局部特征,使检测网络有更好的召回率,网络结构见图9。

2.3 几何方法障碍物检测

先找到原始点云数据中地面平面点,并将其去除,本文使用的方法为射线路面点提取算法。算法的核心是以射线的形式对点云进行重构。我们现在将点云的(x,y,z)三维空间降到(x,y)平面来看,计算每一个点到车辆正方向(x 轴)的平面夹角θ,我们对360 度以激光雷达的角度分辨率进行微分,每一份的角度为0.18 度,同一夹角上的n 线激光雷达有n 束这样的射线。对同一夹角的线束上的点按照半径的大小进行排序,通过前后两点的坡度是否大于事先设定的坡度阈值,从而判断点是否为地面点[4]。

下一步,利用聚类算法将单独的障碍物分割出来,利用最小凸包法画出每个障碍物的边界框。在此基础上,求出并画出包围每个障碍物的边界框的最小面积矩形,并与利用视觉算法识别的障碍物进行融合,得到障碍物的类别信息。

算法的聚类采用传统的欧氏聚类算法,在欧几里德聚类中。我们使用的基本的数据结构为KD Tree(k-维树)[5]。KD 树是在一个欧几里德空间中组织点的基本数据结构,它本质上就是一个每个节点都未k 维点的二叉树。在PCL 中,由于点云的三维属性,所用到的K-维树即为3 维树。在本文的方法中,我们通过将点云Z 轴设置为0,得到了一个二维树。原因在于,一方面无需关注点云簇在z 方向的搜索顺序,两个物体在z 方向叠在一起可以将其视为一个障碍物,另一方面希望能够加快聚类速度以满足无人车感知实时性的需求。欧氏聚类通过判断距离阈值,判断点云是否为同一个物体。

在激光雷达与摄像头融合算法中,根据传感器之间的外参关系及摄像头内参,将障碍物点云映射到图像坐标系,通过计算点云包围框与摄像头深度学习识别到的包围框之间的重叠率,判断两者是否为同一个物体,若不是同一个物体,则将摄像头识别到的类别检测结果返回给激光点云障碍物。

2.4 后处理

后处理模块根据模型推理模块的输出,首先遍历栅格置信度,找到所有置信度满足阈值的栅格;其次,遍历每个上一步中筛选的栅格,根据栅格x 方向偏移以及y 方向偏移量,找出中心;再次,对于中心相同或者相近的栅格,将其聚类得到多个cluster;最后,根据每个cluster 中所有栅格的分类分数,相对中心的偏移量以及尺寸,加权平均得到障碍物类别、位置和尺寸。流程见图10。

3 KITTI数据集测试

本文算法在KITTI 数据集进行了测试,检测的可视化效果见图11。

最后在kitti 数据集上进行验证,在二维俯视图重合度为0.7 的情况下,容易、中等、困难数据的平均准确率统计见表1。

表1 不同难度数据的平均准确率 单位:%

4 结语

本算法融合了深度学习高精确及传统几何低漏检处理优势,可以对车辆周围的障碍物进行准确识别,并通过跟踪模块获得障碍物速度信息,实现了对周围环境的准确建模,能够为后续路径规划算法提供准确输入。

猜你喜欢

栅格激光雷达障碍物
激光雷达实时提取甘蔗垄间导航线
栅格环境下基于开阔视野蚁群的机器人路径规划
法雷奥第二代SCALA?激光雷达
超声速栅格舵/弹身干扰特性数值模拟与试验研究
高低翻越
赶飞机
月亮为什么会有圆缺
反恐防暴机器人运动控制系统设计
Velodyne激光雷达宣布将GaN技术用于小型化低成本固态激光雷达传感器的新设计
基于栅格地图中激光数据与单目相机数据融合的车辆环境感知技术研究