一种基于稀疏划分-区域树的等值面加速提取方法及系统与流程

文档序号:18165358发布日期:2019-07-13 09:34阅读:220来源:国知局
一种基于稀疏划分-区域树的等值面加速提取方法及系统与流程

本发明涉及等值面提取领域,尤其涉及一种基于稀疏划分-区域树的等值面加速提取方法及系统。



背景技术:

可视化,原意为将真实世界中不可被表达或抽象的概念、数据或结构等,转化人类可以观察的或可以辨认的图像、图形等。可视化的应用在人类生活中由来已久,并对科学技术的发展起到了深远的影响。早在一百多年,许多科学工作者在对试验和观测得到的数据进行分析时,就使用了以统计图、表格为代表的原始可视化技术,以便对纷繁复杂的数据信息进行归纳、整理和总结。

为解决数据规模过大以至于无法全部存储在内存中的问题,一些研究者提出了核外技术用以解决这类问题。核外技术将可视化所用到的数据存放在内存之外的磁盘等大容量设备上,等到需要数据时磁盘再相应请求传送数据。核外技术在一定程度上缓解了数据量过大的问题,但磁盘传输数据的速度远远小于cpu从内存中读取数据。此外,等到cpu发送请求时再传送数据的方式,使得在整个提取时间上额外增加了从磁盘传送数据到cpu时间,且这部分时间消耗较大,增加了整个提取过程的时间消耗。而且核外技术的效率依赖于元单元的划分,若元单元的划分策略不够明智,会造成提取过程时间复杂度的增加。

除了核外技术,并行可视化也可以在一定程度上解决数据规模对于可视化应用的限制。并行可视化将规模过大的数据划分到各个节点,每个节点包含适当规模的数据进行等值面提取,从而规避了海量数据的问题。并行可视化同样依赖于数据划分,适当的数据划分可以减少节点之间的通信开销,避免在等值面提取过程中引入新的时间消耗,增加时间复杂度。与核外技术类似,并行可视化会引入新的时间消耗。当节点之间需要进行数据交换时,节点之间的通信开销将会使整体的提取时间增大。此外,节点间的负载均衡也是影响并行可视化效果的因素之一。相互独立的任务之间往往存在着较大的负载差异,很难做到良好的负载均衡。对于使用并行可视化的方法来提取等值面,在每个节点提取面片之后需要统一拼合成一个完整的等值面,而最后的子结果整合过程会严重限制算法的可拓展性,不利于算法的进一步优化。



技术实现要素:

针对现有技术中的不足,本发明的目的是提供一种基于稀疏划分-区域树的等值面加速提取方法及系统,不仅避免了原有区域树算法的空间复杂度,进而能够应用在更大规模的数据集上,还能在减少等值面提取的时间消耗。

为了实现上述发明目的,本发明提供一种基于稀疏划分-区域树的等值面加速提取方法,如图1所示,其采用的技术方案是:

一种基于稀疏划分-区域树的等值面加速提取方法,包括以下步骤:

s1、获取三维标量数据场的数据并将其整合得到立方体空间f,每八个三维标量数据场的数据点组成一个立方体单体,若干个立方体单体组成立方体空间f,所述立方体空间f中相邻的两个立方体单体共用四个三维标量数据场的数据点。

具体的,在众多领域中的各类自然现象,如等温面、等压面等的三维标量数据场都是以连续的形式被用以探究分析的,但在实际研究中,为了便于分析数据的采集与处理往往采用离散的方法。离散的数据其蕴含的信息依赖于数据采集的分辨率,蕴含的信息越充分,所能刻画的自然现象和物理规律也就越准确。因此本发明将三维标量数据场的数据切片并整合成多个立方体,如图2所示,需要进行等值面提取的三维数据场是一个3*2*2的离散数据场,整个数据共包含了12个数据点。将这些离散的数据点每8个组成一个立方体,则整个数据场的12个数据点可以组成两个立方体。

通过对划分得到的立方体进行判定,确定每一个组成立方体的顶点与提取值的大小关系。每个立方体的8个顶点与提取值的关系有且只有大于等于提取值和小于提取值两种,则若某个顶点与提取值的大小关系与其他顶点不同,则该立方体必然与等值面相交,其中包含了组成等值面的一部分面片。利用立方体的形式来提取等值面,逻辑简单,易于实现。

s2、对立方体空间f进行稀疏划分得到稀疏空间f1,即对立方体空间f进行间隔采样得到稀疏空间f1,间隔采用的具体形式为:

参考图3展示了一个稀疏划分的示例图,一个5*4*4的三维标量数据场被整合成图中的4*3*3的立方体单体集合。在一般的算法中,需要将左侧的4*3*3共36个立方体均用数据结构组织起来,但是考虑到相邻的立方体之间存在信息共享,本发明采用稀疏化的间隔划分,只对图中右侧的18个立方体进行建树等构件数据结构的操作,则原有的空间复杂度可有效地被减少。图3中左侧的图像即为立方体空间f,图3中右侧的图像即为稀疏空间f1。

