曲线长度预测神经网络设计与实现

在本文中,我们使用深度神经网络 (DNN) 解决几何中的一个基本问题:曲线长度的计算。

我们从监督学习方法的示例中学习了几何属性。 由于最简单的几何对象是曲线,因此我们重点学习平面曲线的长度。 为此,重建了基本长度公理并建立了ArcLengthNet。论文点击这里。

在这里插入图片描述

推荐:用 NSDT设计器 快速搭建可编程3D场景。

曲线长度的计算是许多现代和经典问题中最重要的组成部分之一。 例如,手写签名涉及沿曲线的长度的计算(Ooi 等人)。 当一个人处理现实生活中长度计算的挑战时,他面临着多种约束,例如加性噪声、离散化误差和部分信息。

在当前的工作中,我们解决了几何领域的一个基本问题,旨在使用 DNN 重建基本属性。 最简单的几何对象是曲线,评估曲线的简单度量是长度。 经典文献中有许多用于计算长度和其他几何性质的近似形式表达式(Kimmel,2003)。 然而,由于我们知道 DNN 的强大功能,因此我们非常有动力通过设计 DNN 来重建曲线的长度(弧长)属性。 为简单起见,我们关注二维欧几里得域。
在这里插入图片描述

1、一点几何知识

在我们深入研究机器学习公式之前,让我们简要回顾一下长度属性。 二维曲线 C 的欧几里得长度的一般方程由下式给出
在这里插入图片描述

长度的公理是可加性、不变性、单调性和非负性。 相对于串联的长度加法,相对于旋转和平移不变,它是单调的,并且根据定义,任何曲线的长度都是非负的。

为了找到连续曲线的长度,应该将其离散化。 离散化过程存在误差。 例如,让我们看一下蓝色曲线。 对该曲线进行粗略离散可以得到橙色离散曲线。 显然,将曲线分成许多无穷小的线可以最小化离散化误差。
在这里插入图片描述

在离散化误差中,我们可以发现加性噪声、部分信息以及由于长度方程中涉及的非线性和导数而出现的许多其他误差。

那么,我们如何将其制定为一项学习任务呢?

2、学习方法

我们通过监督学习方法解决了这个问题,该方法具有满足长度公理的独特损失函数。 训练后的模型称为 ArcLengthNet。 它使用 2D 向量作为输入,表示平面欧氏采样曲线,并输出它们各自的长度。 我们创建了一个包含 20,000 个采样的数据集,以完全支持 DNN 训练。 如此大量的示例旨在涵盖曲线变换并满足不同的模式。 我们数据中的一般曲线由下式给出
在这里插入图片描述

其中 R 是旋转矩阵,T 是平移向量,a 是幅度,phi 是相位。
在这里插入图片描述

我们设计了独特的损失函数:

在这里插入图片描述

其中 s1、s2 和 s3 是保持等式 L(s1) = L(s2) + L(s3) 的输入曲线,O 是 DNN 输出,k 是示例索引,lambda 是正则化参数,ij 是各种 DNN 权重。 通过模型传递示例来调整权重:

在这里插入图片描述

我们设计了一个简化的基于CNN的架构。 它包括一个卷积层和两个仅具有一个激活函数的全连接层。 每条曲线由 N = 200 个点表示。 该表示被插入到一个大小为 3 的小内核的卷积层中。它被处理成一个全连接层,通过修正线性单元 (ReLU) 激活函数仅输出 10 个权重到另一个全连接层,最后输出长度。

DNN 是通过使用反向传播方法小批量传递许多示例来进行训练的。 训练过程分批进行,每批 200 个样本,共 100 个 epoch。 我们使用的优化器是具有动量和权重衰减的随机梯度下降(SGD)。

在这里插入图片描述

在这里插入图片描述

该模型在 100 个 epoch 后就得到了良好的训练。 定义了一个保留集来测试架构在未见过的数据上的性能。 该集合包含 5,000 个尚未在训练集或测试集中使用的示例。 ArcLengthNet 获得的最小 MSE 为 0.17。 在此保留集上测试了 ArcLengthNet 的单调属性,其中在真实长度和 ArcLengthNet 之间建立了线性关系:
在这里插入图片描述

3、结束语

本文提出了一种基于学习的重建曲线长度的方法。 深度神经网络重建基本公理的能力得到了证明。 结果可以进一步用于改进手写签名并重建一些更多的微分几何性质和定理。


原文链接:基于CNN的曲线长度预测 — BimAnt

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

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

相关文章

Microsoft发布用于 AutoML 算法和训练的 NNI v1.3

将传统的机器学习方法应用于现实世界的问题可能非常耗时。自动化机器学习 (AutoML) 旨在改变这种状况——通过对原始数据运行系统流程并选择从数据中提取最相关信息的模型,使构建和使用 ML 模型变得更加容易。 为了帮助用户以高效和自动的方…

【雕爷学编程】Arduino动手做(170)---LGT8F328P 开发板

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

【C++ 程序设计】第 1~9 章:常见知识点汇总

目录 一、C 语言简介 二、面向对象的基本概念 三、类和对象进阶 四、运算符重载 五、类的继承与派生 六、多态与虚函数 七、输入/输出流 八、文件操作 九、函数模板与类模板 一、C 语言简介 知识点名称内容C语言的发展简史★★1. C 语言是 C 语言的前身 &…

PyTorch深度学习实战(6)——神经网络性能优化技术

