基于HorNet的三维汽车压力预测方法及系统

文档序号:33622198发布日期:2023-03-25 12:42阅读:75来源:国知局
基于HorNet的三维汽车压力预测方法及系统
基于hornet的三维汽车压力预测方法及系统
技术领域
1.本发明涉及计算机深度学习的技术领域,更具体地,涉及一种基于hornet的三维汽车压力预测方法及系统。


背景技术:

2.汽车气动布局设计是汽车设计中十分重要的环节。通过降低汽车移动所受的压力,可显著提高汽车气动性能,这对于燃油车节能减排以及电动车提升续航里程具有重要的意义。
3.但目前计算汽车气动外形关键参数仍依赖于传统cfd(计算流体力学),当网格数目和自由度增加时,计算时间将呈指数增长,这无法满足现代汽车快速设计的要求。在cfd仿真中,通常使用偏微分方程的计算求解器来模拟给定几何结构的物理特性。然而,在有限元方法中运行物理模拟是一个计算昂贵、占用内存和耗时的过程。这些缺点限制了设计空间探索的机会,禁止了交互设计。流体力学问题由于维度高、非线性强、数据量大等特点,恰恰是深度学习擅长并可以带来研究范式创新的重要领域。
4.为了缓解传统cfd的诸多限制,与许多其他工程领域一样,最近在cfd中引入了深度学习。深度学习使用数据驱动方法学习数据之间的相似关系,能减少仿真计算时因为网格划分和参数设置造成的误差提高cfd模拟的准确性。cnn卷积神经网络是一种专门处理类似网格结构数据的神经网络,使用卷积这种数学运算方法,是深度学习中最具代表性的算法之一。cnn因其自身固有的一系列优良的特性,使得它们很自然地适合很多种计算机视觉任务。如现有技术中公开了一种利用卷积神经网络优化设备外形的方法,该方法包括将技术设备的外形离散化为沿设备的轮廓的多个点或离散化为表面网格,以及将多个点或表面网输入到卷积神经网络,以计算至少一种流体动力学参数的预测值,然而标准的cnn中的卷积运算并没有明确地考虑空间间的相互作用,因此不能更加显著的增加模型的表达能力。
5.当前,一种基于递归和门控卷积的网络hornet在imagenet分类、coco对象检测和ade20k语义分割方面的大量实验应用表明,在整体架构和训练配置相似的情况下,hornet的性能明显优于swin transformers和convnext。hornet还显示出对更多训练数据和更大模型大小的良好可扩展性。hornet具有高效、可扩展,且具有平移不变性。不但能满足动态权重、长距离建模,而且实现了高阶的空间交互。hornet在常用的视觉识别任务上的有效性,相对于其他cnn网络精度更高,性能更好,显著增加了模型的表达能力。因此,如何将hornet卷积网络技术应用到三维汽车压力预测上,以解决传统cfd仿真计算使用高阶微分方程或离散后的代数方程组来进行物理模拟时存在的计算量庞大、速度缓慢的问题,具有十分重要的意义。


技术实现要素:

