Three-dimensional model search method, search device, electronic device, and computer-readable storage medium

By employing a two-layer cascaded architecture for 3D model retrieval, and utilizing frequency domain feature analysis and local geometric feature analysis, the problem of time-consuming and redundant files in the search for standard parts by designers has been solved, achieving efficient and accurate parts retrieval and intelligent data transfer.

CN122223219APending Publication Date: 2026-06-16GUANGDONG XINHUI CIMC SPECIAL TRANSPORT EQUIPS

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGDONG XINHUI CIMC SPECIAL TRANSPORT EQUIPS
Filing Date
2026-03-04
Publication Date
2026-06-16

Smart Images

  • Figure CN122223219A_ABST
    Figure CN122223219A_ABST
Patent Text Reader

Abstract

The application discloses a three-dimensional model retrieval method and retrieval equipment, an electronic device and a computer readable storage medium. The retrieval method comprises a training process, a rough screening process and a fine screening process. The training process is used for training a neural network model according to discrete point cloud data of three-dimensional models in a training set, so that the neural network model can extract overall topological structure features of the models. In the rough screening process, frequency domain analysis is performed on the discrete point cloud data of each three-dimensional model, low-pass filtering is performed on the frequency domain data to obtain a first vector of the model, and the discrete point cloud data of each three-dimensional model is input into the neural network model to obtain a second vector of the model. Then, the first vector and the second vector are spliced into a third vector, and a preliminary screening set is determined according to the similarity of the third vector. In the fine screening process, fourth vectors representing local structure features of the models in the preliminary screening set and a to-be-queried model are analyzed, and a fine screening set is determined according to the similarity of the fourth vectors.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of 3D model retrieval technology, and more specifically to a 3D model retrieval method and retrieval device, electronic device and computer-readable storage medium. Background Technology

[0002] In actual R&D and production processes, due to differences in naming conventions of historical drawings and the limitations of engineers' personal memory, designers struggle to quickly locate existing similar models using simple text keywords when faced with new tasks. Statistics show that, under the current model, designers often spend over an hour on average searching for a reusable standard component, with a low success rate. This extremely high time cost forces engineers to opt for remodeling. This not only results in approximately 15% to 20% of low-value repetitive work but also generates a large number of redundant files in the database with identical geometry but vastly different metadata, significantly increasing storage costs and data governance difficulties. Furthermore, the design wisdom implicit in historical models by senior engineers lacks explicit means of inheritance, preventing new employees from effectively reusing existing results and causing a serious gap in technical knowledge. Therefore, there is an urgent need for an intelligent retrieval method capable of understanding the essence of geometric shapes to unleash design productivity. Summary of the Invention

[0003] The summary section introduces a series of simplified concepts, which will be further explained in detail in the detailed description section. This summary section is not intended to limit the key and essential technical features of the claimed technical solution, nor is it intended to determine the scope of protection of the claimed technical solution.

[0004] To at least partially solve the above problems, a first aspect of this application provides a method for retrieving three-dimensional models, the method comprising: Training step S100, the training step S100 includes: Step S110: Establish a training set for the 3D model to retrieve the 3D model from the training set; Step S120: Obtain the first discrete point cloud data of each three-dimensional model in the training set, and train a neural network model using the first discrete point cloud data so that the neural network model can extract the overall topological structure features of the three-dimensional model. The coarse screening process S200 includes: Step S210: Obtain the first discrete point cloud data of each of the three-dimensional models in the training set and the three-dimensional models to be queried; Step S220: Convert the first discrete point cloud data of each three-dimensional model from the spatial domain to the frequency domain, and perform low-pass filtering on the frequency domain data to obtain the first vector of the three-dimensional model. Then, input the first discrete point cloud data of each three-dimensional model into the neural network model to obtain the second vector of the three-dimensional model. Step S230: Concatenate the first vector and the second vector of each three-dimensional model to form the third vector of the three-dimensional model; Step S240: Calculate the first similarity between the third vector of the 3D model to be queried and the third vector of each 3D model in the training set; Step S250: The set of 3D models in the training set whose first similarity reaches the first threshold is denoted as the initial screening set; and Fine screening process S300, wherein the fine screening process S300 includes: Step S310: Calculate the fourth vector of each of the three-dimensional models in the initial screening set and the three-dimensional models to be queried based on the first discrete point cloud data. The fourth vector is used to characterize the local structural features of the three-dimensional model. Step S320: Determine a fine screening set based on the second similarity between the fourth vector of the three-dimensional model to be queried and the fourth vector of each three-dimensional model in the initial screening set, wherein the fine screening set is a subset of the initial screening set and the fine screening set is the retrieval result.

[0005] Optionally, in training steps S100 and S210, the first discrete point cloud data of the three-dimensional model is obtained according to the following steps: Obtain the original discrete point cloud data of the three-dimensional model; The geometric centroid of the 3D model is calculated based on the original discrete point cloud data, and the origin of the coordinate system is translated to the centroid to obtain the second discrete point cloud data of the 3D model. Calculate the maximum modulus based on the second discrete point cloud data; The second discrete point cloud data is normalized using the maximum modulus as the standard to obtain the first discrete point cloud data.

[0006] Optionally, in step S220, the result of the first discrete point cloud data calculated by the neural network model is also subjected to max pooling to obtain the second vector.

[0007] Optionally, in step S310, the fourth vector is calculated according to the following method: Determine the anchor points of the three-dimensional model, wherein the anchor points are topological singularities and / or discontinuities on the surface of the three-dimensional model; Analyze the local invariant features of each point in the neighborhood of the anchor point relative to the anchor point to obtain the fourth vector for each anchor point.

[0008] Optionally, in step S310, the curvature and normal vector of the surface of the three-dimensional model are analyzed based on the first discrete point cloud data, and the anchor point is determined based on the curvature and normal vector.

