路侧激光雷达目标检测系统-篇1_ruby激光雷达发布csdn

2、为什么用激光雷达?
  ①需要更高分辨率交通数据;②传统传感器受影响的因素多;③体积小,重量轻,隐蔽性好;④可协同工作,构建高精度模型;
  3、为什么要布置在路侧?
  ①利于传统机动车的联网过渡;②较传统车载雷达方案成本低;③受实际道路地形,天气影响小;④便于联合组建交通地理网络;

研究方法和思路

如图所示,大概可以分为5步:
在这里插入图片描述

点云数据采集平台

用的是RS-Ruby Lite 80 线激光雷达,其实数据是老师给我的,想要的我可以发在我的博客上,它的具体参数如下:
在这里插入图片描述

用到的数据处理软件

  1. 机器人操作系统
      实际上就是我们的ROS系统,我在使用Linux的ubantu系统上处理的。
       机器人操作系统是适用于机器人的开源元操作系统,它集成了大量的工具、库、协议,提供了类似操作系统所提供的功能,在某些方面类似于一个新的“机器人框架”。
      我们选用ROS处理三维激光雷达数据,包括点云显示节点、点云在硬盘中的加载与显示等功能。
  2. MATLAB2020a
  3. Cloud Compare
      它是一个三维点云(网格)编辑和处理软件。它可以实现三维点云数据和三角形网格之间的对比。此外,还新增了其他包括图像处理校准、重新采样、开放式图形库着色器和插件等的显示增强工具。
      它可以提供高斯、双边、统计、CSF地面滤波和坡度法地面滤波的过滤效果与对比。

点云预处理

在这里插入图片描述
  我把我要用的rosbag转换成KITTI类型的数据集
  KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。
   KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。整个数据集由389对立体图像和光流图,39.2 km视觉测距序列以及超过200k 3D标注物体的图像组成,以10Hz的频率采样及同步。
在这里插入图片描述
在这里插入图片描述
   Rosbag是记录了一系列连续帧的点云文件,对于道路障碍物识别则需要将连续帧分解为KITTI形式的单帧文件进行识别。
   ROS的message_filter 提供了两种同步方式: 精确同步和近似同步, 由于时间戳无法真正对齐, 本文采用近似同步, 总体思路就是回放rosbag, 发布topics, 然后自己编写节点代码订阅topics, 并按照自己的同步规则和提取数据的要求进行数据处理。
用到如下两条指令:
在这里插入图片描述
在这里插入图片描述

非地面点云分割

前面的数据没看懂也没啥关系,直接用人家网站公开的KITTI数据也可以,具体可以去网站:cvlibs.net,我也有下载好的,很大有26个g,要用的话可能用不了这么多,我分批传到csdn上,后面我把百度云链接给上,平台定价策略太玄学了,我主要是想非必须的都免费分享给大家,你也可以根据自己的需要在matlab上人为生成,不过很麻烦,要做的可以探索下。
   常见的点云地面数据提取有垂直高度差、地面点云线性归纳法和刺状边缘平滑变化提取的方法。毕竟我们要在二维平面上进行聚类,如果从上面看有地面点云的影响,那还怎么识别?对吧。
上一下效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点云栅格化

栅格地图是一种基于两维平面网格来存储点云类别等特性的存储方式。它可以将点云按所在的空间位置进行区域“窗格化”分割,将一定空间范围内的点云数据所包含的统计信息存储在提前指定大小范围内的所属坐标的栅格中,利用该点云块所在的栅格信息将原数据替换,大大减少了数据的处理时间。
   本文采用以实际长度大小为 0.1m* 0.1m为单位创建栅格,将路侧雷达空间位置作为几何基准点,构建图像,于是可以推得对任意一个点云,其具体位置坐标可用如下式表示:
在这里插入图片描述
栅格就是把点存到一个个小格子里面,抽象一下就长这样:
在这里插入图片描述
点二维可视化之后就长这样:
在这里插入图片描述

非地面栅格点云聚类

聚类是一种寻找已知数据的内在分布规律的技术。它把全部数据的集合根据我们的主要需求特性组织成一系列类似组,而这些类似组被称作簇。处于相同簇中的数据属性彼此相同,处于不同簇中的数据属性在一定置信概率下视为不同。
   主流的聚类方法主要分为3类:

  1. 划分聚类,将数据对象组织成多个分区,在分类好的数据中选取几个初始特定点进行反复迭代,直到簇内的数据集合距离小,簇间数据大的分块效果。
  2. 层次聚类,该方法对给定的数据按层次分解,直至全部数据点都凝聚至一类聚类或者达到已经设定好的跳出条件而结束。
  3. 密度聚类,基于密度特征的聚类算法可适用于聚类复杂边缘分布点形状的簇。
       显然在非地面点云提取完成后,我们需要对格子点云进行聚类,由于点云的复杂性空间分布的属性,显然需要一种基于密度的点云聚类方法。
    分析一下原理,抽象化步骤如图,可以结合其他大佬原理分析来看,有空再写。它的核心思想就是一个类别簇内得有足够数量的相同类别数据才能让它归于一类,在每一个点周围画圈,聚在一起的就是一类。
    在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

利用多层感知机模型进行聚类识别

在这里插入图片描述
这里我们激活函数为sigmoid,损失函数用交叉熵,交叉熵和损失函数定义如下:
在这里插入图片描述

构建多层感知机分类识别模型

选取特征值

在这里插入图片描述
高度轮廓的意思跟下面一样,轿车高度不同作为特征:
在这里插入图片描述
将所得的输入向量导入到训练得到的多层感知机模型中。由于在多层感知机模型中交叉熵函数内部会实现Softmax函数用于估算输出机动车和非机动车的概率。
在这里插入图片描述

可行性评价指标及改进

评价指标就用日常的精确率、召回率和f1综合得分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
布置方案:

  1. 低坡度:在山地具有较大坡度的城市道路,就无法利用地面高度平滑性的工程特点来分割地面点云数据,即使使用地面坡度拟合,受噪声影响也较大;
  2. 非机动车目标高度一般:路侧电线杆、大型卡车和货运车的货物等目标对栅格转化影响较大,需要根据不同路段常过车辆来规定不同的栅格阈值;
  3. 路况微小单位较少:商业街道人群,学校路段,公园多宠物等复杂情况,会造成目标点云数据粘连在一起从而造成误识别。

改进:

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

*如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值