目录

一、概述

二、加载数据

三、接地层分割

四、语义分割

五、簇状和边界框管接头

六、可视化设置

七、总结

八、程序


此示例演示如何使用安装在 ego 车辆上的激光雷达传感器捕获的激光雷达点云数据来检测、分类和跟踪车辆。此示例中使用的激光雷达数据是从高速公路驾驶方案中记录的。在此示例中,对点云数据进行分段,以确定使用网络的对象类别。具有交互式多模型滤波器的联合概率数据关联(JPDA)跟踪器用于跟踪检测到的车辆。

一、概述

感知模块在实现具有ADAS系统的车辆的完全自主性方面发挥着重要作用。激光雷达和摄像头是感知工作流程中必不可少的传感器。激光雷达擅长提取物体的精确深度信息,而相机则产生丰富而详细的环境信息,这对于物体分类非常有用。

此示例主要包括以下部分:

  • 接地层分割

  • 语义分割

  • 定向边界框拟合

  • 面向跟踪的边界框

流程图概述了整个系统。

二、加载数据

激光雷达传感器以有组织格式或无组织格式生成点云数据。此示例中使用的数据是使用 Os1 激光雷达传感器收集的。此激光雷达生成具有 64 条水平扫描线的有组织的点云。点云数据由三个通道组成,表示点的 xy 和 z 坐标。每个通道的大小为 64 x 1024。

三、接地层分割

此示例采用混合方法,该方法使用段“来自”地面“LidarData(计算机视觉工具箱)和 pcfitplane(计算机视觉工具箱)函数。首先,使用函数估计接地平面参数。估计的接地平面沿着车辆方向划分为条带,以便使用每个条带上的功能来适应平面。这种混合方法以分段方式稳健地适合地平面,并处理点云中的变化。

四、语义分割

示例使用预训练的网络模型。 是一个端到端的实时语义分割网络,针对汽车、卡车和背景等对象类进行了训练。网络的输出是一个屏蔽的图像,每个像素都根据其类进行标记。此遮罩用于过滤点云中不同类型的对象。网络的输入是五通道图像,即 x、y、z、强度和范围。有关网络或如何训练网络的详细信息,请参阅使用 PointSeg 深度学习网络(激光雷达工具箱)的激光雷达点云语义分割示例。

准备输入数据:该函数从加载的点云数据生成五通道数据。

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

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

五、簇状和边界框管接头

提取不同对象类的点云后,通过使用 pcsegdist(计算机视觉工具箱)函数应用欧几里得聚类来对对象进行聚类。为了对属于单个聚类的所有点进行分组,将获得的作为聚类的点云用作非地面点中增长区域的种子点。使用 findNearestNeighbors(计算机视觉工具箱)函数遍历所有点以扩大该区域。提取的聚类将使用 pcfitcuboid(激光雷达工具箱)功能拟合到 L 形边界框中。从自上而下的角度来看,这些车辆簇类似于字母L的形状。此功能有助于估计车辆的方向。定向边界框拟合有助于估计对象的航向角,这在路径规划和交通机动等应用中非常有用。

也可以通过查找每个方向上的最小和最大空间范围来计算聚类的长方体边界。但是,此方法无法估计检测到的车辆的方向。这两种方法之间的区别如图所示。

六、可视化设置

使用该类在一个窗口中可视化完整的工作流。可视化窗口的布局分为以下几个部分:

  1. 激光雷达范围图像:2-D 中的点云图像作为范围图像

  2. 分割图像:从语义分割网络生成的检测到的标签,该网络与强度图像或数据的第四通道叠加在一起

  3. 定向边界框检测:具有定向边界框的 3-D 点云

  4. 顶视图:具有定向边界框的点云的俯视图

循环访问数据

该类是一个包装器,其中包含上述各节中提到的所有分段、聚类和边界框拟合步骤。使用该函数提取检测到的对象。

 跟踪定向边界框

将使用联合概率数据关联 (JPDA) 跟踪器。时间步长设置为 0.1 秒,因为数据集是在 10 Hz 下捕获的。跟踪器中使用的状态空间模型基于具有参数的长方体模型,dt[x, y, z, φ, l, w, h].有关如何追踪激光雷达数据中边界框的更多详细信息,请参阅使用激光雷达追踪车辆:从点云到追踪列表示例。在此示例中,类信息是使用 的属性提供的。创建新轨道时,使用帮助程序函数定义的筛选器初始化函数将使用检测的类来设置对象的初始维度。这有助于跟踪器使用轨道的适当尺寸调整边界框测量模型。

七、总结

此示例显示了如何在激光雷达数据上检测和分类装有定向边界框的车辆。还学习了如何使用 IMM 筛选器跟踪具有多个类信息的对象。通过添加更多训练数据,可以进一步改进语义分割结果。

