Three-dimensional model splitting method, device, computer equipment and storage medium

Through the clustering method based on the vertex connectivity relationship and the clustering method of the association matrix construction, the problem of coexistence of different semantic objects in the three-dimensional model is solved, and high-accuracy model splitting and semantic clear model components are achieved.

CN114170380BActive Publication Date: 2025-04-04HANGZHOU QUNHE INFORMATION TECHNOLOGIES CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111443934.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-30
Publication Date
2025-04-04
Estimated Expiration
2041-11-30

AI Technical Summary

Technical Problem

The prior art is difficult to accurately split model components containing different semantic objects, resulting in inaccurate splitting of three-dimensional models.

Method used

By obtaining the model components of the three-dimensional model, splitting them into topologically unconnected subcomponents based on the vertex connectivity relationship, building an association matrix between subcomponents, and clustering the subcomponents according to the clustering distance to output the accurate splitting result.

Benefits of technology

Accurate splitting of different semantic objects is achieved, ensuring the semantic clarity of model components, and improving the accuracy and applicability of three-dimensional model splitting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114170380B_ABST
    Figure CN114170380B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, device, computer equipment and storage medium for splitting a three-dimensional model, including: splitting a model component into multiple topologically unconnected sub-components based on the vertex connectivity relationship of the model component, the process realizes the segmentation of objects with different semantics, and at the same time, in order to solve the situation of over-segmentation of the model component, after constructing the association matrix between the sub-components according to the shortest distance between the vertices belonging to different sub-components, and clustering each sub-component according to the association matrix between the sub-components and the preset clustering distance, the over-segmented objects with the same semantics are merged by clustering, so that the obtained cluster clusters are used as new model components, which are closer to the single object data containing single semantics in each component, have high accuracy, and are suitable for application transformation of three-dimensional models. Furthermore, the splitting process method is simple, the running time is short, and the computing overhead cost is saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of three-dimensional model splitting, and specifically relates to a three-dimensional model splitting method, device, computer equipment and storage medium. Background Art

[0002] In research and production, we often encounter situations where we need to split and cluster 3D model data based on semantics. For 3D models composed of multiple model components, due to the designer's negligence or mistakes, subcomponents corresponding to objects with different semantics are included in the same model component, making the semantics of the model component unclear.

[0003] Patent application document CN104794316 A discloses a method for splitting and combining 3D models. For a splittable three-dimensional model, the three-dimensional model is manually split into sub-modules by mouse operation, and then combined according to the collision detection between the sub-modules and the adjacent relationship in the original three-dimensional model. However, the method only involves the splitting and combination of model sub-modules, and the sub-modules are pre-defined rather than calculated, so it is actually impossible to truly split the original integrated three-dimensional model; at the same time, the basis for combination is bounding box-level collision, the granularity is relatively coarse, and manual operation with the mouse is required. Therefore, this method is difficult to split the model components in which the above-mentioned different semantic objects coexist.

[0004] Patent application document CN113450464 A discloses a method for automatic splitting of three-dimensional models, including: converting an STL model or an SLC model into different shells according to topology, and then judging whether to merge the shells according to the distance between adjacent shells and their separation, intersection and inclusion relationships, and finally outputting each shell as a model. However, this method uses the minimum bounding box spacing to judge the positional relationship when merging shells, which makes it difficult to accurately describe the distance between the two shells; in particular, it is very inaccurate to judge the intersection and inclusion relationship of the shells by the bounding box, and it is easy to have the situation where the bounding box intersects or contains but the shells themselves are separated, such as the wardrobe and the clothes, utensils and the things they contain in the wardrobe, resulting in poor splitting results. Therefore, this method is difficult to universally perform high-quality splitting on the above-mentioned model components where different semantic objects coexist. Summary of the invention

[0005] In view of the above, an object of the present invention is to provide a three-dimensional model splitting method, apparatus, computer equipment and storage medium to solve the problem of inaccurate three-dimensional model splitting caused by unclear semantics of model components due to objects with different semantics being included in the same model component.

[0006] In a first aspect, an embodiment provides a method for splitting a three-dimensional model, comprising the following steps:

[0007] Obtaining a three-dimensional model composed of model components, and splitting the model components into multiple topologically unconnected sub-components based on vertex connectivity relationships of the model components;

[0008] Construct the association matrix between subcomponents based on the distances between vertices belonging to different subcomponents;

[0009] According to the association matrix between subcomponents and the preset clustering distance, each subcomponent is clustered, and each cluster is output as the splitting result.

[0010] In one embodiment, the method of splitting the model component into a plurality of topologically unconnected subcomponents based on the vertex connectivity relationship of the model component includes:

[0011] The topological relationship of the model components is abstracted into an adjacency matrix that describes the vertex adjacency relationship, and the adjacency matrix is ​​filled according to whether two vertices are connected. After the adjacency matrix is ​​converted into an undirected graph, the connected area search is performed on the undirected graph, and each connected component representing the vertex connectivity relationship is corresponded to a subcomponent to achieve subcomponent division.

[0012] In one embodiment, filling the adjacency matrix according to whether two vertices are connected includes:

[0013] When it is determined that there is an edge of a patch data connecting two vertices, the row-column intersection value corresponding to the two vertices is assigned as a first single value in the adjacency matrix; otherwise, the row-column intersection value corresponding to the two vertices is assigned as a second single value in the adjacency matrix, wherein the first single value is not equal to the second single value;

[0014] In the adjacency matrix, the row and column intersection values ​​corresponding to the same vertex are assigned as the first single value.

[0015] In one embodiment, a non-recursive depth-first search is used to search for connected regions in an undirected graph.

[0016] In one embodiment, constructing an association matrix between subcomponents based on distances between vertices belonging to different subcomponents includes:

[0017] Describe the association relationship between subcomponents as an association matrix. For any two subcomponents, calculate the Euclidean distance between each vertex of one subcomponent and each vertex of the other component. When the Euclidean distance is less than the preset clustering distance, assign the row and column intersection values ​​corresponding to the two subcomponents in the association matrix to 0, and stop calculating the Euclidean distance between the vertices of the two subcomponents.

[0018] After calculating the Euclidean distances between all vertices of two subcomponents, if all Euclidean distances are not less than the preset clustering distance, the row and column intersection values ​​corresponding to the two subcomponents are assigned in the association matrix as the shortest Euclidean distance among all Euclidean distances.

[0019] In one embodiment, the subcomponents are clustered using a single-chain aggregation hierarchical clustering algorithm based on the association matrix between the subcomponents and a preset clustering distance;

[0020] When clustering subcomponents, the silhouette coefficient is used to evaluate the clustering process of the clustering algorithm to determine the optimal number of clusters, and then all subcomponents contained in each optimal cluster are taken as a whole split result.

[0021] In one embodiment, for a model component or subcomponent having only one facet, the model component or subcomponent is directly output by setting boundary conditions and does not participate in any calculation.

[0022] In a second aspect, an embodiment provides a three-dimensional model splitting device, including:

[0023] A model acquisition module, used for acquiring a three-dimensional model composed of model components;

[0024] A subcomponent generation module, used to split a model component into multiple topologically unconnected subcomponents based on the vertex connectivity relationship of the model component;

[0025] An association matrix generation module, used to construct an association matrix between subcomponents based on the shortest distances between vertices belonging to different subcomponents;

[0026] The clustering module is used to cluster the subcomponents according to the association matrix between the subcomponents and the preset clustering distance, and output each cluster as the splitting result.

[0027] In a third aspect, an embodiment provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the three-dimensional model splitting method described in the first aspect when executing the computer program.

[0028] In a fourth aspect, an embodiment provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is processed and executed, the steps of the three-dimensional model segmentation method described in the first aspect are implemented.

[0029] Compared with the prior art, the three-dimensional model splitting method, device, computer equipment and storage medium provided in the embodiment have at least the following beneficial effects:

[0030] Based on the vertex connectivity of the model component, the model component is split into multiple topologically unconnected sub-components. This process realizes the segmentation of objects with different semantics. At the same time, in order to solve the problem of over-segmentation of the model component, the association matrix between the sub-components is constructed according to the shortest distance between the vertices belonging to different sub-components, and each sub-component is clustered according to the association matrix between the sub-components and the preset clustering distance. In this way, the over-segmented objects with the same semantics are merged through clustering, so that the obtained cluster clusters are used as new model components, which are closer to the single object data containing single semantics in each component, with high accuracy, and are suitable for the application transformation of three-dimensional models. Furthermore, the splitting process method is simple, the running time is short, and the computing overhead cost is saved. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0032] Figure 1 is a flow chart of a method for splitting a three-dimensional model provided by an embodiment;

[0033] Figure 2 It is a schematic diagram of the structure of a three-dimensional model splitting device provided in one embodiment. DETAILED DESCRIPTION

[0034] To make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific implementation methods described herein are only used to explain the present invention and do not limit the scope of protection of the present invention.

[0035] In various tasks such as sensor simulation, object recognition, scene understanding, and robot simulation, people tend to replace real scene data with virtual simulation scenes and conduct application research in virtual simulation environments because of the high cost of manual collection and labeling of real scene data and the uncontrollable data quality. When establishing a virtual simulation scene, the existing three-dimensional model without physical and interactive properties is often converted into a virtual scene through a series of processing. The general main process includes: generating convex hull data for the three-dimensional model to meet the interactivity in the physical engine simulation; semantically labeling the three-dimensional model, such as category information such as apple and chair, movable and static state information, etc.; establishing a simulation environment for the three-dimensional scene, such as building a simulator based on physical engines such as PhysX and Bullet, or based on existing platforms such as Unity3D and Unreal Engine 4.

[0036] However, when converting three-dimensional model data into virtual simulation scenes, unclear semantics of model components will lead to serious scene quality problems, mainly including: first, it affects the semantic labeling of each model component, making it difficult for robots and engines to correctly identify the objects represented by each model component; second, it affects the generation of convex hull data of each model, resulting in large errors between the convex hull data and the fine model data, making the physical interaction between models or between models and robots in the virtual simulation scene inaccurate.

[0037] Based on this, in order to address the model quality issues caused by the existence of model components containing objects with different semantics in applications where three-dimensional scene data is converted into virtual scenes, an embodiment provides a three-dimensional model splitting method. By performing semantic-based splitting and clustering at the model component level, the problem model is converted into a model containing a single semantic single-object model component, thereby ensuring the accuracy of subsequent processes such as convex hull generation and semantic labeling to meet the quality requirements of the application scenario.

[0038] Figure 1 FIG. 1 is a flow chart of a method for splitting a three-dimensional model provided by an embodiment. Figure 1 As shown, the method for splitting a three-dimensional model provided in the embodiment includes the following steps:

[0039] Step 1: Obtain a three-dimensional model composed of model components.

[0040] A model component may actually be a model group formed by multiple single object models with separate semantics. For example, a home set is formed by multiple chairs and tables. When modeling and defining the semantics of the model component corresponding to this home set, it is often necessary to give a definition of a table or a chair. In this case, the semantics of the model component are inaccurate.

[0041] The three-dimensional model is composed of multiple model components and is an application scenario model that meets certain application requirements. The application scenario model needs to be split so that each new model component formed after the split has accurate semantics to meet the application function requirements of transforming the application scenario model into a virtual simulation scene.

[0042] In the embodiment, the acquired 3D model can be a Wavefront format file, i.e., a .obj format file, and the model components contained in the 3D model are represented by a Wavefront format group (g). Of course, the format of the 3D model is not limited to the Wavefront format, and any model format containing vertex data (v) and facet data (f) can be applied to the 3D model splitting method provided in this embodiment.

[0043] Step 2: split the model component into multiple topologically unconnected sub-components based on the vertex connectivity relationship of the model component.

[0044] In the model component, each object model is composed of vertices and triangular facets between the vertices, so that the vertices have corresponding connectivity relationships through the triangular faces. Based on this, in the embodiment, the model component is split into multiple topologically unconnected sub-components based on the vertex connectivity relationship of the model component, including:

[0045] Fine-grained model splitting is performed based on the connectivity domain of model facet data. The topological relationship of model components is abstracted into an adjacency matrix that describes the vertex adjacency relationship. The adjacency matrix is ​​filled according to whether two vertices are connected. After the adjacency matrix is ​​converted into an undirected graph, a connected area search is performed on the undirected graph. Each connected component representing the vertex connectivity relationship is corresponded to a subcomponent to achieve subcomponent division.

[0046] In an embodiment, for each model component, all vertices are arranged in rows and columns to form an adjacency matrix, and the element values ​​of the adjacency matrix represent the connection relationship between the vertices corresponding to the rows and columns. Therefore, when filling the adjacency matrix based on whether two vertices are connected, it includes: when it is determined that there is an edge of face data connecting two vertices, the row and column intersection values ​​corresponding to the two vertices are assigned to the first single value in the adjacency matrix; otherwise, the row and column intersection values ​​corresponding to the two vertices are assigned to the second single value in the adjacency matrix, wherein the first single value is not equal to the second single value; the first single value and the second single value are used to indicate whether there is a connection or not between the two vertices, as long as two unequal values ​​are selected, for example, the first single value is 0 and the second single value is -1.

[0047] In particular, since the rows and columns of the adjacency matrix are composed of all the vertices of the model components, the elements on the diagonal of the adjacency matrix correspond to the same vertex. For this situation, the row and column intersection value corresponding to the same vertex in the adjacency matrix is ​​assigned the first single value, such as 0, which means that a connection relationship exists.

[0048] After filling the adjacency matrix, convert the adjacency matrix into an undirected graph, and then use non-recursive depth-first search to search the connected area of ​​the undirected graph. Using non-recursive depth-first search can ensure that stack overflow does not occur when the number of model component faces is large. After the search is completed, each connected component representing the vertex connectivity relationship is taken as a subcomponent, so that the subcomponent division is realized, that is, the model component is divided into multiple topologically unconnected subcomponents, each of which corresponds to a single object model.

[0049] Step 3: construct the association matrix between subcomponents based on the shortest distances between vertices belonging to different subcomponents.

[0050] Since a single semantic object may be composed of multiple topologically unconnected parts during modeling, directly using the subcomponents obtained by splitting in step 3 as the final output will result in too many components in the model, which will bring difficulties to the subsequent model semantic annotation process, and it is easy to cause the program to occupy too much memory and cause crashes during runtime. In addition, it is believed through research that single semantic objects are often spatially similar, so the object model can be aggregated according to spatial distance.

[0051] Before aggregating subcomponents, it is necessary to construct an association matrix representing the association relationship between components. In an embodiment, the association matrix between subcomponents is constructed based on the distances between vertices belonging to different subcomponents, including:

[0052] Describe the association relationship between subcomponents as an association matrix. For any two subcomponents, calculate the Euclidean distance between each vertex of one subcomponent and each vertex of the other component. When the Euclidean distance is less than the preset clustering distance, assign the row and column intersection values ​​corresponding to the two subcomponents in the association matrix to 0, and stop calculating the Euclidean distance between the vertices of the two subcomponents.

[0053] After calculating the Euclidean distances between all vertices of two subcomponents, if all Euclidean distances are not less than the preset clustering distance, the row and column intersection values ​​corresponding to the two subcomponents are assigned in the association matrix as the shortest Euclidean distance among all Euclidean distances.

[0054] In the embodiment, all subcomponents of the model component are arranged in rows and columns to form an association matrix, and the element values ​​of the association matrix represent the association relationship between the subcomponents corresponding to the rows and columns. When filling the element values ​​of the association matrix according to the association relationship, the element values ​​are specifically filled with the Euclidean distance between the subcomponents. Specifically, the cluster distance is first preset, and then for any two subcomponents, the Euclidean distance between each vertex of one of the subcomponents and all the vertices of the other subcomponent is calculated, and the Euclidean distance between the vertices is used as the Euclidean distance between the subcomponents to determine the association relationship between the two subcomponents. During the calculation, the minimum Euclidean distance is updated in real time. When there is a minimum Euclidean distance less than the preset cluster distance, the element values ​​corresponding to the two subcomponents are updated to 0, and the Euclidean distance between the other vertices of the two subcomponents is stopped. Otherwise, the other vertices of the two subcomponents are traversed, and the Euclidean distance between the other vertices is calculated until the traversal is completed. The updated minimum Euclidean distance is not less than the preset cluster distance, and the element values ​​corresponding to the two subcomponents in the association matrix are assigned to the minimum Euclidean distance.

[0055] Step 4: Cluster each subcomponent according to the association matrix between the subcomponents and the preset clustering distance, and output each cluster as the splitting result.

[0056] After constructing the association matrix between sub-components, that is, determining the association relationship between the single object models corresponding to the sub-components, the sub-components are clustered to obtain suitable new model components as the splitting results, which facilitates the semantic labeling of subsequent model components and reduces subsequent computing overhead.

[0057] In the embodiment, the subcomponents are clustered using a single-chain aggregation hierarchical clustering algorithm based on the association matrix between the subcomponents and the preset clustering distance, that is, the set clustering distance and the association matrix obtained in step 3 can be used as the input of the clustering function, and the alglib function library is used to cluster the subcomponents obtained by splitting in step 2. When clustering the subcomponents, the silhouette coefficient is used to evaluate the clustering process of the clustering algorithm to determine the optimal number of clustering clusters, and then all the subcomponents contained in each optimal clustering cluster are used as a new model component, that is, an overall split result and output. It should be noted that the new model component can be a new combination of multiple subcomponents, or it can be a single subcomponent.

[0058] The embodiment also provides two specific experimental examples. For a model component consisting of three subcomponents, namely, two chairs and a table, the model component is about 64KB, and the preset clustering distance is 0.001 mm. The splitting method steps provided in the above embodiment are used for splitting calculation. The calculation time is about 0.171s, the calculation speed is fast, and the three subcomponents can be accurately split. At the same time, the two chairs are clustered into new model components, and the splitting results are accurate. For a model component of a study scene consisting of multiple subcomponents, the model is about 19.3MB, and the clustering distance is 30.0 mm. The splitting method steps provided in the above embodiment are used for splitting calculation. The calculation time is about 22.71s, the calculation speed is fast, and all subcomponents can be accurately split. At the same time, books belonging to the same category are clustered into new model components. The splitting results are accurate and convenient for subsequent semantic annotation.

[0059] The three-dimensional model splitting method provided in the above embodiment splits the model component into multiple topologically unconnected sub-components based on the vertex connectivity relationship of the model component. This process realizes the segmentation of objects with different semantics. After constructing the association matrix between the sub-components according to the shortest distance between the vertices belonging to different sub-components, each sub-component is clustered according to the association matrix between the sub-components and the preset clustering distance. In this way, a single semantic object can be well represented by a single component, which ensures the correctness of subsequent processes such as model convex hull data generation and model labeling, and finally obtains a higher quality virtual scene data set. At the same time, the whole method takes a short time to run and has a simple process. Batch processing of each model of the scene can greatly reduce the cost of splitting the model components.

[0060] Figure 2 FIG. 1 is a schematic diagram of a structure of a three-dimensional model splitting device provided in an embodiment. Figure 2 As shown, the three-dimensional model splitting device provided in the embodiment includes:

[0061] A model acquisition module, used for acquiring a three-dimensional model composed of model components;

[0062] A subcomponent generation module, used for splitting a model component into multiple topologically unconnected subcomponents based on the vertex connectivity relationship of the model component;

[0063] An association matrix generation module, used to construct an association matrix between subcomponents based on the shortest distances between vertices belonging to different subcomponents;

[0064] The clustering module is used to cluster the subcomponents according to the association matrix between the subcomponents and the preset clustering distance, and output each cluster as the splitting result.

[0065] It should be noted that the three-dimensional model splitting device provided in the above embodiment should be illustrated by the division of the above-mentioned functional modules when performing three-dimensional model splitting. The above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the terminal or server is divided into different functional modules to complete all or part of the functions described above. In addition, the three-dimensional model splitting device provided in the above embodiment and the three-dimensional model splitting method embodiment belong to the same concept. The specific implementation process is detailed in the three-dimensional model splitting method embodiment, which will not be repeated here.

[0066] The embodiment further provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the above-mentioned three-dimensional model splitting method is implemented, namely, the following steps are included:

[0067] Step 1: Obtain a three-dimensional model composed of model components.

[0068] Step 2: split the model component into multiple topologically unconnected sub-components based on the vertex connectivity relationship of the model component.

[0069] Step 3: construct the association matrix between subcomponents based on the shortest distances between vertices belonging to different subcomponents.

[0070] Step 4: Cluster each subcomponent according to the association matrix between the subcomponents and the preset clustering distance, and output each cluster as the splitting result.

[0071] In practical applications, the memory can be a volatile memory at the near end, such as RAM, or a non-volatile memory, such as ROM, FLASH, floppy disk, mechanical hard disk, etc., or a remote storage cloud. The processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA), that is, the three-dimensional model splitting steps can be implemented by these processors.

[0072] The embodiment further provides a computer-readable storage medium on which a computer program is stored. When the computer program is processed and executed, the above-mentioned three-dimensional model splitting method is implemented, that is, the following steps are included:

[0073] Step 1: Obtain a three-dimensional model composed of model components.

[0074] Step 2: split the model component into multiple topologically unconnected sub-components based on the vertex connectivity relationship of the model component.

[0075] Step 3: construct the association matrix between subcomponents based on the shortest distances between vertices belonging to different subcomponents.

[0076] Step 4: Cluster each subcomponent according to the association matrix between the subcomponents and the preset clustering distance, and output each cluster as the splitting result.

[0077] Among them, the computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.

[0078] The specific implementation methods described above provide a detailed description of the technical solutions and beneficial effects of the present invention. It should be understood that the above is only the most preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, supplements and equivalent substitutions made within the scope of the principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for splitting a three-dimensional model, characterized in that: The following steps are involved: Obtain a three-dimensional model composed of model components, split the model components into multiple topologically unconnected sub-components based on the vertex connectivity of the model components, and achieve segmentation of objects with different semantics; Constructing an association matrix between subcomponents based on the distances between vertices belonging to different subcomponents, including: describing the association relationship between the subcomponents as an association matrix, for any two subcomponents, calculating the Euclidean distance between each vertex of one subcomponent and each vertex of the other component, when the Euclidean distance is less than a preset clustering distance, assigning the row and column intersection values ​​corresponding to the two subcomponents in the association matrix as 0, and stopping the calculation of the Euclidean distance between the vertices of the two subcomponents; after calculating the Euclidean distances between all vertices of the two subcomponents, when all Euclidean distances are not less than the preset clustering distance, assigning the row and column intersection values ​​corresponding to the two subcomponents in the association matrix as the shortest Euclidean distance among all Euclidean distances; According to the association matrix between subcomponents and the preset clustering distance, each subcomponent is clustered, and each cluster is output as the splitting result.

2. The method for splitting a three-dimensional model according to claim 1, characterized in that: The method of splitting the model component into a plurality of topologically unconnected subcomponents based on the vertex connectivity relationship of the model component includes: The topological relationship of the model components is abstracted into an adjacency matrix that describes the vertex adjacency relationship, and the adjacency matrix is ​​filled according to whether two vertices are connected. After the adjacency matrix is ​​converted into an undirected graph, the connected area search is performed on the undirected graph, and each connected component representing the vertex connectivity relationship is corresponded to a subcomponent to achieve subcomponent division.

3. The method for splitting a three-dimensional model according to claim 2, characterized in that: The filling of the adjacency matrix according to whether two vertices are connected includes: When it is determined that there is an edge of a patch data connecting two vertices, the row-column intersection value corresponding to the two vertices is assigned as a first single value in the adjacency matrix; otherwise, the row-column intersection value corresponding to the two vertices is assigned as a second single value in the adjacency matrix, wherein the first single value is not equal to the second single value; In the adjacency matrix, the row and column intersection values ​​corresponding to the same vertex are assigned as the first single value.

4. The method for splitting a three-dimensional model according to claim 2, characterized in that: A non-recursive depth-first search is used to search for connected regions in an undirected graph.

5. The method for splitting a three-dimensional model according to claim 1, characterized in that: According to the association matrix between subcomponents and the preset clustering distance, the subcomponents are clustered using a single-chain aggregation hierarchical clustering algorithm; When clustering subcomponents, the silhouette coefficient is used to evaluate the clustering process of the clustering algorithm to determine the optimal number of clusters, and then all subcomponents contained in each optimal cluster are taken as a whole split result.

6. The method for splitting a three-dimensional model according to claim 1, characterized in that: For a model component or subcomponent with only one face, the model component or subcomponent is directly output by setting boundary conditions, and does not participate in any calculations.

7. A three-dimensional model splitting device, characterized in that: include: A model acquisition module, used for acquiring a three-dimensional model composed of model components; The subcomponent generation module is used to split the model component into multiple topologically unconnected subcomponents based on the vertex connectivity of the model component, so as to achieve the segmentation of objects with different semantics; The association matrix generation module is used to construct an association matrix between subcomponents based on the shortest distance between vertices belonging to different subcomponents, including: describing the association relationship between subcomponents as an association matrix, for any two subcomponents, calculating the Euclidean distance between each vertex of one subcomponent and each vertex of the other component, when the Euclidean distance is less than the preset clustering distance, assigning the row and column intersection values ​​corresponding to the two subcomponents to 0 in the association matrix, and stopping the calculation of the Euclidean distance between the vertices of the two subcomponents; after calculating the Euclidean distances between all vertices of the two subcomponents, when all Euclidean distances are not less than the preset clustering distance, assigning the row and column intersection values ​​corresponding to the two subcomponents to the shortest Euclidean distance among all Euclidean distances in the association matrix; The clustering module is used to cluster the subcomponents according to the association matrix between the subcomponents and the preset clustering distance, and output each cluster as the splitting result.

8. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the three-dimensional model splitting method described in any one of claims 1-6 is implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is processed and executed, the steps of the three-dimensional model segmentation method described in any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Method for disassembling and combining 3D models

    CN104794316A

  • Method for automatically splitting three-dimensional model

    CN113450464A

  • Point cloud data segmentation method and device

    CN110363834A