[0009] Optionally, in step S310, the fourth vector for each of the anchor points is obtained according to the following method: Based on the geometric principal component analysis of the surfaces in the neighborhood of the anchor point, the local orthogonal basis matrix of each anchor point is calculated so that the local orthogonal basis matrix can reflect the local structural features at the anchor point. Calculate the difference between the coordinates of each point in the neighborhood of the anchor point and the coordinates of the anchor point, and multiply the difference in coordinates by the local orthogonal basis matrix to obtain the fifth vector of each point in the neighborhood of the anchor point; The fifth vector is obtained by concatenating the fifth vectors of all points in the neighborhood of the anchor point.

[0010] Optionally, in step S320, the fine screening set is determined according to the following method: Calculate the second similarity between the fourth vector of each anchor point of the 3D model to be queried and the fourth vector of each anchor point of each 3D model in the initial screening set; A pair of anchor points whose second similarity reaches the second threshold is recorded as a matching anchor point. For the same three-dimensional model in the initial screening set, the anchor points of the three-dimensional model to be queried are not repeated in the matching anchor points, and the anchor points of the three-dimensional models in the initial screening set are also not repeated. Calculate the number of anchor points that match each 3D model in the initial screening set for the 3D model to be queried. The matching score between the 3D model to be queried and each 3D model in the initial screening set is calculated according to the following formula: Score = a∙S1 + (1-a)∙k / n, where 0 < a < 1, S1 is the first similarity, k is the number of matching anchor pairs, and n is the smaller of the number of anchors of the corresponding 3D model in the initial screening set and the number of anchors of the 3D model to be queried. Three-dimensional models whose scores in the initial screening set reach a preset score threshold are selected into the fine screening set.

[0011] Optionally, The first similarity is a similarity based on Euclidean distance or cosine similarity; and / or The second similarity is based on Euclidean distance or cosine similarity.

[0012] Optionally, in step S110, a new 3D model in the training set is obtained by modifying an existing 3D model in the training set, wherein the modification includes at least one of the following methods: Scaling up the local structure of an existing 3D model; Perform mirror-symmetric transformations on existing 3D models; The existing 3D model is blurred.

[0013] Optionally, the retrieval method further includes, when no 3D model matching the 3D model to be queried is found in the training set, including the 3D model to be queried in the training set, and retraining the neural network model in step S120.

[0014] A second aspect of this application provides a retrieval device for three-dimensional models, comprising: The storage module stores a training set of three-dimensional models and a neural network model, wherein the neural network model is trained using the first discrete point cloud data of each three-dimensional model in the training set. An input module is used to input the 3D model to be queried into the retrieval device; A retrieval module is configured to perform the coarse screening step S200 and the fine screening step S300 of the retrieval method described in the first aspect; and The output module is used to output the search results.

[0015] Optionally, the output module is a display screen, which outputs the search results by displaying a three-dimensional model of the finely screened set.

[0016] Optionally, the display screen can simultaneously display the 3D model to be queried and the 3D models in the fine-screen set.

[0017] Optionally, the input module is further configured to input the three-dimensional model of the training set into the retrieval device, and the retrieval device further includes a training module, which is configured to perform the training step S100 of the retrieval method described in the first aspect.

[0018] A third aspect of this application provides an electronic device, which includes a memory and a processor, wherein the memory stores: The training set for the 3D model; A neural network model, wherein the neural network model is trained using the first discrete point cloud data of each 3D model in the training set; and A computer program, when executed by the processor, causes the processor to perform the coarse screening step S200 and the fine screening step S300 of the retrieval method described in the first aspect.

[0019] Optionally, when the computer program is executed by the processor, the processor also executes the training step S100 of the retrieval method described in the first aspect.

[0020] The fourth aspect of this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the coarse screening step S200 and the fine screening step S300 of the retrieval method described in the first aspect.

[0021] Optionally, when the computer program is executed by the processor, it also performs the training step S100 of the retrieval method described in the first aspect.

[0022] This application abandons the brute-force search of a single model and adopts a two-layer cascaded architecture to balance efficiency and accuracy. The core task of the first stage is to establish an efficient "coarse screening funnel mechanism." This stage aims to quickly identify a set of candidate parts whose appearance contours are highly similar to the query target from the enterprise's existing massive 3D model database within a very short time window. To achieve this goal, this stage does not focus on minor flaws or local features on the model surface, but rather on capturing and comparing the object's macroscopic geometric information and overall topological skeleton. The second stage aims to perform deep, refined matching and reordering of the candidate set by introducing local geometric feature analysis technology. Thus, this application achieves precise matching by comprehensively analyzing the model's macroscopic contours and microscopic details through a shape-based search approach. Attached Figure Description

[0023] The following drawings, which are incorporated herein by reference and used to understand this application, illustrate embodiments of the application and their descriptions, thereby explaining the principles of the application.

[0024] In the attached image: Figure 1 This is a schematic diagram illustrating the steps of a three-dimensional model retrieval method according to a specific embodiment of this application; Figure 2 This is a schematic diagram illustrating the configuration of a retrieval device for a three-dimensional model according to a specific embodiment of this application. Figure 3 for Figure 1 A schematic diagram illustrating the specific steps of the training process; Figure 4 for Figure 1 A schematic diagram illustrating the specific steps of the coarse screening process; Figure 5 for Figure 1A schematic diagram illustrating the specific steps of the fine screening process; Figure 6 for Figure 5 A schematic diagram illustrating the specific steps shown; Figures 7 to 11 This is an exemplary schematic diagram showing the results of retrieving a 3D model using the 3D model retrieval method according to a specific embodiment of this application. In each diagram, (a) is the 3D model to be queried, and (b), (c) and (d) are the retrieval results, with similarity arranged from high to low. Figure 12 This is a schematic diagram of the human-computer interaction interface of a 3D model retrieval device according to a specific embodiment of this application.

[0025] Explanation of reference numerals in the attached figures: 11: Input Module 12: Storage Module 13: Search Module 14: Output Module 15: Training Module 21: "Select Main File" interactive area 22: "Start Smart Search" trigger button 23: Main file 3D preview area 24: Search Results Display Area 100: Retrieval equipment Detailed Implementation

[0026] The following description provides numerous specific details to offer a more thorough understanding of this application. However, it will be apparent to those skilled in the art that this application can be practiced without one or more of these details. In other instances, certain technical features well-known in the art have not been described to avoid confusion with this application.

