针对粒子/体联合数据的基于轨迹的流场特征追踪方法 (Trajectory-based Flow Feature Tracking in Joint Particle/Volume Datasets)

粒子/体联合数据是一种包含有粒子数据和体数据这两类数据类型的数据。随着计算能力的提高,这类联合数据在燃烧科学研究、等离子物理研究,以及大气研究中的大规模模拟中变得越来越普遍。它们分别对应记录模型模拟结果的两方面信息:在空间网格上的场数据,即体数据,和在空间中移动的离散粒子信息,即粒子数据。这两种类型的数据也分别代表流场的欧拉描述与拉格朗日描述。通常情况下,场数据被用于提取感兴趣的体数据特征,而粒子数据则被当作时间序列或者轨迹来分析。但是,要想同时对两种形式的数据进行分析是十分困难的,因为两者的数据表示极为不同。这篇工作[1]来自于今天的SciVis论文,本文作者Sauer等人针对这类数据,提出了一种高效率的、高精确度的特征追踪方法。

图1:本文方法的工作流程

图1:本文方法的工作流程

本文定义被追踪的特征为体数据中体素的集合,作者通过定义粒子数据与体数据的对应关系,将对特征的追踪问题转换为粒子的定位问题,从而极大地降低了特征追踪的时间复杂度,最后通过重新从粒子集合中提取特征,从而达到特征追踪的目的。图1所示为这个方法的工作流程。其中,第一步初始特征的提取由使用者提供,并不在这篇工作的讨论范围之内。第三部对粒子轨迹的追踪问题也是一个平凡的问题,因为粒子轨迹已经包含在数据集中,所以可以直接获取粒子在任意时刻的位置。所以以下主要介绍第二步和第四步。

图2:体数据特征与粒子集合的相互转换关系

图2:体数据特征与粒子集合的相互转换关系

这两个步骤基于作者所定义的粒子数据与体数据的对应关系。作者分别提出了基于特征的粒子查询以及基于粒子的体数据特征查询,如图2所示。在这个对应关系的定义,体数据用一个三维的位掩码数组(bitmask)表示,数组中每一个元素对应于体数据的一个体素。如果一个体素属于这个特征,则将对应的位设置为1,否则为0。在基于特征的粒子查询中,只需要对每一个粒子找到其所在的体素,然后检查位掩码数组中对应位是否为1即可。而对于基于粒子的体数据特征查询,首先认为每个粒子所在的体素都属于特征,然后通过区域增长(region-growing)方法将这些体素相邻的一些体素添加到特征中来,这样做的目的是为了填补因为粒子稀疏放置而导致的特征不联通的问题。在实际使用区域增长方法时,所选去的相邻体素应该满足用户设置的一些限制,比如其标量值满足一定区间,或者其相邻的已经在特征中的体素达到一定的数目,等等。

图3:本文所考虑的特征互动类型

图3:本文所考虑的特征互动类型

在定义了粒子数据与体数据互相转换的关系之后,就可以利用之前的工作流程来追踪一个特征了。图3展示了一个特征可能具有的互动行为,包括特征延续,特征分裂与合并,以及特征消失与出现。图4展示了特征延续这种情形时的追踪步骤,它基本上直接满足图1所示的工作流程。
对于特征分裂情形,只需要直接判断在第四步中重新提取的体数据特征是否包含多个联通分量即可(图5左)。对于特征合并情形,需要对第四步中重新提取的体数据特征中新增加的粒子往起始时间追踪,如果这些粒子形成了与原始特征分离的新特征,则说明是特征合并情形(图5右)。对于特征消失的情况,只需要判断是否所有粒子都被丢弃即可;特征出现情况的判断,只需要将时间行进方向反过来,然后进行特征消失情况的判定即可。这里,如何“丢弃”粒子将在下面介绍。

图4:通过本文方法对特征进行追踪。图中展示了一个最简单的情形:特征延续。

图4:通过本文方法对特征进行追踪。图中展示了一个最简单的情形:特征延续。

图5:对特征分裂与合并情形的处理

