Industrial parts detection method and system based on tensor voting

By combining tensor voting, greedy projection and optimization of DELAUNAY triangular dissection algorithms, the problem of unstructured and triangular dissection complexity of industrial parts cloud data has been solved, and high -precision 3D model reconstruction and defect detection have been achieved.

CN118657743BActive Publication Date: 2025-01-24NANJING UNIV OF POSTS & TELECOMM
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202410844910.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-27
Publication Date
2025-01-24
Estimated Expiration
2044-06-27

AI Technical Summary

Technical Problem

The prior art has limitations in the unstructured nature of point cloud data, the instability and high computational complexity of Delaunay triangulation, and it is difficult to efficiently reconstruct the 3D model of industrial parts and detect surface defects.

Method used

By combining the tensor voting algorithm, greedy projection algorithm and optimized Delaunay triangulation algorithm, the classification, triangulation and surface reconstruction of industrial parts point clouds are achieved, and then defect detection is carried out.

Benefits of technology

This method can improve the accuracy of defect detection of industrial parts, generate high-quality three-dimensional mesh models, and overcome the stability and complexity problems of traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118657743B_ABST
    Figure CN118657743B_ABST
Patent Text Reader

Abstract

The present invention relates to an industrial parts detection method and system based on tensor voting, and belongs to the technical field of computer graphics. The method comprises: scanning industrial parts to obtain point cloud sets, using a tensor voting algorithm to classify the point cloud sets to obtain point sets of different categories; using an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories respectively to obtain Delaunay triangulated meshes of the point sets of each category; fusing and optimizing the Delaunay triangulated meshes to reconstruct the surface of the industrial parts; and performing defect detection on the industrial parts based on the surface. The method reconstructs the 3D model of the industrial parts by combining tensor voting, greedy projection algorithm and Delaunay triangulation algorithm, can reproduce the surface defects of the industrial parts, and improve the accuracy of defect detection on the industrial parts.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of computer graphics, and in particular relates to an industrial parts detection method and system based on tensor voting. Background Art

[0002] Point cloud data, as an intuitive and accurate representation of three-dimensional space, is widely used in fields such as autonomous driving and robot perception. Understanding large-scale complex point cloud scenes is a current research hotspot. The classification and segmentation of point clouds are key basic tasks, but the unstructured nature of point cloud data poses challenges to this task.

[0003] In terms of point cloud representation and understanding, the tensor voting algorithm can effectively analyze the geometric structural features of point clouds. It robustly infers geometric features such as surface normals and curvature of point clouds by transferring and aggregating tensor information between points. In the tensor voting algorithm, neighborhood information is gathered together by voting, and orientation information is estimated by the calculation rules of the vector field, allowing effective calculations to be performed in a convolution-like manner to achieve communication between data. This lays the foundation for subsequent point cloud classification and segmentation.

[0004] Delaunay triangulation is a classic algorithm in computer geometry that can triangulate point sets with high quality. It is widely used in fields such as 3D surface reconstruction and mesh generation. However, Delaunay triangulation also has some limitations: the algorithm is not stable enough, the computational complexity is high, and most importantly, the mesh quality is not optimal. Summary of the invention

[0005] The main purpose of the present invention is to overcome the shortcomings and deficiencies of the prior art and to provide an industrial parts detection method and system based on tensor voting. The method reconstructs the 3D model of industrial parts by combining tensor voting, greedy projection algorithm and Delaunay triangulation algorithm, which can reproduce the surface defects of industrial parts and improve the accuracy of industrial parts defect detection.

[0006] According to one aspect of the present invention, the present invention provides an industrial parts detection method based on tensor voting, the method comprising the following steps:

[0007] S1: Scanning industrial parts to obtain point cloud sets, and using tensor voting algorithm to classify the point cloud sets to obtain point sets of different categories;

[0008] S2: using an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories respectively, to obtain Delaunay triangulated meshes of the point sets of each category;

[0009] S3: fusing and optimizing the Delaunay triangular meshes to reconstruct the surface of the industrial part;

[0010] S4: Perform defect detection on the industrial part based on the curved surface.

[0011] Preferably, the point cloud set is classified by using a tensor voting algorithm to obtain point sets of different categories, including:

[0012] For each point, the principal curvature, normal vector, and curvature are calculated using the tensor voting algorithm in its local neighborhood. The tensor field is estimated using the calculated normal vector, the eigenvalue of the tensor is calculated, and the point cloud is classified according to the curvature of the eigenvalue.