[0027] To fully understand this application, a detailed description will be provided below. It is obvious that the implementation of embodiments of this application is not limited to the specific details familiar to those skilled in the art. Preferred embodiments of this application are described in detail below; however, other embodiments may also be available in addition to these detailed descriptions.

[0028] 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 application. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of the stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or combinations thereof.

[0029] In understanding the scope of this application, the term "comprising" and its derivatives, as used herein, are intended to be open-ended terms that specify the presence of a described feature, element, component, group, whole, and / or step, but do not exclude the presence of other undescribed features, elements, components, groups, wholes, and / or steps. This concept also applies to words with similar meanings, such as the terms "comprising," "having," and their derivatives.

[0030] The term "attached" or "joined" as used herein includes: a construction in which one element is directly fixed to another element by fixing it directly to another element; a construction in which one element is indirectly fixed to another element by fixing it to an intermediate member, which in turn is fixed to another element; and a construction in which one element is integral with another element, that is, one element is substantially part of another element. This definition also applies to words with similar meanings, such as "connect," "joint," "couple," "install," "adhere," "fix," and their derivatives. Finally, degree terms such as "substantially," "approximately," and "approximately" as used herein indicate the amount of deviation from which modifications to the terminology do not significantly alter the final result.

[0031] Ordinal numbers such as “first” and “second” used in this application are merely identifiers and have no other meaning, such as a specific order. Moreover, for example, the term “first component” does not imply the existence of a “second component”, and the term “second component” does not imply the existence of a “first component”.

[0032] It should be noted that the terms “up,” “down,” “front,” “back,” “left,” “right,” “inner,” “outer,” and similar expressions used in this article are for illustrative purposes only and are not intended to be restrictive.

[0033] In this document, terms such as “equal” and “same” are not strict mathematical and / or geometric limitations, but also include errors that are understandable to those skilled in the art and permissible in manufacturing or use.

[0034] Unless otherwise stated, the numerical ranges in this document include not only the entire range within its two endpoints, but also the subranges contained therein.

[0035] Exemplary embodiments according to this application will now be described in more detail with reference to the accompanying drawings. However, these exemplary embodiments may be implemented in many different forms and should not be construed as being limited to the embodiments set forth herein. It should be understood that these embodiments are provided so that the disclosure of this application is thorough and complete, and that the concept of these exemplary embodiments is fully conveyed to those skilled in the art.

[0036] This application first provides a method and apparatus for retrieving three-dimensional models. It is understood that the three-dimensional model retrieval apparatus (hereinafter referred to as the retrieval apparatus) of this application performs three-dimensional model retrieval matching according to at least a portion of the three-dimensional model retrieval method (hereinafter referred to as the retrieval method) of this application.

[0037] like Figure 1 As shown, in a preferred embodiment, the retrieval method according to this application includes, for example, a training step S100, a coarse screening step S200, and a fine screening step S300. The training step S100 is mainly used to train a neural network model using the 3D models in the training set. This neural network model can extract the overall topological structure features of the 3D models. In the coarse screening step S200, models in the training set with similar overall shapes to the query model are identified based on the frequency domain fingerprint of the overall basic shape of the 3D model and the global feature vector of the overall topological structure extracted by the neural network model, resulting in a preliminary screening set (candidate set). Then, in the fine screening step S300, models more similar to the query model are identified from the preliminary screening set based on the detailed features of the models, forming a fine screening set. The models in the fine screening set are the final retrieval matching results.

[0038] According to the retrieval method of this application, the overall topological features of the model are accurately obtained through neural networks. In the retrieval and screening process, in the first stage of coarse screening, frequency domain feature analysis and neural networks (e.g., deep neural networks) are used to capture the macroscopic geometric information of objects (such as overall topological structure and aspect ratio), quickly identifying a batch of candidate sets with similar appearances from a training database of hundreds of millions, thus solving the speed problem of large-scale filtering. Subsequently, in the second stage of fine screening, key local geometric features are introduced to solve the problem of finely distinguishing between general similarities and local differences. This two-layer cascaded architecture balances retrieval efficiency and retrieval accuracy.

[0039] Each 3D model in the training set comes with all its design and process parameters. When the model to be queried is similar to a model in the training set, the user can easily modify the parameters of the existing model in the training set to generate a complete drawing of the model to be queried, thereby improving work efficiency.

[0040] like Figure 2As shown, in a preferred embodiment, the retrieval device 100 according to this application includes, for example, an input module 11, a storage module 12, a retrieval module 13, an output module 14, and a training module 15. The input module 11 is used to input three-dimensional models into the retrieval device 100, including the three-dimensional model to be queried and the three-dimensional models in the training set. The storage module 12 is used to store the training set of the three-dimensional models and the neural network model, wherein the neural network model is, for example, trained using the first discrete point cloud data of the surface of each three-dimensional model in the training set. The retrieval module 13 is used to perform the retrieval process, namely, the coarse screening process S200 and the fine screening process S300. The output module 14 is used to output the retrieval results. The training module 15 is used to perform the training process S100, that is, to train the neural network model based on the three-dimensional models in the training set.

[0041] It is understood that the training process S100 and the subsequent retrieval process are executed sequentially. In some embodiments of this application, the retrieval device 100 may not include the training module 15. That is, the training set and the neural network model have been prepared in advance and stored in the storage module 12. The retrieval device 100 only needs to obtain the 3D model to be queried through the input module 11, and then the retrieval module 13 executes the retrieval process, and the output module 14 outputs the retrieval results.

[0042] like Figure 3 As shown, the training process S100 includes, for example, the following steps: Step S110: Establish a training set for the 3D model to retrieve the 3D model from the training set; Step S120: Obtain the first discrete point cloud data of each 3D model in the training set, and use the first discrete point cloud data to train the neural network model so that the neural network model can extract the overall topological structure features of the 3D model.

[0043] 3D models can be in formats such as STEP or STL.