6.为解决利用传统cfd仿真进行汽车气动外形关键参数计算以预测汽车压力的方式存在的计算量大、计算速度缓慢的问题,本发明提出一种基于hornet的三维汽车压力预测
方法及系统,通过hornet卷积神经网络,预测车体压力,测试汽车不同部位的压力状态,计算速度快,预测精度高。
7.为了达到上述技术效果,本发明的技术方案如下:
8.一种基于hornet的三维汽车压力预测方法,所述方法包括以下步骤:
9.s1.获取三维汽车cad模型数据集,将三维汽车cad模型数据集划分为训练集和测试集;
10.s2.对每个三维汽车cad模型进行汽车压力的仿真计算;
11.s3.构建八叉树,将汽车数据集中三维汽车cad模型存储为八叉树数据结构,确定八叉树数据结构中用于训练和测试的输入数据,以s2仿真计算得到的汽车表面产生的压力场作为输入数据的标签;
12.s4.构建hornet卷积神经网络模型;
13.s5.将输入数据中属于训练集的数据输入至hornet卷积神经网络模型中学习预测输出压力参数,将输出的压力参数与标签进行损失比较,不断反向传播梯度更新训练hornet卷积神经网络模型,直至hornet卷积神经网络模型训练完成;
14.s6.将输入数据中属于测试集的数据输入至训练好的hornet卷积神经网络模型,预测出三维汽车每个面所受的压力情况。
15.本技术方案将汽车数据集中三维汽车cad模型存储为八叉树数据结构,确定八叉树数据结构中用于训练和测试的输入数据,然后构建hornet卷积神经网络模型,利用输入数据中属于训练集的数据对hornet卷积神经网络模型进行训练,训练得到的神经网络模型可用于汽车气动压力预测,测试汽车不同部位的压力状态,计算速度快,预测精度高。
16.优选地,在步骤s1中,设三维汽车cad模型数据集表示为:d={d1,d2,......,dn},将80%的三维汽车cad模型数据作为训练集f={f1,f2,......,fm},20%的三维汽车cad模型数据作为测试集t={t1,t2,......,th}。
17.优选地,在步骤s2中,通过xflow对每个三维汽车cad模型进行汽车压力的仿真计算,过程为:
18.s21.确定仿真计算域的长、宽、高,计算阻塞比,确认阻塞比符合要求,计算公式为:
[0019][0020]
其中,ω表示阻塞比,s表示汽车模型在风道截面上的正投影面积,sn表示风道截面积,即风洞试验段的喷口面积;
[0021]
s22.选择xflow的求解器为3d内核,模拟仿真恒温条件下的汽车外流场,设置边界条件为速度,每个三维汽车cad模型设置三个级别的速度分别进行数值仿真计算,虚拟风洞地面设置为静止壁面;仿真时间为空气流过整个虚拟风洞后0.1s;
[0022]
s23.将每个三维汽车模型通过三种级别速度下的仿真结果分别记为y1,y2,y3,其中,y1代表在风速一级情况下的压力场,y2、y3分别代表在风速二级和风速三级情况下汽车的压力场。
[0023]
优选地,在步骤s3中,构建八叉树时,首先确定八叉树的层数,即需要划分的最大深度,然后将数据集d={d1,d2,......,dn}中三维汽车cad模型缩放,放入一个轴对齐的单
位立方体中;
[0024]
以该单位立方体为根节点,均匀地划分立方体为相同的8个小立方体,在当前深度遍历所有非空八分之一体,即遍历含有三维汽车cad模型形状的节点,在下一层将非空八分之一体再次均匀地划分为八个相同八分之一体,而不含三维汽车cad模型形状的八分之一体不再进行划分;重复执行,直至达到指定层数。
[0025]
优选地,输入数据为八叉树数据结构中最深层的叶节点所在的八分之一体三维汽车cad模型形状的平均法向量。
[0026]
优选地,步骤s4所述构建的hornet卷积神经网络模型包括依次相连的horblock模块和多层前馈神经网络ffn,所述horblock模块内设有递归相连的layer norn模块及门控卷积gnconv,所述ffn模块内设有递归相连的layer norn模块及mlp单元;所述门控卷积gnconv用于实现长距离建模和高阶空间交互,由标准卷积、线性投影和element-wise的乘法构建,其中,高阶空间交互分为一阶的空间交互和高阶的空间交互,一阶的空间交互为:
[0027]
设s3的输入数据的输入特征为x∈rn×c,门控卷积gnconv的输出为:
[0028][0029]
p1=g(q0)

p0∈rn×c,y=φ
out
(p0)∈rn×
2c
[0030]
其中,φ
in
,φ
out
均为线性投影操作,以完成channel纬度的信息交流;g()b表示depth-wise的卷积,

表示向量元素依次相乘;p1=g(q0)

