4D毫米波雷达分类和工程实现

news2024/11/16 1:27:00

       4D毫米波目标检测信息丰富,可获得目标3维位置信息、径向速度vrrcs等,能够对目标准确分类。

        4D毫米波和激光做好时空同步,可以用激光目标给4D毫米波做标注,提升标注效率。

1 激光用做4D毫米波分类真值

        128线激光推理的结果作为4D毫米波雷达的真值,但不同类别的尺寸存在重叠,存在分类错误可能。

1.1 小车,类别0,点数0~70,长度2m~7m,宽度1.6m~2.7m

1.2 大车,类别1,点数0~120,长度4.5m~14m,宽度1.9m~3.3m

1.3 两轮车,类别4,点数0~24,长度1.4m~2.4m,宽度0.55m~1.1m

1.4 行人,类别5,点数0~14,长度0.5m~1.5m,宽度0.55m~0.9m

        总体来看,128线激光标注的真值可靠性较高,但仍存在一些小问题,会对4D雷达分类结果造成一定影响,如果要求更高的标注准确度和精度,则需要提升128线激光雷达目标检测的性能,或者人工辅助标注。

2 特征统计和分类验证

       对标注数据进行统计分析,部分统计结果如下:

2.1 行人特征

2.2 两轮车特征

2.3 运动小汽车特征

2.4 运动大巴特征

        从统计结果可以发现,不同目标的特征有明显差异,比如点云数量、RCS等,通过对这些特征数据的训练,则能对毫米波目标进行分类。

        实验使用了距离、朝向、点云数、最大rcs、最大snr做训练,使用了9000多组数据,80%用做训练集,20%用做测试集,验证两轮车和一般车辆的分类准确率。

        总共使用了3种机器学习方法,最近邻(KNN)、支持向量机(SVM)和决策树(Decision Tree),分类准确率均在95%以上。

3 决策树用作4D毫米波分类的实现方法

        使用4D毫米波雷达的一些特征,可以对其做准确的分类。这里使用点数、距离、方位角、长、宽作为特征,长宽通过估计目标朝向后将点云投影到朝向方向上计算得到。本文使用决策树算法来实现分类,下面是详细的实现过程。

        训练使用python的sklearn,直接导入即可。

from sklearn.tree import DecisionTreeClassifier

        这里使用了三个类别(小车、大车、自行车)8万多组数据,80%用做训练集,20%用做测试集。     

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)

        然后调用函数进行训练。

decision_tree = DecisionTreeClassifier()       

decision_tree.fit(X_train, y_train)

        训练完成后在测试集上验证。

y_train_pred = decision_tree.predict(X_train)

y_test_pred = decision_tree.predict(X_test)

        再验证准确率。

from sklearn.metrics import accuracy_score

print('decision tree train accurary socre:', accuracy_score(y_train, y_train_pred), 'test accurary socre:', accuracy_score(y_test, y_test_pred))

train_error_score = 1 - accuracy_score(y_train, y_train_pred)

test_error_score = 1 - accuracy_score(y_test, y_test_pred)

print('decision tree train error socre:', train_error_score, 'test error socre:', test_error_score)

        如果使用默认参数,则训练集准确率为100%,测试集准确率为95%。

        获取决策树深度,发现有33层,叶子数有2179个,实在过于庞大。

tree_depth = decision_tree.get_depth()

tree_leaves = decision_tree.get_n_leaves()

print('depth',tree_depth,',leaves:',tree_leaves)

        调用决策树可视化工具,可以看到结果,由于叶子树太多,全屏显示只能看到一个个小点。

        将其放大到100%才能看清细节。

        这么多的层数和叶子树存在过拟合风险,而且实现的代码也非常复杂,因此考虑降低层数。

decision_tree = DecisionTreeClassifier(max_depth=9) 

在生成决策树模型的时候设置最大深度为9,则最后生成的决策树体量大幅减小,实测结果层数为9,叶子树为230。