[0044] Optionally, in step S110, a new 3D model in the training set can be obtained by modifying existing 3D models in the training set. Modification methods include scaling the local structure of the existing 3D model; performing mirror symmetry transformation on the existing 3D model; and applying fuzziness processing (e.g., Gaussian fuzz noise processing) to the existing 3D model. This rapidly increases the number of samples, compensating for the uneven distribution (long-tailed distribution) of industrial parts samples and improving the model's generalization ability to cope with actual production environments. For example, local changes can make the neural network model extract overall features more accurately. Introducing mirror symmetry transformation can effectively solve the problem of recognizing symmetrical structures such as left / right parts. Fuzziness processing forces the algorithm to perform accurate reasoning based on the remaining topological structure even when some geometric information is missing, greatly enhancing the robustness of the system.

[0045] Optionally, if no matching 3D model is found in the training set, the 3D model to be queried is added to the training set, and the neural network model is retrained in step S120. That is, the 3D model to be queried is considered a completely new model at this point, and thus it is added to the candidate library to enrich it. When retraining the neural network model, only a portion of the models in the original training set can be selected and trained together with the newly added models. This saves training time, and only minor modifications are needed to the parameters of the neural network model to adapt to the newly added models.

[0046] like Figure 4 As shown, the coarse screening process S200 includes, for example, the following steps: Step S210: Obtain the first discrete point cloud data of each of the 3D models in the training set and the 3D models to be queried; Step S220: Convert the first discrete point cloud data of each three-dimensional model from the spatial domain to the frequency domain, and perform low-pass filtering on the frequency domain data to obtain the first vector of the three-dimensional model. Then, input the first discrete point cloud data of each three-dimensional model into the neural network model to obtain the second vector Vglobal of the three-dimensional model. Step S230: Concatenate the first vector and the second vector (weighted) of each 3D model to form the third vector of the 3D model; Step S240: Calculate the first similarity S1 between the third vector of the 3D model to be queried and the third vector of each 3D model in the training set. Step S250: The set of 3D models in the training set whose first similarity S1 reaches the first threshold is denoted as the initial screening set.

[0047] Optionally, in step S100 of the training process and step S210 of the retrieval process, the first discrete point cloud data P of each three-dimensional model is obtained according to the following steps.

[0048] First, obtain the original discrete point cloud data P of the surface of each 3D model. For example, in an orthogonal three-axis coordinate system of X, Y, Z in space, determine sampling points at equal intervals on two of the axes, and obtain the coordinates of each sampling point on the third axis, thereby obtaining the original discrete point cloud data P. Then, calculate the geometric centroid of the 3D model based on the original discrete point cloud data P. The coordinates μ of the geometric centroid are calculated, for example, according to the following formula (1).

[0049] (1) In formula (1), N is the number of discrete points in the three-dimensional model, and i represents the i-th point.

[0050] Next, as shown in the following formula (2), the origin of the coordinate system is translated to the centroid to obtain the second discrete point cloud data P' of the three-dimensional model.

[0051] (2) Next, the maximum modulus Lmax is calculated based on the second discrete point cloud data. Then, as shown in the following formula (3), the second discrete point cloud data P' is normalized using the maximum modulus Lmax as the standard to obtain the first discrete point cloud data P.

[0052] In formula (3), the max operation is the maximum value operation, that is, the maximum modulus Lmax is calculated. This maps the model to the unit sphere space.

[0053] Therefore, all 3D models undergo a unified discretization algorithm, transforming multi-source, heterogeneous entity models into a standardized point cloud data distribution. Based on this, the algorithm automatically performs spatial normalization, mapping all models to a unified scale and coordinate origin. This step eliminates heterogeneity in file formats and coordinate system definitions, ensuring that subsequent feature extraction focuses only on the object's geometry, not its storage format. This step ensures that feature extraction is unaffected by the model's original dimensions and coordinate origin position. Addressing the parsing challenges caused by the diverse formats and chaotic coordinate definitions of production drawings, this automated data standardization pipeline eliminates underlying data differences arising from different CAD software.

[0054] In step S220, firstly, in the frequency domain analysis channel, the system utilizes three-dimensional geometric frequency domain transformation technology to project discrete three-dimensional spatial point cloud data into the frequency domain space. It is well known that the complex geometric shapes of three-dimensional objects in the spatial domain often manifest as specific energy distribution patterns in the frequency domain. Low-frequency components typically describe the basic shape of an object (such as spherical, cylindrical, or flat macroscopic contours), while high-frequency components correspond to the object's detailed texture and noise. By extracting the low-frequency energy spectrum, the algorithm can quickly generate a frequency domain fingerprint describing the object's basic morphology. The significant advantage of this method lies in its extremely low computational complexity and inherent rotational invariance. When faced with components of varying shapes in a database, such as distinguishing between slender shaft-like parts, flat disc-like parts, or blocky box-like parts, frequency domain features can instantly complete classification and initial screening through simple numerical comparison. This allows the system to eliminate interference items that are clearly mismatched in macroscopic shape from the search range before performing complex deep learning inference, thereby greatly reducing the search space for subsequent calculations.

[0055] Optionally, in step S220, the result of the first discrete point cloud data P” calculated by the neural network model is also subjected to max pooling to obtain the second vector Vglobal. This operation process is embodied, for example, by the following formula (4).

[0056] Vglobal=MaxPool[MLP(P”)] (4) In formula (4), MLP operation is the neural network model operation, and MaxPool operation is the maximum pooling operation. Thus, this application introduces a customized PointNet architecture to perform global semantic encoding on point cloud data. The PointNet architecture processes each point independently through multiple shared multilayer perceptrons (MLPs), where all points use the same MLP weights to ensure order invariance, and then captures global features through maximum pooling.

[0057] In step S220, the input 3D first discrete point cloud data is processed by the network's multilayer perceptron (MLP) and feature transformation layer, and then mapped into a high-dimensional feature space. During this process, the network aggregates the spatial information of all sampling points through symmetric function operations such as max pooling, ultimately generating a compact, fixed-length global feature vector Vglobal. This feature vector Vglobal highly condenses the semantic information of the 3D model; it not only includes the geometric aspect ratio of the objects but also implicitly contains the topological connectivity relationships of the objects.

