Similarity matching search method and system based on geometric features of three-dimensional model
By using the normal relationship between the centroid and normal feature points in a 3D model to form a histogram, the matching accuracy and diversity problems of 3D model retrieval in the prior art are solved, and more efficient search accuracy and low-cost feature library creation are achieved.
Patent Information
- Application Number
- CN202310330609.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-28
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2043-03-28
AI Technical Summary
Among existing 3D model retrieval methods, text search has poor performance and low matching degree, image search is complex and costly, while methods based on model geometric features have insufficient matching accuracy when the level of detail varies.
By using the centroid of the surface in the model as the feature point and the normal as the normal of the feature point, a histogram is formed by using the normal relationship and distance ratio between the feature points. This histogram serves as a feature of the 3D model, highlighting the differences in concave and convex shapes and improving matching accuracy.
It improves the accuracy and diversity of 3D model search, simplifies the feature library creation process, and reduces costs.
Smart Images

Figure CN116342908B_ABST
Abstract
Description
Technical Field
[0001] This disclosure belongs to the field of 3D model retrieval technology, and in particular relates to a similarity matching search method and system based on the geometric shape features of 3D models. Background Technology
[0002] The statements in this section are merely background information relating to this disclosure and do not necessarily constitute prior art.
[0003] With the development of computer hardware and software technology, 3D models are increasingly used in fields such as animation, mechanics, and medicine, leading to a surge in the number of 3D models and presenting greater challenges to the field of 3D model retrieval. Currently, most 3D model searches rely on text search, which suffers from poor performance, low matching accuracy, and limited model variety. Some methods use image similarity matching to identify similar models; however, using a single image often fails to adequately represent the overall external shape of the model, while using multi-view images for feature description complicates the functional structure and increases costs. Furthermore, some methods are based on geometric features. The inventors have found that most of these methods construct model similarity using point, edge, and face data. However, these methods suffer from significantly reduced feature matching accuracy when the number of points, edges, and faces varies, indicating different levels of model detail. Summary of the Invention
[0004] To address the aforementioned problems, this disclosure provides a similarity matching search method and system based on the geometric shape features of a 3D model. The scheme uses the centroid of a face in the model as the feature point of a triangle and the normal of the face as the normal of the feature point. It classifies the distances between feature points by utilizing the pairwise normal relationships, thereby forming a histogram. Furthermore, it uses the ratio of the distances from the feature points to the model origin to form a histogram, which together serve as the features of the 3D model. This approach effectively highlights the differences in the concavity and convexity of the models, resulting in more accurate feature representations and thus significantly improving the accuracy of model search.
[0005] According to a first aspect of the present disclosure, a similarity matching search method based on the geometric shape features of a three-dimensional model is provided, comprising:
[0006] The geometric shape features of the 3D model to be searched are extracted using a pre-defined geometric shape feature extraction model.
[0007] Based on the geometric features, the similarity between the model and the three-dimensional model in the pre-built feature index library is calculated. Based on the similarity calculation results, the model corresponding to the model to be searched is obtained.
[0008] The feature index library stores several 3D models and their corresponding geometric features extracted using a preset geometric feature extraction model. The geometric feature extraction model performs the following processing steps: acquiring point and surface data of the 3D model; selecting a preset number of surfaces, using the centroid of each surface as a feature point, and constructing a feature point set; constructing a distance set based on the distance between any two feature points in the feature point set; calculating the distance ratio between any two feature points based on the distance from each feature point to the model origin, and constructing a distance ratio set; dividing the distance set and the distance ratio set into several subsets according to preset rules, and forming a corresponding histogram for each subset; and using the obtained histogram and the number of elements within each subset as features of the 3D model.
[0009] Furthermore, the step of dividing the distance set and the distance ratio set into several subsets according to a preset rule specifically involves: calculating the angle between the line segment formed by two pairs of feature points in the feature point set and the normal vector of the two feature points, and dividing the distance set and the distance ratio set into several subsets based on the size of the angle, and counting the number of elements in each subset.
[0010] Furthermore, the calculation of the angle between the line segment formed by two pairs of feature points in the feature point set and the normal vector of the two feature points specifically involves: for feature points P1 and P2, calculating the first angle between the line segment P1P2 and the normal vector of feature point P1, and calculating the second angle between the line segment P2P1 and the normal vector of feature point P2; and partitioning the distance set and the distance ratio set into subsets based on the magnitude of the first and second angles and a preset angle threshold.
[0011] Furthermore, the acquisition of the feature point normal vector is specifically as follows: the face of the three-dimensional model is a triangular face, and the normal vector of the triangular face is calculated based on the three vertex data of the triangular face. The normal vector of the triangular face is used as the normal vector of the corresponding feature point of the current triangular face.
[0012] Furthermore, for the distance ratios between any two feature points, when the distance ratio between two feature points is greater than 1, its reciprocal is taken as the final distance ratio.
[0013] Furthermore, the step of calculating the similarity between the geometric shape features and the 3D models in the pre-built feature index library specifically involves: calculating the similarity value between the model to be searched and the histogram corresponding to the distance set in the geometric shape features of the model in the feature index library, as the first similarity; calculating the similarity value between the model to be searched and the histogram corresponding to the distance ratio set in the geometric shape features of the model in the feature index library, as the second similarity; and obtaining the final similarity by weighted summation of the first and second similarities.
[0014] Furthermore, all models in the feature index library are traversed, the similarity between each model and the model to be searched is calculated, and the models are sorted from largest to smallest based on the similarity. A preset number of models at the top of the sorted list are then displayed.
[0015] According to a second aspect of the present disclosure, a similarity matching search system based on the geometric features of a three-dimensional model is provided, comprising:
[0016] The feature extraction unit is used to extract features from the 3D model to be searched using a preset geometric shape feature extraction model, and obtain the geometric shape features of the model to be searched.
[0017] The model search unit is used to calculate the similarity between the geometric shape features and the three-dimensional models in the pre-built feature index library, and to obtain the model corresponding to the model to be searched based on the similarity calculation results.
[0018] The feature index library stores several 3D models and their corresponding geometric features extracted using a preset geometric feature extraction model. The geometric feature extraction model performs the following processing steps: acquiring point and surface data of the 3D model; selecting a preset number of surfaces, using the centroid of each surface as a feature point, and constructing a feature point set; constructing a distance set based on the distance between any two feature points in the feature point set; calculating the distance ratio between any two feature points based on the distance from each feature point to the model origin, and constructing a distance ratio set; dividing the distance set and the distance ratio set into several subsets according to preset rules, and forming a corresponding histogram for each subset; and using the obtained histogram and the number of elements within each subset as features of the 3D model.
[0019] According to a third aspect of the present disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and running on the memory, wherein the processor executes the program to implement the aforementioned similarity matching search method based on the geometric features of a three-dimensional model.
[0020] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the aforementioned similarity matching search method based on the geometric features of a three-dimensional model.
[0021] Compared with the prior art, the beneficial effects of this disclosure are:
[0022] (1) This disclosure provides a similarity matching search method and system based on the geometric shape features of a three-dimensional model. The scheme highlights the differences in concavity and convexity between models by utilizing the normal information of the faces in the three-dimensional model and the distance ratio from feature points to the model origin, thereby making the extracted model features more accurate. At the same time, by using the centroid of the face in the model as the feature point of the triangle and the normal of the face as the normal of the feature point, the distance between feature points is classified by using the normal relationship between each pair of feature points, thereby forming a histogram. Furthermore, the histogram is formed by using the distance ratio from feature points to the model origin, and these are used together as features of the three-dimensional model. This method can effectively highlight the differences in concavity and convexity between models, and the extracted features have higher accuracy in representing the model, thereby effectively improving the accuracy of model search.
[0023] (2) The scheme described in this disclosure performs matching search based on the features of the model itself and matches according to the geometric shape feature information of the model. The matching degree is high and the search results are diverse and not limited to a certain type of model. At the same time, when creating the model feature library, there is no need to extract the view of the model. The method is simple to operate and has low cost.
[0024] Advantages of this disclosure in additional aspects will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this disclosure. Attached Figure Description
[0025] The accompanying drawings, which form part of this disclosure, are used to provide a further understanding of this disclosure. The illustrative embodiments of this disclosure and their descriptions are used to explain this disclosure and do not constitute an undue limitation of this disclosure.
[0026] Figure 1 This is a flowchart illustrating the specific implementation of a similarity matching search method based on the geometric features of a three-dimensional model as described in this embodiment of the present disclosure.
[0027] Figure 2 This is a flowchart illustrating the feature extraction process of the geometric feature extraction model described in this embodiment. Detailed Implementation
[0028] The present disclosure will be further described below with reference to the accompanying drawings and embodiments.
[0029] It should be noted that the following detailed descriptions are exemplary and intended to provide further illustration of this disclosure. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.
[0030] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments according to this disclosure. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms “comprising” and / or “including” are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.
[0031] Where there is no conflict, the embodiments and features described herein can be combined with each other.
[0032] Example 1:
[0033] The purpose of this embodiment is to provide a similarity matching search method based on the geometric features of a 3D model.
[0034] like Figure 1 As shown, a similarity matching search method based on the geometric shape features of a 3D model includes:
[0035] The geometric shape features of the 3D model to be searched are extracted using a pre-defined geometric shape feature extraction model.
[0036] Based on the geometric features, the similarity between the model and the three-dimensional model in the pre-built feature index library is calculated. Based on the similarity calculation results, the model corresponding to the model to be searched is obtained.
[0037] The feature index library stores several 3D models and their corresponding geometric features extracted using a preset geometric feature extraction model. The geometric feature extraction model performs the following processing steps: acquiring point and surface data of the 3D model; selecting a preset number of surfaces, using the centroid of each surface as a feature point, and constructing a feature point set; constructing a distance set based on the distance between any two feature points in the feature point set; calculating the distance ratio between any two feature points based on the distance from each feature point to the model origin, and constructing a distance ratio set; dividing the distance set and the distance ratio set into several subsets according to preset rules, and forming a corresponding histogram for each subset; and using the obtained histogram and the number of elements within each subset as features of the 3D model.
[0038] In specific implementation, such as Figure 2 As shown, the geometric shape feature extraction model specifically includes the following processing steps:
[0039] Step (1): Read the 3D model file and obtain the model point and face (stored using triangular faces) data;
[0040] Step (2): Select n faces (which can be set according to actual needs), calculate the centroid of each triangle face as the feature point of the face. Each triangle face has three vertex data (p1(x1,y1,z1),p2(x2,y2,z3),p3(x3,y3,z3)), P0=1 / 3(P1+P2+P3), and P0 is used as the feature point of the face; realize the construction of the feature point set of the three-dimensional model;
[0041] Step (3): Calculate the Euclidean distance between any two feature points. For example, the Euclidean distance between feature points P0(x1,y1,z1) and P1(x2,y2,z2) is: To construct a distance set for a 3D model;
[0042] Step (4): Calculate the distance from each feature point P(x,y,z) to the model origin (0,0,0): Then calculate the pairwise distance ratios: R = l1 / l2. If R > 1, then: R = l2 / l1; thus constructing the set of distance ratios for the 3D model.
[0043] Step (5): Divide the distance set and the distance ratio set into several subsets according to preset rules, specifically:
[0044] Step (6): Calculate the angle between the line segment formed by each pair of feature points P1 and P2 and the normals n1 and n2 of the two feature points respectively. That is, the cosine of the angle between the directed line segment P1P2 and n1: cosθ1=(P1P2·n1) / (|P1P2|×|n1|), and the cosine of the angle between the directed line segment P2P1 and n2: cosθ2=(P2P1·n2) / (|P2P1|×|n2|); the range of θ1 and θ2 in the formula is [0, π].
[0045] Step (7): Based on angles θ1 and θ2, divide the line segment distance L into three categories: those where both angles θ1 and θ2 are greater than π / 2, those where both angles are less than π / 2, and the rest into another category. This results in three sets: V1, V2, and V3. The number of segments in each category, W1, W2, and W3, is then counted.
[0046] Step (8): As above, classify the distance ratios R. Group those where both angles θ1 and θ2 are greater than π / 2 into one category, those where both angles are less than π / 2 into another category, and the rest into a third category. This results in three sets: Q1, Q2, and Q... 33 And count the number of W1, W2, W3 in each category.
[0047] Step (9): First, generate histograms for the three sets V1, V2, and V3 of line segment distances. The maximum value in each set is max, and the minimum value is min. The number of intervals in each histogram is fixed at 64. Then, the length unit of the horizontal axis of the histogram is: bin = (max - min) / 64.
[0048] Step (10): As above, generate three histograms for the three sets of ratios Q1, Q2, and Q3.
[0049] Step (11): The histograms generated from the six sets V1, V2, V3, Q1, Q2, and Q3, and the three values W1, W2, and W3, are used as the feature values of the three-dimensional model.
[0050] In specific implementation, features are extracted from the model to be searched based on the aforementioned geometric shape feature extraction model, and a feature index library is pre-constructed based on the geometric shape feature extraction model; then, by traversing the feature index library, the similarity between the model to be searched and each model feature in the feature index library is measured, specifically including:
[0051] Step (1): For the histograms h1 and h2 formed from the k-th set of the line segment distance sets of the two compared models (i.e., model 1 and model 2), the similarity metric is: The total similarity measure of the line segment distance across the three histograms is used as the first similarity: V = α1d1 + α2d2 + α3d3, where α1, α2, and α3 are the weights of the corresponding sets of the two models, respectively, and α1 = (n 11 +n 21 ) / 2n, α2=(n 12 +n 22 ) / 2n, α3=(n 13 +n 23 ) / 2n. n ik This represents the number of elements in the k-th class set within the i-th model. n represents the total number of line segments obtained in each model.
[0052] Step (2): As above, the total similarity measure Q of the three histograms of the ratio can be calculated as the second similarity.
[0053] Step (3): By weighted summation of the first similarity and the second similarity, the similarity measure of the two models is obtained as: D = 0.7V + 0.3Q;
[0054] Step (4): Map the similarity measure to the interval (0,1) to get: per=1 / (1+D).
[0055] Step (5): Traverse all feature values in the feature index library and sort them from largest to smallest based on per.
[0056] Step (6): Select the top n similar 3D model IDs.
[0057] Step (7): Finally, find the corresponding model in the model library based on the ID and return it.
[0058] Example 2:
[0059] The purpose of this embodiment is to provide a similarity matching search system based on the geometric features of a three-dimensional model.
[0060] A similarity matching search system based on the geometric features of a 3D model includes:
[0061] The feature extraction unit is used to extract features from the 3D model to be searched using a preset geometric shape feature extraction model, and obtain the geometric shape features of the model to be searched.
[0062] The model search unit is used to calculate the similarity between the geometric shape features and the three-dimensional models in the pre-built feature index library, and to obtain the model corresponding to the model to be searched based on the similarity calculation results.
[0063] The feature index library stores several 3D models and their corresponding geometric features extracted using a preset geometric feature extraction model. The geometric feature extraction model performs the following processing steps: acquiring point and surface data of the 3D model; selecting a preset number of surfaces, using the centroid of each surface as a feature point, and constructing a feature point set; constructing a distance set based on the distance between any two feature points in the feature point set; calculating the distance ratio between any two feature points based on the distance from each feature point to the model origin, and constructing a distance ratio set; dividing the distance set and the distance ratio set into several subsets according to preset rules, and forming a corresponding histogram for each subset; and using the obtained histogram and the number of elements within each subset as features of the 3D model.
[0064] Furthermore, the system described in this embodiment corresponds to the method described in Embodiment 1, and its specific details have been described in detail in Embodiment 1, so they will not be repeated here.
[0065] In further embodiments, the following is also provided:
[0066] An electronic device includes a memory and a processor, as well as computer instructions stored in the memory and running on the processor. When executed by the processor, the computer instructions perform the method described in Embodiment 2. For brevity, further details are omitted here.
[0067] It should be understood that in this embodiment, the processor can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0068] Memory may include read-only memory and random access memory, and provides instructions and data to the processor. A portion of memory may also include non-volatile random access memory. For example, memory may also store information about the device type.
[0069] A computer-readable storage medium for storing computer instructions, which, when executed by a processor, perform the method described in Embodiment 2.
[0070] The method in Example 2 can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor. The software modules can reside in readily available storage media in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, a detailed description is not provided here.
[0071] Those skilled in the art will recognize that the units, i.e., algorithm steps, of the various examples described in connection with this embodiment can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0072] The above embodiments provide a similarity matching search method and system based on the geometric features of a three-dimensional model, which can be implemented and has broad application prospects.
[0073] The above description is merely a preferred embodiment of this disclosure and is not intended to limit this disclosure. Various modifications and variations can be made to this disclosure by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A similarity matching search method based on the geometric shape features of a 3D model, characterized in that, include: The geometric shape features of the 3D model to be searched are extracted using a pre-defined geometric shape feature extraction model. Based on the geometric features, the similarity between the model and the three-dimensional model in the pre-built feature index library is calculated. Based on the similarity calculation results, the model corresponding to the model to be searched is obtained. The feature index library stores several 3D models and their corresponding geometric features extracted using a preset geometric feature extraction model. The geometric feature extraction model specifically performs the following processing steps: acquiring point and surface data of the 3D model; selecting a preset number of surfaces, using the centroid of each surface as a feature point, and constructing a feature point set; constructing a distance set based on the distance between any two feature points in the feature point set; calculating the distance ratio between any two feature points based on the distance from each feature point to the model origin, and constructing a distance ratio set; dividing the distance set and the distance ratio set into several subsets according to preset rules, and forming a corresponding histogram for each subset; using the obtained histogram and the number of elements within each subset as features of the 3D model. The step of dividing the distance set and the distance ratio set into several subsets according to a preset rule is as follows: calculate the angle between the line segment formed by two feature points in the feature point set and the normal vector of the two feature points, and divide the distance set and the distance ratio set into several subsets based on the size of the angle, and count the number of elements in each subset.
2. The similarity matching search method based on the geometric shape features of a three-dimensional model as described in claim 1, characterized in that, The calculation of the angle between the line segment formed by two pairs of feature points in the feature point set and the normal vector of the two feature points is specifically as follows: For feature points P1 and P2, calculate the first angle between the line segment P1P2 and the normal vector of feature point P1, and calculate the second angle between the line segment P2P1 and the normal vector of feature point P2; Based on the magnitude of the first angle and the second angle, and a preset angle threshold, the distance set and the distance ratio set are subsetted.
3. The similarity matching search method based on the geometric shape features of a three-dimensional model as described in claim 1, characterized in that, The acquisition of the feature point normal vector is specifically as follows: the face of the three-dimensional model is a triangular face, and the normal vector of the triangular face is calculated based on the three vertex data of the triangular face. The normal vector of the triangular face is used as the normal vector of the corresponding feature point of the current triangular face.
4. The similarity matching search method based on the geometric shape features of a three-dimensional model as described in claim 1, characterized in that, For the distance ratio between any two feature points, if the distance ratio between two feature points is greater than 1, its reciprocal is taken as the final distance ratio.
5. The similarity matching search method based on the geometric shape features of a three-dimensional model as described in claim 1, characterized in that, The step of calculating the similarity between the geometric shape features and the 3D models in the pre-built feature index library is as follows: Calculate the similarity value between the model to be searched and the histogram corresponding to the distance set in the geometric shape features of the model in the feature index library, as the first similarity; calculate the similarity value between the model to be searched and the histogram corresponding to the distance ratio set in the geometric shape features of the model in the feature index library, as the second similarity; and obtain the final similarity by weighted summation of the first and second similarities.
6. The similarity matching search method based on the geometric shape features of a three-dimensional model as described in claim 1, characterized in that, Traverse all models in the feature index library, calculate the similarity between each model and the model to be searched, sort them from largest to smallest based on the similarity, and select a preset number of models at the top of the sort to display.
7. A similarity matching search system based on the geometric shape features of a three-dimensional model, characterized in that, include: The feature extraction unit is used to extract features from the 3D model to be searched using a preset geometric shape feature extraction model, thereby obtaining the geometric shape features of the model to be searched. The model search unit is used to calculate the similarity between the geometric shape features and the three-dimensional models in the pre-built feature index library, and to obtain the model corresponding to the model to be searched based on the similarity calculation results. The feature index library stores several 3D models and their corresponding geometric features extracted using a preset geometric feature extraction model. The geometric feature extraction model specifically performs the following processing steps: acquiring point and surface data of the 3D model; selecting a preset number of surfaces, using the centroid of each surface as a feature point, and constructing a feature point set; constructing a distance set based on the distance between any two feature points in the feature point set; calculating the distance ratio between any two feature points based on the distance from each feature point to the model origin, and constructing a distance ratio set; dividing the distance set and the distance ratio set into several subsets according to preset rules, and forming a corresponding histogram for each subset; using the obtained histogram and the number of elements within each subset as features of the 3D model. The step of dividing the distance set and the distance ratio set into several subsets according to a preset rule is as follows: calculate the angle between the line segment formed by two feature points in the feature point set and the normal vector of the two feature points, and divide the distance set and the distance ratio set into several subsets based on the size of the angle, and count the number of elements in each subset.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running thereon, characterized in that, When the processor executes the program, it implements a similarity matching search method based on the geometric features of a three-dimensional model as described in any one of claims 1-6.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by the processor, the program implements a similarity matching search method based on the geometric features of a three-dimensional model as described in any one of claims 1-6.
Citation Information
Patent Citations
A 3D model retrieval method based on shape distribution and curvature
CN109299301A