基于序列深度学习模型的向量海岸线形状分类方法 2024.05

本文中提出了一个数据驱动的方法来分类的形状矢量海岸线,该方法利用基于序列的深度学习算法对海岸线矢量分段进行建模和分类。具体而言,首先将复杂的海岸线划分为一系列弯曲,并进一步提出了一组不同的特征来描述每个弯曲的形态特征。然后,将每个弯道的形态特征及其序列整合到一个LSTM中,最终进行海岸线分类。

(五种海岸线)

海岸线分段分类方法由以下几个部分组成:1)准备数据2)序列建模3)特征提取4)分类模型

序列建模:每个单独的海岸线段被划分为一个弯曲序列

海岸线的形状建模:全局方法(左)和本文提出的序列方法(右)。全局方法将海岸线视为一个整体,提取海岸线的总长度、平均全局曲率、全局包络面积、最小边界矩形等信息。相比之下,本工作中也采用了序列建模方法,首先将海岸线划分为几个子部分(即本工作中的弯曲)。然后对每个子部分进行单独分析,研究其形态特征。通过这样做,序列建模方法可以提供海岸线的详细分析,因此能够更准确地描述海岸线的形态特征。

海岸线建模两种方法:全局建模和局部/序列建模。

全球模拟方法通过全局特征提取。但在海岸线研究中并不常用,原因:1)由于海岸线通常是一条非常复杂的曲线,全局方程或数值模拟方法的计算成本高,结果分析复杂。2)由于全局特征是海岸线细节特征的集合,因此从全局特征中提取的形态信息太少,而集合会去除许多重要的细节。

本文建议将海岸线划分为一系列弯曲,然后分别分析其形态特征(图3)。

通过拐点分割算法可以将一条直线分割成一系列的弯曲,具体分割步骤如下:

(1)预处理:首先,对海岸线应用小阈值σ的Douglas-Peucker (DP)算法来简化其几何形状。这样做是为了去除重复的点和非常接近的点,允许所有的矢量海岸线在相同的比例上。在应用DP算法时,我们调整算法的容差参数σ,并监测样本端点所包围的面积。为了保证在DP处理过程中形状标签的稳定性,我们保证了应用DP算法前后的IoU保持在95%以上。

(2)点分类和弯曲检测:然后根据每个点是左转(逆时针)还是右转(顺时针)来确定除起点和终点外的每个点的方向。逆时针旋转的点标记为正角(图4a中标记为红色),顺时针旋转的点标记为负角(图4a中标记为绿色)。所有角度符号相同的连续点都被认为是一个弯道。

(3)弯道校正:如图4b所示,最初检测到的弯道需要进行一定的调整。一个高度弯曲的弯道,即一个弯道内所有顶点的弯曲总和太大,可能会使相邻的弯道与它们自己相交。移动端点以减小所有顶点的累计角度,直到两个相邻弯道的交点消失。对于一个平缓弯曲的弯,这意味着标志着弯道终点的弯曲很小,人们不会认为这是弯道的终点。只有当拐点角度较小,且新基线比旧基线短时,才应将端点向外移动。

使用上述方法,海岸线可以分割成一系列的弯曲。同时,这些弯道具有以下明显的特点:1)正弯道和负弯道总是相邻的。2)每个弯道与另一个相邻,覆盖了整个海岸线上的每个顶点。

特征

提出的每个弯曲的形态特征可以分为三组:大小相关,方向相关和复杂性相关的特征。很多关于曲线的特征,略

矢量海岸线形态分类模型

构建了一个矢量海岸线形态分类模型BendSeqLSTM。由于海岸线形状的顺序对称性,采用双向LSTM模型。首先,将海岸线分割为一系列弯曲X = (X1,X2,⋯X n),并将每个弯曲的所有形态特征描述为Xt,其中t是海岸线中弯曲的序数。然后将弯曲序列X输入到双向LSTM层,将其序列结构信息聚合到第一层的隐变量H[1]中。LSTM单元的数量等于海岸线上弯曲的数量。然后将H[1]输入到两个全连通层中,在全连通层中对LSTM提取的序列结构信息进行富集,得到H[L]。最后,集成一个SoftMax层来输出隐藏变量H[L]作为五种海岸线形态类(在第3.1节中提出)的概率Y。