训练集准确度有所降低,但测试集反而提升,表明降低了过拟合,提升了泛化性能。

        模型生成之后,代码编写费事费力,这里参考这位博主的方法,用代码自动生成。不过python脚本有点小问题,需要自行发现修改才能得到最后的结果。

        使用Python训练好的决策树模型生成C++代码_class=versicolor-CSDN博客

        使用m2cgen库也可以实现模型到c代码的转换,  详细信息可以查看m2cgen · PyPI

import m2cgen as m2c

code = m2c.export_to_c(decision_tree)

file = open('radar_tree_m2cgen_code.txt','w')

file.write(code)

file.close()

       最后得到可以运行的C语言代码。

        如果对效果不满意,可以使用不同的特征组合进行对比实验,以获得期望的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1421454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何从视频中提取高清图片?可以这样截取

如何从视频中提取高清图片?从视频中提取高清图片可以方便我们制作各种用途所需的素材,如海报、社交媒体配图等。此外,高清图片的细节和色彩也更丰富,可以更好地满足我们的视觉需求。从视频中提取高清图片是一项需要技巧的任务&…

windows上使用anconda安装tensorrt环境

windows上使用anconda安装tensorrt环境 1 安装tensorrt1.1 下载最新的稳定的tensorrt 8.6.1(tensorrt对应的cuda、cudnn等版本是参考链接4)1.2 将tensorrt添加到环境变量1.3 安装tensorrt依赖1.4 安装Pycuda1.5 安装pytorch 2 测试2.1 测试TensorRT 样例(这个测试主要来源于参考…

InsideCli、OutsideCli-电源管理(23国赛真题)

2023全国职业院校技能大赛网络系统管理赛项–模块B:服务部署(WindowServer2022) 文章目录 题目配置步骤验证 题目 设置电源配置,以便客户端在通电的情况下,永不进入睡眠。 配置步骤 验证

小猪o2o生活通系统更新到了v24.1版本了php文件开源了提供VUE了但是车牌识别功能你真得会用吗

一.车牌识别设置项 车牌识别设置项总开关:系统后台-社区管理-社区配置-车牌识别配置。 平台需要开启车牌识别功能,其次平台可以选择车牌识别功能是由平台配置还是小区自己配置有需要提供代码的可以Q我昵称注明:CSDN网友。如果是平台自己配置&…

2024年火爆《幻兽帕鲁》可以macos系统运行吗?

幻兽帕鲁已经爆了,你和朋友们都是在哪个平台一起玩的? 这款有些类似宝可梦的游戏,已经以野火燎原之势席卷互联网,并且势必会持续一段时间,你可别说你不知道。 《幻兽帕鲁》目前能在哪些平台上运行? 这款由…

linux 下gdal库(python)

之前在windows下安装gdal,先要下安装包再安装。这次在linux上安装,试了一下pip install gdal,不可以。想着linux应该一样,结果一搜网上教程一堆,乱七八糟的。 搞了一个小时 最后发现一句话就可以!&#xf…

力扣hot100 分割回文串 集合 dfs

Problem: 131. 分割回文串 文章目录 思路Code💖 DP预处理版 思路 👨‍🏫 参考题解 Code import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List;public class Solution {int n;//字符…

基于二值化图像转GCode的斜向扫描实现

基于二值化图像转GCode的斜向扫描实现 什么是斜向扫描斜向扫描代码示例 基于二值化图像转GCode的斜向扫描实现 什么是斜向扫描 在激光雕刻中,斜向扫描(Diagonal Scanning)是一种雕刻技术,其中激光头沿着对角线方向来回移动&…

上位机图像处理和嵌入式模块部署(视频处理vs图像处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 从目前发展的情况来看,视频处理会慢慢变成一种主流趋势。这里面的原因很多,比如说现在嵌入式soc的算力越来越强、获取图像的…

【大数据安全】大数据安全的挑战与对策基础设施安全

目录 一、大数据安全的挑战与对策 (一)数据加密技术 (二)大数据安全与隐私 (三)大数据安全保障体系 (四)华为大数据安全解决方案 二、基础设施安全 (一&#xff0…

TSINGSEE青犀视频智慧电梯管理平台,执行精准管理、提升乘梯安全

一、方案背景 随着城市化进程的不断加快,我国已经成为全球最大的电梯生产和消费市场,电梯也成为人们日常生活中不可或缺的一部分。随着电梯数量的激增,电梯老龄化,维保数据不透明,物业管理成本高,政府监管…

用React给XXL-JOB开发一个新皮肤(四):实现用户管理模块

目录 一. 简述二. 模块规划 2.1. 页面规划2.2. 模型实体定义 三. 模块实现 3.1. 用户分页搜索3.2. Modal 配置3.3. 创建用户表单3.4. 修改用户表单3.5. 删除 四. 结束语 一. 简述 上一篇文章我们实现登录页面和管理页面的 Layout 骨架,并对接登录和登出接口。这篇…

【代码随想录】刷题笔记Day56

前言 26回了老家参加二姨的婚礼,还逛了几圈亲戚,回来就接家教的活,想到还要刷题开组会,回家注定是没法怎么休息啦,可恶 42. 接雨水 - 力扣(LeetCode) 暴力解法(双指针优化&#xf…

SpringBoot中集成Minio高性能分布式存储文件服务入门

场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目-CSDN博客 参考上面搭建项目。 Minio Minio是基于Go语言编写的对象存储服务,适合于存储大容量非结构化的数据,例如图片、音频…

定制自己的linux

记得看目录哦! 1. 基本介绍2. 思路分析3. 开始定制3.1 添加一块20G的硬盘3.2 重启,进行磁盘分区3.3 格式化分区3.4 创建目录,并挂载磁盘3.5 安装grub3.6 看是否安装上3.7 内核文件拷贝到磁盘3.8 修改grub2/grub.cfg3.9 创建目标主机的根文件系…

Spring Boot项目中集成连接池及部分细节说明

连接池 一,Connection连接二,数据库连接池三,集成数据库连接池1,Spring Boot默认连接池2,Druid连接池3,集成Druid(原生版本)3.1,引入依赖3.2,配置数据源3.3&a…

CSS 实现立体字效果

我们在工作中&#xff0c;很多场景会遇到立体文字&#xff0c;今天我们就来实现下&#xff0c;很简单&#xff0c;算是水文章吧&#xff1a; <h1>立体字体</h1>h1 {margin: 100px 0 0 100px;font-size: 5em;color: #fff;text-shadow: -1px 1px #bbb,-2px 2px #bbb…

设计模式——职责链模式(Chain of Responsibility Pattern)

概述 职责链模式(Chain of Responsibility Pattern)&#xff1a;避免请求发送者与接收者耦合在一起&#xff0c;让多个对象都有可能接收请求&#xff0c;将这些对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;直到有对象处理它为止。职责链模式是一种对象行为…

深度学习(9)--pydot库和graphviz库安装流程详解

目录 一.pydot库安装 二.graphviz库安装 一.pydot库安装 pydot的安装可直接在编译器安装相关包&#xff0c;以PyCharm举例&#xff1a; 如果搜索可用软件包显示为空&#xff0c;记得在此处把使用Conda软件包管理器”点亮 二.graphviz库安装 点击链接下载安装包graphviz-2.38…

DX-11A DC0.075A 型信号继电器 柜内安装,板前接线

DX-11信号继电器&#xff1b; DX-11A信号继电器&#xff1b; DX-11B信号继电器&#xff1b; DX-11C信号继电器&#xff1b; DX-11Q信号继电器&#xff1b; DX-11A/Q信号继电器&#xff1b; DX-11B/Q信号继电器&#xff1b; DX-11C/Q信号继电器&#xff1b; 一. 用途 DX-11/0.…