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

基于matlab使用神经网络清除海杂波

一、前言

此示例演示如何使用深度学习工具箱™训练和评估卷积神经网络,以消除海上雷达 PPI 图像中的杂波返回。深度学习工具箱提供了一个框架,用于设计和实现具有算法、预训练模型和应用程序的深度神经网络。

二、数据集

该数据集包含 84 对合成雷达图像。每对都包含一个输入图像和一个期望的响应图像,前者既有海杂波和扩展目标返回,又有期望的响应图像,前者仅包含目标返回。这些图像是使用带有旋转均匀线性阵列(ULA)的模拟创建的。每个图像包含两个不重叠的扩展目标,一个表示小型集装箱船,另一个表示较大的集装箱船。这些船由长方体表面上的一组点散射器建模。

以下参数在图像之间固定:

雷达系统参数

频率 (10 千兆赫)

脉冲长度 (80 ns)

距离分辨率 (7.5 m)

PRF (1 千赫)

方位角波束宽度(0.28度)

雷达平台参数

高度 (55 m)

转速 (50 转/分)

目标参数

目标尺寸小(120 x 18 x 22 m)

大目标尺寸(200 x 32 x 58 m)

以下参数在图像之间随机化:

表面参数

风速(7 至 17 米/秒)

风向(0 至 180 度)

目标参数

目标位置(表面上的任何位置)

目标航向(0 至 360 度)

目标速度(4 至 19 米/秒)

小目标RCS(8至16米)2)

大型目标RCS(14至26米)2)

这种变化确保了根据这些数据训练的网络将适用于这种雷达配置的相当广泛的目标剖面和海况。下载海事雷达 PPI 图像数据集,并将数据和许可证文件解压缩到当前工作目录中。

将图像数据和预训练网络加载到名为 .imdata

三、准备数据

您可以使用预训练网络来运行示例,而无需等待训练。

图像集 1-70 用于训练,71-80 用于验证。最后 4 张图像将用于网络评估。

将数据格式化为 4D 数组,以便与网络训练器和培训选项一起使用。前两个维度被视为空间维度。第三个维度用于通道(如颜色通道)。单独的图像样本沿第 4 维排列。杂乱的输入简单地称为图像,所需的输出称为响应。使用单精度,因为它是神经网络训练器的本机。

格式化后,清除加载的数据结构以节省RAM。

四、网络架构

网络由一系列图层对象定义,包括输入层和输出层。将 用作输入层,以便无需重新格式化即可使用图像。A 用于输出以评估简单的均方误差 (MSE) 损失函数。隐藏层使用具有归一化和非线性激活的 2D 卷积层级联。imageInputLayerregressionLayer

首先创建输入图层。指定输入图像的空间大小。

添加 3 组卷积 + 归一化 + 激活。每个卷积层由一组空间过滤器组成。对每个小批量进行偏差和缩放,以提高数值鲁棒性并加快训练速度。这是一个非线性激活层,可将值缩放到 0 以下,同时保持大于 0 的值不变。这是一个由双曲正切函数组成的 S 形激活层,输出介于 -1 和 1 之间的值。batchNormalizationLayerleakyReluLayertanhLayer

必须注意确保空间和通道维度在层与层之间保持一致,并且最后一层输出的通道大小和数量与所需响应图像的大小和通道数量相匹配。将卷积层的属性设置为 ,以便过滤过程不会更改图像的空间大小。Padding'same'

架构可以总结如下:

1x 5×5 卷积

批量规范化

泄漏的ReLU,0.2缩放

4x 6×6 卷积

批量规范化

泄漏的ReLU,0.2缩放

1x 5×5 卷积

批量规范化

泄漏的ReLU,0.2缩放

立即添加这些图层。

请注意,每个卷积层的通道数必须与前一个卷积层中使用的滤波器数匹配。

最后,添加输出层,这是一个简单的回归层。

五、训练网络

使用该函数准确配置网络的训练方式。除了指定要使用的训练方法外,这还可以控制学习率计划和小批次的大小等内容。还可用于指定验证数据集,该数据集用于确定运行性能。由于网络的性能可能不会随着迭代而单调提高,因此这也提供了一种在验证误差最小的迭代时返回网络的方法。trainingOptionstrainingOptions

设置随机种子以提高可重复性。定义用于训练和验证的集的 ID。

现在创建 .使用自适应矩估计 (Adam) 求解器。最多训练 80 个时期,迷你批量大小为 20。将初始学习率设置为 0.1。验证集是使用包含验证图像和响应数组的 1×2 单元格数组指定的。将 设置为 25 以评估每 25 次迭代一次验证集的损失。指定 as 在验证损失最小的迭代中返回网络。设置为 true 可打印训练进度。

