基于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…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
