Non-local geometric segmentation modeling method and system for structural function analysis

CN116091743BActive Publication Date: 2026-09-08SUN YAT SEN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211722649.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2026-09-08
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

本发明解决的主要问题,是针对无监督的同类三维模型联合分割方法,解决其中使用粗粒度的单元(通过单个模型的分割算法得到的初始分割块)寻找模型集合中每个模型之间的对应关系时,出现一些单元之间无法建立对应关系而导致的漏分割问题

Benefits of technology

[0054] This invention enables automatic model segmentation without requiring any training set as prior knowledge, thereby improving the practicality of the segmentation method and providing a foundation for subsequent functional analysis. By mapping models to the spectral domain to establish correspondences between model patches, this invention reduces the potential for mismatched or missed segments in joint segmentation, thus improving the accuracy of the segmentation results. Furthermore, this invention utilizes models in the spectral domain to derive the optimal segmentation matrix, reducing computational load and optimizing the efficiency of the segmentation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116091743B_ABST
    Figure CN116091743B_ABST
Patent Text Reader

Abstract

The application discloses a non-local geometry segmentation modeling method for structure function analysis. A same kind three-dimensional model set to be segmented is input, wherein each model is recorded as M i A weight graph G i is generated for each three-dimensional model M i A weight matrix W i is constructed for each weight graph G i , and then a matching matrix between each pair of models is constructed; then, a joint weight matrix C of the model set is constructed according to the weight matrix W i of each model and the matching matrix between each pair of models; and the joint weight matrix C is used to run a multi-spectrum graph segmentation method to obtain an optimal segmentation matrix of the whole model set, so that all the models in the set are segmented at the same time, and function analysis is performed. The application further discloses a non-local geometry segmentation modeling system for structure function analysis. The application can realize automatic segmentation of the models without providing any training set as prior knowledge, thereby improving the practicability of the segmentation method and providing a basis for subsequent function analysis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of 3D model segmentation and clustering technology, specifically to a nonlocal geometric segmentation modeling method and system for structural function analysis. Background Technology

[0002] As the latest generation of visual media data, 3D models have been widely used in various fields such as industrial product design, 3D film and animation, large-scale game production, urban scene reconstruction, medical information visualization, digital map creation, and historical and cultural relic protection. In the context of the big data era, trillions of 3D models are generated and disseminated every day, resulting in an explosive growth in both the types and quantities of 3D models, and creating a huge demand in the market and industry for 3D model processing methods.

[0003] In CAE systems, there is often a need to represent the functions of complex 3D shapes. These shapes possess intricate forms and topological structures, exhibiting visual complexity and uncertainty. Semantic structural analysis of 3D models, also known as semantic segmentation, is a method of dividing a 3D model into different regions based on semantic components for structural analysis. The different regions of the divided 3D model must not overlap, and each region must possess certain semantic information that is understandable to humans. The goal of 3D model semantic segmentation is to understand and analyze the shape, features, and structure of 3D models, thereby modifying and reconstructing existing 3D models to quickly design more diverse types of 3D models, further expanding the application scope and efficiency of 3D models. Therefore, using 3D model semantic segmentation technology to construct shape representation models with structural and functional analysis is a crucial foundation for realistic physical simulation.

[0004] Depending on the purpose and application field of segmentation, 3D model segmentation methods can be divided into surface region-based segmentation methods and component-based segmentation methods. The former segments the model into several curved surface regions based on its geometric features (such as curvature and surface smoothness), while the latter, which is the category proposed in this patent, obtains the topological and functional descriptions of each component based on the visual features of the 3D model (such as geometric features, color features, and geodesic distance), thereby understanding the shape, structure, and other information of the 3D model. Methods for segmenting a single 3D model can only rely on the feature information of that single model, often making it difficult to achieve ideal segmentation results. Many similar 3D models often have the same functional components. For example, chair models, although their shapes and sizes may differ, may all have components such as backrests, seats, and legs. If a single-model segmentation method is used to segment these chair models individually, there may be cases of missing components or unclear segmentation boundaries. This is because a single model contains limited segmentation cues, making it difficult to extract enough feature information for the computer to identify the model's functional components.

[0005] One existing technology is the supervised (data-driven) joint segmentation method for 3D models described in the patent "A Shape Co-segmentation Method Based on Graph Convolutional Neural Networks". This method requires pre-segmented 3D models of the same type as a training set, and then constructs a model patch classifier based on the training set. When a new 3D model is input, this classifier can predict the category of each patch, thus achieving segmentation. The drawback of this technique is that, although such algorithms can obtain relatively accurate segmentation results, they require a large amount of manually labeled data for training, and the segmentation accuracy is highly affected by the quality of the training set. However, in practical applications, it is difficult to prepare sufficient manually labeled datasets for every type of 3D model.