[0013] Preferably, the adopting an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories respectively comprises:

[0014] A greedy projection algorithm is used to divide all points on the plane into several plane point cloud sets. A starting point is selected in each plane point cloud set and projected along the normal direction to generate a triangular mesh.

[0015] Preferably, performing Delaunay triangulation on the point sets of different categories respectively comprises:

[0016] By calculating the minimum inscribed circle of the triangle formed by each point, Delaunay triangulation is achieved for all internal points of the plane; for the formed triangle, check whether it meets the Delaunay condition. If not, perform edge flipping until the Delaunay condition is met.

[0017] Preferably, the fusing and optimizing the Delaunay triangulated mesh comprises:

[0018] For the points on the detected edges, the positions where additional points are added around them are re-triangulated, the plane mesh and the triangular mesh on the edge are spliced ​​and fused, transition processing is performed at the category boundary, and the overall mesh is smoothed and simplified to obtain an optimized triangular mesh.

[0019] According to another aspect of the present invention, the present invention also provides an industrial parts detection system based on tensor voting, the system comprising:

[0020] A classification module, used for scanning industrial parts to obtain a point cloud set, and using a tensor voting algorithm to classify the point cloud set to obtain point sets of different categories;

[0021] A partitioning module is used to use an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories respectively, so as to obtain Delaunay triangulated meshes of the point sets of each category;

[0022] A reconstruction module, used for fusing and optimizing the Delaunay triangulated meshes to reconstruct the surface of the industrial part;

[0023] A detection module is used to perform defect detection on the industrial part based on the curved surface.

[0024] Preferably, the classification module classifies the point cloud set using a tensor voting algorithm, and the point sets of different categories obtained include:

[0025] For each point, the principal curvature, normal vector, and curvature are calculated using the tensor voting algorithm in its local neighborhood. The tensor field is estimated using the calculated normal vector, the eigenvalue of the tensor is calculated, and the point cloud is classified according to the curvature of the eigenvalue.

[0026] Preferably, the partitioning module adopts an optimized Delaunay triangulation algorithm, and performing Delaunay triangulation on the point sets of different categories respectively includes:

[0027] A greedy projection algorithm is used to divide all points on the plane into several plane point cloud sets. A starting point is selected in each plane point cloud set and projected along the normal direction to generate a triangular mesh.

[0028] Preferably, the partitioning module performs Delaunay triangulation on the point sets of different categories respectively, including:

[0029] By calculating the minimum inscribed circle of the triangle formed by each point, Delaunay triangulation is performed on all internal points of the plane; for the formed triangle, check whether it meets the Delaunay condition. If not, perform edge flipping until the Delaunay condition is met.

[0030] Preferably, the reconstruction module fuses and optimizes the Delaunay triangulated mesh, including:

[0031] For the points on the detected edges, the positions where additional points are added around them are re-triangulated, the plane mesh and the triangular mesh on the edge are spliced ​​and fused, transition processing is performed at the category boundary, and the overall mesh is smoothed and simplified to obtain an optimized triangular mesh.

[0032] Beneficial effects: The present invention achieves high-quality mesh reconstruction by guiding Delaunay triangulation through tensor voting classification. The surface reconstruction algorithm can be applied to the surface defect measurement of industrial fine parts, improving the accuracy of industrial part defect detection. The method integrates technologies from multiple fields of computational geometry and computer graphics and has important research value.

[0033] The features and advantages of the present invention will become clear through reference to the following drawings and detailed description of specific embodiments of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 It is a flow chart of the industrial parts detection method based on tensor voting;

[0035] Figure 2 Comparison of voting rights under three different representations of σ in tensor voting;

[0036] Figure 3 This is the improved Delaunay triangulation effect diagram;

[0037] Figure 4 Schematic diagram of industrial parts detection system based on tensor voting. DETAILED DESCRIPTION

[0038] The following is a clear and complete description of the technical solutions in the embodiments of the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0039] Example 1

[0040] Figure 1 This is a flow chart of the industrial parts detection method based on tensor voting. Figure 1 As shown, this embodiment provides an industrial parts detection method based on tensor voting, and the method includes the following steps:

[0041] S1: Scanning industrial parts to obtain point cloud sets, and using tensor voting algorithm to classify the point cloud sets to obtain point sets of different categories;

