基于序列深度学习模型的向量海岸线形状分类方法 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点坐标的端到端方法在训练过程和分类精度方面存在明显的缺点。具有手工制作特征的基于向量的方法,如本文提出的方法,在数据灵活性、易于应用、模型可解释性、模型训练和迁移的成本效率以及整体性能方面具有更大的优势。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Spring 框架中的@Async 注解实现异步任务

Async 是 Spring 框架中的一个注解,用于实现方法级别的异步执行。使用 Async 可以让你的代码在非当前线程中执行,从而提高应用的并发性能。 1、 启用异步支持 在 Spring 应用的主配置类或任何其他配置类上添加 EnableAsync 注解来开启异步任务的支持 …

WordPress中借助Table of Contents Plus+Widget Options插件,实现仅在文章侧边栏显示文章目录的功能

本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:今天心血来潮,写了一篇文章,忽然发现自己的文章极少有目录,这对于长文章的阅读来说是十分不利的&#…

Android14 WMS-窗口添加流程(一)-Client端

窗口布局在onCreate方法中通过setContentView(R.layout.xxx)加载,但窗口的显示并不是在wm_on_create_called中, 而是在wm_on_resume_called后,也就是说应用onResume时此窗口是不可见的,真正可见是当此window窗口的mDrawState变化状态从NO_SUR…

2024年社会发展、人文艺术与文化国际会议(ICSDHAC 2024)

2024年社会发展、人文艺术与文化国际会议(ICSDHAC 2024) 会议简介 2024年国际社会发展、人文、艺术和文化会议(ICSDHAC 2024)将在广州举行。会议旨在为从事社会发展、人文、艺术和文化研究的专家学者提供一个平台,分…

xjar加密springboot的jar包,并编译为执行程序

场景:当前项目需要进行jar包部署在windows环境和linux环境,并要求使用xjar加密。 1. xjar加密 源码程序自行搜索,这里只介绍加密及运行,运行加密程序,指定jar包,输入密码 2. 加密后的目录 3. go程序编译 …

Vanna使用ollama分析本地MySQL数据库

上一章节中已经实现了vanna的本地运行,但是大模型和数据库都还是远程的,因为也就没办法去训练,这节一起来实现vanna分析本地mysql数据库,因为要使用本地大模型,所以开始之前需要给本地安装好大模型,我这里用…

【数据结构】二叉搜索树——高阶数据结构的敲门砖

目录 树概述 二叉搜索树概述 概念 特性 元素操作 插入 删除 模拟实现 框架 查找 插入 删除 树概述 树——在计算机中是一种很常见的数据结构。 树是一种很强大的数据结构,数据库,linux操作系统管理和windows操作系统管理所有文件的结构就是…

PS教程08

光效 新建一个图层 按住Altdelete将颜色填充完毕。 转换智能对象 作用:我们可以对这个图层无限期修改 接下来找到滤镜-渲染-镜头光晕 选择需要的亮度和镜头类型,点击确定 如果发现位置不太理想,可以直接双击右下角的镜头光晕,…

swagger-ui页面接口的入参出参与代码实体类不一致有差异、swagger请求实体与预期定义不符、swagger参数与实体中参数不一致原因分析

文章目录 一、问题背景二、问题原因及解决方法 一、问题背景 项目集成swagger之后,发现有个接口的请求跟接口对应不上,把其他接口的请求参数放到当前这个请求上了。 如下图:test1接口的请求参数是其他请求的,并不是test1接口的 …

RFID芯片掼蛋牌:高科技与传统玩法结合,游戏体验焕然一新。

火爆“出圈”的掼蛋,是一种玩法相当鲜明的智力游戏。近年来得到了不少的推广和发展,各地举办了各种掼蛋比赛和活动,吸引了大量的参赛者和观众。此外,一些企业和机构也开始将掼蛋作为一种企业文化或者社交活动的方式,通…

无需开孔,安全美观:低功耗微波雷达模块开启宠物喂食器新未来

在快节奏的现代生活中,宠物已成为许多家庭的重要成员。然而,忙碌的主人常常为如何确保宠物按时进食而困扰。近年来,智能家居技术飞速发展,宠物喂食器也逐渐智能化,极大地方便了宠物主人。今天,我们要介绍的…

项目成功的关键要素:进度管理

在项目管理中,进度管理是决定项目成败的关键因素之一。它关乎项目能否在预定的时间范围内高效、准确地完成既定目标。 一、进度管理的重要性 1、时间控制:项目的成功往往与时间的把握息息相关。进度管理能够确保项目在既定的时间框架内有序进行&#x…

MySQL select for update 加锁

背景 当多人操作同一个客户下账号的时候,希望顺序执行,某个时刻只有一个人在操作;当然可以通过引入redis这种中间件实现,但考虑到并发不会很多,所以不想再引入别的中间件。 表结构 create table jiankunking_accoun…

肆拾玖坊FFC模式,社群裂变,股权众筹设计

肆拾玖坊商业模式,白酒新零售体系,众筹合伙模式 坐标:厦门,我是易创客肖琳 深耕社交新零售行业10年,主要提供新零售系统工具及顶层商业模式设计、全案策划运营陪跑等。 联想高管辞职跑去卖酒,6年狂赚30亿&…

手机“本地”也能玩转AI大模型 - 万物皆可AI

友友们,大家好!我最近发现一个很有意思的AI项目——MiniCPM-V,可以说它将AI技术的应用推向了一个全新的高度,让我们能够将GPT-4V级的多模态大模型直接部署在我们的手机上,而且完全不需要联网,真正的手机本地…

Unity版本使用情况统计(更新至2024年4月)

UWA发布|本期UWA发布的内容是第十四期Unity版本使用统计,统计周期为2023年11月至2024年4月,数据来源于UWA网站(www.uwa4d.com)性能诊断提测的项目。希望给Unity开发者提供相关的行业趋势作为参考。 2023年11月 - 2024年…

C++候捷stl-视频笔记1

认识headers、版本、重要资源 STL的核心思想是泛型编程 新式头文件内的组件封装在命名空间std中: using namespace std; using std::cout;或std::vector vec; 旧式头文件内的组件不封装在命名空间std中 注:不建直接使用using namespace xxx,如果使用的…

apexcharts数据可视化之极坐标区域图

apexcharts数据可视化之极坐标区域图 有完整配套的Python后端代码。 本教程主要会介绍如下图形绘制方式: 基础极坐标区域图单色极坐标区域图 基础极坐标区域图 import ApexChart from react-apexcharts;export function BasicPolar() {// 数据序列const series…

深入解析多维数组与主对角线元素之和

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:多维数组的奥秘 二、多维数组的基本概念 1. 定义与创建 2. 维度与形…

Linux服务器安装docker,基于Linux(openEuler、CentOS8)

本实验环境为openEuler系统(以server方式安装)(CentOS8基本一致,可参考本文) 目录 知识点实验 知识点 Docker 是一个开源的应用容器引擎。它允许开发者将应用及其所有依赖项打包到一个可移植的容器中,并发布到任何支持Docker的流行Linux或Wi…