s3、利用区域树算法查找出稀疏空间f1中的活跃立方体a1,定位每个活跃立方体a1的活跃边,其中,利用区域树算法查找出稀疏空间f1中的活跃立方体a1具体包括:

s31、将稀疏空间f1中每一个立方体单体转换为(x1i,y1i),其中x1i表示第i个立方体单体顶点值的最小值,y1i表示第i个立方体单体顶点值的最大值,i=1,2,3···;

s32、以{(x1i,y1i)︳i=1,2,3···}建立二维区域树;

s33、根据等值面提取条件在二维区域树中查询出落在提取条件中x维度中的点;

s34、在步骤s33中的查询结果中查询出落在提取条件中y维度中的点,即为稀疏空间f1中的活跃立方体a1。

s4、根据稀疏空间f1中的活跃立方体a1的活跃边确定立方体空间f中的活跃立方体a,并将活跃立方体a1中活跃边的信息复制给活跃立方体a,随后提取活跃立方体a的三角面片,其中,根据稀疏空间f1中的活跃立方体a1的活跃边确定立方体空间f中的活跃立方体a具有方向性,具体解释为:

参考图4,其中的4条内侧的边实际是一条边,该边在图4中被互相邻近的四个立方体所共享。若已知立方体1号为一个活跃立方体,且其中的位于内侧的边为活跃边,则共享该活跃边的其余3个立方体无需查找,即为活跃的。在步骤s2的稀疏划分中,图4中所示的四个立方体将有两个被纳入数据结构的组织中,假设数据结构组织的是立方体1号和立方体3号,若图4中的内侧边为活跃边,则对稀疏化后的立方体空间进行活跃立方体查找后得到的活跃立方体集合包括立方体1号和3号。通过活跃立方体1号,可以利用边的共享性直接判定立方体2至4号为活跃立方体。同样的,通过活跃立方体3号,可以直接判定立方体1号、2号和4号为活跃立方体。在上述的判定过程中,同样的立方体被不同的稀疏空间中的活跃立方体所确定,造成了重复确定,导致了计算资源的浪费,为此本发明规定相邻活跃立方体的判定具有方向性。以图4为例,规定相邻立方体的判定只在x方向上进行,即若立方体1号和3号均为活跃立方体,活跃边为图中的内侧边,则通过活跃立方体1号只直接判定与其同在x方向上的立方体2号为活跃立方体。同样的,活跃立方体3号只直接判定与其同在x方向上的立方体4号为活跃立方体。通过规定这种直接判定的方向,避免了同一个立方体被多个稀疏空间中的活跃立方体判定,造成资源的浪费。

稀疏空间f1中的活跃立方体a的活跃边在立方体空间f中的关系为:

式中,(x,y,z)为立方体空间f中的坐标,(x1,y1,z1)为稀疏空间f1中的坐标。

s5、整合活跃立方体a中的三角面片,完成等值面提取。

为了实现上述发明目的,本发明还提供一种基于稀疏划分-区域树的等值面加速提取系统,其采用的技术方案是:

一种基于稀疏划分-区域树的等值面加速提取系统,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本发明的有益技术效果:

本发明通过将获取的三维标量数据场的数据并将其整合得到立方体空间,随后将立方体空间稀疏划分得到稀疏空间,随后在稀疏空间中通过区域树算法定位活跃立方体,进而确定立方体空间的活跃立方体,最终提取立方体空间的活跃立方体的三角面片,不仅避免了原有区域树算法的空间复杂度,进而能够应用在更大规模的数据集上,还能在减少等值面提取的时间消耗。

附图说明

图1是本实施例的流程示意图;

图2是离散数据划分为立方体的示意图;

图3是立方体稀疏化示例的示意图;

图4是空间相关性中的边共享的示意图;

图5是区域树算法与bono算法对数据集1等值面提取的耗时对比;

图6是区域树算法与bono算法对数据集2等值面提取的耗时对比;

图7是本发明方法与bono算法对数据集1提取活跃立方体部分的耗时对比;

图8是本发明方法与bono算法对数据集1提取三角面片部分的耗时对比;

图9是本发明方法与bono算法处理数据集1的总耗时对比;

图10是本发明方法与bono算法处理数据集1的加速比;

图11是本发明方法与bono算法处理数据集2的总耗时对比;

图12是本发明方法与bono算法处理数据集2的加速比。

具体实施方式

