一种基于深度学习的网格面质量检测方法与流程

文档序号:23805827发布日期:2021-02-03 09:02阅读:167来源:国知局
一种基于深度学习的网格面质量检测方法与流程

[0001]
本发明涉及模拟仿真数据处理技术领域,具体涉及一种基于深度学习的网格面质量检测方法。


背景技术:

[0002]
在模拟数据仿真的处理过程中,cfd网格质量决定着模拟仿真数据的准确性,因此在进行模拟素具仿真的处理过程中,进行网格质量检测过程就显得尤为重要,间接决定着后期计算工作的准确性;
[0003]
以往的网格质量的判别检测过程始终摆脱不了人工参与,现阶段无法实现网格质量的自动判别,这也将制约下一阶段高质量cfd网格自动生成技术的发展;目前的软件基本要依靠复杂的人工操作解决网格生成中的各种技术问题,从而保障有关cfd工程的顺利实施,但其繁重的操作过程并没有有效减轻网格生成工作强度、减少网格生成时间开销;此外具有的更大消极影响是,过度依赖人工操作的网格生成方法,严重阻碍了以计算流体力学为基础的飞行器外形设计优化等需要网格自动处理流程的技术发展;
[0004]
总之,网格生成技术在经历了多年的以工程化软件为主导的发展后,到了一个面临新问题、需要引进新技术、取得新突破的技术分水岭上,网格质量检测技术在这一阶段就显得尤为重要,它是对网格进行质量判定的过程,间接决定着后期工作的准确性;另一方面,在网格自动化生成技术中,网格生成质量的提高需要不断地迭代收敛,最终获得符合cfd计算要求的网格;
[0005]
目前,网格质量的自动判别尚未实现,基于智能识别的cfd网格质量自动判别技术在国内外也暂无人员或者团体进行研究;网格质量自动判别技术的缺失也将制约下一阶段高质量高效率的cfd网格自动生成技术的发展;许多网格自动生成化技术在结合网格质量自动判别技术之后,经过网格的生成与质量判别迭代,将对高质量网格自动化生成的发展带来积极推进作用。


技术实现要素:

[0006]
针对上述存在的问题,本发明旨在提供一种基于深度学习的网格面质量检测方法,通过在网格面质量检测的过程中,引入深度学习算法,能够实现自动高效和精准的多层次特征提取,有效克服了以往依赖复杂人工操作判断网格质量的缺点,具有自动化程度、检测精度高的特点。
[0007]
为了实现上述目的,本发明所采用的技术方案如下:
[0008]
一种基于深度学习的网格面质量检测方法,包括步骤
[0009]
s1.利用网格生成软件nnw-gridstar进行网格面的制作,构建网格面数据集,并将建立的网格面数据集分为训练数据集和测试数据集;
[0010]
s2.标记训练数据:利用网格生成软件nnw-gridstar的网格面检查功能对步骤s1得到的网格面训练数据集中的网格面进行质量检测,并标记网格面的质量好坏;
[0011]
s3.构建网格面质量检测网络:基于vgg神经网络构建用于网格面质量检测的神经网络e,使用步骤s2得到的训练数据集对该神经网络进行训练,得到训练好的网格面质量检测网络e’;
[0012]
s4.判别网格面质量:使用步骤s1得到的测试训练集中的网格面数据对步骤s3训练好的网格面质量检测网络e’进行测试,输出对网格面的质量判别。
[0013]
优选的,步骤s1所述的网格面数据集的构建过程包括:
[0014]
s101.在网格生成软件nnw-gridstar中导入一个数模和对应的三维网格数据;
[0015]
s102.利用nnw-gridstar在三维网格数据中提取二维网格数据,将提取的二维网格以网格面离散坐标值的形式加入网格面数据集中;
[0016]
s103.使用网格生成软件nnw-gridstar的面优化功能将二维网格进行优化,得到新的二维网格,并将新二维网格以网格面离散坐标值的形式加入网格面数据集中;
[0017]
s104.使用网格生成软件nnw-gridstar的面投影功能将二维网格对步骤s101中导入的数模进行投影,得到新的二维网格,并将新二维网格以网格面离散坐标值的形式加入网格面数据集;
[0018]
s105.重复步骤s101到步骤s104,导入不同的数模和对应的三维网格数据,生成新的二维网格,并将新二维网格以网格面离散坐标值的形式加入网格面数据集,直到数据集数量大于等于5000为止;
[0019]
s106.将得到的网格面数据集分为训练数据集和测试数据集,其中80%为训练数据集,20%为测试数据集。
[0020]
优选的,步骤s2所述的训练数据的标记过程包括:
[0021]
s201.将网格面训练数据集中的一个网格面导入网格生成软件nnw-gridstar中;
[0022]
s202.使用网格生成软件nnw-gridstar的网格面质量检测功能对网格面的质量进行检测;
[0023]
s203.通过网格生成软件nnw-gridstar反馈的网格面质量指标信息,判别网格面质量的好坏;
[0024]
s204.若通过步骤s203的判别过程,判别出该网格面的质量好,则标记该网格面的质量指标为1;若通过步骤s203判别出该网格面的质量不好,则标记该网格面的质量指标为0,得到网格面质量的标签数据。
[0025]
优选的,步骤s3所述的网格面质量检测网络的构建过程包括:
[0026]
s301.利用vgg神经网络构建用于网格面质量检测的神经网络e;
[0027]
s302.在步骤s2得到的训练数据集中随机选择网格面数据,利用选择的网格面数据和对应的网格面质量的标签数据对步骤s301构建的神经网络e进行训练100000次,得到训练好的网格面质量检测网络e’。
[0028]
优选的,步骤s301所述的利用vgg神经网络构建用于网格面质量检测的神经网络e的设计过程包括:
[0029]
(1)构建基于vgg神经网络的卷积层模型,网络模型中,卷积层是构建卷积神经网络的核心层,它产生了网络中大部分的计算量,其形式如下:
[0030]
[0031]
其中:代表第l层的第n个特征图,代表第l-1层的第m个特征图,代表作用于两个特征图之间的卷积核,f为激活函数,代表偏置项;
[0032]
(2)设计一个池化层,池化层的模型为:
[0033][0034]
其中:代表第l层的第n个特征图,代表第l-1层的第n个特征图,s是选取的下采样模板,为模板的权值,代表偏置项;
[0035]
(3)将步骤(2)得到的池化层周期性地插入步骤(1)得到的卷积层模型中。
[0036]
优选的,步骤s4所述的判别网格面质量的过程包括:
[0037]
s401.在步骤s1得到的测试数据集中随机选择网格面数据;
[0038]
s402.将步骤s401得到的网格面数据输入步骤s3训练好的网格面质量检测网络e’中,输出对网格面的质量的判别,输出1表示该网格面质量好,输出0表示该网格面质量不好。
[0039]
本发明的有益效果是:本发明公开了一种基于深度学习的网格面质量检测方法,与现有技术相比,本发明的改进之处在于:
[0040]
本发明设计了一种基于深度学习的网格面质量检测方法,本方法通过在网格面质量检测的过程中,引入深度学习算法,能够实现自动高效和精准的多层次特征提取,有效克服了以往依赖复杂人工操作判断网格质量的缺点,且在检测过程中能够根据给出的网格面离散坐标值预测出网格质量的好与坏,不依赖复杂的人工操作进行判断,经经实验证明,本发明所述方法可达到97%的预测精度,具有自动化程度、检测精度高的优点;
[0041]
同时,本发明所述方法填补了网格面质量自动判别技术的空白,能够基于深度神经网络对网格面的质量进行智能检测。
附图说明
[0042]
图1为本发明基于深度学习的网格面质量检测方法的流程图。
[0043]
图2为本发明基于深度学习的网格面质量检测方法的算法过程图。
[0044]
图3为本发明不同质量的网格面数据集图。
[0045]
图4为本发明vgg神经网络结构图。
[0046]
其中:在图3中:图(a)和图(d)为质量好的网格图,图(b)、图(c)、图(e)和图(f)为质量差的网格图。
具体实施方式
[0047]
为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面结合附图和实施例对本发明的技术方案做进一步的描述。
[0048]
在cfd数值模拟中,网格质量的好坏直接影响计算精度和计算效率,如何检查网格质量、评估网格品质至关重要;要对一套计算网格的网格质量进行评判,主要涉及几何特征、流动特征、求解器适应性等三个维度。具体研究中,将分别从上述三个维度开展研究,建
立对计算网格质量进行综合评判方法;
[0049]
参照附图1-4所示的一种基于深度学习的网格面质量检测方法,能够实现自动高效和精准的网格面质量检测,包括步骤:
[0050]
s1.利用网格生成软件nnw-gridstar进行网格面的制作,构建网格面数据集,并将建立的网格面数据集分为训练数据集和测试数据集,具体步骤包括:
[0051]
s101.在网格生成软件nnw-gridstar中导入一个数模(cad数模)和对应的三维网格数据;
[0052]
s102.利用nnw-gridstar的网格导出功能在三维网格数据中提取二维网格数据,将提取的二维网格以网格面离散坐标值的形式加入到网格面数据集(最开始是空集)中;
[0053]
s103.使用网格生成软件nnw-gridstar的面优化功能将二维网格进行优化,得到新的二维网格,并将新二维网格以网格面离散坐标值的形式加入网格面数据集中;
[0054]
s104.使用网格生成软件nnw-gridstar的面投影功能将二维网格对步骤s101中导入的数模进行投影,得到新的二维网格,并将新二维网格以网格面离散坐标值的形式加入网格面数据集;
[0055]
s105.重复步骤s101到步骤s104,导入不同的数模和对应的三维网格数据,生成新的二维网格,并将新二维网格以网格面离散坐标值的形式加入网格面数据集,直到数据集数量大于等于5000为止;
[0056]
s106.将得到的网格面数据集分为训练数据集和测试数据集,其中80%为训练数据集,20%为测试数据集;
[0057]
s2.标记训练数据:利用网格生成软件nnw-gridstar的网格面检查功能对步骤s1得到的网格面训练数据集中的网格面进行质量检测,并标记网格面的质量好坏,具体步骤包括:
[0058]
s201.将网格面训练数据集中的一个网格面导入网格生成软件nnw-gridstar中;
[0059]
s202.使用网格生成软件nnw-gridstar的网格面质量检测功能对网格面的质量进行检测;
[0060]
s203.通过网格生成软件nnw-gridstar反馈的网格面质量指标信息,如网格的正交性、光滑性等,根据不同算例的判断指标,人工判别网格面质量的好坏;
[0061]
s204.若通过步骤s203的判别过程,判别出该网格面的质量好,则标记该网格面的质量指标为1;若通过步骤s203判别出该网格面的质量不好,则标记该网格面的质量指标为0,得到网格面质量的标签数据;
[0062]
s3.构建网格面质量检测网络:基于vgg神经网络构建用于网格面质量检测的神经网络e,使用步骤s2得到的训练数据集对该神经网络进行训练,得到训练好的网格面质量检测网络e’,具体步骤包括:
[0063]
s301.利用vgg神经网络构建用于网格面质量检测的神经网络e,具体过程包括:
[0064]
(1)构建基于vgg神经网络的卷积层模型,网络模型中,卷积层是构建卷积神经网络的核心层,它产生了网络中大部分的计算量,其形式如下:
[0065]
[0066]
其中:代表第l层的第n个特征图,代表第l-1层的第m个特征图,代表作用于两个特征图之间的卷积核,f为激活函数,代表偏置项;
[0067]
(2)设计一个池化层,池化层的模型为:
[0068][0069]
其中:代表第l层的第n个特征图,代表第l-1层的第n个特征图,s是选取的下采样模板,为模板的权值,代表偏置项;
[0070]
(3)将步骤(2)得到的池化层周期性地插入步骤(1)得到的卷积层模型中,得到用于网格面质量检测的神经网络e;
[0071]
s302.在步骤s2得到的训练数据集中随机选择网格面数据,利用选择的网格面数据和对应的网格面质量的标签数据对步骤s301构建的神经网络e进行训练100000次,得到训练好的网格面质量检测网络e’。
[0072]
s4.判别网格面质量:使用步骤s1得到的测试训练集中的网格面数据对步骤s3训练好的网格面质量检测网络e’进行测试,输出对网格面的质量判别,具体步骤包括:
[0073]
s401.利用python的random函数在步骤s1得到的测试数据集中随机选择网格面数据;
[0074]
s402.将步骤s401得到的网格面数据输入步骤s3训练好的网格面质量检测网络e’中,输出对网格面的质量的判别,输出1表示该网格面质量好,输出0表示该网格面质量不好。
[0075]
实施例1:s5.实验与对比
[0076]
s501.cnn模型训练
[0077]
为对本发明所述基于深度学习的网格面质量检测方法进行验证,本文生成的网格面样本集总数为5024个,将21x21、41x41、81x81、21x121作为训练样本,对每一个尺度的数据顺序打乱;71x71作为测试样本,对cnn的预测能力进行测试;
[0078]
训练方法选择随机梯度下降算法,图像输入的批量大小设置为8或16,即每批次输入统一尺度的8个或16个网格面样本进行训练;迭代次数设置为100000次;学习率设置为0.0001;卷积核初始化权值设置为满足均值为0,标准差为0.01的高斯分布随机数,偏置初始化为0;
[0079]
本文用于建模和仿真的计算机配置为:intel(r)xeon(r)e5-2698 v42.20ghz cpu、nvidiateslav100显卡;
[0080]
如表2所示,采取不同的训练策略对精度的影响非常大,只训练一个121x121的尺度网格,仅仅只对该尺度的数据具有泛化能力,用其他尺度的数据和随机预测一样的效果;采用21x21、41x41、81x81和121x121多个尺度的数据都进行训练,采取不同策略的也具有很大的差异;使用每个尺度所有数据训练一个epoch,再训练下一个尺度所有数据训练一个epoch,测试效果也非常不好;对所有尺度的数据都具有泛化性的方式,一个尺度选择一个batch训练,再取其他尺度数据选择一个batch训练;
[0081]
表2:不同训练方式结果对比
[0082][0083][0084]
通过表2可以看出,本发明所述基于深度学习的网格面质量检测方法的测试精度为97.13%,远大于其他网格面质量检测方法;
[0085]
表3展示了batchsize为8和16不同尺度batch交替训练训练结果,结果表明batchsize大小对测试结果影响不是很大;
[0086]
表3:不同batchsize结果对比
[0087][0088]
s502.cnn预测
[0089]
表4展示了不同深度神经网络采用同样的训练参数和训练策略,从结果可以看出vgg16测试效果最好;
[0090]
表4:不同网络测试结果对比
[0091]
网络模型训练数据测试精度resnet5021x21~121x1210.78083conv+2dense21x21~121x1210.9743vgg1641x41~121x1210.9863
[0092]
结论:通过上述验证过程可以看出,本发明所述的基于深度学习的网格面质量检测方法该方法不依赖复杂的人工操作进行判断,能够在给出的网格面离散坐标值预测出网格的好与坏,并且具有很高的预测精度;
[0093]
同时通过本文的研究,说明深度学习在网格质量检测方面具有很好的应用前景,可以通过增加网络层数、卷积核数量、迭代次数、全连接层数量、dropout技术等措施,增加网络的拟合能力,适应不同尺度的网格质量检测。
[0094]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1