[0006] The second existing technology is the unsupervised joint segmentation method for similar 3D models in the patent "3D Model Segmentation Method, Apparatus, Computing Device, and Readable Storage Medium". This method first uses a segmentation algorithm for individual models to pre-segment all models in the model set to obtain initial segmentation blocks. Then, it extracts descriptors of corresponding features from these segmentation blocks to establish correspondences between segmentation blocks of different models. Finally, it uses a clustering algorithm to classify the initial segmentation blocks obtained from all models to obtain the final segmentation result. The disadvantage of this technology is that the segmentation effect of this method largely depends on the quality of the pre-segmented initial segmentation blocks, and there is a possibility that some segmentation blocks cannot find corresponding relationships, leading to missed segmentation. Summary of the Invention

[0007] The purpose of this invention is to overcome the shortcomings of existing methods and propose a nonlocal geometric segmentation modeling method and system for structural function analysis. The main problem addressed by this invention is the issue of missed segmentation in unsupervised joint segmentation methods for similar 3D models. This is because when using coarse-grained units (initial segmentation blocks obtained through segmentation algorithms of individual models) to find the correspondence between each model in the model set, some units fail to establish a correspondence, leading to missed segmentation.

[0008] To address the aforementioned problems, this invention proposes a nonlocal geometric segmentation modeling method for structural-functional analysis, the method comprising:

[0009] Input a set of N similar 3D models to be segmented, and denote each model as M. i , i = 1, 2, ..., N;

[0010] For each of the three-dimensional models M i Generate weighted graph G i G i The vertex in M ​​is represented by i The piece of dough in G i The vertices and M in i The number of pieces in the array is denoted as n. i ;

[0011] For each weight graph G i Construct a weight matrix Elements w in the weight matrix x,y This represents the weight of the edge connecting vertices x and y, i.e., the metric for each 3D model M. i mid-surface f x with f y The numerical value of similarity between them;

[0012] All three-dimensional models M are mapped to the same spectral space. Then, the non-rigid transformation between any two models is calculated using the point registration algorithm based on the maximum expectation, thereby obtaining the facet correspondence of each pair of models. Then, the similarity between matching faces is calculated by the distance between the feature vectors of the faces in the spectral space, thereby constructing the matching matrix between each pair of models.

[0013] Based on the weight matrix of each model in the three-dimensional model set and the matching matrix between each pair of models, construct the joint weight matrix C of the model set;

[0014] The joint weight matrix C of the model set is used to run the multispectral segmentation method to obtain the optimal segmentation matrix for the entire model set, thereby segmenting all models in the set simultaneously for functional analysis.

[0015] Preferably, the weighted graph G is... i Construct a weight matrix Elements w in the weight matrix x,y This represents the weight of the edge connecting vertices x and y, i.e., the metric for each 3D model M. i mid-surface f x with f y The numerical values ​​of similarity between them are as follows:

[0016] The similarity of the faces within the model is measured by calculating three set features: geodesic distance, face concavity / convexity, and shape diameter function.

[0017] The calculation of geodesic distance includes: finding the center points of all faces in the model, then connecting the center points to form edges. When connecting, the edges must be inside the two faces, i.e., connecting edges on the sides where the included angle between the faces is less than 180°. Simultaneously, the length of all connecting edges is calculated. For any two faces f... x with f y First, Dijkstra's shortest path algorithm is used to find the shortest path between the two corresponding center points. The sum of the lengths of all connecting edges on the path is the geodesic distance g(f) between the patches. x ,f y The smaller the geodesic distance, the higher the similarity between patches. Patches that are very far apart do not have this type of similarity. Therefore, a threshold is defined. area(M) is the area of ​​the model. The similarity of geodesic distance is only considered when the geodesic distance between two patches is less than r.

[0018] The calculation of the surface roughness includes: for any two surfaces f x with f y Let their normal vectors be nv1 and nv2, and define the concavity / convexity c(f) of the two surfaces. x ,f y )for,

[0019]

[0020] Where α(n) i ,n j The angle between two normal vectors is less than 180°. A convex dihedral angle is one where the angle between the normal vectors is less than 90°, and a concave dihedral angle is the opposite.

[0021] The calculation of the shape diameter function includes: drawing a ray from the center point of any facet f along the normal direction of the facet into the model until it intersects on the other side of the model; then, using the center point as the vertex and the normal direction line as the central baseline, constructing a cone with a vertex angle of 120°, and drawing 30 rays from the vertex onto the cone until they intersect on the other side of the model; removing rays whose angle between the intersection point normal vector and the vertex normal vector is less than 90°, and calculating the average length of all remaining rays, which is the value of the shape diameter function of the facet, denoted as sdf(f); then normalizing the shape diameter function of all facests.

[0022]

[0023] Where min(sdf) and max(sdf) represent the minimum and maximum values ​​of the shape diameter function for all facets in the model, respectively, and α is a normalization factor; the similarity between two facets is calculated based on the shape diameter function as: s(f x ,f y )=|nsdf(f x )-nsdf(f y )|;

[0024] Then, based on the geodesic distance, patch concavity / convexity, and shape diameter function, the similarity between patches within the model is calculated and used as the weights in the model weight matrix:

[0025]

[0026] Where σ1, σ2, and σ3 represent the absolute difference between the maximum geodesic distance, the surface concavity / convexity, and the shape diameter function in the model, respectively;