p0∈rn×c,y=φ
out
(p0)∈rn×
2c
表示及其周边特征的1阶相互作用;
[0031][0032]
其中,δi表示depth-wise conv的局部窗口,中心坐标为i,w表示depth-wise conv的权重;
[0033]
高阶的空间交互为:
[0034]
首先通过φ
in
得到一系列投影特征p0和{q0,q1,...,qk},其中,k=0,1,...,n-1;
[0035][0036]
再以递归的方式进行门控卷积:
[0037]
pk=gk(qk)
⊙hk
(pk)/α,k=0,1,...,n-1
[0038]
其中,每次递归的过程除以α以稳定训练,{gk}是一系列的depth-wise卷积操作,用{hk}在每次递归的过程匹配特征的通道数;
[0039][0040]
最后,将最后一次递归的输出qn输入到投影层φ
out
,得到gnconv的结果,实现某一特征和其周边特征的n阶相互作用。
[0041]
在此,hornet卷积网络中基于递归和门控卷积的gnconv使得卷积神经网络也可以完成高阶的空间交互,十分适合处理cae物理模拟中高维问题。
[0042]
优选地,在步骤s5中,在相同八叉树深度上选择相邻的八分体,激活函数使用relu函数,使用batchnorm标准化来加速神经网络训练,池化层使用最大池化层,以展开的形式写出卷积操作φc:
[0043][0044]
其中,o
ijk
表示o的相邻的八分体,t(
·
)表示与o
ijk
相关的特征向量,t
(n)
(
·
)表示特征向量的第n维通道,是卷积操作的权重;如果o
ijk
在八叉树中不存在,将t(o
ijk
)设置为零向量;通过这种方式,卷积操作转化为矩阵乘积的形式,能够在在gpu上高效地运算;
[0045]
将训练集f={f1,f2,......,fm}在八叉树中最深层的叶节点所在的八分之一体中三维汽车cad模型形状的平均法向量作为hornet卷积神经网络模型的输入数据,以s2仿真计算得到的汽车表面产生的压力场作为输入数据的标签y1、y2及y3,通过卷积操作φc、池化操作,hornet卷积神经网络模型输出相应风速条件下的压力场预测量其中,i取值为1,2,3;将压力场预测量和对应的标签y1、y2及y3进行比较损失,通过不断的反向传播梯度更新hornet卷积神经网络模型的参数,直至hornet卷积神经网络模型训练完成。
[0046]
优选地,利用mse均方误差作为回归模型的评价指标:
[0047][0048]
其中,m为进行预测的总次数y

