一种多特征铸件三维模型检索方法及装置与流程

文档序号:28592579发布日期:2022-01-22 09:09阅读:130来源:国知局
一种多特征铸件三维模型检索方法及装置与流程

1.本发明属于铸件三维模型检索领域,更具体地,涉及一种多特征铸件三维模型检索方法及装置。


背景技术:

2.铸件广泛应用于航空、航天、轨道交通和工程机械等国民经济多个领域,其中,以箱体和转向桥、机匣、航天发动机叶片等为代表的典型铸件,存在多维扭曲和异形曲面等复杂工艺结构,导致工艺设计难度大和周期长等问题,实现“成熟工艺复用”是解决上述问题的关键之一。
3.目前,铸造企业往往将历史铸件产品的浇注系统、冒口、冷铁等成熟铸造工艺设计方案以文字、图片等形式在铸造工艺卡中进行数据保存,在检索过程中只能通过检索产品号、批次号等信息进行工艺卡的查询。当进行新铸件产品的工艺设计时,常基于设计人员经验判定该产品与历史某批次、某型号产品的相似性,再以该批次产品的批次号、产品号进行历史成熟工艺的检索。显然,以上“新产品—人工判定—批次/产品号—历史产品成熟工艺”过程极大地依赖于设计人员的知识储备以及对历史产品的熟悉程度,存在着检索流程长、效率低、极大依赖于人工经验、智能化程度低等问题,造成了检索结果查询准确率低、查询结果少等缺陷,难以通过“成熟工艺复用”改善箱体、转向桥等复杂铸件铸造工艺设计难度大和周期长现状。


技术实现要素:

4.针对现有技术的缺陷,本发明的目的在于提供一种多特征铸件三维模型检索方法及装置,旨在解决现有的铸件检索方法,大都基于二维进行检索,实现工艺复用,但是二维检索后的结果需要重新组建为三维模型,因此,通过现有的铸件检索方法获取的检索结果,在工艺设计方面存在难度较大和周期较长的问题。
5.为实现上述目的,一方面,本发明提供了一种多特征铸件三维模型检索方法,包括以下步骤:
6.获取待检索铸件的三维模型,并对其进行三角形面片化且姿态归一化处理;
7.基于三角形面片化后待检索铸件的三维模型,计算待检索铸件的形状特征和领域知识;
8.计算待检索铸件的形状特征与模型库中各模型的相似度,在模型库中筛选出一定比例的模型;
9.计算待检索铸件的领域知识与筛选出的模型的相似度,筛选出三维模型检索结果;
10.其中,领域知识包括待检索铸件的热节特征、对称面特征以及包络尺寸;形状特征包括待检索铸件的几何形状特征以及凹凸程度特征。
11.优选地,形状特征包括三维模型的d2算子、n2算子和nan算子;
12.d2算子的计算方法为:
13.随机在待检索铸件表面上选取若干个点对,并计算每个点对的两点之间的距离,获得一个包含所有点对距离的数组,将数组归一化;
14.设置统计区间,统计归一化后数组内点对距离在各区间中出现的次数,形成的特征向量为待检索铸件的d2算子;
15.n2算子的计算方法为:
16.随机在待检索铸件的三维模型上选取若干个面片对,计算每个面片对的两面片法向量夹角的余弦值,获得一个包含所有余弦值的数组;
17.设置统计区间,统计数组内夹角余弦值在各区间中出现的次数,形成的特征向量为待检索铸件的n2算子;
18.nan算子的计算方法为:
19.以面片邻接点为线索,找到每个三角形面片的所有邻接面片;
20.随机在待检索铸件的三维模型上选取若干个面片,计算每个面片与其邻接面片法向量夹角的余弦值;
21.对余弦值求平均,获取一个包含所有平均余弦值的数组;
22.设置统计区间,统计数组内夹角余弦值在各区间中出现的次数,形成的特征向量为待检索铸件的nan算子。
23.优选地,领域知识包括三维模型的mod算子、sym算子和env算子;
24.获取env算子的方法为:
25.通过遍历待检索铸件的三维模型所有三角形面片顶点,确定三维模型在笛卡尔坐标系下x、y和z轴上的最大值及最小值,得到待检索铸件三维模型沿坐标主轴方向上的包络尺寸;
26.通过计算包络尺寸的宽长比、宽高比和高长比组合得到三维特征向量,三维特征向量为env算子;
27.获取mod算子的方法为:
28.将待检索铸件的三角形面积之和作为待检索铸件三维模型的散热面积;
29.将待检索铸件三维模型的体积除以散热面积,获取mod算子;
30.获取sym算子的方法为:
31.比较待检索铸件的各面片的重心与坐标面的关系,将待检索铸件的三维模型分别沿yoz面、xoz面和xoy面进行分割;
32.计算沿各坐标面分割后三维模型两部分的表面积误差作为坐标面的对称度,依次计算三个坐标面的对称度形成三维模型的特征向量,特征向量为sym算子。
33.优选地,对待检索铸件的三维模型进行姿态归一化的方法,包括以下步骤:
34.利用三维建模软件对待检索铸件的三维模型文件进行解析读取;
35.利用软件中三维模型面片化功能,获取待检索铸件的三维模型的“三角形面片化”文件;
36.根据海伦公式,计算待检索铸件上所有三角形面片的面积;
37.根据中心坐标公式,计算待检索铸件的三维模型所有三角形面片的中心,进而计算待检索铸件三维模型的重心;
38.根据各三角形面片的重心以及待检索铸件三维模型的重心,计算待检索铸件三维模型的平移矩阵;
39.计算待检索铸件三维模型的所有三角形面片顶点的协方差矩阵,获取待检索铸件的旋转矩阵;
40.将平移矩阵和旋转矩阵作用于待检索铸件三维模型的各顶点,完成三维模型的姿态归一化。
41.优选地,nan算子的获取方法,包括以下步骤:
42.s4.1:根据海伦公式,计算待检索三维模型上所有三角形面片的面积,得到有序面积数组;
43.s4.2:以是否含有面片邻接点为条件,检索每个三角形面片的所有邻接面片,以“面片序号-邻接面片序号集合”创建key-value字典;
44.s4.3:通过查询key-value字典,找到待检索铸件三维模型所有三角形面片的所有邻接面片,计算各面片与其所有邻接面片的法向量的夹角余弦值并求平均,得到一个法矢夹角余弦值列表;
45.s4.4:利用随机数函数,在有序面积数组中生成若干个随机数,利用二分查找确定随机数在面积数组中的下标,确定若干个采样面片;查询s4.3中法矢夹角余弦值列表得到若干个采样面片的法矢夹角余弦值;
46.s4.5:确定统计区间的数量,从而确定每一个统计区间的范围,统计在各个区间范围内面片的法矢夹角余弦值出现的次数,得到相应的频数分布,除以采样个数后,以此作为三维模型的nan算子。
47.优选地,获取sym算子的方法,具体包括以下步骤:
48.根据重心坐标公式,重新计算姿态归一化后的待检索铸件三维模型所有三角形面片的重心;
49.根据各面片重心和坐标面的位置关系,将逐渐三维模型所有面片分割成两个部分,分别计算两部分面片的面积和;
50.根据两部分面片的面积和得到三维模型分割两部分的表面积误差,作为三维模型关于坐标面的对称度;
51.采用三个坐标面的对称度组合形成一个三维的特征向量,作为三维模型的sym算子;
52.其中,坐标面包括yoz面、xoz面和xoy面。
53.另一方面,一种多特征铸件三维模型检索装置,包括:
54.三维模型处理模块,用于获取待检索铸件的三维模型,并对其进行三角形面片化且姿态归一化处理;
55.特征提取模块,用于基于所述三角形面片化后的待检索铸件的三维模型,计算待检索铸件的形状特征和领域知识;其中,所述三角形面片化进行了姿态归一化处理;
56.模型筛选模块,用于计算待检索铸件的所述形状特征与模型库中各模型的相似度,在模型库中筛选出一定比例的模型;
57.且用于计算待检索铸件的所述领域知识与筛选出的模型的相似度,筛选出三维模型检索结果;
58.其中,所述领域知识包括待检索铸件的热节特征、对称面特征以及包络尺寸;所述形状特征包括待检索铸件的几何形状特征以及凹凸程度特征。
59.优选地,形状特征包括三维模型的d2算子、n2算子和nan算子;
60.特征提取模块包括形状特征提取单元和领域知识提取单元;形状特征提取单元包括d2算子计算器、n2算子计算器和nan算子计算器;
61.d2算子计算器用于获取d2算子,具体执行过程为:
62.随机在待检索铸件表面上选取若干个点对,并计算每个点对的两点之间的距离,获得一个包含所有点对距离的数组,将数组归一化;
63.设置统计区间,统计归一化后数组内点对距离在各区间中出现的次数,形成的特征向量为待检索铸件的d2算子;
64.n2算子计算器用于获取n2算子,具体执行过程为:
65.随机在待检索铸件的三维模型上选取若干个面片对,计算每个面片对的两面片法向量夹角的余弦值,获得一个包含所有余弦值的数组;
66.设置统计区间,统计数组内夹角余弦值在各区间中出现的次数,形成的特征向量为待检索铸件的n2算子;
67.nan算子计算器用于获取nan算子,具体执行过程为:
68.以面片邻接点为线索,找到每个三角形面片的所有邻接面片;
69.随机在待检索铸件的三维模型上选取若干个面片,计算每个面片与其邻接面片法向量夹角的余弦值;
70.对余弦值求平均,获取一个包含所有平均余弦值的数组;
71.设置统计区间,统计数组内夹角余弦值在各区间中出现的次数,形成的特征向量为待检索铸件的nan算子。
72.优选地,领域知识提取单元包括:mod算子计算器、sym算子计算器和env算子计算器;
73.mod算子计算器用于获取mod算子,具体执行过程为:
74.将待检索铸件的三角形面积之和作为待检索铸件三维模型的散热面积;
75.将待检索铸件三维模型的体积除以散热面积,获取mod算子;
76.sym算子计算器用于获取sym算子,具体执行过程为:
77.比较待检索铸件的各面片的重心与坐标面的关系,将待检索铸件的三维模型分别沿yoz面、xoz面和xoy面进行分割;
78.计算沿各坐标面分割后三维模型两部分的表面积误差,作为坐标面的对称度;
79.依次计算三个坐标面的对称度形成三维模型的特征向量,特征向量为sym算子;
80.env算子计算器用于获取env算子,具体执行过程为:
81.通过遍历待检索铸件的三维模型所有三角形面片顶点,确定三维模型在笛卡尔坐标系下x、y和z轴上的最大值及最小值,得到待检索铸件三维模型沿坐标主轴方向上的包络尺寸;
82.通过计算包络尺寸的宽长比、宽高比和高长比组合得到三维特征向量,三维特征向量为env算子。
83.优选地,三维模型处理模块包括:
84.文件解析单元,用于利用三维建模软件对待检索铸件的三维模型文件进行解析读取;
85.三角形面片化单元,用于利用软件中三维模型面片化功能,获取待检索铸件的三维模型的“三角形面片化”文件;
86.面积计算单元,用于根据海伦公式,计算待检索铸件上所有三角形面片的面积;
87.重心计算单元,用于根据中心坐标公式,计算待检索铸件的三维模型所有三角形面片的中心,进而计算待检索铸件三维模型的重心;
88.平移矩阵计算单元,用于根据各三角形面片的重心以及待检索铸件三维模型的重心,计算待检索铸件三维模型的平移矩阵;
89.旋转矩阵计算单元,用于计算待检索铸件三维模型的所有三角形面片顶点的协方差矩阵,获取待检索铸件的旋转矩阵;
90.姿态归一化单元,用于将平移矩阵和旋转矩阵作用于待检索铸件三维模型的各顶点,完成三维模型的姿态归一化。
91.总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
92.本发明针对铸造典型应用领域复杂铸件的“历史工艺复用”问题,提出了一种多特征铸件三维模型检索方法;通过d2算子、n2算子等形状分布算子提取三维模型的几何形状特征,同时创新地将结合铸造领域中工艺设计强相关的铸造模数、铸件对称面等工艺特征(即:基于三维模型计算待检索铸件的形状特征和领域知识)。实验结果表明该方法可有效地提取三维模型的几何形状(d2算子、n2算子)、凹凸程度(nan算子)、热节(mod算子)、对称面(sym算子)、包络尺寸(env算子)等信息。最终实现了在铸件受到平移、旋转等变化下,鲁棒地进行相似三维模型检索,同时由于实现了三维模型的检索,相比于二维模型的检索组建,在工艺设计方面缩短了周期。
93.本发明在进行d2算子、n2算子、nan算子、mod算子等特征组合时,采用了“逐级淘汰”的方式(先计算检索铸件的形状特征与模型库中各模型的相似度,筛选一定比例的模型;再使用领域知识筛选一次三维模型,最终获取检索结果),相较于传统的权重组合的方式,三维模型的检索效果更好,对于多领域铸件检索灵活程度更高。
附图说明
94.图1是本发明实施例提供的多特征铸件三维模型检索方法示意图;
95.图2是本发明实施例提供的待检索铸件三维模型;
96.图3(a)是本发明实施例提供的待检索铸件三维模型初始效果图;
97.图3(b)是本发明实施例提供的待检索铸件三维模型姿态归一化效果图;
98.图4是本发明实施例提供的待检索铸件三维模型的env算子提取流程示意图;
99.图5是本发明实施例提供的待检索铸件三维模型的sym算子提取流程示意图;
100.图6是本发明实施例提供的多领域多类别铸件模型测试集;
101.图7是本发明实施例提供的轨道交通领域铸件模型测试集;
102.图8是本发明实施例提供的工程机械领域铸件模型测试集;
103.图9是本发明实施例提供的流体领域铸件模型测试集。
具体实施方式
104.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
105.如图1所示,一方面,本发明提供了一种多特征铸件三维模型检索方法,包括以下步骤:
106.获取待检索铸件的三维模型,并对其进行三角形面片化且姿态归一化处理;
107.基于三角形面片化后待检索铸件的三维模型,计算待检索铸件的形状特征和领域知识;
108.计算待检索铸件的形状特征与模型库中各模型的相似度,在模型库中筛选出一定比例的模型;
109.计算待检索铸件的领域知识与筛选出的模型的相似度,筛选出三维模型检索结果;
110.其中,领域知识包括待检索铸件的热节特征、对称面特征以及包络尺寸;形状特征包括待检索铸件的几何形状特征以及凹凸程度特征。
111.优选地,形状特征包括三维模型的d2算子、n2算子和nan算子;
112.d2算子的计算方法为:
113.随机在待检索铸件表面上选取若干个点对,并计算每个点对的两点之间的距离,获得一个包含所有点对距离的数组,将数组归一化;
114.设置统计区间,统计归一化后数组内点对距离在各区间中出现的次数,形成的特征向量为待检索铸件的d2算子;
115.n2算子的计算方法为:
116.随机在待检索铸件的三维模型上选取若干个面片对,计算每个面片对的两面片法向量夹角的余弦值,获得一个包含所有余弦值的数组;
117.设置统计区间,统计数组内夹角余弦值在各区间中出现的次数,形成的特征向量为待检索铸件的n2算子;
118.nan算子的计算方法为:
119.以面片邻接点为线索,找到每个三角形面片的所有邻接面片;
120.随机在待检索铸件的三维模型上选取若干个面片,计算每个面片与其邻接面片法向量夹角的余弦值;
121.对余弦值求平均,获取一个包含所有平均余弦值的数组;
122.设置统计区间,统计数组内夹角余弦值在各区间中出现的次数,形成的特征向量为待检索铸件的nan算子。
123.优选地,领域知识包括三维模型的mod算子、sym算子和env算子;
124.获取env算子的方法为:
125.通过遍历待检索铸件的三维模型所有三角形面片顶点,确定三维模型在笛卡尔坐标系下x、y和z轴上的最大值及最小值,得到待检索铸件三维模型沿坐标主轴方向上的包络尺寸;
126.通过计算包络尺寸的宽长比、宽高比和高长比组合得到三维特征向量,三维特征
向量为env算子;
127.获取mod算子的方法为:
128.将待检索铸件的三角形面积之和作为待检索铸件三维模型的散热面积;
129.将待检索铸件三维模型的体积除以散热面积,获取mod算子;
130.获取sym算子的方法为:
131.比较待检索铸件的各面片的重心与坐标面的关系,将待检索铸件的三维模型分别沿yoz面、xoz面和xoy面进行分割;
132.计算沿各坐标面分割后三维模型两部分的表面积误差作为坐标面的对称度,依次计算三个坐标面的对称度形成三维模型的特征向量,特征向量为sym算子。
133.优选地,对待检索铸件的三维模型进行姿态归一化的方法,包括以下步骤:
134.利用三维建模软件对待检索铸件的三维模型文件进行解析读取;
135.利用软件中三维模型面片化功能,获取待检索铸件的三维模型的“三角形面片化”文件;
136.根据海伦公式,计算待检索铸件上所有三角形面片的面积;
137.根据中心坐标公式,计算待检索铸件的三维模型所有三角形面片的中心,进而计算待检索铸件三维模型的重心;
138.根据各三角形面片的重心以及待检索铸件三维模型的重心,计算待检索铸件三维模型的平移矩阵;
139.计算待检索铸件三维模型的所有三角形面片顶点的协方差矩阵,获取待检索铸件的旋转矩阵;
140.将平移矩阵和旋转矩阵作用于待检索铸件三维模型的各顶点,完成三维模型的姿态归一化。
141.优选地,nan算子的获取方法,包括以下步骤:
142.s4.1:根据海伦公式,计算待检索三维模型上所有三角形面片的面积,得到有序面积数组;
143.s4.2:以是否含有面片邻接点为条件,检索每个三角形面片的所有邻接面片,以“面片序号-邻接面片序号集合”创建key-value字典;
144.s4.3:通过查询key-value字典,找到待检索铸件三维模型所有三角形面片的所有邻接面片,计算各面片与其所有邻接面片的法向量的夹角余弦值并求平均,得到一个法矢夹角余弦值列表;
145.s4.4:利用随机数函数,在有序面积数组中生成若干个随机数,利用二分查找确定随机数在面积数组中的下标,确定若干个采样面片;查询s4.3中法矢夹角余弦值列表得到若干个采样面片的法矢夹角余弦值;
146.s4.5:确定统计区间的数量,从而确定每一个统计区间的范围,统计在各个区间范围内面片的法矢夹角余弦值出现的次数,得到相应的频数分布,除以采样个数后,以此作为三维模型的nan算子。
147.优选地,获取sym算子的方法,具体包括以下步骤:
148.根据重心坐标公式,重新计算姿态归一化后的待检索铸件三维模型所有三角形面片的重心;
149.根据各面片重心和坐标面的位置关系,将逐渐三维模型所有面片分割成两个部分,分别计算两部分面片的面积和;
150.根据两部分面片的面积和得到三维模型分割两部分的表面积误差,作为三维模型关于坐标面的对称度;
151.采用三个坐标面的对称度组合形成一个三维的特征向量,作为三维模型的sym算子;
152.其中,坐标面包括yoz面、xoz面和xoy面。
153.另一方面,一种多特征铸件三维模型检索装置,包括:
154.三维模型处理模块,用于获取待检索铸件的三维模型,并对其进行三角形面片化且姿态归一化处理;
155.特征提取模块,用于基于所述三角形面片化后的待检索铸件的三维模型,计算待检索铸件的形状特征和领域知识;其中,所述三角形面片化进行了姿态归一化处理;
156.模型筛选模块,用于计算待检索铸件的所述形状特征与模型库中各模型的相似度,在模型库中筛选出一定比例的模型;
157.且用于计算待检索铸件的所述领域知识与筛选出的模型的相似度,筛选出三维模型检索结果;
158.其中,所述领域知识包括待检索铸件的热节特征、对称面特征以及包络尺寸;所述形状特征包括待检索铸件的几何形状特征以及凹凸程度特征。
159.优选地,形状特征包括三维模型的d2算子、n2算子和nan算子;
160.特征提取模块包括形状特征提取单元和领域知识提取单元;形状特征提取单元包括d2算子计算器、n2算子计算器和nan算子计算器;
161.d2算子计算器用于获取d2算子,具体执行过程为:
162.随机在待检索铸件表面上选取若干个点对,并计算每个点对的两点之间的距离,获得一个包含所有点对距离的数组,将数组归一化;
163.设置统计区间,统计归一化后数组内点对距离在各区间中出现的次数,形成的特征向量为待检索铸件的d2算子;
164.n2算子计算器用于获取n2算子,具体执行过程为:
165.随机在待检索铸件的三维模型上选取若干个面片对,计算每个面片对的两面片法向量夹角的余弦值,获得一个包含所有余弦值的数组;
166.设置统计区间,统计数组内夹角余弦值在各区间中出现的次数,形成的特征向量为待检索铸件的n2算子;
167.nan算子计算器用于获取nan算子,具体执行过程为:
168.以面片邻接点为线索,找到每个三角形面片的所有邻接面片;
169.随机在待检索铸件的三维模型上选取若干个面片,计算每个面片与其邻接面片法向量夹角的余弦值;
170.对余弦值求平均,获取一个包含所有平均余弦值的数组;
171.设置统计区间,统计数组内夹角余弦值在各区间中出现的次数,形成的特征向量为待检索铸件的nan算子。
172.优选地,领域知识提取单元包括:mod算子计算器、sym算子计算器和env算子计算
器;
173.mod算子计算器用于获取mod算子,具体执行过程为:
174.将待检索铸件的三角形面积之和作为待检索铸件三维模型的散热面积;
175.将待检索铸件三维模型的体积除以散热面积,获取mod算子;
176.sym算子计算器用于获取sym算子,具体执行过程为:
177.比较待检索铸件的各面片的重心与坐标面的关系,将待检索铸件的三维模型分别沿yoz面、xoz面和xoy面进行分割;
178.计算沿各坐标面分割后三维模型两部分的表面积误差,作为坐标面的对称度;
179.依次计算三个坐标面的对称度形成三维模型的特征向量,特征向量为sym算子;
180.env算子计算器用于获取env算子,具体执行过程为:
181.通过遍历待检索铸件的三维模型所有三角形面片顶点,确定三维模型在笛卡尔坐标系下x、y和z轴上的最大值及最小值,得到待检索铸件三维模型沿坐标主轴方向上的包络尺寸;
182.通过计算包络尺寸的宽长比、宽高比和高长比组合得到三维特征向量,三维特征向量为env算子。
183.优选地,三维模型处理模块包括:
184.文件解析单元,用于利用三维建模软件对待检索铸件的三维模型文件进行解析读取;
185.三角形面片化单元,用于利用软件中三维模型面片化功能,获取待检索铸件的三维模型的“三角形面片化”文件;
186.面积计算单元,用于根据海伦公式,计算待检索铸件上所有三角形面片的面积;
187.重心计算单元,用于根据中心坐标公式,计算待检索铸件的三维模型所有三角形面片的中心,进而计算待检索铸件三维模型的重心;
188.平移矩阵计算单元,用于根据各三角形面片的重心以及待检索铸件三维模型的重心,计算待检索铸件三维模型的平移矩阵;
189.旋转矩阵计算单元,用于计算待检索铸件三维模型的所有三角形面片顶点的协方差矩阵,获取待检索铸件的旋转矩阵;
190.姿态归一化单元,用于将平移矩阵和旋转矩阵作用于待检索铸件三维模型的各顶点,完成三维模型的姿态归一化。
191.实施例
192.本实施例提供了一种多特征铸件的三维模型检索方法,其中,采用图2所示铸件三维模型作为待检索铸件进行说明,d2算子统计区间的数量为128;n2算子、nan算子统计区间的数量为180;d2算子统计区间的数量为127采样点(采样面片)的数目均为100000;包括以下步骤:
193.s1:获取各类铸件的三维模型,并对其进行三角形面片化;
194.将模型进行姿态归一化处理,主要包括:(1)将坐标系原点平移至三维模型重心处,实现三维模型平移不变性;(2)确定坐标系主轴,实现三维模型旋转不变性;具体如下:
195.s1.1:利用三维建模软件对铸件三维模型文件进行解析读取;
196.s1.2:利用软件中三维模型面片化功能得到铸件三维模型的“三角形面片化”文
件,并用stl文本文件进行保存;
197.具体地,利用三维建模软件实现铸件三维模型解析读取和三角形面片化后,使用列表数据结构分别储存模型面片的三维顶点坐标和三维法向量坐标,同时利用列表的下标对应三角形面片的序号;
198.s1.3:根据海伦公式,计算铸件三维模型上所有三角形面片的面积,存储在列表s[s1,s2,s3…
sn]中,海伦公式如下所示:
[0199]
p=(a+b+c)/2
[0200][0201]
s1.4:根据中心坐标公式,计算铸件三维模型所有三角形面片的重心,存在列表gm[g1[x1,y1,z1],g2[x2,y2,z2],
……
,gn[xn,yn,zn]],进而计算模型的重心,记为gm[g
xm
,g
ym
,g
zm
],则实现三维模型的平移不变性的平移矩阵记为m
t
;计算公式如下所示:
[0202][0203][0204][0205][0206]
s1.5:记三维模型所有三角形面片顶点集合为[[x
1o
,y
1o
,z
1o
],[x
2o
,y
2o
,z
2o
],
……
,[x
po
,y
po
,z
po
]],其中,p为三维模型的顶点总数;则顶点的协方差矩阵为m,实现三维模型旋转不变性的旋转矩阵mr由协方差矩阵m的三个单位化特征向量[ai,bi,ci]构成,特别地,将旋转矩阵中三个特征向量按特征值升序排列,计算公式如下:
[0207][0208][0209]
s1.6:将上述平移矩阵m
t
、旋转矩阵mr作用于三维模型的各顶点,即可得到姿态归一化后的三维模型的顶点坐标集合vertex,计算公式如下所示:
[0210][0211]
具体地,对于如图2所示的待检索铸件三维模型,图3(a)为待检索铸件在初始坐标系下的效果图;在通过平移矩阵、旋转矩阵作用后,姿态归一化的效果如图3(b)所示;
[0212]
s2:随机在铸件三维模型表面上选取若干个点对,并计算每个点对的两点之间的距离,获得一个包含所有点对距离的数组,将该数组归一化,设置统计区间,统计该数组内点对距离在各区间中出现的次数,形成一个特征向量,即铸件三维模型的d2算子,提取铸件三维模型所有顶点的整体几何距离分布信息;
[0213]
s3:随机在铸件三维模型上选取若干个面片对,计算每个面片对的两面片法向量夹角的余弦值,获得一个包含所有余弦值的数组,设置统计区间,统计该数组内夹角余弦值在各区间中出现的次数,形成一个特征向量,即铸件三维模型的n2算子,提取铸件三维模型所有面片的整体几何夹角分布信息;
[0214]
s4:以面片邻接点为线索,找出每个三角形面片的所有邻接面片;随机在铸件三维模型上选取若干个面片,计算每个面片与其邻接面片法向量夹角的余弦值并求平均,获得一个包含所有平均余弦值的数组,设置统计区间,统计该数组内平均余弦值在各区间中出现的次数,形成一个特征向量,即铸件三维模型的nan算子,提取铸件三维模型所有面片的局部的凹凸程度分布信息;具体包括以下步骤:
[0215]
s4.1:根据海伦公式,计算铸件三维模型上所有三角形面片的面积,存储在列表s[s1,s2,s3…
sn]中,进而根据列表s得到一个有序面积数组t[t1,t2,t3,
……
,tn],x=1,2,3,