[0027] Furthermore, to ensure that the model's weight matrix is ​​sparse, only the facet f is considered when constructing the weight matrix. x The patch f within the shortest geodesic distance range y Connect the corresponding edges, and set the weights of all other connectable edges to 0.

[0028] Preferably, all three-dimensional models M are mapped to the same spectral domain space, and then a non-rigid transformation between any two models is calculated using a point registration algorithm based on maximum expectation, thereby obtaining the facet correspondence of each pair of models. Then, the similarity between matching faces is calculated by the distance between the feature vectors of the faces in the spectral domain space, thereby constructing a matching matrix between each pair of models, specifically:

[0029] Given any two 3D models M from the set of 3D models that need to be matched. i With M j The number of faces in the two models are n respectively. i With nj Then the weight graphs and weight matrices corresponding to the two models are as follows: G i W i With G j W j ;

[0030] Normalize the weight matrix: Let as well as W respectively i With W j The degree matrix, where The Diag function converts the input elements into a diagonal matrix; the weight matrix is ​​then normalized using the degree matrix.

[0031] Mapping the normalized weight matrix to the spectral space: First, for matrix L... i With L j Eigenvalue decomposition yields L i =UΛU T L j =VΓV T Where Λ and Γ are matrices L and L, respectively. i With L j The diagonal matrix is ​​constructed by sorting the eigenvalues ​​in ascending order, and U and V are matrices formed by the eigenvectors corresponding to the eigenvalues ​​in their respective orders; then L is truncated. i With L j Find the k smallest eigenvalues ​​and extract the corresponding eigenvectors to obtain the mapping U in the k-dimensional spectral domain. k With V k ;

[0032] For the three-dimensional model M i With M j Perform patch matching: Calculate a dimension of n i ×n j The permutation matrix P, for L j Sort the data so that the energy function J(p) = arg P min||L i -PL j P T || 2 If the minimum value is found, then L after sorting by P is the minimum value. j The surface in the middle and L i The patches in the equation can be matched one-to-one; the solution of the above equation in the k-dimensional spectral domain can be transformed into:

[0033]

[0034] Here, matrix Q represents matrix L. i With L j The eigenvector permutation matrix defines the weight graph G. i With G j The corresponding one-to-one mapping relationship of vertices in the spectral graph, matrix The sign matrix, P, is used to correct the signs in the eigenvectors. k Then it is a permutation matrix of k-dimensional eigenvectors; let R k =Sign k P k Then R k It is a k×k alignment matrix used to align the 3D model M. i With M j The patches in the diagram are mapped to each other in the k-dimensional spectral space; then, the alignment matrix R can be obtained using a point registration algorithm based on maximum expectation. k This leads to the eigenvector permutation matrix Q, U. k With QV k Q T The feature vectors in the model have corresponding matching relationships; based on the matching relationships between the feature vectors obtained by decomposing the weight matrices of the two models, a one-to-one mapping relationship between the vertices in the corresponding weight graph is obtained.

[0035] Constructing a matching matrix: Define a matching matrix element m in the matrix x,y Representation Model M i The face f in x With model M j The face f in y When constructing the matching matrix, the similarity metric is calculated by finding two successfully matched faces based on the one-to-one mapping relationship of vertices in the weighted graph; the distance d(f) between the feature vectors of the faces in the spectral domain is then used. x ,f y Measuring the similarity of patches between models:

[0036]

[0037] in, and Then it is the eigenvector U in the k-dimensional spectral domain. k With V k The middle belongs to the surface f x with f y The feature vectors are σ, where σ is the maximum distance between the patches of the two models. The symbols indicate that there is a matching relationship between patches. Conversely.

[0038] Preferably, the step of constructing the joint weight matrix C of the model set based on the weight matrix of each model in the 3D model set and the matching matrix between each pair of models specifically involves:

[0039] Using the weight matrix W of the single model i (i = 1, 2, ..., N), and the Match matrix between each pair of models. i,j (i = 1, 2, ..., N; j = 1, 2, ..., N; i ≠ j), used to construct the joint weight matrix C.

[0040]

[0041] Preferably, the method of using the joint weight matrix C of the model set to run the multiple spectrogram segmentation method to obtain the optimal segmentation matrix for the entire model set, thereby segmenting all models in the set simultaneously for functional analysis, specifically:

[0042] Perform normalized segmentation: divide the model set {M1, M2, ..., M} into segments. N The joint partitioning problem is transformed into a subset partitioning problem of a graph set. To uniformly partition the model set into K functional components, we need to divide the weighted graph set G = (G1∪G2∪…∪G…). N Divide into K distinct subsets, each subset Part k =Part k (M1)∪Part k (M2)∪…∪Part k (M N Let represent the set of corresponding points in the weight graph for the same type of functional component across all models; define a label vector X for each subset. k =(x l,k ) Num×1 Num is the number of all vertices in the weighted graph set G, l = 1, 2, ..., Num, for vertex v l If it belongs to the subset Part k Then x l,k Mark as 1 if X is not marked as 0 otherwise; k The constraints are satisfied: and The partitioning matrix of the model set is defined as X = (X1, ..., X...). k ,…,X K Running the normalized segmentation method, the energy function of the joint segmentation is:

[0043]

[0044] Where, D = Diag(C·1)Num ) is a diagonal matrix of dimension Num × Num, 1 Num It is an N×1 dimensional vector, and all its elements have the value 1.

