A multi-symmetric model matching method
Through the symmetric point detection and side-dividing method, combined with geodesic distance and geometric features, the problem of error detection and poor matching effect in multi-symmetric model matching is solved, and high-precision and high-efficiency matching results are achieved.
Patent Information
- Application Number
- CN202310528166.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-11
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2043-05-11
AI Technical Summary
The prior art is prone to problems of detection errors and poor matching effects in multisymmetric model matching, especially for models with complex symmetric structures such as ants and spiders.
By classifying feature points, using symmetric point detection and side-dividing methods, combining geodesic distance and geometric features, initial matching and symmetric confusion are performed to ensure the accuracy of the matching results.
It improves the accuracy and matching accuracy of symmetric point detection, reduces time-consuming and improves operating efficiency.
Smart Images

Figure CN116563575B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of 3D graphics matching, and in particular relates to a multi-symmetric model matching method. Background Art
[0002] 3D graphics matching has a wide range of applications in the field of computer vision. Symmetrical graphics are difficult to distinguish due to their very similar geometric features, and their matching problem has always been one of the difficulties.
[0003] For 3D symmetric models, intrinsic symmetry detection is first required. Currently, the main methods for detecting intrinsic symmetry include feature-based detection (detecting symmetric points by comparing feature information between points) and model embedding method (embedding the model into Euclidean space and converting intrinsic symmetry detection into extrinsic symmetry detection).
[0004] Symmetrical graphics are matched based on geometric features. The main process of the current matching method is as follows: embed the model into Euclidean space, adjust the rotation and project the graphic onto a two-dimensional plane, determine the front, back, left and right of the model based on the normal vector and curvature information of the projected vertex, and finally adjust the symmetry confusion according to the outer product direction to achieve correct matching.
[0005] Current methods work well for models with simple symmetrical structures, but are ineffective for models with complex symmetrical structures, such as ants and spiders. This is primarily due to two factors. First, in the detection of symmetrical points, since the feature points extracted from polysymmetrical figures often contain multiple pairs of symmetrical points, and the features between these pairs are very similar and difficult to distinguish, errors in symmetrical point detection are common. Second, even when symmetrical points are detected correctly, existing methods struggle to distinguish between top, bottom, left, and right for models like ants and spiders, where the top and bottom curvature information is not significantly different. This results in cross-matching or misaligned matching.
[0006] In order to avoid the above technical problems, it is necessary to provide a multi-symmetric model matching method to overcome the above defects in the prior art. Summary of the Invention
[0007] The purpose of the embodiments of the present invention is to provide a multi-symmetry model matching method, aiming to solve the problem that current methods are prone to detection errors in detecting multiple pairs of symmetric points.
[0008] The embodiment of the present invention is implemented as follows: a multi-symmetric model matching method, characterized by comprising the following steps:
[0009] Step (1), feature point extraction: extract feature points of the non-rigid transformation models M and N to be matched respectively;
[0010] Step (2), feature point classification: classify the feature points extracted in step (1);
[0011] Step (3), initial matching: matching the symmetrical points of models M and N;
[0012] Step (4), adjusting symmetric confusion: determining whether symmetric confusion occurs in the initial matching result, and making adjustments to obtain a correct matching result.
[0013] According to a further technical solution, in step (1), the models M and N are expressed as triangular meshes.
[0014] A further technical solution, in step (2), the specific steps are: first, using a symmetrical point detection method to divide the feature points into symmetrical points and asymmetrical points, and then further dividing the symmetrical points into sides.
[0015] A further technical solution, in step (3), the specific steps are: first, a reference point is selected from the asymmetric points using the geodesic distance, and then the symmetric points are initially matched using the reference point.
[0016] A further technical solution, in step (4), the specific steps are: first, using the geometric features of the model to determine the positive direction of the model, and then judging whether symmetry confusion occurs in the initial matching based on the positive direction, and making adjustments.
[0017] Compared with the prior art, the present invention has the following beneficial effects:
[0018] The present invention provides a multi-symmetric model matching method. This method addresses the matching problem of 3D multi-symmetric graphics by proposing new strategies in three aspects: symmetry point detection, matching methods, and adjusting symmetry confusion. This method addresses the problems of low symmetry point detection accuracy, poor matching results, and long matching time in existing methods.
[0019] An embodiment of the present invention provides a multi-symmetry model matching method. The algorithm is experimented on a data set. The results show that, compared with existing algorithms, the matching accuracy and operating efficiency of the algorithm are greatly improved, both in symmetry point detection and matching results. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 It is the algorithm flow chart of the present invention;
[0021] Figure 2 Schematic diagram of the result of feature point extraction of ant and spider models in the embodiment;
[0022] Figure 3 Schematic diagram of the results of symmetric point classification of ant and spider models in the embodiment;
[0023] Figure 4 Schematic diagram of initial matching results of ant and spider models that undergo non-rigid transformation in an embodiment;
[0024] Figure 5 This is a schematic diagram of the result after adjusting the cross-matching problem in the embodiment;
[0025] Figure 6 This is a schematic diagram showing some experimental results in the examples. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to 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 intended to limit the present invention.
[0027] The specific implementation of the present invention is described in detail below with reference to specific embodiments.
[0028] like Figure 1 As shown, a multi-symmetric model matching method provided by the present invention includes the following steps:
[0029] Step (1), feature point extraction: extracting feature points of the non-rigid transformation models M and N to be matched, respectively, wherein the expression form of the models M and N is a triangular mesh;
[0030] Step (2), feature point classification: classify the feature points extracted in step (1), first use the symmetry point detection method to divide the feature points into symmetric points and asymmetric points, and then further divide the symmetric points into sides;
[0031] Step (3), initial matching: matching the symmetrical points of models M and N;
[0032] Step (4), adjusting symmetric confusion: determining whether symmetric confusion occurs in the initial matching result, and making adjustments to obtain a correct matching result.
[0033] The specific implementation plan is as follows:
[0034] 1. Extract feature points from the non-rigid transformation models M and N to be matched. Taking model M as an example, the specific process is as follows:
[0035] (1) Given a time scale t, calculate the HKS value k of all vertices on the model t (x,x), compare each vertex with all its one-ring neighboring points x i HKS value k t (x i ,x i ), if k t (x,x)>k t(x i ,x i ), then put point x into point set A to obtain the extreme point set A of the model.
[0036] (2) If the number of points in set A is less than a certain threshold, add some auxiliary points. Calculate the distance between each vertex in set M\A and set A, select the feature point with the largest distance and add it to set A. Continue to select the point with the largest distance from set A according to this process until the number meets the requirement. The formula for calculating the distance between points is:
[0037]
[0038] Where p is any point in the set M\A and d is a metric.
[0039] (3) If the number of points in point set A exceeds a certain threshold, the points in set A are fused. Determine the initial radius R and the fusion coefficient λ<1, calculate the average geodesic distance of each point in set A and sort them in descending order, and then eliminate the points in the circle with the point as the center and R as the radius. If the number of points after one fusion is still greater than the threshold, update the radius R=R*λ, and continue fusion according to the above process until the number meets the requirement.
[0040] On model N, the same method as above is used to obtain the feature point set B.
[0041] 2. Perform symmetric point detection and side separation on the feature point sets A and B extracted in step 1. Taking feature point set A as an example, the specific process is as follows:
[0042] (1) Based on the HKS values of feature points at different time scales, the HKS differences between feature points in set A are calculated to obtain the difference matrix HKSE. The HKS difference calculation method is:
[0043]
[0044] where a i 、a j are the feature points in set A, t1, t2, ..., t T are different time scales, and m is the number of points in set A.
[0045] (2) The point pairs in the difference matrix HKSE that are less than a certain threshold are placed in the set R. That is, if HKSE(2,4) is less than the threshold, the point pair (a2,a4) is placed in the set R, and the candidate set R of symmetric point pairs is obtained.
[0046] (3) Calculate the symmetric difference between each pair of points in the candidate point pair set R to obtain the symmetric difference matrix RD. The calculation method of the symmetric difference is:
[0047] RD(i,j)=max(|d(R i ,R j )-d(R i ',R j ')|,|d(R i ,R j ')-d(R i ',R j )|),i,j=1,2……,u
[0048] Among them (R i , R i '),(R j ,R j ') represents the i-th pair of points and the j-th pair of points in the set R, d is a metric, and u is the number of candidate point pairs in the set R.
[0049] (4) For each point pair (R i , R i '), in the i-th row of the symmetric difference matrix RD, select the point pairs whose difference values are less than a certain threshold value to form the support point pair set Supp(R i , R i '). For example, if RD(1,2) is less than the threshold, then the point pair (R2, R2') is the supporting point pair of the point pair (R1, R1'), and (R2, R2')∈Supp(R1, R1').
[0050] (5) In step (4), the set with the largest number of support point pairs is selected as the symmetric point set S. A .
[0051] (6) If there are multiple sets with the largest number of elements in step (5), calculate the average inner product Inner of each set as follows:
[0052]
[0053] in and For point pair (R i , R i '),(R j ,R j '), (R j ,R j ') is (R i , R i ') supporting point pairs, n i For the support point Supp(R i , R i ').
[0054] Select the largest Inner set as the final symmetric point set S A .
[0055] (7) The symmetric point set S obtained in the above steps A Further split the set S A The symmetrical points in the are marked as (S1, S2), (S3, S4) ..., and the side division method is as follows: judge d(S1, S 2i-1 )+d(S2,S 2i )>d(S1,S 2i )+d(S2,S 2i-1 ) is established, if so, then S 2i-1 With S 2i The subscripts of S are interchanged, that is, A The i-th pair of symmetric points is (S 2i , S 2i-1 ), otherwise no adjustment is made.
[0056] Perform the same steps as above on the feature point set B to obtain the symmetric point set S B And split it into two sides.
[0057] 3. For the symmetric point set S obtained in step 2 A and S B Perform initial matching. The matching process is as follows:
[0058] (1) Calculate the asymmetric point set A\S A Each point in the symmetric point set S A The average geodesic distance is calculated as follows:
[0059]
[0060] Among them, P i For the set A\S A Asymmetric point in the set A\S A The number of midpoints.
[0061] Select the asymmetric point with the largest average geodesic distance as the reference point P of model M, and B Do the same operation to obtain the reference point Q of model N.
[0062] (2) Calculate the symmetric point set S respectively A and S B The geodesic distances of each symmetrical point pair to the reference points P and Q are sorted from near to far, and the symmetrical points are matched in order. For example, suppose the set S A The second pair of symmetrical points in the set S is closest to the reference point P. BThe third pair of symmetric points of the set S is closest to the reference point Q. A The second pair of symmetric points and set S B The third pair of symmetric points of .
[0063] 4. Perform symmetric obfuscation adjustment on the matching results in step 3. The adjustment process is as follows:
[0064] (1) Calculate the center coordinates (x M ,y M ,z M )、(x N ,y N ,z N ), and obtain their respective translation matrices T M 、T N , translate the model so that the center point after translation is at the origin O(0,0,0). The translation matrix is:
[0065]
[0066] (2) Calculate the rotation angles α and β to obtain the rotation matrix R y 、R z , rotate the model so that the reference point after rotation is on the y-axis (0,1,0), and its rotation matrix R y 、R z for:
[0067]
[0068] in (P x ,P y ,P z ) are the coordinates of the reference point P.
[0069] Similarly, the same calculation method is used for model N to obtain the rotation matrix and perform the rotation transformation.
[0070] (3) After the translation and rotation transformations of steps (1) and (2), the new set S is obtained. A '、S B ', in the set S A '、S B 'Select a pair of symmetrical points to form vectors U and V, and calculate the midpoint coordinates U of the two symmetrical points mid 、V mid .
[0071] (4) Calculate the angle between vector U and the z axis (0,0,1). When the angle is greater than Less than When , determine the positive and negative z coordinates of the symmetric points that form vector U in step (3). If both are greater than 0, let N M =(0, 0, -1), if all are less than 0, then let N M =(0,0,1), if one is greater than 0 and the other is less than 0, then let When the angle is less than or greater than When , determine the positive and negative x-coordinates of the symmetric points forming the vector U in step (3). If both are greater than 0, let N M =(1,0,0), if all are less than 0, then let N M =(-1, 0, 0), if one is greater than 0 and the other is less than 0, then let N M is the positive direction of model M.
[0072] Make the same judgment on vector V to get the positive direction N of model N N .
[0073] (5) Take S A A pair of symmetrical points (S A1 , S A2 ), according to the matching result in step 3, we get S B The symmetrical point (S B1 , S B2 ), construct vector Calculate (U1×U2)N separately M and (V1×V2)N N If the two signs are consistent, it means that no cross matching has occurred and no adjustment is required; if the two signs are inconsistent, it means that cross matching has occurred and adjustment is required, that is, the symmetric point (S A1 , S A2 ) should match (S B2 , S B1 ), and make the same adjustments to the matching of the remaining symmetrical points to obtain the correct matching results.
[0074] Figure 2 The results of feature point extraction (step 1) for the ant and spider models show that the extracted feature points are evenly distributed and can describe the local features of the model.
[0075] Figure 3 This is the result of classifying symmetric points (step 2) for the ant and spider models. The same color represents a pair of symmetric points. The large dot represents one side of the model, and the small dot represents the other side.
[0076] Figure 4The initial matching results (step 3) of the ant and spider models with non-rigid transformations are shown in Figure 3. There is no misalignment in the matching results, and the position matching is completely correct, but cross matching occurs.
[0077] Figure 5 This is the result after adjusting for the above cross-matching problem;
[0078] Figure 6 This is a demonstration of some experimental results. It can be seen that this algorithm can correctly match models that undergo various non-rigid transformations.
[0079] 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 scope of protection of the present invention.
[0080] In addition, it should be understood that although this specification is described in terms of implementation methods, not every implementation method contains only one independent technical solution. This narrative method of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment can also be appropriately combined to form other implementation methods that can be understood by those skilled in the art.
Claims
1. A multi-symmetric model matching method, characterized in that: The following steps are involved: Step (1), feature point extraction: extract feature points from the non-rigid transformation models M and N to be matched respectively; the expression form of the models M and N is a triangular mesh; Step (2), feature point classification: classify the feature points extracted in step (1); the specific steps are: first, use the symmetry point detection method to classify the feature points into symmetric points and asymmetric points, and then further classify the symmetric points into sides; Step (3), initial matching: matching the symmetrical points of models M and N; the specific steps are: first, using the geodesic distance to select a reference point from the asymmetrical points, and then using the reference point to perform initial matching on the symmetrical points; Step (4), adjusting symmetric confusion: judging whether the initial matching result has symmetric confusion, and making adjustments to obtain a correct matching result; the specific steps are: first, using the geometric features of the model to determine the positive direction of the model, and then judging whether the initial matching has symmetric confusion based on the positive direction, and making adjustments; Among them, in step (1), the specific steps of feature point extraction are: Step (11): Given a time scale t, calculate the HKS value k of all vertices on the model. t (x,x), compare each vertex with all its one-ring neighboring points x i HKS value k t (x i ,x i ), if k t (x,x)>k t (x i ,x i ), then put point x into point set A to obtain the extreme value point set A of the model; Step (12): If the number of points in point set A is less than a certain threshold, some auxiliary points are added; the distance between each vertex in set M\A and set A is calculated, and the feature point with the largest distance is selected and added to set A. This process is continued to select the point with the largest distance from set A until the number meets the requirement; the distance calculation formula from point to point set is: ; Where p is any point in the set M\A, and d is a metric; Step (13): If the number of points in the point set A is greater than a certain threshold, the points in the set A are fused; the initial radius R and the fusion coefficient λ<1 are determined, the average geodesic distance of each point in the set A is calculated and sorted in descending order, and then the points in the circle with the point as the center and R as the radius are eliminated in sequence. If the number of points after one fusion is still greater than the threshold, the radius R=R*λ is updated, and the fusion is continued according to the above process until the number meets the requirement; On model N, use the same steps (11) to (13) above to obtain the feature point set B; In step (2), symmetric point detection and side separation are performed on the feature point sets A and B extracted in step (1). The specific steps are as follows: Step (21): Based on the HKS values of the feature points at different time scales, the HKS differences between the feature points in set A are calculated to obtain the difference matrix HKSE. The HKS difference calculation method is: ; Among them, a i 、a j are the feature points in set A, t1, t2, ..., t T are different time scales, m is the number of points in set A; Step (22): put the point pairs in the difference matrix HKSE that are less than a certain threshold into the set R. That is, if HKSE (2, 4) is less than the threshold, put the point pair (a2, a4) into the set R to obtain the candidate set R of symmetric point pairs. Step (23) calculates the symmetric difference between each two point pairs in the candidate point pair set R to obtain the symmetric difference matrix RD. The calculation method of the symmetric difference is: ; Among them, (R i , R i ')、(R j ,R j ') represents the i-th pair of points and the j-th pair of points in the set R, d is a metric, and u is the number of candidate point pairs in the set R; Step (24), for each point pair in the set R (R i , R i '), in the i-th row of the symmetric difference matrix RD, select the point pairs whose difference values are less than a certain threshold value to form the support point pair set Supp(R i , R i '); Step (25): Select the largest set of all support point pairs obtained in step (24) as the symmetric point set S. A ; Step (26): If there are multiple sets with the largest number of elements in step (25), calculate the average inner product Inner of each set as follows: ; in, and For point pair (R i , R i ')、(R j ,R j '), (R j ,R j ') is (R i , R i ') supporting point pairs, n i For the support point Supp(R i , R i ') in the number of point pairs; Select the largest Inner set as the final symmetric point set S A ; Step (27), for the symmetric point set S obtained in the above steps A Further split the set S A The symmetrical points in the image are marked as (S1, S2), (S3, S4) ..., and the side division method is as follows: judge in turn Is it true? If so, then S 2i-1 With S 2i The subscripts of S are interchanged, that is, A The i-th pair of symmetric points is (S 2i , S 2i-1 ), otherwise no adjustment is made; Perform the same steps (21) to (27) above on the feature point set B to obtain the symmetric point set S B And split it into two sides.