为预测值统称,y为步骤s2仿真计算得到的汽车表面产生的压力场真实标签值统称;mse均方误差是预测数据和真实标签值数据对应点误差的平方和的均值;mse均方误差越小,越接近于0,表明hornet卷积神经网络模型的选择和拟合效果越好,数据预测越准确,mse均方误差得出的数据相对于平均绝对误差更加光滑。
[0049]
优选地,在步骤s6中,输入数据中属于测试集t={t1,t2,......,th}的数据在八叉树结构中,为八叉树结构中最深层的叶节点所在的八分之一体中三维汽车cad模型形状的平均法向量。
[0050]
一种基于hornet的三维汽车压力预测系统,所述系统包括:
[0051]
数据集获取单元,用于获取三维汽车cad模型数据集,将三维汽车cad模型数据集划分为训练集和测试集;
[0052]
仿真计算单元,对每个三维汽车cad模型进行汽车压力的仿真计算;
[0053]
八叉树数据结构构建单元,用于构建八叉树,将汽车数据集中三维汽车cad模型存储为八叉树数据结构,确定八叉树数据结构中用于训练和测试的输入数据,以s2仿真计算得到的汽车表面产生的压力场作为输入数据的标签;
[0054]
模型设计构建单元,用于构建hornet卷积神经网络模型;
[0055]
模型训练单元,将输入数据中属于训练集的数据输入至hornet卷积神经网络模型中学习预测输出压力参数,将输出的压力参数与标签进行损失比较,不断反向传播梯度更新训练hornet卷积神经网络模型,直至hornet卷积神经网络模型训练完成;
[0056]
预测单元,将输入数据中属于测试集的数据输入至训练好的hornet卷积神经网络模型,预测出三维汽车每个面所受的压力情况。
[0057]
与现有技术相比,本发明技术方案的有益效果是:
[0058]
本发明提出一种基于hornet的三维汽车压力预测方法及系统,首先获取三维汽车
cad模型数据集,将三维汽车cad模型数据集划分为训练集和测试集,对每个三维汽车cad模型进行汽车压力的仿真计算以将仿真计算结果作为真实数据标签,将汽车数据集中三维汽车cad模型存储为八叉树数据结构,确定八叉树数据结构中用于训练和测试的输入数据,然后构建hornet卷积神经网络模型,利用输入数据中属于训练集的数据对hornet卷积神经网络模型进行训练,并与真实数据标签进行损失对比,得到训练好的神经网络模型,用于汽车气动压力预测,测试汽车不同部位的压力状态,计算速度快,预测精度高。
附图说明
[0059]
图1表示本发明实施例1中提出的基于hornet的三维汽车压力预测方法的流程示意图;
[0060]
图2表示本发明实施例2中提出的构建的hornet卷积神经网络模型的整体结构图;
[0061]
图3表示本发明实施例2中提出的hornet卷积神经网络模型中门控卷积gnconv的结构图;
[0062]
图4表示本发明实施例2中提出的训练过程和测试过程中损失函数的收敛曲线图;
[0063]
图5表示本发明实施例3中提出的基于hornet的三维汽车压力预测系统的示意图。
具体实施方式
[0064]
附图仅用于示例性说明,不能理解为对本专利的限制;
[0065]
为了更好地说明本实施例,附图某些部位会有省略、放大或缩小,并不代表实际尺寸;
[0066]
对于本领域技术人员来说,附图中某些公知内容说明可能省略是可以理解的。
[0067]
下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0068]
附图中描述位置关系的仅用于示例性说明,不能理解为对本专利的限制;
[0069]
实施例1
[0070]
在本实施例中,提出了一种基于hornet的三维汽车压力预测方法,该方法的流程示意图如图1所示,参见图1,所述方法包括以下步骤:
[0071]
s1.获取三维汽车cad模型数据集,将三维汽车cad模型数据集划分为训练集和测试集;
[0072]
s2.对每个三维汽车cad模型进行汽车压力的仿真计算;
[0073]
s3.构建八叉树,将汽车数据集中三维汽车cad模型存储为八叉树数据结构,确定八叉树数据结构中用于训练和测试的输入数据,以s2仿真计算得到的汽车表面产生的压力场作为输入数据的标签;
[0074]
s4.构建hornet卷积神经网络模型;
[0075]
s5.将输入数据中属于训练集的数据输入至hornet卷积神经网络模型中学习预测输出压力参数,将输出的压力参数与标签进行损失比较,不断反向传播梯度更新训练hornet卷积神经网络模型,直至hornet卷积神经网络模型训练完成;
[0076]
s6.将输入数据中属于测试集的数据输入至训练好的hornet卷积神经网络模型,预测出三维汽车每个面所受的压力情况。
[0077]
实施例2
[0078]
在本实施例中,选择了具有丰富标注的大规模三维模型数据集shapenet下汽车子类的400个三维模型文件作为获取的三维汽车cad模型数据集,并将这400个设三维汽车cad模型数据集表示为:d={d1,d2,......,dn},将80%的三维汽车cad模型数据作为训练集f={f1,f2,......,fm},20%的三维汽车cad模型数据作为测试集t={t1,t2,......,th}。
[0079]
由于阻塞比对实验结果有着不可忽略的影响。阻塞比越小,试验结果越准确,当阻塞比低于2%时,可以不考虑阻塞比对试验结果造成的干扰。在步骤s2中,通过xflow对每个三维汽车cad模型进行汽车压力的仿真计算,过程为:
[0080]
s21.为了适应三维汽车cad模型数据集中各种大小不同的车辆,确定仿真计算域的长、宽、高,计算阻塞比,在本实施例中确定仿真计算域的长55米、宽20米、高9米,考虑到本数值仿真实验,阻塞比计算公式为:
[0081][0082]
其中,ω表示阻塞比,s表示汽车模型在风道截面上的正投影面积,sn表示风道截面积,即风洞试验段的喷口面积;此时,阻塞比低于1.5%,符合条件。
[0083]
s22.选择xflow的求解器为3d内核,模拟仿真恒温条件下的汽车外流场,设置边界条件为速度,为了扩充数据集的数据量,每个三维汽车cad模型设置三个级别的速度分别进行数值仿真计算,在本实施例中,速度在x方向上,分别为20m/s、30m/s和40m/s,速度基本覆盖了汽车在实际行驶过程中的近似速度,虚拟风洞地面设置为静止壁面;仿真时间为空气流过整个虚拟风洞后0.1s,以确保流动充分发展。
[0084]
s23.将每个三维汽车模型通过三种级别速度下的仿真结果分别记为y1,y2,y3,其中,y1代表在风速一级20m/s情况下的压力场,y2、y3分别代表在风速二级30m/s和风速三级40m/s情况下汽车的压力场。
[0085]
在本实施例中,构建八叉树时,首先确定八叉树的层数,即需要划分的最大深度,这决定了后续模型的分辨率。一般来说层数越多,模型越精确,但是随之而来的计算量也呈指数级别上升。这里中和了精确和计算量,选用6层八叉树进行构建。然后将数据集d={d1,d2,......,dn}中三维汽车cad模型缩放,放入一个轴对齐的单位立方体中;
[0086]
以该单位立方体为根节点,均匀地划分立方体为相同的8个小立方体,在当前深度遍历所有非空八分之一体,即遍历含有三维汽车cad模型形状的节点,在下一层将非空八分之一体再次均匀地划分为八个相同八分之一体,而不含三维汽车cad模型形状的八分之一体不再进行划分;重复执行,直至达到指定层数。
[0087]
在本实施例中,输入数据为八叉树数据结构中最深层的叶节点所在的八分之一体三维汽车cad模型形状的平均法向量。
[0088]
hornet卷积网络中基于递归和门控卷积的gnconv使得卷积神经网络也可以完成高阶的空间交互,十分适合处理cae物理模拟中高维问题。如图2所示,本实施例构建的hornet卷积神经网络模型包括依次相连的horblock模块和多层前馈神经网络ffn,horblock模块内设有递归相连的layer nom模块及门控卷积gnconv,所述ffn模块内设有递归相连的layer norn模块及mlp单元;图3为门控卷积gnconv的具体结构图,门控卷积gnconv用于实现长距离建模和高阶空间交互,由标准卷积、线性投影和element-wise的乘法构建,其中,高阶空间交互分为一阶的空间交互和高阶的空间交互,一阶的空间交互为:
[0089]
设s3的输入数据的输入特征为x∈rn×c,门控卷积gnconv的输出为:
[0090][0091]
p1=g(q0)

