在途原位计算下大规模精细三维流场的空间压缩方法与流程

文档序号:33193195发布日期:2023-02-04 09:37阅读:35来源:国知局
在途原位计算下大规模精细三维流场的空间压缩方法与流程

1.本发明属于流体力学分析领域,更具体地,涉及一种基于在途原位计算环境下时三维流场的空间压缩与解压缩方法。


背景技术:

2.随着计算机模拟技术的发展,流场数据的规模不断攀升,流场数据的精细化程度亦在稳步提高,科学家们越来越多的需要操作大规模精细稳态流场。传统的数据预处理和可视化大部分是后处理模式,即计算机将仿真处理后的结果保存进磁盘中,当进行可视化时再从磁盘中读取数据。为了降低传输的数据量,通常只能保存低精度流场数据,丧失了流场的精确信息。由此,一种能在原位进行分析和可视化流场结果的方法亟待提出。
3.另一方面,目前对于大规模精细三维流场数据的压缩与解压缩等方向的研究大多应用于二维数据上。利用这些方法对流场数据进行压缩与解压缩时,会丢失流场中包含的多种物理量的细节。由于流场数据往往是对速度向量场进行操作,可视化时通过曲线积分生成流线,因此当细节丢失时,流场数据的可视化结果会比一般的二维图片经过解压缩后的效果差。因此,一种让使用者保存低精度的大规模精细三维流场数据就能更精准地得到数据集的整体和局部态势,并对数据集进行整体的分析的方法是当下研究的热点。
4.总结来看,大规模精细稳态流场不仅对计算机输入输出速度和存储能力提出了挑战,也对流场整体态势的压缩和用户感兴趣区域局部态势的保存提出了挑战。


技术实现要素:

5.本发明的目的是提出在途原位计算下大规模精细三维流场的空间压缩方法,针对不随时间变化的大规模精细空间稳态流场,在保证整体态势的同时保证用户感兴趣区域精细度的情况下对数据量进行压缩与解压缩,以解决现有技术中大规模精细三维流场空间维度的存储和分析过程中出现的输入输出速度限制和存储低精度等问题。
6.第一方面,提供了一种在途原位计算下大规模精细三维流场的空间压缩方法,包括:
7.对第一分辨率级别的三维流场原始数据进行降维处理,得到第二分辨率级别的三维流场数据,所述第一分辨率级别高于所述第二分辨率级别;
8.使用所述第二分辨率级别的三维流场数据对空间超分辨率网络进行训练,具体包括,将所述第二分辨率级别的三维流场数据输入至待训练的空间超分辨率网络,得到所述第一分辨率级别的三维流场估测数据,所述三维流场估测数据为针对三维流场原始数据的预测数据,并通过损失函数调整所述空间超分辨率网络的参数。
9.结合第一方面,在第一方面的某些实现方式中,所述空间超分辨率网络包括生成器g和鉴别器d,
10.所述生成器g用于根据输入的单个时间步数据,生成对应的单时间步预测数据;
11.所述鉴别器d用于对预测数据和原始数据进行匹配,以调整所述空间超分辨率网
络的参数。
12.结合第一方面,在第一方面的某些实现方式中,生成器g包括全局网络,所述全局网络的输入为所述第二分辨率级别的三维流场数据,所述全局网络采用跳跃链接的形式,首先经过三层残差块,其卷积核大小为3
×3×
3,填充为1、步长为1;之后经过一个反卷积deconv层,其卷积核大小为4
×4×
4,步长为2,填充为0;之后经过两层残差块、一层反卷积deconv层、两层残差块、一层双曲正切函数后输出;其中残差块由两部分组成,一部分由三个卷积层组成,除了最后一个卷积层后只要谱归一化外,前两个卷积层后均进行一次谱归一化sn和一次实例归一化in;另一部分只由一个卷积层和一个谱归一化层组成,在输出前残差块的两部分的结果需要进行对应位置的相加,再进行输出。
13.结合第一方面,在第一方面的某些实现方式中,所述方法包括:
14.截取三维流场原始数据中用户自定义的感兴趣区域,得到所述感兴趣区域的三维流场数据,所述感兴趣区域的三维流场数据的分辨率级别为所述第一分辨率级别;
15.将所述感兴趣区域的三维流场数据输入至待训练的空间超分辨率网络,以完成对所述空间超分辨率网络进行训练。
16.结合第一方面,在第一方面的某些实现方式中,生成器g还包括局部网络,所述局部网络的输入为所述第一分辨率级别的三维流场原始数据中的局部区域数据,所述局部区域数据为用户感兴趣区域的数据;所述局部网络采用卷积神经网络的结构,先通过残差块将所述局部区域数据变为256
×1×1×
1的特征图,并且不采用全连接层和上下采样,通过反卷积层将特征图恢复成原始大小,并以此计算损失。
17.结合第一方面,在第一方面的某些实现方式中,在所述鉴别器d中,除最后一层卷积层,其他的每层卷积层的卷积核的大小均为4
×4×
4,步长均为2,填充均为1,最后一层卷积层的步长为0,并且每个卷积层后都有一个谱归一化层和一个带泄露的修正线性单元层。
18.结合第一方面,在第一方面的某些实现方式中,所述空间超分辨率网络的损失函数包括对抗损失函数,所述对抗损失函数满足:
[0019][0020][0021]
其中,为生成器g损失的最小值,为求取期望运算,v代表原始数据,v
l
为输入的低分辨率数据,d(
·
)为关于鉴别器d的函数,g(
·
)为关于生成器g的函数,为鉴别器d损失的最小值,为求取期望运算,v代表原始数据,vh为输入的高分辨率数据,d(
·
)为关于鉴别器d的函数,v
l
为输入的低分辨率数据,g(
·
)为关于生成器g的函数。
[0022]
结合第一方面,在第一方面的某些实现方式中,所述空间超分辨率网络的损失函数包括容积损失函数,所述容积损失函数满足:
[0023][0024]
其中,为容积损失,为求取期望运算,v

