半夜一分快三app推荐直播下载/石家庄关键词优化平台
1、介绍
此程序包实现了一种重建和简化二维点集的方法。输入是一组具有质量属性的二维点,可能受到噪声和离群值的干扰。输出是一组线段和孤立点,它们近似于输入点,如下图所示。质量属性与每个点的近似重要性有关。
左:输入点集受到噪声的阻碍。右图:由线段组成的相应重建形状。
在内部,该算法从所有输入点构建一个初始的二维Delaunay三角剖分,然后简化三角剖分,使三角剖分的边和顶点子集近似于输入点。近似是指基于最优运输的鲁棒距离。三角剖分通过半边折叠、边翻转和顶点重定位运算符的组合简化。三角剖分在简化过程中保持有效,即既没有重叠也没有折叠。
重建算法的输出是三角剖分的边和顶点的子集。下图描绘了一个例子,其中输出由绿色边和一个孤立顶点组成。绿色边被认为是相关的,因为它们很好地近似了许多输入点。灰色显示的边称为虚边,被丢弃,没有近似任何输入点。红色显示的边称为不相关,也被丢弃,近似了一些输入点,但不足以被认为是相关的。
(a) 输入点。(b) 输入点的Delaunay三角剖分。(c) 简化后,重影边为灰色,相关边为绿色,不相关边为红色。(d)最终重建由多条边和一个孤立顶点组成。
输出重构的目标边缘数量与近似误差的概念之间没有直接关系。因此,简化算法可以通过与距离相同的最大容限误差来停止。更具体地说,公差被指定为每单位质量运输成本的最大平方根,在一定距离内是均匀的。
请注意,公差是在Wasserstein距离的意义上给出的(请参见Wasserstein距)。这不是豪斯多夫公差:这并不意味着输入样本和输出多段线之间的距离保证小于公差。这意味着每质量运输成本的平方根(在一定距离内是均匀的)最多是公差。
重建的输出可以通过两种方式获得:要么作为2D点和线段的序列,要么作为对线段的连通性进行编码的索引格式,因此称为顶点和边。索引格式记录点的列表,然后在所述列表中记录边的点索引对,以及隔离顶点的点索引。
2、API
向用户公开的唯一类是Optimal_transportation_reportion_2类。
2.1、示例调用
Optimal_transportation_reconstruction_2<K>otr2(points.begin(), points.end());
otr2.run(100); // perform 100 edge collapse operators
如果输入不仅仅是没有质量的点,则可以提供与该输入匹配的特性映射。
Optimal_transportation_reconstruction_2<K, Point_property_map, Mass_property_map>otr2(points.begin(), points.end(), point_pmap, mass_pmap);
otr2.run(100);
除了调用run(),还可以调用run_until()并指定要保留的输出顶点数.
来自分别由2000、400和200个输入点组成的数据集的20个顶点重建的示例。这些示例说明了当输入点密度降低时算法的行为。
最后,当输出边的数量未知时,调用run_under_wasserstein_tolerance()允许用户根据距离标准运行算法。
otr2.run_under_wasserstein_tolerance(0.1);//执行折叠,直到在公差范围内无法再执行为止
具有不同Wasserstein耐受阈值的重建示例。顶部:输入点设置和重建,公差为0.005。底部:公差为0.05和0.1的重建。
2.2、全局点重定位
由于噪声和丢失的数据可能会阻止重建的形状在正确的位置具有尖角,因此该算法提供了重新定位重建的所有点的功能:
otr2.relocate_all_points();
请注意,这些点与基础三角剖分的顶点重合。此函数可以在一次简化后调用,也可以与多次简化交错调用。
新的点位置被选择为使得输出分段和孤立点对输入点的近似被提高。更具体地说,重新定位过程在计算给定当前重建的最佳运输计划和在保持当前运输计划不变的情况下重新定位三角测量顶点之间迭代。顶点被重新定位,以最大限度地减少当前运输计划引起的运输成本。
左:点重定位前。右图:点重定位后。
3、参数
该算法的行为通过以下参数来控制。
3.1、边翻转
在简化内部三角剖分过程中,需要一些递归边翻转算子来确保在应用半边折叠算子时三角剖分保持有效。调用set_use_flip(false)可防止算法使用边翻转,以次优结果为代价产生更短的计算时间,因为并非所有边缘都可以被认为是可折叠的。
边缘翻转。左图:蓝色边会产生折叠,因为阻挡边显示为黑色。中间:运行递归翻转边过程后,蓝色边是可折叠的。右图:边塌陷后的三角剖分。
3.2、边缘相关性
从近似观点来看,如果一个边(1)很长,(2)近似很多点(或在点具有质量属性时近似大量质量),并且(3)近似误差很小,则该边是相关的。更具体地说,相关性的概念定义为m(e)*|e|²/cost(e),其中m(e)表示由边近似的点的质量,|e|表示边的长度,cost(e)表示其近似误差。由于误差由质量时间平方距离定义,因此相关性是无单位的。默认值为1,因此所有近似某些输入点的边都被认为是相关的。较大的相关性值为我们提供了增加对异常值鲁棒性的手段。
3.3、随机样本大小
默认情况下,简化依赖于抽取期间半边缘折叠算子的穷举优先级队列。为了提高效率,严格大于0的参数样本大小切换到多选择方法,即,在大小样本大小的边缘折叠算子的随机样本中的最佳选择。样本大小的典型值是15,但当目标是非常粗略的简化时,必须放大此值。
3.4、本地点迁移
除了上述全局重定位功能外,Optimal_transportation_reconstruction_2 类构造函数的一个可选参数提供了一种在每次边折叠操作后(可能结合边翻转)在本地重定位点的手段。本地在此处意味着仅在每个边折叠操作周围的三角剖分中重定位局部模板的顶点,其过程类似于上述全局重定位函数中描述的过程。将局部模板选择为折叠边后剩余顶点的单环邻域。重定位过程是迭代的,一个参数控制重定位步骤的数量。
3.5、详细输出
verbose参数介于0和2之间,用于确定算法生成的控制台输出量。0值不生成标准输出的输出。大于0的值将生成标准输出std::cerr的输出。
4、健壮性
该算法的优点是其对噪声和异常值的鲁棒性。下图显示,只要异常值的密度与输入点的密度相比较小,算法的输出就几乎不受噪声和/或异常值的影响,因此算法的输出是稳健的。
对噪声和异常值的鲁棒性。左:无噪波点集。中间:噪声点集。右图:点集受到噪声和异常值的阻碍。
5、变密度
下图说明了算法在具有均匀质量属性的点集上相对于可变密度的行为。由于该算法更加重视密集采样区域,这转化为密集采样区域上的较小边缘。在稀疏采样的区域上,该算法最初通过一个孤立的顶点对每个点进行近似,然后逐渐用边对这些点进行近似。
6、混合维度
描绘了对一组线段和实心区域进行采样的输入点集。根据输出中的目标点数,实体区域由一组均匀采样的孤立顶点近似。
7、可变质量
质量属性提供了一种调整每个点的重要性以进行近似的方法。图描述了阈值处理后灰度图像的重建,其中像素的灰度被用作质量属性。
可变质量。左:输入灰度图像。中:阈值处理后的图像,以减少用作质量为非零的点的像素数。右:最终重建。
8、它是如何工作的?
这里要解决的任务是从R2中的噪声点集S重建一个形状,即给定平面上的一个点集,找到一组点和线段(更正式地说,一个0-1单纯形复形),它最接近S。
近似误差来自几何测度之间的最优传输理论。更具体地说,输入点集被视为离散测度,即一组逐点质量。目标是找到一个0-1单纯形复杂体,其中边是分段均匀连续测度的支撑(即线密度质量),顶点是离散测度的支撑。在我们的上下文中,近似输入点集转化为用由线段和点组成的另一种测度来近似输入离散测度。
8.1、Waterstone距离
直观地说,最优传输距离(在我们的上下文中为Wasserstein-2距离)测量将输入度量传输到三角测量的顶点和边上所需的工作量,其中度量在每个边上被约束为均匀(且大于或等于零),在每个顶点上仅大于或等于0。请注意,Wasserstein距离是对称的。
当三角测量的所有顶点与输入点重合时(在完全初始化后),由于每个输入点免费重新定位到一个顶点,并且重建仅由孤立的顶点进行,因此总传输成本为零。
现在假设输入点集由在线段上均匀采样的10个点(每个点的质量为1)组成,并且三角测量包含与线段重合的单个边。尽管从点到边缘的(单侧欧几里得)距离为零(反之不为零),但从点到边的Wasserstein距离为非零,因为我们将边的质量密度约束为均匀,并且边的总质量(密度积分)等于10,即输入点的总质量。因此,输入点应在边缘上切向传输,以匹配均匀密度,输入点的最佳传输计划被描述为覆盖边缘的具有相等长度的较小线段。
如果现在在同一边缘上均匀地采样20个点(每个点的质量为0.5),则Wasserstein距离较小(尽管总质量与以前一样为10),因为运输计划由较小的线段描述。在20个输入点具有不同质量的略微不同的配置中,最佳运输计划由小线段描述,其长度与相关输入点的质量成比例。当输入点不严格位于边缘时,运输计划既有切线分量,也有法线分量。
换言之,当输入点密集且均匀地对输入点的边缘进行采样时,通过单个边缘很好地近似该输入点。因此,除了对称性之外,Wasserstein距离的一个优点是量化从点到边的偏差和该边上点的不均匀性。当这些异常值的质量与输入点的总质量相比很小时,该距离对异常值(远离边缘的点)也有弹性。
8.2、重建
该算法对三角剖分进行从细到粗的简化。它首先在输入点S周围构建一个盒子,并在S的全部或子集上计算Delaunay三角剖分T0。T0是第一个输出的单形,在后续迭代中通过重复的边折叠进行简化。为了选择下一个边,对所有可行的边(即在三角剖分中既不引入重叠也不引入折叠的边)模拟边折叠算子。根据T∖e的运输计划的总成本选择下一个要折叠的边e,其中最便宜的总成本是首选。由于忽略不保持三角剖分嵌入的边会严重影响贪婪方法对最优运输的性能,因此通过添加使每个边可折叠的局部翻转过程来修改折叠算子。
通过将每个输入点临时分配给最近的单形边来近似运输计划。在将输入点相对于边进行划分之后,如果且仅当相应的运输成本小于边两个端点中每个端点的运输成本,则临时分配给给定边的所有点将被永久分配给它。否则,每个点被分配给两个端点中最便宜的端点。重复边折叠和运输计划更新的过程,直到达到用户指定的所需顶点数量。
在过程结束时,可以过滤掉质量较小的边缘,剩余的相关边缘和孤立顶点被报告为重建输入形状。
9、其他
Wasserstein距离,又称Wasserstein距离、Earth-Mover距离,是一种衡量两个概率分布之间的距离的度量方法。
在定义Wasserstein距离时,首先需要定义两个概率分布之间的所有可能的联合分布的集合。对于每一个可能的联合分布,可以从中采样得到一个样本x和y,并计算出这对样本的距离||x−y||。然后,可以计算该联合分布下样本对距离的期望值E(x,y)∼γ[||x−y||]。在所有可能的联合分布中能够对这个期望值取到的下界就是Wasserstein距离。
直观上可以把E(x,y)∼γ[||x−y||]理解为在γ这个路径规划下把土堆P1挪到土堆P2所需要的消耗。而Wasserstein距离就是在最优路径规划下的最小消耗。
CGAL 6.0 - Optimal Transportation Curve Reconstruction: User Manual
相关文章:

CGAL的最优传输曲线重构
1、介绍 此程序包实现了一种重建和简化二维点集的方法。输入是一组具有质量属性的二维点,可能受到噪声和离群值的干扰。输出是一组线段和孤立点,它们近似于输入点,如下图所示。质量属性与每个点的近似重要性有关。 左:输入点集受到…...

使用Docker本地安装部署Draw.io绘图工具并实现远程访问协作办公
前言 提到流程图,大家第一时间可能会想到Visio,不可否认,VIsio确实是功能强大,但是软件为收费,并且因为其功能强大,导致安装需要很多的系统内存,并且是不可跨平台使用。所以,今天给…...

流程图、泳道图的介绍和示例分享,以及自定义元件库的介绍
目录 一. 流程图介绍 二. Processon使用 新建一个流程图 图形的使用 三. 流程图示例 登录界面 门诊业务流程图 住院业务流程图 药房业务流程图 会议OA流程图 四. 泳道图介绍 五. 自定义元件库 5.1 新建一个元件库 5.2 创建元件 5.3 使用自定义元件库 一. 流程图介…...

RabbitMq的详细使用
消息队列RabbitMQ详细使用 文章目录 消息队列RabbitMQ详细使用MQ 的相关概念什么是MQ为什么要用MQMQ 的分类MQ 的选择 RabbitMQRabbitMQ 的概念四大核心概念各个名词介绍安装RabbitMQWeb管理界面及授权操作Docker 安装Hello world简单示例 Work Queues轮训分发消息消息应答自动…...