p0∈rn×c,y=φ
out
(p0)∈rn×
2c
[0092]
其中,φ
in
,φ
out
均为线性投影操作,以完成channel纬度的信息交流;g()b表示depth-wise的卷积,

表示向量元素依次相乘;p1=g(q0)

p0∈rn×c,y=φ
out
(p0)∈rn×
2c
表示及其周边特征的1阶相互作用;
[0093][0094]
其中,δi表示depth-wise conv的局部窗口,中心坐标为i,w表示depth-wise conv的权重;
[0095]
高阶的空间交互为:
[0096]
首先通过φ
in
得到一系列投影特征p0和{q0,q1,...,qk},其中,k=0,1,...,n-1;
[0097][0098]
再以递归的方式进行门控卷积:
[0099]
pk=gk(qk)
⊙hk
(pk)/α,k=0,1,...,n-1
[0100]
其中,每次递归的过程除以α以稳定训练,{gk}是一系列的depth-wise卷积操作,用{hk}在每次递归的过程匹配特征的通道数;
[0101][0102]
最后,将最后一次递归的输出qn输入到投影层φ
out
,得到gnconv的结果,实现某一特征和其周边特征的n阶相互作用。
[0103]
在相同八叉树深度上选择相邻的八分体,激活函数使用relu函数,使用batchnorm标准化来加速神经网络训练,池化层使用最大池化层,以展开的形式写出卷积操作φc:
[0104][0105]
其中,o
ijk
表示o的相邻的八分体,t(
·
)表示与o
ijk
相关的特征向量,t
(n)
(
·
)表示特征向量的第n维通道,是卷积操作的权重;如果o
ijk
在八叉树中不存在,将t(o
ijk
)设置为零向量;通过这种方式,卷积操作转化为矩阵乘积的形式,能够在在gpu上高效地运算;
[0106]
将训练集f={f1,f2,......,fm}在八叉树中最深层的叶节点所在的八分之一体中三维汽车cad模型形状的平均法向量作为hornet卷积神经网络模型的输入数据,以s2仿真计算得到的汽车表面产生的压力场作为输入数据的标签y1、y2及y3,通过卷积操作φc、池化操作,hornet卷积神经网络模型输出相应风速条件下的压力场预测量其中,i取值为l,2,3;将压力场预测量和对应的标签y1、y2及y3进行比较损失,通过不断的反向传播梯度更新hornet卷积神经网络模型的参数,直至hornet卷积神经网络模型训练完成。
[0107]
最后,利用mse均方误差作为回归模型的评价指标:
[0108][0109]
其中,m为进行预测的总次数y