为生成器生成的数据,v
l
为输入的低分辨率数据,v代表原始数据,vh为输入的高分辨率数据,g(
·
)为关于生成器g的函数,||
·
||为l2范式。
[0025]
结合第一方面,在第一方面的某些实现方式中,所述空间超分辨率网络的损失函数包括特征损失函数,所述特征损失函数满足:
[0026][0027]
其中,为特征损失,为求取期望运算,v

为生成器生成的数据,v
l
为输入的低分辨率数据,v代表原始数据,vh为输入的高分辨率数据,n是鉴别器d中的卷积层总数,k代表第k个卷积层,nk表示第k个卷积层中的元素数,fk代表鉴别器d中第k个卷积层所提取的特征,g(
·
)为关于生成器g的函数,||
·
||为l2范式。
[0028]
结合第一方面,在第一方面的某些实现方式中,所述空间超分辨率网络的损失函数包括局部损失函数,所述局部损失函数满足:
[0029][0030]
其中,为局部损失,i代表第i个局部区域,n代表选择的局部区域总数,为求取期望运算,v

li
为生成器生成第i个局部区域的数据,为选择的全部局部区域的低分辨率数据,v
li
代表第i个局部区域的数据,为选择的全部局部区域的高分辨率数据,g(
·
)为关于生成器g的函数,||
·
||为l2范式。
[0031]
结合第一方面,在第一方面的某些实现方式中,所述空间超分辨率网络的损失函数满足:
[0032][0033]
其中,为生成器g损失的最小值,λ1为第一部分损失对应得权重,为求取期望运算,v代表原始数据,v
l
为输入的低分辨率数据,d(
·
)为关于鉴别器d的函数,g(
·
)为关于生成器g的函数,λ2为容积损失对应的权重,为容积损失,λ3为特征损失对应的权重,为特征损失,λ4为局部损失对应的权重,为局部损失。
[0034]
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:
[0035]
将所属计算机划分为第一计算机集群和第二计算机集群,以搭建原位计算环境,所述第一计算机集群用于对数据进行预处理,并训练所述空间超分辨率网络,所述第二计算机集群用于通过训练好的所述空间超分辨率网络,根据所述第二分辨率级别的三维流场数据生成所述第一分辨率级别的三维流场估测数据,并执行三维流场数据的可视化操作。
[0036]
第二方面,提供了一种三维流场数据的解压缩方法,包括:
[0037]
获取第三分辨率级别的三维流场数据;
[0038]
将所述第三分辨率级别的三维流场数据输入至如上述第一方面中的任意一种实现方式中所述的空间超分辨率网络,得到第四分辨率级别的三维流场估测数据,所述第四分辨率级别高于所述第三分辨率级别;
[0039]
根据所述第四分辨率级别的三维流场估测数据,执行三维流场数据的可视化操
作。
[0040]
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:
[0041]
将用户自定义感兴趣区域的数据输入至所述空间超分辨率网络,得到所述第四分辨率级别的三维流场估测数据。
[0042]
本发明与现有技术相比的优点在于:
[0043]
(1)本发明基于在途原位计算环境进行空间超分辨率网络的训练,有效的缓解了由于计算机输入/输出速度和存储限制带来的大规模精细三维流场数据无法进行合理压缩和保存问题。
[0044]
(2)本发明通过构建空间超分辨率网络,获得了大规模精细三维流场压缩与解压缩之间更细致的映射关系。相比于直接的下采样降维压缩和上采样解压缩恢复而言,本发明能够更有效的压缩大规模精细三维流场的整体态势和相应物理量,并在解压缩时获得更高精度的结果。
[0045]
(3)本发明通过用户自定义感兴趣区域和局部网络的引入,能够满足用户对于某些特定区域更高精度保存的需求。相比于统一对数据进行压缩与解压缩处理,本发明能够更有效的保存特定区域的流场信息,并在解压缩时以高精度显示。
[0046]
本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
附图说明
[0047]
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
[0048]
图1示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的总体流程示意图。
[0049]
图2示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的在途原位计算应用示意图。
[0050]
图3示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的大规模精细三维流场压缩流程示意图。
[0051]
图4示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的原始数据及原始数据下采样数据可视化示意图。
[0052]
图5示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的空间超分辨率网络整体示意图。
[0053]
图6示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的空间超分辨率网络的全局网络架构及ib块示意图。
[0054]
图7示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的空间超分辨率网络的全局网络各层参数。
[0055]
图8示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的空间超分辨率网络的局部网络架构示意图。
[0056]
图9示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的空间超分辨率网络的局部网络各层参数示意图。
[0057]
图10示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的空间超分辨率网络的鉴别器架构示意图。
[0058]
图11示出了根据本发明的一个实施例的一种基于在途原位计算下大规模精细三维流场的空间压缩方法的运行空间超分辨率网络得到的流线可视化结果。
具体实施方式
[0059]
下面将更详细地描述本发明的优选实施方式。
[0060]
根据本发明的在途原位计算下大规模精细三维流场的空间压缩方法,如图1所示,包括:
[0061]
搭建在途原位计算环境,划分所拥有的计算机;
[0062]
标记用户自定义的感兴趣区域,并对大规模精细稳态流场进行压缩;
[0063]
构建空间超分辨率网络,建立大规模精细稳态流场压缩与恢复间的映射关系;
[0064]
利用训练好的空间超分辨率网络对大规模精细三维流场数据进行解压缩。
[0065]
本实施例主要从搭建在途原位计算环境、大规模精细空间稳态流场的压缩、大规模精细空间稳态流场的解压缩三个方面来描述该方法。
[0066]
1、搭建在途原位计算环境
[0067]
在一个示例中,可以通过以下步骤实现在途原位环境下大规模精细三维流场的分析计算:
[0068]
如图2所示,将所属计算机数量按8:2划分。其中80%的计算机组成的集群用于对数据进行预处理并训练空间超分辨率网络。将训练过程中产生的结果数据全部通过内存传到另外20%的计算机上进行原位分析计算,对全局网络与局部网络输出的运算结果进行可视化分析。
[0069]
2、大规模精细空间稳态流场的压缩
[0070]
根据1中搭建的在途原位计算环境,在一个示例中,利用其中80%部分的计算机,可以通过以下步骤对所述的三维流场数据进行压缩操作:
[0071]
如图3所示,总共可以分为三个步骤:分别为标记用户自定义的感兴趣区域;对大规模精细三维流场进行压缩等预处理操作;构建超分辨率网络,建立压缩后流场与原流场数据间的映射关系。
[0072]
步骤一:在一个示例中,可以通过以下步骤对所述的三维流场数据中用户感兴趣的区域进行标记:
[0073]
使用paraview等流场可视化软件对大规模精细稳态流场中感兴趣的区域进行标记,并将标记后的流场文件作为后续方法的输入。
[0074]
步骤二:在一个示例中,可以通过以下步骤对所述的三维流场数据进行压缩等预处理操作:
[0075]
对所述的大规模精细三维流场数据,对用户标记的自定义空间区域进行切割操作,对空间维度上的高分辨率数据通过下采样的方式进行降维,并保存相对应的维度与起始坐标,以及低分辨率数据。然后对保存的数据进行归一化,并构造训练数据集和测试数据集。
[0076]
具体地,对于空间超分辨率网络的输入数据,首先进行预处理,即将原始数据进行
截取,然后通过平均池化对数据下采样,使用卷积核为4
×4×
4,步长为4,填充为0的池化层。接着在原始的高分辨率数据中截取用户自定义的流场空间区域。如图4所示,左图中是原始的高分辨率数据进行可视化后得到的云图,图像大小为l
×w×
h,右图是进行下采样后的数据可视化后得到的云图,图像大小为l/4
×
w/4
×
h/4,从图片可以看出,下采样后的低分辨率数据的可视化云图明显出现了较多锯齿和模糊的部位,部分细节更加难以分辨。
[0077]
步骤三:在一个示例中,通过以下方式构建大规模精细三维流场的空间超分辨率网络,建立压缩后流场与原流场数据间的映射关系:
[0078]
利用预处理得到的低分辨率数据及用户自定义感兴趣区域,通过训练大规模精细三维流场的空间超分辨率网络,从而得到对应的权重。得到的该神经网络的参数化模型即为压缩后的流场与原流场数据间的映射关系。
[0079]
大规模精细三维流场数据的空间超分辨率网络主要分为生成器g和鉴别器d两部分。网络的输入为单个时间步数据,输入到生成器g中,在生成对应的单时间步数据后,再由生成器d对其进行相应的鉴别,从而达到动态博弈的目的。空间超分辨率网络的网络结构如图5所示。
[0080]
首先,在一个示例中,通过以下方式来构建空间超分辨率网络的生成器:
[0081]
所述的生成器g中包含两类网络,一类是负责提取全局特征的全局网络,另一类是聚焦于流场局部特征的局部网络。
[0082]
全局网络的输入为未作处理的低分辨率数据,在训练时,该数据由原始高分辨率数据通过平均池化进行下采样得到。
[0083]
网络采用跳跃链接的形式,首先经过三层残差块,其卷积核大小为3
×3×
3,填充为1、步长为1,该设置使数据经过残差块后不产生体积大小上的变化。接着经过一个反卷积层(deconv),其卷积核大小为4
×4×
4,步长为2,填充为0,使数据的长、宽、高变为原来的两倍,接着是两层残差块和一层反卷积层,然后为两层残差块,此时数据的长宽高都为原始数据的四倍,最后经过一层双曲正切函数(tanh)得到输出。空间超分辨率网络的生成器g的具体结构如图6(a)所示。
[0084]
其中残差块由两部分组成,一部分由三个卷积层组成,除了最后一个卷积层后只要谱归一化外,前两个卷积层后均进行一次谱归一化(sn)和一次实例归一化(in);另一部分只由一个卷积层和一个谱归一化层组成,在输出前这两部分的结果需要进行对应位置的相加,再进行输出。残差块的结构图如图6(b)所示,空间超分辨率网络中全局网络的各层名称及输出大小数据如图7所示。
[0085]
对于所述的局部网络,其输入为原始高分辨率流场中用户标记的自定义空间流场区域。空间超分辨率网络的局部网络架构如图8所示。
[0086]
局部网络中,由于输入的区域较小,并且需要保留特征。本发明中采用卷积神经网络的结构,先通过残差块将输入的局部区域数据变为256
×1×1×
1的特征图,并且不采用全连接层和上下采样,通过反卷积层将特征图恢复成原始大小,并以此计算损失。空间超分辨率网络中局部网络的各层名称及输出大小数据如图9所示。
[0087]
然后,在一个示例中,通过以下方式构建空间超分辨率网络的鉴别器:
[0088]
在鉴别器网络架构中,除最后一层卷积层,其他的每层卷积层的卷积核的大小均为4
×4×
4,步长均为2,填充均为1,最后一层卷积层的步长为0,使得最终的输出数据大小
为1
×1×
1,并且每个卷积层后都有一个谱归一化层和一个带泄露的修正线性单元层(leakyrelu)。空间超分辨率网络中鉴别器的架构如图10所示。
[0089]
最后,在一个示例中,通过以下方式组成空间超分辨率网络的损失函数:
[0090]
空间超分辨率的损失函数可以分为对抗损失、容积损失、特征损失、局部损失。
[0091]
对抗损失使生成器g与鉴别器d可以实现动态博弈,使生成器g生成的中间时间步数据与原始数据中对应的时间步数据更相似,鉴别器d能够更好的识别数据使来自生成器g或来自原始数据。根据对抗生成网络的定义,可以得到对抗损失公式如下:
[0092][0093][0094]
其中,对于第一个表达式,为生成器g损失的最小值,为求取期望运算,v代表原始数据,v
l
为输入的低分辨率数据,d(
·
)为关于鉴别器d的函数,g(
·
)为关于生成器g的函数。
[0095]
对于第二个表达式,为鉴别器d损失的最小值,为求取期望运算,v代表原始数据,vh为输入的高分辨率数据,d(
·
)为关于鉴别器d的函数,v
l
为输入的低分辨率数据,g(
·
)为关于生成器g的函数。
[0096]
容积损失用于保证生成器生成的数据能够有较低的均方差,使其得到的数据更接近原始数据。公式如下:
[0097][0098]
其中,为容积损失,为求取期望运算,v