PyTorch深度学习实战(6)——神经网络性能优化技术 0. 前言1. 数据准备1.1 数据集分析1.2 数据集加载 2. 使用 PyTorch 训练神经网络2.1 神经网络训练流程2.2 PyTorch 神经网络训练 3. 缩放数据集4. 修改优化器5. 构建深层神经网络小结系列链接 0. 前言 …

C#之事件

目录 一、发布者和订阅者 (一)概述 (二)有关事件的重要事项 (三)有关事件的私有委托需要了解的重要事项 二、源代码组件概览 三、声明事件 事件是成员 四、订阅事件 五、触发事件 六、标准事件的…

【Zerotier】通过docker自建PLANET服务器

在如今全球互联的时代,我们对于互联网的依赖程度越来越高。然而,传统的网络连接方式在某些情况下可能会受到一些限制,例如局域网的范围限制、防火墙的阻断或者设备所处的多层NAT等。但是,现在有一个名为ZeroTier的工具出现了&…

【C语言进阶】文件操作

🔥博客主页:小王又困了 📚系列专栏:C语言 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、什么是文件 1.1程序文件 1.2数据文件 1.3文件名 二、文件的打开和关闭 2…

银河麒麟服务器v10 sp1 nginx 部署项目

上一篇:银河麒麟服务器v10 sp1 nginx开机自动启动_csdn_aspnet的博客-CSDN博客 由于项目为前后端分离,前端项目使用nginx部署,VUE项目打包后上传至银河麒麟服务器: 8063 为前端项目文件目录,修改配置 ,默认…

脑电信号处理与特征提取——三. 脑电实验设计的原理与实例(古若雷)

三、脑电实验设计的原理与实例 被试间设计的实验结果也有可能是人员不同造成的,所以建议被试内设计。

双端队列(deque)与优先队列(priority_queue)

文章目录 一.双端队列——deque1.deque的优点与缺点2.deque的原理 二.优先队列——priority_queue1.什么是优先队列?2.优先队列的基本使用3.什么是仿函数?4.优先队列的模拟实现 一.双端队列——deque 在上一章stack、queue的模拟实现中,我们…

Mysql 数据库开发及企业级应用

文章目录 1、Mysql 数据库开发及企业级应用1.1、为什么要使用数据库1.1.1、数据库概念(Database)1.1.2、为什么需要数据库 1.2、程序员为什么要学习数据库1.3、数据库的选择1.3.1、主流数据库简介1.3.2、使用 MySQL 的优势1.3.3、版本选择 1.4、Windows …

【VUE】解决图片视频加载缓慢/首屏加载白屏的问题

1 问题描述 在 Vue3 项目中,有时候会出现图片视频加载缓慢、首屏加载白屏的问题 2 原因分析 通常是由以下原因导致的: 图片或视频格式不当:如果图片或视频格式选择不当,比如选择了无损压缩格式,可能会导致文件大小过大…

unity 控制text根据字数自动扩展大小,并扩展UI背景

需求:文字内容位置保持不变,向下增加,背景框随之同步扩展。 1.UGUI 九宫格 拉伸 对背景框图片资源处理,避免图片拉伸。 (10条消息) unity UGUI 九宫格 拉伸_unity九宫格拉伸_野区捕龙为宠的博客-CSDN博客 2.背景框添加组件 3.…

php裁剪图片,并给图片加上水印

本次以裁剪四个图片为例,图片如下 代码如下 public function cutImg($imgUrl){try{// 读取原始图片$src_img imagecreatefromjpeg($imgUrl);// 获取原始图片的宽度和高度$src_width imagesx($src_img);$src_height imagesy($src_img);// 计算每个部分的宽度和高…

【数字信号处理】带通采样定理及其MATLAB仿真

目录 一、带通采样定理1.1 内容1.2 公式推导 二、MATLAB信号仿真2.1 信号仿真实验2.2 MATLAB代码 三、总结参考 一、带通采样定理 按照奈奎斯特采样定理(低通采样),采样频率 f s f_{s} fs​ 要大于等于信号中最高频率 f m a x f_{max} fmax​ 的2倍,才…

C++OpenCV(2):图像处理基础概念与操作

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 🔆 OpenCV项目地址及源代码:点击这里 文章目录 图形读取与显示加载图片显示图片打印图片信息保存图片 色彩模型转换RGB颜色模型HSV颜色模型HLS模型LAB模型 图像像素读写操作像素算数运…

macOS 源码编译 qpress

╰─➤ git clone https://github.com/PierreLvx/qpress.git ╰─➤ cd qpress ╰─➤ make g -O3 -o qpress -x c quicklz.c -x c qpress.cpp aio.cpp utilities.cpp -lpthread -Wall -Wextra -Werror ╰─➤ sudo make install …

怎么快速定位bug?怎么编写测试用例?

目录 01定位问题的重要性 02问题定位技巧 03初次怎么写用例 作为一名测试人员如果连常见的系统问题都不知道如何分析,频繁将前端人员问题指派给后端人员,后端人员问题指派给前端人员,那么在团队里你在开发中的地位显而易见 ,口碑…

垃圾回收标记阶段算法

1.标记阶段的目的 主要是在GC在前,判断出哪些是有用的对象,哪些是需要回收的对象,只有被标记为垃圾对象,GC才会对其进行垃圾回收。判断对象是否为垃圾对象的两种方式:引用计数算法和可达性分析算法。 2.引用计数算法…

如何搭建使用dubbo-Admin?

dubbo-Admin介绍 一款用于dubbo可视化界面操作的管理平台 dubbo-Admin特点 dubbo-Admin是dubbo的管理界面平台,且是一个前后端分离的项目,前端使用vue,后端使用springboot。 软件下载 dubbo-admin-0.5.0.zip 软件使用