为预测值统称,y为步骤s2仿真计算得到的汽车表面产生的压力场真实标签值统称;mse均方误差是预测数据和真实标签值数据对应点误差的平方和的均值;mse均方误差越小,越接近于0,表明hornet卷积神经网络模型的选择和拟合效果越好,数据预测越准确,mse均方误差得出的数据相对于平均绝对误差更加光滑。
[0110]
在本实施例中,输入数据中属于测试集t={t1,t2,......,th}的数据在八叉树结构中,为八叉树结构中最深层的叶节点所在的八分之一体中三维汽车cad模型形状的平均法向量,模型通过一系列操作,最终输出预测三维汽车每个面所受压力的情况。图4显示了训练过程和测试过程中损失函数的收敛曲线,图4中实现表示训练损失,虚线表示测试损失,实验结果显示在本次实验中hornet卷积神经网络模型具有较好的性能,能够快速的实现损失函数的收敛,泛化能力比较好,同时在测试集上表现出了较高的精度。
[0111]
实施例3
[0112]
如图5所示,本实施例提出了一种基于hornet的三维汽车压力预测系统,参见图5,系统包括:
[0113]
数据集获取单元,用于获取三维汽车cad模型数据集,将三维汽车cad模型数据集划分为训练集和测试集;
[0114]
仿真计算单元,对每个三维汽车cad模型进行汽车压力的仿真计算;
[0115]
八叉树数据结构构建单元,用于构建八叉树,将汽车数据集中三维汽车cad模型存储为八叉树数据结构,确定八叉树数据结构中用于训练和测试的输入数据,以s2仿真计算得到的汽车表面产生的压力场作为输入数据的标签;
[0116]
模型设计构建单元,用于构建hornet卷积神经网络模型;
[0117]
模型训练单元,将输入数据中属于训练集的数据输入至hornet卷积神经网络模型中学习预测输出压力参数,将输出的压力参数与标签进行损失比较,不断反向传播梯度更新训练hornet卷积神经网络模型,直至hornet卷积神经网络模型训练完成;
[0118]
预测单元,将输入数据中属于测试集的数据输入至训练好的hornet卷积神经网络模型,预测出三维汽车每个面所受的压力情况。
[0119]
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1