当前位置: 首页 > news >正文

基于matlab使用机器学习和深度学习进行雷达目标分类

一、前言

此示例展示了如何使用机器学习和深度学习方法对雷达回波进行分类。机器学习方法使用小波散射特征提取与支持向量机相结合。此外,还说明了两种深度学习方法:使用SqueezeNet的迁移学习和长短期记忆(LSTM)递归神经网络。请注意,此示例中使用的数据集不需要高级技术,但描述了工作流,因为这些技术可以扩展到更复杂的问题。

二、介绍

目标分类是现代雷达系统的重要功能。此示例使用机器学习和深度学习对圆柱体和锥体的雷达回波进行分类。虽然此示例使用合成的I/Q样本,但工作流程适用于实际雷达回波。

三、RCS 合成

下一节介绍如何创建合成数据来训练学习算法。

以下代码模拟半径为 1 米、高度为 10 米的圆柱体的 RCS 模式。雷达的工作频率为850 MHz。

然后可以将该模式应用于反向散射雷达目标,以模拟从不同角度返回。下图显示了如何模拟一段时间内圆柱体的 100 次返回。假设下方的圆柱体运动在孔视线周围引起小振动,因此,纵横角从一个样品到下一个样品发生变化。

锥体的返回可以类似地生成。为了创建训练集,对 5 个任意选择的圆柱半径重复上述过程。此外,对于每个半径,通过改变入射角来模拟 10 个运动剖面,遵循 10 条随机生成的围绕视线的正弦曲线。每个运动配置文件中有 701 个样本,因此有 701 x 50 个样本。对圆柱目标重复该过程,这将产生具有 701 个圆柱体和 100 个圆锥轮廓的 50 x 50 训练数据矩阵。在测试集中,我们使用 25 个圆柱体和 25 个锥体轮廓来创建 701 x 50 的训练集。由于计算时间较长,训练数据在下面预先计算并加载。

例如,下图显示了每个形状的一个运动轮廓的返回。这些图显示了入射方位角和目标返回的值如何随时间变化。

四、小波散射


在小波散射特征提取器中,数据通过一系列小波变换、非线性和平均来传播,以产生时间序列的低方差表示。小波时间散射产生的信号表示对输入信号的变化不敏感,而不会牺牲类的可判别性。

在小波时间散射网络中要指定的关键参数是时间不变的尺度、小波变换的数量以及每个小波滤波器组中每个倍频程的小波数量。在许多应用中,两个滤波器组的级联足以实现良好的性能。在这个例子中,我们用两个滤波器组构建了一个小波时间散射网络:第一个滤波器组中每倍频程 4 个小波,第二个滤波器组中每倍频程 2 个小波。不变性标度设置为701个样本,即数据的长度。

接下来,我们获得训练集和测试集的散射变换。对于此示例,请使用沿每条路径获取的散射系数的平均值。创建用于培训和学习的标签。

五、模型训练


将具有二次核的支持向量机模型拟合到散射特征,并获得交叉验证精度。

六、目标分类


使用经过训练的 SVM,对从测试集获得的散射特征进行分类。

绘制混淆矩阵。

对于更复杂的数据集,深度学习工作流可能会提高性能。

七、使用 CNN 进行迁移学习


SqueezeNet 是一个深度卷积神经网络 (CNN),用于 ImageNet 大规模视觉识别挑战赛 (ILSVRC) 中使用的 1,000 个类的图像。在这个例子中,我们重用预先训练的SqueezeNet来分类属于两类之一的雷达回波。

负载挤压网。

挤压网由68层组成。与所有DCNN一样,SqueezeNet级联卷积运算符,然后是非线性和池化或平均。SqueezeNet 需要大小为 227 x 227 x 3 的图像输入,您可以通过以下代码看到。此外,SqueezeNet 配置为识别 1,000 个不同的类,您可以通过以下代码看到这些类。

在后续部分中,我们将修改 SqueezeNet 的选定层,以便将其应用于我们的分类问题。

八、连续小波变换


SqueezeNet旨在区分图像差异并对结果进行分类。因此,为了使用SqueezeNet对雷达回波进行分类,我们必须将一维雷达回波时间序列转换为图像。执行此操作的常用方法是使用时频表示 (TFR)。信号的时频表示有多种选择,哪一种最合适取决于信号特性。要确定哪种 TFR 可能适合此问题,请随机选择并绘制每个类别的一些雷达回波。