[0042] S2: using an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories respectively, to obtain Delaunay triangulated meshes of the point sets of each category;

[0043] S3: fusing and optimizing the Delaunay triangular meshes to reconstruct the surface of the industrial part;

[0044] S4: Perform defect detection on the industrial part based on the curved surface.

[0045] In the method of this embodiment, by combining tensor voting, greedy projection algorithm and Delaunay triangulation algorithm, the 3D model of industrial parts is reconstructed, the surface defects of industrial parts can be reproduced, and the accuracy of industrial part defect detection is improved.

[0046] Preferably, the point cloud set is classified by using a tensor voting algorithm to obtain point sets of different categories, including:

[0047] For each point, the principal curvature, normal vector, and curvature are calculated using the tensor voting algorithm in its local neighborhood. The tensor field is estimated using the calculated normal vector, the eigenvalue of the tensor is calculated, and the point cloud is classified according to the curvature of the eigenvalue.

[0048] Specifically, the tensor voting algorithm is used to calculate the geometric features of the point cloud, such as the curvature and normal vector, and the point cloud is classified using a machine learning method based on the geometric features; the classified point cloud is output, including point sets of different categories.

[0049] The specific steps are as follows: downsample and filter the point cloud to obtain a sparse point set after filtering. For each point, use its k nearest neighbors to fit the local surface, determine the normal vector, set the normal vector difference threshold, and determine the key points by comparing the point normal vectors.

[0050] 1) Construct tensor. Construct a local coordinate system and construct a matrix P with the key point as the origin, where the third column is the main direction unit vector of the key point, and the first and second columns can be determined by being perpendicular to the third column.

[0051] Calculate the covariance matrix. In the neighborhood of the key point, calculate the coordinates of all neighboring points relative to P to form a sample point set, and calculate the covariance matrix C of the sample point set.

[0052] 2) Calculate the eigenvalues ​​and eigenvectors of C. The eigenvector with the largest variance is the direction of the major and minor axes of the characteristic ellipse. The radius of the major and minor axes of the characteristic ellipse is determined according to the variance, and combined with the P matrix to determine the characteristic tensor.

[0053] 3) The radius of the major and minor axes is divided by the square root of the total variance S to make the characteristic tensor invariant to resist scale changes. Construct a second-order symmetric positive definite tensor for each vertex, that is, a matrix:

[0054]

[0055] Among them, the tensor elements represent the normal vector and curvature characteristics of the point, v x It represents the vector component of the vertex in the x direction; v y It represents the vector component of the vertex in the y direction.

[0056] 4) Set the tensor weight at the same time. The weight of the voxel point is 1, and the weight of the point on the edge or corner will be relatively large. The tensor operator is shown in the following formula, where γ is the length of the curve, - curvature, σ- voting neighborhood range.

[0057]

[0058] Where DF represents the diffusion tensor, which is used to measure how diffusion or propagation is performed under given derivatives or geometric characteristics, γ is the curve length, φ represents the curvature, σ represents the standard deviation, and this embodiment specifically refers to the voting neighborhood range, that is, the range of diffusion or voting operations in a specific field, and c is a constant used to adjust or balance the factors affected by curvature. This point is encoded as a tensor:

[0059]

[0060] in Right now (λ1-λ2)=1 means the significance of the rod tensor is 1; λ2=0 means the significance of the spherical tensor is 0. and is an eigenvector, used to indicate the direction of the principal axis.

[0061] Among them, the stick tensor indicates that the data has a strong characteristic signal in a certain direction, while the diffusion in other directions is small. Geometrically, it represents the characteristics of a long strip, that is, strong significance in one direction. Mathematically, it is expressed as one of the eigenvalues ​​is larger (λ1) and the other is smaller or zero (λ2).

[0062] The ball tensor indicates that the data is spread equally in all directions, that is, there is no significant feature in a specific direction. Geometrically, it represents the characteristics of a sphere, spreading evenly in all directions. Mathematically, it is expressed as two eigenvalues ​​that are equal and large (λ1≈λ2))

[0063] 5) Propagate the inferred information at each location in a neighborhood prepared for the purpose of extracting associated features, which is called dense propagation or dense tensor voting. The tensor propagation operation is implemented based on the Gaussian kernel function. Tensor propagation is performed according to the weight of the distance between points to exchange information. The propagation span is controlled by the proportional coefficient to avoid crossing the boundary to reach points on different surfaces.

