一种受损零件模型生成方法、装置及系统与流程

文档序号:32004790发布日期:2022-11-02 12:42阅读:39来源:国知局
一种受损零件模型生成方法、装置及系统与流程

1.本技术涉及计算机技术领域,特别是涉及一种受损零件模型生成方法、装置及系统。


背景技术:

2.为保证设备的正常运行,需要挑选和确定出设备上的受损零件。而为了挑选和确定受损零件,目前常用的方法是,利用受损零件的模型训练深度学习模型,利用该深度学习模型识别受损零件的模型。但是,受损零件模型是通过人工扫描受损零件,或针对受损零件进行人工建模得到的,这使得受损零件模型的生成效率低,成本高。


技术实现要素:

3.本技术实施例的目的在于提供一种受损零件模型生成方法、装置及系统,以提高受损零件模型的生成效率,降低受损零件模型的生成成本。具体技术方案如下:
4.第一方面,本技术实施例提供了一种受损零件模型生成方法,所述方法包括:
5.获取完整零件的第一仿真模型;
6.将所述第一仿真模型进行体素化处理,得到第一体素模型;
7.去掉所述第一体素模型中的部分体素,得到第二体素模型;
8.对所述第二体素模型进行表面重建,得到第二仿真模型。
9.在一些实施例中,所述获取完整零件的第一仿真模型的步骤,包括:
10.获取完整零件的计算机辅助设计(computer aided design,cad)数据;
11.将所述cad数据转换为第一仿真模型。
12.在一些实施例中,所述将所述第一仿真模型进行体素化处理,得到第一体素模型的步骤,包括:
13.对所述第一仿真模型进行拓扑优化,得到第三仿真模型;
14.对所述第三仿真模型进行体素化处理,得到第一体素模型。
15.在一些实施例中,所述去掉所述第一体素模型中的部分体素,得到第二体素模型的步骤,包括:
16.确定所述第一体素模型中每个体素的相邻体素个数;
17.将相邻体素个数小于第一预设个数的体素作为边缘体素;
18.随机选取第二预设个数的边缘体素,并去掉所述第二预设个数的边缘体素,得到第二体素模型。
19.在一些实施例中,所述去掉所述第一体素模型中的部分体素,得到第二体素模型的步骤,包括:
20.将第三体素模型的体素与所述第一体素模型的部分体素重叠;
21.去掉所述第一体素模型中重叠的体素,得到第二体素模型。
22.在一些实施例中,在得到所述第二仿真模型之后,所述方法还包括:
23.对所述第二仿真模型进行物理仿真;
24.在物理仿真的过程中,判断所述第二仿真模型是否穿模;
25.若是,则调整所述第二仿真模型的位置,并继续对所述第二仿真模型进行物理仿真;
26.若否,则继续对所述第二仿真模型进行物理仿真,直至所述物理仿真结束。
27.在一些实施例中,在物理仿真结束之后,所述方法还包括:
28.对所述第二仿真模型进行渲染,得到渲染图;
29.对所述渲染图进行分割,得到所述第二仿真模型的分割图;
30.利用所述分割图,训练第一零件检测模型,所述第一零件检测模型用于检测所述完整零件对应的受损零件,或用于检测所述完整零件和所述受损零件。
31.在一些实施例中,在得到所述第二仿真模型之后,所述方法还包括:
32.利用所述第二仿真模型和所述第一仿真模型,训练第二零件检测模型,所述第二受损零件检测模型用于将所述完整零件对应的受损零件恢复为所述完整零件。
33.第二方面,本技术实施例提供了一种受损零件模型生成装置,所述方法包括:
34.获取模块,用于获取完整零件的第一仿真模型;
35.体素化模块,用于将所述第一仿真模型进行体素化处理,得到第一体素模型;
36.损伤模块,用于去掉所述第一体素模型中的部分体素,得到第二体素模型;
37.重建模块,用于对所述第二体素模型进行表面重建,得到第二仿真模型。
38.在一些实施例中,所述获取模块,具体用于:
39.获取完整零件的cad数据;
40.将所述cad数据转换为第一仿真模型。
41.在一些实施例中,所述体素化模块,具体用于:
42.对所述第一仿真模型进行拓扑优化,得到第三仿真模型;
43.对所述第三仿真模型进行体素化处理,得到第一体素模型。
44.在一些实施例中,所述损伤模块,具体用于:
45.确定所述第一体素模型中每个体素的相邻体素个数;
46.将相邻体素个数小于第一预设个数的体素作为边缘体素;
47.随机选取第二预设个数的边缘体素,并去掉所述第二预设个数的边缘体素,得到第二体素模型。
48.在一些实施例中,所述损伤模块,具体用于:
49.将第三体素模型的体素与所述第一体素模型的部分体素重叠;
50.去掉所述第一体素模型中重叠的体素,得到第二体素模型。
51.在一些实施例中,所述装置还包括:
52.仿真模块,用于在得到所述第二仿真模型之后,对所述第二仿真模型进行物理仿真;
53.处理模块,用于在物理仿真的过程中,判断所述第二仿真模型是否穿模;若是,则调整所述第二仿真模型的位置,并继续对所述第二仿真模型进行物理仿真;若否,则继续对所述第二仿真模型进行物理仿真,直至所述物理仿真结束。
54.在一些实施例中,所述装置还包括:
55.渲染模块,用于在物理仿真结束之后,对所述第二仿真模型进行渲染,得到渲染图;
56.分割模块,用于对所述渲染图进行分割,得到所述第二仿真模型的分割图;
57.第一训练模块,用于利用所述分割图,训练第一零件检测模型,所述第一零件检测模型用于检测所述完整零件对应的受损零件,或用于检测所述完整零件和所述受损零件。
58.在一些实施例中,所述装置还包括:
59.第二训练模块,用于利用所述第二仿真模型和所述第一仿真模型,训练第二零件检测模型,所述第二受损零件检测模型用于将所述完整零件对应的受损零件恢复为所述完整零件。
60.第三方面,本技术实施例提供了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
61.存储器,用于存放计算机程序;
62.处理器,用于执行存储器上所存放的程序时,实现任一所述的受损零件模型生成方法步骤。
63.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的受损零件模型生成方法步骤。
64.第五方面,本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的受损零件模型生成方法。
65.第六方面,本技术实施例提供了一种受损零件模型生成系统,包括传送带、相机和处理器;
66.所述传送带,用于传送完整零件;
67.所述相机,用于采集所述传送带传送的所述完整零件的图像;
68.所述处理器,用于根据所述图像,获取所述完整零件的第一仿真模型;将所述第一仿真模型进行体素化处理,得到第一体素模型;去掉所述第一体素模型中的部分体素,得到第二体素模型;对所述第二体素模型进行表面重建,得到第二仿真模型。
69.本技术实施例有益效果:
70.本技术实施例提供的技术方案中,将完整零件的仿真模型进行体素化处理,并随机去掉该体素化的仿真模型的部分体素,就可以生成任一受损状态的受损零件的仿真模型。可见,本技术实施例提供的技术方案中,只需要获取一个完整零件的仿真模型,就可以得到多种受损状态的受损零件的仿真模型,实现了自动化的生成损伤零件模型,无需人工扫描各种受损零件,也无需针对受损零件进行人工建立各种受损零件模型,提高受损零件模型的生成效率,降低受损零件模型的生成成本。
71.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
72.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
73.图1为本技术实施例提供的受损零件模型生成方法的第一种流程示意图;
74.图2为本技术实施例提供的受损零件模型生成方法的第二种流程示意图;
75.图3为本技术实施例提供的受损零件模型生成方法的第三种流程示意图;
76.图4为本技术实施例提供的受损零件模型生成方法的第四种流程示意图;
77.图5为本技术实施例提供的受损零件模型生成方法的第五种流程示意图;
78.图6为本技术实施例提供的受损零件模型生成方法的第六种流程示意图;
79.图7为本技术实施例提供的受损零件模型生成方法的第七种流程示意图;
80.图8(a)-图8(i)为本技术实施例提供的受损零件模型生成方法的零件示意图;
81.图9为本技术实施例提供的受损零件模型生成装置的一种结构示意图;
82.图10为本技术实施例提供的服务器的一种结构示意图;
83.图11为本技术实施例提供的受损零件模型生成系统的一种结构示意图。
具体实施方式
84.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。
85.下面对本技术实施例中出现的词语进行解释说明。
86.完整零件:零件表面不存在损伤的零件。
87.损伤零件:零件表面存在损伤的零件。
88.体素:体积元素的简称,包含体素的立体可以通过立体渲染或者提取给定阈值轮廓的多边形等值面表现出来。
89.仿真模型:研究仿真对象而制成的各种模型。仿真模型实际为三维模型。
90.目前,受损零件模型是通过人工扫描受损零件,或针对受损零件进行人工建模得到的,这使得受损零件模型的生成效率低,成本高。
91.为解决上述问题,本技术实施例提供了一种受损零件模型生成方法,该方法可以应用于智能相机处理器、计算机、服务器、服务器集群、云分析平台等。为便于描述,下面以服务器为执行主体进行说明,并不起限定作用。
92.该受损零件模型生成方法中,服务器将完整零件的仿真模型进行体素化处理,并随机去掉该体素化的仿真模型的部分体素,就可以生成任一受损状态的受损零件的仿真模型。可见,该受损零件模型生成方法中,只需要获取一个完整零件的仿真模型,就可以得到多种受损状态的受损零件的仿真模型,实现了自动化的生成损伤零件模型,无需人工扫描各种受损零件,也无需针对受损零件进行人工建立各种受损零件模型,提高受损零件模型的生成效率,降低受损零件模型的生成成本。
93.下面通过具体实施例,对本技术实施例提供的受损零件模型生成方法进行详细说明。
94.如图1所示,提供了受损零件模型生成方法的第一种流程示意图。该方法包括如下
步骤。
95.步骤s11,获取完整零件的第一仿真模型。
96.其中,第一仿真模型可以为任一完整零件的仿真模型。
97.本技术实施例中,服务器可以与一个数据库连接,该数据库用于存储各种完整零件的仿真模型。服务器从该数据库中获取完整零件的第一仿真模型。
98.服务器也可以与其他设备连接。其他设备获取完整零件的第一仿真模型,并将该第一仿真模型发送给服务器。
99.服务器还可以提供仿真软件。用户利用仿真软件,在服务器上绘制完整零件的仿真模型。用户绘制完成完整零件的仿真模型后,服务器获取到第一仿真模型。
100.服务器还可以通过其他方式获取完整零件的第一仿真模型,对此不进行限定。
101.步骤s12,将第一仿真模型进行体素化处理,得到第一体素模型。
102.在获取到完整零件的第一仿真模型之后,服务器将第一仿真模型进行体素化处理,体素化后的第一仿真模型即为第一体素模型。该第一体素模型由多个体素构成。
103.步骤s13,去掉第一体素模型中的部分体素,得到第二体素模型。
104.本技术实施例中,在获得由多个体素构成的第一体素模型之后,服务器可以随机确定第一体素模型中的部分体素,去掉第一体素模型中的这部分体素,并将去掉部分体素的第一体素模型作为第二体素模型。
105.本技术实施例中,服务器可以利用3d(三维)腐蚀算法、布尔操作或其他算子,去掉第一体素模型中的部分体素,对此不进行限定。
106.步骤s14,对第二体素模型进行表面重建,得到第二仿真模型。
107.在得到第二体素模型之后,服务器可以用泊松表面重建算法、或流体表面重建算法等重建算法,对第二体素模型进行表面重建,重建后的第二体素模型为第二仿真模型。
108.由于第二仿真模型为基于缺少了部分体素的第二体素模型得到,因此,第二仿真模型实际为表面损伤的仿真模型,即受损零件的3d模型。
109.本技术实施例提供的技术方案中,服务器将完整零件的仿真模型进行体素化处理,并去掉该体素化的仿真模型的部分体素,就可以生成任一受损状态的受损零件的仿真模型。可见,本技术实施例提供的技术方案中,只需要获取一个完整零件的仿真模型,就可以得到多种受损状态的受损零件的仿真模型,实现了自动化的生成损伤零件模型,无需人工扫描各种受损零件,也无需针对受损零件进行人工建立各种受损零件模型,提高受损零件模型的生成效率,降低受损零件模型的生成成本。
110.与上述受损零件模型生成方法对应,本技术实施例还提供了一种受损零件模型生成方法,如图2所示,该受损零件模型生成方法可以包括步骤s21-s25。步骤s23-s25与上述步骤s12-s14相同,此处不再赘述。
111.步骤s21,获取完整零件的cad数据。
112.本技术实施例中,服务器可以与一个数据库连接,该数据库用于存储各种完整零件的cad数据。服务器从该数据库中获取完整零件的cad数据。
113.服务器也可以与其他设备连接。其他设备获取完整零件的cad数据,并将该cad数据发送给服务器。
114.服务器还可以提供绘图软件。用户利用绘图软件,在服务器上绘制完整零件的cad
数据。用户绘制完成完整零件的cad数据后,服务器获取到cad数据。
115.服务器还可以通过其他方式获取完整零件的cad数据,对此不进行限定。
116.步骤s22,将cad数据转换为第一仿真模型。
117.本技术实施例中,在获得cad数据之后,服务器可对cad数据进行采样,将该cad数据转换为三角面数据,即第一仿真模型。
118.本技术实施例提供的技术方案中,服务器直接获取cad数据,通过对cad数据进行转换,得到用于获得受损零件模型第一仿真模型。构建cad数据的软件众多,且用户的学习生成较低,这利于服务器获取cad数据,提高了受损零件模型生成的效率。
119.另外,仿真软件一般不支持cad数据。本技术实施例提供的技术方案中,服务器将cad数据转换为第一仿真模型,第一仿真模型为仿真软件支持仿真数据。因此,本技术实施例提供的技术方案中,服务器将cad数据转换为第一仿真模型,可以有效提高受损零件模型生成方法的应用范围。
120.与上述受损零件模型生成方法对应,本技术实施例还提供了一种受损零件模型生成方法,如图3所示,该受损零件模型生成方法可以包括步骤s31-s35。步骤s31、s34-s35与上述步骤s11、s13-s14相同,此处不再赘述。
121.步骤s32,对第一仿真模型进行拓扑优化,得到第三仿真模型。
122.本技术实施例中,在获得第一仿真模型之后,服务器可以利用自动细化算法和自动拓扑优化算法,对第一仿真模型进行拓扑优化,优化后的第一仿真模型为第三仿真模型。
123.本技术实施例中,上述自动细化算法和自动拓扑优化算法可以包括但不限于三角面细化算法、边界优先算法(boundary first flattening,bff)参数化算法和基于缝隙的优化算法(seam aware,sa)算法等。
124.步骤s33,对第三仿真模型进行体素化处理,得到第一体素模型。
125.步骤s33中对第三仿真模型进行体素化处理与上述步骤s12中对第一仿真模型进行体素化处理相似,具体可参见上述步骤s12部分的描述。
126.第一仿真模型的精度可能比较低,如图2中,由cad数据转换得到的第一仿真模型,服务器对低精度的第一仿真模型进行渲染的效果较差。本技术实施例提供的技术方案中,服务器对第一仿真模型进行拓扑优化,可以提高仿真模型的精度,进而提高仿真模型的渲染效果。另外,服务器利用该较高精度的仿真模型,生成受损零件模型,可以提高受损零件模型的精度。
127.与上述受损零件模型生成方法对应,本技术实施例还提供了一种受损零件模型生成方法,如图4所示,该受损零件模型生成方法可以包括步骤s41-s46。步骤s41-s42、s46与上述步骤s11-s12、s14相同,此处不再赘述。
128.步骤s43,确定第一体素模型中每个体素的相邻体素个数。
129.本技术实施例中,两个体素相邻表示两个体素之间存在相接的点。针对第一体素模型中每个体素,服务器可以统计与该体素存在相接的点的体素,得到该体素的相邻体素个数。
130.步骤s44,将相邻体素个数小于第一预设个数的体素作为边缘体素。
131.其中,第一预设个数可以根据实际需求进行设定。例如,第一预设个数可以为5、6或8等。
132.针对第一体素模型中每个体素,服务器判断该体素的相邻体素个数是否小于第一预设个数。若该体素的相邻体素个数小于第一预设个数,则服务器将该体素作为边缘体素,执行步骤s45;若该体素的相邻体素个数大于等于第一预设个数,则服务器可确定该体素不是边缘体素。
133.步骤s45,随机选取第二预设个数的边缘体素,并去掉第二预设个数的边缘体素,得到第二体素模型。
134.其中,第二预设个数可以根据实际需求进行设定。例如,第二预设个数可以为20、30或40等。
135.在确定第一体素模型的边缘体素之后,服务器可以随机选取第二预设个数的边缘体素,并去掉这第二预设个数的边缘体素。去掉边缘体素后的第一体素模型为第二体素模型。
136.上述所选取的第二预设个数的边缘体素可以为相邻的多个边缘体素,也可以是非相邻的多个边缘体素。例如,第二预设个数为40,服务器选取第一体素模型左侧的25个边缘体素,选择第一体素模型右侧的15个边缘体素,共选取25+15=40个边缘体素。
137.上述步骤s43-步骤s45可以是一个反复迭代的过程,即在步骤s45中,服务器去掉第二个预设个数的边缘体素之后,返回执行步骤s43,重新确定去除了边缘体素区域中每个体素的相邻体素个数,以迭代去除边缘体素,直到迭代次数达到预设迭代次数。迭代去除边缘体素后的体素模型即为第二体素模型。这里,预设迭代次数可以根据实际需求进行设定,例如预设次数可以为1、3或5等,对此不进行限定。
138.本技术实施例提供的技术方案中,服务器可以通过边界腐蚀算法获得第二体素模型,即检测边缘体素,自动地完成边缘体素的去除工作,提高了受损零件模型生成的自动化程度,提高了受损零件模型生成的效率。
139.与上述受损零件模型生成方法对应,本技术实施例还提供了一种受损零件模型生成方法,如图5所示,该受损零件模型生成方法中可以包括步骤s51-s55。步骤s51-s52、s55与上述步骤s11-s12、s14相同,此处不再赘述。该方法可以应用于智能相机处理器、计算机、服务器、服务器集群、云分析平台等,在此不作限定。
140.步骤s53,将第三体素模型的体素与第一体素模型的部分体素重叠。
141.本技术实施例中,第三体素模型为由体素构成的任一三维体素模型。在确定第一体素模型的边缘体素之后,可以获取第三体素模型,并第三体素模型的体素与第一体素模型的部分体素重叠。这里的体素重叠表示:一个体素同时属于两个体素模型。
142.步骤s54,去掉第一体素模型中重叠的体素,得到第二体素模型。
143.在确定第三体素模型与第一体素模型重叠的体素之后,可以去掉第一体素模型中重叠的体素,该去掉重叠体素的第一体素模型即为第二体素模型。
144.本技术实施例提供的技术方案中,可以通过布尔操作获得第二体素模型,即检测第一体素模型与第三体素模型之间的重叠体素,去除重叠体素,来得到第二体素模型,提高了受损零件模型生成的自动化程度,提高了受损零件模型生成的效率。
145.在一些实施例中,服务器可以展示第一体素模型。用户基于服务器所展示的第一体素模型,选择待去掉的边缘体素。服务器在第一体素模型中,去掉用户所选择的边缘体素,得到第二体素模型。
146.本技术实施例中,服务器无需检测第一体素模型中的边缘体素,节约了服务器的计算资源。
147.与上述受损零件模型生成方法对应,本技术实施例还提供了一种受损零件模型生成方法,如图6所示,该受损零件模型生成方法可以包括步骤s61-s67。步骤s61-s64与上述步骤s11-s14相同,此处不再赘述。
148.步骤s65,对第二仿真模型进行物理仿真。
149.本技术实施例中,在得到第二仿真模型,可以利用第二仿真模型,进行物理仿真,以确定第二仿真模型的使用寿命、使用该第二仿真模型的工作效率等。
150.本技术实施例中,服务器利用利用低精度的仿真模型进行物理仿真,如上述利用步骤s22得到仿真模型所得到的第二仿真模型进行物理仿真,这可以在保证零件大致形状的同时,大大减少仿真数据的吞吐量,节省仿真时间。
151.步骤s66,在物理仿真的过程中,判断第二仿真模型是否穿模。若是,则执行步骤s67;若否,则继续执行步骤s65,直至物理仿真结束。
152.步骤s67,调整第二仿真模型的位置,并执行步骤s65,直至物理仿真结束。
153.本技术实施例中,穿模表示空间中的一点具有多种属性,例如,空间中的一点同时属于两个零件。
154.在物理仿真的过程中,可以判断第二仿真模型是否穿模。若第二仿真模型穿模,则说明第二仿真模型的当前位置是不合理的,当前物理仿真无效,执行步骤s67,调整第二仿真模型的位置;若第二仿真模型未穿模,则表明当前物理仿真有效,继续执行步骤s65,直至物理仿真结束。
155.本技术实施例中,可以采用位置的动力学(position based dynamics,pbd)算法,或其他算法,调整第二仿真模型的位置,对此不进行限定。
156.在一些实施例中,在物理仿真结束之后,可以利用光线追踪算法,或其他渲染算法,对第二仿真模型进行渲染,得到渲染图。本技术实施例提供的技术方案中,对第二仿真模型进行物理仿真,获得渲染图,便于进行后续处理,例如,训练深度学习模型等。
157.在一些实施例中,服务器可以对渲染图进行分割,得到第二仿真模型的分割图。由于整个渲染过程完全由服务器计算得到,所以服务器可以轻易得到对应的分割图。
158.本技术实施例中,为了提高模型分割效果和效率,服务器可以将得到多个受损零件模型在空间中堆叠放置,利用叠放的多个受损零件模型进行渲染,得到多个受损零件模型的渲染图,进而对多个受损零件模型的渲染图进行分割,得到每个受损零件模型的分割图。
159.另外,本技术实施例提供的技术方案中,服务器可以随机去掉部分体素,得到各种各样的受损零件模型,进而得到各种各样的受损零件模型的分割图,提高了受损零件图像的多样性。服务器利用这多样性的受损零件图像,训练深度学习模型,可以有效提高深度学习模型的精度。
160.本技术实施例中,在获得分割图后,服务器可以利用分割图,训练第一零件检测模型。第一零件检测模型可以用于检测完整零件对应的受损零件,第一零件检测模型也可以用于检测完整零件和受损零件。
161.例如,服务器将标注有零件类型的分割图输入第一零件检测模型,预测得到分割
图的零件类型,根据预测得到的零件类型和标注的零件类型,确定模型损失;基于模型损失确定第一零件检测模型是否收敛,若未收敛,则调整第一零件检测模型的参数,重新将标注有零件类型的分割图输入第一零件检测模型,预测得到分割图的零件类型;若收敛,则结束对第一零件检测模型的训练。
162.上述零件类型可以包括轴承、螺丝、螺母、挡板、定位销等,对此不进行限定。第一零件检测模型可以采用循环神经网络(recurrent neural network,rnn)、深度神经网络(deep neural networks,dnn)、卷积神经网络(convolutional neural networks,cnn)等神经网络实现。
163.上述训练好的第一零件检测模型可以应用于移动机器人、图像处理设备等设备上,用于进行零件检测,例如,从大量零件中挑选出受损零件,或者从大量零件中挑选出指定零件类型的受损零件和完整零件等。
164.在一些实施例中,在得到第二仿真模型之后,服务器可以利用第二仿真模型和第一仿真模型,训练第二零件检测模型,第二受损零件检测模型用于将完整零件对应的受损零件恢复为完整零件。
165.例如,服务器将第二仿真模型输入第二零件检测模型,预测得到完整零件的第三仿真模型,根据预测得到的第三仿真模型和第一仿真模型,确定模型损失;基于模型损失确定第二零件检测模型是否收敛,若未收敛,则调整第二零件检测模型的参数,重新将第二仿真模型输入第二零件检测模型,预测得到完整零件的第三仿真模型;若收敛,则结束对第二零件检测模型的训练。第二零件检测模型可以采用rnn、dnn、cnn等神经网络实现。
166.上述训练好的第二零件检测模型可以应用于移动机器人、图像处理设备等设备上,用于进行3d打印等场景,获得受损零件对应的完整零件。
167.本技术实施例中,服务器还可以将第二仿真模型应用于其他场景中,对此不进行限定。
168.下面结合图7所示的受损零件模型生成方法的流程图,以及图8(a)-(i)中的零件示意图,对本技术实施例提供的受损零件模型生成方法进行详细说明。
169.步骤s71,用户向服务器输入多个cad数据。如图8(a)所示的一个零件的cad数据的示意图。步骤s71的实现方式具体可参见步骤s21部分的相关描述。
170.步骤s72,服务器将多个cad数据转换为三角面数据,即第一仿真模型。如图8(b)所示的图8(a)的cad数据转换得到的三角面数据的示意图。步骤s72的实现方式具体可参见步骤s22部分的相关描述。
171.步骤s73,服务器对三角面数据进行三角面拓扑优化。如图8(c)所示的图8(b)的三角面数据的拓扑优化后的仿真模型的示意图。步骤s73的实现方式具体可参见步骤s32部分的相关描述。
172.步骤s74,服务器运行损伤算法,得到第二体素模型。该损伤算法即为去除边缘体素的算法。如图8(d)所示的图8(c)的仿真模型的体素化模型的示意图,如图8(e)所示的图8(d)的体素化模型去除部分边缘提取的示意图,以及如图8(f)所示的图8(e)的去除体素后的体素化模型的表面重建模型的示意图。具体去除边缘体素的流程可参见图4部分的相关描述。
173.步骤s75,服务器进行物理仿真。如图8(g)所示的堆叠多个受损零件模型的物理仿
真示意图。步骤s75的实现方式具体可参见步骤s65部分的相关描述。
174.步骤s76,服务器判断第二仿真模型是否穿模。若是,则调整第二仿真模型的位置,返回执行步骤s75;若否,则在物理仿真结束后,执行步骤s77。
175.步骤s77,服务器进行渲染,得到渲染图。如图8(h)所示的图8(g)物理仿真模型的渲染示意图。
176.服务器得到渲染图之后,可以对该渲染图进行分割,得到分割图,如图8(i)所示的图8(h)的渲染图的分割图。
177.步骤s76-s77的实现方式具体参见步骤s66-s67部分的相关描述。
178.与上述受损零件模型生成方法对应,本技术实施例还提供了一种受损零件模型生成装置,如图9所示,包括:
179.获取模块91,用于获取完整零件的第一仿真模型;
180.体素化模块92,用于将第一仿真模型进行体素化处理,得到第一体素模型;
181.损伤模块93,用于去掉第一体素模型中的部分体素,得到第二体素模型;
182.重建模块94,用于对第二体素模型进行表面重建,得到第二仿真模型。
183.在一些实施例中,获取模块91,具体可以用于:
184.获取完整零件的计cad数据;
185.将cad数据转换为第一仿真模型。
186.在一些实施例中,体素化模块92,具体可以用于:
187.对第一仿真模型进行拓扑优化,得到第三仿真模型;
188.对第三仿真模型进行体素化处理,得到第一体素模型。
189.在一些实施例中,损伤模块93,具体可以用于:
190.确定第一体素模型中每个体素的相邻体素个数;
191.将相邻体素个数小于第一预设个数的体素作为边缘体素;
192.随机选取第二预设个数的边缘体素,并去掉第二预设个数的边缘体素,得到第二体素模型。
193.在一些实施例中,损伤模块93,具体可以用于:
194.将第三体素模型的体素与第一体素模型的部分体素重叠;
195.去掉第一体素模型中重叠的体素,得到第二体素模型。
196.在一些实施例中,上述受损零件模型生成装置还可以包括:
197.仿真模块,用于在得到第二仿真模型之后,对第二仿真模型进行物理仿真;
198.处理模块,用于在物理仿真的过程中,判断第二仿真模型是否穿模;若是,则调整第二仿真模型的位置,并继续对第二仿真模型进行物理仿真;若否,则继续对第二仿真模型进行物理仿真,直至物理仿真结束。
199.在一些实施例中,上述受损零件模型生成装置还可以包括:
200.渲染模块,用于在物理仿真结束之后,对第二仿真模型进行渲染,得到渲染图;
201.分割模块,用于对渲染图进行分割,得到第二仿真模型的分割图;
202.第一训练模块,用于利用所述分割图,训练第一零件检测模型,第一零件检测模型用于检测完整零件对应的受损零件,或用于检测完整零件和受损零件。
203.在一些实施例中,上述受损零件模型生成装置还可以包括:
204.第二训练模块,用于利用第二仿真模型和所述第一仿真模型,训练第二零件检测模型,第二受损零件检测模型用于将完整零件对应的受损零件恢复为完整零件。
205.本技术实施例提供的技术方案中,服务器将完整零件的仿真模型进行体素化处理,并去掉该体素化的仿真模型的部分体素,就可以生成任一受损状态的受损零件的仿真模型。可见,本技术实施例提供的技术方案中,只需要获取一个完整零件的仿真模型,就可以得到多种受损状态的受损零件的仿真模型,实现了自动化的生成损伤零件模型,无需人工扫描各种受损零件,也无需针对受损零件进行人工建立各种受损零件模型,提高受损零件模型的生成效率,降低受损零件模型的生成成本。
206.本技术实施例还提供了一种服务器,如图10所示,包括处理器101、通信接口102、存储器103和通信总线104,其中,处理器101,通信接口102,存储器103通过通信总线104完成相互间的通信;
207.存储器103,用于存放计算机程序;
208.处理器101,用于执行存储器103上所存放的程序时,实现上述图1-7任一所述的受损零件模型生成方法步骤。
209.上述服务器提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
210.通信接口用于上述服务器与其他设备之间的通信。
211.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
212.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
213.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述图1-7任一所述的受损零件模型生成方法步骤。
214.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述图1-7任一所述的受损零件模型生成方法步骤。
215.在本技术提供的又一实施例中,还提供了一种受损零件模型生成系统,如图11所示,包括传送带111、相机112和处理器113;
216.传送带111,用于传送完整零件;
217.相机112,用于采集传送带111传送的完整零件的图像;
218.处理器113,用于根据相机112采集的图像,获取完整零件的第一仿真模型;将第一仿真模型进行体素化处理,得到第一体素模型;去掉第一体素模型中的部分体素,得到第二体素模型;对第二体素模型进行表面重建,得到第二仿真模型。
219.本技术实施例提供的技术方案中,处理器将完整零件的仿真模型进行体素化处理,并随机去掉该体素化的仿真模型的部分体素,就可以生成任一受损状态的受损零件的仿真模型。可见,本技术实施例提供的技术方案中,只需要获取一个完整零件的仿真模型,就可以得到多种受损状态的受损零件的仿真模型,实现了自动化的生成损伤零件模型,无需人工扫描各种受损零件,也无需针对受损零件进行人工建立各种受损零件模型,提高受损零件模型的生成效率,降低受损零件模型的生成成本。
220.本技术实施例中,在流水线工作中,完整零件置于传送带111上,被传送带111传送至目的位置,以进行后续处理。相机112采集固定区域的图像,当完整零件被传送带111传送至固定区域时,相机112可以采集该完整零件的图像,并将该图像发送给处理器113。处理器113在接收到相机112采集的完整零件的图像后,根据相机112采集的该图像,获取完整零件的第一仿真模型,进而将第一仿真模型进行体素化处理,得到第一体素模型;去掉第一体素模型中的部分体素,得到第二体素模型;对第二体素模型进行表面重建,得到第二仿真模型。
221.在一些实施例中,处理器113,具体可以用于:
222.获取完整零件的cad数据;将cad数据转换为第一仿真模型。
223.在一些实施例中,处理器113,具体可以用于:
224.对第一仿真模型进行拓扑优化,得到第三仿真模型;对第三仿真模型进行体素化处理,得到第一体素模型。
225.在一些实施例中,处理器113,具体可以用于:
226.确定第一体素模型中每个体素的相邻体素个数;将相邻体素个数小于第一预设个数的体素作为边缘体素;随机选取第二预设个数的边缘体素,并去掉第二预设个数的边缘体素,得到第二体素模型。
227.在一些实施例中,处理器113,具体可以用于:
228.将第三体素模型的体素与第一体素模型的部分体素重叠;去掉第一体素模型中重叠的体素,得到第二体素模型。
229.在一些实施例中,处理器113,还可以用于:
230.在得到第二仿真模型之后,对第二仿真模型进行物理仿真;在物理仿真的过程中,判断第二仿真模型是否穿模;若是,则调整第二仿真模型的位置,并继续对第二仿真模型进行物理仿真;若否,则继续对第二仿真模型进行物理仿真,直至物理仿真结束。
231.在一些实施例中,处理器113,还可以用于:
232.在物理仿真结束之后,对第二仿真模型进行渲染,得到渲染图;对渲染图进行分割,得到第二仿真模型的分割图;利用分割图,训练第一零件检测模型,第一零件检测模型用于检测完整零件对应的受损零件,或用于检测完整零件和受损零件。
233.在一些实施例中,处理器113,还可以用于:
234.在得到第二仿真模型之后,利用第二仿真模型和第一仿真模型,训练第二零件检测模型,第二受损零件检测模型用于将完整零件对应的受损零件恢复为完整零件。
235.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或
部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
236.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
237.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、服务器、存储介质、计算机程序产品和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
238.以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1