软件设计师——软件工程(二)
📑前言 本文主要是【软件工程】——软件设计师——软件工程的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄…...

阿里云RDS MySQL 数据如何快速同步到 ClickHouse
云数据库 RDS MySQL 和 云数据库 ClickHouse 是阿里云推出的两个备受欢迎的数据库解决方案,它们为用户提供了可靠的数据存储方案、分析数仓方案,本文介绍如何快速将 RDS MySQL 的数据同步到云数据库 ClickHouse。 如何快速将RDSMySQL的数据同步到云数据库…...

HINet技术要点
《HINet: Half Instance Normalization Network for Image Restoration》发表于CVPR2021,是旷视科技&复旦大学&北大在图像复原方面的的最新进展,所提方案取得了NTIRE2021图像去模糊Track2赛道冠军。 下面谈谈该文章的主要技术点。 1. HIN&#…...

IntelliJ IDEA2023学习教程
详细介绍idea开发工具及使用技巧 1. 2023版安装1.1删除老版本1.2 下载及安装 3.快捷技巧4. 创建各种model 1. 2023版安装 1.1删除老版本 如果以前装有idea需要先删除,以避免冲突,在idea安装目录/bin/Uninstall.exe双击1.2 下载及安装 最新版本 https:/…...

MATLAB基础应用精讲-【数模应用】神经网络(补充篇)
目录 前言 几个相关概念 反向传播 梯度下降 损失函数 优化函数...