[0064] 6) According to the bounding box of all key points, set the three-dimensional range and sampling resolution of the accumulated tensor field, and construct a three-dimensional array or a four-dimensional array (with angle dimension). Initialize all array elements to 0, calculate the maximum error range when mapping the feature tensor, and expand this error range around each sampling point in the accumulated tensor field to construct a search box.

[0065] 7) Subdivide the entire array into small blocks and define index mapping to speed up access. You can also store only non-zero elements. Calculate the mapping coordinates, use the translation and rotation transformations of the feature tensor, and reversely map them to the accumulated tensor field:

[0066] P_vote=R*P_T+t

[0067] Among them, P_T and P_vote are the representations of points in different coordinate systems. P_T is the representation of a point in the eigentensor coordinate system (local coordinate system). This coordinate system is defined based on the eigenvectors and eigenvalues ​​of the eigentensor. P_vote is the representation of the same point in the accumulated tensor field or global coordinate system. Through rotation and translation operations, points can be mapped from the local coordinate system to the global coordinate system. R is the rotation matrix, t is the translation vector, and R and t combined are the transformation matrix from the eigentensor to the global coordinates.

[0068] See also Figure 2 , according to the scale and confidence of the feature tensor, a voting weight W is set for it.

[0069] w=s p *c

[0070] Where s is the scale of the feature tensor, c is the confidence of the feature point, and p is the scale weight coefficient. Perform weighted voting and add weights at the mapping coordinates:

[0071] V(P vot )=V(P vote )+w

[0072] Repeat this process to achieve accumulation, and check whether the mapped coordinates are out of the scene range. If so, find the nearest position in the scene to vote.

[0073] 8) In the algorithm, the feature tensor and the sampling points can be quickly mapped through space partitioning and other methods to accelerate the voting process.

[0074] 9) Through such mapping, weight accumulation, and cross-boundary processing, a clustered peak is finally formed in the accumulated tensor field to detect the geometric structure in the scene. The tensors of the receiving adjacent points of each point are weighted superimposed, and the weights are designed by the Gaussian function of the distance between points. After superposition, matrix normalization is performed to obtain an aggregate tensor that expresses local geometric features.

[0075] 10) According to the type and number of structures to be detected, set a reasonable detection threshold, such as more than 3 or 5 feature tensors voted as candidate targets.

[0076] 11) Perform Gaussian filtering on the accumulated tensor field to reduce noise interference. In the preset search box of each sampling point, find the maximum value point as the candidate maximum value point. This can suppress the situation where multiple adjacent peak points are detected at the same time.

[0077] 12) According to the threshold set in step 1, filter out candidate maximum points below the threshold. At the same time, sort the remaining maximum points according to the response value, check them one by one from strong to weak, and if the weak response point is within the error range with the previous strong response point, suppress the weak response point.

[0078] 13) According to the minimum size requirement of the target to be detected, set the corresponding minimum voting aggregation number threshold. Calculate the geometric features of each detected target, such as area, perimeter, aspect ratio of the bounding box, etc., and set a reasonable threshold range for filtering.

[0079] Voting distribution analysis: Analyze the voting distribution inside each detected target. It needs to have a more uniform and compact distribution, otherwise it is filtered. The feature vector is obtained, and the main components are the point cloud normal vector and curvature features.

[0080] 14) Classification and clustering: Use machine learning methods such as SVM binary classifier to distinguish voxel points and boundary points, and use KMeans to classify different clusters.

[0081] 15) Post-processing: For multiple detected targets that are close to each other, clustering or merging can be considered. Apply CRF to optimize the classification results, delete small clusters as noise points, and refine the main components. At the same time, connect the boundary points into a linear ring, and the set of boundary points S1 = {N P , N P+1 , ..., N i}, and mark the boundary points Flag = True, the non-boundary point set S2 = {N q , N q+1 , ..., N j}, and mark it Flag = Flag. The following two properties must be satisfied for sets S1 and S2: (1) The intersection of S1 and S2 is an empty set. (2) The union of S1 and S2 is the sampling point set S.

[0082] 16) Export results: For the final detection results after filtering, export relevant attributes, including: center position and bounding box, number of cluster votes, feature descriptors, etc. The output is in a standard format for use in the subsequent Delaunay triangulation.

