Deviation vector labeling method and system for powder bed fusion part deformation prediction
Patent Information
- Application Number
- CN202611015306.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-09
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2046-07-09
AI Technical Summary
[0003]然而,在实现相关技术的过程中,发现至少存在如下问题:由于激光粉末床熔融零件存在整体翘曲和各向异性收缩,导致配准结果易产生偏差,且支撑去除产生的切割痕迹与真实热变形难以区分,使得训练标签可靠性较低
[0018]根据本发明的实施例,通过利用材料类型对应的各向异性收缩系数构造多个候选变形形状并从中选取与三维点云配准误差最小的目标变形形状,减少了因零件整体翘曲和各向异性收缩而易陷入局部极值的问题,提高了初始配准的准确性。根据支撑结构信息生成支撑掩码并对该目标变形形状进行加权配准,在配准过程中降低支撑接触区域顶点的权重,抑制了支撑去除所产生的切割痕迹对配准结果的干扰。进而,分别确定非支撑接触区域的偏差向量,和对支撑接触区域基于非支撑接触区域的偏差向量进行插值修复,从而获得完整的逐顶点的偏差向量,既保留了非支撑接触区域的真实热变形数据,又合理推算了支撑接触区域本应发生的热变形,减少了因支撑去除污染而导致训练标签失真。最终输出顶点的偏差向量作为变形预测模型的标注标签,能够提升机器学习变形预测模型的训练效果和预测精度。
Smart Images

