A flexible shape region matching method and system based on dense skeleton points
Through the flexible shape area matching method based on dense skeleton points, the problem of low shape matching accuracy and efficiency caused by object posture changes in point cloud registration is solved, and more efficient and accurate shape matching is achieved.
Patent Information
- Application Number
- CN202111382103.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-22
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2041-11-22
AI Technical Summary
The prior art problems of low shape matching accuracy and efficiency due to changes in object posture in point cloud registration.
The flexible shape area matching method based on dense skeleton points is adopted, and the corresponding relationship between shape areas is established through curvature skeleton extraction and key point matching, thereby achieving more efficient matching.
It improves the accuracy and efficiency of shape matching, can handle situations where shape changes are large, and reduces the probability of matching failure.
Smart Images

Figure CN114066952B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of computer vision processing, and in particular relates to a flexible shape region matching method, system and device based on dense skeleton points. Background Art
[0002] Finding correspondences between shapes is a fundamental problem in computer vision and geometric processing, and has very wide applications in computer vision. Shape correspondence is a key algorithmic component for tasks such as 3D scanning and 3D reconstruction, and is also an indispensable prerequisite for various applications such as attribute transfer, shape interpolation, and statistical modeling. Classic applications of shape correspondence, such as 3D scanning or shape deformation, usually use methods such as rigid alignment and feature matching. Rigid alignment is solved based on sampling methods. In the case of feature matching, the feature points of the shape are usually extracted, the shape descriptors of the feature points are calculated, and the correspondence is constructed by selecting the assignment with the maximum similarity.
[0003] Existing shape matching methods can be roughly divided into: registration-based methods and similarity-based methods. The main steps of the registration-based method are: first, perform point cloud registration operations on the two point clouds, and obtain the corresponding points of each point through the registration results. The similarity-based method mainly calculates geometric invariants or descriptors under appropriate deformations. Such descriptors can be defined on vertices or between vertex pairs. By performing similarity calculation and matching on the descriptors, the correspondence between the two shapes is obtained. Of the above two methods, the matching effect of the former mainly depends on the point cloud registration technology method used, but no matter which method is used, the matching effect is not very good for two shapes with large deformations. In the study of shape matching, the latter mainly focuses on finding the point-to-point correspondence between two shapes, rather than directly matching the area.
[0004] Computer vision tasks usually involve inaccurate point cloud matching due to their flexibility and practicality requirements, and correspondence between regions has more advantages. For example, in some point cloud-based shape retrieval tasks, given a query shape, the goal is to find shapes similar to the query in the database, so only the quantification of the similarity between shapes needs to be considered. However, conventional point cloud registration methods often reduce the accuracy and efficiency of shape matching due to changes in object posture when solving this type of problem. Summary of the invention
[0005] In order to solve the problems of low shape matching accuracy and efficiency in existing matching methods due to object posture changes in point cloud registration, a flexible shape region matching method, system and device based on dense skeleton points are proposed.
[0006] The present invention is implemented by the following technical solutions:
[0007] A flexible shape region matching method based on dense skeleton points is used to match shape regions corresponding to positions in two point clouds. The flexible shape region matching method comprises the following steps:
[0008] S1: Obtain two original point cloud data that need to be matched in the area, and perform equal downsampling on the two original point cloud data to obtain a source point cloud S and a target point cloud T containing the same number of points; and establish a local coordinate system based on the centroid of the source point cloud S and the target point cloud T respectively.
[0009] S2: Perform curvature skeleton extraction on the source point cloud S and the target point cloud T to obtain the initial skeleton point clouds of the two. Perform equal downsampling on the two initial skeleton point clouds to obtain the source skeleton point cloud SK containing the same number of points. 1 and target skeleton point cloud SK 2 And according to the Euclidean distance between points, the source point cloud S and the source skeleton point cloud SK 1 The first correspondence is established between the target point cloud T and the target skeleton point cloud SK 2 A second corresponding relationship is established between the points.
[0010] S3: Source skeleton point cloud SK 1 Extract key points and obtain the key point set Node; take each key point in the key point set Node as a marker of a region, and perform the key point extraction on the source skeleton point cloud SK 1 Perform regional division; then obtain the source skeleton point cloud SK 1 The region index information I to which each skeleton point belongs.
[0011] S4: Use the graph matching algorithm to match the key point set Node and the target skeleton point cloud SK 2 Match the points in to obtain the third corresponding relationship between the two.
[0012] S5: According to the third correspondence, the source skeleton point cloud SK 1 The region index information I to which each skeleton point belongs is mapped to the target skeleton point cloud SK 2 At the corresponding point in SK 1 and SK 2 The same skeleton area is divided. Then each point in the target point cloud T is divided according to its relationship with the target skeleton point cloud SK 2 The second correspondence between the two regions is divided into their respective regions to complete the final regional correspondence.
[0013] As a further improvement of the present invention, in step S1 or S2, the processing method of the equal downsampling operation is as follows: among the two original point clouds, one of the original point clouds is first subjected to a uniform downsampling operation to obtain a uniformly distributed first point cloud. Then, the number of points in the first point cloud is counted, and the same downsampling operation is performed on the other original point cloud with the number as a constraint condition to obtain a uniformly distributed second point cloud. Thus, a first point cloud and a second point cloud having the same number of points and uniform distribution are obtained.
[0014] As a further improvement of the present invention, in step S1, the method for establishing the local coordinate system is as follows:
[0015] (1) Calculate the center of mass position for the source point cloud S or the target point cloud T and determine the center of mass point p.
[0016] (2) With the centroid point p as the center of the sphere, determine a spherical region with a radius of r, and define all points in the spherical region except the centroid point p as the neighborhood points q of the centroid point p i , and form a local surface Q = {q 1 ,q 2 ,...,q k}, i = k. Among them, q k represents the kth neighboring point, and k represents the number of neighboring points of the centroid point p.
[0017] (3) Select a subset of the local surface Q to calculate the Z axis of the local coordinate system, and record the tangent plane of the centroid point p relative to the Z axis as L.
[0018] (4) Project all neighborhood points onto plane L, and for each neighborhood point q i Calculate a projection vector and merge all the calculated vectors into one vector as the X-axis of the local coordinate system.
[0019] (5) The Y axis is obtained based on the cross product of the determined X axis and Z axis, and then the required local coordinate system is established.
[0020] In the local coordinate system, the corresponding areas in the source point cloud S and the target point cloud T are respectively located in the same direction of the coordinate axis.
[0021] As a further improvement of the present invention, in step S2, the method for extracting the initial skeleton point cloud of the source point cloud S is as follows:
[0022] (1) For any given point cloud S, use the k-nearest neighbor algorithm to calculate the x i The k nearest neighbors of ;
[0023]
[0024] In the above formula, I Sis the number of points in the point cloud S.
[0025] (2) Using gradient descent-based optimization, all neighboring points are accumulated to a local center, that is, the curvature skeleton is obtained; wherein, for the obtained k neighboring points, the following optimization formula is calculated:
[0026]
[0027] In the above formula, N i,k Represents the i-th point x in the point cloud S i The k nearest neighbors of x j Represents point x i The jth nearest neighbor of .
[0028] (3) During the optimization process, the point positions in the point cloud S are iteratively updated. During each round of iterative update, the position of point x i The displacement is represented by a displacement vector u i To express:
[0029]
[0030] Among them, k i Represents point x i The number of neighboring points of .
[0031] Before moving all the points in the point cloud S each time, a matrix M1 is constructed based on the neighboring points of each point, which is expressed as follows:
[0032]
[0033] in, Represents the outer product operation of the vector, G(x i ) represents point x i The set of neighboring points of .
[0034] (4) Calculate the eigenvectors and corresponding eigenvalues of the M1 matrix, point x i The eigenvalues and eigenvectors of and
[0035] (5) After each iterative update, the following new translation vector is calculated based on the obtained data:
[0036]
[0037] Among them, u i represents the initial displacement vector, Represents point x i The pth eigenvector of i Calculated by the following formula:
[0038]
[0039] (6) Set an iterative update termination threshold η, with ∑σ i ≥η is used as the termination condition of the iteration. The point cloud obtained at the end of the iterative update is the initial skeleton point cloud of the required source point cloud S.
[0040] By using the same method as above, the initial skeleton point cloud of the target point cloud T can also be extracted.
[0041] As a further improvement of the present invention, in step S2, the source point cloud S and the source skeleton point cloud SK 1 The first correspondence between is established by the following method:
[0042] (1) Obtain a source point cloud S and a skeleton point cloud SK that needs to establish a corresponding relationship with the source point cloud S 1 ; The skeleton point cloud SK1 is obtained from the source point cloud S through the curvature skeleton extraction method.
[0043] (2) Determine the source skeleton point cloud SK 1 The number of corresponding points in the skeleton points and the source point cloud S is calculated to calculate SK 1 The Euclidean distance from each skeleton point in to all points in the source point cloud S is denoted as r, that is, r i Represents the Euclidean distance from the i-th skeleton point to all points in the source point cloud.
[0044] (3) Define the minimum Euclidean distance of all skeleton points as r min =min{r 1 ,r 2 ,...,r N}, where N is the number of skeleton points in the source skeleton point cloud, then each skeleton point corresponds to the number N in the source point cloud S i It can be defined as:
[0045]
[0046] Among them, ρ i Defined as r i / r min .
[0047] (4) For the i-th point S in the source point cloud S i , according to the size of the Euclidean distance to the skeleton point, retain the two skeleton points with the smallest distance, as well as the coordinates and serial number of the skeleton point; then calculate point S i The normal vector n i , and calculate the skeleton point corresponding to each point according to the following formula:
[0048] IND=argmin j ||L ij +N ij ||, j∈SK1
[0049] Among them, L ij Point S i The distance to the jth skeleton point, N ij is the normal vector n from the jth skeleton point i distance.
[0050] Thus completing the skeleton point cloud SK 1 The correspondence between each skeleton point and the source point cloud S.
[0051] In addition, the same method can be used to calculate the target point cloud T and the target skeleton point cloud SK 2 A second corresponding relationship is established between them.
[0052] As a further improvement of the present invention, in step S3, the method for generating the key point set Node is as follows:
[0053] (1) Statistical source skeleton point cloud SK 1 The number of points N in the source skeleton point cloud SK1 is set to n.
[0054] (2) Take the first skeleton point in the source skeleton point cloud SK1 as the root node and calculate the Euclidean distance from this point to its nk nearest neighbor points, where After summing the Euclidean distances, calculate the average value as the distance r of the next key point;
[0055] (3) Source skeleton point cloud SK 1 Traverse and set the first point whose Euclidean distance from the current key point is greater than r as the next key point; continue to select the next key point until all points in the skeleton point cloud are traversed and the key point set Node is obtained.
[0056] As a further improvement of the present invention, in step S3, the method for generating the region index information I is as follows:
[0057] For the key point set Node that has been established, each key point in the key point set Node is used as a region marker, and there are n regions in total. Then, for all the remaining skeleton points in the skeleton point cloud, the distance from each skeleton point to the closest key point is calculated. If the distance is less than r, the skeleton point is marked as the corresponding point of the key point; and a one-dimensional vector with a length equal to the number of remaining skeleton points is used to save the markers of the regions to which each skeleton point belongs, and the required region index information I is obtained.
[0058] As a further improvement of the present invention, in step S4, the key point set Node and the target skeleton point cloud SK 2 The calculation method of the third correspondence between is as follows:
[0059] (1) Establish the adjacency matrix A of the key point set Node respectively 1 and target skeleton point cloud SK 2 The adjacency matrix A 2 ; Among them, the adjacency matrix A 1 A 1 (i,j) represents the connectivity between the i-th point and the j-th point in the key point set Node. If the two points are connected, then A 1 (i,j)=1, otherwise A 1 (i, j) = 0; the method of establishing the adjacency matrix A2 is the same as above.
[0060] (2) According to the obtained adjacency matrix, the degree H of each point in Node and SK2 is calculated respectively. The value of H represents the number of points connected to the point. The degree H of each point in Node and SK2 is recorded as H 1 and H 2 .
[0061] (3) According to the number of points in the key point set Node and the target skeleton point cloud SK2, the size of the correspondence matrix M is determined: when the key point set Node and SK 2 There are P and Q points respectively, and they are initialized to all points in Node and SK 2 When all points in have corresponding relationships, the size of the established correspondence matrix M is P*Q×P*Q. The main diagonal elements of the correspondence matrix M represent the similarity of two vertices in each correspondence, which is defined as:
[0062] U(i,j)=exp(-C(i,j) / σ);
[0063] Where C(i,j)=‖H 1 (i)-H 2 (j)‖, represents the i-th vertex in Node and SK 2 The difference in degree between the j-th vertices in ; σ is a hyperparameter with a value of 0.5.
[0064] (4) Based on the obtained correspondence matrix M, a one-dimensional vector x with a length of P*Q is established to represent the final correct correspondence. In the one-dimensional vector x, x t =1 means the tth group of correspondence is correct, otherwise, x t =0 means that the correspondence of the tth group is not correct;
[0065] The off-diagonal elements of the matrix M describe the similarity between two sets of correspondences and are defined as:
[0066] U(i,j,k,l)=exp(-(d g (i,j,k,l)+d u (i,j,k,l)) / σ);
[0067] in,
[0068] d g (i,j,k,l)=‖g(i,j)-g(k,l)‖,
[0069] d u (i,j,k,l)=‖C(i,j)-C(k,l)‖,
[0070] In the above formula, g(i,j) represents the geodesic distance between the i-th vertex and the j-th vertex, k,l represent the k-th vertex and the l-th vertex respectively, C(i,j) is the same as defined before, and the hyperparameter σ is set to 0.5.
[0071] (5) Perform singular value decomposition on the correspondence matrix M to obtain the eigenvector corresponding to the maximum eigenvalue of the correspondence matrix M. The value in the eigenvector is used as the confidence f that each set of correspondence is correct. The values in the eigenvector are sorted and the sorted eigenvector is recorded as v. The calculation formula of the confidence f is as follows:
[0072]
[0073] Among them, v i Represents the i-th element in the sorted feature vector.
[0074] Find the first element in v with confidence f<1, assume it is the i-th one. If two corresponding points belong to the same area in the local coordinate system, then the first i-1 corresponding points with larger confidence are taken as the correct correspondence.
[0075] (6) For the established one-dimensional vector x, if the corresponding points are in the same part of the local coordinate system, update the elements in the matrix M and iterate step (5) until the target skeleton point cloud SK 2 All points on the Node find corresponding points on the key point set Node; then the final one-dimensional vector x is converted into a matrix form, and the final corresponding relationship is saved as the required third corresponding relationship.
[0076] The present invention also includes a flexible shape region matching system based on dense skeleton points, which is used to perform shape region matching on two point clouds using the flexible shape region matching method based on dense skeleton points as described above. Then, the correspondence between different regions in the two point clouds is obtained. The flexible shape region matching system includes: a point cloud extraction module, a coordinate establishment module, a skeleton point cloud generation module, a first mapping module, a key point set extraction module, a second mapping module, and a region matching relationship generation module.
[0077] Among them, the point cloud extraction module is used to obtain two original point cloud data that need to be matched in the area, and then perform equal downsampling operations on the two original point cloud data to obtain the source point cloud S and the target point cloud T containing the same number of points.
[0078] The coordinate establishment module is used to establish the local coordinate system of the source point cloud and the target point cloud according to the centroid positions of the source point cloud and the target point cloud; and make the corresponding areas in the source point cloud S and the target point cloud T in the local coordinate system respectively located in the same direction of the coordinate axis.
[0079] The skeleton point cloud generation module is used to extract the initial skeleton point clouds of the source point cloud S and the target point cloud T respectively through the curvature skeleton extraction method, and perform equal downsampling operations on the two initial skeleton point clouds to obtain the source skeleton point cloud SK 1 and target skeleton point cloud SK 2 .
[0080] The first mapping module is used to map the source skeleton point cloud SK 1 and target skeleton point cloud SK 2 The Euclidean distance of each point in the source point cloud S and the source skeleton point cloud SK 1 The first correspondence is established between the target point cloud T and the target skeleton point cloud SK 2 A second corresponding relationship is established between them.
[0081] The key point set extraction module is used to traverse the source skeleton point cloud and extract the key points therein according to the preset rules and quantity to obtain the key point set Node containing all the key points. Each key point in the key point set Node is used as a marker for region division, and then the region index information I is obtained.
[0082] The second mapping module is used to map the key point set Node and the target skeleton point cloud SK through a graph matching algorithm. 2 In the third corresponding relationship, each point in the target skeleton point cloud SK2 corresponds to and only corresponds to one point in the key point set Node, and each point in the key point set Node corresponds to no less than one point in the target skeleton point cloud SK2.
[0083] The region matching relationship generation module is used to apply the region index information I established by the key point set Node in the source skeleton point cloud SK1 to the target skeleton point cloud SK2 according to the third corresponding relationship established in the second mapping module. 1 and SK 2 The same skeleton area is divided. Then, according to each point in the target point cloud T and the target skeleton point cloud SK 2 The second correspondence between the two points is used to divide each point in the target point cloud T into its respective area, and the final area correspondence is completed.
[0084] The present invention also provides a flexible shape area matching device based on dense skeleton points, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the steps of the flexible shape area matching method based on dense skeleton points as described above are implemented.
[0085] The technical solution provided by the present invention has the following beneficial effects:
[0086] The flexible shape region matching method based on dense skeleton points in the present invention can establish a region correspondence relationship between two shapes. In the shape matching process, the method does not directly process the point clouds corresponding to the two shapes to be matched, but indirectly processes them with the help of the dense curvature skeleton and key point set of the point cloud. Therefore, complex calculations can be avoided, the amount of data processing calculations can be reduced, and the processing efficiency can be improved.
[0087] In the method provided by the present invention, the dense curvature skeleton used is insensitive to the topological structure of the original point cloud. Therefore, in the process of shape matching, it is not necessary for the two objects to have exactly the same topological structure. Even if any one of the two shapes changes to a large extent, a good matching effect can be achieved, reducing the probability of matching failure and greatly improving the efficiency of shape matching.
[0088] The method provided by the present invention can also be applied to point cloud registration as a priori constraint for point-to-point shape matching. First, the method is used to establish a correspondence between different regions in two point clouds, and then a rough registration of the point clouds is achieved based on the correspondence, filtering out some obvious erroneous pairing relationships; finally, accurate registration is performed for the points in the region. This improved registration method can not only improve the registration efficiency between point clouds, but also improve the registration accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0089] Figure 1 This is a flowchart of the steps of a flexible shape region matching method based on dense skeleton points provided in Example 1 of the present invention.
[0090] Figure 2This is a flow chart of step S2 in Example 1 of the present invention.
[0091] Figure 3 This is a flow chart of step S4 in Example 1 of the present invention.
[0092] Figure 4 This is a method principle diagram of a flexible shape region matching method based on dense skeleton points provided in Example 1 of the present invention.
[0093] Figure 5 Schematic diagram of system modules of a flexible shape region matching system based on dense skeleton points provided in Example 2 of the present invention. DETAILED DESCRIPTION
[0094] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0095] Example 1
[0096] This embodiment provides a flexible shape region matching method based on dense skeleton points, which is used to match shape regions corresponding to positions in two point clouds. Figure 1 As shown, the flexible shape region matching method includes the following steps:
[0097] S1: Obtain two original point cloud data that need to be matched in the area, and perform equal downsampling on the two original point cloud data to obtain a source point cloud S and a target point cloud T containing the same number of points; and establish a local coordinate system based on the centroid of the source point cloud S and the target point cloud T respectively.
[0098] Specifically, for the two original point cloud data obtained, a uniform downsampling operation is first performed on one of the original point clouds to obtain a uniformly distributed first point cloud, namely, the source point cloud S. Then, the number of points in the source point cloud S is counted, and the same downsampling operation is performed on the other original point cloud with the number as a constraint condition to obtain a uniformly distributed second point cloud, namely, the target point cloud T. Then, the source point cloud S and the target point cloud T with the same number of points and uniform distribution are obtained.
[0099] Among them, for the source point cloud S and the target point cloud T, the method of establishing the local coordinate system of the two is as follows:
[0100] (1) Calculate the center of mass position for the source point cloud S or the target point cloud T and determine the center of mass point p.
[0101] (2) With the centroid point p as the center of the sphere, determine a spherical region with a radius of r, and define all points in the spherical region except the centroid point p as the neighborhood points q of the centroid point p i, and form a local surface Q = {q 1 ,q 2 ,...,q k}, i = k. Among them, q k represents the kth neighboring point, and k represents the number of neighboring points of the centroid point p.
[0102] (3) Select a subset of the local surface Q to calculate the Z axis of the local coordinate system, and record the tangent plane of the centroid point p relative to the Z axis as L.
[0103] (4) Project all neighborhood points onto plane L, and for each neighborhood point q i Calculate a projection vector and merge all the calculated vectors into one vector as the X-axis of the local coordinate system.
[0104] (5) The Y axis is obtained based on the cross product of the determined X axis and Z axis, and then the required local coordinate system is established.
[0105] In the established local coordinate system, the corresponding areas in the source point cloud S and the target point cloud T are located in the same direction of the coordinate axis.
[0106] S2: Perform curvature skeleton extraction on the source point cloud S and the target point cloud T to obtain the initial skeleton point clouds of the two. Perform equal downsampling on the two initial skeleton point clouds to obtain the source skeleton point cloud SK containing the same number of points. 1 and target skeleton point cloud SK 2 And according to the Euclidean distance between points, the source point cloud S and the source skeleton point cloud SK 1 The first correspondence is established between the target point cloud T and the target skeleton point cloud SK 2 The second correspondence is established between the points of Figure 2 shown.
[0107] Among them, the method for extracting the initial skeleton point cloud of the source point cloud S is as follows:
[0108] (1) For any given point cloud S, use the k-nearest neighbor algorithm to calculate the x i The k nearest neighbors of ;
[0109]
[0110] In the above formula, I S is the number of points in the point cloud S.
[0111] (2) Using gradient descent-based optimization, all neighboring points are accumulated to a local center, that is, the curvature skeleton is obtained; wherein, for the obtained k neighboring points, the following optimization formula is calculated:
[0112]
[0113] In the above formula, N i,k Represents the i-th point x in the point cloud S i The k nearest neighbors of x j Represents point x i The jth nearest neighbor of .
[0114] (3) During the optimization process, the point positions in the point cloud S are iteratively updated. During each round of iterative update, the position of point x i The displacement is represented by a displacement vector u i To express:
[0115]
[0116] Among them, k i Represents point x i The number of neighboring points of .
[0117] Before moving all the points in the point cloud S each time, a matrix M1 is constructed based on the neighboring points of each point, which is expressed as follows:
[0118]
[0119] in, Represents the outer product operation of the vector, G(x i ) represents point x i The set of neighboring points of .
[0120] (4) Calculate the eigenvectors and corresponding eigenvalues of the M1 matrix, point x i The eigenvalues and eigenvectors of and
[0121] (5) After each iterative update, the following new translation vector is calculated based on the obtained data:
[0122]
[0123] Among them, u i represents the initial displacement vector, Represents point x i The pth eigenvector of i Calculated by the following formula:
[0124]
[0125] (6) Set an iterative update termination threshold η, with ∑σ i ≥η is used as the termination condition of the iteration. The point cloud obtained at the end of the iterative update is the initial skeleton point cloud of the required source point cloud S.
[0126] By the same method as above, the initial skeleton point cloud of the target point cloud T can also be extracted. For the two initial skeleton point clouds of the source point cloud S and the target point cloud T, the source skeleton point cloud SK corresponding to the first initial skeleton point cloud is first obtained by downsampling. 1 Then count the source skeleton point cloud SK 1 The number of midpoints is used as a constraint to perform an equal amount of downsampling on the second initial skeleton point cloud to obtain the target skeleton point cloud SK corresponding to the target point cloud T. 2 .
[0127] Furthermore, the source point cloud S and the source skeleton point cloud SK 1 The first correspondence between is established by the following method:
[0128] (i) Obtain a source point cloud S and a skeleton point cloud SK that needs to establish a corresponding relationship with the source point cloud S 1 ; The skeleton point cloud SK1 is obtained from the source point cloud S through the curvature skeleton extraction method.
[0129] (ii) Determine the source skeleton point cloud SK 1 The number of corresponding points in the skeleton points and the source point cloud S is calculated to calculate SK 1 The Euclidean distance from each skeleton point in to all points in the source point cloud S is denoted as r, that is, r i Represents the Euclidean distance from the i-th skeleton point to all points in the source point cloud.
[0130] (iii) Define the minimum Euclidean distance of all skeleton points as r min =min{r 1 ,r 2 ,...,r N}, where N is the number of skeleton points in the source skeleton point cloud, then each skeleton point corresponds to the number N in the source point cloud S i It can be defined as:
[0131]
[0132] Among them, ρ i Defined as r i / r min .
[0133] (iv) For the i-th point S in the source point cloud S i , according to the size of the Euclidean distance to the skeleton point, retain the two skeleton points with the smallest distance, as well as the coordinates and serial number of the skeleton point; then calculate point S i The normal vector n i , and calculate the skeleton point corresponding to each point according to the following formula:
[0134] IND=argmin j ||L ij +N ij ||, j∈SK1
[0135] Among them, L ij Point S i The distance to the jth skeleton point, N ij is the normal vector from the jth skeleton point to n i distance.
[0136] Thus completing the skeleton point cloud SK 1 The correspondence between each skeleton point and the source point cloud S.
[0137] In this embodiment, the same method can be used to find the target point cloud T and the target skeleton point cloud SK 2 A second corresponding relationship is established between them.
[0138] S3: Source skeleton point cloud SK 1 Extract key points and obtain the key point set Node; take each key point in the key point set Node as a marker of a region, and perform the key point extraction on the source skeleton point cloud SK 1 Perform regional division; then obtain the source skeleton point cloud SK 1 The region index information I to which each skeleton point belongs.
[0139] In this embodiment, the method for generating the key point set Node is as follows:
[0140] (1) Statistical source skeleton point cloud SK 1 The number of points N in the source skeleton point cloud SK1 is set to n.
[0141] (2) Take the first skeleton point in the source skeleton point cloud SK1 as the root node and calculate the Euclidean distance from this point to its nk nearest neighbor points, where After summing the Euclidean distances, the average value is calculated as the distance r of the next key point.
[0142] (3) Source skeleton point cloud SK 1 Traverse and set the first point whose Euclidean distance from the current key point is greater than r as the next key point; continue to select the next key point until all points in the skeleton point cloud are traversed and the key point set Node is obtained.
[0143] The method for generating the regional index information I is as follows:
[0144] For the key point set Node that has been established, each key point in the key point set Node is used as a region marker, and there are n regions in total. Then, for all the remaining skeleton points in the skeleton point cloud, the distance from each skeleton point to the closest key point is calculated. If the distance is less than r, the skeleton point is marked as the corresponding point of a key point; and a one-dimensional vector with a length equal to the number of remaining skeleton points is used to save the markers of the regions to which each skeleton point belongs, and the required region index information I is obtained.
[0145] S4: Use the graph matching algorithm to match the key point set Node and the target skeleton point cloud SK 2 Match the points in to obtain the third corresponding relationship between the two.
[0146] like Figure 3 As shown, the key point set Node and the target skeleton point cloud SK 2 The calculation process of the third correspondence between is as follows:
[0147] (1) Establish the adjacency matrix A of the key point set Node respectively 1 and target skeleton point cloud SK 2 The adjacency matrix A 2 ; Among them, the adjacency matrix A 1 A 1 (i,j) represents the connectivity between the i-th point and the j-th point in the key point set Node. If the two points are connected, then A 1 (i,j)=1, otherwise A 1 (i, j) = 0; the method of establishing the adjacency matrix A2 is the same as above.
[0148] (2) According to the obtained adjacency matrix, the degree H of each point in Node and SK2 is calculated respectively. The value of H represents the number of points connected to the point. The degree H of each point in Node and SK2 is recorded as H 1 and H 2 .
[0149] (3) According to the number of points in the key point set Node and the target skeleton point cloud SK2, the size of the correspondence matrix M is determined: when the key point set Node and SK 2 There are P and Q points respectively, and they are initialized to all points in Node and SK 2 When all points in have corresponding relationships, the size of the established correspondence matrix M is P*Q×P*Q. The main diagonal elements of the correspondence matrix M represent the similarity of two vertices in each correspondence, which is defined as:
[0150] U(i,j)=exp(-C(i,j) / σ);
[0151] Where C(i,j)=‖H1 (i)-H 2 (j)‖, represents the i-th vertex in Node and SK 2 The difference in degree between the j-th vertices in ; σ is a hyperparameter with a value of 0.5.
[0152] (4) Based on the obtained correspondence matrix M, a one-dimensional vector x with a length of P*Q is established to represent the final correct correspondence. In the one-dimensional vector x, x t =1 means the tth group of correspondence is correct, otherwise, x t =0 means that the correspondence of the tth group is not correct;
[0153] The off-diagonal elements of the matrix M describe the similarity between two sets of correspondences and are defined as:
[0154] U(i,j,k,l)=exp(-(d g (i,j,k,l)+d u (i,j,k,l)) / σ);
[0155] in,
[0156] d g (i,j,k,l)=‖g(i,j)-g(k,l)‖,
[0157] d u (i,j,k,l)=‖C(i,j)-C(k,l)‖,
[0158] In the above formula, g(i,j) represents the geodesic distance between the i-th vertex and the j-th vertex, k,l represent the k-th vertex and the l-th vertex respectively, C(i,j) is the same as defined before, and the hyperparameter σ is set to 0.5.
[0159] (5) Perform singular value decomposition (SVD) on the correspondence matrix M to obtain the eigenvector corresponding to the maximum eigenvalue of the correspondence matrix M. The value in the eigenvector is used as the confidence f that each set of correspondence is correct. The values in the eigenvector are sorted and the sorted eigenvector is recorded as v. The calculation formula of the confidence f is as follows:
[0160]
[0161] Among them, v i Represents the i-th element in the sorted feature vector.
[0162] Find the first element in v with confidence f<1, assuming it is the i-th one. If a set of corresponding points belongs to the same area in the local coordinate system, the first i-1 corresponding points with larger confidence are taken as the correct correspondence;
[0163] (6) For the established one-dimensional vector x, if the corresponding points are in the same part of the local coordinate system, update the elements in the matrix M and iterate step (5) until the target skeleton point cloud SK 2 All points on the Node find corresponding points on the key point set Node; then the final one-dimensional vector x is converted into a matrix form, and the final corresponding relationship is saved as the required third corresponding relationship.
[0164] S5: According to the third correspondence, the source skeleton point cloud SK 1 The region index information I to which each skeleton point belongs is mapped to the target skeleton point cloud SK 2 At the corresponding point in SK 1 and SK 2 The same skeleton area is divided. Then each point in the target point cloud T is divided according to its relationship with the target skeleton point cloud SK 2 The second correspondence between the two regions is divided into their respective regions to complete the final regional correspondence.
[0165] Specifically, the principle diagram of the shape area correspondence method in this case is as follows: Figure 4 As shown. First, extract the dense curvature skeletons of the two point cloud data, calculate the correspondence between the skeleton points and the point cloud, and then divide the first skeleton points into regions to obtain a set of key points. Then map the region information to which the skeleton points belong directly to the point cloud, match the key point set with the second curvature skeleton, and obtain the correspondence between the key points and the second skeleton points. According to the correspondence between the key points and the second skeleton points, map the first skeleton region segmentation to the point cloud corresponding to each skeleton point in the second skeleton, and finally obtain the region correspondence of the two shapes. The technical solution provided in this embodiment solves the problem of low shape matching accuracy and efficiency caused by changes in object posture in existing matching methods in point cloud registration, and can also be used as a priori constraint for point-to-point shape matching.
[0166] Most of the existing shape matching methods calculate the point-to-point relationship between two point clouds. These methods usually process the two point clouds directly, which requires a complex calculation process. For data with a large number of point clouds, the amount of calculation is generally large, and when the two shapes change to a large extent, the matching effect may not be very good, so the corresponding relationship obtained may also be wrong. The current regional correspondence method requires that the two point clouds have exactly the same topological structure. Once the topological structure between the two point clouds changes, the matching will fail.
[0167] Second, the method based on dense curvature skeleton matching used in this embodiment is insensitive to the topological structure of the point cloud, and avoids direct matching operations on the point cloud data, so changes in the topological structure of the point cloud data do not have much impact on this method, thereby improving the accuracy of the regional correspondence. In addition, in the method provided in this embodiment, in the case of no precise initial correspondence in point cloud registration, the regional correspondence of the two point clouds can be calculated first, and an initial rough match can be performed based on the regional correspondence to filter out some obvious wrong matching pairs.
[0168] Example 2
[0169] On the basis of Example 1, this embodiment provides a flexible shape region matching system based on dense skeleton points, which is used to perform shape region matching on two point clouds using the flexible shape region matching method based on dense skeleton points as in Example 1, thereby obtaining the correspondence between different regions in the two point clouds.
[0170] like Figure 5 As shown, the flexible shape region matching system provided in this embodiment includes: a point cloud extraction module, a coordinate establishment module, a skeleton point cloud generation module, a first mapping module, a key point set extraction module, a second mapping module, and a region matching relationship generation module.
[0171] The point cloud extraction module is used to obtain two original point cloud data that need to be matched in the area, and then perform equal downsampling operations on the two original point cloud data to obtain the source point cloud S and the target point cloud T containing the same number of points. The original point cloud data is obtained by scanning the corresponding object through the point cloud acquisition device.
[0172] The coordinate establishment module is used to establish the local coordinate system of the source point cloud and the target point cloud according to the centroid positions of the source point cloud and the target point cloud; and make the corresponding areas in the source point cloud S and the target point cloud T in the local coordinate system respectively located in the same direction of the coordinate axis.
[0173] The skeleton point cloud generation module is used to extract the initial skeleton point clouds of the source point cloud S and the target point cloud T respectively through the curvature skeleton extraction method, and perform equal downsampling operations on the two initial skeleton point clouds to obtain the source skeleton point cloud SK 1 and target skeleton point cloud SK 2 .
[0174] The first mapping module is used to map the source skeleton point cloud SK 1 and target skeleton point cloud SK 2 The Euclidean distance of each point in the source point cloud S and the source skeleton point cloud SK 1 The first correspondence is established between the target point cloud T and the target skeleton point cloud SK2 A second corresponding relationship is established between them.
[0175] The key point set extraction module is used to traverse the source skeleton point cloud and extract the key points therein according to the preset rules and quantity to obtain the key point set Node containing all the key points. Each key point in the key point set Node is used as a marker for region division, and then the region index information I is obtained.
[0176] The second mapping module is used to map the key point set Node and the target skeleton point cloud SK through a graph matching algorithm. 2 In the third corresponding relationship, each point in the target skeleton point cloud SK2 corresponds to and only corresponds to one point in the key point set Node, and each point in the key point set Node corresponds to no less than one point in the target skeleton point cloud SK2.
[0177] The region matching relationship generation module is used to apply the region index information I established by the key point set Node in the source skeleton point cloud SK1 to the target skeleton point cloud SK2 according to the third corresponding relationship established in the second mapping module. 1 and SK 2 The same skeleton area is divided. Then, according to each point in the target point cloud T and the target skeleton point cloud SK 2 The second correspondence between the two points is used to divide each point in the target point cloud T into its respective area, and the final area correspondence is completed.
[0178] Example 3
[0179] This embodiment provides a flexible shape area matching device based on dense skeleton points. The flexible shape area matching device is a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the steps of the flexible shape area matching method based on dense skeleton points as described in Example 1 are implemented.
[0180] The computer device may be a smart phone, tablet computer, laptop computer, desktop computer, rack server, blade server, tower server or cabinet server (including an independent server or a server cluster composed of multiple servers) that can execute programs. The computer device of this embodiment includes at least but is not limited to: a memory and a processor that can communicate with each other through a system bus.
[0181] In this embodiment, the memory (i.e., readable storage medium) includes flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory may be an internal storage unit of a computer device, such as a hard disk or memory of the computer device. In other embodiments, the memory may also be an external storage device of a computer device, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the computer device. Of course, the memory may also include both the internal storage unit of the computer device and its external storage device. In this embodiment, the memory is generally used to store an operating system and various application software installed on the computer device. In addition, the memory may also be used to temporarily store various types of data that have been output or are to be output.
[0182] The processor may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip in some embodiments. The processor is generally used to control the overall operation of a computer device. In this embodiment, the processor is used to run the program code stored in the memory or process data to implement the processing of the flexible shape region matching method based on dense skeleton points in the aforementioned embodiment, thereby achieving region matching between two shapes.
[0183] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A flexible shape region matching method based on dense skeleton points, which is used to match shape regions corresponding to positions in two point clouds; It is characterized in that The flexible shape area matching method comprises the following steps: S1: Obtain two original point cloud data that need to be matched in the region, perform equal downsampling on the two original point cloud data to obtain a source point cloud S and a target point cloud T containing the same number of points; and establish a local coordinate system based on the centroid of the source point cloud S and the target point cloud T respectively; S2: Perform curvature skeleton extraction on the source point cloud S and the target point cloud T to obtain the initial skeleton point clouds of the two, and perform equal downsampling on the two initial skeleton point clouds to obtain the source skeleton point cloud SK containing the same number of points 1 and target skeleton point cloud SK 2 ; And according to the Euclidean distance of the points, the source point cloud S and the source skeleton point cloud SK 1 The first correspondence is established between the target point cloud T and the target skeleton point cloud SK 2 Establish a second corresponding relationship between the points; The method for extracting the initial skeleton point cloud of the source point cloud S is as follows: (1) For any given point cloud S, use the k-nearest neighbor algorithm to calculate the x i The k nearest neighbors of ; In the above formula, I S is the number of points in the point cloud S; (2) Using gradient descent-based optimization, all neighboring points are accumulated to a local center, that is, the curvature skeleton is obtained; wherein, for the obtained k neighboring points, the following optimization formula is calculated: In the above formula, N i,k Represents the i-th point x in the point cloud S i The k nearest neighbors of x j Represents point x i The jth nearest neighbor of ; (3) During the optimization process, the point positions in the point cloud S are iteratively updated. During each round of iterative update, the position of point x i The displacement is represented by a displacement vector u i To express: Among them, k i Represents point x i The number of neighboring points of ; Before moving all the points in the point cloud S each time, a matrix M1 is constructed based on the neighboring points of each point. It is expressed as follows: in, Represents the outer product operation of the vector, G(x i ) represents point x i The set of neighboring points of ; (4) Calculate the eigenvectors and corresponding eigenvalues of the M1 matrix, point x i The eigenvalues and eigenvectors of and (5) After each iterative update, the following new translation vector is calculated based on the obtained data: Among them, u i represents the initial displacement vector, Represents point x i The pth eigenvector of i Calculated by the following formula: (6) Set an iterative update termination threshold η, with ∑σ i ≥η is used as the termination condition of the iteration. The point cloud obtained at the end of the iterative update is the initial skeleton point cloud of the required source point cloud S; The method for extracting the initial skeleton point cloud of the target point cloud T is the same as above; The source point cloud S and the source skeleton point cloud SK 1 The first correspondence between is established by the following method: (1) Obtain a source point cloud S and a skeleton point cloud SK that needs to establish a corresponding relationship with the source point cloud S 1 ; The skeleton point cloud SK1 is obtained from the source point cloud S by using a curvature skeleton extraction method; (2) Determine the source skeleton point cloud SK 1 The number of corresponding points in the skeleton points and the source point cloud S is calculated to calculate SK 1 The Euclidean distance from each skeleton point in to all points in the source point cloud S is denoted as r, that is, r i Represents the Euclidean distance from the i-th skeleton point to all points in the source point cloud; (3) Define the minimum Euclidean distance of all skeleton points as r min =min{r 1 ,r 2 ,...,r N }, where N is the number of skeleton points in the source skeleton point cloud, then the number of corresponding points in the source point cloud S corresponding to each skeleton point is N i Defined as: Among them, ρ i Defined as r i / r min ; (4) For the i-th point S in the source point cloud S i , according to the size of the Euclidean distance to the skeleton point, retain the two skeleton points with the smallest distance, and the coordinates and serial number information of their corresponding skeleton points; then calculate point S i The normal vector n i , and calculate the skeleton point corresponding to each point according to the following formula: IND=argmin j ||L ij +N i j||,j∈SK1 Among them, L ij Point S i The distance to the jth skeleton point, N ij is the normal vector n from the jth skeleton point i distance; Thus, the corresponding relationship between each skeleton point in the skeleton point cloud SK1 and the source point cloud S is established; The target point cloud T and the target skeleton point cloud SK 2 The method for establishing the second corresponding relationship between is the same as above; S3: Source skeleton point cloud SK 1 Extract key points and obtain the key point set Node; take each key point in the key point set Node as a marker of a region, and perform the key point extraction on the source skeleton point cloud SK 1 Perform regional division; then obtain the source skeleton point cloud SK 1 The region index information I to which each skeleton point belongs; The method for generating the key point set Node is as follows: (1) Statistical source skeleton point cloud SK 1 The number of points in the source skeleton point cloud SK1 is set to N, and the number of key points in the source skeleton point cloud SK1 is set to n; (2) Take the first skeleton point in the source skeleton point cloud SK1 as the root node and calculate the Euclidean distance from this point to its nk nearest neighbor points, where After summing the Euclidean distances, calculate the average value as the distance r of the next key point; (3) Source skeleton point cloud SK 1 Traverse and set the first point whose Euclidean distance from the current key point is greater than r as the next key point; continue to select the next key point until all points in the skeleton point cloud are traversed and the key point set Node is obtained; S4: Use a graph matching algorithm to match the key point set Node and the target skeleton point cloud SK 2 Match the points in to obtain the third corresponding relationship between the two; The key point set Node and the target skeleton point cloud SK 2 The calculation method of the third correspondence between is as follows: (1) Establish the adjacency matrix A of the key point set Node respectively 1 and target skeleton point cloud SK 2 The adjacency matrix A 2 ; Among them, the adjacency matrix A 1 A 1 (i,j) represents the connectivity between the i-th point and the j-th point in the key point set Node. If the two points are connected, then A 1 (i,j)=1, otherwise A 1 (i, j) = 0; the method of establishing the adjacency matrix A2 is the same as above; (2) According to the obtained adjacency matrix, the degree H of each point in Node and SK2 is calculated respectively. The value of H represents the number of points connected to the point. The degree H of each point in Node and SK2 is recorded as H 1 and H 2 ; (3) Determine the size of the correspondence matrix M according to the number of points in the key point set Node and the target skeleton point cloud SK2: 2 There are P and Q points respectively, and they are initialized to all points in Node and SK 2 When all points in have corresponding relationships, the size of the established correspondence matrix M is P*Q×P*Q. The main diagonal elements of the correspondence matrix M represent the similarity of two vertices in each correspondence, which is defined as: U(i,j)=exp(-C(i,j) / σ); Where C(i,j)=‖H 1 (i)-H 2 (j)‖, represents the i-th vertex in Node and SK 2 The difference between the degrees of the j-th vertices in ; σ is a hyperparameter with a value of 0.5; (4) Based on the obtained correspondence matrix M, a one-dimensional vector x with a length of P*Q is established to represent the final correct correspondence. In the one-dimensional vector x, x t =1 means the correspondence of the tth group is correct, otherwise, x t =0 means that the correspondence of the tth group is not correct; The off-diagonal elements of the matrix M describe the similarity between two sets of correspondences and are defined as: U(i,j,k,l)=exp(-(d g (i,j,k,l)+d u (i,j,k,l)) / σ); in, d g (i,j,k,l)=‖g(i,j)-g(k,l)‖, d u (i,j,k,l)=‖C(i,j)-C(k,l)‖, In the above formula, g(i,j) represents the geodesic distance between the i-th vertex and the j-th vertex, k,l represent the k-th vertex and the l-th vertex respectively; C(i,j) is the same as the previous definition, and the hyperparameter σ is 0.5; (5) Perform singular value decomposition on the correspondence matrix M to obtain the eigenvector corresponding to the maximum eigenvalue of the correspondence matrix M. The value in the eigenvector is used as the confidence f that each set of correspondence is correct. The values in the eigenvector are sorted, and the sorted eigenvector is recorded as v. The calculation formula of the confidence f is as follows: Among them, v i Represents the i-th element in the sorted feature vector; Find the first element in v with confidence f<1, assuming it is the i-th one. If a set of corresponding points belongs to the same area in the local coordinate system, the first i-1 corresponding points with larger confidence are taken as the correct correspondence; (6) For the established one-dimensional vector x, if the corresponding points are in the same part of the local coordinate system, update the elements in the matrix M and iterate step (5) until the target skeleton point cloud SK 2 All points on the Node are matched with corresponding points on the key point set Node; then the final one-dimensional vector x is converted into a matrix form, and the final corresponding relationship is saved as the required third corresponding relationship; S5: According to the third corresponding relationship, the source skeleton point cloud SK 1 The region index information I to which each skeleton point belongs is mapped to the target skeleton point cloud SK 2 At the corresponding point in SK 1 and SK 2 The same skeleton area is divided; each point in the target point cloud T is divided according to its relationship with the target skeleton point cloud SK 2 The second correspondence between the two regions is divided into their respective regions to complete the final regional correspondence.
2. The flexible shape region matching method based on dense skeleton points as claimed in claim 1, It is characterized in that In step S1 or S2, the processing method of the equal downsampling operation is as follows: among the two original point clouds, first perform a uniform downsampling operation on one of the original point clouds to obtain a uniformly distributed first point cloud; then count the number of points in the first point cloud, and use the number as a constraint condition to perform the same downsampling operation on the other original point cloud to obtain a uniformly distributed second point cloud; thus, a first point cloud and a second point cloud with the same number of points and uniform distribution are obtained.
3. The flexible shape region matching method based on dense skeleton points as claimed in claim 1, It is characterized in that In step S1, the method for establishing the local coordinate system is as follows: (1) Calculate the centroid position for the source point cloud S or the target point cloud T and determine the centroid point p; (2) With the centroid point p as the center of the sphere, determine a spherical region with a radius of r, and define all points in the spherical region except the centroid point p as the neighborhood points q of the centroid point p i , and form a local surface Q = {q 1 ,q 2 ,...,q k }, i = k; where q k represents the kth neighboring point, k represents the number of neighboring points of the centroid point p; (3) Select a subset of the local surface Q to calculate the Z axis of the local coordinate system, and record the tangent plane of the centroid point p relative to the Z axis as L; (4) Project all neighborhood points onto plane L, and for each neighborhood point q i Calculate a projection vector and merge all the calculated vectors into one vector as the X-axis of the local coordinate system; (5) Obtain the Y axis based on the cross product of the determined X axis and Z axis, and then establish the required local coordinate system; Wherein, in the local coordinate system, the corresponding areas in the source point cloud S and the target point cloud T are respectively located in the same direction of the coordinate axis.
4. The flexible shape region matching method based on dense skeleton points as claimed in claim 1, Features: In step S3, the method for generating the region index information I is as follows: For the key point set Node that has been established, each key point in the key point set Node is used as a mark of the region, and there are n regions in total; then for all the remaining skeleton points in the skeleton point cloud, the distance from each skeleton point to the nearest key point is calculated; if the distance is less than r, the skeleton point is marked as the corresponding point of the key point; and a one-dimensional vector with a length of the number of remaining skeleton points is used to save the mark of the region to which each skeleton point belongs, that is, the required region index information I is obtained.
5. A flexible shape region matching system based on dense skeleton points, Features: The flexible shape region matching system is used to perform shape region matching on two point clouds using the flexible shape region matching method based on dense skeleton points as described in any one of claims 1 to 4; and then obtain the correspondence between different regions in the two point clouds; The flexible shape area matching system comprises: The point cloud extraction module is used to obtain two original point cloud data that need to be matched in the area, and then perform equal downsampling operations on the two original point cloud data to obtain a source point cloud S and a target point cloud T containing the same number of points; A coordinate establishment module, which is used to establish a local coordinate system of the source point cloud and the target point cloud according to the centroid positions of the source point cloud and the target point cloud; and make the corresponding areas in the source point cloud S and the target point cloud T in the local coordinate system respectively located in the same direction of the coordinate axis; The skeleton point cloud generation module is used to extract the initial skeleton point clouds of the source point cloud S and the target point cloud T respectively by using the curvature skeleton extraction method, and perform equal downsampling operations on the two initial skeleton point clouds to obtain the source skeleton point cloud SK 1 and target skeleton point cloud SK 2 ; The first mapping module is used to map the source skeleton point cloud SK 1 and target skeleton point cloud SK 2 The Euclidean distance of each point in the source point cloud S and the source skeleton point cloud SK 1 The first correspondence is established between the target point cloud T and the target skeleton point cloud SK 2 A second corresponding relationship is established between the two; A key point set extraction module is used to traverse the source skeleton point cloud and extract key points therein according to preset rules and quantities to obtain a key point set Node containing all key points; each key point in the key point set Node is used as a mark for region division, thereby obtaining region index information I; The second mapping module is used to map the key point set Node and the target skeleton point cloud SK through a graph matching algorithm. 2 A third corresponding relationship is established between the target skeleton point cloud SK2 and the target skeleton point cloud SK3; in the third corresponding relationship, each point in the target skeleton point cloud SK2 corresponds to and only corresponds to one point in the key point set Node, and each point in the key point set Node corresponds to at least one point in the target skeleton point cloud SK2; and The region matching relationship generation module is used to apply the region index information I established by the key point set Node in the source skeleton point cloud SK1 to the target skeleton point cloud SK2 according to the third corresponding relationship established in the second mapping module; thereby making SK 1 and SK 2 Have the same skeleton area division; then according to each point in the target point cloud T and the target skeleton point cloud SK 2 The second correspondence between the two points is used to divide each point in the target point cloud T into its respective area, and the final area correspondence is completed.
6. A flexible shape region matching device based on dense skeleton points, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, It is characterized in that When the processor executes the program, the steps of the flexible shape region matching method based on dense skeleton points as described in any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Three-dimensional human body standard skeleton extraction method for continuous frame point cloud
CN109829972A
RepNet model-based human body multi-view image sequence skeleton extraction method
CN112884822A