为生成器生成的数据,v
l
为输入的低分辨率数据,v代表原始数据,vh为输入的高分辨率数据,g(
·
)为关于生成器g的函数,||
·
||为l2范式。
[0099]
特征损失用于保证生成器生成的数据在整体上的特征与相应的原始数据相似。
[0100][0101]
其中,为特征损失,为求取期望运算,v

为生成器生成的数据,v
l
为输入的低分辨率数据,v代表原始数据,vh为输入的高分辨率数据,n是鉴别器d中的卷积层总数,k代表第k个卷积层,nk表示第k个卷积层中的元素数,fk代表鉴别器d中第k个卷积层所提取的特征,g(
·
)为关于生成器g的函数,||
·
||为l2范式。
[0102]
局部损失的提出是由于流场数据中较为关注如漩涡、关键点周围等局部区域,因此本发明中提出局部损失以较大程度地保留局部区域特征。本发明中提出局部区域损失,即用生成器g生成后得到的相应局部区域g(v

li
)和原始高分辨率数据中的局部区域v
li
进行比较,使其能够更加相似,即在整体数据的均方差较低的前提下,还要实现需要保留大部分特征的局部区域处的均方差也较低,在本发明中采用l2距离实现,公式如下:
[0103][0104]
其中,为局部损失,i代表第i个局部区域,n代表选择的局部区域总数,为求取期望运算,v