[0058] In step S240, the first similarity S1 can be a similarity based on Euclidean distance or a cosine similarity.

[0059] For example, the Euclidean distance d is calculated according to the following formula (5).

[0060] (5) In formula (5), f i and g i Let represent the i-th dimension component of the third vector of the 3D model to be queried and the 3D model in the training set, respectively. It can be understood that the smaller the value of d, the more similar the two models are. The first similarity S1 based on Euclidean distance is calculated, for example, according to the following formula (6).

[0061] (6) The cosine similarity S1 is calculated, for example, according to the following formula (7).

[0062] (7) In formula (7), Va is the third vector of the 3D model to be queried, and Vb is the third vector of the 3D model in the training set.

[0063] When using a similarity-based matching model, an Approximate Nearest Neighbor (ANN) search algorithm and a graph-based nonlinear indexing strategy can be employed to construct an efficient navigation path in a high-dimensional feature space, reducing the time complexity of retrieval from linear to logarithmic.

[0064] During the initial screening process, the system weightedly fuses (concatenates) the morphological fingerprint generated by frequency domain analysis with the global feature vector extracted by the deep network to construct a comprehensive global descriptor. This combination of features from two perspectives effectively resolves the semantic ambiguity that may arise from single features. During retrieval, the system uses this comprehensive global descriptor to perform an approximate nearest neighbor search in the vector database. Because this descriptor discards a large amount of redundant micro-details, its data dimensionality is relatively low, resulting in extremely low computational cost. This mechanism ensures that the system can instantly reduce the massive full database to a small candidate list at a speed unmatched by linear scanning, laying a solid data foundation for the subsequent refined comparison in the second stage.

[0065] After the initial screening process described above, although the system successfully retrieved several candidate model subsets from the massive database that were similar to the query object in terms of macroscopic outline and overall topology, these subsets often presented the technical challenge of high inter-class similarity but low distinguishability. Specifically, industrial parts contain a large number of design variations with highly similar appearances but drastically different functional attributes. At this point, relying solely on global features is insufficient to meet the high-precision retrieval requirements. Therefore, the second-stage fine screening process of this application aims to introduce local geometric feature analysis technology to perform deep, refined matching and re-ranking of the candidate set.

[0066] like Figure 5 As shown, the fine screening process S300 includes, for example, the following steps: Step S310: Calculate the fourth vector of each of the three-dimensional models in the initial screening set and the three-dimensional models to be queried based on the first discrete point cloud data P”. The fourth vector is used to characterize the local structural features of the three-dimensional model. Step S320: Determine the fine screening set based on the second similarity between the fourth vector of the 3D model to be queried and the fourth vector of each 3D model in the initial screening set. The fine screening set is a subset of the initial screening set and the fine screening set is the retrieval result.

[0067] Specifically, in step S310, anchor points for each 3D model can be determined. Anchor points are topological singularities and / or discontinuities on the surface of the 3D model (e.g., points on the edges of holes, inflection points of slots, vertices of protrusions, corner turning points, curvature extrema, etc.). Then, the local invariant features of each point in the neighborhood of the anchor point relative to the anchor point are analyzed to obtain the fourth vector for each anchor point.

[0068] For example, the curvature and normal vectors of the surface of a 3D model can be analyzed based on the first discrete point cloud data, and anchor points can be determined based on the curvature and normal vectors. This is an adaptive feature point detection mechanism, and this local geometric key point extraction algorithm differs from the traditional strategy based on fixed mesh sampling. This process does not depend on the absolute position of the model in 3D space, but is based on the intrinsic geometric properties of the model surface. This means that regardless of the degree of rigid body transformation that the input component model undergoes in space, including rotation, translation, or uniform scaling at any angle, the relative positions of the key points extracted by the algorithm on the model's topological surface remain constant. This characteristic fundamentally guarantees the reproducibility and consistency of feature extraction, providing a solid physical benchmark for subsequent feature alignment.

[0069] like Figure 6 As shown, in step S310, the anchor points of the three-dimensional model are first determined in step S311, for example, using the method described above.

[0070] After determining the geometric anchor points, the system further constructs a unique local micro-geometric descriptor for each anchor point. In this process, this application employs a coordinate-free encoding strategy. Instead of using a global Cartesian coordinate system (X, Y, Z axes) to describe features, the system constructs an independent local reference system centered on each key anchor point (origin), combining its surface normal vector and tangent plane. Within this local reference system, the algorithm performs high-dimensional encoding of the micro-geometric information within the anchor point's neighborhood. Specifically, the system calculates the relative distance, relative angle change, and normal vector deviation distribution of the point cloud within the neighborhood relative to the central anchor point, and maps this information into a high-dimensional feature vector. This vector accurately describes the detailed texture and topology around the key point. Since all geometric descriptions are calculated based on local relative relationships, this descriptor possesses strict rotation invariance, completely solving the technical pain point of traditional algorithms causing matching failures due to arbitrary model pose placement.

[0071] For example, in step S312, the system constructs the local orthogonal basis matrix M of each detected geometric anchor point using geometric principal component analysis (PCA) of its neighborhood surfaces. Among them, the local orthogonal basis matrix M can reflect the local structural features at the anchor point, such as the normal vector, tangent plane, and slope at the anchor point.

[0072] Then, in step S313, the neighborhood of each anchor point is determined. For example, a fixed number of points centered on the anchor point are obtained according to certain rules. In step S314, the difference between the coordinate value of each point in the neighborhood of the anchor point and the coordinate value of the anchor point is calculated according to the following formula (8), and the difference in coordinate values ​​is multiplied by the local orthogonal basis matrix to obtain the fifth vector Flocal of each point in the neighborhood of the anchor point.

[0073] Flocal=M. ( )= (8) In the public notice (8), P i " represents the coordinates of i points in the neighborhood. These are the coordinates of the anchor point. All coordinates are from the first discrete point cloud data.