使用提供的帮助程序函数在对数刻度上绘制训练和验证损失。

训练和验证损失稳步下降,直到在中间200左右达到误差底线。

六、评估网络

现在网络已经训练完毕,使用最后 4 张图像来评估网络。

使用提供的帮助程序函数将输入图像与网络输出的响应一起绘制。结果经过归一化处理,并且裁剪了低于 -60 dB 的像素,以便于比较。

该网络完全消除了低于一定返回功率阈值的海杂波,同时保留了目标信号,由于所使用的卷积滤波器的大小,只有很小的膨胀效应。图像中心附近的剩余高功率杂波可以通过空间感知层(例如全连接层)或通过预处理原始图像来消除与范围相关的损耗。

七、结论

在此示例中,您了解了如何在 PPI 图像上训练和评估级联卷积神经网络,以消除海杂波,同时保留目标回报。您了解了如何配置输入和输出层、隐藏卷积、规范化和激活层以及训练选项。

八、参考文献

[1] Vicen-Bueno, Raúl, Rubén Carrasco-Álvarez, Manuel Rosa-Zurera, and José Carlos Nieto-Borge. “Sea Clutter Reduction and Target Enhancement by Neural Networks in a Marine Radar System.”Sensors (Basel, Switzerland)9, no. 3 (March 16, 2009): 1913–36.

九、程序

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

程序下载(点我)

相关文章:

基于matlab使用神经网络清除海杂波

一、前言此示例演示如何使用深度学习工具箱™训练和评估卷积神经网络,以消除海上雷达 PPI 图像中的杂波返回。深度学习工具箱提供了一个框架,用于设计和实现具有算法、预训练模型和应用程序的深度神经网络。二、数据集该数据集包含 84 对合成雷达图像。每…...

每天10个前端小知识 【Day 8】

前端面试基础知识题 1. Javascript中如何实现函数缓存?函数缓存有哪些应用场景? 函数缓存,就是将函数运算过的结果进行缓存。本质上就是用空间(缓存存储)换时间(计算过程), 常用于…...

【项目精选】基于Java的敬老院管理系统的设计和实现

本系统主要是针对敬老院工作人员即管理员和员工设计的。敬老院管理系统 将IT技术为养老院提供一个接口便于管理信息,存储老人个人信息和其他信息,查找 和更新信息的养老院档案,节省了员工的劳动时间,大大降低了成本。 其主要功能包括: 系统管理员用户功能介绍&#…...

Spark SQL 介绍

文章目录Spark SQL1、Hive on SparkSQL2、SparkSQL 优点3、SparkSQL 特点1) 容易整合2) 统一的数据访问3) 兼容 Hive4) 标准的数据连接4、DataFrame 是什么5、DataSet 是什么Spark SQL Spark SQL 是 Spark 用于结构化数据(structured data) 处理的Spark模块。 1、Hive on Spa…...

升级到 CDP 后Hive on Tez 性能调整和故障排除指南

优化Hive on Tez查询永远不能以一种万能的方法来完成。查询的性能取决于数据的大小、文件类型、查询设计和查询模式。在性能测试期间,要评估和验证配置参数和任何 SQL 修改。建议在工作负载的性能测试期间一次进行一项更改,并且最好在生产环境中使用它们…...

理解HDFS工作流程与机制,看这篇文章就够了

HDFS(The Hadoop Distributed File System) 是最初由Yahoo提出的分布式文件系统,它主要用来: 1)存储大数据 2)为应用提供大数据高速读取的能力 重点是掌握HDFS的文件读写流程,体会这种机制对整个分布式系统性能提升…...

Intel处理器分页机制

分页模式 Intel 64位处理器支持3种分页模式: 32-bit分页PAE分页IA-32e分页 32-bit分页 32-bit分页模式支持两种页面大小:4KB以及4MB。 4KB页面的线性地址转换 4MB页面的线性地址转换 PAE分页模式 PAE分页模式支持两种页面大小:4KB以及…...

Linux常用命令

linux常用命令创建一个目录mkdir 命令可以创建新目录。mkdir 是 make directory 的缩写。[rootiZ2ze66tzux2otcpbvie88Z ~]# ls [rootiZ2ze66tzux2otcpbvie88Z ~]# mkdir web [rootiZ2ze66tzux2otcpbvie88Z ~]# ls web [rootiZ2ze66tzux2otcpbvie88Z ~]# 创建一个文件2.1 在 Li…...

基于STM32设计的音乐播放器

