基于Matlab使用激光雷达检测分类跟踪车辆仿真(附源码)
该示例展示了如何利用安装在 ego 车辆上的激光雷达传感器捕获的激光雷达点云数据来检测和分类装有定向边界框的车辆。感知模块在实现具有 ADAS 系统的车辆完全自主性中发挥重要作用,激光雷达擅长提取精确深度信息的同时配合摄像头提供环境细节信息。
系统流程主要包括以下关键步骤:
加载数据:使用有组织格式的点云数据(64条水平扫描线)进行处理。
地面分割:采用混合方法估计地面参数并稳健地拟合地面平面。
语义分割:通过预训练网络对车辆等对象进行分类,并使用语义掩码过滤点云。
边界框处理:利用聚类算法(如欧几里得聚类)提取长方体边界框并拟合方向角。
可视化设置:展示完整的检测流程包括范围图像、标签图、三维边界框及俯视图。
轨迹跟踪:使用联合概率数据关联(JPDA)跟踪器进行目标追踪,并通过MATLAB脚本“DetectClassify...Example.mlx”演示效果。
该系统结合多模态传感器数据进行检测分类,并支持进一步改进语义分割结果以提高精度。
目录
一、概述
二、加载数据
三、接地层分割
四、语义分割
五、簇状和边界框管接头
六、可视化设置
七、总结
八、程序
本示例展示了在安装于 ego 车辆上的激光雷达传感器的基础上采集激光雷达点云数据,并通过该数据实现车辆识别、分类以及追踪功能。该示例所利用的激光雷达数据源自高速公路行驶方案记录。在此案例中,对点云数据进行分段处理,并确定使用网络模型进行对象分类。为了实现目标追踪功能,在此过程中采用了具有交互式多模型滤波器的联合概率数据关联(JPDA)跟踪器。
一、概述
感知模块在具备ADAS系统车辆实现全自动化能力方面扮演着关键角色。在感知流程中扮演关键角色的主 sensor 是激光雷达与摄像头系统。其中,激光雷达以其主要功能体现在精准获取物体深度数据上,而作为视觉辅助的核心传感器,则通过提供丰富的环境细节描述来辅助整体感知精度。这种精确与详细的信息对于准确进行物体分类至关重要。
此示例主要包括以下部分:
接地层分割
语义分割
定向边界框拟合
面向跟踪的边界框
流程图概述了整个系统。

二、加载数据
该系统采用有组织格式或无组织格式生成点云数据集,并通过特定算法对空间信息进行精确建模。该系统中的具体实例是由 Os1 激光雷达传感器采集完成,并基于其高精度定位特性实现了对复杂环境的有效感知。该系统能够生成包含 64 条水平扫描线的有序多分辨率三维模型,并将空间信息划分为三个维度参数:x轴表示东西方向坐标位置、y轴代表南北方向坐标位置以及 z轴体现垂直高度数值特征。每个维度下的采样数量分别为 64 行与 1024 列的空间矩阵维度参数设置。
三、接地层分割
该示例采用混合方案进行处理,在该方案中 LidarData 和 pcfitplane 两个计算机视觉工具箱函数被调用。首先,在代码中调用 LidarData 函数以获取地面信息,并通过调用 pcfitplane 函数进行平面拟合操作。具体来说,在代码实现中首先通过调用 LidarData 函数获取车辆行进方向上的地面信息,并利用这些数据计算出地面参数的初始估计值。随后,在代码中调用 pcfitplane 函数对计算出的地面参数进行优化处理,并将优化结果用于后续的平面拟合操作中。这种混合方案通过分段稳健拟合地面并有效处理点云数据的变化特征。

四、语义分割
该方法基于预 trained 网络模型。这是一种端到端实时语义分割网络,并对汽车、卡车及其背景等物体类别进行训练。输出结果是一个遮罩图像,在每个像素位置上根据其类别进行标注。该遮罩被用来筛选点云中的不同物体类型。输入是一幅包含五个通道的图像,即 x、y、z、强度和范围坐标信息。有关该网络及其训练方法的具体细节,请参阅PointSeg深度学习框架(激光雷达工具箱)中的激光雷达点云语义分割示例
准备输入数据:该函数从加载的点云数据生成五通道数据。

在加载的预训练网络的一个帧上运行前向推理。

使用生成的语义掩码过滤包含卡车的点云。同样,为其他类过滤点云。

五、簇状和边界框管接头
对不同类别对象的点云提取后,利用pcsegdist函数(计算机视觉工具箱)执行欧几里得聚类以实现对物体的分类。将被分配到同一类别中的所有点归为一组,并将其作为非地面区域扩展的基础。随后,调用findNearestNeighbors函数遍历所有数据以扩大扩展区域。所提取出的类别通过pcfitcuboid功能(激光雷达工具箱)拟合至L型边界框,这些车辆群在形状上与字母L相似。从上方俯视的角度来看,这种布置有助于确定物体的方向和航向角,从而在路径规划和交通控制等领域发挥重要作用。
也可以通过确定每个方向上的最小与最大空间范围来用于确定聚类的长方体边界。然而,该方法未能估计被检测车辆的方向。通过对比分析可知,两种方法间的差异主要体现在这一特性上。


六、可视化设置
通过该类工具在一个单一界面内实现完整工作流程的可视化展示;该可视化界面采用模块化设计,将内容划分为若干功能区域
激光雷达范围图像:2-D 中的点云图像作为范围图像
分割图像:由语义分割网络输出的目标区域被识别出来后,这些信息将与强度图像或数据中的第四通道进行融合
定向边界框检测:具有定向边界框的 3-D 点云
顶视图:具有定向边界框的点云的俯视图
循环访问数据
该封装模块整合了上述各节所述的所有分段、聚类和边界框拟合步骤。通过调用该函数能够提取被检测的对象。

跟踪定向边界框
采用联合概率数据关联(JPDA)跟踪器进行目标追踪。该跟踪器的时间步长设定为0.1秒,在本研究中基于10Hz的数据采样频率进行设计。其状态空间模型构建于参数化的长方体框架上,并表示为dt[x,y,z,φ,l,w,h]。为了深入探讨如何利用激光雷达检测到的目标边界框进行追踪,请参考《利用激光雷达进行车辆追踪:从点云到 bounding box 示例》一文。在该研究中,默认情况下类信息是由车辆自身的属性所决定的。当初始化新目标时,请参考辅助函数定义筛选器的过程来获取必要的初始参数配置值。这些初始条件有助于使跟踪算法能够根据目标运动轨迹设定合适的尺寸范围,在随后对边界框测量模型进行优化时提供更加精准的结果。

七、总结
此示例展示了在激光雷达数据集上实现对具有方向边界框车辆的检测与分类能力。此外,在多类信息目标对象追踪方面也进行了深入学习,并掌握了IMM筛选器的应用方法。通过补充更多的训练数据集以及优化现有模型参数配置等措施, 可以为提升语义分割性能提供有力支持
八、程序
使用Matlab R2021a版本,点击打开。

启动该文件'DetectClassify...Example.mlx'后,请您双击运行以查看其效果。
程序下载链接:<>