[0074] in, These are vectors representing the three axes in a new coordinate system with the anchor point as the origin. For any sampling point in the neighborhood... Instead of recording its global coordinates, it calculates its local invariant feature Flocal relative to the anchor point. In formula (8)... The translation effect is eliminated (independent of position), while the local orthogonal basis matrix... It is generated based on the surface geometry of the model itself. When the part rotates in space, the basis vectors also rotate synchronously, and the relative projection relationship (dot product) between the two remains constant. Therefore, this formula mathematically guarantees the strict rotation invariance of the retrieval results.

[0075] Finally, in step S315, the fifth vector Flocal of all points in the neighborhood of the anchor point is concatenated to obtain the fourth vector of the anchor point.

[0076] like Figure 6 As shown, in step S320, the fine screening set can be determined according to the following method.

[0077] First, in step S321, the second similarity between the fourth vector of each anchor point of the 3D model to be queried and the fourth vector of each anchor point of each 3D model in the initial screening set is calculated.

[0078] Then, in step S322, anchor points whose second similarity reaches the second threshold are recorded as matching anchor points. It can be understood that matching anchor points are paired, one being the anchor point of the 3D model to be queried, and the other being the anchor point of a 3D model in the initial screening set. Specifically, for the same 3D model in the initial screening set, among all matching anchor points, the anchor points of the 3D model to be queried are not repeated, nor are the anchor points of the 3D models in the initial screening set. In other words, not only must the second similarity of the matching anchor points reach the second threshold, but the anchor points of the 3D model to be queried and the anchor points of the 3D models in the initial screening set also need to be matched one-to-one, and not one-to-many (repeated) matches.

[0079] For example, if the 3D model to be queried has 2 anchor points, and a certain 3D model in the initial screening set has 3 anchor points, then a total of 6 second similarity scores are obtained (see Table 1 below). The 6 second similarity scores that reach the second threshold (e.g., 0.65) are further processed. For example, 4 second similarity scores reach the second threshold. For example, higher similarity indicates that the two are closer and more matched. Arranged from highest to lowest similarity, the most similar is the first anchor point of the query model and the first anchor point of the training set model (similarity of 0.9), so the first anchor point of the query model is the first matched anchor point. The second highest similarity (0.8) is the second anchor point of the query model and the first anchor point of the training set model. Since the first anchor point of the training set model has already matched the first anchor point of the query model, there is a duplicate anchor point in the 3D models in the initial screening set (it has already been matched), therefore the case with a second similarity of 0.8 is not considered (considered a mismatch). Next, the third highest similarity (0.75) is between the first anchor point of the query model and the second anchor point of the training set model. Since the first anchor point of the training set model has already matched the first anchor point of the query model, there is a duplicate anchor point of the query model (it has already been matched), so the case with the second similarity of 0.75 is not considered (considered as a mismatch). Next, the fourth highest similarity (0.7) is between the second anchor point of the query model and the second anchor point of the training set model. Since these two anchor points have not been matched before, they are considered to be matched. Thus, the anchor points of the 3D model to be queried are matched one-to-one with the anchor points of the 3D models in the initial screening set.

[0080] Table 1. Examples of the second similarity between the fourth vector of each anchor point of the 3D model to be queried and the fourth vector of each anchor point of a 3D model in the initial screening set. The second similarity is based on Euclidean distance or cosine similarity.

[0081] Next, in step S323, the number of anchor points that match each 3D model in the initial screening set for the 3D model to be queried is calculated. For example, in the data in Table 1 above, the number of matching anchor points is 2.

[0082] Then, in step S324, the matching score result Score of the three-dimensional model to be queried and each three-dimensional model in the initial screening set is calculated according to the following formula (9).

[0083] Score=a∙S1+(1-a)∙k / n (9) Where 0 < a < 1, S1 represents the first similarity in the coarse screening process S200, k is the number of matched anchor point pairs, and n is the smaller of the number of anchor points in the corresponding 3D model in the initial screening set and the number of anchor points in the 3D model to be queried. Based on the principle of one-to-one matching, k ≤ n. a is the weight balance coefficient between global and local features, for example, a = 0.4.

[0084] Finally, in step S325, 3D models whose scores in the initial screening set reach a preset score threshold are selected into the refined screening set. Thus, the score comprehensively considers both the overall and local similarity between models, accurately retrieving models that are similar to the model being queried.

[0085] In the anchor point retrieval and matching stage, the system performs many-to-many feature matching between the local descriptor subsets of the query model and the local descriptor subsets of each model in the candidate set. The system employs an efficient feature matching algorithm to calculate the number of successfully matched keypoint pairs between two models and their corresponding feature distances. Based on the matching results, the system performs secondary scoring and re-ranking of the candidate set list generated in the first stage. For models with similar global contours but lacking corresponding local keypoints, their similarity scores are significantly reduced; while for models that not only match the contours but also have corresponding geometric details in key areas, their rankings are greatly improved. Through this progressive processing from surface to point, from coarse to fine, the system successfully achieves millimeter-level differentiation of complex industrial parts, ensuring that the final results presented to the user achieve a highly accurate match in both function and form.

[0086] When deep learning models map 3D geometric features into high-dimensional vectors, traditional one-to-one comparison methods result in unacceptable latency on a scale of hundreds of millions. To address this, the system integrates an industrial-grade, high-performance vector retrieval engine. To overcome computational bottlenecks, this application abandons the linear scanning mode and instead adopts a non-linear indexing strategy based on graph structures. This strategy can construct efficient navigation paths in the high-dimensional feature space, requiring only access to a few subspaces closest to the query vector during retrieval, thus reducing the time complexity of retrieval from linear to logarithmic. Simultaneously, combined with vector quantization compression technology, memory usage is significantly reduced. Ultimately, this engine achieves an instant search experience in a massive image library, ensuring users receive the most similar results within seconds of submitting a search request.

[0087] like Figures 7 to 11 As shown, for the 3D model to be queried in the leftmost figure (a), the system can retrieve the models shown in figures (b), (c), and (d) in descending order of similarity. It can be seen that the retrieved matching models have high similarity in both overall shape and local detailed structure (such as openings, concave and convex structures, etc.).