Figure CN122550883B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of additive manufacturing processes and machine learning technology, specifically to a deviation vector labeling method and system for predicting deformation of powder bed molten parts. Background Technology
[0002] Currently, the extraction of deformation data of laser powder bed molten parts mainly adopts the three-dimensional scanning and iterative nearest point registration method, which calculates the vertex-by-vertex deviation vector by aligning the scanned point cloud with the design model.
[0003] However, in the process of implementing the relevant technology, at least the following problems were found: due to the overall warping and anisotropic shrinkage of the laser powder bed molten parts, the registration results are prone to deviation, and the cutting marks produced by support removal are difficult to distinguish from the actual thermal deformation, resulting in low reliability of training labels. Summary of the Invention
[0004] In view of the above problems, the present invention provides a deviation vector annotation method and system for predicting the deformation of powder bed molten parts.
[0005] According to a first aspect of the present invention, a method for labeling deviation vectors for predicting deformation of powder bed molten metal parts is provided, comprising: acquiring a design model mesh of a target part, and a three-dimensional point cloud and printing metadata obtained after scanning the target part by powder bed molten metal printing; scaling the vertices of the design model mesh according to the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata to obtain multiple candidate deformation shapes, and determining the target deformation shape with the smallest registration error with the three-dimensional point cloud; generating a support mask according to the support structure information in the printing metadata to perform weighted registration on the scaling transformation corresponding to the target deformation shape to obtain a target registration transformation; determining the deviation vector between the vertices of the non-support contact area in the design model mesh and the corresponding points in the three-dimensional point cloud according to the target registration transformation; interpolating the vertices of the support contact area in the design model mesh based on the deviation vector of the vertices in the non-support contact area to obtain the deviation vector of the vertices in the support contact area; and using the deviation vector of each vertex as a label of the design model mesh for training a deformation prediction model.
[0006] According to an embodiment of the present invention, based on the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata, the vertices of the design model mesh are scaled and transformed to obtain multiple candidate deformation shapes. This includes: querying the corresponding anisotropic shrinkage coefficient from a preset database based on the material type, wherein the anisotropic shrinkage coefficient includes a printing direction shrinkage coefficient and a scanning plane shrinkage coefficient; taking multiple candidate values within their respective preset search ranges at preset step sizes, centered on the printing direction shrinkage coefficient and the scanning plane shrinkage coefficient; combining the candidate values of the printing direction shrinkage coefficient and the candidate values of the scanning plane shrinkage coefficient to obtain multiple sets of candidate parameters; and for each set of candidate parameters, scaling and transforming the axial coordinate components of each vertex of the design model mesh to obtain the candidate deformation shape corresponding to each set of candidate parameters.
[0007] According to an embodiment of the present invention, determining the target deformable shape with the smallest registration error with the three-dimensional point cloud includes: aligning each candidate deformable shape with the centroid of the three-dimensional point cloud to obtain a coarse rigid transformation corresponding to each candidate deformable shape; calculating the distance between the corresponding vertex and the nearest point for each candidate deformable shape under the coarse rigid transformation and the three-dimensional point cloud, and calculating the bidirectional root mean square distance based on the distance; selecting the candidate deformable shape with the smallest bidirectional root mean square distance as the target deformable shape with the smallest registration error with the three-dimensional point cloud.
[0008] According to an embodiment of the present invention, generating a support mask based on support structure information in the printed metadata includes: determining the nearest distance between each vertex in the design model mesh and the support mesh based on the support mesh in the support structure information, so as to mark vertices with a nearest distance less than a preset threshold as support contact vertices; performing a morphological expansion operation on the support contact vertices to include unmarked vertices adjacent to the support contact vertices into the support contact range, thereby obtaining a support mask covering the support cutting influence area.
[0009] According to an embodiment of the present invention, a weighted registration is performed on the scaling transformation corresponding to the target deformable shape to obtain the target registration transformation, including: using the scaling transformation corresponding to the target deformable shape as the initial transformation, performing iterative nearest-point registration on the design model mesh and the 3D point cloud to obtain a preliminary registration transformation; according to the support mask, resetting the registration weight of the vertices in the support contact region to a preset minimum value, and resetting the registration weight of the vertices in the non-support contact region to a preset reference value; using the preliminary registration transformation as the initial transformation and the registration weight as the point-to-point weight, performing weighted iterative nearest-point registration to obtain the target registration transformation.
[0010] According to an embodiment of the present invention, determining the deviation vector between vertices in the non-support contact area of the design model mesh and corresponding points in the three-dimensional point cloud based on the target registration transformation includes: updating the positions of the vertices of the design model mesh according to the target registration transformation to obtain the registered vertex positions; for each vertex in the non-support contact area, searching for the nearest point in the three-dimensional point cloud to calculate the vector from the registered vertex position to the nearest point as the vertex deviation vector.
[0011] According to an embodiment of the present invention, based on the deviation vector of the vertices in the non-support contact region, interpolation is performed on the vertices in the support contact region of the design model mesh to obtain the deviation vector of the vertices in the support contact region. This includes: for each vertex in the support contact region, obtaining the vertex in the non-support contact region that shares an edge with the vertex in the design model mesh as a constraint vertex, with the deviation vector of the constraint vertex remaining unchanged; establishing the mesh Laplace equation for the vertices in the support contact region, and performing harmonic interpolation with the deviation vector of the constraint vertex as the boundary condition to solve for the deviation vector of the vertices in the support contact region.
[0012] According to an embodiment of the present invention, using the deviation vector of each vertex as the label of the design model mesh includes: assigning different confidence weights to vertices in the support contact region and vertices in the non-support contact region according to the support mask, wherein the confidence weight of vertices in the support contact region is lower than that of vertices in the non-support contact region; and combining the deviation vector of each vertex with the corresponding confidence weight as the label of the design model mesh.
[0013] According to an embodiment of the present invention, before using the deviation vector of each vertex as the label of the design model mesh, the method further includes: for each vertex, determining multiple neighboring vertices within a preset radius centered on the vertex; calculating the spatial domain Gaussian kernel weight based on the spatial distance between the vertex and each neighboring vertex; calculating the value domain Gaussian kernel weight based on the difference in deviation vectors between the vertex and each neighboring vertex, wherein the value domain bandwidth used in calculating the value domain Gaussian kernel weight is adaptively adjusted according to the local average curvature at the vertex; and performing a weighted average of the deviation vectors of each neighboring vertex based on the spatial domain Gaussian kernel weight and the value domain Gaussian kernel weight to obtain a filtered deviation vector, thereby generating a label based on the filtered deviation vector.
[0014] A second aspect of the present invention provides a deviation vector annotation system for predicting deformation of powder bed molten parts. The system comprises: a data acquisition module for acquiring a design model mesh of the target part, and a three-dimensional point cloud and printing metadata obtained after scanning the target part via powder bed molten printing; a shape determination module for scaling the vertices of the design model mesh according to the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata to obtain multiple candidate deformation shapes, thereby determining the target deformation shape with the smallest registration error to the three-dimensional point cloud; a transformation determination module for generating a support mask based on the support structure information in the printing metadata, and performing weighted registration on the scaling transformation corresponding to the target deformation shape to obtain a target registration transformation; a first deviation determination module for determining the deviation vector between the vertices of the non-support contact area in the design model mesh and the corresponding points in the three-dimensional point cloud according to the target registration transformation; a second deviation determination module for interpolating the vertices of the support contact area in the design model mesh based on the deviation vector of the vertices in the non-support contact area to obtain the deviation vector of the vertices in the support contact area; and a label annotation module for using the deviation vector of each vertex as a label for the design model mesh to train the deformation prediction model.
[0015] A third aspect of the present invention provides an electronic device comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the method described above.
[0016] A fourth aspect of the present invention also provides a computer-readable storage medium having a computer program or instructions stored thereon, wherein the computer program or instructions, when executed by a processor, implement the steps of the above-described method.
[0017] A fifth aspect of the present invention also provides a computer program product, including a computer program or instructions that, when executed by a processor, implement the steps of the above-described method.
[0018] According to embodiments of the present invention, by constructing multiple candidate deformation shapes using the anisotropic shrinkage coefficient corresponding to the material type and selecting the target deformation shape with the smallest registration error with the 3D point cloud, the problem of easily getting trapped in local extrema due to overall warping and anisotropic shrinkage of the part is reduced, thus improving the accuracy of the initial registration. A support mask is generated based on the support structure information, and weighted registration is performed on the target deformation shape. During the registration process, the weight of the vertices in the support contact area is reduced, suppressing the interference of cutting marks caused by support removal on the registration result. Furthermore, the deviation vectors of the non-support contact areas are determined, and the deviation vectors of the support contact areas based on the non-support contact areas are interpolated and repaired to obtain complete vertex-by-vertex deviation vectors. This preserves the true thermal deformation data of the non-support contact areas and reasonably estimates the thermal deformation that should have occurred in the support contact areas, reducing the distortion of training labels caused by support removal contamination. Finally, the deviation vectors of the output vertices are used as the labeling labels of the deformation prediction model, which can improve the training effect and prediction accuracy of the machine learning deformation prediction model. Attached Figure Description
[0019] The above-mentioned contents, as well as other objects, features and advantages of the present invention, will become clearer from the following description of embodiments of the present invention with reference to the accompanying drawings.
[0020] Figure 1 The diagram illustrates an application scenario of a deviation vector annotation method and system for predicting deformation of powder bed molten parts according to an embodiment of the present invention.
[0021] Figure 2 A flowchart of a deviation vector annotation method for predicting deformation of powder bed molten parts according to an embodiment of the present invention is shown.
[0022] Figure 3 A flowchart for generating a support mask according to an embodiment of the present invention is shown.
[0023] Figure 4 A schematic diagram of the vertex set of a deviation vector annotation method for predicting deformation of powder bed molten parts according to an embodiment of the present invention is shown.
[0024] Figure 5 A structural block diagram of a deviation vector annotation system for predicting deformation of powder bed molten parts according to an embodiment of the present invention is shown.
[0025] Figure 6 A block diagram of an electronic device suitable for implementing a deviation vector annotation method for predicting deformation of powder bed molten parts according to an embodiment of the present invention is shown. Detailed Implementation
[0026] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the invention. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of the invention for ease of explanation. However, it will be apparent that one or more embodiments may be practiced without these specific details. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concept of the invention.
[0027] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0028] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0029] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).
[0030] In the technical solution of this invention, the data involved (including but not limited to data used for analysis, data stored, data displayed, etc.) are all information and data authorized by the user or fully authorized by all parties. The collection, storage, use, processing, transmission, provision, disclosure and application of related data all comply with relevant laws, regulations and standards, necessary confidentiality measures have been taken, and they do not violate public order and good morals. Corresponding operation entry points are provided for users to choose to authorize or refuse.
[0031] This invention provides a method for labeling deviation vectors in predicting deformation of powder bed molten metal parts. The method includes: acquiring a design model mesh of the target part, and a 3D point cloud and printing metadata obtained after scanning the target part via powder bed molten metal printing; scaling the vertices of the design model mesh according to the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata to obtain multiple candidate deformation shapes, and determining the target deformation shape with the smallest registration error to the 3D point cloud; generating a support mask based on the support structure information in the printing metadata to perform weighted registration on the scaling transformation corresponding to the target deformation shape, obtaining a target registration transformation; determining the deviation vector between the vertices of the non-support contact area in the design model mesh and the corresponding points in the 3D point cloud based on the target registration transformation; interpolating the vertices of the support contact area in the design model mesh based on the deviation vector of the vertices in the non-support contact area to obtain the deviation vector of the vertices in the support contact area; and using the deviation vector of each vertex as a label for the design model mesh to train a deformation prediction model.
[0032] Figure 1 The diagram illustrates an application scenario of a deviation vector annotation method and system for predicting deformation of powder bed molten parts according to an embodiment of the present invention.
[0033] like Figure 1 As shown, application scenario 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, and a server 105. Network 104 serves as a medium for providing a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. Network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.
[0034] Users can use the first terminal device 101, the second terminal device 102, and the third terminal device 103 to interact with the server 105 via the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social media platform software, etc. (for example only).
[0035] The first terminal device 101, the second terminal device 102, and the third terminal device 103 can be various electronic devices with displays and support web browsing, including but not limited to smartphones, tablets, laptops, and desktop computers.
[0036] Server 105 can be a server that provides various services, such as a backend management server that supports websites browsed by users using the first terminal device 101, the second terminal device 102, and the third terminal device 103 (this is just an example). The backend management server can analyze and process data such as received user requests, and feed back the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal devices.
[0037] It should be noted that the deviation vector annotation method for predicting deformation of powder bed molten parts provided in this embodiment of the invention can generally be executed by server 105. Correspondingly, the deviation vector annotation system for predicting deformation of powder bed molten parts provided in this embodiment of the invention can generally be set up in server 105. The deviation vector annotation method for predicting deformation of powder bed molten parts provided in this embodiment of the invention can also be executed by a server or server cluster that is different from server 105 and can communicate with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or server 105. Correspondingly, the deviation vector annotation system for predicting deformation of powder bed molten parts provided in this embodiment of the invention can also be set up in a server or server cluster that is different from server 105 and can communicate with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or server 105.
[0038] It should be understood that Figure 1 The number of first terminal devices, second terminal devices, third terminal devices, networks, and servers in the system is only a certain number. Depending on the implementation requirements, any number of first terminal devices, second terminal devices, third terminal devices, networks, and servers can be included.
[0039] The following will be based on Figure 1 The described scene, through Figures 2-4 The method for labeling deviation vectors for predicting deformation of powder bed molten parts according to embodiments of the invention is described in detail.
[0040] Figure 2 A flowchart of a deviation vector annotation method for predicting deformation of powder bed molten parts according to an embodiment of the present invention is shown.
[0041] like Figure 2 As shown, this embodiment includes operations S210 to S260.
[0042] During operation S210, the design model mesh of the target part is acquired, as well as the 3D point cloud and printing metadata obtained after the target part is scanned by powder bed fusion printing.
[0043] In operation S220, the vertices of the design model mesh are scaled and transformed according to the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata to obtain multiple candidate deformation shapes, from which the target deformation shape with the smallest registration error with the 3D point cloud is determined.
[0044] In operation S230, a support mask is generated based on the support structure information in the printed metadata, and a weighted registration is performed on the scaling transformation corresponding to the target deformation shape to obtain the target registration transformation.
[0045] In operation S240, based on the target registration transformation, the deviation vector between the vertices of the non-support contact area in the design model mesh and the corresponding points in the 3D point cloud is determined.
[0046] In operation S250, based on the deviation vector of the vertices in the non-supported contact region, the vertices in the supported contact region of the design model mesh are interpolated to obtain the deviation vector of the vertices in the supported contact region.
[0047] In operation S260, the deviation vector of each vertex is used as the label of the design model mesh for training the deformation prediction model.
[0048] According to an embodiment of the present invention, the design model mesh of the target part to be labeled, the three-dimensional point cloud obtained after the target part is laser powder bed fusion printing and scanning, and printing metadata including material type, support structure information, etc. are obtained.
[0049] Among them, design model mesh Export from the standard Computer-Aided Design (CAD) file of the part, where , Represents a set of vertices. This represents the three-dimensional coordinate vector of the i-th vertex in the design model mesh. Represents the set of real numbers. This represents the total number of vertices. This represents a set of triangular facets, serving as an ideal geometric reference and providing reference coordinates for calculating the vertex-by-vertex deviation vector.
[0050] 3D point cloud ,in Represents the number of point clouds. This represents the 3D coordinate vector of the j-th point in the 3D scanned point cloud. The 3D point cloud is obtained by scanning the printed target part after the supports have been removed using an industrial 3D scanner. Before scanning, the surface of the target part undergoes necessary pretreatment to remove obvious powder residue and abnormal adhering substances.
[0051] Printing metadata includes material type identifiers, printing orientation, and support structure information. The material type identifier is used to query the anisotropic shrinkage coefficient from a pre-defined database, providing a physically driven prior constraint for registration initialization. The printing orientation and support structure information are used to automatically locate the support contact area on the design model mesh, facilitating subsequent steps such as support mask generation, weighted registration verification, and interpolation repair. Furthermore, the topology of the design model mesh is also used for support contact area mask generation and neighborhood definition for adaptive bilateral filtering.
[0052] Based on the material type in the printing metadata, the shrinkage coefficient in the printing direction (usually the Z direction) and the shrinkage coefficient in the scanning plane (XY plane) corresponding to that material type are retrieved from a preset database. Since the shrinkage coefficient fluctuates around the nominal value during actual printing, multiple candidate values are sampled within a preset search range (e.g., ±0.5%) and a preset step size (e.g., 0.1%), centered on the shrinkage coefficient in the printing direction and the shrinkage coefficient in the scanning plane. These two values are then combined in pairs to form multiple sets of candidate parameters.
[0053] For each set of candidate parameters, the axial coordinate components of each vertex of the design model mesh are scaled and transformed to generate the corresponding candidate deformation shape. Each candidate deformation shape is centroid aligned with the 3D point cloud, i.e., the geometric centers of the two are calculated and translated until they coincide, resulting in a coarse rigid transformation. Under the coarse rigid transformation, the distance from each vertex of the candidate deformation shape to the nearest point in the 3D point cloud is calculated, and the bidirectional root mean square distance is further calculated. The candidate deformation shape with the smallest bidirectional root mean square distance is selected, and its corresponding coarse rigid transformation is used as the target deformation shape and the initial registration transformation.
[0054] A support mask is generated based on the support structure information in the printed metadata. Specifically, if the support structure information includes a support mesh file, that file is loaded directly; otherwise, a support mesh is automatically generated based on support structure parameters (such as support type, tooth shape, thickness, etc.). The nearest distance from each vertex in the design model mesh to all faces of the support mesh is calculated, and vertices with a nearest distance less than a preset threshold (e.g., 2 mm) are marked as support contact areas. To cover the neighborhood range that the cutting tool may affect during support removal, a morphological dilation operation is performed on the marking results, that is, the unmarked vertices adjacent to each support contact vertex are also included in the support contact area, finally obtaining the support mask.
[0055] Starting from the initial registration transformation corresponding to the obtained target deformed shape, standard iterative nearest-point registration is performed on the design model mesh and the 3D point cloud to obtain the preliminary registration transformation. Then, registration weights are assigned to each vertex according to the support mask. Specifically, the registration weights of vertices in the support contact area can be set to a preset minimum value close to zero (e.g., 0.01), while the registration weights of vertices in the non-support contact area can be set to a preset reference value (e.g., 1).
[0056] Using the initial registration transformation as the initial transformation and the aforementioned allocated registration weights as the weights for point pair matching, a weighted iterative nearest-point registration is re-executed to finally obtain the target registration transformation. In this way, points in the support contact area affected by cutting marks hardly participate in the optimization of the registration transformation, thus ensuring the accuracy of the registration results.
[0057] After obtaining the target registration transformation, it is applied to all vertices of the design model mesh to obtain the registered vertex positions. For each vertex in the non-support contact region, the point with the closest Euclidean distance is searched in the 3D point cloud, and the vector from the registered vertex to that nearest point is calculated as the deviation vector for that vertex. These deviation vectors represent the actual thermal deformation during printing (excluding cutting contamination).
[0058] For vertices in the support contact region, the nearest neighbor bias mentioned above cannot be directly used because this support contact region is contaminated by cutting marks. Therefore, a harmonic interpolation method based on the mesh Laplace operator is used to estimate its true thermal deformation bias. Specifically, in the design model mesh, for each vertex in the support contact region, all neighbor vertices sharing an edge with it are identified. The bias vectors of these neighbor vertices belonging to non-support contact regions are known and remain unchanged, serving as boundary constraints. Then, a Laplace equation is established for all vertices in the support contact region, requiring that the bias vector of each vertex in the support contact region equals the average bias vector of all its neighbor vertices. Solving the sparse linear equation system yields the interpolated bias vector of the vertices in the support contact region.
[0059] The deviation vectors of all vertices in the non-supported contact area and the supported contact area are combined to obtain a complete deviation vector field, which is used as a label for the target part to train the deformation prediction model, enabling it to directly predict printing deformation from the design model mesh.
[0060] By constructing multiple candidate deformation shapes using the anisotropic shrinkage coefficients corresponding to material types and selecting the target deformation shape with the smallest registration error with the 3D point cloud, the problem of easily getting trapped in local extrema due to overall part warping and anisotropic shrinkage is reduced, significantly improving the accuracy of the initial registration. A support mask is generated based on the support structure information, and weighted registration is performed on the target deformation shape. During the registration process, the weight of the vertices in the support contact area is reduced, suppressing the interference of cutting marks caused by support removal on the registration results. Furthermore, the deviation vectors of the non-support contact areas are determined separately, and the deviation vectors of the support contact areas based on the non-support contact areas are interpolated and repaired to obtain complete vertex-by-vertex deviation vectors. This preserves the true thermal deformation data of the non-support contact areas and reasonably estimates the thermal deformation that should occur in the support contact areas, reducing the distortion of training labels caused by support removal contamination. Finally, the vertex deviation vectors are output as the labeling labels of the deformation prediction model, which can improve the training effect and prediction accuracy of the machine learning deformation prediction model.
[0061] According to an embodiment of the present invention, based on the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata, the vertices of the design model mesh are scaled and transformed to obtain multiple candidate deformation shapes. This includes: querying the corresponding anisotropic shrinkage coefficient from a preset database based on the material type, wherein the anisotropic shrinkage coefficient includes a printing direction shrinkage coefficient and a scanning plane shrinkage coefficient; taking multiple candidate values within their respective preset search ranges at preset step sizes, centered on the printing direction shrinkage coefficient and the scanning plane shrinkage coefficient; combining the candidate values of the printing direction shrinkage coefficient and the candidate values of the scanning plane shrinkage coefficient to obtain multiple sets of candidate parameters; and for each set of candidate parameters, scaling and transforming the axial coordinate components of each vertex of the design model mesh to obtain the candidate deformation shape corresponding to each set of candidate parameters.
[0062] The target part undergoes layer-by-layer accumulated thermal stress and anisotropic cooling during the forming process, resulting in different thermal shrinkage properties in the printing direction (Z direction) and the scanning plane (XY plane). Multiple sets of candidate parameters are constructed, and the target deformation shape is selected from them to provide an accurate initial transformation for subsequent fine registration.
[0063] Based on the material type identifier, the anisotropic shrinkage coefficient of the corresponding material is retrieved from the preset database, including the shrinkage coefficient in the printing direction. and scanning plane shrinkage coefficient The pre-built database is established in advance through statistical measurements of standard test specimens and can be updated based on new measurement data.
[0064] Then, multiple sets of candidate parameters are constructed. Represent the i-th vertex on the design model mesh. The coordinate components in the X, Y, and Z axes represent the coordinates of each vertex of the design model mesh. Multiple candidate values are determined according to formula (1).
[0065] (1)
[0066] in, , , This represents the search radius, with a value of 0.005 and a step size of 0.001. Represents the i-th vertex in the design model mesh. Shrinkage coefficient in a given printing direction and scanning plane shrinkage coefficient Below, the candidate deformation positions after anisotropic scaling transformation.
[0067] Calculate all vertices sequentially according to formula (1), thereby constructing a candidate parameter set including multiple sets of candidate parameters. The candidate deformation shapes corresponding to each set of candidate parameters provide a basis for selecting the target deformation shape with the smallest registration error with the 3D point cloud.
[0068] By querying the anisotropic shrinkage coefficient of the material from a preset database and constructing multiple sets of candidate parameters for scaling transformation, the actual printing shrinkage fluctuations are covered, reducing the initialization deviation caused by a single nominal value.
[0069] According to an embodiment of the present invention, determining the target deformable shape with the smallest registration error with the three-dimensional point cloud includes: aligning each candidate deformable shape with the centroid of the three-dimensional point cloud to obtain a coarse rigid transformation corresponding to each candidate deformable shape; calculating the distance between the corresponding vertex and the nearest point for each candidate deformable shape under the coarse rigid transformation and the three-dimensional point cloud, and calculating the bidirectional root mean square distance based on the distance; selecting the candidate deformable shape with the smallest bidirectional root mean square distance as the target deformable shape with the smallest registration error with the three-dimensional point cloud.
[0070] For each candidate deformable shape, its centroid is aligned with the 3D point cloud. The geometric centers of all vertices of the candidate deformable shape and all points in the 3D point cloud are calculated. Then, a translation vector from the centroid of the candidate shape to the centroid of the 3D point cloud is calculated and applied to each vertex of the candidate shape, making their centroids coincide. After this operation, each candidate deformable shape corresponds to a coarse rigid transformation involving only translation, which makes the candidate deformable shape and the 3D point cloud approximately coincide in overall position.
[0071] For each candidate deformable shape after centroid alignment, calculate its bidirectional root mean square distance to the 3D point cloud. Specifically, for each vertex in the candidate deformable shape, search for the point in the 3D point cloud with the closest Euclidean distance, record this distance, sum the squares of the closest distances for all vertices, divide by the total number of vertices, and finally take the square root to obtain the root mean square distance from the design model mesh to the 3D point cloud. Secondly, for each point in the 3D point cloud, search for the point in the candidate deformable shape with the closest Euclidean distance, record the distance, and calculate its root mean square to obtain the root mean square distance from the 3D point cloud to the design model mesh. Adding or averaging these two root mean square distances yields the bidirectional root mean square distance between the candidate deformable shape and the 3D point cloud.
[0072] By comparing the bidirectional root mean square distance values of all candidate deformation shapes, the candidate deformation shape corresponding to the smallest value is selected as the target deformation shape with the smallest registration error with the 3D point cloud. Simultaneously, the coarse rigid transformation (i.e., the translation vector during centroid alignment) corresponding to this target deformation shape is also retained as the initial transformation for subsequent fine registration. In this way, the initial alignment state that best matches the overall shrinkage deformation of the actual printed part can be quickly found without complex iterative calculations.
[0073] By using centroid alignment and bidirectional root mean square distance scoring, the optimal initial transformation is selected from the candidate deformable shapes, effectively reducing the risk of iterative nearest-point registration getting trapped in local extrema.
[0074] According to an embodiment of the present invention, generating a support mask based on support structure information in the printed metadata includes: determining the nearest distance between each vertex in the design model mesh and the support mesh based on the support mesh in the support structure information, so as to mark vertices with a nearest distance less than a preset threshold as support contact vertices; performing a morphological expansion operation on the support contact vertices to include unmarked vertices adjacent to the support contact vertices into the support contact range, thereby obtaining a support mask covering the support cutting influence area.
[0075] The support mesh file is obtained based on the support structure information in the print metadata. The support mesh file describes the geometry of the support structure added during printing and is in the same coordinate system as the design model mesh. For each vertex in the design model mesh, the shortest Euclidean distance from that vertex to all faces of the support mesh is calculated. The vertices of the design model mesh are... Calculate vertices closest distance to the support grid .
[0076] when Less than the preset threshold When the vertex is marked as the support contact area, as shown in formula (2).
[0077] (2)
[0078] in, This represents the support mask for the i-th vertex on the design model mesh. The value is set to 2 mm to cover the area affected by the support cutting marks.
[0079] Because the cutting tool not only contacts the theoretical support interface during support removal but also damages or leaves marks on a small area of the surrounding surface, a morphological expansion operation is needed on the marked results. Specifically, for each vertex marked as a support contact, all unmarked vertices directly adjacent to it on the design model mesh (i.e., sharing an edge) are also marked as support contact vertices. This expansion operation is repeated once (i.e., one expansion), causing the support contact area to expand outward by one layer. In this way, the surface vertices originally adjacent to the support contact area are also included in the support mask, thus covering the entire range that the actual cutting operation may affect.
[0080] Finally, all the labeled vertices form a support mask, where a mask value of 1 indicates that the vertex belongs to the support contact region (including the dilated neighborhood), and a mask value of 0 indicates that it is not in the support contact region. This support mask will be used in subsequent weighted registration and bias vector interpolation repair steps.
[0081] In another embodiment, when the support mesh file is unavailable (in actual engineering, there is sometimes a disconnect between the printing process and the data management process, resulting in the support mesh file becoming unavailable), a ray casting method is used to generate a mask. For each vertex in the design model mesh... In the opposite direction of printing direction Emitting rays. If the ray is at a distance... Less than the preset distance If a vertex intersects with other facets of the model within its range, it is determined that the vertex is below the overhanging structure and requires support, and it is marked as the support contact area. The value is 5 millimeters.
[0082] Then, a morphological dilation operation is performed on the initial labeling results to expand the support contact region around the adjacent region on the mesh, thereby covering the influence of the cutting operation on the surrounding area and obtaining the final support mask vector. .
[0083] By using support mesh distance determination and morphological expansion, the influence area of support cutting can be automatically identified, which can effectively reduce the misidentification of post-processing traces as real thermal deformation.
[0084] Figure 3 A flowchart for generating a support mask according to an embodiment of the present invention is shown.
[0085] like Figure 3 As shown, this embodiment includes operations S301 to S308.
[0086] Using S301, obtain the 3D point cloud of the design model mesh, as well as the printing direction and support structure information.
[0087] In operation S302, determine whether the supporting mesh file is available. If yes, proceed to operation S303; otherwise, proceed to operation S305.
[0088] In operation S303, the nearest distance from the vertex to the support mesh is calculated using the geometric intersection method. In operation S304, areas with a nearest distance less than 2mm are marked as support contact areas; otherwise, they are marked as clean areas.
[0089] In operation S305, a ray is emitted in the reverse direction along the printing direction for each vertex on the design model. In operation S306, if the ray encounters another facet of the model within 5mm, the vertex is marked as a support contact area; otherwise, it is marked as a clean area.
[0090] In operation S307, a morphological expansion operation is performed to extend the support contact area around the neighborhood. In operation S308, a support mask is generated.
[0091] According to an embodiment of the present invention, a weighted registration is performed on the scaling transformation corresponding to the target deformable shape to obtain the target registration transformation, including: using the scaling transformation corresponding to the target deformable shape as the initial transformation, performing iterative nearest-point registration on the design model mesh and the 3D point cloud to obtain a preliminary registration transformation; according to the support mask, resetting the registration weight of the vertices in the support contact region to a preset minimum value, and resetting the registration weight of the vertices in the non-support contact region to a preset reference value; using the preliminary registration transformation as the initial transformation and the registration weight as the point-to-point weight, performing weighted iterative nearest-point registration to obtain the target registration transformation.
[0092] The scaling transformation corresponding to the defined target deformation shape is used as the initial transformation. Perform standard iterative nearest-point registration between the design model mesh and the 3D point cloud, setting the initial state of the iteration... , where k represents the iteration index in the iterative nearest point registration process.
[0093] Specifically, in the k-th iteration, the design model is transformed in the current transformation. Each vertex below, in a 3D point cloud Search for the homogeneous nearest neighbor in the middle, and define the correspondence as follows: Based on this, a corresponding set is established. .in, This represents the coordinate vector of the j-th point in a 3D point cloud. This represents the set of corresponding point pairs established between the vertices of the design model mesh and the nearest neighbors of the 3D point cloud. Represents the i-th vertex in the design model mesh. In the current transformation Below, the coordinate vector of the nearest neighbor point found in the 3D point cloud P.
[0094] According to the corresponding set Solve for the minimum rigid transformation (rotation and translation) that minimizes the sum of squared distances between point pairs to obtain the transformation increment. Update the initial transformation. Repeat the above process until convergence or the maximum number of iterations is reached, in subsequent steps... All refer to the vertex The nearest neighbor in the 3D point cloud is used to output the preliminary registration transformation after iterative convergence.
[0095] Based on the generated support mask, registration weights are assigned to each vertex. Specifically, for each vertex of the design model mesh... According to the support mask Assign registration weights, as shown in formula (3).
[0096] (3)
[0097] in, Indicates the registration weights. Set the registration weights of the vertices marked as support contact regions in the support mask to a preset minimum value (e.g., 0.01) so that these vertices contribute almost no error in subsequent registration processes. Set the registration weights of the vertices in non-support contact regions to a preset baseline value (e.g., 1) so that they participate normally in registration optimization.
[0098] Using the aforementioned preliminary registration transformation as the initial transformation and the allocated registration weights as the weights for corresponding point pairs, weighted iterative nearest-point registration is performed. The difference between weighted iterative nearest-point registration and standard registration is that, when solving for the optimal rigid transformation, the error of each corresponding point pair is multiplied by the weight corresponding to that point pair (i.e., the weight of the model vertices, since the model vertices determine the weights in the point pair), thus suppressing the contribution of point pairs with low weights to the optimization objective.
[0099] After multiple iterations and convergence, the impact of cutting marks in the support contact area on the obtained target registration transformation is significantly reduced, thus more accurately reflecting the true pose of the entire part. By employing a two-step strategy of standard registration followed by weighted registration, contamination in the support contact area is eliminated after initial alignment, effectively improving registration accuracy.
[0100] According to an embodiment of the present invention, determining the deviation vector between vertices in the non-support contact area of the design model mesh and corresponding points in the three-dimensional point cloud based on the target registration transformation includes: updating the positions of the vertices of the design model mesh according to the target registration transformation to obtain the registered vertex positions; for each vertex in the non-support contact area, searching for the nearest point in the three-dimensional point cloud to calculate the vector from the registered vertex position to the nearest point as the vertex deviation vector.
[0101] Target registration transformation As an initial transformation, to register weights For point-to-point weights, perform weighted iterative nearest point registration, where the weighted objective function is shown in formula (4).
[0102] (4)
[0103] Where N represents the total number of vertices in the design model mesh, and T represents the rigid transformation matrix to be solved, which typically includes rotation and translation components. Represents vertices In 3D point cloud The nearest point in This indicates the final registration transformation.
[0104] The final registration transformation is obtained through the weighted least squares problem described above. The design model mesh vertex set is updated as follows, specifically, the registered position of each vertex is... Then all vertices constitute the registered vertex set. .
[0105] All vertices are processed in two categories, and the output is a complete bias vector field covering all vertices. After completing the final registration transformation, the vertices in the non-support contact region ( ), for final registration transformation Vertex position after registration Based on the benchmark, in the three-dimensional point cloud Search for its nearest neighbor in the middle, and define the correspondence as follows: Then, the vertex-by-vertex deviation vector is calculated using formula (5).
[0106] (5)
[0107] in, This represents the deviation vector at the vertices of the non-supported contact region. The direction is a vector from the vertex position of the registered design model mesh to the corresponding point in the 3D point cloud, and its magnitude is the actual deformation at that vertex. The true thermal deformation deviation vector of the vertices in the non-support contact area is directly calculated through post-registration position updates and nearest-point search.
[0108] According to an embodiment of the present invention, based on the deviation vector of the vertices in the non-support contact region, interpolation is performed on the vertices in the support contact region of the design model mesh to obtain the deviation vector of the vertices in the support contact region. This includes: for each vertex in the support contact region, obtaining the vertex in the non-support contact region that shares an edge with the vertex in the design model mesh as a constraint vertex, with the deviation vector of the constraint vertex remaining unchanged; establishing the mesh Laplace equation for the vertices in the support contact region, and performing harmonic interpolation with the deviation vector of the constraint vertex as the boundary condition to solve for the deviation vector of the vertices in the support contact region.
[0109] For the apex of the support contact area ( The corresponding points in the 3D point cloud are affected by the cutting marks, so the reliable deviation vector cannot be calculated directly. It is necessary to use the deviation vector of the vertices in the neighboring non-support contact area for interpolation estimation. The interpolation method based on the grid Laplacian operator is adopted, and the vertices in the support contact area are substituted into formula (6) for solution.
[0110] (6)
[0111] in, Represents the relationship between vertices on the design model mesh. The set of vertices of a ring that are directly adjacent to each other.
[0112] The constraint condition of the system of equations is that the deviation vector at the vertices of the non-supported contact region remains unchanged. Represents vertices The deviation vector. (That is, the summation object in the formula is...) Neighbors in the first ring There are two scenarios for neighbors: if the neighbor is a non-support contact area (…). ), If it is a known fixed value, then directly substitute it into the formula to become a constant term on the right side of the equation. If the neighbor is a support contact area ( ), If it is an unknown quantity, then it is related to... (Participate in the simultaneous solution.)
[0113] Figure 4 A schematic diagram of the vertex set of a deviation vector annotation method for predicting deformation of powder bed molten parts according to an embodiment of the present invention is shown.
[0114] like Figure 4 As shown, 410 represents the target vertex (i.e., the vertex currently being processed) on the design model mesh, and 420 represents a ring of neighboring vertices directly connected to the target vertex via a shared edge. These neighboring vertices share a mesh edge with the target vertex, forming a local topological adjacency relationship for the target vertex, which is used for subsequent deviation vector interpolation calculations.
[0115] The above equations are equivalent to performing harmonic interpolation on the deviation vector within the support contact region on the design model mesh, ensuring a smooth transition between the interpolated result and the actual thermal deformation deviation vector in the neighborhood. Solving the above sparse linear equations yields the deviation vector for the repair of the support contact region vertices. .
[0116] After the repair is completed, all vertices are uniformly defined. Specifically, the deviation vector is shown in formula (7).
[0117] (7)
[0118] in, This represents the deviation vector field, which includes the deviation vectors of the vertices of the supporting contact region and the deviation vectors of the vertices of the non-supporting contact region.
[0119] By using the grid Laplace equation and harmonic interpolation, the deviation vector of the support contact area is repaired using the real deformation constraint of the neighborhood, thus ensuring the continuity and smoothness of the deviation field.
[0120] According to an embodiment of the present invention, before using the deviation vector of each vertex as the label of the design model mesh, the method further includes: for each vertex, determining multiple neighboring vertices within a preset radius centered on the vertex; calculating the spatial domain Gaussian kernel weight based on the spatial distance between the vertex and each neighboring vertex; calculating the value domain Gaussian kernel weight based on the difference in deviation vectors between the vertex and each neighboring vertex, wherein the value domain bandwidth used in calculating the value domain Gaussian kernel weight is adaptively adjusted according to the local average curvature at the vertex; and performing a weighted average of the deviation vectors of each neighboring vertex based on the spatial domain Gaussian kernel weight and the value domain Gaussian kernel weight to obtain a filtered deviation vector, thereby generating a label based on the filtered deviation vector.
[0121] Because of measurement noise in 3D point clouds, the directly calculated bias vector field contains high-frequency noise components. Standard low-pass filtering smooths the true deformation gradient, leading to distortion of the bias vector in areas of concentrated deformation (such as cantilever ends and thin-walled structures). Therefore, an adaptive bilateral filter can be used, adjusting the filter strength according to local curvature to remove noise while preserving the true deformation gradient. Specifically, for vertices... The filtered deviation vector is shown in formula (8).
[0122] (8)
[0123] in, , indicating that Centered on, with radius The set of neighboring vertices, The value is 2 millimeters; Represents the Gaussian kernel in the spatial domain. Among them, spatial domain bandwidth The value is fixed at 1 millimeter; Indicates the Gaussian kernel of the range. Among them, the value range bandwidth According to the vertex Local mean curvature at Adaptive adjustment, specifically, ,in, This represents the reference bandwidth, with a value of 0.1 mm. This represents the curvature sensitivity coefficient, with a value of 2. This represents the three-dimensional coordinate vector of the i-th vertex in the design model mesh.
[0124] By using adaptive bilateral filtering, the filtering intensity is dynamically adjusted according to the local curvature, which can automatically narrow the bandwidth of the value range in high curvature regions (i.e. regions with large actual deformation gradients), effectively reducing cross-gradient smoothing and thus preserving the details of the deviation vector in the deformation-concentrated region.
[0125] According to an embodiment of the present invention, using the deviation vector of each vertex as the label of the design model mesh includes: assigning different confidence weights to vertices in the support contact region and vertices in the non-support contact region according to the support mask, wherein the confidence weight of vertices in the support contact region is lower than that of vertices in the non-support contact region; and combining the deviation vector of each vertex with the corresponding confidence weight as the label of the design model mesh.
[0126] After processing the target part, the deviation vector field will be obtained. However, because the quality of all data cannot be guaranteed to be uniform—some parts are accurately registered, some have large areas of contaminated support, and some interpolation regions have obvious boundary seams—if all samples are sent indiscriminately to train the deformation prediction model, the poor-quality samples will skew the model. Therefore, each sample needs to be objectively scored. Used for subsequent training set selection.
[0127] Specifically, we can define three quality indicators. First, we define the registration residual. The registration residual is the final registration transformation. The weighted root mean square distance of the vertices of the non-supported contact area is calculated as shown in formula (9).
[0128] (9)
[0129] in, Represents the vertices after registration The nearest point in the 3D point cloud P.
[0130] Secondly, define the supporting pollution ratio The support contamination ratio is the proportion of the number of vertices in the support contact area to the total number of vertices. The specific calculation method is shown in formula (10).
[0131] (10)
[0132] Where N represents the total number of vertices in the design model mesh, This represents the sum of the support masks for all vertices.
[0133] Next, define interpolation continuity. The interpolation continuity is the average gradient jump variable of the deviation vector at the boundary between the support contact area and the non-support contact area, and the specific calculation method is shown in formula (11).
[0134] (11)
[0135] in, This represents the set of cross-edge vertex pairs at the boundary of the support mask.
[0136] Based on the above three indicators, the sample quality score Q is calculated, and the specific calculation method is shown in formula (12).
[0137] (12)
[0138] in, This represents the allowable threshold for registration residuals, used to determine whether the registration error is within an acceptable range. The allowable threshold representing interpolation continuity is used to determine whether the transition between the interpolation result in the support contact area and the neighboring non-support area is smooth. millimeters millimeters, weight , , The sum of the three weights is 1. The range of values is , A higher value indicates better sample labeling quality. The final output is a vertex-by-vertex bias vector field with confidence weights. Confidence weight The definition is shown in formula (13).
[0139] (13)
[0140] in, The value is set to 0.01, which makes the confidence weight of the vertices in the support contact area significantly lower than that of the vertices in the non-support contact area. Value below threshold It is recommended to remove certain samples from the training set.
[0141] During training, the loss function for each vertex can be directly weighted using the confidence level. Vertices with high confidence levels have higher loss weights, while vertices with low confidence levels have lower loss weights, requiring no further processing. By assigning differentiated confidence weights to different regions, the labels of support contact regions are weighted less during the training phase, reducing the likelihood of the model learning erroneous patterns.
[0142] Based on the aforementioned deviation vector annotation method for predicting deformation of powder bed molten parts, this invention also provides a deviation vector annotation system for predicting deformation of powder bed molten parts. The following will combine... Figure 5 The system is described in detail.
[0143] Figure 5 A structural block diagram of a deviation vector annotation system for predicting deformation of powder bed molten parts according to an embodiment of the present invention is shown.
[0144] like Figure 5 As shown, the deviation vector labeling system 500 for predicting deformation of powder bed molten parts in this embodiment includes a data acquisition module 510, a shape determination module 520, a transformation determination module 530, a first deviation determination module 540, a second deviation determination module 550, and a labeling module 560.
[0145] The data acquisition module 510 is used to acquire the design model mesh of the target part, as well as the three-dimensional point cloud and printing metadata obtained after the target part is scanned by powder bed fusion printing.
[0146] The shape determination module 520 is used to scale and transform the vertices of the design model mesh according to the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata, to obtain multiple candidate deformation shapes, and to determine the target deformation shape with the smallest registration error with the 3D point cloud.
[0147] The transformation determination module 530 is used to generate a support mask based on the support structure information in the printed metadata, and to perform weighted registration on the scaling transformation corresponding to the target deformation shape to obtain the target registration transformation.
[0148] The first deviation determination module 540 is used to determine the deviation vector between the vertices of the non-support contact area in the design model mesh and the corresponding points in the three-dimensional point cloud, based on the target registration transformation.
[0149] The second deviation determination module 550 is used to interpolate the vertices of the support contact region in the design model mesh based on the deviation vector of the vertices in the non-support contact region, so as to obtain the deviation vector of the vertices in the support contact region.
[0150] The labeling module 560 is used to use the deviation vector of each vertex as the label of the design model mesh for training the deformation prediction model.
[0151] According to an embodiment of the present invention, the shape determination module 520 includes a coefficient query submodule, a candidate determination submodule, a parameter determination submodule, and a scaling transformation submodule.
[0152] The coefficient query submodule is used to query the corresponding anisotropic shrinkage coefficient from a preset database based on the material type. The anisotropic shrinkage coefficient includes the shrinkage coefficient in the printing direction and the shrinkage coefficient in the scanning plane.
[0153] The candidate determination submodule is used to select multiple candidate values within their respective preset search ranges and at preset step sizes, centered on the printing direction shrinkage coefficient and the scanning plane shrinkage coefficient.
[0154] The parameter determination submodule is used to combine the candidate values of the shrinkage coefficient in the printing direction with the candidate values of the shrinkage coefficient in the scanning plane to obtain multiple sets of candidate parameters.
[0155] The scaling transformation submodule is used to scale the axial coordinate components of each vertex of the design model mesh for each set of candidate parameters, so as to obtain the candidate deformation shape corresponding to each set of candidate parameters.
[0156] According to an embodiment of the present invention, the shape determination module 520 further includes a centroid alignment submodule, a distance calculation submodule, and a target determination submodule.
[0157] The centroid alignment submodule is used to align the centroids of each candidate deformable shape with the 3D point cloud to obtain the coarse rigid transformation corresponding to each candidate deformable shape.
[0158] The distance calculation submodule is used to calculate the distance between the corresponding vertex and the nearest point for each candidate deformable shape and 3D point cloud under each coarse rigid transformation, and to calculate the bidirectional root mean square distance based on the distance.
[0159] The target determination submodule is used to select the candidate deformation shape with the smallest bidirectional root mean square distance as the target deformation shape with the smallest registration error with the 3D point cloud.
[0160] According to an embodiment of the present invention, the transformation determination module 530 includes a vertex marking submodule and a vertex dilation submodule.
[0161] The vertex marking submodule is used to determine the nearest distance between each vertex in the design model mesh and the support mesh based on the support mesh in the support structure information, so as to mark vertices whose nearest distance is less than a preset threshold as support contact vertices.
[0162] The vertex expansion submodule is used to perform morphological expansion operations on the support contact vertices to include unmarked vertices adjacent to the support contact vertices into the support contact range, thereby obtaining a support mask that covers the support cutting influence area.
[0163] According to an embodiment of the present invention, the transformation determination module 530 further includes a preliminary registration submodule, a weight configuration submodule, and a target registration submodule.
[0164] The preliminary registration submodule is used to perform iterative nearest-point registration on the design model mesh and the 3D point cloud, using the scaling transformation corresponding to the target deformation shape as the initial transformation, to obtain the preliminary registration transformation.
[0165] The weight configuration submodule is used to reset the registration weights of vertices in the support contact area to a preset minimum value and the registration weights of vertices in the non-support contact area to a preset baseline value, based on the support mask.
[0166] The target registration submodule is used to perform weighted iterative nearest-point registration with the initial registration transformation as the initial transformation and the registration weights as the point-to-point weights to obtain the target registration transformation.
[0167] According to an embodiment of the present invention, the first deviation determination module 540 includes a position update submodule and a first deviation calculation submodule.
[0168] The position update submodule is used to update the position of the vertices of the design model mesh according to the target registration transformation, so as to obtain the registered vertex positions.
[0169] The first deviation calculation submodule is used to search for the nearest point in the 3D point cloud for each vertex in the non-support contact area, so as to calculate the vector from the registered vertex position to the nearest point, which is used as the deviation vector of the vertex.
[0170] According to an embodiment of the present invention, the second deviation determination module 550 includes a vertex acquisition submodule and a second deviation calculation submodule.
[0171] The vertex acquisition submodule is used to acquire, for each vertex in the support contact area, the vertices in the non-support contact area that share an edge with the vertex on the design model mesh as constraint vertices, and the deviation vector of the constraint vertices remains unchanged.
[0172] The second deviation calculation submodule is used to establish the mesh Laplace equation for the vertices in the support contact region, and perform harmonic interpolation with the deviation vector of the constrained vertex as the boundary condition to obtain the deviation vector of the vertex in the support contact region.
[0173] According to an embodiment of the present invention, the labeling module 560 includes a weight allocation submodule and a weight combination submodule.
[0174] The weight allocation submodule is used to assign different confidence weights to vertices in the support contact region and vertices in the non-support contact region according to the support mask, wherein the confidence weight of vertices in the support contact region is lower than that of vertices in the non-support contact region.
[0175] The weight combination submodule is used to combine the deviation vector of each vertex with the corresponding confidence weight as the label of the design model mesh.
[0176] According to an embodiment of the present invention, the deviation vector labeling system 500 for predicting deformation of powder bed molten parts further includes a neighborhood determination module, a spatial weight calculation module, a range weight calculation module, and a weighted average module.
[0177] The neighborhood determination module is used to determine multiple neighboring vertices within a preset radius centered on each vertex.
[0178] The spatial weight calculation module is used to calculate the spatial domain Gaussian kernel weight based on the spatial distance between a vertex and its neighboring vertices.
[0179] The range weight calculation module is used to calculate the range Gaussian kernel weight based on the difference in the deviation vector between the vertex and each neighboring vertex. The range bandwidth used when calculating the range Gaussian kernel weight is adaptively adjusted according to the local average curvature at the vertex.
[0180] The weighted average module is used to perform a weighted average of the deviation vectors of each neighboring vertex based on the spatial domain Gaussian kernel weight and the value domain Gaussian kernel weight to obtain a filtered deviation vector, and then generate labels based on the filtered deviation vector.
[0181] According to embodiments of the present invention, any plurality of modules among the data acquisition module 510, shape determination module 520, transformation determination module 530, first deviation determination module 540, second deviation determination module 550, and label marking module 560 can be combined into one module, or any one of these modules can be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules can be combined with at least part of the functionality of other modules and implemented in one module. According to embodiments of the present invention, at least one of the data acquisition module 510, shape determination module 520, transformation determination module 530, first deviation determination module 540, second deviation determination module 550, and label marking module 560 can be at least partially implemented as hardware circuitry, such as field-programmable gate array (FPGA), programmable logic array (PLA), system-on-a-chip, system-on-a-substrate, system-on-package, application-specific integrated circuit (ASIC), or any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three implementation methods. Alternatively, at least one of the data acquisition module 510, shape determination module 520, transformation determination module 530, first deviation determination module 540, second deviation determination module 550, and label marking module 560 can be at least partially implemented as a computer program module, which can perform corresponding functions when the computer program module is run.
[0182] Figure 6 A block diagram of an electronic device suitable for implementing a deviation vector annotation method for predicting deformation of powder bed molten parts according to an embodiment of the present invention is shown.
[0183] like Figure 6 As shown, an electronic device 600 according to an embodiment of the present invention includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory ROM 602 or a program loaded from a storage portion 608 into a random access memory RAM 603. The processor 601 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 601 may also include onboard memory for caching purposes. The processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present invention.
[0184] RAM 603 stores various programs and data required for the operation of electronic device 600. Processor 601, ROM 602, and RAM 603 are interconnected via bus 604. Processor 601 executes various operations of the method flow according to embodiments of the present invention by executing programs in ROM 602 and / or RAM 603. It should be noted that programs may also be stored in one or more memories other than ROM 602 and RAM 603. Processor 601 may also execute various operations of the method flow according to embodiments of the present invention by executing programs stored in one or more memories.
[0185] According to an embodiment of the present invention, the electronic device 600 may further include an input / output (I / O) interface 605, which is also connected to a bus 604. The electronic device 600 may also include one or more of the following components connected to the input / output (I / O) interface 605: an input section 606 including a keyboard, mouse, etc.; an output section 607 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the input / output (I / O) interface 605 as needed. A removable medium 611, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 610 as needed so that computer programs read from it can be installed into the storage section 608 as needed.
[0186] The present invention also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of the present invention.
[0187] According to embodiments of the present invention, a computer-readable storage medium may be a non-volatile computer-readable storage medium, such as including, but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of the present invention, a computer-readable storage medium may include ROM 602 and / or RAM 603 and / or one or more memories other than ROM 602 and RAM 603 described above.
[0188] Embodiments of the present invention also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to enable the computer system to implement the deviation vector annotation method for predicting deformation of powder bed molten parts provided in the embodiments of the present invention.
[0189] When the computer program is executed by the processor 601, it performs the functions defined in the system / apparatus of this invention. According to embodiments of the invention, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0190] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and downloaded and installed via the communication section 609, and / or installed from the removable medium 611. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0191] In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 609, and / or installed from the removable medium 611. When the computer program is executed by the processor 601, it performs the functions defined in the system of this embodiment of the invention. According to embodiments of the invention, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0192] According to embodiments of the present invention, program code for executing the computer programs provided in the embodiments of the present invention can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0193] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0194] Those skilled in the art will understand that the features described in the various embodiments of the present invention can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present invention. In particular, the features described in the various embodiments of the present invention can be combined and / or combined in various ways without departing from the spirit and teachings of the present invention. All such combinations and / or combinations fall within the scope of the present invention.
[0195] The embodiments of the present invention have been described above. However, these embodiments are merely illustrative and not intended to limit the scope of the invention. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of the invention, and all such substitutions and modifications should fall within the scope of the invention.
Claims
1. A deviation vector annotation method for predicting deformation of powder bed molten parts, characterized in that, The method includes: The design model mesh of the target part, as well as the three-dimensional point cloud and printing metadata obtained after scanning the target part by powder bed fusion printing; Based on the anisotropic shrinkage coefficient corresponding to the material type in the printed metadata, the vertices of the design model mesh are scaled and transformed to obtain multiple candidate deformation shapes, from which the target deformation shape with the smallest registration error with the three-dimensional point cloud is determined. Based on the support structure information in the printed metadata, a support mask is generated to perform weighted registration on the scaling transformation corresponding to the target deformable shape, thereby obtaining the target registration transformation; Based on the target registration transformation, determine the deviation vector between the vertices of the non-support contact area in the design model mesh and the corresponding points in the 3D point cloud; Based on the deviation vector of the vertices in the non-supported contact region, the vertices in the supported contact region of the design model mesh are interpolated to obtain the deviation vector of the vertices in the supported contact region. The deviation vectors of each vertex are used as labels for the design model mesh to train the deformation prediction model.
2. The deviation vector annotation method according to claim 1, characterized in that, The process involves scaling the vertices of the design model mesh based on the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata to obtain multiple candidate deformation shapes, including: According to the material type, the corresponding anisotropic shrinkage coefficient is queried from a preset database, wherein the anisotropic shrinkage coefficient includes the shrinkage coefficient in the printing direction and the shrinkage coefficient in the scanning plane; Centered on the printing direction shrinkage coefficient and the scanning plane shrinkage coefficient, multiple candidate values are selected within their respective preset search ranges at preset step sizes; The candidate values of the printing direction shrinkage coefficient and the candidate values of the scanning plane shrinkage coefficient are combined to obtain multiple sets of candidate parameters; For each set of candidate parameters, the axial coordinate components of each vertex of the design model mesh are scaled and transformed to obtain the candidate deformation shape corresponding to each set of candidate parameters.
3. The deviation vector annotation method according to claim 2, characterized in that, The step of determining the target deformation shape with the smallest registration error with the three-dimensional point cloud includes: Align each of the candidate deformation shapes with the centroid of the three-dimensional point cloud to obtain the coarse rigid transformation corresponding to each of the candidate deformation shapes. For each candidate deformable shape under the coarse rigid transformation and the three-dimensional point cloud, the distance between the corresponding vertex and the nearest point is calculated, and the bidirectional root mean square distance is calculated based on the distance. The candidate deformation shape with the smallest bidirectional root mean square distance is selected as the target deformation shape with the smallest registration error with the three-dimensional point cloud.
4. The deviation vector annotation method according to claim 1, characterized in that, The step of generating a support mask based on the support structure information in the printed metadata includes: Based on the support grid in the support structure information, determine the nearest distance between each vertex in the design model grid and the support grid, and mark vertices whose nearest distance is less than a preset threshold as support contact vertices; A morphological expansion operation is performed on the support contact vertex to include the unmarked vertices adjacent to the support contact vertex into the support contact range, thereby obtaining a support mask that covers the support cutting influence area.
5. The deviation vector annotation method according to claim 1, characterized in that, The step of performing weighted registration on the scaling transformation corresponding to the target deformed shape to obtain the target registration transformation includes: Using the scaling transformation corresponding to the target deformable shape as the initial transformation, iterative nearest-point registration is performed on the design model mesh and the 3D point cloud to obtain a preliminary registration transformation; According to the support mask, the registration weight of the vertices in the support contact area is reset to a preset minimum value, and the registration weight of the vertices in the non-support contact area is reset to a preset reference value; Using the preliminary registration transformation as the initial transformation and the registration weight as the point-to-point weight, a weighted iterative nearest-point registration is performed to obtain the target registration transformation.
6. The deviation vector annotation method according to claim 1, characterized in that, The step of determining the deviation vector between the vertices of the non-support contact region in the design model mesh and the corresponding points in the 3D point cloud based on the target registration transformation includes: The vertices of the design model mesh are updated according to the target registration transformation to obtain the registered vertex positions; For each vertex in the unsupported contact region, the nearest point is searched in the three-dimensional point cloud to calculate the vector from the registered vertex position to the nearest point, which is used as the deviation vector of the vertex.
7. The deviation vector annotation method according to claim 1, characterized in that, The step of interpolating the vertices of the support contact region in the design model mesh based on the deviation vector of the vertices in the non-support contact region to obtain the deviation vector of the vertices in the support contact region includes: For each vertex of the support contact area, a vertex in the non-support contact area that shares an edge with the vertex on the design model mesh is obtained as a constraint vertex, and the deviation vector of the constraint vertex remains unchanged; A mesh Laplace equation is established for the vertices in the support contact region. Harmonic interpolation is performed using the deviation vector of the constrained vertex as the boundary condition to obtain the deviation vector of the vertex in the support contact region.
8. The deviation vector annotation method according to claim 1, characterized in that, The step of using the deviation vector of each vertex as the label of the design model mesh includes: Based on the support mask, different confidence weights are assigned to vertices in the support contact region and vertices in the non-support contact region, wherein the confidence weight of vertices in the support contact region is lower than that of vertices in the non-support contact region. The deviation vector of each vertex is combined with the corresponding confidence weight to serve as the label of the design model mesh.
9. The deviation vector annotation method according to claim 1, characterized in that, Before using the deviation vectors of each vertex as annotation labels for the design model mesh, the method further includes: For each vertex, multiple neighboring vertices within a preset radius are determined with the vertex as the center; Calculate the spatial domain Gaussian kernel weights based on the spatial distances between the vertex and each of its neighboring vertices; The range Gaussian kernel weight is calculated based on the difference in the deviation vector between the vertex and each of the neighboring vertices, wherein the range bandwidth used in calculating the range Gaussian kernel weight is adaptively adjusted according to the local average curvature at the vertex. Based on the spatial domain Gaussian kernel weight and the value domain Gaussian kernel weight, the deviation vectors of each of the neighborhood vertices are weighted and averaged to obtain a filtered deviation vector, and a label is generated based on the filtered deviation vector.
10. A deviation vector annotation system for predicting deformation of powder bed molten parts, characterized in that, The system includes: The data acquisition module is used to acquire the design model mesh of the target part, as well as the three-dimensional point cloud and printing metadata obtained after the target part is scanned by powder bed fusion printing; The shape determination module is used to scale and transform the vertices of the design model mesh according to the anisotropic shrinkage coefficient corresponding to the material type in the printing metadata to obtain multiple candidate deformation shapes, so as to determine the target deformation shape with the smallest registration error with the three-dimensional point cloud. The transformation determination module is used to generate a support mask based on the support structure information in the printed metadata, so as to perform weighted registration on the scaling transformation corresponding to the target deformable shape to obtain the target registration transformation; The first deviation determination module is used to determine the deviation vector between the vertices of the non-support contact area in the design model mesh and the corresponding points in the three-dimensional point cloud, based on the target registration transformation. The second deviation determination module is used to interpolate the vertices of the support contact region in the design model mesh based on the deviation vector of the vertices in the non-support contact region, so as to obtain the deviation vector of the vertices in the support contact region. The labeling module is used to use the deviation vector of each vertex as the label of the design model mesh for training the deformation prediction model.
Citation Information
Patent Citations
Additive manufacturing residual stress and deformation prediction method and system based on machine learning
CN113435083A
Method for enhancing anisotropic shrinkage compensation of plastic part based on three-dimensional imaging
CN122323496A