[0045] Finding the optimal segmentation matrix in the spectral space: In order to reduce the amount of computation, the joint weight matrix C of the model set is mapped to the r-dimensional spectral space (r>K), and then the energy function of the joint segmentation is obtained by minimizing the normalized segmentation method to obtain the optimal segmentation matrix Z;

[0046] Obtaining segmentation results: Using the optimal segmentation matrix Z, all models in the model set are segmented into K functional components, thereby outputting the segmentation results for functional analysis.

[0047] Accordingly, the present invention also provides a nonlocal geometric segmentation modeling system for structural function analysis, comprising:

[0048] The weighted graph generation unit is used to input a set of similar 3D models to be segmented. The set contains N 3D models, and each model in the set is denoted as M. i , i = 1, 2, ..., N; followed by each 3D model M i Generate weighted graph G i G i The vertex in M ​​is represented by i The piece of dough in G i The vertices and M in i The number of pieces in the array is denoted as n. i ;

[0049] Weight matrix construction unit, used for each weight graph G i Construct a weight matrix Elements w in the weight matrix x,y This represents the weight of the edge connecting vertices x and y, i.e., the metric for each 3D model M. i mid-surface f x with f y The numerical value of similarity between them;

[0050] The matching matrix construction unit is used to map all 3D models M to the same spectral space. Then, the non-rigid transformation between any two models is calculated using the point registration algorithm based on the maximum expectation, thereby obtaining the facet correspondence of each pair of models. Then, the similarity between mutually matched faces is calculated by the distance between the feature vectors of the faces in the spectral space, thereby constructing the matching matrix between each pair of models.

[0051] A joint weight matrix construction unit is used to construct a joint weight matrix C of the model set based on the weight matrix of each model in the three-dimensional model set and the matching matrix between each pair of models.

[0052] The model segmentation unit is used to run a multispectral segmentation method using the joint weight matrix C of the model set to obtain the optimal segmentation matrix for the entire model set, thereby segmenting all models in the set simultaneously for functional analysis.

[0053] Implementing this invention has the following beneficial effects:

[0054] This invention enables automatic model segmentation without requiring any training set as prior knowledge, thereby improving the practicality of the segmentation method and providing a foundation for subsequent functional analysis. By mapping models to the spectral domain to establish correspondences between model patches, this invention reduces the potential for mismatched or missed segments in joint segmentation, thus improving the accuracy of the segmentation results. Furthermore, this invention utilizes models in the spectral domain to derive the optimal segmentation matrix, reducing computational load and optimizing the efficiency of the segmentation process. Attached Figure Description

[0055] Figure 1 This is a flowchart illustrating the overall process of a nonlocal geometric segmentation modeling method for structural-functional analysis according to an embodiment of the present invention.

[0056] Figure 2 This is a structural diagram of a nonlocal geometric segmentation modeling system for structural function analysis according to an embodiment of the present invention. Detailed Implementation

[0057] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0058] Figure 1 This is a flowchart illustrating the overall process of a nonlocal geometric segmentation modeling method for structural-functional analysis according to an embodiment of the present invention. Figure 1 As shown, the method includes:

[0059] S1, Input a set of similar 3D models to be segmented, with N models in the set, and each model in the set is denoted as M. i , i = 1, 2, ..., N;

[0060] S2 is each of the three-dimensional models M in S1 i Generate weighted graph Gi G i The vertex in M ​​is represented by i The piece of dough in G i The vertices and M in i The number of pieces in the array is denoted as n. i ;

[0061] S3 is a weighted graph G of S2. i Construct a weight matrix Elements w in the weight matrix x,y This represents the weight of the edge connecting vertices x and y, i.e., the metric for each 3D model M. i mid-surface f x with f y The numerical value of similarity between them;

[0062] S4. Map all 3D models M to the same spectral space. Then, use the point registration algorithm based on maximum expectation to calculate the non-rigid transformation between any two models, thereby obtaining the facet correspondence of each pair of models. Then, calculate the similarity between matching faces by the distance between the feature vectors of the faces in the spectral space, thereby constructing the matching matrix between each pair of models.

[0063] S5. Based on the weight matrix of each model in the 3D model set and the matching matrix between each pair of models, construct the joint weight matrix C of the model set;

[0064] S6 uses the joint weight matrix C of the model set to run the multispectral segmentation method to find the optimal segmentation matrix for the entire model set, thereby segmenting all models in the set simultaneously for functional analysis.

[0065] Step S3 is as follows:

[0066] S3-1 measures the similarity of patches within the model by calculating three set features: patch geodesic distance, patch concavity / convexity, and shape diameter function.