,n;
[0216]
s4.2:以是否含有面片邻接点为条件,检索每个三角形面片的所有邻接面片,以“面片序号-邻接面片序号集合”创建key-value字典;
[0217]
s4.3:通过查询步骤s4.2中创建的key-value字典,找到三维模型所有三角形面片的所有邻接面片,计算各面片与其所有邻接面片的法向量的夹角余弦值并求平均,得到一个法矢夹角余弦值列表;
[0218]
s4.4:利用随机数函数,在0~tn之间生成若干个随机数,利用二分查找确定随机数在面积数组中的下标,确定若干个采样面片;查询s4.3中法矢夹角余弦值列表得到若干个采样面片的法矢夹角余弦值;
[0219]
s4.5:确定统计区间的数量,从而确定每一个统计区间的范围,统计在各个区间范围内面片的法矢夹角余弦值出现的次数,得到相应的频数分布,除以采样个数后,以此作为三维模型的nan算子;
[0220]
s5:计算铸件三维模型的体积v(cm3),将所有三角形面积之和作为三维模型的散热面积a(cm2),利用下式计算铸件三维模型的整体模数,以此作为三维模型的mod算子,提取铸件三维模型整体的壁厚大小分布信息,即热节信息;
[0221][0222]
s6:通过遍历姿态归一化后三维模型所有三角形面片顶点,确定模型顶点在x、y和z轴上的最大值及最小值,最终得到三维模型沿坐标系主轴方向上的包络尺寸;通过计算包
络尺寸的宽长比、宽高比和高长比组合得到一个三维的特征向量,即铸件三维模型的env算子,提取铸件三维模型整体的包络尺寸分布信息;方法提取流程如图4所示;具体包括以下步骤:
[0223]
s6.1:遍历铸件三维模型的所有顶点坐标,分别找到顶点在x、y和z三个方向上的最大值和最小值,可得到三维模型顶点在坐标系主轴的范围分布,将x轴方向分布大小作为铸件三维模型的宽度(width)、y轴方向分布大小作为铸件三维模型的高度(height)、z轴方向分布大小作为铸件三维模型的长度(length);
[0224]
s6.2:为了消除由于不同三维模型尺寸大小不同带来的影响,分别计算宽长比(width/length)、宽高比(width/height)、高长比(height/length)三个特征值组合成一个三维的特征向量,以此作为三维模型的env算子;
[0225]
s7:比较三维模型各面片的重心和坐标面的位置关系,将三维模型分别沿yoz面、xoz面和xoy面进行分割,计算分割后模型两部分的表面积误差作为该坐标面的对称度,依次计算三个坐标面的模型对称度形成三维的特征向量,即铸件三维模型的sym算子,提取铸件三维模型整体的对称面信息,方法提取流程如图5所示;具体步骤如下:
[0226]
s7.1:根据重心坐标公式,重新计算姿态归一化后的铸件三维模型所有三角形面片的重心g
ma
[g
1a
[x1,y1,z1],g
2a
[x2,y2,z2],
……
,g
na
[xn,yn,zn]];
[0227]
s7.2:首先,根据各面片重心和xoy坐标面的位置关系,将逐渐三维模型所有面片分割成两个部分,即面片重心z轴上的坐标值大于等于0,认为该面片位于坐标面之上;当坐标值小于0时,认为该面片位于坐标面之下,通过上述方法完成分割;然后,分别计算两部分面片的面积和areasuma、areasumb;然后通过下式即可得到三维模型分割两部分的表面积误差,作为三维模型关于xoy面的对称度;
[0228][0229]
s7.3:仿照s7.2的过程,依次计算三维模型关于yoz面、xoz面的对称度;
[0230]
s7.4:将s7.2和s7.3得到的三维模型关于xoy面、xoz面、yoz面的三个对称度组合形成一个三维的特征向量,以此作为三维模型的sym算子;
[0231]
s8:首先,依次计算d2算子下待检索模型与模型库中各模型的相似度,选取相似度较大的前25~30个模型进行下一轮特征筛选;然后,依次计算n2算子下待检索模型与上一轮各筛选模型的相似度,选取相似度较大的前20~25个模型;之后,依次通过nan、mod、sym等算子淘汰掉一定比例的模型;最后经过env算子进行第六次筛选后保留的5~8个模型即为提供工艺参考的检索模型;具体步骤如下:
[0232]
s8.1:依次计算d2算子下,待检索三维模型与模型库中所有模型的相似度,按照相似度大小检索出25~30个相似度大的三维模型,进入一轮模型特征淘汰;算子相似性度量如下:
[0233][0234]
其中,d为待检索模型由某一算子得到的特征向量d=[d1,d2,d3,

,di],i表示d的维度;dn为模型库中模型由相同算子得到的特征向量dn=[d1,d2,d3,

,di]n,n为第n个
模型;
[0235]
s8.2:依次计算n2算子下,待检索模型与s8.1中获得的25~30个三维模型的相似度,按照相似度大小检索除20~25个相似度大的三维模型,进行下一轮模型特征淘汰;
[0236]
s8.3:依次计算nan算子下,待检索模型与s8.2中获得的20~25个三维模型的相似度,按照相似度大小检索除15~20个相似度大的三维模型,进行下一轮模型特征淘汰;
[0237]
s8.4:依次计算mod算子下,待检索模型与s8.3获得的15~20个三维模型的相似度,按照相似度大小检索出10~15个相似度大的三维模型,进行下一轮模型特征淘汰;
[0238]
s8.5:依次计算sym算子下,待检索模型与s8.4获得的10~15个三维模型的相似度,按照相似度大小检索出5~8个相似度大的三维模型,进行下一轮模型特征淘汰;
[0239]
s8.6:依次计算env算子下,待检索模型与s8.5获得的8~12个三维模型的相似度,按照相似度大小检索出5~8个相似度大的三维模型,即为最终的三维模型检索结果。
[0240]
为了更好的体现本发明方法对铸钢件常见类别的分类能力,表1给出了图6、图7、图8和图9等铸造领域铸件模型测试集中本发明方法的检索效果;
[0241]
表1
[0242][0243]
本发明提出了一种结合形状特征与领域知识及逐级淘汰机制多特征铸件三维模型检索方法,在将模型“面片化”的基础上,提出了从形状特征、铸件领域知识两个维度提取三维模型的几何形状、凹凸程度、热节、对称面和包络尺寸等信息,实现三维模型的相似检索。该方法对于航空、航天、轨道交通、工程机械、流体机械等典型铸造应用领域具有很好的检索效果。
[0244]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1