[0088] The retrieval device 100 is constructed, for example, based on a smart device such as a desktop computer, tablet computer, laptop computer, or mobile phone. Its output module 14 is constructed, for example, as a display screen, which displays a three-dimensional model (e.g., ...) from the retrieval set. Figures 7 to 11 The search results are output using figures (b), (c), and (d) in the image. Optionally, the display shows the 3D model to be queried (e.g., Figures 7 to 11 The three-dimensional model in Figure (a) and the finely selected set are displayed simultaneously. In this way, users can have an intuitive interactive experience and improve the user experience.

[0089] like Figure 12 As shown, the display screen of the retrieval device 100 can display a human-computer interaction interface.

[0090] For example, the left side of the interface is designed as the core user control panel, mainly containing two functional modules: "File Reading" and "Task Triggering." For instance, for input module 11, the interface features a "Select Main File" interactive area 21, allowing users to upload 3D model files (supporting formats such as STEP / STL) to be queried via a local file browser. The system verifies file integrity at the front end to ensure the legality of the input data. For retrieval module 13, the interface has a "Start Intelligent Retrieval" trigger button 22. Once the user clicks this button 22, the front-end system sends the model data stream to the back-end high-performance computing cluster via, for example, a WebSocket or HTTP request, immediately initiating the feature extraction and vector matching process.

[0091] The right side of the interface dominates the visual focus, divided into two windows arranged vertically: "Preview" and "Result," providing a WYSIWYG feedback experience.

[0092] The main file's 3D preview area 23 is located at the upper right, for example, with an integrated lightweight WebGL rendering engine. When the user selects a 3D model file to query, this area can immediately parse and render the mesh shape of that 3D model (e.g., Figures 7 to 11 Figure (a) in the figure is provided to help users confirm that the geometric details of the part to be searched are correct, so as to avoid invalid searches caused by selecting the wrong file.

[0093] The search results display area 24 is located on the lower right and uses a card-style grid arrangement. For example, the system presents several (e.g., 5) candidate parts with the highest similarity returned by the backend search engine in a structured format (e.g., ...). Figures 7 to 11 (See Figures (b), (c), and (d) in the table). Each result card includes a thumbnail display, part name, and similarity matching score, allowing engineers to intuitively compare the differences between the query model and the inventory model and quickly make design reuse decisions.

[0094] This application also provides an electronic device including a memory and a processor. In a specific embodiment, the memory stores a training set of three-dimensional models, a neural network model, and a computer program. The neural network model is trained using the first discrete point cloud data of each three-dimensional model in the training set. When the computer program is executed by the processor, the processor performs the coarse screening step S200 and the fine screening step S300 of the aforementioned retrieval method. That is, the neural network model is pre-trained, and the electronic device only performs the query retrieval work.

[0095] Alternatively, when the computer program is executed by the processor, the processor also executes the training step S100 of the retrieval method described above. That is, the electronic device can complete the training of the neural network model, and then perform the query retrieval work after the neural network model is trained.

[0096] This application also provides a computer-readable storage medium on which a computer program is stored. In a specific embodiment, when the computer program is executed by a processor, it performs the coarse screening step S200 and the fine screening step S300 of the above-described retrieval method. That is, the neural network model is pre-trained, and the computer program only performs the query retrieval work.

[0097] Alternatively, when the computer program is executed by the processor, it may also perform the training step S100 of the retrieval method described above. That is, the computer program can complete the training of the neural network model, and then perform the query retrieval work after the neural network model is trained.

[0098] Based on the principles of geometric topology and deep learning computer vision technology, this application uses massive amounts of 3D model data accumulated by enterprises in the past to analyze the macroscopic outline and microscopic details of the model through a shape-based search mode. It calculates the similarity score between the model to be queried and the existing models in the database in real time, thereby guiding designers to quickly reuse existing results and assisting managers in the standardization and deduplication of parts.

[0099] The steps of the method in this application can be adjusted, combined, or deleted according to actual needs. The units of the terminal in this application can be integrated, further divided, or deleted according to actual needs.

[0100] The processes described in all the preferred embodiments above are merely examples. Unless adverse effects occur, various processing operations can be performed in a different order than those described above. The steps of the above processes can also be added, combined, or deleted as needed.

[0101] Unless otherwise defined, the technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used herein is for descriptive purposes only and is not intended to limit the scope of this application. Features described in one embodiment may be applied, alone or in combination with other features, to another embodiment, unless that feature is not applicable in that other embodiment or is otherwise stated.

[0102] This application has been described through the above embodiments. However, it should be understood that the above embodiments are for illustrative purposes only and are not intended to limit this application to the described embodiments. Furthermore, those skilled in the art will understand that this application is not limited to the above embodiments, and many more variations and modifications can be made based on the teachings of this application, all of which fall within the scope of protection claimed in this application.

Claims

1. A method for retrieving three-dimensional models, characterized in that, include: Training step S100, the training step S100 includes: Step S110: Establish a training set for the 3D model to retrieve the 3D model from the training set; Step S120: Obtain the first discrete point cloud data of each three-dimensional model in the training set, and train a neural network model using the first discrete point cloud data so that the neural network model can extract the overall topological structure features of the three-dimensional model. The coarse screening process S200 includes: Step S210: Obtain the first discrete point cloud data of each of the three-dimensional models in the training set and the three-dimensional models to be queried; Step S220: Convert the first discrete point cloud data of each three-dimensional model from the spatial domain to the frequency domain, and perform low-pass filtering on the frequency domain data to obtain the first vector of the three-dimensional model. Then, input the first discrete point cloud data of each three-dimensional model into the neural network model to obtain the second vector of the three-dimensional model. Step S230: Concatenate the first vector and the second vector of each three-dimensional model to form the third vector of the three-dimensional model; Step S240: Calculate the first similarity between the third vector of the 3D model to be queried and the third vector of each 3D model in the training set; Step S250: The set of 3D models in the training set whose first similarity reaches the first threshold is denoted as the initial screening set; and Fine screening process S300, wherein the fine screening process S300 includes: Step S310: Calculate the fourth vector of each of the three-dimensional models in the initial screening set and the three-dimensional models to be queried based on the first discrete point cloud data. The fourth vector is used to characterize the local structural features of the three-dimensional model. Step S320: Determine a fine screening set based on the second similarity between the fourth vector of the three-dimensional model to be queried and the fourth vector of each three-dimensional model in the initial screening set, wherein the fine screening set is a subset of the initial screening set and the fine screening set is the retrieval result.

2. The method for retrieving three-dimensional models according to claim 1, characterized in that, In training steps S100 and S210, the first discrete point cloud data of the three-dimensional model is obtained according to the following steps: Obtain the original discrete point cloud data of the three-dimensional model; The geometric centroid of the 3D model is calculated based on the original discrete point cloud data, and the origin of the coordinate system is translated to the centroid to obtain the second discrete point cloud data of the 3D model. Calculate the maximum modulus based on the second discrete point cloud data; The second discrete point cloud data is normalized using the maximum modulus as the standard to obtain the first discrete point cloud data.

3. The method for retrieving three-dimensional models according to claim 1, characterized in that, In step S220, the result of the first discrete point cloud data calculated by the neural network model is also subjected to max pooling to obtain the second vector.

4. The method for retrieving three-dimensional models according to claim 1, characterized in that, In step S310, the fourth vector is calculated according to the following method: Determine the anchor points of the three-dimensional model, wherein the anchor points are topological singularities and / or discontinuities on the surface of the three-dimensional model; Analyze the local invariant features of each point in the neighborhood of the anchor point relative to the anchor point to obtain the fourth vector for each anchor point.

5. The method for retrieving three-dimensional models according to claim 4, characterized in that, In step S310, the curvature and normal vector of the surface of the three-dimensional model are analyzed based on the first discrete point cloud data, and the anchor point is determined based on the curvature and normal vector.

6. The method for retrieving three-dimensional models according to claim 4, characterized in that, In step S310, the fourth vector for each anchor point is obtained according to the following method: Based on the geometric principal component analysis of the surfaces in the neighborhood of the anchor point, the local orthogonal basis matrix of each anchor point is calculated so that the local orthogonal basis matrix can reflect the local structural features at the anchor point. Calculate the difference between the coordinates of each point in the neighborhood of the anchor point and the coordinates of the anchor point, and multiply the difference in coordinates by the local orthogonal basis matrix to obtain the fifth vector of each point in the neighborhood of the anchor point; The fifth vector is obtained by concatenating the fifth vectors of all points in the neighborhood of the anchor point.

7. The method for retrieving three-dimensional models according to claim 4, characterized in that, In step S320, the fine screening set is determined according to the following method: Calculate the second similarity between the fourth vector of each anchor point of the 3D model to be queried and the fourth vector of each anchor point of each 3D model in the initial screening set; A pair of anchor points whose second similarity reaches the second threshold is recorded as a matching anchor point. For the same three-dimensional model in the initial screening set, the anchor points of the three-dimensional model to be queried are not repeated in the matching anchor points, and the anchor points of the three-dimensional models in the initial screening set are also not repeated. Calculate the number of anchor points that match each 3D model in the initial screening set for the 3D model to be queried. The matching score between the 3D model to be queried and each 3D model in the initial screening set is calculated according to the following formula: Score = a∙S1 + (1-a)∙k / n, where 0 < a < 1, S1 is the first similarity, k is the number of matching anchor pairs, and n is the smaller of the number of anchors of the corresponding 3D model in the initial screening set and the number of anchors of the 3D model to be queried. Three-dimensional models whose scores in the initial screening set reach a preset score threshold are selected into the fine screening set.

8. The method for retrieving a three-dimensional model according to any one of claims 1 to 7, characterized in that, The first similarity is a similarity based on Euclidean distance or cosine similarity; and / or The second similarity is based on Euclidean distance or cosine similarity.

9. The method for retrieving a three-dimensional model according to any one of claims 1 to 7, characterized in that, In step S110, a new 3D model in the training set is obtained by modifying the existing 3D models in the training set, wherein the modification includes at least one of the following methods: Scaling up the local structure of an existing 3D model; Perform mirror-symmetric transformations on existing 3D models; The existing 3D model is blurred.

10. The method for retrieving a three-dimensional model according to any one of claims 1 to 7, characterized in that, The retrieval method further includes, when no 3D model matching the 3D model to be queried is found in the training set, including the 3D model to be queried in the training set, and retraining the neural network model in step S120.

11. A retrieval device for three-dimensional models, characterized in that, include: The storage module stores a training set of three-dimensional models and a neural network model, wherein the neural network model is trained using the first discrete point cloud data of each three-dimensional model in the training set. An input module is used to input the 3D model to be queried into the retrieval device; A retrieval module is configured to perform the coarse screening step S200 and the fine screening step S300 of the retrieval method according to any one of claims 1 to 10; and The output module is used to output the search results.

12. The retrieval device according to claim 11, characterized in that, The output module is a display screen, which outputs the search results by displaying the three-dimensional model of the finely screened set.

13. The retrieval device according to claim 12, characterized in that, The display screen simultaneously displays the 3D model to be queried and the 3D models in the finely screened set.

14. The retrieval device according to any one of claims 11 to 13, characterized in that, The input module is further configured to input the three-dimensional model of the training set into the retrieval device, and the retrieval device further includes a training module, which is configured to perform the training step S100 of the retrieval method according to any one of claims 1 to 10.

15. An electronic device, characterized in that, Includes a memory and a processor, wherein the memory stores: The training set for the 3D model; A neural network model, wherein the neural network model is trained using the first discrete point cloud data of each three-dimensional model in the training set; and A computer program, when executed by the processor, causes the processor to perform the coarse screening step S200 and the fine screening step S300 of the retrieval method according to any one of claims 1 to 10.

16. The electronic device according to claim 15, characterized in that, When the computer program is executed by the processor, the processor also executes the training step S100 of the retrieval method according to any one of claims 1 to 10.

17. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it performs the coarse screening step S200 and the fine screening step S300 of the retrieval method according to any one of claims 1 to 10.

18. The computer-readable storage medium according to claim 17, characterized in that, When the computer program is executed by the processor, it also performs the training step S100 of the retrieval method according to any one of claims 1 to 10.