基于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++源码分享
有很多股民在做股票交易时为了实现盈利会借助第三三方炒股工具帮助自己,那么通达信收费接口就是人们常用到的,今天小编来分享一下通达信收费接口查询可申购新股c源码: 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 入门安装配置&优化、开发软件安装 例行前言 最近在抉择手上空余的笔记本(X220 i7-2620M,Sk Hynix ddr3 8G*2 ,Samsung MINISATA 256G)拿来运行什么系统比较好,早年间我或许还会去继续使用Win…...
第五十章 动态规划——数位DP模型
第五十章 动态规划——数位DP模型一、什么是数位DP数位DP的识别数位DP的思路二、例题1、AcWing 1083. Windy数(数位DP)2、AcWing 1082. 数字游戏(数位DP)3、AcWing 1081. 度的数量(数位DP)一、什么是数位DP…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