图5:对特征分裂与合并情形的处理

由于体数据和粒子数据本身的产生方式就不同,导致对粒子数据的追踪并不能完全精确的反映体数据特征的追踪,作者定义了“不一致性”来描述两者之前的差异,并用来剔除可能的“假”特征。比如,在对一个特征进行追踪时,体数据中的出现的情况是:特征的一部分逐渐消失了,然后发展成了新的其他特征,但是从粒子数据来看:原特征中的粒子分离成了两个集合,行进到了不同地方。这样通过上述的方法,则很有可能将这种情况判断为特征分裂的情形,但实际上两个特征之间可能并没有直接关系。作者希望通过不一致性的定义,来尽可能避免这种误判。对于不一致性的定义与使用包含一定的数学细节,请参看原始论文。

图6:燃烧数据集,其中左图为体数据部分,右图为粒子数据

图6:燃烧数据集,其中左图为体数据部分,右图为粒子数据

最后,作者使用两个数据集来展示所提出的方法。
在燃烧数据中,体数据部分为每时间步10^8个体素,粒子数据部分为每时间步10^6个例子。体数据一个时间步的时间对应于粒子数据中的5个时间步。体数据部分使用的属性是与燃烧密切相关的FC/U和FS/S,而粒子数据包含温度属性以及分子质量分数。图6展示了这两部分数据的一个子集。图7展示了对两个特征的追踪结果,其中特征A经历的先分裂,后合并的过程;特征B则经历了先出现再分裂的过程。作者也将他们的工作与传统方法[2]进行比较,如图9所示,两者特征追踪的结果只有约1%的差别,可以说明本文方法具有较高的准确性。

图7:对燃烧数据集中两个特征的追踪结果,其中特征A经历的先分裂,后合并的过程;特征B则经历了先出现再分裂的过程。

图7:对燃烧数据集中两个特征的追踪结果,其中特征A经历的先分裂,后合并的过程;特征B则经历了先出现再分裂的过程。

图8:本文方法与传统方法[2]进行比较,两者特征追踪的结果只有约1%的差别

图8:本文方法与传统方法[2]进行比较,两者特征追踪的结果只有约1%的差别

作者使用的第二个数据集是大气数据集,任务是追踪一片火山灰云的移动。这个数据的特殊之处在于其体数据部分在地图上某些区域没有数据,从而使得传统追踪方法难以追踪特征,但是本文方法却可以。图8展示了其追踪结果,其中右上角图画出了火山灰云的移动轨迹,它从南美洲移动到非洲西海岸,并且在即将到达是,火山灰云逐渐分散消失。

图9:对大气数据集中一片火山灰云的追踪结果,右上角图展示了其移动轨迹。

图9:对大气数据集中一片火山灰云的追踪结果,右上角图展示了其移动轨迹。

总结起来,本文提出了一种新的针对轨迹/体联合数据的特征追踪方法,即通过对粒子轨迹的追踪来追踪体数据中的特征。这种方法主要具有三个优点:一、极大地减少了计算时间与I/O时间;二、可以在时空稀疏的数据集上工作,甚至是体数据缺失的数据; 三、具有与传统工作相比极为接近的准确性。
这类轨迹/体联合数据对分析流场数据带来了很多可能性,因为对于一种类型的数据的研究可以借助于另一类型的数据的支持,从而可以使得原本困难的问题得以较为容易地解决。尤其在计算规模变得得越来越大的情况下,这类数据本身的产生已经不再是阻碍,应该值得更多的研究。

[1] Franz Sauer, Hongfeng Yu, and Kwan-Liu Ma. Trajectory-based Flow Feature Tracking in Joint Particle/Volume Datasets. IEEE Transactions on Visualization and Computer Graphics (IEEE SciVis ’14). (to appear)

[2] Chris W. Muelder and Kwan-Liu Ma. Interactive feature extraction and tracking by utilizing region coherency. In Visualization Symposium, 2009. PacificVis ’09. IEEE Pacific, pages 17–24, April 2009.

评论关闭。