【2023研电赛】安谋科技企业命题三等奖作品: 短临天气预报AI云图分析系统
本文为2023年第十八届中国研究生电子设计竞赛安谋科技企业命题三等奖分享,参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!
团队介绍
参赛单位:长沙理工大学
队伍名称:星星梦队
指导老师:文勇军
参赛队员:梅硕,韦慧敏,吴佳欣
获得奖项:三等奖
1 系统可行性分析
1.1 研究背景及意义
我国气候灾害频繁,准确预报和及时预警对社会至关重要。本研究致力于利用深度学习技术,特别是自注意力和Transformer模型,来进行雷达回波图像的时间序列预测,以提高极端天气预测的准确性和时效性。
在此背景下,本研究在二维图像序列中尝试了自注意力和Transformer的应用。我们将卷积自注意力机制与Transformer编码器相结合,实现了雷达回波图像序列的特征聚合和增强。这种方法不仅在时间特征方面表现出色,还兼顾了空间信息的提取,有助于更好地捕捉序列的变化特征。
综上所述,本研究在极端天气预测领域取得了重要进展,通过深度学习技术的创新应用,为提升极端天气预测的准确性和及时性提供了有力手段。
1.2 作品难点与创新点
本作品针对雷达回波图像外推在短时临近降雨预报中的挑战展开研究。传统方法难以捕捉复杂的回波变化,因此采用深度学习技术,以自注意力和Transformer为核心,实现了回波图像序列的特征聚合和时间序列预测。卷积自注意力机制的引入,使模型能更好地理解云层变化。该方法不仅增强时间特征,还综合考虑了空间信息,对极端天气预测有显著提升。综合模型结合Marshall-Palmer公式计算雨量预测。另外,设计了基于Django的web可视化系统,提供实时降雨预报,为国家防灾减灾工作提供支持。
1.3 方案论证与设计
深度学习在图像识别领域广泛应用,研究者尝试将其应用于雷达回波外推任务。针对雷达回波图像的特点,有人使用卷积神经网络(CNN)和循环神经网络(RNN)等模型进行处理。通过基于二维和三维卷积神经网络的方法,从时间和空间维度提取特征,实现雷达回波外推。此外,为解决图像模糊问题,研究引入生成算法,如生成对抗网络(GAN)和变分自编码器(VAE)。这些方法能够更好地捕捉序列数据的时空依赖关系,提高预测准确性。
在此背景下,Google团队提出了Vision Transformer(VIT)模型,将自注意力和Transformer模型应用于计算机视觉。受其启发,本系统将卷积自注意力机制(CSA)应用于Transformer编码子网络,用于雷达回波序列处理。通过该方法,结合时间和空间信息,对序列特征进行聚合和增强。处理后的特征交给基于ConvLSTM的Seq2Seq结构完成外推任务,实现了雷达回波预测。
综上所述,深度学习在雷达回波外推中有广泛应用,结合卷积自注意力和Transformer的方法在时间和空间上进行特征提取和建模,有望提高天气预测精度。
2 系统详细设计
2.1 系统算法模型设计
本系统算法模型要完成的工作为:从过去时段雷达图中提取特征,并通过神经网络从特征中学习雷达图随时间变化的规律,并生成未来时段的预测雷达图像,进而根据预测图像由 Z-R 关系得出具体的气象预测。本系统算法模型实现以下三个部分:
(1)雷达回波图像特征的处理
(2)根据已获取的特征信息对未来图像进行预测与生成
(3)对生成图像准确度与图片质量进行优化
本设计主要构建了特征增强网络与回波图像外推网络共同组成的卷积自注意力回波外推模型。模型总体结构如图所示:
2.1.1雷达图像特征的提取
本系统使用卷积自注意力机制(CSA)构建 Transformer 编码子网络,处理雷达回波序列,对雷达回波图像进行特征的提取
传统的自注意力机制主要被用于文本序列处理,与词嵌入后的 Embedding 向量相比,在处理图像形式的输入时,网络需要同时考虑输入的空间信息。卷积形式的自注意力层以图像整体作为处理对象,避免了简单的拉平操作带来的图像空间特征损失。
当下计算机视觉领域大多数的自注意力计算方法都基本依循nonlocal-module的模式,即将二维图片堆叠后后送入注意力层,这种方式的自注意力计算建模的是单张图片内像素点间的注意力分布关系。但在序列领域,自注意力机制还要建模序列时间步之间的关系。为了达到这一目标,CSA将加入注意力运算的最小计算单位固定在了包含通道、宽、高的3D图片张量。
2.1.2 雷达图像特征的处理
考虑到样本为连续时间步的图像序列,本课题拟采取深度学习中用以处理序列问题的 Seq2Seq 模型。以多层 LSTM 作为模型编解码网络,在编码网络中将各时间步隐藏变量 Z 的作为网络输入,学习其长期依赖与短期输入影响,并将各层最后一个 LSTM 细胞的细胞状态 Ct 作为作为解码网络的初始状态,对未来时间步对应的隐藏变量 Z 进行预测。
(1)LSTM 细胞:LSTM 细胞由“遗忘门”、“输入门”、“输出门”三个部分组成,由图所示,C 表示各 LSTM 细胞的细胞状态(cell state),h 表示各细胞传递出的隐藏状态(hidden state)。遗忘门接收上个细胞的细胞状态与隐藏状态,并决定在多大程度下将其纳入影响考虑范围;输入门通过对输入序列与遗忘门运算结果进行计算,得到备选向量,并将之作为本 LSTM 细胞的内部参数,最后将之通过输出门进行输出。LSTM 细胞结构如下图:
2.1.3 预测图像生成与优化
针对现有预测图像较为模糊的问题,研究预测图像质量优化方法。主要研究内容包括:软性注意力机制、生成对抗网络鉴别器模型,构建预测图像质量优化的解决方案,获得清晰度较高、包含较多特征信息的输出雷达回波图序列。
生成对抗网络:生成对抗网络(GAN)作为一种非监督学习方式,是由生成器G、分类器D这两套独立的神经网络所组成。生成器G用于生成假样本,分类器D 用于分辨生成器G所生成样本是真实数据还是虚假数据。每一次判断的结果都会作为反向传播的输入到G、D之中,如果D判断正确,那就需要调整G的参数从而使得生成的假数据更为逼真;如果D判断错误,则需调节D的参数,避免下次类似判。
断出错。训练会一直持续到两者进入到一个均衡和谐的状态。GAN模型的最终目的是得到一个质量较高的自动生成器和一个判断能力较强的分类器。
本项目的预测优化核心思想为:将前步预测生成操作视为GAN的生成器,将预测出图像视为假数据,与对应时间步的真实数据共同输入分类器D进行博弈,从而通过反向传播不断优化预测图形生成过程的中间参数,进而让得到的雷达回波预测图像更为可信。
在预测图像生成方面,当前被广泛采用的模型都有一定程度的模糊效应,对后续的降雨量预测准确度产生影响。因图片质量同为分类器判别时考虑的重要因素,故在此过程中可以达到优化图片清晰度的目的。GAN网络结构示意图如下图:
2.2 系统前端框架设计
为了让用户获得更好的用户体验,对预测结果获得更加直观的感受。系统设计了前端的展示界面。将进行实验所采集的样本和预测结果直接展示给用户和管理员。
本次设计采用了 Django 作为系统的 web 应用框架。Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。Django 框架为了保证各组件之间的松耦合关系采用了 MTV 模式。
M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
T 表示模板(Template):负责如何把页面(html)展示给用户。
V 表示视图(View):负责业务逻辑,并在适当时候调用 Mode 和 Template。
除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template。
MTV 的响应模式如下所示:
系统运作的整体流程:
用户通过前端界面向我们的服务器发起一个请求(request),这个请求通过 url 映射到与之对应的视图函数:
a.如果不涉及到数据调用,那么这个时候视图函数直接返回一个模板也就是一个网页给用户。
b.如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据。
在数据库得到样本的参数之后,使用训练好的模型对未来的雷达回波图像进行预测得到预测的结果,然后逐级返回。视图函数把返回的样本和预测结果填充到模板中空格中,最后返回网页给用户。用户操作流程图:
总结
当谈及序列建模和特征提取,自注意力机制和Transformer模型无疑是近年来引人瞩目的技术。虽然自注意力在文本领域已经取得了显著成就,但在二维图像领域的应用仍相对有限。而本模型不仅在二维图像领域尝试了自注意力的应用,还将其与Transformer编码器相结合,取得了令人振奋的结果,实现了对雷达回波序列的有效特征提取和建模,为序列预测任务带来了新的思路和方法。这一研究不仅丰富了自注意力的应用领域,也为序列建模领域的发展贡献了有益的探索。
参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!
更多研电赛作品分享请关注IC技术竞赛作品分享.
相关文章:

【2023研电赛】安谋科技企业命题三等奖作品: 短临天气预报AI云图分析系统
本文为2023年第十八届中国研究生电子设计竞赛安谋科技企业命题三等奖分享,参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来领!,分享2023研电赛作品扩大影响力,更有丰富电子礼品等你来…...

The Sandbox 与韩国仁川市合作,打造身临其境的城市体验内容
简要概括 ● The Sandbox 与仁川市联手展示城市魅力,打造创新形象。 ● 本次合作包含多种多样的活动,如 NFT 捐赠活动和针对元宇宙创作者的培训计划。 我们非常高兴地宣布与仁川市合作,共同打造身临其境的城市体验。 双方合作的目的是在国…...

JVM之堆和方法区
目录 1.堆 1.1 堆的结构 1.1.1 新生代(Young Generation) 1.1.2 年老代(Old Generation) 1.1.3 永久代/元空间(Permanent Generation/Metaspace) 1.2 堆的内存溢出 1.3 堆内存诊断 1.3.1 jmap 1.3.2…...

Java 中的 IO 和 NIO
Java 中的 IO 和 NIO Java IO 介绍Java NIO(New IO)介绍windows 安装 ffmpeg完整示例参考文献 Java IO 介绍 Java IO(Input/Output)流是用于处理输入和输出数据的机制。它提供了一种标准化的方式来读取和写入数据,可以…...