为了使本公开的目的、技术方案和优点更加清楚明白,下结合具体实施例,并根据附图,对本发明进一步详细说明。需要说明的是,在附图或说明书描述中,未描述的内容以及部分英文简写为所属技术领域中普通技术人员所熟知的内容。本实施例中给定的一些特定参数仅作为示范,在不同的实时方式中该值可以相应地改变为合适的值。

一.实验环境及数据

本实验采用的数据为仿真得到的三维气压场数据集1(网格规模为390*260*27,单位为pa)以及卫星观测得到的海水盐度场数据集2(网格规模为500*210*17,无量纲单位)。

二、实验结果及分析

实验分为两部分,分别为验证在活跃立方体查找部分区域树算法较bono算法的加速效果和本发明的稀疏划分-区域树方法的加速效果。

实验1先对数据集1取值为50000、60000、70000、80000、90000pa的等值面用区域树算法进行提取,并与bono算法提取相同的等值面作对比。由于区域树算法是在活跃立方体查找部分进行优化的,所以实验1着重探究在该部分两算法的耗时对比。活跃立方体查找部分区域树算法和bono算法的耗时对比如图5所示,可以看出,对于图5中提取的五个等值面,区域树算法相对于bono算法都可以取得明显的加速效果,平均能达到1.3倍左右。区域树算法取得如此较明显的原因是因为其采用的区域树数据结构在牺牲了空间复杂度的基础上,在值空间对活跃立方体搜索的结构进行了优化。在树的每个节点存储了所有对应正则子集的立方体,若该节点满足x坐标要求,则直接在存储的正则子集中查找满足y坐标的立方体,所以可以有效优化整体查找的时间复杂度。

对于数据集2的实验可以得到同样明显的加速效果。数据集2的取值范围为31.36至40.52,实验对取值为38、38.5、39、39.5、40的等值面进行提取,结果如图6所示,将区域树算法应用在数据集2中,活跃立方体的查找时间对比bono算法同样取得了明显的加速效果,由于区域树算法取得加速效果是以牺牲空间复杂度为代价,其空间复杂度达到了o(nlogn),对于其他算法o(n)的空间复杂度过大,不能胜任规模较大的数据集,所以我们提出了本发明的基于稀疏划分-区域树的优化方法。

实验2对数据集1和数据集2用本发明的基于稀疏划分-区域树的优化方法进行等值面提取,探究方法的加速效果,并通过与bono算法对比,比较两种算法的加速效果。

实验2与实验1类似,先对数据集1取值为50000、60000、70000、80000、90000pa的等值面用本发明的基于稀疏划分-区域树的优化方法进行提取,并与bono算法提取相同的等值面作对比。

如图7所示的对于活跃立方体查找部分,两种方法的耗时对比。可以看出,对于图7中提取的五个等值面,本发明的基于稀疏划分-区域树的优化方法相对于bono算法都可以取得明显的加速效果,能达到2至3倍左右。本发明的基于稀疏划分-区域树的优化方法在活跃立方体查找部分比bono算法耗时短的原因有两个:一方面其采用了在时间复杂度上表现较优的区域树数据结构,另一方面其采用的稀疏划分思想利用了数据之间的空间相关性,可以取得优化的效果。

实验2对三角面片提取部分耗时同样做了两种方法的对比,对比结果如图8所示,可以看出,对于图中提取的五个等值面,本发明的基于稀疏划分-区域树的优化方法取得了明显的加速效果。

传统用于计算几何中的区域树算法若直接引入等值面提取中,只能对活跃立方体查找部分起到加速效果。而通过将稀疏划分思想与区域树算法相结合,能在其基础上避免三角面片包括活跃边判定、交点插值计算等消耗较大的重复浮点操作,从而对三角面片生成部分起到了明显的加速效果。

如图9所示的是本发明方法与bono算法处理数据集1的总耗时对比,可以看出较传统的bono算法,本发明的基于稀疏划分-区域树的优化方法具有显著的加速效果。对于图9中提取的五次等值面,加速效果均在2倍以上

如图10所示的是本发明方法与bono算法处理数据集1的加速比,可以看出,本发明的基于稀疏划分-区域树的优化方法较bono算法具有较高的加速比,其最高能达到175%,平均在170%以上,这是由于其采用了在空间存储占用较高,但时间复杂度较低的区域树数据结构。

如图11-图12所示,将本发明的基于稀疏划分-区域树的优化方法应用于数据集2的等值面提取中,可以得到同样明显的加速效果,在图11-12中所示的5个等值面整体提取时间上,比传统的bono算法缩短了2倍左右,最差的也优化了180%以上。

以上包含了本发明优选实施例的说明,这是为了详细说明本发明的技术特征,并不是想要将发明内容限制在实施例所描述的具体形式中,依据本发明内容主旨进行的其他修改和变型也受本专利保护。本发明内容的主旨是由权利要求书所界定,而非由实施例的具体描述所界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1