八、程序

使用Matlab R2021a版本,点击打开。

打开下面的“DetectClassify...Example.mlx”文件,点击运行,就可以看到上述效果。

关注下面公众号,点击文章《基于Matlab使用激光雷达检测分类跟踪车辆仿真》​​​​​​​,获取下载链接。

基于Matlab使用激光雷达检测分类跟踪车辆仿真(附源码)相关推荐

  1. 基于Matlab的合成孔径雷达模拟陆地场景(附源码)

    目录 一.生成模拟地形 二.指定搜救系统和场景 三.定义地表反射率 四.配置雷达收发器 4.1 生成数据多维数据集 4.2 可视化 SAR 数据 五.总结 六.程序 合成孔径雷达(SAR)系统使用平台 ...

  2. 基于matlab使用被动声纳系统定位声学信标(附源码)

    一.前言 此示例演示如何模拟被动声纳系统.固定的水声信标由浅水通道中的拖曳无源阵列检测和定位.声信标以每秒 10.37 千赫兹的速度传输 5 毫秒脉冲,并建模为各向同性投影仪.定位器系统在表面下方拖曳 ...

  3. 基于Matlab通过惯性传感器融合估计方向(附源码)

    目录 一.取向 二.传感器的类型 2.1 传感器数据 2.2 加速度计-磁力计融合 2.3 加速度计-陀螺仪融合 2.4 加速度计-陀螺仪-磁力计融合 2.5 调整过滤器参数 三.总结 四.程序 此示 ...

  4. 基于Matlab模拟、检测和跟踪飞机着陆进场中异常的仿真(附源码)

    目录 一.介绍 二.生成和标记轨迹 三.定义方案 四.运行方案并检测异常轨道 五.将跟踪异常报告与事实进行比较 六.总结 七.程序 该示例显示了如何自动检测最终接近机场跑道的飞机的偏差和异常.在此示例 ...

  5. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  6. 基于JAVA社区老人健康服务跟踪系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA社区老人健康服务跟踪系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA社区老人健康服务跟踪系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B ...

  7. java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码、数据库)

    java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...

  8. 基于OpenPose和Human segmentation的游戏人物解析(附源码)

    基于OpenPose和Human segmentation的游戏人物解析(附源码) --基于PaddleHub的真人街霸游戏 Github AI studio 街霸(Street Fighter)是大 ...

  9. opencv判断 线夹角_python opencv实现直线检测并测出倾斜角度(附源码+注释)

    由于学习需要,我想要检测出图片中的直线,并且得到这些直线的角度.于是我在网上搜了好多直线检测的代码,但是没有搜到附有计算直线倾斜角度的代码,所以我花了一点时间,自己写了一份直线检测并测出倾斜角度的代码 ...

最新文章

  1. 两栏布局,三栏布局,等高布局,流式布局
  2. Python 基础算法(1) - 算法简介
  3. 做JAVA开发的同学一定遇到过的爆表问题,看这里解决
  4. c#使用FluentFtp实现一行代码实现ftp上传下载等
  5. vue 接口节流_vue输入节流,避免实时请求接口的实例代码
  6. 动态游标(例如表名作为参数)以及动态SQL分析
  7. 复利计算1.0-2.0-3.0
  8. 图书馆系统java实训报告_基于Java的图书馆管理系统的设计实习报告
  9. 深度学习算法:AlphaGo 算法
  10. 龙蜥开发者说:我眼里的龙蜥社区:一个包容的大家庭 | 第 10 期
  11. [200814] 自己动手,搞定软件著作权申请(已成功)
  12. VIVADO生成并导入网表文件
  13. 网络游戏源代码分析_为您的游戏选择正确的网络代码
  14. PyCharm 4.5 激活码
  15. 金立(Gionee)金立M7 Power root 大金刚 GN5007 刷机TWRP 面具 XP框架 线刷包
  16. android一年经验面试,连续四年百度Android岗必问面试题
  17. 使用正则限制输入框只能输入英文和数字
  18. python自学做题记录之找数字
  19. 页面展示结果不符合预期
  20. 车船税减半优惠最新名单出炉,仅有一款自主入

热门文章

  1. 计算机辅助设计英语怎么读,计算机辅助设计的英文缩写、计算机辅助设计英语怎么读?...
  2. wps excel中怎样对比两列中的数据,并且把相同的数据粘贴在结果列。
  3. win10修改默认浏览器失败
  4. 输入一批整数,输出最大,最小值
  5. [salmon_gs]pandas.read_csv() 报错 OSError: Initializing from file failed的解决办法
  6. 仿咔叽分享页层级滑动效果
  7. 人为差错 (Human Error)(一)
  8. 菜鸟驿站为什么那么多转让的
  9. Android实战简单新闻主界面设计
  10. JeeSite入门介绍(一)