LSTM 层的长度设置为样本中的最大序列长度。短于此长度的样本将填充预定义的掩码值。在将数据馈送到 LSTM 层之前,应用掩码层进行预处理。每个 LSTM 单元都配置有 4 个内核。全连接层由 128 个单元组成。

结果

双向序列网络始终优于单向网络。因为海岸线的形态显然与输入的方向无关。利用双向序列网络消除了在计算模型中描绘海岸线形态时描述顺序的影响。此外,双向序列网络还有助于捕获更多的海岸线形态特征。

与基于弯曲构造的特征(如本研究)相比,基于点X和Y坐标的方法表现出较差的性能。我们将其归因于两个主要原因:首先,与弯曲序列相比,点序列的长度较长增加了梯度消失的问题。此外,与手工特征相比,仅从X和Y坐标自动提取高级特征的效率太低,表现为模型收敛困难。因此基于X点和Y点坐标的端到端方法在训练过程和分类精度方面存在明显的缺点。具有手工制作特征的基于向量的方法,如本文提出的方法,在数据灵活性、易于应用、模型可解释性、模型训练和迁移的成本效率以及整体性能方面具有更大的优势。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强化学习——学习笔记2

在上一篇文章中对强化学习进行了基本的概述,在此篇文章中将继续深入强化学习的相关知识。 一、什么是DP、MC、TD? 动态规划法(DP):动态规划法离不开一个关键词,拆分 ,就是把求解的问题分解成若…

【JavaScript脚本宇宙】点燃你的Web开发:数据绑定和MV*框架

逐一剖析:JavaScript框架和库的概述、特点与应用 前言 在当今技术日新月异的时代,JavaScript库和框架已成为前端开发的重要工具。这篇文章将详细介绍六种不同的JavaScript库和框架,帮助读者了解他们的主要特性、使用示例和适用场景。 欢迎订…

gif帧数修改怎么操作?一键掌握GIF帧数修改技巧!

gif帧数修改怎么操作?在数字化信息爆炸的时代,GIF动图因其生动有趣的特性而备受广大网友喜爱。然而,很多时候我们可能会遇到GIF动图帧数过多或过少,导致动画效果不尽如人意的情况。那么,如何对GIF动图的帧数进行修改呢…

探索微软Edge开发者工具:优化前端开发的艺术与科学

探索微软Edge开发者工具:优化前端开发的艺术与科学 引言:Edge开发者工具概览一、基础操作:步入DevTools的大门1.1 启动与界面布局1.2 快速导航与定制 二、元素审查与样式调整2.1 精准元素选取2.2 实时CSS编辑2.3 自动完成与内联文档 三、Java…

YOLOv10最详细全面讲解1- 目标检测-准备自己的数据集(YOLOv5,YOLOv8均适用)

YOLOv10没想到出来的如此之快,作为一名YOLO的爱好者,以YOLOv5和YOLOv8的经验,打算出一套从数据集装备->环境配置->训练->验证->目标追踪全系列教程。请大家多多点赞和收藏!!!YOLOv5和YOLOv8亲测…

dubbo复习:(13)把服务划分为不同的group 和version,只有服务端和客户端group和version匹配才能通信