很明显,前面显示的雷达回波的特点是变化变慢,如前所述,瞬态大幅减少。小波变换非常适合稀疏地表示此类信号。小波收缩以定位具有高时间分辨率的瞬态现象,并拉伸以捕获缓慢变化的信号结构。获取并绘制其中一个圆柱回波的连续小波变换。

CWT同时捕获缓慢变化的(低频)波动和瞬态现象。将圆柱体回程的CWT与锥形目标的CWT进行对比。

由于瞬态在确定目标返回是来自圆柱目标还是锥形目标方面具有明显的重要性,因此我们选择CWT作为要使用的理想TFR。在获得每个目标回波的CWT后,我们从每个雷达回波的CWT制作图像。这些图像被调整为与SqueezeNet的输入层兼容,我们利用SqueezeNet对生成的图像进行分类。

九、图像准备


辅助函数获取每个雷达回波的CWT,重塑CWT以与SqueezeNet兼容,并将CWT写入jpeg文件。要运行 ,请选择您具有写入权限的位置。此示例使用 ,但您可以使用计算机上您具有写入权限的任何文件夹。帮助程序函数在 和 下创建和设置文件夹,在 和 下创建和子文件夹。这些文件夹填充了 jpeg 图像,用作 SqueezeNet 的输入。

现在用于管理来自文件夹的文件访问,以便训练SqueezeNet。为训练数据和测试数据创建数据存储。

为了将 SqueezeNet 用于这个二元分类问题,我们需要修改几个层。首先,我们将 SqueezeNet 中的最后一个可学习层(第 64 层)更改为具有与我们新类数相同的 1×1 卷积数 2。

最后,设置重新训练挤压网络的选项。将初始学习速率设置为 1e-4,将最大纪元数设置为 15,将小批量大小设置为 10。使用带动量的随机梯度下降。

使用经过训练的网络来预测保留测试集中的目标回报。绘制混淆图以及精度和召回率。在这种情况下,100%的测试样本被正确分类。

十、结论


此示例介绍了使用机器学习和深度学习技术执行雷达目标分类的工作流。尽管此示例使用合成数据进行训练和测试,但它可以轻松扩展以适应实际雷达返回。由于信号特性,小波技术被用于机器学习和CNN方法。

有了这个数据集,我们还通过将原始数据输入 LSTM 来达到类似的精度。在更复杂的数据集中,原始数据可能本质上变化太大,模型无法从原始数据中学习鲁棒特征,您可能需要在使用 LSTM 之前诉诸特征提取。

十一、程序

使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)

下载方式:基于matlab使用机器学习和深度学习进行雷达目标分类

相关文章:

基于matlab使用机器学习和深度学习进行雷达目标分类

一、前言此示例展示了如何使用机器学习和深度学习方法对雷达回波进行分类。机器学习方法使用小波散射特征提取与支持向量机相结合。此外,还说明了两种深度学习方法:使用SqueezeNet的迁移学习和长短期记忆(LSTM)递归神经网络。请注…...

Protocol Buffers V3语法全解

目录protobuf介绍protobuf使用protoc命令语法定义消息类型指定字段类型分配字段编号指定字段规则添加更多消息类型注释保留字段从.proto文件生成了什么?值类型默认值枚举使用其他消息类型导入定义嵌套类型更新消息类型未知字段any任意类型oneofoneof 特性兼容性问题…...

MediaPipe之人体关键点检测>>>BlazePose论文精度

BlazePose: On-device Real-time Body Pose tracking BlazePose:设备上实时人体姿态跟踪 论文地址:[2006.10204] BlazePose: On-device Real-time Body Pose tracking (arxiv.org) 主要贡献: (1)提出一个新颖的身体姿态跟踪解决…...

CSS从入门到精通专栏简介

先让我们来欣赏几个精美的网站: Matt Brett - Freelance Web Designer and WordPress Expert ‎2022 Year in Review • Letterboxd NIO蔚来汽车官方网站 小米官网 Silk – Interactive Generative Art 大屏数据可视化 你是否也有过这样的“烦恼”: * …...

day01常用DOS命令

day01课堂笔记(第一章 Java开发环境的搭建) 1、常用的DOS命令 1.1、怎么打开DOS命令窗口 win键 r (组合键):可以打开“运行”窗口 在运行窗口文本框中输入: cmd 然后回车 1.2、什么是DOS命令呢? 在DOS命令…...

Java设计模式-生成器模式(建造模式)

1.1定义 维基百科定义 生成器模式(英:Builder Pattern)是一种设计模式,又名:建造模式,是一种对象构建模式。 它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象…...

ansible的常用模块介绍