[0083] Preferably, the adopting an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories respectively comprises:

[0084] A greedy projection algorithm is used to divide all points on the plane into several plane point cloud sets. A starting point is selected in each plane point cloud set and projected along the normal direction to generate a triangular mesh.

[0085] Specifically, a classified point cloud set is obtained, a starting point is selected from the point cloud data in the point cloud set of each plane, and the starting point is projected onto other points in the point cloud along the normal direction of the point to form a triangle.

[0086] Project other points in turn to generate an initial simple triangular mesh. Since the greedy projection algorithm is localized, the generated mesh may have some local defects or incomplete parts. Therefore, it is necessary to perform Delaunay triangulation on the generated preliminary triangular mesh.

[0087] Preferably, performing Delaunay triangulation on the point sets of different categories respectively comprises:

[0088] By calculating the minimum inscribed circle of the triangle formed by each point, Delaunay triangulation is performed on all internal points of the plane; for the formed triangle, check whether it meets the Delaunay condition. If not, perform edge flipping until the Delaunay condition is met.

[0089] Specifically, a triangular mesh is constructed based on the generated point set and triangle relationship. The axis-aligned bounding box of the point set is calculated, and the initial triangle is constructed using its three vertices and one internal point. It contains all internal points. Bounding Box is a commonly used concept in computer graphics and geometry processing, used to describe the spatial boundary of an object. It is the simplest and most computationally efficient boundary representation method.

[0090] Perform a Delaunay triangulation of all points inside the plane. This can be done by calculating the minimum inscribed circle of the triangle formed by each point. If there are no other points within the minimum inscribed circle of a triangle, then the triangle satisfies the Delaunay condition.

[0091] The hybrid 3D Delaunay triangulation algorithm with point-by-point insertion and segmentation has the following specific steps:

[0092] 1) Point cloud data preprocessing. First, find a point Pc from the point set data. The point Pc can meet the following conditions: all scattered points in the point set can be seen from this point. After finding it, draw an axis U through Pc; then all points in the point set data are processed according to the following formula:

[0093] Pf→Vf, Vf=Pf-Pc,

[0094] Perform the conversion, calculate the angle between U and Vi, and sort Vi in ascending order.

[0095] 2) Construct the initial triangulation. Select a triangle that contains all internal points. It is often necessary to introduce two auxiliary points P1 and P2. The triangle formed by them and the highest point in P will contain all the points. Construct the triangulation of {P1, P2}∪P. In the obtained triangulation, you only need to delete P1 and P2 and the edges associated with them to obtain the triangulation of P. Among them, the selected P1 and P2 must be far enough apart so as not to affect any triangle in the Delaunay triangulation of P, and they cannot fall within the circumscribed circle of any three points in P.

[0096] 3) Insert internal points. For each internal point P, find the triangle that contains it, and replace the original triangle with the three new triangles formed by P and the three vertices of the triangle.

[0097] 4) For each boundary point: (a) find the triangle that contains the boundary point; (b) delete this triangle and create three new triangles with the boundary point and the three vertices of this triangle.

[0098] 5) For each border point: (a) find the edge closest to the border point on all the edges of the triangles; (b) if there are multiple edges with the same distance and the closest edge, select any one of them; (c) delete the closest edge and create two new triangles with the border point and the two endpoints of this edge.

[0099] 6) Check and maintain Delaunay properties. For each triangle newly generated in steps 4) and 5), construct its minimum enclosing circle and check whether there are other points in the circle: (1) If there is no inner point, the triangle meets the Delaunay condition. (2) If there is an inner point, perform an edge flip operation until the Delaunay condition is met. Among them:

[0100] Check the Delaunay condition: For each newly inserted triangle Δabc: (a) construct its minimum enclosing circle; (b) find the inner point of this circle among all points; (c) if there is an inner point, Δabc does not satisfy the Delaunay condition.

[0101] Edge flip operation: Let Δabc and Δcda be two adjacent triangles with edge bc as the shared edge: (a) If their minimum enclosing circles have a common internal point, edge bc needs to be flipped; (b) With point a and point d as the center respectively, connect all the points in the enclosing circles and find the flipped diagonal ad; (c) Delete edge bc and add edge ad to generate two new triangles Δadb and Δbdc.