一、项目背景与设计思路 1.1 项目背景 时代进步,科学技术的不断创新,促进电子产品的不断更迭换代,各种新功能和新技术的电子产品牵引着消费者的眼球。人们生活水平的逐渐提高,对娱乐消费市场需求日益扩大,而其消费电子产品在市场中的占有份额越来越举足轻重。目前消费电…...

微服务开发

目录 微服务配置管理 权限认证 批处理 定时任务 异步 微服务调用 (协议)...

【(C语言)数据结构奋斗100天】二叉树(上)

【(C语言)数据结构奋斗100天】二叉树(上) 🏠个人主页:泡泡牛奶 🌵系列专栏:数据结构奋斗100天 本期所介绍的是二叉树,那么什么是二叉树呢?在知道答案之前,请大家思考一下…...

Java 验证二叉搜索树

验证二叉搜索树中等给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1&…...

C/C++单项选择题标准化考试系统[2023-02-09]

C/C单项选择题标准化考试系统[2023-02-09] ©3.17 单项选择题标准化考试系统 【难度系数】5级 【任务描述】 设计一个单项选择题的考试系统,可实现试题维护、自动组卷等功能。 【功能描述】 (1)管理员功能: 试题管理:每个试题包括题干、四个备选答案标准答案…...

爱了爱了,这些顶级的 Python 工具包太棒了

Python 语言向来以丰富的第三方库而闻名,今天来介绍几个非常nice的库,有趣好玩且强大!推荐好好学习。 文章目录技术交流数据采集AKShareTuShareGoPUPGeneralNewsExtractor爬虫playwright-pythonawesome-python-login-modelDecryptLoginScylla…...

【Explain详解与索引优化最佳实践】

摘要 explain命令是查看MySQL查询优化器如何执行查询的主要方法,可以很好的分析SQL语句的执行情况。每当遇到执行慢(在业务角度)的SQL,都可以使用explain检查SQL的执行情况,并根据explain的结果相应的去调优SQL等。 …...

【树和二叉树】数据结构二叉树和树的概念认识

前言:在之前,我们已经把栈和队列的相关概念以及实现的方法进行了学习,今天我们将认识一个新的知识“树”!!! 目录1.树概念及结构1.1树的概念1.2树的结构1.3树的相关概念1.4 树的表示1.5 树在实际中的运用&a…...

通达信收费接口查询可申购新股c++源码分享

有很多股民在做股票交易时为了实现盈利会借助第三三方炒股工具帮助自己&#xff0c;那么通达信收费接口就是人们常用到的&#xff0c;今天小编来分享一下通达信收费接口查询可申购新股c源码&#xff1a; std::cout << " 查询可申购新股: category 12 \n"; c…...

【C#设计模式】创建型设计模式 (单例,工厂)。

c# 创建型设计模式 1.单例设计模式c# 单例JS 单例(ES6)c# 扩展方法c# 如果窗体非单例(tips:窗口可以容器化)2.工厂设计模式JS 简单工厂(ES6)C# 简单工厂C# params关键词(自定义参数个数)JS 手写JQuery(委托,工厂方式隐藏细节)JS ...四种用法C# 偷懒工厂1.单例设计模式 …...

Ubuntu 22.04 LTS 入门安装配置优化、开发软件安装一条龙

Ubuntu 22.04 LTS 入门安装配置&优化、开发软件安装 例行前言   最近在抉择手上空余的笔记本&#xff08;X220 i7-2620M&#xff0c;Sk Hynix ddr3 8G*2 &#xff0c;Samsung MINISATA 256G&#xff09;拿来运行什么系统比较好&#xff0c;早年间我或许还会去继续使用Win…...

第五十章 动态规划——数位DP模型

第五十章 动态规划——数位DP模型一、什么是数位DP数位DP的识别数位DP的思路二、例题1、AcWing 1083. Windy数&#xff08;数位DP&#xff09;2、AcWing 1082. 数字游戏&#xff08;数位DP&#xff09;3、AcWing 1081. 度的数量&#xff08;数位DP&#xff09;一、什么是数位DP…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP&#xff08;File Transfer Protocol&#xff09;本身是一个基于 TCP 的协议&#xff0c;理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况&#xff0c;主要原因包括&#xff1a; ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

flow_controllers

关键点&#xff1a; 流控制器类型&#xff1a; 同步&#xff08;Sync&#xff09;&#xff1a;发布操作会阻塞&#xff0c;直到数据被确认发送。异步&#xff08;Async&#xff09;&#xff1a;发布操作非阻塞&#xff0c;数据发送由后台线程处理。纯同步&#xff08;PureSync…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...