ansible 常用命令/usr/bin/ansible  #Ansibe AD-Hoc 临时命令执行工具,常用于临时命令的执行/usr/bin/ansible-doc #Ansible 模块功能查看工具/usr/bin/ansible-galaxy  #下载/上传优秀代码或Roles模块 的官网平台,基于网络的/usr/bin/ansible-playbo…...

你不会还不知道如何监测用户的网络是否在线吧?

我最近遇到一个需求,要给网站添加一个用户网络离线提醒。要求我们要实时监测用户的网络状态,当用户断网了,我们要立马给用户弹出一个断网提醒。 那你可能会问,为什么要做这么一个需求呢?用户断网了,网页不…...

ASM Quorum FailGroup RAC on Extended Distance Clusters

法定容错组,和它失去联系也不影响集群运行 参考: How to Manually Add NFS voting disk to an Extended Cluster using ASM in 11.2 (Doc ID 1421588.1) Mount Options for Oracle files when used with NFS on NAS devices (Doc ID 359515.1) RAC: Fre…...

VHDL语言基础-时序逻辑电路-触发器

目录 触发器: D触发器: 触发器的VHDL描述: 触发器的仿真波形如下:​编辑 时钟边沿检测的三种方法: 方法一: 方法二: 方法三: 带有Q非的D触发器: 带有Q非的D触发器的描述&am…...

也许你应该学学 postman了

使用 最简单的方法就是直接在浏览器中复制 Copy as cURL ,然后把数据导入 postman,然后 send ,收工。 我们这里拿 知乎首页 举例 在对应的请求下复制 cURL 打开 postman , 点击左上角的 Import , 选择Paste Raw Tex…...

VHDL语言基础-状态机设计-ASM图法状态机设计

目录 有限状态机的描述方法: ASM图: 状态转移图: 状态转移列表: MDS图: ASM图法状态机设计: ASM图的组成: 状态框: 判断框: 条件框: 状态框与条件框…...

Python文件的属性获取,重命名,目录的创建,显示和改变

1. 文件的属性获取 os.stat()函数可以获取文件的属性,该函数会返回一个和系统平台有关的stat_result对象, 具备一组可访问的属性,可以通过 stat_result.attribute 这样的格式来访问各个属性的值。 字 段描 述st_modeinode 保护模式st_inoin…...

好用的iPhone 数据恢复软件精选

随着 Apple 的 iTunes / iCloud 备份服务的兴起,我们总是假设这些信息在我们需要的时候可以随时访问。然而,事实是,意想不到的“不幸”发生了,比如 iOS 升级失败、忘记密码,或者更严重的情况,如进水或被盗。…...

Linux搭建redis集群6.x版本【超简单】

Linux搭建redis集群6.x版本【超简单】::::本文主要展示如何在一台服务器上搭建集群,核心思想就是复制实例,修改启动端口,实际上跟在几台服务器的操作都是一样的。一.安装redis wget http://dow…...

双重检查锁是如何避免缓存雪崩的,代码例子说明

双重检查锁是如何避免缓存雪崩的什么是缓存雪崩解决方案双重检查锁是如何工作的什么是缓存雪崩 缓存雪崩是指缓存同时失效,造成大量的缓存请求都请求到后端数据库,导致后端系统压力过大而瘫痪的情况。 解决方案 设置缓存的失效时间为随机值&#xff0…...

【成为架构师课程系列】架构设计中的核心思维方法

架构设计中的核心思维方法 目录 前言 #一、抽象思维 #二、分层思维 #三、分治思维 #四、演化思维 #五、如何培养架构设计思维...

Apollo/Nacos配置动态刷新原理及优劣

一. 配置方式 这里只说与Spring集成后的配置方式,这也是项目中主要使用的方式 Apollo 在属性上直接加value注解,这个属性就会随着配置的更改动态更新类实现ConfigChangeListener,在类中方法上ApolloConfigChangeListener注解,注解…...

docker的基本管理

Docker的概念云计算三层架构服务说明应用IAAS基础设施及服务硬件(服务器、网络设置、防火墙等)虚拟化网络虚拟化(大二层)例:openstackPAAS平台及服务环境例:数据库、 docker 、kubernetesSAAS应用及服务应用…...

2023年房地产投资-租金和IRR研究报告

第一章 概况 房地产投资租赁是指置业投资者在购买到物业后,首先对该物业进行适当整饰与装修,之后以出租人的身份,以口头协议或签订合同的形式,将房屋交付承租人占有、使用与收益,由承租人向出租人交付租金的行为。通过…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

django filter 统计数量 按属性去重

在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...