Linux-crontab使用问题解决
添加定时进程 终端输入: crontab -e选择文本编辑方式,写入要运行的脚本,以及时间要求。 注意,如果有多个运行指令分两种情况: 1.多个运行指令之间没有耦合关系,分别独立,则可以直接分为两个…...

【设计模式】
文章目录 设计模式分类UML图类与类之间关系的表示方式 设计原则 设计模式分类 创建型模式 用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。单例、原型、工厂、抽象工厂、建造者等 5 种创建型模式。 结构型模式 用于描述如何将类或对象按某种…...

2023_Spark_实验四:SCALA基础
一、在IDEA中执行以下语句 或者用windows徽标R 输入cmd 进入命令提示符 输入scala直接进入编写界面 1、Scala的常用数据类型 注意:在Scala中,任何数据都是对象。例如: scala> 1 res0: Int 1scala> 1.toString res1: String 1scala…...

【深入解析spring cloud gateway】04 Global Filters
上一节学习了GatewayFilter。 回忆一下一个关键点: GateWayFilterFactory的本质就是:针对配置进行解析,为指定的路由,添加Filter,以便对请求报文进行处理。 一、原理分析 GlobalFilter又是啥?先看一下接口…...

c++搜索基础进阶
搜索算法基础 搜索算法是利用计算机的高性能来有目的的穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。 所有的搜索算法从其最终的算法实现上来看&#…...

管网水位监测的必要性
城市燃气、桥梁、供水、排水、热力、电力、电梯、通信、轨道交通、综合管廊、输油管线等,担负着城市的信息传递、能源输送、排涝减灾等重要任务,是维系城市正常运行、满足群众生产生活需要的重要基础设施,是城市的生命线。基础设施生命线就像…...

无涯教程-Android - 系统架构
Android操作系统是一堆软件组件,大致分为五个部分和四个主要层,如体系结构图中所示。 Linux内核 底层是Linux-Linux 3.6,带有大约115个补丁,这在设备硬件之间提供了一定程度的抽象,并且包含所有必需的硬件驱动程序&am…...

