一种基于极限学习机的流场涡区域检测方法
技术领域
本发明涉及计算流体力学中流场可视特征提取领域,特别涉及一种基于极限学习机的流场涡区域检测方法。
背景技术
为了对大型船舶、飞行器等进行气动特性分析,研究人员在数值风洞和数值水池中建立相仿的物理实验对真实情况进行模拟。流场可视化作为面向计算流体动力学(CFD)的科学计算可视化技术,是科学计算可视化研究和CFD研究的一个重要部分,它主要涉及流场数据的表示、变换、绘制和操作,在流体力学、天气预报、爆轰数据模拟当中都有广泛的应用。流场数据中往往含有多种典型复杂物理特征,这些特征在洞察数据背后的科学规律方面发挥着至关重要的作用,必须能够对这些典型物理特征进行准确提取和跟踪。
旋涡是流场中最重要的特征之一,被形象地比喻为“流体运动的肌腱”,在许多工程问题中扮演着重要角色,飞机飞行时,旋涡往往产生在机翼后方,旋涡的发生会减少飞机的升力,造成飞机失速,产生消极作用;在流体混合的过程中,旋涡能够加速流体的混合,发挥着积极的作用,因此漩涡的准确提取和跟踪对于研究复杂流场的规律和机理具有重要意义。计算流体力学(CFD)通过计算机和数值方法来求解流体力学的控制方程,对流体力学问题进行模拟和分析。随着CFD应用需求的不断加深及当今计算机软硬件处理能力的不断发展,流场数据越来越复杂,主要表现在网格越来越复杂、数据量越来越大、流场的特征越来越复杂且难以辨认等方面,如何分析和理解这些数据对流场可视化提出了新的挑战。特征可视化通过剔除大部分冗余、不感兴趣的数据,突出用户关心的数据特征信息,同时保持流场信息的准确性,已成为应对新挑战的可行方法之一,也是国内外流场可视化领域研究的热点及难点。从海量流场数据中提取关键特征,对船舶、飞行器等的性能评估、预报与优化有十分重大的意义。流场是指运动流体所占有的空间区域,包括速度场、压力场、密度场等多个不同的物理变量场。流场往往通过网格点划分,本发明中所说的流场内的点就是指流场内的网格点,CFD计算就是通过对初始场进行计算,不断迭代,产生多个中间流场,模拟出流场的变化。CFD一次计算会产生海量的流场数据,流场内产生旋涡的位置很重要,因此需要对所有流场数据进行判断其是否包含旋涡。
目前尚无专利针对流场进行涡结构检测,与本发明最接近的文献是文献[1],D.Liang,W.Yueqing,L.Yang,W.Fang,L.Sikun,and L.Jie.A cnn-based vortexidentification method.Journal of Visualization,pp.1–14,October 2018.doi:10.1007/s12650-018-0523-1。文献[1]训练了一个二分类卷积神经网络用于判断流场内每个点是否属于漩涡。首先,采用一种全局方法产生标签,获得训练数据。然后,该方法对流场内每个点,采集其周围15*15*15大小的局部速度场作为神经网络输入。上述两个步骤结合了已有的全局和局部方法的优势。然后,该方法设计了一个二分类卷积神经网络,以局部速度场为输入数据,以全局方法获得的标签数据为训练标签,训练好神经网络后,得到固定的网络模型。当有新的流场需要判断时,直接将流场进行逐点采样,然后送入网络得到其每个点的标签。为了增加泛化性,该方法使用多个不同流场的数据进行采样训练。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供了一种流场涡区域检测方法,用于快速检测流场内的旋涡。
本发明采用的技术方案如下:一种基于极限学习机的流场涡区域检测方法,包括以下步骤:
步骤1、根据流场数据的速度场和物理坐标计算涡量场,对流场内所有物理网格点进行漩涡区域标记,得到标记后的标签数据;
步骤2、对涡量场进行网格转换,得到计算网格下的涡量场;
步骤3、对计算网格下的涡量场进行归一化操作;
步骤4、对归一化后的涡量场和标签数据同时采样,得到采样数据;
步骤5、构建极限学习机神经网络模型,并利用采样数据对该模型进行训练,得到流场涡检测网络模型;
步骤6、对待测流场进行采样,将采样数据输入流场涡检测网络模型进行涡区域检测,输出检测结果。
进一步的,所述步骤1中,得到标签数据的具体方法为:
步骤11、根据流场数据的速度向量场和流场物理坐标计算涡量场;
步骤12、根据得到涡量场计算平均涡量值,进而计算出IVD值;
步骤13、对流场中IVD局部最大值所处位置,使用水平集方法获取包含IVD局部最大值的等值面;
步骤14、对等值面进行涡区域判定和标记,获得流场内所有网格点的标签数据。
进一步的,所述步骤2中,网格转换为将不规则的物理网格转换为规则的计算网格。
进一步的,所述步骤3中归一化的具体过程为:
步骤31、计算计算网格下的涡量场的的均值和标准差;
步骤32、将每个网格上的涡量值减去涡量场的均值除以标准差,在进行归一化操作。
进一步的,所述步骤4中,采样的具体方法为:对归一化后的涡量场和标签数据同时按照设定的区域大小采样,采样后判断标签,如果区域内标签全部为0或者全部为1,则丢弃该采样数据。
进一步的,所述采样模式为随机采样。
进一步的,所述步骤5中模型的训练方法为:在训练过程中,对采样数据进行预处理得到训练集;将训练集的80%数据作为网络的训练数据,训练网络得到代表涡标签数据的特征,并对训练数据中涡所在位置进行标记;将训练集的20%数据作为测试数据,测试网络模型,得到评判网络模型的性能参数,调整网络模型参数,对网络模型进行重复训练得到最终的流场涡检测网络模型。
步骤6中,所述进行涡区域检测的具体方法为:
步骤61、通过流场内的速度场和物理坐标计算得到涡量场;
步骤62、对涡量场进行归一化;
步骤63、顺序采样归一化的涡量场,采样块除边界块之外两两之间不重叠,得到采样数据块;
步骤64、将所有采样数据块逐块送入流场涡检测网络模型,得到网络输出的标签块,标签块大小与采样块一致,每个点表示采样块中对应位置的网格点是否属于涡;
步骤65、将所有标签块按位置顺序合并,得到整个流场内所有网格点的标签,即流场涡区域检测结果。
与现有技术相比,采用上述技术方案的有益效果为:
1.逐块判断减少了数据重复计算,减少了单个流场的检测时间;
2.CNN网络参数是随机确定的,不需要对CNN网络进行参数训练。ELM网络需要经过训练确定的参数只有网络最后一层的参数,其它网络层的参数都是随机确定的,一经确定不再改变。大大减少了神经网络中的参数量,使得网络的训练时间变快;
3.本发明使用了x和y方向的速度场计算的得到涡量场作为网络输入,而不是单一的速度场,涡量场融合了速度场和物理网格信息,可以保持物理网格特性。
附图说明
图1是本发明基于极限学习机的旋涡检测架构。
图2是本发明旋涡检测模型训练流程图。
图3是本发明旋涡检测方法中的网格转换示意图。
图4是本发明旋涡检测方法中预处理示意图。
图5是本发明旋涡检测方法中极限学习机神经网络模型结构图。
图6是本发明旋涡检测方法中进行涡检测的流程图。
图7是本发明旋涡检测方法中对流场数据进行采样的示意图。
图8是本发明旋涡检测方法中后处理示意图。
具体实施方式
下面结合附图对本发明做进一步描述。
如图1,本发明提供了一种基于极限学习机的旋涡检测方法,该方法在保留流场物理特性的基础上,简化网络模型、提升学习速度、减少训练时间。能够快速准确的检测涡区域,并保持了较高的泛化性。具体方案如下:
如图2所示,一种基于极限学习机的流场涡区域检测方法,包括以下步骤:
步骤1、根据流场数据计算涡量场,对流场内所有物理网格点进行漩涡区域标记,得到标记后的标签数据;
步骤2、对涡量场进行网格转换,得到计算网格下的涡量场;
步骤3、对计算网格下的涡量场进行归一化操作;
步骤4、对归一化后的涡量场和标签数据同时采样,得到采样数据;
步骤5、构建极限学习机神经网络模型,并采用采样数据对该模型进行训练,得到流场涡检测网络模型;
步骤6、对待测流场数据进行顺序采样,将采样后的数据输入到网络模型进行涡区域检测,输出检测结果。
具体的,步骤1中,利用全局方法标记流场数据,主要是对流场内所有物理网格点标记判断是否属于旋涡区域,若属于旋涡则为标记为1,否则标记为0,得到标记后的标签数据,具体过程如下:
步骤1.1,使用公式(1),根据流场数据的速度向量场v计算涡量场;
公式(1)中
使用公式(2)计算,
和
的计算方式类似。
公式(2)中的
其中J
-1使用公式(3)计算得到,η
x和ζ
x采用相同计算方式得到。
公式(3)中xξ,yξ,zξ均可采用公式(4)得到,(·)η和(·)ζ也可采用类似公式(4)的计算方法得到
得到,涡量场ω。
步骤1.2,根据流场数据的涡量场计算平均涡量值
使用公式(5)计算IVD值,其中,V是指三维流场所占的空间体积,x指所处的网格点位置信息,t代表时间变量,公式(5)用于计算t时刻x位置的IVD值。
步骤1.3,在计算出流场中IVD局部最大值位置后,使用水平集方法获取包含IVD局部最大值的等值面,最后根据最小周长和最大凸度偏差限制来判断涡区域,对判定为涡区域的位置标记为1,其余位置标记为0,至此获得流场内所有网格点处的数据。
步骤2到步骤4的过程如图4所示。
具体的,步骤2中,对计算得到的涡量场进行网格转换,将物理网格中的网格点一一映射到计算网格的网格点,抛弃物理坐标信息,得到计算网格下的涡量场,转换前后的网格如图3所示。
步骤3中,利用公式(6)与公式(7)计算计算网格下的涡量场的均值和标准差,将每个网格上的涡量值减去涡量场的均值后除以标准差,如公式(8)所示,之后使用公式(9)进行归一化操作,得到归一化后的涡量场。
步骤4中,对归一化后的涡量场和标签数据同时按照设定的区域大小采样,采样后判断标签,如果区域内标签全部为0或者全部为1,则丢弃该采样数据。
在一个优选实施例中,采样模式为随机采样。
步骤5中,构建极限学习机神经网络模型,使用得到的采样数据训练分割网络,网络结构如图5所示,在训练过程中,利用预处理阶段获得训练集,将训练集的80%作为网络的训练数据,训练Vortex-ELM-Net网络得到代表涡标签数据的特征。训练集的20%作为网络的测试数据,测试数据测试网络模型,得到涡预测精确率(Precision)、召回率(Recall)、F1分数(F1-score)以及马修斯相关系数(MCC)。通过这四个参数评判网络模型的性能,调整网络模型的参数,对网络模型进行反复训练调参,得到最终需求的网络模型。
训练时,设置一个置信度阈值,超过阈值的部分标注为1(1代表涡所在位置),不超过阈值的部分标注为0(0代表非涡所在位置),从而将测试数据中涡所在位置标注出来。
网络模型参数如下:
其中FP、FN、TP、TN分别表示假阳性、假阴性、真阳性、真阴性的数量。
Precision表示被分为正例的示例中实际为正例的比例。
Recall表示被分为正例的示例中实际为正例的比例。
F1-score是Precision和Recall加权调和平均,是IR(信息检索)领域的常用的一个评价标准,常用于评价分类模型的好坏。
马修斯相关系数(MCC)观察到的和预测的二元分类之间的相关系数;它返回介于-1和+1之间的值。系数+1表示完美预测,0表示不比随机预测好,-1表示预测和观察之间的完全不一致。
步骤6中,对待测流场数据进行顺序采样,将采样后的数据输入到网络模型进行涡区域检测具体过程如下:
步骤6.1与步骤1.1相同,通过速度场和物理坐标计算得到涡量场;
步骤6.2与第二步骤与第三步骤相同,得到归一化后的涡量场;
步骤6.3顺序采样涡量场,采样块之间不重叠(除了边界块),位置重复区域的判断由边界块负责,如图7所示;
步骤6.4将所有采样数据块送入第五步骤训练好的网络中,得到网络输出,网络输出的大小与采样块大小一致,每个点表示采样块中对应位置的网格点是否属于涡,1表示属于,0表示不属于;
步骤6.5将所有标签块按照位置顺序合并,得到整个流场内所有网格点的标签,如图8所示。
采用本发明的优点在于,本发明的优点在于:
1.逐块判断减少了数据重复计算,减少了单个流场的检测时间;
2.CNN网络参数是随机确定的,不需要对网路欧CNN网络进行参数训练。ELM网络需要经过训练确定的参数只有网络最后一层的参数,其它网络层的参数都是随机确定的,一经确定不再改变。大大减少了神经网络中的参数量,使得网络的训练时间变快;
3.本发明使用了x和y方向的速度场涡量场而不是速度场作为网络输入,涡量场的计算融合了速度场和物理网格信息,可以保持物理网格特性;
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。