当前位置: 首页 > 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…...

02- pandas 数据库 (机器学习)

pandas 数据库重点: pandas 的主要数据结构: Series (一维数据)与 DataFrame (二维数据)。 pd.DataFrame(data np.random.randint(0,151,size (5,3)), # 生成pandas数据 index [Danial,Brandon,softpo,Ella,Cindy], # 行索引 …...

学Qt想系统的学习,看哪本书?

Qt 是一个跨平台应用开发框架&#xff08;framework&#xff09;&#xff0c;它是用 C语言写的一套类库。使用 Qt 能为 桌面计算机、服务器、移动设备甚至单片机开发各种应用&#xff08;application&#xff09;&#xff0c;特别是图形用户界面 &#xff08;graphical user in…...

2023年网络安全比赛--跨站脚本攻击②中职组(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 1.访问服务器网站目录1,根据页面信息完成条件,将获取到弹框信息作为flag提交; 2.访问服务器网站目录2,根据页面信息完成条件,将获取到弹框信息作为flag提交; 3.访问服务器网站目录3,根据页面信息完成条件,将获取到弹框信息…...

网络安全实验室4.注入关

4.注入关 1.最简单的SQL注入 url:http://lab1.xseclab.com/sqli2_3265b4852c13383560327d1c31550b60/index.php 查看源代码&#xff0c;登录名为admin 最简单的SQL注入&#xff0c;登录名写入一个常规的注入语句&#xff1a; admin’ or ‘1’1 密码随便填&#xff0c;验证…...

领域搜索算法之经典The Lin-Kernighan algorithm

领域搜索算法之经典The Lin-Kernighan algorithmThe Lin-Kernighan algorithm关于算法性能提升的约束参考文献领域搜索算法是TSP问题中的三大经典搜索算法之一&#xff0c;另外两种分别是回路构造算法和组合算法。 而这篇文章要介绍的The Lin-Kernighan algorithm属于领域搜索算…...

深度学习基础-机器学习基本原理

本文大部分内容参考《深度学习》书籍&#xff0c;从中抽取重要的知识点&#xff0c;并对部分概念和原理加以自己的总结&#xff0c;适合当作原书的补充资料阅读&#xff0c;也可当作快速阅览机器学习原理基础知识的参考资料。 前言 深度学习是机器学习的一个特定分支。我们要想…...

C语言操作符详解 一针见血!

目录算数操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员表达式求值11.1 隐式类型转换算数操作符&#x1f4ad; 注意/ 除法 --得到的是商% 取模&#xff08;取余&#xff09;--得到的是余数如果除法操作符…...

前端面试题汇总

一&#xff1a;JavaScript 1、闭包是什么&#xff1f;利弊&#xff1f;如何解决弊端&#xff1f; 闭包是什么&#xff1a;JS中内层函数可以访问外层函数的变量&#xff0c;外层函数无法操作内存函数的变量的特性。我们把这个特性称作闭包。 闭包的好处&#xff1a; 隔离作用…...

以数据驱动管理场景,低代码助力转型下一站

数据驱动 数据驱动&#xff0c;是通过移动互联网或者其他的相关软件为手段采集海量的数据&#xff0c;将数据进行组织形成信息&#xff0c;之后对相关的信息讲行整合和提炼&#xff0c;在数据的基础上经过训练和拟合形成自动化的决策模型&#xff0c;简单来说&#xff0c;就是…...

2023年全国数据治理DAMA-CDGA/CDGP考试报名到弘博创新

弘博创新是DAMA中国授权的数据治理人才培养基地&#xff0c;贴合市场需求定制教学体系&#xff0c;采用行业资深名师授课&#xff0c;理论与实践案例相结合&#xff0c;快速全面提升个人/企业数据治理专业知识与实践经验&#xff0c;通过考试还能获得数据专业领域证书。 DAMA认…...