基于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…...
双重检查锁是如何避免缓存雪崩的,代码例子说明
双重检查锁是如何避免缓存雪崩的什么是缓存雪崩解决方案双重检查锁是如何工作的什么是缓存雪崩 缓存雪崩是指缓存同时失效,造成大量的缓存请求都请求到后端数据库,导致后端系统压力过大而瘫痪的情况。 解决方案 设置缓存的失效时间为随机值࿰…...
【成为架构师课程系列】架构设计中的核心思维方法
架构设计中的核心思维方法 目录 前言 #一、抽象思维 #二、分层思维 #三、分治思维 #四、演化思维 #五、如何培养架构设计思维...
Apollo/Nacos配置动态刷新原理及优劣
一. 配置方式 这里只说与Spring集成后的配置方式,这也是项目中主要使用的方式 Apollo 在属性上直接加value注解,这个属性就会随着配置的更改动态更新类实现ConfigChangeListener,在类中方法上ApolloConfigChangeListener注解,注解…...
docker的基本管理
Docker的概念云计算三层架构服务说明应用IAAS基础设施及服务硬件(服务器、网络设置、防火墙等)虚拟化网络虚拟化(大二层)例:openstackPAAS平台及服务环境例:数据库、 docker 、kubernetesSAAS应用及服务应用…...
2023年房地产投资-租金和IRR研究报告
第一章 概况 房地产投资租赁是指置业投资者在购买到物业后,首先对该物业进行适当整饰与装修,之后以出租人的身份,以口头协议或签订合同的形式,将房屋交付承租人占有、使用与收益,由承租人向出租人交付租金的行为。通过…...
2023-2-10刷题情况
青蛙过河 题目描述 小青蛙住在一条河边, 它想到河对岸的学校去学习。小青蛙打算经过河里 的石头跳到对岸。 河里的石头排成了一条直线, 小青蛙每次跳跃必须落在一块石头或者岸上。 不过, 每块石头有一个高度, 每次小青蛙从一块石头起跳, 这块石头的高度就 会下降 1 , 当石头…...
Python学习-----无序序列2.0(集合的创建、添加、删除以及运算)
目录 前言: 什么是集合 集合的三大特性 1.集合的创建 (1)直接创建 (2)强制转换 2.集合的添加 (1)add()函数 (2)update() 函数 3.集合元…...
2023最详细的接口测试用例设计教程
一、接口测试流程 1、需求讨论 2、需求评审 3、场景设计 4、数据准备 5、测试执行 二、分析接口文档元素 1、接口名称 2、接口地址 3、支持格式 4、请求方式 5、请求参数(参数名称、类型、是否必填、参数说明等) 6、返回参数(返回…...
【数据库】 数据库的理论基础详解
目录 一, 什么是数据库 二, 数据库管理系统(DBMS) 三,数据库与文件系统的区别 1,对比区别: 2,优缺点总结: 四,数据库的发展史 五,常见数据库 1, 关系型…...
Linux环境运行Maven 生成的hadoop jar包
运行命令: hadoop jar ./jar包名字 class对象路径 输入路径 输出路径 linux内部jar包测试 cd 到以下目录,创建以下文件夹 [rootreagan180 ~]# cd /opt/soft/hadoop313/share/hadoop/mapreduce/ 创建文件夹(读取路径) [roo…...
ThreadPoolExecutor原理解析
1. 工作原理1.1 流程图1.2 执行示意图从上图得知如果当前运行的线程数小于corePoolSize(核心线程数),则会创建新线程作为核心线程来执行任务(注意,执行这一步需要获取全局锁)。如果运行的线程等于或多于corePoolSize,则将任务加入BlockingQue…...
谷粒学苑第二章前端框架-2.2前端框架开发过程
一、前端框架开发过程 第一步:添加路由 src/router模块用来管理路由。 第二步:点击某个路由,显示路由对应页面内容 component: () > import(/views/table/index), 表示路由对应的页面,是views/table/index.vue页面 第三步&a…...
权限管理实现的两种方式(详解)
登录的接口请求的三个内容:1. token2. 用户信息、角色信息3. 菜单信息第一种:基于角色Role的动态路由管理 (不推荐,但市场用的比较多)首先列出枚举每个角色对应几个路由,然后根据用户登录的角色遍历枚举出来的角色动态注册对应的路…...
【C++】智能指针思路解析和模拟实现
此篇文章就从以下几个方面出发,带你了解智能指针的方方面面1.为什么需要智能指针当我们开辟内存并使用的时候,我们的顺序应该是这样:开辟内存-》使用内存-》释放内存问题就出现在第三步,开辟好了,也使用了,…...
SpringCloud(18):Sentinel流控降级入门
Sentinel本地应用流控降级实现分为三步: 创建本地应用搭建本地Sentinel控制台本地应用接入本地Sentinel控制台1 本地应用创建 整体流程分析 创建springboot项目在项目的pom.xml文件中引入sentinel-core的依赖坐标创建TestController,定义使用限流规则运行测试具体流程 1.创…...
网页标准化对网站开发维护的好处/海南百度推广代理商
网上说的基本都是使用express或http-server作为服务器或其它什么东西自己把玩php也有些年头,就用php好了 服务环境 apache,php先配置好隐藏php后缀扩展名: 在httpd.conf中 FilesMatch 标签内增加:ForceType application/x-httpd-php 这样只针…...
一般做网站多少钱/菏泽百度推广公司电话
在工程勘察设计企业高质量发展的大背景下,对人才的要求越来越高,很多企业希望通过传统的培训有效提升员工能力,实际上往往收效甚微。笔者认为一场有效的培训必须基于人员与岗位的匹配度,而匹配度确定的一个基础工作是岗位胜任力。…...
怎么建立一个网站?/网站建设推广多少钱
2019独角兽企业重金招聘Python工程师标准>>> Spring Boot支持Java Util Logging、Log4J、Log4J2和LockBack作为日志框架,无论使用哪种日志框架,Spring Boot都为当前使用的日志框架的控制台及文件输出做好了配置。 默认使用LockBack日志框架。…...
网络营销是什么的基础选择题/网站seo报告
string str"abc"; string().swap(str); 转载于:https://blog.51cto.com/tinyweb/982623...
资源搜索/重庆seo网站推广优化
MVCC(Mutil-Version Concurrency Control)MVCC 是一种多版本并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问。在Mysql的InnoDB引擎中就是指在已提交读(READ COMMITTD)和可重复读(REPEATABLE READ)这两种隔离级别下的事务对于SELECT操作会…...
php mysql开发网站开发/百度竞价员
Ubuntu20.04 ROS1. 环境配置2. 创建工作空间3. URDF 机器人建模4. 机器人仿真4.1 机器人 URDF 模型优化4.2 Arbotix rviz 功能仿真4.2.1 配置 Arbotix 控制器4.2.2 导航仿真示例4.3 Gazebo 物理仿真环境搭建1. 环境配置 虚拟机 VMware 安装网址: vmap.sjtu.edu.c…...