CN108717731A - 一种基于局部几何特征的高效离散测地线并行方法 - Google Patents
一种基于局部几何特征的高效离散测地线并行方法 Download PDFInfo
- Publication number
- CN108717731A CN108717731A CN201810456452.9A CN201810456452A CN108717731A CN 108717731 A CN108717731 A CN 108717731A CN 201810456452 A CN201810456452 A CN 201810456452A CN 108717731 A CN108717731 A CN 108717731A
- Authority
- CN
- China
- Prior art keywords
- window member
- window
- itself
- actively
- geodesic curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Devices For Executing Special Programs (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于局部几何特征的高效离散测地线并行方法,包括:构建基于局部测地信息传递拓扑结构;输入网格模型,网格模型中所有顶点主动更新自身距离值、并且派生新的伪源点窗元,即新的第二类窗元;第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中;建多个边线程并行地处理每一条边上的窗元派生事件;创建多个边线程并行地处理每条边上的窗元收集事件;边根据自身的拓扑关系主动去获取属于自己的子窗元;边e主动收集属于其对应缓冲区中的窗元,并写入滚动数组下一状态对应的滚动数组中;交换滚动数组;如有可更新的第二类窗元,重新输入网格模型,否则结束。本发明提高算法效率,减少了运算时间,实现了完全并行化。
Description
技术领域
本发明涉及计算机图形学、计算几何、并行计算、高性能计算邻域、涉及CUDA(Compute Unified Device Architecture)技术领域,尤其涉及一种基于局部几何特征的高效离散测地线并行方法。
背景技术
测地线问题是计算机图形学领域中一个重要的问题。目前,已有大量的关于测地问题的文献。对于离散测地线问题,主要通过数值方法和几何方法两个途径入手。
基于数值的测地线求解方法主要通过微分几何的方法进行求解。微分几何中曲面理论产生于曲面上的测地线问题的研究。基于数值的测地线计算方法不断的改进,但是这些方法仍存在缺陷,主要表现为不可重用、缺乏并行化方法、以及在三维等高维空间中效果不理想。
基于几何的方法主要是通过计算几何的方法来解决。现有的离散测地线算法主要基于MMP(Mitchell-Mount-Papadimitriou)算法和CH(Chen-Han)算法这两个经典算法衍生出来的ICH(improved Chen-Han,CH改进算法)算法,FWP(Fast Wavefront Propagation,快速波前传播)的构架以及在FWP的基础上提出了三角网格性质的算法(VTP)。虽然离散测地线算法不断发展,但是在算法运算中冗余窗元仍存在,算法效率、以及在高维空间适用范围内仍有待提高,算法难以并行。
目前精确离散测地线算法几乎都是串行算法,PCH(Parallel Chen-Han,并行CH算法)算法是唯一一个基于任意三角网格上的精确并行测地线算法。但在PCH并行处理窗元传播和派生后,依旧需要一步串行操作来整理新产生的子窗元,并加入优先队列中,PCH并行化还不够完全。
发明内容
本发明的目的在于提出基于三角网格数据结构的离散测地线并行框架(autonomous wavefront propagation,自适应波前传播框架)以及基于这个框架的第一个完全并行的测地线算法(AWP-CH),能够有效的提高算法效率和实现完全并行化,详见下文描述:
一种基于局部几何特征的高效离散测地线并行方法,所述方法包括以下步骤:
构建基于局部测地信息传递拓扑结构,包括:第一类窗元和第二类窗元;
输入网格模型,网格模型中所有顶点主动更新自身距离值、并且派生新的伪源点窗元,即新的第二类窗元;
第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中;
建多个边线程并行地处理每一条边上的窗元派生事件;
创建多个边线程并行地处理每条边上的窗元收集事件;边根据自身的拓扑关系主动去获取属于自己的子窗元;
边e主动收集属于其对应缓冲区中的窗元,并写入滚动数组下一状态对应的滚动数组中;交换滚动数组;
如果仍有可更新的第二类窗元,则重新输入网格模型,否则流程结束。
其中,所述第一类窗元,即边e上的测地线信息,来自于:
自身的窗元信息、对顶点v上的窗元信息、以及三角形内另外两条半边结构的对边el,er上的窗元信息,即边e的上一条半边的对边el和下一条半边的对边er。
进一步地,所述第二类窗元,即点v上的测地线信息,来自于:
所有的相邻边上的窗元信息e1,e3,e4,e6,en和所有对边上的窗元信息e2,e5。
进一步地,所述网格模型中所有顶点主动更新自身距离值具体为:
每个顶点根据自身的拓扑关系主动去更新自身的值,即根据自身所关联边e1,e2,…,en上的窗元来更新该点的测地距离。
其中,所述第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中具体为:
通过自身的测地距离创建对边上的窗元,所创建的窗元存在对边e的缓冲区上。
具体实现时,所述建多个边线程并行地处理每一条边上的窗元派生事件具体为:
在每条边上都设定两个缓冲区用来存从半边e派生到左边el和右边er的子窗元的信息,一个左端缓冲区,一个右端缓冲区来存储这两种子窗元。
本发明提供的技术方案的有益效果是:
1、本发明提出基于三角网格数据结构的离散测地线并行框架、以及基于这个框架的第一个完全并行的测地线算法,无需串行操作来整理新产生的子窗元,实现PCH的完全并行化。
2、本发明提高了算法效率,减少了运算时间,实现了完全并行化,充分利用了计算资源。
附图说明
图1为一种基于局部几何特征的高效离散测地线并行方法的流程图;
图2为边结构拓扑关系图;
图3为点结构拓扑关系图;
图4为本方法(即AWP-CH算法)与CH算法、FWP算法、VTP算法比较的示意图;
图5为在不同模型在不同GPU处理能力下的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
实施例1
为了实现上述目的,本发明实施例提出一种基于局部几何信息的传播关系依赖图(propagatio dependency graph,PDG),对于一个基于边的测地线算法而言,包含以下两大类:
第一类窗元,如图2所示,边e上的测地线信息来自于:自身的窗元[1]信息、对顶点v上的窗元信息、以及三角形内另外两条半边结构的对边el,er上的窗元信息,即边e的上一条半边的对边el和下一条半边的对边er。
第二类窗元,如图3示,点v上的测地线信息来自于:所有的相邻边上的窗元信息e1,e3,e4,e6,en和所有对边上的窗元信息e2,e5。
基于局部测地信息传递拓扑结构图,本发明实施例提出了一个离散测地线并行框架,其主要步骤如下:
101:清空滚动数组,用于存放第一类窗元;
其中,滚动数组用于存储窗元信息,一共两个数组,分别代表当前迭代和上一次迭代的窗元信息,清空滚动数组即为对数组进行初始化处理。
102:输入网格模型,网格模型中所有顶点主动更新自身距离值、并且派生新的伪源点窗元[2],即新的第二类窗元;
其中,网格模型为本领域技术人员所公知,本发明实施例对此不做赘述。
103:第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中;
104:边e主动收集属于其对应缓冲区中的窗元,并写入滚动数组下一状态对应的数组中;
105:交换滚动数组;
106:如果仍有可更新的第二类窗元,则跳转步骤102,否则结束计算。
综上所述,本发明实施例基于三角网格数据结构的离散测地线并行框架、以及基于这个框架的第一个完全并行的测地线算法,能够有效的提高算法效率和实现完全并行化。
实施例2
下面结合具体的实例对实施例1中的方案进行进一步地介绍,详见下文描述:
201:初始化缓冲区,更新起点相关的窗元信息;
202:建多个顶点线程并行地处理每一个点更新事件;
203:网格模型中每一个顶点v根据自身的拓扑关系主动去更新自身的值,即根据自身所关联边e1,e2,…,en上的窗元来更新该点的测地距离,如图4所示。
204:再通过自身的测地距离创建对边上的窗元v,所创建的窗元存在对边e的缓冲区上;
205:建多个边线程并行地处理每一条边上的窗元派生事件;
因为对于一个三角网格内,每一条边上的窗元经过派生所产生子窗元只会有两种,一种是属于在对顶点的左边el的半边上的,另一种是属于对顶点的右边er的半边上的。
因此,在每条边上都设定两个缓冲区用来存从半边e派生到左边el和右边er的子窗元的信息,一个左端缓冲区,一个右端缓冲区来存储这两种子窗元。
206:创建多个边线程并行地处理每条边上的窗元收集事件;
207:边根据自身的拓扑关系主动去获取属于自己的子窗元;
208:边e主动去左半边el的左缓冲区和右半边er的右缓冲区收集子窗元。
其中,由于半边的拓扑关系,每一条边所对应的左端半边的el和右端半边的er都是唯一的,如图4所示。
209:滚动数组状态转移,即交换读写缓冲区;
210:判断是否在步骤202到步骤209中存在更新缓冲区,若存在,则跳转步骤202,否则结束。
其中,AWP算法是基于角网格之上的测地线并行框架。
本发明实施例在三角网格之上创建半边数据结构,依赖半边数据结构提出了传播关系依赖图。通过传播关系依赖图,巧妙的将三角网格中点和半边之间的依赖关系使用拓扑图表现出来,从而达到了完全并行化的效果。
实施例3
实验中将AWP算法在CUDA8.0编译环境下,利用三块不同的NVIDIAGPU进行了对比实验,这三块显卡分别是:1664个CUDA核心数,2.44Tflops计算能力的GTX 970;3072CUDA核心数,7.0Tflops的GTX TitanX和3840CUDA核心数,12Tflops的TitanXp。其他测地线经典的串行算法在配置i7-7700K,4.2GHz的CPU和32G内存的机器上进行实验。
由于在实验中涉及到的算法分为两种,对于精确算法而言,评价算法好坏主要通过算法所使用的时间和内存以及中间变量窗元的生成个数;对于近似算法而言,评价算法的好坏除了算法所使用的时间和内存以及中间变量窗元的生成个数,同时使用均方误差(MSE)作为近似算法精确度,MSE可以评价数据的变化程度,MSE的值越小,说明近似算法描述实验数据具有更好的精确度。MSE的计算公式如公式(1)所示。
公式(1)中,N表示模型中节点的个数,di和dICHi分别为近似算法在i点计算出来的测地距离和经典精确算法ICH在i点计算出来的测地距离,MSE的值越小,表示近似算法越好。
实验结果显示,对于精确算法,AWP算法在时间效率上是现阶段最好的算法VTP算法2倍左右,是经典算法ICH算法的10-50倍,在一些模型中甚至能够达到上百倍,如图5所示。而且随着模型规模的增大,AWP算法并行的性能更加凸显。对于近似算法,AWP框架可以应用到了经典算法FMM和近似的CH算法中。AWP并行计算框架不但可以简单的应用到这些算法中,而且使用了这个框架后,能够很好的提升其他算法的性能。实验结果显示AWP算法能够提升近似CH算法4到10倍,甚至更多,对于FMM算法,AWP算法能够提升大致3到5倍的,如表1所示。
本发明实施例提出了传播关系依赖图,如图1,图2。通过传播关系依赖图,分离点和边的依赖关系,实现了完全并行化,得益于完全并行化,基于AWP框架的算法的效率较传统算法有了显著提升。
表1 各算法在各网格模型中性能对比
结合图3和表1中实验结果,AWP-CH相对于串行方法能够快5-10倍,在一些网格模型中甚至能够达到上百倍。而且随着网格模型规模的增大,AWP算法并行的性能更加凸显。AWP的算法的理论复杂度是与迭代次数是成正比的。在实际的模型中,迭代次数往往不能够达到理论值n,所以AWP算法对于细长网格模型的实验效果不如比较匀称的网格模型。
图4给出了GPU处理能力与算法运行时间的倒数的关系图。作为一个完全并行的算法,GPU的处理能力越强,则算法越快,即算法的运行时间与GPU处理能力成反比。所以运行时间的倒数应该与GPU处理能力成线性关系。实验结果与预期完全相符。
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
参考文献:
[1]M.Sharir and A.Schorr.On shortest paths in polyhedralspaces.SIAMJ.Comput.,15(1):193–215,1986.
[2]J.S.B.Mitchell,D.M.Mount,and C.H.Papadimitriou.The discretegeodesic problem.SIAM J.Comput.,16(4):647–668,1987.
Claims (6)
1.一种基于局部几何特征的高效离散测地线并行方法,其特征在于,所述方法包括以下步骤:
构建基于局部测地信息传递拓扑结构,包括:第一类窗元和第二类窗元;
输入网格模型,网格模型中所有顶点主动更新自身距离值、并且派生新的伪源点窗元,即新的第二类窗元;
第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中;
建多个边线程并行地处理每一条边上的窗元派生事件;
创建多个边线程并行地处理每条边上的窗元收集事件;边根据自身的拓扑关系主动去获取属于自己的子窗元;
边e主动收集属于其对应缓冲区中的窗元,并写入滚动数组下一状态对应的滚动数组中;交换滚动数组;
如果仍有可更新的第二类窗元,则重新输入网格模型,否则流程结束。
2.根据权利要求1所述的一种基于局部几何特征的高效离散测地线并行方法,其特征在于,所述第一类窗元,即边e上的测地线信息,来自于:
自身的窗元信息、对顶点v上的窗元信息、以及三角形内另外两条半边结构的对边el,er上的窗元信息,即边e的上一条半边的对边el和下一条半边的对边er。
3.根据权利要求1所述的一种基于局部几何特征的高效离散测地线并行方法,其特征在于,所述第二类窗元,即点v上的测地线信息,来自于:
所有的相邻边上的窗元信息e1,e3,e4,e6,en和所有对边上的窗元信息e2,e5。
4.根据权利要求1所述的一种基于局部几何特征的高效离散测地线并行方法,其特征在于,所述网格模型中所有顶点主动更新自身距离值具体为:
每个顶点根据自身的拓扑关系主动去更新自身的值,即根据自身所关联边e1,e2,…,en上的窗元来更新该点的测地距离。
5.根据权利要求1所述的一种基于局部几何特征的高效离散测地线并行方法,其特征在于,所述第一类窗元中的边上窗元主动派生新窗元,并存入每条边对应的缓冲区中具体为:
通过自身的测地距离创建对边上的窗元,所创建的窗元存在对边e的缓冲区上。
6.根据权利要求1所述的一种基于局部几何特征的高效离散测地线并行方法,其特征在于,所述建多个边线程并行地处理每一条边上的窗元派生事件具体为:
在每条边上都设定两个缓冲区用来存从半边e派生到左边el和右边er的子窗元的信息,一个左端缓冲区,一个右端缓冲区来存储这两种子窗元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810456452.9A CN108717731B (zh) | 2018-05-14 | 2018-05-14 | 一种基于局部几何特征的离散测地线并行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810456452.9A CN108717731B (zh) | 2018-05-14 | 2018-05-14 | 一种基于局部几何特征的离散测地线并行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717731A true CN108717731A (zh) | 2018-10-30 |
CN108717731B CN108717731B (zh) | 2022-03-25 |
Family
ID=63900020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810456452.9A Active CN108717731B (zh) | 2018-05-14 | 2018-05-14 | 一种基于局部几何特征的离散测地线并行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717731B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111089592A (zh) * | 2019-12-13 | 2020-05-01 | 天津大学 | 一种离散曲面中测地线计算方法 |
CN115795939A (zh) * | 2022-11-03 | 2023-03-14 | 天津大学 | 一种基于非结构网格的二维洪水过程多gpu模拟方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4521998A (en) * | 1983-07-08 | 1985-06-11 | Delorme David M | Universal hub for geodesic type structures |
US20110141121A1 (en) * | 2009-12-11 | 2011-06-16 | Microsoft Corporation | Parallel Processing for Distance Transforms |
CN102737378A (zh) * | 2012-05-24 | 2012-10-17 | 中国科学院深圳先进技术研究院 | 测地线活动轮廓分割图像的方法和系统 |
CN104156523A (zh) * | 2014-08-01 | 2014-11-19 | 西安电子科技大学 | 索网反射面天线的测地线索网生成方法 |
-
2018
- 2018-05-14 CN CN201810456452.9A patent/CN108717731B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4521998A (en) * | 1983-07-08 | 1985-06-11 | Delorme David M | Universal hub for geodesic type structures |
US20110141121A1 (en) * | 2009-12-11 | 2011-06-16 | Microsoft Corporation | Parallel Processing for Distance Transforms |
CN102737378A (zh) * | 2012-05-24 | 2012-10-17 | 中国科学院深圳先进技术研究院 | 测地线活动轮廓分割图像的方法和系统 |
CN104156523A (zh) * | 2014-08-01 | 2014-11-19 | 西安电子科技大学 | 索网反射面天线的测地线索网生成方法 |
Non-Patent Citations (2)
Title |
---|
SHI-QING等: "Improving Chen and Han"s Algorithm on the Discrete Geodesic Problem", 《ACM TRANSACTIONS ON GRAPHICS》 * |
万雅娟: "基于几何特征的非刚性三维模型检索研究", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111089592A (zh) * | 2019-12-13 | 2020-05-01 | 天津大学 | 一种离散曲面中测地线计算方法 |
CN115795939A (zh) * | 2022-11-03 | 2023-03-14 | 天津大学 | 一种基于非结构网格的二维洪水过程多gpu模拟方法 |
CN115795939B (zh) * | 2022-11-03 | 2023-06-13 | 天津大学 | 一种基于非结构网格的二维洪水过程多gpu模拟方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108717731B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Crane et al. | A survey of algorithms for geodesic paths and distances | |
Cristiani et al. | Fast semi-Lagrangian schemes for the Eikonal equation and applications | |
CN106384384B (zh) | 一种三维产品模型的形状优化方法 | |
CN115357849B (zh) | 笛卡尔网格下的壁面距离的计算方法及装置 | |
CN108717731A (zh) | 一种基于局部几何特征的高效离散测地线并行方法 | |
CN111523270A (zh) | 一种改进的连续体结构拓扑优化后处理方法 | |
CN110211234A (zh) | 一种网格模型缝合系统和方法 | |
CN117473655B (zh) | 基于边坍缩网格优化的飞行器仿真驱动设计方法和装置 | |
CN113987610B (zh) | 基于网格映射的不同分辨率服装曲面网格的匹配方法 | |
CN103679814A (zh) | 一种三角形网格模型的处理方法及装置 | |
CN117454502A (zh) | 基于Wolfe准则修正牛顿法的三维网格质量优化方法 | |
Hong et al. | A multi-gpu fast iterative method for eikonal equations using on-the-fly adaptive domain decomposition | |
CN115346005B (zh) | 基于嵌套包围盒概念用于物面网格的数据结构构建方法 | |
Keyser et al. | Efficient and accurate B-rep generation of low degree sculptured solids using exact arithmetic: II—computation | |
Zhou et al. | Engineered model simplification for simulation based structural design | |
CN115222870B (zh) | 非结构网格隐式lusgs均衡着色方法、设备及介质 | |
Gao et al. | A multi-level parallel tie-dye algorithm for auto-CFD | |
Georgiadis et al. | Indirect all-quadrilateral meshing based on bipartite topological labeling | |
Boissonnat et al. | A probabilistic approach to reducing algebraic complexity of delaunay triangulations | |
CN110349265B (zh) | 一种四面体拓扑网格生成方法及电子设备 | |
Li et al. | A new mesh simplification algorithm based on quadric error metrics | |
CN114241026A (zh) | 基于平坦度划分的点云精简算法和装置 | |
Mao et al. | A new mesh simplification algorithm based on quadric error metric | |
CN115972584B (zh) | 基于cpu和gpu协同的增材制造模型并行化切片的方法 | |
Bevilacqua et al. | An evolutionary optimization method for parameter search in 3d points cloud reconstruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |