Three-dimensional object recommendation method and device, electronic equipment and medium
The method uses shape feature extractors to generate vectors from triangular mesh maps, calculating similarities to recommend three-dimensional objects with similar shapes or areas, addressing the inefficiencies in existing software by enhancing accuracy and user satisfaction.
Patent Information
- Application Number
- CN202411204827.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2024-12-24
AI Technical Summary
Existing engineering software fails to efficiently recommend three-dimensional objects with similar shapes or specific areas, such as part objects, due to the complexity of component parts and varying shapes within product models.
A method utilizing a shape feature extractor to generate shape feature vectors from triangular mesh feature maps, calculating similarities between target and candidate objects, and recommending matching three-dimensional objects based on these vectors, with pre-trained models like MeshNet or MeshCNN for enhanced accuracy.
Enables quick and accurate recommendation of three-dimensional objects with similar shapes or local areas, improving user satisfaction by leveraging deep learning techniques for precise shape matching.
Smart Images

Figure CN119180925A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of three-dimensional entities and recommendation technologies thereof, and in particular to a method, device, electronic equipment and medium for recommending three-dimensional objects. Background Art
[0002] In engineering software, product models are often composed of different components, each component is usually composed of different parts, and the shapes of different areas of each part are also different. In some cases, users need to quickly select a certain type of object, such as part objects with similar shapes or a certain area object in a part. Existing engineering software cannot meet this user demand well. Summary of the invention
[0003] In view of this, the present application provides a method, device, electronic device and medium for recommending a three-dimensional object, which are used to at least partially solve the above technical problems.
[0004] In a first aspect, the present application provides a method for recommending a three-dimensional object, comprising:
[0005] Obtain a triangular mesh feature map of a target three-dimensional object;
[0006] Inputting the triangular mesh feature map of the target three-dimensional object into a shape feature extractor, and obtaining a shape feature vector of the target three-dimensional object output by the last network layer of the shape feature extractor;
[0007] Calculating the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object;
[0008] Based on the calculation result of the similarity, a three-dimensional object matching the target three-dimensional object is selected from the candidate three-dimensional objects and recommended.
[0009] In a possible implementation, the target three-dimensional object is a three-dimensional part model;
[0010] Before calculating the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object, the method further includes:
[0011] Pre-store different 3D part models and corresponding shape feature vectors in the library;
[0012] All three-dimensional part models are obtained from the library as the candidate three-dimensional objects.
[0013] In a possible implementation, the target three-dimensional object is a local area of a three-dimensional part model;
[0014] Before calculating the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object, the method further includes:
[0015] Respectively obtaining a triangular mesh feature map of the local area and a triangular mesh feature map of the candidate three-dimensional part model;
[0016] Inputting the triangular mesh feature map of the local area and the triangular mesh feature map of the candidate three-dimensional part model into the shape feature extractor respectively, obtaining the feature map output by the first N-1 network layers of the shape feature extractor corresponding to the local area and the feature map output by the first N-1 network layers of the shape feature extractor corresponding to the candidate three-dimensional part model; wherein the shape feature extractor includes N network layers, and the feature map includes elements and their shape feature vectors;
[0017] Performing global pooling processing on the feature map output by each network layer in the first N-1 network layer outputs corresponding to the local area, to obtain a target shape feature vector output by each network layer corresponding to the local area;
[0018] Based on the target shape feature vector output by each network layer corresponding to the local area and the shape feature vector of each element in the feature map output by each network layer in the first N-1 network layer outputs corresponding to the candidate three-dimensional part model, a similarity score between the shape feature vector of each element in the triangular mesh feature map of the candidate three-dimensional part model and the target shape feature vector of the local area is obtained;
[0019] Determine the position of the element of the triangular mesh feature map of the candidate three-dimensional part model whose similarity score is greater than a first preset threshold;
[0020] Based on the determined position of the element, several candidate regions in the candidate three-dimensional part model are obtained as the candidate three-dimensional objects.
[0021] In a possible implementation, obtaining a similarity score between the shape feature vector of each element in the triangular mesh feature map of the candidate 3D part model and the target shape feature vector of the local area based on the target shape feature vector of each network layer output corresponding to the local area and the shape feature vector of each element in the feature map of each network layer output of the first N-1 network layers corresponding to the candidate 3D part model further includes:
[0022] The similarity between the shape feature vector of each element in the feature map output by each network layer corresponding to the alternative three-dimensional part model and the target shape feature vector output by the corresponding network layer corresponding to the local area is calculated respectively; the similarities output by all network layers corresponding to each element in the triangular mesh feature map of the alternative three-dimensional part model are accumulated to obtain a similarity score between the shape feature vector of each element in the triangular mesh feature map of the alternative three-dimensional part model and the target shape feature vector of the local area.
[0023] In a possible implementation, before accumulating the similarities output by all network layers corresponding to each element in the triangular mesh feature graph of the candidate three-dimensional part model, the method further includes:
[0024] The feature map output by each network layer corresponding to the candidate three-dimensional part model after the similarity calculation is up-sampled.
[0025] In a possible implementation, the shape feature extractor is a pre-trained MeshNet.
[0026] In a possible implementation, the shape feature extractor is a pre-trained MeshCNN.
[0027] In a possible implementation, the selecting and recommending a three-dimensional object matching the target three-dimensional object from the candidate three-dimensional objects based on the calculation result of the similarity further includes:
[0028] The candidate three-dimensional objects whose calculation results of the similarity are greater than a second preset threshold are determined and recommended.
[0029] In a possible implementation manner, the similarity is calculated based on a vector inner product operation.
[0030] In a second aspect, the present application provides a three-dimensional object recommendation device, the three-dimensional object recommendation device comprising:
[0031] An acquisition module, used for acquiring a triangular mesh feature map of a target three-dimensional object;
[0032] A feature extraction module, used for inputting the triangular mesh feature map of the target three-dimensional object into a shape feature extractor, and obtaining a shape feature vector of the target three-dimensional object output by the last network layer of the shape feature extractor;
[0033] A similarity calculation module, used to calculate the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object;
[0034] A recommendation module is used to select and recommend a three-dimensional object that matches the target three-dimensional object from the candidate three-dimensional objects based on the calculation result of the similarity.
[0035] In a third aspect, the present application provides an electronic device, the electronic device comprising: a processor, a communication interface, a memory and a bus, the processor, the communication interface and the memory communicating with each other through the bus;
[0036] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the method described in any implementation manner of the first aspect.
[0037] In a fourth aspect, the present application provides a computer-readable storage medium having computer instructions stored thereon. When the computer instructions are executed by a processor, the processor executes the method described in any implementation of the first aspect.
[0038] In an embodiment of the present application, according to the three-dimensional object provided by the user, a pre-trained shape feature extractor is used to extract a feature vector that can uniquely identify the shape feature, and by comparing the similarity of the feature vectors, several most similar three-dimensional models are recommended from all candidate three-dimensional objects, so that three-dimensional objects with similar shapes can be quickly recommended to the user with high accuracy. Further, in the case where the target three-dimensional object is a local area of a three-dimensional part model, the local area and the candidate three-dimensional part model are respectively input into the aforementioned shape feature extractor, and based on the shape feature vector output by each network layer of the corresponding shape feature extractor, the shape feature vector of each element of the triangular mesh feature map of the candidate three-dimensional part model and the target shape feature vector of the local area are calculated. The position of the element of the triangular mesh feature map of the candidate three-dimensional part model is determined by the similarity score, and several candidate areas in the candidate three-dimensional part model are obtained as the aforementioned candidate three-dimensional objects based on the determined position of the element, thereby improving the recommendation accuracy of the three-dimensional object as the local area of the three-dimensional part model. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 The figure is a flowchart of a method for recommending a three-dimensional object according to an embodiment of the present application.
[0040] Figure 2 is a structural diagram of a three-dimensional object recommendation device according to an embodiment of the present application.
[0041] Figure 3 is a structural diagram of an electronic device according to an embodiment of the present application.
[0042] List of reference numerals:
[0043] 200. Recommendation device for three-dimensional object; 202. Acquisition module;
[0044] 204, feature extraction module; 206, similarity calculation module;
[0045] 208, Recommendation module; 300, Electronic equipment;
[0046] 302, processor; 304, communication interface;
[0047] 306. memory; 308. bus;
[0048] 310. Procedure. DETAILED DESCRIPTION
[0049] In an embodiment of the present application, a shape feature vector of the target three-dimensional object output by the last network layer of the shape feature extractor is obtained by inputting a triangular mesh feature map of the target three-dimensional object into a shape feature extractor, and the similarity between the shape feature vector of the target three-dimensional object and the shape feature vector of each candidate three-dimensional object is calculated, and a three-dimensional object matching the target three-dimensional object is selected from each candidate three-dimensional object based on the calculation result of the similarity and recommended, so as to quickly and accurately recommend three-dimensional objects with similar shapes to users. In order to make the purpose, technical solutions, and advantages of the present application clearer, the present application is further described in detail with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other technical solutions obtained by ordinary technicians in this field belong to the scope of protection of the present application.
[0050] Figure 1 FIG. 1 is a flow chart showing a method for recommending a three-dimensional object according to an embodiment of the present invention. Figure 1 As shown, the method includes:
[0051] In S102, a triangular mesh feature map of a target three-dimensional object is obtained. Exemplarily, the target three-dimensional object may be a three-dimensional part model or a local area of a three-dimensional part model; for example, a part or a local area of a part manually selected by a user.
[0052] Afterwards, the process proceeds to S104, where the triangular mesh feature map of the target three-dimensional object is input into a shape feature extractor, and a shape feature vector of the target three-dimensional object output by the last network layer of the shape feature extractor is obtained.
[0053] Then, the process proceeds to S106 to calculate the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object.
[0054] Among them, the shape feature vector of each candidate three-dimensional object is also obtained by inputting the triangular mesh feature map of the candidate three-dimensional object into the aforementioned shape feature extractor to obtain the output of the last network layer of the shape feature extractor.
[0055] In the embodiment where the target three-dimensional object is a "three-dimensional part model", before S106, different three-dimensional part models and corresponding shape feature vectors are pre-stored in a library; all three-dimensional part models are obtained from the library as candidate three-dimensional objects. Moreover, the shape feature vector corresponding to each three-dimensional part model in the library is also obtained by inputting its triangular mesh feature map into the aforementioned shape feature extractor to obtain the output of the last network layer of the shape feature extractor.
[0056] In addition, the shape feature extractor in this embodiment is a pre-trained same deep learning model, such as but not limited to MeshNet, MeshCNN, etc., which has N (N≥2) network layers. The calculation of "similarity" in this embodiment can use vector inner product operation.
[0057] Furthermore, in an exemplary embodiment where the shape feature extractor is MeshNet and the target three-dimensional object is a "local area of a three-dimensional part model", before S106, the following steps are also included: ① Obtain a triangular mesh feature map of the local area and a triangular mesh feature map of the candidate three-dimensional part model, respectively. ② Input the triangular mesh feature map of the local area and the triangular mesh feature map of the candidate three-dimensional part model into the MeshNet, respectively, to obtain a feature map of the output of the first N-1 network layers of the MeshNet corresponding to the local area and a feature map of the output of the first N-1 network layers of the MeshNet corresponding to the candidate three-dimensional part model; wherein the feature map includes elements and their shape feature vectors. ③ Perform global pooling processing on the feature map output by each network layer in the output of the first N-1 network layers corresponding to the local area to obtain a target shape feature vector output by each network layer corresponding to the local area. ④ Perform similarity calculation on the shape feature vector of each element in the feature map output by each network layer corresponding to the candidate three-dimensional part model and the target shape feature vector output by the corresponding network layer corresponding to the local area. ⑤ Accumulate the similarities output by all network layers corresponding to each element in the triangular mesh feature map of the candidate three-dimensional part model to obtain a similarity score between the shape feature vector of each element in the triangular mesh feature map of the candidate three-dimensional part model and the target shape feature vector of the local area. ⑥ Determine the position of the element of the triangular mesh feature map of the candidate three-dimensional part model whose similarity score is greater than the first preset threshold. ⑦ Based on the determined position of the element, obtain several candidate areas in the candidate three-dimensional part model as the candidate three-dimensional object. In addition, exemplarily, the aforementioned "alternative three-dimensional part model" can be a three-dimensional part model where the local area is located, or a specified three-dimensional part model or all three-dimensional part models in the library. Moreover, this embodiment is not limited to the accumulation when calculating the similarity score, and can also perform, for example, weighted summation, multiplication, etc. Exemplarily, in the aforementioned step ⑦, for example, the position of each element determined is used as the center point to expand several elements outward to obtain the corresponding candidate area, and finally obtain several candidate areas.
[0058] In addition, the "exemplary embodiment in which the shape feature extractor is MeshCNN and the target three-dimensional object is a local area of a three-dimensional part model" is different from the aforementioned exemplary embodiment in which "the shape feature extractor is MeshNet and the target three-dimensional object is a local area of a three-dimensional part model": (1) Since the feature map output by each network layer of MeshCNN will be reduced layer by layer, before S106, in addition to executing the aforementioned steps ① to ⑦, it is also necessary to upsample the feature map output by each network layer corresponding to the alternative three-dimensional part model after the similarity calculation before accumulating the similarity in step ⑤, so that the feature map after the similarity calculation can be restored to the size of the triangular mesh feature map originally input to the network model; (2) The elements in the feature map involved in MeshNet are "triangular faces", while the elements in the feature map involved in MeshCNN are "edges".
[0059] Then, in step S108, based on the calculation result of the similarity in step S106, a three-dimensional object matching the target three-dimensional object is selected from each candidate three-dimensional object and recommended. Wherein, illustratively, step S108 can be further implemented as: determining a candidate three-dimensional object whose calculation result of the similarity is greater than a second preset threshold and recommending it.
[0060] Exemplarily, the shape feature vector of the target three-dimensional object is used as an index to store the selected three-dimensional objects that match the target three-dimensional object, for example, in a library. Then, before S106, the three-dimensional objects that match the target three-dimensional object are directly queried from the library based on the shape feature vector of the target three-dimensional object for recommendation.
[0061] In order to implement the three-dimensional object recommendation method of the above embodiment, another embodiment of the present invention further provides a structural diagram of a three-dimensional object recommendation device 200. Figure 2 As shown, the device 200 includes an acquisition module 202, a feature extraction module 204, a similarity calculation module 206 and a recommendation module 208. It should be noted that since the embodiment of the device 200 is to implement the aforementioned method embodiment, each module in the device 200 is designed to implement each step of the aforementioned method. Therefore, the present invention is not limited to the following embodiments, and any device or module that can implement the aforementioned method should be included in the protection scope of the present invention. In addition, since the device 200 of this embodiment is a corresponding device to the method of the aforementioned embodiment, all technical details in the method of the aforementioned embodiment are applicable to the device 200 of this embodiment. For the sake of simplicity, some details that are the same as those of the method of the aforementioned embodiment are omitted here.
[0062] In this embodiment, the acquisition module 202 is used to obtain a triangular mesh feature map of a target three-dimensional object. Exemplarily, the target three-dimensional object may be a three-dimensional part model or a local area of a three-dimensional part model; for example, a user manually selects a part or a local area of a part to obtain a triangular mesh feature map of the target three-dimensional object.
[0063] In this embodiment, the feature extraction module 204 is used to input the triangular mesh feature map of the target three-dimensional object into the shape feature extractor to obtain the shape feature vector of the target three-dimensional object output by the last network layer of the shape feature extractor. The feature extraction module 204 is also used to input the triangular mesh feature map of the candidate three-dimensional object into the aforementioned shape feature extractor to obtain the shape feature vector of each candidate three-dimensional object output by the last network layer of the shape feature extractor.
[0064] In this embodiment, the similarity calculation module 206 is used to calculate the similarity between the shape feature vector of the target 3D object and the shape feature vector of each candidate 3D object. The target 3D object can be a 3D part model or a local area of a 3D part model; for example, a part or a local area of a part manually selected by a user.
[0065] In this embodiment, the recommendation module 208 is used to select and recommend a three-dimensional object that matches the target three-dimensional object from each candidate three-dimensional object based on the calculation result of the similarity. Exemplarily, the recommendation module 208 is also used to determine and recommend a candidate three-dimensional object whose calculation result of the similarity is greater than a second preset threshold.
[0066] Figure 3 FIG. 3 is a schematic diagram of an electronic device according to an embodiment of the present disclosure. It should be noted that the present embodiment does not limit the specific implementation of the electronic device 300. Figure 3 As shown, the electronic device 300 includes: a processor 302, a communication interface 304, a memory 306, and a bus 308. Among them:
[0067] The processor 302 , the communication interface 304 , and the memory 306 communicate with each other via the bus 308 .
[0068] The communication interface 304 is used to communicate with other electronic devices or servers.
[0069] The processor 302 is used to execute the program 310, and specifically can execute the relevant steps in the aforementioned method embodiments.
[0070] Specifically, the program 310 may include program codes, which include computer operation instructions.
[0071] The processor 302 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present disclosure. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0072] The memory 306 is used to store the program 310. The memory 306 may include a high-speed RAM memory 306, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0073] The program 310 may be specifically configured to enable the processor 302 to execute the method in any of the aforementioned embodiments.
[0074] The specific implementation of each step in the program 310 can refer to the corresponding description of the corresponding steps and units in the method of the aforementioned embodiment, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the aforementioned method embodiment, which will not be repeated here.
[0075] The present disclosure also provides a computer-readable storage medium storing instructions for causing a machine to execute the method embodiments described herein. Specifically, a system or device equipped with a storage medium may be provided, on which a software program code for implementing the functions of any of the above embodiments is stored, and a computer (or CPU or MPU) of the system or device is enabled to read and execute the program code stored in the storage medium.
[0076] In this case, the program code itself read from the storage medium can realize the function of any one of the above embodiments, and thus the program code and the storage medium storing the program code constitute part of the present disclosure.
[0077] The storage medium embodiments for providing the program code include a floppy disk, a hard disk, a magneto-optical disk, an optical disk (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), a magnetic tape, a non-volatile memory card, and a ROM. Alternatively, the program code can be downloaded from a server computer by a communication network.
[0078] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present application can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present application.
[0079] The above-mentioned method according to the embodiment of the present application can be implemented in hardware, firmware, or implemented as software or computer code that can be stored in a recording medium (such as a CD ROM, RAM, floppy disk, hard disk or magneto-optical disk), or implemented as a computer code originally stored in a remote recording medium or a non-temporary machine-readable medium downloaded through a network and to be stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a special-purpose processor or programmable or special-purpose hardware (such as an ASIC or FPGA). It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code, and when the software or computer code is accessed and executed by a computer, a processor or hardware, the method described herein is implemented. In addition, when a general-purpose computer accesses the code for implementing the method shown here, the execution of the code converts the general-purpose computer into a special-purpose computer for executing the method shown here.
[0080] It should be noted that not all steps and modules in the above-mentioned processes and system structure diagrams are necessary, and some steps or modules can be ignored according to actual needs. The execution order of each step is not fixed and can be adjusted as needed. The system structure described in the above-mentioned embodiments can be a physical structure or a logical structure, that is, some modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities, or some components in multiple independent devices may be implemented together.
[0081] In the above embodiments, the hardware module can be implemented mechanically or electrically. For example, a hardware module can include permanent dedicated circuits or logic (such as special processors, FPGA or ASIC) to complete the corresponding operation. The hardware module can also include programmable logic or circuits (such as general-purpose processors or other programmable processors), which can be temporarily set by software to complete the corresponding operation. The specific implementation method (mechanical method, or dedicated permanent circuit, or temporarily set circuit) can be determined based on cost and time considerations.
[0082] It should be noted that in the claims and description of this patent, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "including one" do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0083] While the present disclosure has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure.
[0084] The present disclosure has been shown and described in detail above through the accompanying drawings and preferred embodiments. However, the present disclosure is not limited to these disclosed embodiments. Based on the above multiple embodiments, those skilled in the art can know that the code review methods in the above different embodiments can be combined to obtain more embodiments of the present disclosure, and these embodiments are also within the protection scope of the present disclosure.
Claims
1. A method for recommending a three-dimensional object, characterized in that: include: Obtain a triangular mesh feature map of a target three-dimensional object; Inputting the triangular mesh feature map of the target three-dimensional object into a shape feature extractor, and obtaining a shape feature vector of the target three-dimensional object output by the last network layer of the shape feature extractor; Calculating the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object; Based on the calculation result of the similarity, a three-dimensional object matching the target three-dimensional object is selected from the candidate three-dimensional objects and recommended.
2. The method according to claim 1, characterized in that The target three-dimensional object is a three-dimensional part model; Before calculating the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object, the method further includes: Pre-store different 3D part models and corresponding shape feature vectors in the library; All three-dimensional part models are obtained from the library as the candidate three-dimensional objects.
3. The method according to claim 1, characterized in that The target three-dimensional object is a local area of a three-dimensional part model; Before calculating the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object, the method further includes: Respectively obtaining a triangular mesh feature map of the local area and a triangular mesh feature map of the candidate three-dimensional part model; Inputting the triangular mesh feature map of the local area and the triangular mesh feature map of the candidate three-dimensional part model into the shape feature extractor respectively, obtaining the feature map output by the first N-1 network layers of the shape feature extractor corresponding to the local area and the feature map output by the first N-1 network layers of the shape feature extractor corresponding to the candidate three-dimensional part model; wherein the shape feature extractor includes N network layers, and the feature map includes elements and their shape feature vectors; Performing global pooling processing on the feature map output by each network layer in the first N-1 network layer outputs corresponding to the local area, to obtain a target shape feature vector output by each network layer corresponding to the local area; Based on the target shape feature vector output by each network layer corresponding to the local area and the shape feature vector of each element in the feature map output by each network layer in the first N-1 network layer outputs corresponding to the candidate three-dimensional part model, a similarity score between the shape feature vector of each element in the triangular mesh feature map of the candidate three-dimensional part model and the target shape feature vector of the local area is obtained; Determining the position of the element of the triangular mesh feature map of the candidate three-dimensional part model whose similarity score is greater than a first preset threshold; Based on the determined position of the element, several candidate regions in the candidate three-dimensional part model are obtained as the candidate three-dimensional objects.
4. The method according to claim 3, characterized in that The method further comprises: obtaining a similarity score between the shape feature vector of each element in the triangular mesh feature map of the candidate 3D part model and the target shape feature vector of the local area based on the target shape feature vector of each network layer output corresponding to the local area and the shape feature vector of each element in the feature map of each network layer output of the first N-1 network layers corresponding to the candidate 3D part model, further comprising: The similarity between the shape feature vector of each element in the feature map output by each network layer corresponding to the alternative three-dimensional part model and the target shape feature vector output by the corresponding network layer corresponding to the local area is calculated respectively; the similarities output by all network layers corresponding to each element in the triangular mesh feature map of the alternative three-dimensional part model are accumulated to obtain a similarity score between the shape feature vector of each element in the triangular mesh feature map of the alternative three-dimensional part model and the target shape feature vector of the local area.
5. The method according to claim 4, characterized in that Before accumulating the similarities of all network layer outputs corresponding to each element in the triangular mesh feature graph of the candidate three-dimensional part model, the method further includes: The feature map output by each network layer corresponding to the candidate three-dimensional part model after the similarity calculation is up-sampled.
6. The method according to claim 4, characterized in that The shape feature extractor is a pre-trained MeshNet.
7. The method according to claim 5, characterized in that The shape feature extractor is a pre-trained MeshCNN.
8. The method according to any one of claims 1 to 7, characterized in that The selecting and recommending a three-dimensional object matching the target three-dimensional object from the candidate three-dimensional objects based on the calculation result of the similarity further includes: The candidate three-dimensional objects whose calculation results of the similarity are greater than a second preset threshold are determined and recommended; wherein the similarity is calculated based on a vector inner product operation.
9. A three-dimensional object recommendation device, characterized in that: The three-dimensional object recommendation device (200) comprises: An acquisition module (202) is used to obtain a triangular mesh feature map of a target three-dimensional object; A feature extraction module (204), used for inputting the triangular mesh feature map of the target three-dimensional object into a shape feature extractor, and obtaining a shape feature vector of the target three-dimensional object output by the last network layer of the shape feature extractor; A similarity calculation module (206), used for calculating the similarity between the shape feature vector of the target three-dimensional object and the shape feature vectors of each candidate three-dimensional object; A recommendation module (208) is used to select and recommend a three-dimensional object that matches the target three-dimensional object from the candidate three-dimensional objects based on the calculation result of the similarity.
10. An electronic device, the electronic device (300) comprising: A processor (302), a communication interface (304), a memory (306) and a bus (308), wherein the processor (302), the communication interface (304) and the memory (306) communicate with each other via the bus (308); The memory (306) is used to store at least one executable instruction, and the executable instruction enables the processor (302) to perform operations corresponding to the method according to any one of claims 1 to 8.
11. A computer-readable storage medium, wherein computer instructions are stored on the computer-readable storage medium, and when the computer instructions are executed by a processor, the processor is caused to execute the method according to any one of claims 1 to 8.