[0067] S3-1-1, where calculating the geodesic distance includes: finding the center points of all faces in the model, then connecting the center points to form edges. When connecting, the edges must be inside the two faces, i.e., connecting edges on the side where the included angle between the faces is less than 180°. Simultaneously, the length of all connecting edges is calculated; for any two faces f... x with f y First, Dijkstra's shortest path algorithm is used to find the shortest path between the two corresponding center points. The sum of the lengths of all connecting edges on the path is the geodesic distance g(f) between the patches. x ,f yThe smaller the geodesic distance, the higher the similarity between patches. Patches that are very far apart do not have this type of similarity. Therefore, a threshold is defined. area(M) is the area of ​​the model. The similarity of geodesic distance is only considered when the geodesic distance between two patches is less than r.

[0068] S3-1-2, where calculating the surface roughness includes: for any two surfaces f x with f y Let their normal vectors be nv1 and nv2, and define the concavity / convexity c(f) of the two surfaces. x ,f y )for,

[0069]

[0070] Where α(n) i ,n j The angle between two normal vectors is less than 180°. A convex dihedral angle is one where the angle between the normal vectors is less than 90°, and a concave dihedral angle is the opposite.

[0071] S3-1-3, where the calculation of the shape diameter function includes: drawing a ray from the center point of any facet f along the normal direction of the facet into the model until it intersects on the other side of the model; then, using the center point as the vertex and the normal direction line as the central baseline, constructing a cone with a vertex angle of 120°, and drawing 30 rays from the vertex onto the cone until they intersect on the other side of the model; removing rays whose angle between the intersection point normal vector and the vertex normal vector is less than 90°, and calculating the average length of all remaining rays, which is the value of the shape diameter function of the facet, denoted as sdf(f); then normalizing the shape diameter functions of all facests:

[0072]

[0073] Where min(sdf) and max(sdf) represent the minimum and maximum values ​​of the shape diameter function of all facets in the model, respectively, and α is a normalization factor, which is taken as α = 4 in this embodiment; the similarity between two facets is calculated based on the shape diameter function as: s(f x ,f y )=|nsdf(f x )-nsdf(f y )|;

[0074] S3-2, based on the geodesic distance, patch concavity / convexity, and shape diameter functions obtained from S3-1-1 to S3-1-3, calculate the similarity between patches within the model and use it as the weight in the model weight matrix:

[0075]

[0076] Where σ1, σ2, and σ3 represent the absolute difference between the maximum geodesic distance, the surface concavity / convexity, and the shape diameter function in the model, respectively;

[0077] S3-3, In addition, to reduce computational cost and make the model's weight matrix a sparse matrix, only the facet f is considered when constructing the weight matrix. x The patch f within the shortest geodesic distance range y Connect the corresponding edges, and set the weights of all other connectable edges to 0.

[0078] Step S4 is as follows:

[0079] S4-1, Given any two 3D models M from the set of 3D models that need to be matched. i With M j The number of faces in the two models are n respectively. i With n j Then, after calculations S2 and S3, the weight graphs and weight matrices corresponding to the two models are as follows: G i W i With G j W j ;

[0080] S4-2, Normalize the weight matrix: Let as well as W respectively i With W j The degree matrix, where The Diag function converts the input elements into a diagonal matrix; the weight matrix is ​​then normalized using the degree matrix.

[0081] S4-3, mapping the normalized weight matrix to the spectral space: First, map the matrix L... i With L j Eigenvalue decomposition yields L i =UΛU T L j =VΓV T Where Λ and Γ are matrices L and L, respectively. i With L j The diagonal matrix is ​​constructed by sorting the eigenvalues ​​in ascending order, and U and V are matrices formed by the eigenvectors corresponding to the eigenvalues ​​in their respective orders; then L is truncated. i With L j Find the k smallest eigenvalues ​​and extract the corresponding eigenvectors to obtain the mapping U in the k-dimensional spectral domain. k With V k ;

[0082] S4-4, for the 3D model M i With M j Perform patch matching: Calculate a dimension of n i ×n j The permutation matrix P, for L j Sort the data so that the energy function J(p) = arg P min||L i -PL j P T || 2 If the minimum value is found, then L after sorting by P is the minimum value. j The surface in the middle and L i The patches in the equation can be matched one-to-one; the solution of the above equation in the k-dimensional spectral domain can be transformed into:

[0083]

[0084] Here, matrix Q represents matrix L. i With L j The eigenvector permutation matrix defines the weight graph G. i With G j The corresponding one-to-one mapping relationship of vertices in the spectral graph, matrix The sign matrix, P, is used to correct the signs in the eigenvectors. k Then it is a permutation matrix of k-dimensional eigenvectors; let R k =Sign k P k Then R k It is a k×k alignment matrix used to align the 3D model M. i With M j The patches in the diagram are mapped to each other in the k-dimensional spectral space; then, the alignment matrix R can be obtained using a point registration algorithm based on maximum expectation. k This leads to the eigenvector permutation matrix Q, U. k With QV k Q T The feature vectors in the model have corresponding matching relationships; based on the matching relationships between the feature vectors obtained by decomposing the weight matrices of the two models, a one-to-one mapping relationship between the vertices in the corresponding weight graph is obtained.

