Weld seam identification method, device, computer readable medium and electronic device
By decomposing the eigenvalues of the point cloud data of the welded workpiece and judging the concave and convexity of the junction edge points, welds are identified, which solves the problem of low accuracy in weld recognition in traditional methods and achieves higher recognition accuracy.
Patent Information
- Application Number
- CN202211057991.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-31
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2042-08-31
AI Technical Summary
Traditional weld recognition methods can easily cause misidentification when identifying welds in welded workpieces, resulting in low recognition accuracy.
By obtaining point cloud data of welding workpieces, the covariance matrix of each point is calculated and eigenvalue decomposition is performed, the border edge points are extracted, and the concaveness of these points are judged, thereby identifying the weld.
The accuracy and accuracy of weld recognition are improved, and the problem of using convex features as welds is effectively avoided.
Smart Images

Figure CN115409806B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of welding technology, and specifically relates to a weld identification method, device, computer-readable medium and electronic equipment. Background Art
[0002] In the field of intelligent welding technology, when welding a workpiece, welding equipment first locates the workpiece, then identifies the weld seam within the workpiece, and then performs welding operations on the identified weld seam. Traditional weld seam recognition methods perform planar segmentation on the workpiece's point cloud data, and then determine the weld seam based on the intersection of the segmented planes. However, in some cases, the intersection of the segmented planes may not always be the weld seam of the workpiece, making traditional weld seam recognition algorithms prone to misidentification. The accuracy of weld seam recognition needs to be improved.
[0003] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to ordinary technicians in this field. Summary of the Invention
[0004] The purpose of this application is to provide a weld identification method, device, computer-readable medium and electronic device to optimize the problem of low accuracy of weld identification in related technologies.
[0005] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by practice of the present application.
[0006] According to one aspect of an embodiment of the present application, a weld identification method is provided, comprising:
[0007] Obtain point cloud data of welding workpiece;
[0008] Calculating a covariance matrix corresponding to each point in the point cloud data, and performing eigenvalue decomposition on the covariance matrix to obtain a plurality of eigenvalues corresponding to each point;
[0009] Extracting a plurality of boundary edge points from the point cloud data according to a plurality of feature values corresponding to each point, wherein the boundary edge points include points at the boundary of two surface point clouds in the point cloud data, wherein the surface point cloud refers to a point cloud corresponding to a surface of the welded workpiece;
[0010] According to the concave-convex properties of each boundary edge point, concave points are extracted from the plurality of boundary edge points as weld points to obtain a weld in the welded workpiece.
[0011] According to one aspect of an embodiment of the present application, a weld identification device is provided, comprising:
[0012] A data acquisition module is used to obtain point cloud data of the welding workpiece;
[0013] an eigenvalue decomposition module, configured to calculate a covariance matrix corresponding to each point in the point cloud data, and perform eigenvalue decomposition on the covariance matrix to obtain a plurality of eigenvalues corresponding to each point;
[0014] an edge point extraction module, configured to extract a plurality of boundary edge points from the point cloud data based on a plurality of feature values corresponding to the respective points, wherein the boundary edge points include points in the point cloud data at the boundary of two surface point clouds, wherein the surface point cloud refers to a point cloud corresponding to a surface of the welded workpiece;
[0015] The weld generation module is used to extract concave points from the plurality of junction edge points as weld points according to the concave-convex properties of the junction edge points, so as to obtain the weld in the welded workpiece.
[0016] In one embodiment of the present application, the edge point extraction module is specifically used to:
[0017] When at least one feature value among multiple feature values of a point is greater than a preset feature threshold, the point is taken as the boundary edge point.
[0018] In one embodiment of the present application, the weld generation module includes:
[0019] a curvature calculation unit, configured to calculate the curvature of each boundary edge point according to a plurality of characteristic values of each boundary edge point;
[0020] a concavity and convexity judging unit, configured to judge the concavity and convexity of each of the boundary edge points according to the curvature of each of the boundary edge points;
[0021] The weld point determination unit is configured to use the boundary edge point determined to be a concave point as the weld point.
[0022] In one embodiment of the present application, the curvature calculation unit is specifically configured to:
[0023] Calculating the maximum curvature and the minimum curvature of each of the boundary edge points according to the multiple eigenvalues of each boundary edge point;
[0024] The product of the maximum curvature and the minimum curvature of each of the boundary edge points is used as the first curvature of each of the boundary edge points;
[0025] Half of the sum of the maximum curvature and the minimum curvature of each boundary edge point is used as the second curvature of each boundary edge point.
[0026] In one embodiment of the present application, the curvature calculation unit is further configured to:
[0027] Obtaining the maximum curvature of each boundary edge point according to a ratio of a maximum eigenvalue among multiple eigenvalues of each boundary edge point to the sum of the multiple eigenvalues;
[0028] The minimum curvature of each boundary edge point is obtained according to the ratio of the minimum eigenvalue among the multiple eigenvalues of each boundary edge point to the sum of the multiple eigenvalues.
[0029] In one embodiment of the present application, the curvature includes Gaussian curvature and mean curvature; and the concavity-convexity judgment unit is specifically configured to:
[0030] When the Gaussian curvature of a junction edge point is less than a first threshold value and the average curvature is less than a second threshold value, the junction edge point is determined to be a concave point;
[0031] When the Gaussian curvature of a junction edge point is greater than a first threshold, or the average curvature is greater than a second threshold, the junction edge point is determined to be a convex point.
[0032] In one embodiment of the present application, the apparatus further comprises:
[0033] The filtering module is used to perform filtering processing on the point cloud data to remove noise point data in the point cloud data.
[0034] According to one aspect of an embodiment of the present application, a computer-readable medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the weld identification method in the above technical solution is implemented.
[0035] According to one aspect of an embodiment of the present application, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor executes the executable instructions so that the electronic device executes the weld identification method as in the above technical solution.
[0036] According to one aspect of an embodiment of the present application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the weld identification method described in the above technical solution.
[0037] In the technical solution provided in the embodiment of the present application, multiple eigenvalues are obtained by performing eigenvalue decomposition on the covariance matrix of each point in the point cloud data, and then the junction edge points are screened out according to the eigenvalues. Finally, concave points are extracted from the junction edge points to form welds, which effectively avoids the problem of using concave features as welds in welding workpieces, achieves the effect of accurately identifying welding workpieces, and improves the accuracy and precision of weld identification.
[0038] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and those skilled in the art can derive other drawings based on these drawings without inventive effort.
[0040] Figure 1 The following schematically shows an exemplary system architecture block diagram applying the technical solution of the present application.
[0041] Figure 2 A schematic diagram schematically shows an application scenario of the technical solution of the present application.
[0042] Figure 3 A flow chart of a weld identification method provided by an embodiment of the present application is schematically shown.
[0043] Figure 4A A schematic diagram of point cloud data of a welding workpiece provided by an embodiment of the present application is schematically shown.
[0044] Figure 4B A schematic diagram of a weld provided in one embodiment of the present application is shown schematically.
[0045] Figure 5 The following schematically shows a flow chart of a weld identification method provided by one embodiment of the present application.
[0046] Figure 6 The structural block diagram of the weld identification device provided in an embodiment of the present application is schematically shown.
[0047] Figure 7 The following schematically shows a block diagram of a computer system structure of an electronic device suitable for implementing an embodiment of the present application. DETAILED DESCRIPTION
[0048] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art.
[0049] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner.In the following description, many specific details are provided so as to provide a full understanding of the embodiments of the present application. However, it will be appreciated by those skilled in the art that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps etc. can be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid blurring the various aspects of the application.
[0050] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0051] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be combined or partially combined. Therefore, the actual execution order may vary depending on the actual situation.
[0052] Figure 1 The following schematically shows an exemplary system architecture block diagram applying the technical solution of the present application.
[0053] like Figure 1 As shown, system architecture 100 may include terminal device 110, network 120, and server 130. Terminal device 110 may include a smartphone, tablet computer, laptop computer, intelligent voice interaction device, smart home appliance, vehicle-mounted terminal, welding robot, etc. Server 130 may be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing cloud computing services. Network 120 may be a communication medium of various connection types capable of providing a communication link between terminal device 110 and server 130, such as a wired communication link or a wireless communication link.
[0054] Depending on implementation needs, the system architecture in the embodiments of the present application can have any number of terminal devices, networks, and servers. For example, server 130 can be a server group consisting of multiple server devices. In addition, the technical solutions provided in the embodiments of the present application can be applied to terminal device 110, server 130, or can be implemented by both terminal device 110 and server 130, and this application does not impose any special restrictions on this.
[0055] In one embodiment of the present application, the technical solution of the present application is implemented by the server 130. First, the server 130 obtains the point cloud data of the welding workpiece. Then, the server 130 calculates the covariance matrix corresponding to each point in the point cloud data, and performs eigenvalue decomposition on the covariance matrix to obtain multiple eigenvalues corresponding to each point. Next, the server 130 extracts multiple junction edge points from the point cloud data based on the multiple eigenvalues corresponding to each point. The junction edge points include points at the junction of two surface point clouds in the point cloud data. The surface point cloud refers to the point cloud corresponding to a surface in the welding workpiece. Finally, the server 130 extracts concave points from the multiple junction edge points as weld points based on the concave-convexity of each junction edge point, and obtains the weld in the welding workpiece. After the server 130 determines the weld in the welding workpiece, it sends the weld recognition result to the terminal device 110, for example, to the welding robot, and the welding robot performs the welding operation based on the weld recognition result.
[0056] In one embodiment of the present application, the technical solution of the present application is implemented by the terminal device 110. The implementation process of the technical solution of the present application is explained below by taking the terminal device 110 as an example of a welding robot.
[0057] For example, Figure 2 The following schematically shows an application scenario of the technical solution of this application. Figure 2 As shown, in this application scenario, a point cloud camera 211 is provided on the welding robot 210 , and the welding robot 210 uses the point cloud camera 211 to take pictures of the welding workpiece 220 to obtain point cloud data of the welding workpiece 220 .
[0058] After obtaining the point cloud data of the weld workpiece 220, the welding robot 210 calculates the covariance matrix corresponding to each point in the point cloud data and performs eigenvalue decomposition on the covariance matrix to obtain multiple eigenvalues corresponding to each point. The information contained in the point cloud data is the three-dimensional spatial coordinates of a point on the surface of the weld workpiece 220. The covariance matrix corresponding to a point is a matrix composed of the three-dimensional spatial coordinates of the points in its neighborhood. In other words, the covariance matrix is a three-dimensional matrix.
[0059] Next, welding robot 210 extracts multiple boundary edge points from the point cloud data based on the multiple feature values corresponding to each point. A boundary edge point is a point in the point cloud data that is located at the intersection of two surface point clouds. A surface point cloud is a point cloud corresponding to a surface of workpiece 220. A weld seam is often located at the intersection of two surfaces of workpiece 220, so it is considered a boundary edge point.
[0060] Based on the concave-convex properties of each junction edge point, concave points are extracted from the plurality of junction edge points as weld points to obtain the weld in the welded workpiece. The concave-convex property of a junction edge point refers to whether the junction edge point is concave or convex. Generally speaking, to improve the aesthetics of welded workpiece 220 after welding, the weld seam is often hidden on the back or inside of welded workpiece 220. Therefore, the weld is usually composed of points with concave features. Therefore, concave points are extracted from the junction edge points as weld points to generate the weld. Welding robot 210 is equipped with a welding gun 212. After identifying the weld in welded workpiece 220, welding robot 210 controls welding gun 212 to perform welding operations on the weld seam.
[0061] like Figure 2 As shown, the welding workpiece 220 is composed of a first welding part 221 and a second welding part 222, which are shaped like a ladder. The point cloud data of the welding workpiece 220 is a point cloud composed of points on the surface of the welding workpiece 220 facing the welding gun 212. Traditional weld recognition methods will identify the first weld 231, the second weld 232, and the third weld 233. However, the second weld 232 is a raised feature on the second welding part 222, and the third weld 233 is a raised feature on the first welding part 221. Both are not welds to be welded. Through the technical solution of the present application, the concave points are extracted as weld points to obtain the first weld 231, thereby excluding the second weld 232 and the third weld 233 corresponding to the raised features from the weld range, thereby improving the precision and accuracy of weld recognition.
[0062] The weld identification method provided in this application is described in detail below in conjunction with specific implementation methods.
[0063] Figure 3 A flow chart of a weld identification method provided by an embodiment of the present application is schematically shown. Figure 3 As shown, the method includes steps 310 to 340, which are specifically as follows:
[0064] Step 310: Acquire point cloud data of the welding workpiece.
[0065] Specifically, the point cloud data of a welded workpiece is a set of points formed by capturing each point on the workpiece's surface using a point cloud camera. Each point contains the three-dimensional spatial coordinates of the workpiece's surface. The welded workpiece is photographed using a point cloud camera to collect its point cloud data. After obtaining the point cloud data, it can be pre-processed, for example, by performing uniform filtering and removing outliers. This allows the point cloud data to be minimized while retaining the workpiece's key features. This reduces the amount of data processing required in subsequent steps and improves weld identification efficiency.
[0066] Step 320: Calculate the covariance matrix corresponding to each point in the point cloud data, and perform eigenvalue decomposition on the covariance matrix to obtain multiple eigenvalues corresponding to each point.
[0067] Specifically, the covariance matrix corresponding to a point is constructed based on the points in the neighborhood of the point. The size of the neighborhood is pre-set, for example, the neighborhood radius or the number of points in the neighborhood is set, and then the covariance matrix is constructed based on the points in the set neighborhood.
[0068] The covariance matrix is a real symmetric matrix, and a real symmetric matrix must be orthogonal and similar to diagonal. That is to say, a set of mutually orthogonal vectors can be found to convert the covariance matrix into a diagonal matrix. This process can decompose the covariance matrix into a combination of eigenvalues and eigenvectors, which is the eigenvalue decomposition process of the covariance matrix.
[0069] The covariance matrix A of a point in the point cloud data is constructed as follows:
[0070]
[0071] Among them, p i is a point in the neighborhood of the point; It is the centroid of the point cloud composed of neighborhood points. In some cases, the centroid of the point cloud can be represented by the average value of all points in the point cloud; N represents the number of points in the neighborhood.
[0072] A matrix is actually a linear transformation. For a given linear transformation (a matrix), the eigenvectors of a matrix remain aligned with the original eigenvectors after the transformation, but the length of the new vectors may change. The ratio by which the length of an eigenvector is scaled under the linear transformation is called the eigenvalue.
[0073] Perform eigenvalue decomposition on the covariance matrix A of a point according to the following formula:
[0074] min|Ax||=minλ 2
[0075] Among them, λ represents the eigenvalue. After eigenvalue decomposition, multiple λ can be obtained; x represents the eigenvector corresponding to the minimum eigenvalue.
[0076] Step 330: extract multiple boundary edge points from the point cloud data based on multiple feature values corresponding to each point. The boundary edge points include points at the boundary of two surface point clouds in the point cloud data. The surface point cloud refers to the point cloud corresponding to a surface in the welding workpiece.
[0077] Specifically, point cloud data is a point set formed by points on the surface of a welded workpiece. The surface of a welded workpiece is usually composed of multiple faces. The point cloud corresponding to a face is recorded as a face point cloud, and the edge points are the points at the edge of each face point cloud. Welds are often located at the intersection of two faces in a welded workpiece. Therefore, to extract welds, the intersection point cloud of each face point cloud should be considered first. The points at the intersection of the two face point clouds are recorded as intersection edge points. Multiple intersection edge points are extracted based on the multiple eigenvalues corresponding to each point. This is equivalent to preliminarily screening out points that may be welds from the point cloud data.
[0078] In one embodiment of the present application, when at least one of the multiple feature values of a point is greater than a preset feature threshold, the point is considered a boundary edge point. When the feature value of a point is large, it indicates that the edge of the point has a large change, so the point is considered a boundary edge point.
[0079] In one embodiment of the present application, the method for determining whether a point is a boundary edge point is: calculating multiple curvatures of each point based on multiple characteristic values of each point; when there is at least one curvature greater than a preset curvature threshold among the multiple curvatures of a point, the point is regarded as a boundary edge point.
[0080] Specifically, the number of curvatures of a point is the same as the number of eigenvalues of the point. Assume that there are n eigenvalues of the point, denoted as λ0, λ1...λ n , then the i-th eigenvalue λ i The corresponding curvature c i is calculated as follows:
[0081]
[0082] Among the multiple curvatures corresponding to a point, if one curvature is greater than a preset curvature threshold, it indicates that the curvature of the point has changed significantly. The point may belong to two surface point clouds, that is, the point at the intersection of the two surface point clouds. Therefore, the point is considered to be a boundary edge point. For example, after eigenvalue decomposition, a point corresponds to three eigenvalues. These three eigenvalues are arranged from small to large as: λ0, λ1, λ2. The curvatures corresponding to the point are: λ0 / (λ0+λ1+λ2), λ1 / (λ0+λ1+λ2), and λ2 / (λ0+λ1+λ2). If any of these values is greater than the preset feature threshold, the point is considered to be a boundary edge point.
[0083] For example, Figure 4A In the point cloud data shown, the first boundary line 410 and the second boundary line 420 are both the boundaries of two surface point clouds. The curvature of the points at these two boundary lines varies greatly. After extracting the boundary edge points, the point clouds at the first boundary line 410 and the second boundary line 420 are regarded as boundary edge points.
[0084] Step 340: extract concave points from the plurality of junction edge points as weld points according to the concave-convex properties of each junction edge point, and obtain a weld in the welded workpiece.
[0085] Specifically, the concavity of a point refers to whether it is a convex or concave point. More specifically, it refers to whether the point is a point within a concave surface or a point within a convex surface. In the field of welding, for the aesthetics of the workpiece after welding, the weld seam is generally hidden on the back or inside the workpiece, meaning that the weld seam is not visible on the surface of the workpiece. Therefore, before welding, the weld seam is typically a concave feature, meaning that the weld seam point is a point within the concave surface. Therefore, based on the concavity of the junction edge points, the concave points are extracted as weld seam points, thereby obtaining the weld seam in the welded workpiece. This avoids mistaking convex points for weld seams and improves the accuracy and precision of weld seam identification.
[0086] For example, Figure 4A As shown in the first intersection line 410 and the second intersection line 420, the first intersection line 410 is the intersection of a horizontal plane 431 and a downward plane 432, and the intersection edge point of the first intersection line 410 is a convex point. The second intersection line 420 is the intersection of a horizontal plane 431 and an upward plane 433, and the intersection edge point of the second intersection line 420 is a concave point. After screening the intersection edge points for concavity and convexity, the points on the first intersection line 410 are not weld points, so they are deleted, and the points on the second intersection line 420 are retained as weld points, obtaining the weld S in the welded workpiece, as shown in FIG. Figure 4B shown.
[0087] In the technical solution provided in the embodiment of the present application, multiple eigenvalues are obtained by performing eigenvalue decomposition on the covariance matrix of each point in the point cloud data, and then the junction edge points are screened out according to the eigenvalues. Finally, concave points are extracted from the junction edge points to form welds, which effectively avoids the problem of using concave features as welds in welding workpieces, achieves the effect of accurately identifying welding workpieces, and improves the accuracy and precision of weld identification.
[0088] In one embodiment of the present application, the process of determining whether a junction edge point is a weld point is as follows: calculating the curvature of each junction edge point based on multiple characteristic values of each junction edge point; determining the concavity of each junction edge point based on the curvature of each junction edge point; and treating the junction edge point determined to be a concave point as a weld point.
[0089] Specifically, first calculate the curvature of the junction edge point, including the first curvature and the second curvature, and the calculation of the first curvature and the second curvature depends on the maximum curvature and the minimum curvature. So, first calculate the maximum curvature and the minimum curvature of the junction edge point, according to the curvature calculation method of the junction edge point:
[0090]
[0091] Substituting the maximum eigenvalue into the numerator of the above formula gives the maximum curvature, which is the ratio of the maximum eigenvalue to the sum of the eigenvalues. Substituting the minimum eigenvalue into the numerator of the above formula gives the minimum curvature, which is the ratio of the minimum eigenvalue to the sum of the eigenvalues.
[0092] Then, the product of the maximum and minimum curvatures is used as the first curvature of the junction edge point, and half of the sum of the maximum and minimum curvatures is used as the second curvature of the junction edge point. The first curvature reflects the overall curvature at the junction edge point. The first curvature can reflect the curvature of the surface. The greater the change in the first curvature, the less smooth the surface. The second curvature reflects the average curvature at the junction edge point. The first curvature can be Gaussian curvature, and the second curvature can be average curvature.
[0093] The concavity and convexity of a junction edge point are determined based on its first and second curvatures: when the Gaussian curvature of a junction edge point is less than a first threshold and its average curvature is less than a second threshold, the junction edge point is determined to be a concave point; when the Gaussian curvature of a junction edge point is greater than the first threshold, or the average curvature is greater than the second threshold, the junction edge point is determined to be a convex point. Furthermore, when the Gaussian curvature of a junction edge point is less than or equal to the first threshold and its average curvature is less than the second threshold, the junction edge point is determined to be a concave point; otherwise, the junction edge point is determined to be a convex point.
[0094] Figure 5 A flow chart of a weld identification method provided by an embodiment of the present application is schematically shown. Figure 5 As shown, the method includes steps 510 to 570, which are specifically as follows:
[0095] Step 510: Drive the welding robot to use the point cloud camera to collect point cloud data of the welding workpiece.
[0096] Step 520 : Pre-process the collected point cloud data, including uniform filtering, removing outliers, etc., so as to simplify the point cloud data as much as possible while retaining key features.
[0097] Step 530: Construct a covariance matrix for each point in the point cloud data.
[0098] Step 540: Perform eigenvalue decomposition on the covariance matrix of each point to obtain multiple eigenvalues, and extract points whose eigenvalues are greater than a preset characteristic threshold as boundary edge points.
[0099] Step 550: Calculate the Gaussian curvature and the mean curvature of the boundary edge points.
[0100] Step 560: Determine the concavity and convexity of the boundary edge point based on the difference between the Gaussian curvature and the first threshold, and the difference between the average curvature and the second threshold.
[0101] Step 570: Delete the boundary edge points judged as convex points, and retain the boundary edge points judged as concave points as welds.
[0102] The specific execution process of each of the above steps can refer to the relevant description in the above embodiments and will not be repeated here.
[0103] It should be noted that although the steps of the method of the present application are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all steps must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0104] The following introduces an embodiment of the device of the present application, which can be used to execute the weld identification method in the above embodiment of the present application. Figure 6 The structural block diagram of the weld identification device provided in the embodiment of the present application is schematically shown. Figure 6 As shown, the weld identification device includes:
[0105] The data acquisition module 610 is used to acquire point cloud data of the welding workpiece;
[0106] an eigenvalue decomposition module 620 for calculating a covariance matrix corresponding to each point in the point cloud data, and performing eigenvalue decomposition on the covariance matrix to obtain a plurality of eigenvalues corresponding to each point;
[0107] an edge point extraction module 630 for extracting a plurality of boundary edge points from the point cloud data based on the plurality of feature values corresponding to the respective points, wherein the boundary edge points include points at the boundary of two surface point clouds in the point cloud data, where the surface point cloud refers to a point cloud corresponding to a surface of the welded workpiece;
[0108] The weld generation module 640 is configured to extract concave points from the plurality of junction edge points as weld points according to the concave-convex properties of the junction edge points, thereby obtaining a weld in the welded workpiece.
[0109] In one embodiment of the present application, the edge point extraction module 630 is specifically configured to:
[0110] When at least one feature value among multiple feature values of a point is greater than a preset feature threshold, the point is taken as the boundary edge point.
[0111] In one embodiment of the present application, the weld generation module 640 includes:
[0112] a curvature calculation unit, configured to calculate the curvature of each boundary edge point according to a plurality of characteristic values of each boundary edge point;
[0113] a concavity and convexity judging unit, configured to judge the concavity and convexity of each of the boundary edge points according to the curvature of each of the boundary edge points;
[0114] The weld point determination unit is configured to use the boundary edge point determined to be a concave point as the weld point.
[0115] In one embodiment of the present application, the curvature calculation unit is specifically configured to:
[0116] Calculating the maximum curvature and the minimum curvature of each of the boundary edge points according to the multiple eigenvalues of each boundary edge point;
[0117] The product of the maximum curvature and the minimum curvature of each of the boundary edge points is used as the first curvature of each of the boundary edge points;
[0118] Half of the sum of the maximum curvature and the minimum curvature of each boundary edge point is used as the second curvature of each boundary edge point.
[0119] In one embodiment of the present application, the curvature calculation unit is further configured to:
[0120] Obtaining the maximum curvature of each boundary edge point according to a ratio of a maximum eigenvalue among multiple eigenvalues of each boundary edge point to the sum of the multiple eigenvalues;
[0121] The minimum curvature of each boundary edge point is obtained according to the ratio of the minimum eigenvalue among the multiple eigenvalues of each boundary edge point to the sum of the multiple eigenvalues.
[0122] In one embodiment of the present application, the curvature includes Gaussian curvature and mean curvature; and the concavity-convexity judgment unit is specifically configured to:
[0123] When the Gaussian curvature of a junction edge point is less than a first threshold value and the average curvature is less than a second threshold value, the junction edge point is determined to be a concave point;
[0124] When the Gaussian curvature of a junction edge point is greater than a first threshold, or the average curvature is greater than a second threshold, the junction edge point is determined to be a convex point.
[0125] In one embodiment of the present application, the apparatus further comprises:
[0126] The filtering module is used to perform filtering processing on the point cloud data to remove noise point data in the point cloud data.
[0127] The specific details of the weld identification device provided in each embodiment of the present application have been described in detail in the corresponding method embodiments and will not be repeated here.
[0128] Figure 7 The block diagram schematically shows a computer system structure of an electronic device used to implement an embodiment of the present application.
[0129] It should be noted that Figure 7 The computer system 700 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0130] like Figure 7 As shown, the computer system 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 702 or the program loaded from the storage part 708 into the random access memory (RAM) 703. Various programs and data required for system operation are also stored in the random access memory 703. The CPU 701, the read-only memory 702, and the random access memory 703 are connected to each other via a bus 704. An input / output interface 705 (i.e., an I / O interface) is also connected to the bus 704.
[0131] The following components are connected to the input / output interface 705: an input section 706 including a keyboard, a mouse, and the like; an output section 707 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 708 including a hard disk and the like; and a communication section 709 including a network interface card such as a local area network card or a modem. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the input / output interface 705 as needed. A removable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, and the like, is installed in the drive 710 as needed so that a computer program read therefrom can be installed into the storage section 708 as needed.
[0132] In particular, according to an embodiment of the present application, the processes described in the various method flow charts can be implemented as computer software programs. For example, an embodiment of the present application includes a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for executing the methods shown in the flow charts. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 709 and / or installed from a removable medium 711. When the computer program is executed by the central processing unit 701, the various functions defined in the system of the present application are performed.
[0133] It should be noted that the computer-readable medium shown in the embodiments of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, or any suitable combination thereof.
[0134] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the above-mentioned module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of the boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0135] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiment of the application, the features and functions of two or more modules or units described above can be concretized in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.
[0136] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
[0137] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of this application and include common knowledge or customary techniques in the art that are not disclosed herein.
[0138] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A weld identification method, characterized in that: include: Obtain point cloud data of welding workpiece; Calculating a covariance matrix corresponding to each point in the point cloud data, and performing eigenvalue decomposition on the covariance matrix to obtain a plurality of eigenvalues corresponding to each point; Calculating multiple curvatures of each point according to multiple characteristic values of each point; when there is at least one curvature greater than a preset curvature threshold among the multiple curvatures of a point, taking the point as a junction edge point; the junction edge point includes a point at the junction of two surface point clouds in the point cloud data, and the surface point cloud refers to a point cloud corresponding to a surface of the welding workpiece; Obtaining the maximum curvature of each boundary edge point according to the ratio of the maximum eigenvalue among the multiple eigenvalues of each boundary edge point to the sum of the multiple eigenvalues; According to the ratio of the minimum eigenvalue among the multiple eigenvalues of each junction edge point to the sum of the multiple eigenvalues, the minimum curvature of each junction edge point is obtained; the product of the maximum curvature and the minimum curvature of each junction edge point is used as the Gaussian curvature of each junction edge point; half of the sum of the maximum curvature and the minimum curvature of each junction edge point is used as the average curvature of each junction edge point; The concave-convexity of each of the junction edge points is determined according to the Gaussian curvature and the average curvature of each of the junction edge points; wherein: when the Gaussian curvature of a junction edge point is less than a first threshold value, and the average curvature is less than a second threshold value, the junction edge point is determined to be a concave point; when the Gaussian curvature of a junction edge point is greater than the first threshold value, or the average curvature is greater than the second threshold value, the junction edge point is determined to be a convex point; The boundary edge point judged as a concave point is used as a weld point in the welding workpiece.
2. The weld identification method according to claim 1, characterized in that: After obtaining a plurality of eigenvalues corresponding to the points, the method further includes: When at least one feature value among multiple feature values of a point is greater than a preset feature threshold, the point is taken as the boundary edge point.
3. The weld identification method according to any one of claims 1 to 2, characterized in that: Before calculating the covariance matrix corresponding to each point in the point cloud data, the method further includes: The point cloud data is filtered to remove noise point data in the point cloud data.
4. A weld identification device, characterized in that: include: A data acquisition module, used to acquire point cloud data of the welding workpiece; An eigenvalue decomposition module, used to calculate the covariance matrix corresponding to each point in the point cloud data, and perform eigenvalue decomposition on the covariance matrix to obtain multiple eigenvalues corresponding to each point; An edge point extraction module is used to calculate multiple curvatures of each point according to multiple characteristic values of each point; when there is at least one curvature greater than a preset curvature threshold among the multiple curvatures of a point, the point is used as a junction edge point; the junction edge point includes a point at the junction of two surface point clouds in the point cloud data, and the surface point cloud refers to a point cloud corresponding to a surface of the welding workpiece; A weld generation module, used for obtaining the maximum curvature of each junction edge point according to the ratio of the maximum eigenvalue among the multiple eigenvalues of each junction edge point to the sum of the multiple eigenvalues; According to the ratio of the minimum eigenvalue among multiple eigenvalues of each junction edge point to the sum of the multiple eigenvalues, the minimum curvature of each junction edge point is obtained; the product of the maximum curvature and the minimum curvature of each junction edge point is used as the Gaussian curvature of each junction edge point; half of the sum of the maximum curvature and the minimum curvature of each junction edge point is used as the average curvature of each junction edge point; the concavity and convexity of each junction edge point are judged according to the Gaussian curvature and the average curvature of each junction edge point; wherein: when the Gaussian curvature of a junction edge point is less than a first threshold value, and the average curvature is less than a second threshold value, the junction edge point is judged to be a concave point; when the Gaussian curvature of a junction edge point is greater than the first threshold value, or the average curvature is greater than the second threshold value, the junction edge point is judged to be a convex point; the junction edge point judged to be a concave point is used as a weld point in the welding workpiece.
5. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the weld identification method described in any one of claims 1 to 3 is implemented.
6. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; Wherein, the processor executes the executable instructions so that the electronic device executes the weld identification method described in any one of claims 1 to 3.
Citation Information
Patent Citations
Tower foot workpiece automatic welding system and method based on weld joint recognition
CN114515924A
Crevice detection
GB202201119D0
Method of generating shape data and method of verifying shape data
GB9906743D0