洛谷题单【算法1-7】搜索
P1135 奇怪的电梯 一开始以为深搜肯定没问题,从a点出发,衍生出一个二叉树,遍历所有情况就好了,但是会重复,所以加了一个vis防止重复,但是只拿了64pts,因为有可能某个点并不是最短被到达的&…...

WordPress主题Lolimeow v8.0.1二次元风格支持erphpdown付费下载
WordPress国人原创动漫主题lolimeow免费下载 lolimeow是一款WordPress国人原创主题,风格属于二次元、动漫、可爱萝莉风,带有后台设置,支持会员中心。该主题为免费主题。 1.侧栏/无侧栏切换! 2.会员中心(配套Erphpdown…...

WTN6xxx系列OTP语音芯片:智能语音解决方案的可靠之选
在智能语音交互领域,唯创知音的WTN6xxx系列OTP语音芯片以其独特的特性成为声音播放提示IC的可靠之选。本文将深入探讨WTN6xxx系列OTP语音芯片的应用优势,展示其在各个方面的卓越性能。 一、低成本、高性能 1.经济实惠: WTN6xxx系列OTP语音芯…...

腾讯云Elasticsearch Service产品体验
基本介绍 产品概述 腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需…...

SQLE 3.0 部署实践
来自 1024 活动的投稿系列 第一篇《SQLE 3.0 部署实践》 . 作者:张昇,河北东软软件有限公司高级软件工程师,腾讯云社区作者。 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文共 32…...

爬虫的分类
爬虫的分类 网络爬虫按照系统结构和实现技术,大致可分为4类,即通用网络爬虫、聚焦网络爬虫、增量网络爬虫和深层次网络爬虫。 1.通用网络爬虫:搜索引擎的爬虫 比如用户在百度搜索引擎上检索对应关键词时,百度将对关键词进行分析…...

简说vue-router原理
vue-router原理 hash模式 实现原理 改变描点监听描点变化 history模式 实现原理 改变url监听url变化 abstracthash 和 history 模式有什么区别? url 不一样原理不同 其他总结扩展 history 出现404错误 vue-router原理 vue-router是vue项目的重要组成部分&#x…...

什么是 Spring 框架?
Spring 框架是一个开源的、轻量级的企业级应用框架,用于构建 Java 应用程序。它提供了全面的基础设施支持,以简化企业级应用的开发。Spring 的核心目标是通过促进良好的设计原则和编程习惯来提高 Java 开发人员的效率和系统的可维护性。 Spring 框架的主…...

Vue2.x源码:new Vue()做了啥
例子1new Vue做了啥?new Vue做了啥,源码解析 initMixin函数 初始化 – 初始化Vue实例的配置initLifecycle函数 – 初始化生命周期钩子函数initEvents – 初始化事件系统初始化渲染 initRender初始化inject选项 例子1 <div id"app"><div class"home&…...

iOS 借助DSYMTools工具定位到闪退的具体行数和方法名
1、下载 dSYMTools-master 工具,下载安装后,如下图: 2、通过Bugly或友盟等异常记录工具,找到闪退的内存地址和偏移量信息上图是Bugy记录的闪退信息,友盟的参考如下: 关于工具的原理和其他描述,…...

分布式解决方案与实战
分布式多线程性能调优 使用多线程优化接口 //下单业务public Object order( long userId){long start System.currentTimeMillis();//方法的开始时间戳(ms)JSONObject orderInfo remoteService.createOrder(userId);Callable<JSONObject> calla…...

GitHub入门介绍
GitHub是一个基于web的版本控制系统,主要用于代码管理和协作开发。它是开源的,并且提供了一系列的功能,方便开发人员进行版本控制、代码托管和团队协作。 以下是GitHub的一些基本概念和功能: 版本控制:GitHub使用Git作…...

IP与子网掩码之间的关系
子网掩码用于确认IP所在的网段,网络位与子网掩码相匹配 如果有另一台主机想要与这个IP地址进行通信,这时需要看两台主机的IP地址是否处于同一网段,处于同一网段才能相互ping通。 那么怎么判断是否处于同一网段呢?我们就看子网掩…...

文档或书籍扫描为 PDF:ScanPapyrus Crack
ScanPapyrus 可让您快速轻松地将文档或书籍扫描为 PDF,批处理模式使扫描过程快速高效,自动处理书籍并将其拆分为单独的页面 用于快速扫描文档、书籍或打印照片的扫描仪软件 快速扫描文档 使用此扫描仪软件,您无需在扫描仪和计算机之间来回移动…...

Clickhouse RoaringBitmap
https://blog.csdn.net/penriver/article/details/119736050 https://juejin.cn/post/7179956435806076988 BitMap适合连续密集的正整数存储,对于稀疏的正整数存储,其性能在很多时候是没办法和int数组相比的,尤其是正整数跨度较大的场景&…...

C语言第四十九弹----模拟使用strcpy函数
使用C语言模拟使用strcpy函数 定义:strcpy 函数是 C 标准库中用于字符串复制的函数。它接受两个参数,第一个参数 dest 是目标字符串的指针,第二个参数 src 是源字符串的指针,函数的功能是将源字符串复制到目标字符串中࿰…...

docker搭建maven私库Nexus3
什么是Maven私服? Maven 私服是一种特殊的Maven远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。 当然也并不是说私服只能建立在局域网,也有很多公司会…...

Java 基础学习(十)包装类、异常
1 包装类 1.1 包装类概述 1.1.1 什么是包装类 在进行类型转换时,有一种特殊的转换:将 int 这样的基本数据类型转换为对象,如下图所示: 所有基本类型都有一个与之对应的类,即包装类(wrapper)。…...

STM32的基本定时器注意点
本文介绍了STM32基本定时器3个重要的寄存器PSC、ARR、CNT,以及缓冲机制和计数细节。 基本定时器的框图 预分频器寄存器(TIMx_PSC)可以在运行过程中修改它的数值,新的预分频数值将在下一个更新事件时起作用。因为更新事件发生时,会把 TIMx_PS…...

浅谈NLP和大模型的关系
目录 一、什么是NLP 二、NLP的应用举例 三、NLP的Python实现举例 四、NLP和大模型的关系 五、NLP的难点 5.1 内容的有效界定 5.2 消歧和模糊性 5.3 有瑕疵的或不规范的输入 5.4 语言行为与计划 六、研究热点 一、什么是NLP 如果单独说NLP这3个字母,具有两…...

k8s上安装KubeSphere
🍩安装KubeSphere 🍪前置环境🍪安装nfs-server文件系统🍪配置nfs-client🍪配置默认存储🍪创建了一个存储类🍪metrics-server集群指标监控组件 🍪安装KubeSphere🍪执行安装…...