[0085] S4-5, Constructing the matching matrix: Define a matching matrix element m in the matrix x,y Representation Model M i The face f in x With model M j The face f in yWhen constructing the matching matrix, the similarity metric is calculated by finding two successfully matched faces based on the one-to-one mapping relationship of vertices in the weighted graph; the distance d(f) between the feature vectors of the faces in the spectral domain is then used. x ,f y Measuring the similarity of patches between models:

[0086]

[0087] in, and Then it is the eigenvector U in the k-dimensional spectral domain. k With V k The middle belongs to the surface f x with f y The feature vectors are σ, where σ is the maximum distance between the patches of the two models. The symbols indicate that there is a matching relationship between patches. Conversely.

[0088] Step S5 is as follows:

[0089] Using the weight matrix W of a single model i (i = 1, 2, ..., N), and the Match matrix between each pair of models calculated by S4. i,j (i = 1, 2, ..., N; j = 1, 2, ..., N; i ≠ j), used to construct the joint weight matrix C.

[0090]

[0091] Step S6 is as follows:

[0092] S6-1, Perform normalization partitioning: partition the model set {M1, M2, ..., M}. N The joint partitioning problem is transformed into a subset partitioning problem of a graph set. To uniformly partition the model set into K functional components, we need to divide the weighted graph set G = (G1∪G2∪…∪G…). N Divide into K distinct subsets, each subset Part k =Part k (M1)∪Part k (M2)∪…∪Part k (M N Let represent the set of corresponding points in the weight graph for the same type of functional component across all models; define a label vector X for each subset. k =(x l,k ) Num×1Num is the number of all vertices in the weighted graph set G, l = 1, 2, ..., Num, for vertex v l If it belongs to the subset Part k Then x l,k Mark as 1 if X is not marked as 0 otherwise; k The constraints are satisfied: and The partitioning matrix of the model set is defined as X = (X1, ..., X...). k ,…,X K Running the normalized segmentation method, the energy function of the joint segmentation is:

[0093]

[0094] Where, D = Diag(C·1) Num ) is a diagonal matrix of dimension Num × Num, 1 Num It is an N×1 dimensional vector, and all its elements have the value 1.

[0095] S6-2, Obtaining the optimal segmentation matrix in the spectral domain: In order to reduce the amount of computation, the joint weight matrix C of the model set is mapped to the r-dimensional spectral domain (r>K), and then the energy function of the joint segmentation is obtained by minimizing the normalized segmentation method to obtain the optimal segmentation matrix Z;

[0096] S6-3, Obtain the segmentation results: Using the optimal segmentation matrix Z, all models in the model set are segmented into K functional components, thereby outputting the segmentation results for functional analysis.

[0097] Accordingly, the present invention also provides a nonlocal geometric segmentation modeling system for structural function analysis, such as... Figure 2 As shown, it includes:

[0098] Weighted graph generation unit 1 is used to input a set of similar 3D models to be segmented. The set contains N 3D models, and each model in the set is denoted as M. i , i = 1, 2, ..., N; followed by each 3D model M i Generate weighted graph G i G i The vertex in M ​​is represented by i The piece of dough in G i The vertices and M in i The number of pieces in the array is denoted as n. i ;

[0099] Weight matrix construction unit 2 is used for each weight graph G i Construct a weight matrix Elements w in the weight matrix x,y This represents the weight of the edge connecting vertices x and y, i.e., the metric for each 3D model M. i mid-surface f x with f y The numerical value of similarity between them;

[0100] Matching matrix construction unit 3 is used to map all three-dimensional models M to the same spectral space. Then, the non-rigid transformation between any two models is calculated using the point registration algorithm based on maximum expectation, thereby obtaining the facet correspondence of each pair of models. Then, the similarity between mutually matched faces is calculated by the distance between the feature vectors of the faces in the spectral space, thereby constructing the matching matrix between each pair of models.

[0101] The joint weight matrix construction unit 4 is used to construct the joint weight matrix C of the model set based on the weight matrix of each model in the three-dimensional model set and the matching matrix between each pair of models;

[0102] Model segmentation unit 5 is used to run the multispectral segmentation method using the joint weight matrix C of the model set to obtain the optimal segmentation matrix for the entire model set, thereby segmenting all models in the set simultaneously for functional analysis.

[0103] Therefore, this invention can achieve automatic model segmentation without requiring any training set as prior knowledge, thereby improving the practicality of the segmentation method and providing a foundation for subsequent functional analysis. This invention reduces the problems of mismatched or missed segments in joint segmentation by mapping models to the spectral domain to establish correspondences between model patches, thus improving the accuracy of the segmentation results. This invention also utilizes models in the spectral domain to obtain the optimal segmentation matrix, reducing computational load and optimizing the efficiency of the segmentation process.