一、接口定义 package cn.edu.tju.service;public interface DevelopService {String invoke(String param); }二、两个版本的实现: package cn.edu.tju.service;import org.apache.dubbo.config.annotation.DubboService;DubboService(group "group1"…

bert模型数据集加载方式

数据集构造 无论是机器学习还是深度学习对于数据集的构造都是十分重要。 现记录一下PyTorch 的 torch.utils.data.Dataset 类的子类。Dataset 类是PyTorch框架中用于处理数据的基本组件,它允许用户定义自己的数据集类,以满足特定任务的需求。 Dataset…

重学英语:输出的重要性

精通一门外语的四要素:听,说,读,写 输入:听,读 输出:写,说 因为输入是我们可以单独完成,不需要有人互动,所以我们做得最多 输出练习做得很少,…

Redis中的数据结构与内部编码

本篇文章主要是对 Redis 常见的数据结构进行讲解,同时还对其所对应的不同的内部编码进行讲解。希望本篇文章会对你有所帮助。 文章目录 一、五大数据结构 二、数据结构对应的编码方式 String hash list set zset 🙋‍♂️ 作者:Ggggggtm &…

js 面试题学习笔记一

1、什么是防抖和节流?有什么区别?如何实现? 防抖:触发高频事件后N秒内函数只会执行一次,如果N秒高频事件再次被触发,则重新计算时间。(a时间触发,5秒内执行一次,但是第4…

10G UDP协议栈 (9)UDP模块

目录 一、UDP协议简单介绍 二、UDP功能实现 三、仿真 一、UDP协议简单介绍 UDP协议和TCP协议同位于传输层,介于网络层(IP)和应用层之间:UDP数据部分为应用层报文,而UDP报文在IP中承载。 UDP 报文格式相对于简单&am…

电脑出现:excel词典(xllex.dll)文件丢失或损坏的错误提示怎么办?有效的将丢失的xllex.dll修复

当遇到 Excel 提示“词典 (xllex.dll) 文件丢失或损坏”的问题时,通常意味着该动态链接库文件(Dynamic Link Library,DLL),它与拼写检查功能相关联的,无法被正确找到或者合适地使用。那么有什么办法可以解决…

LLVM技术在GaussDB等数据库中的应用

目录 LLVM和数据库 LLVM适用场景 LLVM对所有类型的SQL都会有收益吗? LLVM在OLTP中就一定没有收益吗? GaussDB中的LLVM 1. LLVM在华为应用于数据库的时间线 2. GaussDB LLVM实现简析 3. GaussDB LLVM支持加速的场景 支持LLVM的表达式&#xff1a…

vue项目出现多次ElMessage

问题: 解决方法: let message null if (message null) { message ElMessage.error(“登录过期,请重新登录”); } 最终效果:只出现一个弹框

Orange AIpro Color triangle帧率测试

OpenGL概述 OpenGL ES是KHRNOS Group推出的嵌入式加速3D图像标准,它是嵌入式平台上的专业图形程序接口,它是OpenGL的一个子集,旨在提供高效、轻量级的图形渲染功能。现推出的最新版本是OpenGL ES 3.2。OpenGL和OpenCV OpenCL不同,…

实操专区-第15周-课堂练习专区-漏斗图与金字塔图

实操专区-第15周-课堂练习专区-漏斗图 下载安装ECharts,完成如下样式图形。 代码和截图上传 基本要求:下图3选1,完成代码和截图 完成 3.1.3.16 漏斗图中的任务点 基本要求:2个选一个完成,多做1个加2分。 请用班级学号姓…

银行对公贷款软件业务流程详解

对公贷款业务是指商业银行向企事业单位提供资金支持,用于资本扩充、生产经营、项目建设等方面的融资。其目的在于支持企事业单位的发展,推动经济增长。通过提供资金支持,企事业单位可以获得必要的资金来扩大生产规模、提高生产能力、研发新产…

第8周 分布式事务与数据一致性主流解决方案落地

第8周 分布式事务与数据一致性主流解决方案落地 1. 最终一致性原理与解析2. 微服务的解耦3. 本地消息存储4. 自定义事务管理器5. 本地消息删除********************************************************************************** 本周拓展数据的一致性落地,采用弱…

【Java EE】网络原理——HTTP请求

目录 1.认识URL 2.认识“方法(method)” 2.1GET方法 2.1.1使用Fiddler观察GET请求 2.1.2 GET请求的特点 2.2 POST方法 2.2.1 使用FIddler观察POST方法 2.2.2 POST请求的特点 3.认识请求“报头”(header) 3.1 Host 3.2 C…

Spring MVC 工作流程源码分析

前言: 我们知道 Spring MVC 的核心是前端控制器 DispatcherServlet,客户端所有的请求都会交给 DispatcherServlet 来处理,本篇我我们来分析 Spring MVC 处理客户端请求的流程,也就是工作流程。 Sping MVC 只是储备传送门&#x…