li
为生成器生成第i个局部区域的数据,为选择的全部局部区域的低分辨率数据,v
li
代表第i个局部区域的数据,为选择的全部局部区域的高分辨率数据,g(
·
)为关于生成器g的函数,||
·
||为l2范式。
[0105]
将上述所提的几部分损失按设置的不同权重相乘相加后可得生成器的最终损失函数如下:
[0106][0107]
其中,为生成器g损失的最小值,λ1为第一部分损失对应得权重,为求取期望运算,v代表原始数据,v
l
为输入的低分辨率数据,d(
·
)为关于鉴别器d的函数,g(
·
)为关于生成器g的函数,λ2为容积损失对应的权重,为容积损失,λ3为特征损失对应的权重,为特征损失,λ4为局部损失对应的权重,为局部损失。
[0108]
具体地,在本发明中所采用的原始高分辨率数据为3
×
64
×
64
×
64大小,即包含u、v、w三个通道,下采样后的低分辨率数据为3
×
16
×
16
×
16大小。仅全局网络的模型训练轮次为200,带有局部网络的模型训练轮次为200,训练数据时间步为100,测试数据时间步为30。
[0109]
3、大规模精细空间稳态流场的解压缩
[0110]
利用在途原位计算环境中另外的20%部分的计算机,根据2中得到的流场压缩与解压缩间的映射关系,即神经网络参数化模型,对于上述的空间超分辨率网络,将低分辨率图像,神经网络参数化模型及用户自定义感兴趣区域作为输入。运行空间超分辨率网络,得到的结果为对应的解压缩的高分辨率大规模精细三维流场文件,并输出最后的流场图像。
[0111]
通过空间分辨率网络进行推理后,结果如图11所示,从左到右分别为高分辨率的原始数据、带局部网络的空间超分辨率网络生成的数据,以及仅全局网络的空间超分辨率网络生成的数据。可以看到,无论是仅全局网络的架构,或是带局部网络的架构,对原始数据的整体特征的学习都是比较还原的,其生成的流线的漩涡位置基本一致,速度的变化趋势也基本保持一致,对原始数据的解压缩完成度高。
[0112]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
[0113]
本发明未详细描述内容为本领域技术人员公知技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1