[0104] The foregoing has provided a detailed description of a nonlocal geometric segmentation modeling method and system for structural function analysis provided by the embodiments of the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A nonlocal geometric segmentation modeling method for structural function analysis, characterized in that, The method includes: Input a set of similar 3D models to be segmented, where the number of 3D models in the set is... Each model in the set is denoted as , ; For each of the three-dimensional models Generate weight graph , Vertex representation in The dough pieces in the middle, vertices in The number of pieces in the dough is denoted as ; For each weight graph Construct a weight matrix Elements in the weight matrix Indicates connection to vertices and The weight of the edges, i.e., the metric for each 3D model. medium sheet and The numerical value of similarity between them; All 3D models All are mapped to the same spectral space. Then, the non-rigid transformation between any two models is calculated using the point registration algorithm based on the maximum expectation, thereby obtaining the facet correspondence of each pair of models. Then, the similarity between the matching faces is calculated by the distance between the feature vectors of the faces in the spectral space, thereby constructing the matching matrix between each pair of models. Based on the weight matrix of each model in the 3D model set and the matching matrix between each pair of models, construct the joint weight matrix of the model set. ; Using the joint weight matrix of the model set The optimal segmentation matrix for the entire model set is obtained by running the multispectral segmentation method, thereby segmenting all models in the set simultaneously for functional analysis.

2. The nonlocal geometric segmentation modeling method for structural function analysis as described in claim 1, characterized in that, The above refers to each weight graph Construct a weight matrix Elements in the weight matrix Indicates connection to vertices and The weight of the edges, i.e., the metric for each 3D model. medium sheet and The numerical values ​​of similarity between them are as follows: The similarity of the faces within the model is measured by calculating three set features: geodesic distance, face concavity / convexity, and shape diameter function. The calculation of geodesic distance includes: finding the center points of all faces in the model, then connecting the center points to form edges. When connecting, the edges must be inside the two faces, i.e., connecting edges on the sides where the included angle between the faces is less than 180°. Simultaneously, the length of all connecting edges is calculated. For any two faces... and First, Dijkstra's shortest path algorithm is used to find the shortest path between the two corresponding center points. The sum of the lengths of all connecting edges on the path is the geodesic distance between the patches. The smaller the geodesic distance, the higher the similarity between the patches. Patches that are very far apart do not have this type of similarity. Therefore, a threshold is defined. , The area of ​​the model is only determined when the geodesic distance between two patches is less than 1. Only when the similarity of geodesic distances is considered; The calculation of the surface roughness includes: for any two surfaces and Let its normal vector be and Define the concavity and convexity of two surfaces. for, , in It represents the angle between two normal vectors that is less than 180°. A convex dihedral angle is one where the angle between the normal vectors is less than 90°, and a concave dihedral angle is the opposite. The function for calculating the shape diameter includes: using arbitrary facets Draw a ray from the center point along the normal direction of the facet into the model until it intersects on the other side of the model. Then, using the center point as the vertex and the normal direction as the central baseline, construct a cone with a vertex angle of 120°. Draw 30 rays from the vertex onto the cone until they intersect on the other side of the model. Remove rays whose intersection point normal vector and vertex normal vector have an angle less than 90°. Calculate the average length of all remaining rays; this average is the shape diameter function of the facet, denoted as . Then, the shape diameter function of all patches is normalized: , in, and Let represent the minimum and maximum values ​​of the diameter function for all facet shapes in the model, respectively. The normalization factor is used; the similarity between two patches is calculated based on the shape diameter function as follows: ; Then, based on the geodesic distance, patch concavity / convexity, and shape diameter function, the similarity between patches within the model is calculated and used as the weights in the model weight matrix: , in, , , These represent the absolute differences between the maximum geodesic distance, patch concavity / convexity, and shape diameter function in the model, respectively. Furthermore, to ensure that the model's weight matrix is ​​sparse, only patches are considered when constructing the weight matrix. The patch within the shortest geodesic distance Connect the corresponding edges, and set the weights of all other connectable edges to 0.