await接受成功的promise,失败的promise用try catch
在 JavaScript 中,await 关键字用于等待一个 Promise 对象的解决(fulfillment)。下面是一个示例: async function example() {try {const result await doSomethingAsync();console.log(result); // 如果 Promise 成功解决&…...

赞奇科技参与华为云828 B2B企业节,云工作站入选精选产品解决方案
8月27日,由华为云携手上万家伙伴共同发起的第二届 828 B2B 企业节拉开帷幕,围绕五大系列活动,为万千中小企业带来精细化商机对接。 聚焦行业数字化所需最优产品,举办超1000场供需对接会,遍及20多个省100多个城市&…...

Docker私有镜像仓库(Harbor)安装
Docker私有镜像仓库(Harbor)安装 1、什么是Harbor Harbor是类似与DockerHub 一样的镜像仓库。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。Docker容器应用的…...

【深入解析spring cloud gateway】06 gateway源码简要分析
上一节做了一个很简单的示例,微服务通过注册到eureka上,然后网关通过服务发现访问到对应的微服务。本节将简单地对整个gateway请求转发过程做一个简单的分析。 一、核心流程 主要流程: Gateway Client向 Spring Cloud Gateway 发送请求请求…...

2023年行研行业研究报告
第一章 行业概述 1.1 行研行业 行业定义为同一类别的经济活动,这涉及生产相似产品、应用相同生产工艺或提供同类服务的集合,如食品饮料行业、服饰行业、机械制造行业、金融服务行业和移动互联网行业等。 为满足全球金融业的需求,1999年8月…...

linux上vscode中.cpp文件中引入头文件.hpp时报错:找不到头文件(启用错误钵形曲线)
当在.cpp文件中引入系统给定的头文件时:#include < iostream > 或者引入自定义的头文件 :#include <success.hpp> 报错:找不到相应的头文件,即在引入头文件的改行底下标出红波浪线 解决方法为: &#…...

Sphinx Docstring
入门 — Sphinx documentation pip install sphinx pip install sphinx-rtd-themesphinx-quickstartexport PYTHONPATH"-"make html cd build/htmlpython -m http.server 9121nohup python -m http.server 9121 &...

JVM的故事——虚拟机类加载机制
虚拟机类加载机制 文章目录 虚拟机类加载机制一、概述二、类加载的时机三、类加载的过程四、类加载器 一、概述 本章将要讲解class文件如何进入虚拟机以及虚拟机如何处理这些class文件。Java虚拟机把class文件加载到内存,并对数据进行校验、转换解析和初始化&#…...

Sentry 是一个开源的错误监控和日志聚合平台-- 通过docker-compose 安装Sentry
概述 Sentry 是一个开源的错误监控和日志聚合平台,用于帮助开发团队实时监控和调试应用程序中的错误和异常。它可以捕获应用程序中的错误和异常,并提供详细的错误报告,包括错误堆栈跟踪、环境信息、用户信息等。这些报告可以帮助开发团队快速…...

Redis 7 第六讲 主从模式(replica)架构篇
🌹🌹🌹 此篇开始进入架构篇范围(❤艸`❤) 理论 即主从复制,master以写为主,Slave以读为主。当master数据变化的时候,自动将新的数据异步同步到其它slave数据库。 使用场景 读写分离 容灾备份数据备份水平扩容主从架构 演示案例 注:masterauth、replicaof主…...

学习资源记录 =0=
学习路线: 无人机学习路线 无人机学习路线2 自主无人机: 浙大fastlab无人机 机器人理论: 华中科技大学机器人学 C课程 机器人仿真: 2023gazebo仿真开发四足机器人...

Python import包路径管理
import sys sys.path.insert(0, "../")详细链接...

OB Cloud助力泡泡玛特打造新一代分布式抽盒机系统
作为中国潮玩行业的领先者,泡泡玛特凭借 MOLLY、DIMOO、SKULLPANDA 等爆款 IP,以及线上线下全渠道营销收获了千万年轻人的喜爱,会员数达到 2600 多万。2022 年,泡泡玛特实现 46.2 亿元营收,其中线上渠道营收占比 41.8%…...

Linux socket网络编程实战(tcp)实现双方聊天
在上节已经系统介绍了大致的流程和相关的API,这节就开始写代码! 回顾上节的流程: 创建一个NET文件夹 来存放网络编程相关的代码: tcp服务端代码初步实现--上 这部分先实现服务器的连接部分的代码并进行验证 server1.cÿ…...

BuhoCleaner for mac:让你的Mac重获新生
你是否曾经因为电脑运行缓慢而感到困扰?是否曾经因为大量的垃圾文件和无效的临时文件而感到头疼?如果你有这样的烦恼,那么BuhoCleaner for mac就是你的救星! BuhoCleaner for mac是一款专门为Mac用户设计的系统清理工具ÿ…...

陶氏公司将出席2023第二届中国汽车碳中和峰会
2023第二届中国汽车碳中和峰会将于10月19日-20日在上海举办。 本次峰会将为行业领导者、政策制定者和专家提供一个平台,讨论汽车行业减少碳排放的策略。专家们将从政策、供应链、ESG、替代能源解决方案、汽车材料创新、法律等不同领域分享碳中和与可持续策略。 通…...

【linux命令讲解大全】051.Linux Awk脚本语言中的字段定界符和流程控制
文章目录 设置字段定界符流程控制语句条件判断语句循环语句while语句for循环do循环 其他语句 数组应用数组的定义读取数组的值数组相关函数二维、多维数组使用 从零学 python 设置字段定界符 默认的字段定界符是空格,可以使用-F “定界符” 明确指定一个定界符&…...

Gradle下载安装教程
1、Gradle 入门 1.1、Gradle 简介 Gradle 是一款Google 推出的基于 JVM、通用灵活的项目构建工具,支持 Maven,JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言(例如:java、groo…...

Python 之 match 表达式
Python 从 3.10 版本开始增加了 match 语句,和其他语言常见的 switch 语句极其相似,但功能更加强大。 本文通过实例,了解下其用法。 基本的 match 语句 def http_code(status): match status: case 400 | 404 | 418: …...