[0102] 7) Repeat step 3 until all internal points are inserted. In this way, through the process of "adding points and checking flipping", the Delaunay triangulation of the internal points of the plane can be finally obtained.

[0103] See the improved Delaunay triangulation effect diagram Figure 3 shown.

[0104] Preferably, the fusing and optimizing the Delaunay triangulated mesh comprises:

[0105] For the points on the detected edges, the positions where additional points are added around them are re-triangulated, the plane mesh and the triangular mesh on the edge are spliced ​​and fused, transition processing is performed at the category boundary, and the overall mesh is smoothed and simplified to obtain an optimized triangular mesh.

[0106] Specifically, the generated triangular mesh is post-processed, such as removing unnecessary triangles, smoothing, etc. This can further improve the quality and aesthetics of the generated triangular mesh, making it more suitable for subsequent applications and analysis.

[0107] This embodiment achieves high-quality mesh reconstruction by guiding Delaunay triangulation through tensor voting classification. This surface reconstruction algorithm can be applied to surface defect measurement of industrial fine parts, improving the accuracy of industrial part defect detection. This method integrates technologies from multiple fields of computational geometry and computer graphics and has important research value.

[0108] The tensor voting algorithm in this embodiment is as follows:

[0109]

[0110]

[0111] The above algorithm can be implemented by running relevant programs on a computer or a device including a processor.

[0112] The improved triangulation algorithm in this embodiment is as follows:

[0113]

[0114]

[0115] By comparing the method proposed in this embodiment with the traditional two-stage method (i.e., direct triangulation and simple combination), the results show that the algorithm proposed in this embodiment can generate a higher quality and more semantic triangular mesh. Specifically, the minimum angle of the triangle is improved by 8.7% and the volume error is reduced by 5.6%. This shows that the method proposed in this embodiment has significant advantages in efficient 3D reconstruction and representation of complex point cloud scenes, and provides new ideas and methods for research and application in related fields.

[0116] This embodiment combines point cloud understanding and triangular mesh generation, making full use of the geometric features and classification information in the point cloud, thereby improving the effects of three-dimensional reconstruction and representation.

[0117] Example 2

[0118] Figure 4 This is a schematic diagram of an industrial parts inspection system based on tensor voting. Figure 4 As shown, this embodiment provides an industrial parts detection system based on tensor voting, and the system includes:

[0119] A classification module 401 is used to scan industrial parts to obtain a point cloud set, and classify the point cloud set using a tensor voting algorithm to obtain point sets of different categories;

[0120] A division module 402 is used to use an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories respectively to obtain Delaunay triangulated meshes of the point sets of each category;

[0121] A reconstruction module 403 is used to fuse and optimize the Delaunay triangulated meshes to reconstruct the surface of the industrial part;

[0122] The detection module 404 is used to perform defect detection on the industrial part based on the curved surface.

[0123] Preferably, the classification module 401 classifies the point cloud set using a tensor voting algorithm, and obtains point sets of different categories including:

[0124] For each point, the principal curvature, normal vector, and curvature are calculated using the tensor voting algorithm in its local neighborhood. The tensor field is estimated using the calculated normal vector, the eigenvalue of the tensor is calculated, and the point cloud is classified according to the curvature of the eigenvalue.

[0125] Preferably, the division module 402 adopts an optimized Delaunay triangulation algorithm, and performs Delaunay triangulation on the point sets of different categories respectively, including:

[0126] A greedy projection algorithm is used to divide all points on the plane into several plane point cloud sets. A starting point is selected in each plane point cloud set and projected along the normal direction to generate a triangular mesh.

[0127] Preferably, the division module 402 performs Delaunay triangulation on the point sets of different categories respectively, including:

[0128] By calculating the minimum inscribed circle of the triangle formed by each point, Delaunay triangulation is performed on all internal points of the plane; for the formed triangle, check whether it meets the Delaunay condition. If not, perform edge flipping until the Delaunay condition is met.

[0129] Preferably, the reconstruction module 403 fuses and optimizes the Delaunay triangulated meshes, including:

[0130] For the points on the detected edges, the positions where additional points are added around them are re-triangulated, the plane mesh and the triangular mesh on the edge are spliced ​​and fused, transition processing is performed at the category boundary, and the overall mesh is smoothed and simplified to obtain an optimized triangular mesh.

[0131] The specific implementation process of the functions realized by each module in this embodiment 2 is the same as the implementation process in embodiment 1, and will not be repeated here.