3. The nonlocal geometric segmentation modeling for structural function analysis as described in claim 1, characterized in that, The above refers to all three-dimensional models All models are mapped to the same spectral space. Then, a point registration algorithm based on maximum expectation is used to calculate the non-rigid transformation between any two models, thereby obtaining the patch correspondence for each pair of models. Finally, the similarity between matching patches is calculated using the distance between their feature vectors in the spectral space, thus constructing a matching matrix for each pair of models. Specifically: Given any two 3D models from the set of 3D models that need to be matched and The number of faces in the two models are respectively and The weight graphs and weight matrices corresponding to the two models are as follows: , and , ; Normalize the weight matrix: Let as well as They are respectively and The degree matrix, where , , The function is used to convert the input elements into a diagonal matrix; the weight matrix is ​​obtained by normalizing it using the degree matrix. , ; Mapping the normalized weight matrix to the spectral space: First, the matrix... and We obtain this by performing eigenvalue decomposition. , ,in and Each is a matrix and The diagonal matrix constructed by sorting the eigenvalues ​​in ascending order. and It is a matrix composed of the eigenvectors corresponding to the eigenvalues ​​in their respective order; then, truncation is performed. and Center front Find the smallest eigenvalues ​​and extract the corresponding eigenvectors to obtain... Mapping in spectral space and ; For 3D models and Perform patch matching: Calculate a dimension of The permutation matrix P, for Sort the data so that the energy function... The smallest, then after sorting by P The dough pieces and The patches in the equation correspond one-to-one; the solution of the above equation in the k-dimensional spectral domain space is transformed into: , Among them, matrix It represents a matrix and The eigenvector permutation matrix defines the weight graph. and The corresponding one-to-one mapping relationship of vertices in the spectral graph, matrix This is a sign matrix used to correct the signs in the eigenvectors. Then it is An eigenvector permutation matrix; let... ,but The dimension is The alignment matrix is ​​used to align the 3D model. and The patches in the diagram are mapped to each other in the k-dimensional spectral space; then, the alignment matrix can be obtained using a point registration algorithm based on maximum expectation. This leads to the eigenvector permutation matrix. , and The feature vectors in the model have corresponding matching relationships; based on the matching relationships between the feature vectors obtained by decomposing the weight matrices of the two models, a one-to-one mapping relationship between the vertices in the corresponding weight graph is obtained. Constructing a matching matrix: Define a matching matrix Elements in the matrix Representation Model The dough pieces With model The dough pieces When constructing the matching matrix, the similarity metric is calculated by finding two successfully matched faces based on the one-to-one mapping relationship of vertices in the weighted graph; the distance between the feature vectors of the faces in the spectral domain is then used. Measuring the similarity of patches between models: , in, , and Then it is eigenvectors in the spectral domain and The middle belongs to the noodle sheet and eigenvectors, This represents the maximum distance between the faces of the two models. The symbols indicate that there is a matching relationship between patches. Conversely.

4. The nonlocal geometric segmentation modeling method for structural function analysis as described in claim 1, characterized in that, The joint weight matrix of the model set is constructed based on the weight matrix of each model in the 3D model set and the matching matrix between each pair of models. Specifically: Using the weight matrix of the single model ,in and the matching matrix between each pair of models. ,in Used to construct the joint weight matrix C. 。 5. The nonlocal geometric segmentation modeling method for structural function analysis as described in claim 1, characterized in that, The joint weight matrix using the model set The optimal segmentation matrix for the entire model set is obtained by running a multispectral segmentation method, thereby segmenting all models in the set simultaneously for functional analysis. Specifically: Perform normalized segmentation: divide the model set The joint partitioning problem is transformed into a subset partitioning problem of a graph set. To uniformly partition the model set into K functional components, we need to partition the weighted graph set... Divide into K distinct subsets, each subset Let represent the set of corresponding points in the weight graph for the same type of functional component across all models; define a label vector for each subset. , For weighted graph set The number of all vertices contained therein. For vertices If it belongs to a subset Then Marked as Otherwise, mark it as 0; The constraints are satisfied: ,and The partitioning matrix of the model set is defined as follows: The energy function for joint segmentation obtained by running the normalized segmentation method is: , in, It is a dimension of The diagonal matrix of um It is A 3D vector, where all elements are equal to 1; Finding the optimal segmentation matrix in the spectral domain: To reduce computational cost, the joint weight matrix of the model set is... Mapped to In the spectral domain space, where Then, by minimizing the normalized segmentation method, the energy function of the joint segmentation is obtained, and the optimal segmentation matrix is ​​derived. ; Obtain the segmentation result: using the optimal segmentation matrix. Split all models in the model set into Each functional component is used to output segmentation results for functional analysis.

6. A nonlocal geometric segmentation modeling system for structural function analysis, characterized in that, The system includes: The weighted graph generation unit is used to input a set of similar 3D models to be segmented, where the number of 3D models in the set is... Each model in the set is denoted as , ; then for each of the three-dimensional models Generate weight graph , Vertex representation in The dough pieces in the middle, vertices in The number of pieces in the dough is denoted as ; Weight matrix construction unit, used for each weight graph Construct a weight matrix Elements in the weight matrix Indicates connection to vertices and The weight of the edges, i.e., the metric for each 3D model. medium sheet and The numerical value of similarity between them; Matching matrix building units are used to construct all 3D models. All are mapped to the same spectral space. Then, the non-rigid transformation between any two models is calculated using the point registration algorithm based on the maximum expectation, thereby obtaining the facet correspondence of each pair of models. Then, the similarity between the matching faces is calculated by the distance between the feature vectors of the faces in the spectral space, thereby constructing the matching matrix between each pair of models. The joint weight matrix construction unit is used to construct a joint weight matrix of the model set based on the weight matrix of each model in the 3D model set and the matching matrix between each pair of models. ; Model segmentation unit, used to utilize the joint weight matrix of the model set. The optimal segmentation matrix for the entire model set is obtained by running the multispectral segmentation method, thereby segmenting all models in the set simultaneously for functional analysis.

Citation Information

Patent Citations

  • Three-dimensional model search method based on mesh segmentation

    CN103914571A

  • Three-dimensional model similarity analysis method based on multi-feature fusion

    CN106803094A