[0132] The above description is only a preferred embodiment of the present invention, and does not limit the patent scope of the present invention. All equivalent structural changes made by using the contents of the present invention specification and drawings under the concept of the present invention, or directly / indirectly applied in other related technical fields are included in the patent protection scope of the present invention.

Claims

1. An industrial parts detection method based on tensor voting, characterized in that: The method comprises the following steps: S1: Scanning industrial parts to obtain point cloud sets, and using tensor voting algorithm to classify the point cloud sets to obtain point sets of different categories; S2: using an optimized Delaunay triangulation algorithm, performing Delaunay triangulation on the point sets of different categories respectively, and obtaining Delaunay triangulated meshes of the point sets of each category; S3: fusing and optimizing the Delaunay triangular meshes to reconstruct the surface of the industrial part; S4: performing defect detection on the industrial part based on the curved surface; classifying the point cloud set using the tensor voting algorithm to obtain point sets of different categories include: For each point, the principal curvature, the normal vector, and the curvature are calculated in its local neighborhood using a tensor voting algorithm, the tensor field is estimated using the calculated normal vector, the eigenvalue of the tensor is calculated, and the point cloud is classified according to the curvature of the eigenvalue; the optimized Delaunay triangulation algorithm is used to perform Delaunay triangulation on the point sets of different categories respectively, including: Using a greedy projection algorithm, all points on the plane are divided into a number of plane point cloud sets, a starting point is selected in each plane point cloud set, and projection is performed along the normal direction to generate a triangular mesh; the Delaunay triangulation of the point sets of different categories includes: By calculating the minimum inscribed circle of the triangle formed by each point, Delaunay triangulation is performed on all internal points of the plane; for the formed triangle, whether it meets the Delaunay condition is checked, if not, an edge flipping operation is performed until the Delaunay condition is met; the fusion and optimization of the Delaunay triangular mesh includes: For the points on the detected edges, the positions where additional points are added around them are re-triangulated, the plane mesh and the triangular mesh on the edge are spliced ​​and fused, transition processing is performed at the category boundary, and the overall mesh is smoothed and simplified to obtain an optimized triangular mesh.

2. An industrial parts detection system based on tensor voting, characterized in that: The system comprises: A classification module, used for scanning industrial parts to obtain a point cloud set, and using a tensor voting algorithm to classify the point cloud set to obtain point sets of different categories; A partitioning module is used to use an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories respectively, so as to obtain Delaunay triangulated meshes of the point sets of each category; A reconstruction module, used for fusing and optimizing the Delaunay triangulated meshes to reconstruct the surface of the industrial part; The detection module is used to perform defect detection on the industrial part based on the curved surface; the classification module classifies the point cloud set using a tensor voting algorithm, and the point sets of different categories include: For each point, the principal curvature, normal vector, and curvature are calculated in its local neighborhood using a tensor voting algorithm, the tensor field is estimated using the calculated normal vector, the eigenvalue of the tensor is calculated, and the point cloud is classified according to the curvature of the eigenvalue; the partitioning module uses an optimized Delaunay triangulation algorithm to perform Delaunay triangulation on the point sets of different categories, including: A greedy projection algorithm is used to divide all points on the plane into several plane point cloud sets, a starting point is selected in each plane point cloud set, and projection is performed along the normal direction to generate a triangular mesh; the division module performs Delaunay triangulation on the point sets of different categories respectively, including: By calculating the minimum inscribed circle of the triangle composed of each point, Delaunay triangulation is performed on all internal points of the plane; for the formed triangle, whether it meets the Delaunay condition is checked, if not, the edge flipping operation is performed until the Delaunay condition is met; the reconstruction module fuses and optimizes the Delaunay triangular mesh, including: For the points on the detected edges, the positions where additional points are added around them are re-triangulated, the plane mesh and the triangular mesh on the edge are spliced ​​and fused, transition processing is performed at the category boundary, and the overall mesh is smoothed and simplified to obtain an optimized triangular mesh.

Citation Information

Patent Citations

  • Scattered point cloud Delaunay triangulation curved surface reconstruction method based on mapping method

    CN103985155A

  • Three-dimensional-point cloud-curved-surface reconstruction method and apparatus thereof

    CN106960470A

  • Plate point cloud defect detection method based on tensor voting principal component analysis

    CN115656182A