CN116861023B - Method and system for determining same geometric objects in three-dimensional space - Google Patents

Method and system for determining same geometric objects in three-dimensional space Download PDF

Info

Publication number
CN116861023B
CN116861023B CN202311116791.XA CN202311116791A CN116861023B CN 116861023 B CN116861023 B CN 116861023B CN 202311116791 A CN202311116791 A CN 202311116791A CN 116861023 B CN116861023 B CN 116861023B
Authority
CN
China
Prior art keywords
dimensional model
dimensional
model component
hash value
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311116791.XA
Other languages
Chinese (zh)
Other versions
CN116861023A (en
Inventor
赵耀
陈劲松
王洪松
李艳松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dms Corp
Original Assignee
Dms Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dms Corp filed Critical Dms Corp
Priority to CN202311116791.XA priority Critical patent/CN116861023B/en
Publication of CN116861023A publication Critical patent/CN116861023A/en
Application granted granted Critical
Publication of CN116861023B publication Critical patent/CN116861023B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Abstract

The invention relates to a method and a system for determining the same geometric object in a three-dimensional space, relates to the technical field of three-dimensional data processing, and is used for solving the problem of how to quickly and effectively search and identify similar or repeated three-dimensional models. The method comprises the following steps: loading three-dimensional model data in a three-dimensional space; respectively extracting each three-dimensional model component of the loaded three-dimensional model data, and respectively determining each three-dimensional model component as a father node and a child node on the tree structure according to membership; for each three-dimensional model component, respectively calculating hash values of each child node and each father node of the three-dimensional model component; merging the hash values of the child nodes and the father nodes to be used as the hash value of the corresponding first model component; another first model component identical to the corresponding first model component is determined by judging whether the hash values are identical in the three-dimensional space. The system includes a loading module, a computing module, and an analyzing module to perform individual steps of the above methods, respectively.

Description

Method and system for determining same geometric objects in three-dimensional space
Technical Field
The present invention relates to the field of three-dimensional data processing technology, and in particular, to a method and a system for determining the same geometric object in a three-dimensional space. IPC class number G06F.
Background
A three-dimensional model is a polygonal representation of an object, typically displayed with a computer or other video device. The displayed object may be a real world entity or an imaginary object. Anything that exists in physical nature can be represented by a three-dimensional model.
With the increase of the data volume of three-dimensional models and the diversification of application scenes, how to quickly and effectively search and identify similar or repeated three-dimensional models becomes an important and challenging problem. Three-dimensional model data can now be extracted and compared by methods based on visual features or skeletal shape features.
CN102663087a discloses a three-dimensional model retrieval method based on topology and visual characteristics, comprising the following steps: inputting a three-dimensional model to be queried; carrying out standardized pretreatment on the input three-dimensional model, namely converting the three-dimensional model into a unified coordinate system through translation conversion, scaling conversion and rotation conversion; constructing a topological structure for the transformed three-dimensional model by using a multi-level Reeb graph method; rendering an image for each key topological point of the topological structure; extracting visual characteristics of the rendered three-dimensional model; performing similarity calculation according to the extracted visual feature points and the three-dimensional model in the model feature library; and returning the retrieved result to the user according to the similarity.
CN101751698A discloses a skeleton extraction method of a three-dimensional model, comprising the following steps: calculating the curvature of each point on the three-dimensional model, and extracting key points of the three-dimensional model according to the curvature; calculating the geodesic distance from each point to each key point on the three-dimensional model, and obtaining the height value of each point on the three-dimensional model according to the minimum value in the geodesic distance; dividing the three-dimensional model into L height sections according to the height values, wherein each height section corresponds to one node, a connecting line exists between the nodes in two adjacent height sections, and the nodes and the connecting line form a framework of the three-dimensional model. The invention also provides a skeleton extraction device which comprises a key point extraction module, a height value calculation module and a skeleton extraction module.
However, these methods have certain limitations and drawbacks. For example, visual feature-based methods require three-dimensional model images to be generated from multiple angles and are susceptible to factors such as illumination, texture, etc.; the method based on the skeleton shape features needs to carry out skeletonizing treatment first, and is difficult to process models of complex or non-manifold types.
These drawbacks are mainly due to the fact that existing methods do not make full use of the most basic and stable information in three-dimensional models, vertex data. Vertex data is the most primitive and important component of the three-dimensional model, and contains information such as coordinate position of each vertex in three-dimensional space. If the three-dimensional model can be extracted and compared based on vertex data, problems in the above-described method can be avoided, and efficiency and accuracy can be greatly improved.
Furthermore, there are differences in one aspect due to understanding to those skilled in the art; on the other hand, since the applicant has studied a lot of documents and patents while making the present invention, the text is not limited to details and contents of all but it is by no means the present invention does not have these prior art features, but the present invention has all the prior art features, and the applicant remains in the background art to which the right of the related prior art is added.
Disclosure of Invention
In order to solve the above-mentioned at least some technical problems, the present invention provides a method and a system for determining the same geometric objects in a three-dimensional space.
The invention discloses a method for determining the same geometric objects in a three-dimensional space, which comprises the following steps:
loading three-dimensional model data in a three-dimensional space, wherein the loaded three-dimensional model data is in a tree structure;
respectively extracting each three-dimensional model component of the loaded three-dimensional model data, and respectively determining each three-dimensional model component as a father node and a child node on the tree structure according to membership;
for each three-dimensional model component, respectively calculating hash values of each child node and each father node of the three-dimensional model component;
combining the calculated hash value of the child node with the calculated hash value of the parent node to serve as a hash value of the corresponding first model component;
another first model component identical to the corresponding first model component is determined by judging whether the hash values are identical in the three-dimensional space.
The invention can fully utilize the most basic and stable information in the three-dimensional model, namely vertex data, to extract and compare the three-dimensional model, so as to realize quick and effective retrieval and identification of similar or repeated three-dimensional models, judge whether the same three-dimensional model components exist in the three-dimensional space by means of a hash matching rule, thereby not only avoiding the limitations and defects existing in the prior method, but also greatly improving the efficiency and accuracy.
For loading efficiency and/or rendering efficiency, it is necessary to quickly and efficiently retrieve and identify similar or duplicate three-dimensional models. The repeated three-dimensional model can be reduced, so that the purpose of reducing the data volume of the three-dimensional model is achieved, and the loaded same model is only needed to be referenced when the same model is loaded for the second time, so that the loading time is greatly reduced; and when the first model is rendered and a rendering instruction of the second model which is the same as the first model is received, only a plurality of position information (such as vertex data) and normal line information of a plurality of second models are needed to be provided for the GPU, and a large amount of other position information and normal line information are not needed to be provided for the GPU by the CPU respectively and independently, so that the workload of the CPU is greatly reduced, and the running efficiency of software is improved.
According to a preferred embodiment, the hash value of each three-dimensional model component is calculated as follows:
for a given three-dimensional model data, converting it into a set of vertex coordinate sequences;
for each vertex coordinate sequence, mapping it to a hash value of fixed length using a hash function;
and storing hash values corresponding to all the vertex coordinate sequences in a hash table, and sorting according to the hash values.
The loaded three-dimensional model data may be obtained by performing a preprocessing operation on a preprocessing object, wherein the preprocessing object may be three-dimensional model data derived from modeling software (CAD design software, etc.) may have repetitive three-dimensional geometry. In design, in order to simplify the work, a designer usually uses a copy and paste mode to complete the related design work, for example, the designer often faces to a great number of repeated design works such as pipelines, equipment and the like in a three-dimensional space. Further, the file size of the preprocessed object is greatly compressed by the preprocessing operation to improve the rendering efficiency. After a light-weight preprocessing operation, a file size of 200MB, for example, can be reduced to 20MB.
According to a preferred embodiment, the "mapping of vertex coordinate sequences to a fixed length hash value" is handled as follows: firstly determining the longest axis of the three-dimensional model component, and then projecting each vertex onto the longest axis to obtain a one-dimensional digital sequence, wherein each digital sequence is the 'shadow length' formed by projection of the vertex coordinates onto the longest axis.
According to a preferred embodiment, before performing the projection operation, the vertices of the three-dimensional model components may be ordered such that the vertices of the respective three-dimensional model components in the three-dimensional space are ordered in a consistent array arrangement with each other before performing the hash value calculation.
According to a preferred embodiment, after performing the projection operation, the lengths of the hatching formed after the projection may be ordered, for example, by length size, so that the lengths of the hatching are ordered in a sequence arrangement consistent with each other before the hash value calculation is performed.
According to a preferred embodiment, the position information and the normal information of the vertices in the vertex coordinate sequence are at least preprocessed, wherein the preprocessing of the vertices is: only the position information is retained, and the normal line information is removed.
Specifically, for a three-dimensional geometry, vertices in each geometrical sense are respectively attached to a plurality of faces, and therefore, the vertices have normal line information (nx, ny, nz) of each face in addition to spatial position information (x, y, z); for cube vertices, the three-dimensional data form of each vertex is as follows: (x 1, y1, z 1), (nx 1, ny1, nz 1), (nx 2, ny2, nz 2), (nx 3, ny3, nz 3). Taking a pyramid in a cartesian coordinate system as an example, there are four vertices, each with respective three-dimensional coordinates (x, y, z) and corresponding three normals. And visually identical vertices, multiple visually repeated vertices, but in different forms on the data, may occur due to complex editing situations in the modeling process. These vertices are very close to each other and are not noticeable, and may even be duplicate points when copy-and-paste. Therefore, to avoid redundancy and collision of data, before the subsequent analysis is performed, only the position information (x 1, y1, z 1) of the data can be reserved for the same position, and the normal information (nx, ny, nz) is removed, so that all the top points of the three-dimensional geometric body are in the form of independent points only provided with the position information, the interference of the repeated points on the subsequent searching longest axis is avoided, and all the top points can be projected on the longest axis, so that the subsequent result is more accurate.
According to a preferred embodiment, in the calculation of the hash value, precision truncation of the floating point number is required, where the precision truncation is to truncate the n-bit mantissa portion, and n <23.
According to a preferred embodiment, the calculated hash values can be stored in a hash table in a manner corresponding to an original tree structure for extracting the deepest similar nodes, wherein in the original tree structure, for three-dimensional model components having membership to each other, a first model component close to the root in membership is determined as a parent node, and a second model component far from the root in membership is determined as a child node.
According to a preferred embodiment, when the model components are placed in the corresponding membership relations, the new hash value of the first model component serving as the parent node is obtained by combining the hash value of the corresponding child node with the hash value of the first model component serving as the parent node, and updating of the hash value of the first model component in all the membership relations is achieved by traversing all the membership relations in sequence.
The invention also discloses a system for determining the same geometric objects in the three-dimensional space, which comprises: the device comprises a loading module, a calculating module and an analyzing module.
Preferably, the loading module is capable of loading three-dimensional model data in a three-dimensional space, wherein the loaded three-dimensional model data is in a tree structure;
preferably, the loading module is capable of extracting each three-dimensional model component of each three-dimensional model data loaded, and determining each three-dimensional model component as a father node and a child node on the tree structure according to membership;
preferably, the calculation module is capable of calculating hash values of each child node and each parent node of each three-dimensional model component;
preferably, the calculation module can combine the calculated hash value of the child node with the calculated hash value of the parent node, as the hash value of the corresponding first model component;
preferably, the analysis module is capable of determining another first model component that is identical to the corresponding first model component by determining whether the hash values are identical in three-dimensional space.
According to a preferred embodiment, the invention also discloses a computer-readable storage medium, on which a computer program is stored, wherein the computer program, when being executed by a processor, can implement the method of determining identical geometric objects in three-dimensional space as described above.
According to a preferred embodiment, the invention also discloses a processor comprising a system for determining the same geometrical objects in three-dimensional space as described above for executing a computer program. Further, the processor, when executing the computer program, may implement the method of determining the same geometric objects in three-dimensional space as described above.
According to a preferred embodiment, the invention further discloses an electronic device, wherein the electronic device comprises a processor and a memory. Preferably, the memory comprises a computer readable storage medium for storing a computer program. Preferably, the processor comprises the system for determining the same geometric objects in three-dimensional space as described above. Further, the processor is configured to execute the computer program stored in the memory, so that the electronic device may perform the above method for determining the same geometric object in the three-dimensional space.
Drawings
FIG. 1 is a schematic flow chart of a method for determining the same geometric objects in three-dimensional space according to a preferred embodiment of the present invention;
FIG. 2 is a schematic diagram of a preferred precision cut-out operation;
fig. 3 is an exemplary diagram of preferred hash value calculation and matching.
Detailed Description
The following detailed description refers to the accompanying drawings.
The invention can fully utilize the most basic and stable information in the three-dimensional model, namely vertex data, to extract and compare the three-dimensional model, so as to realize quick and effective retrieval and identification of similar or repeated three-dimensional models, thereby not only avoiding the limitations and defects existing in the prior method, but also greatly improving the efficiency and accuracy.
For loading efficiency and/or rendering efficiency, it is necessary to quickly and efficiently retrieve and identify similar or duplicate three-dimensional models. The repeated three-dimensional model can be reduced, so that the purpose of reducing the data volume of the three-dimensional model is achieved, and the loaded same model is only needed to be referenced when the same model is loaded for the second time, so that the loading time is greatly reduced; and when the first model is rendered and a rendering instruction of the second model which is the same as the first model is received, only a plurality of position information (such as vertex data) and normal line information of a plurality of second models are needed to be provided for the GPU, and a plurality of other position information and normal line information are not needed to be provided for the GPU by the CPU independently, so that the workload of the CPU is greatly reduced, and the running efficiency of software is improved.
In the present invention, "vertex" may refer to the point of convergence of at least two faces. Specifically, for a polygonal three-dimensional structure such as a cube, the vertex is the point of convergence of at least two faces; for a three-dimensional structure with a circular base such as a cylinder, since the circle is not a perfect circle in three-dimensional space but is modeled by a polygon, such as a dodecagon, a thirty-two sided polygon, etc., the cylinder is in fact also a kind of polygonal three-dimensional structure, and its vertex is also the convergence point of at least two faces.
Example 1
As shown in fig. 1, the present invention discloses a method for determining the same geometric objects in three-dimensional space, comprising the following steps:
s1, loading three-dimensional model data in a three-dimensional space, wherein the loaded three-dimensional model data is in a tree structure;
s2, respectively extracting each three-dimensional model component of the loaded three-dimensional model data, and respectively determining each three-dimensional model component as a father node and a child node on the tree structure according to membership;
s3, respectively calculating hash values of each child node and each father node of each three-dimensional model component;
s4, combining the calculated hash value of the child node with the calculated hash value of the parent node to serve as a hash value of the corresponding first model component;
s5, determining another first model component which is the same as the corresponding first model component in the three-dimensional space by judging whether the hash values are the same.
Preferably, the geometric objects in the three-dimensional space are usually present in the form of three-dimensional model parts, in other words "determining the same geometric object in the three-dimensional space" is "determining another three-dimensional model part in the three-dimensional space which is the same as any one of the three-dimensional model parts".
Preferably, in step S1, the loaded three-dimensional model data includes a three-dimensional model, three-dimensional model components, and relationships between the three-dimensional model components. Further, the relationships may include membership (or referred to as hierarchical relationships, upstream-downstream relationships).
Preferably, the three-dimensional model may be composed of several three-dimensional model parts having an interrelation, and there are at least two three-dimensional model parts constituting membership. Further, based on the interrelationship among all three-dimensional model components in the three-dimensional model, a corresponding scene tree can be constructed in the three-dimensional space. Preferably, the scene tree refers to a tree-like data structure of three-dimensional model components having membership in a three-dimensional space. In other words, the three-dimensional model data loaded in step S1 is a tree structure.
Preferably, the three-dimensional model data loaded in step S1 may be obtained by performing a preprocessing operation on a preprocessing object, where the preprocessing object may have a repetitive three-dimensional geometry in the three-dimensional model data derived from modeling software (CAD design software, etc.). In design, in order to simplify the work, a designer usually uses a copy and paste mode to complete the related design work, for example, there may be a large number of repeated design works of pipelines, equipment and the like in a three-dimensional space. Further, the file size of the preprocessed object is greatly compressed by the preprocessing operation to improve the rendering efficiency. After a light-weight preprocessing operation, a file size of 200MB, for example, can be reduced to 20MB.
Preferably, for step S2, for three-dimensional model components having membership to each other, a first model component that is membership-near to the root may be determined as a parent node, and a second model component that is membership-far from the root may be determined as a child node. The settings of the "parent node" and "child node" are not absolute, but are related to the selected membership. In other words, among the two three-dimensional model components having a membership, there is at least one parent node and one child node, and the setting of the "parent node" and the "child node" is limited only to the membership, in which the model component that is the "parent node" may be the "child node" in other membership, and in which the model component that is the "child node" may be the "parent node" in other membership.
Preferably, for step S3, it may comprise the following sub-steps:
s3.1, for given three-dimensional model data, converting the three-dimensional model data into a group of vertex coordinate sequences;
s3.2, for each vertex coordinate sequence, mapping the vertex coordinate sequence into a hash value with a fixed length by using a hash function;
s3.3, storing hash values corresponding to all the vertex coordinate sequences in a hash table, and sorting according to the hash values.
Preferably, the position information and the normal information of the vertex may be preprocessed before the vertex coordinate sequence is acquired. Specifically, for a three-dimensional geometry, vertices in each geometrical sense are respectively attached to a plurality of faces, and therefore, the vertices have normal line information (nx, ny, nz) of each face in addition to spatial position information (x, y, z); for cube vertices, the three-dimensional data form of each vertex is as follows: (x 1, y1, z 1), (nx 1, ny1, nz 1), (nx 2, ny2, nz 2), (nx 3, ny3, nz 3). Taking a pyramid in a cartesian coordinate system as an example, there are four vertices, each with respective three-dimensional coordinates (x, y, z) and corresponding three normals. And visually identical vertices, multiple visually repeated vertices, but in different forms on the data, may occur due to complex editing situations in the modeling process. These vertices are very close to each other and are not noticeable, and may even be duplicate points when copy-and-paste. Therefore, to avoid redundancy and collision of data, only the position information (x 1, y1, z 1) of the data can be reserved for the same position before the subsequent analysis is performed, and a plurality of normal line information (nx, ny, nz) is removed, so that the subsequent result is more accurate.
Preferably, the calculated hash value can be stored in the hash table in a manner corresponding to the original tree structure for extracting the deepest similar node. Further, the deepest similar nodes refer to similar three-dimensional model components with the most hierarchical tree data structure.
Preferably, the vertex coordinate sequence may be mapped to a fixed length hash value in the following manner: firstly determining the longest axis of the three-dimensional model component, and then projecting each vertex onto the longest axis to obtain a one-dimensional digital sequence, wherein each digital sequence is the 'shadow length' formed by projection of the vertex coordinates onto the longest axis.
Preferably, before the above projection operation is performed, the vertices of the three-dimensional model components may be ordered such that the vertices of the respective three-dimensional model components in the three-dimensional space are ordered in a consistent array arrangement with each other before the hash value calculation is performed.
Preferably, after the above projection operation is performed, the lengths of the hatching formed after the projection may be ordered, for example, according to the length size, so that the lengths of the hatching are ordered in a sequence arrangement consistent with each other before the hash value calculation is performed.
Further preferably, the hash value may be calculated as follows:
taking all vertex data in the three-dimensional model component under the current node, and storing the vertex data as a floating point number vertex sequence;
intercepting all floating point numbers in the vertex sequence with precision;
sorting the vertex sequences according to three components of x, y and z from small to large respectively;
calculating the distance between any two points, setting the two points with the largest found distance as Vn and Vm (wherein n and m are the n and m points respectively), and further calculating to obtain a direction vector V=vm-Vn;
projecting all vertexes onto a vector V, and storing projection lengths of the vertexes in sequence as a projection sequence;
floating point number precision interception is carried out on the projection sequence;
sequencing the projection sequences from small to large;
and calculating and storing an md5 value of the projection sequence, wherein the md5 value is the hash value of the current node.
Preferably, the three-dimensional model component under the current node is typically a geometric triangular mesh, since in three-dimensional space, all three-dimensional model components are stitched from triangles.
Preferably, the specific operation of "precision clipping" is to truncate the n-bit mantissa portion, where n <23. Illustratively, referring to the ieee754 floating-point number standard, the 7-bit mantissa is omitted from fig. 2.
Preferably, if it is found that there are a plurality of groups of vertices having equal distances when two points having the largest distances are found, the top group (i.e., the group having the smallest n) is taken as Vn and Vm.
Preferably, the projection length of the vertex onto the vector V is calculated by: projlength=dot (V, pi-Vn), where Pi is the i-th point in the vertex sequence and dot represents a dot product.
When the hash value is calculated in the above manner, the vertex is not required to be converted into the local space, and three base vectors are not required to be found. This is because the projection operation in the above manner can be equivalent to this operation.
Preferably, step S3 calculates the hash value of each node in a recursive manner, in other words, the hash values of all three-dimensional model components in the three-dimensional model can be obtained. Further, in step S4, when all model components are put into the corresponding membership, the hash value of the first model component as the parent node may be obtained by combining the hash value of the corresponding child node with the hash value of itself as the parent node. By traversing all the membership relations in turn, the hash value of the first model component in all the membership relations can be updated to obtain accurate hash values of all the three-dimensional model components in the three-dimensional model.
Preferably, for hash matching, if the hash values of the two nodes are equal, this indicates that the matching was successful. Therefore, it is possible to determine whether or not the same three-dimensional model component exists in the three-dimensional space using the above-described matching rule, that is, to determine another first model component that is the same as the corresponding first model component by determining whether or not the hash values are the same in the three-dimensional space.
Preferably, in step S4, when a similar or repeated three-dimensional model component needs to be retrieved or identified, for the three-dimensional model data to be retrieved or identified, step S3 may be repeatedly performed to obtain a hash value corresponding to the vertex coordinate sequence thereof; and then searching whether the hash value corresponding to the three-dimensional model data to be searched or identified exists in the stored hash table, and returning similar or repeated three-dimensional model data according to the matching degree.
Illustratively, since the three-dimensional model may be equivalent to a two-dimensional model in terms of hash calculation and matching, a simple two-dimensional rectangle will be exemplified below, as shown in fig. 3. In particular, it is assumed that two identical rectangles are placed at different positions in the scene, R1, R2 respectively, wherein,
R1【0,0】【0,1】【2,1】【2,0】;
R2【5,0】【5,2】【6,0】【6,2】。
the longest axes of the two rectangles can be obtained as follows:
Vn1【0,0】Vm1【2,1】;
Vn2【5,0】Vm2【6,2】
the two rectangular direction vectors are respectively:
V1【2,1】;
V2【1,2】。
the projection sequences are respectively:
S1【0,1,5,4】;
S2【0,4,1,5】。
the ordered projection sequence is:
S1【0,1,4,5】;
S2【0,1,4,5】。
it is thus easy to find that the projected sequences of the same rectangle for two different positions are identical, so the final hash value is also identical. Thus, it can be determined whether the same three-dimensional model part (or geometric object) exists in the three-dimensional space by judging whether the hash values of the two model parts are the same.
Example 2
This embodiment is a further improvement of embodiment 1, and the repeated contents are not repeated.
The invention discloses a system for determining the same geometric objects in three-dimensional space, which comprises: the device comprises a loading module, a calculating module and an analyzing module.
Preferably, the loading module may load three-dimensional model data in a three-dimensional space, wherein the loaded three-dimensional model data is a tree structure.
Preferably, the loading module may extract each three-dimensional model component of each three-dimensional model data loaded, and determine each three-dimensional model component as a parent node and a child node on the tree structure according to membership. Preferably, a first model part that is membership-close to the root may be determined as a parent node and a second model part that is membership-distant from the root may be determined as a child node.
Preferably, the calculation module may calculate hash values of each of the first model parts and each of the second model parts thereof, respectively, based on each of the three-dimensional model parts extracted by the loading module.
Preferably, the calculation module may combine the calculated hash value of the child node with the calculated hash value of the parent node as the hash value of the corresponding first model part.
Preferably, the analysis module may determine another first model component identical to the corresponding first model component by determining whether the hash values are identical in the three-dimensional space.
Example 3
This embodiment is a further improvement of embodiment 1 and/or 2, and the repeated description is omitted.
According to a preferred embodiment, the invention also discloses a computer-readable storage medium, on which a computer program is stored, wherein the computer program, when being executed by a processor, can implement the method of determining identical geometric objects in three-dimensional space as described in example 1.
According to a preferred embodiment, the invention also discloses a processor comprising a system for determining the same geometrical objects in three-dimensional space as described in example 2 for executing a computer program. Further, the processor, when executing the computer program, may implement the method of determining the same geometric objects in three-dimensional space as described in embodiment 1.
According to a preferred embodiment, the invention further discloses an electronic device, wherein the electronic device comprises a processor and a memory. Preferably, the memory comprises a computer readable storage medium for storing a computer program. Preferably, the processor comprises a system for determining the same geometric objects in three-dimensional space as described in embodiment 2. Further, the processor is configured to execute the computer program stored in the memory, so that the electronic device can perform the method for determining the same geometric object in the three-dimensional space as described in embodiment 1.
It should be noted that the above-described embodiments are exemplary, and that a person skilled in the art, in light of the present disclosure, may devise various solutions that fall within the scope of the present disclosure and fall within the scope of the present disclosure. It should be understood by those skilled in the art that the present description and drawings are illustrative and not limiting to the claims. The scope of the invention is defined by the claims and their equivalents. The description of the invention includes various inventive concepts such as "preferably," "according to a preferred embodiment," or "optionally," all means that the corresponding paragraph discloses a separate concept, and the applicant reserves the right to filed a divisional application according to each inventive concept. Throughout this document, the word "preferably" is used in a generic sense to mean only one alternative, and not to be construed as necessarily required, so that the applicant reserves the right to forego or delete the relevant preferred feature at any time.

Claims (9)

1. A method of determining the same geometric object in three-dimensional space, comprising:
loading three-dimensional model data in a three-dimensional space, wherein the loaded three-dimensional model data is in a tree structure;
respectively extracting each three-dimensional model component of the loaded three-dimensional model data, and respectively determining each three-dimensional model component as a father node and a child node on the tree structure according to membership;
for each three-dimensional model component, respectively calculating hash values of each child node and each father node of the three-dimensional model component;
combining the calculated hash value of the child node with the calculated hash value of the parent node to serve as a hash value of the corresponding first model component;
determining another first model part identical to the corresponding first model part by judging whether the hash values are identical in the three-dimensional space,
the hash value of each three-dimensional model component is calculated as follows:
for a given three-dimensional model data, converting it into a set of vertex coordinate sequences;
for each vertex coordinate sequence, mapping it to a hash value of fixed length using a hash function;
and storing hash values corresponding to all the vertex coordinate sequences in a hash table, and sorting according to the hash values.
2. The method of claim 1, wherein mapping the sequence of vertex coordinates to a fixed length hash value is handled as follows: firstly determining the longest axis of the three-dimensional model component, and then projecting each vertex onto the longest axis to obtain a one-dimensional digital sequence, wherein each digital sequence is the length of a hatching formed by projection of the vertex coordinates onto the longest axis.
3. The method of claim 2, wherein before performing the projection operation, vertices of the three-dimensional model components are ordered such that vertices of respective three-dimensional model components in the three-dimensional space are ordered in a consistent array arrangement with each other before performing the hash value calculation.
4. The method of claim 2, wherein after performing the projection operation, the lengths of the hatching formed after the projection are ordered such that the lengths of the hatching are ordered in a sequence arrangement consistent with each other before the hash value calculation is performed.
5. The method of claim 2, wherein the position information and the normal information of the vertices in the vertex coordinate sequence are at least pre-processed, wherein the pre-processing of the vertices is: only the position information is retained, and the normal line information is removed.
6. The method of claim 2, wherein in performing the calculation of the hash value, the floating point number is subject to a precision intercept, wherein the precision intercept is: the n-bit mantissa portion is truncated and n <23.
7. The method according to claim 2, characterized in that the calculated hash values are stored in a hash table in a manner corresponding to an original tree structure for extracting the deepest similar nodes, wherein in the original tree structure, for three-dimensional model components having membership to each other, a first model component close to the root in membership is determined as a parent node and a second model component distant from the root in membership is determined as a child node.
8. The method according to claim 7, wherein when the model components are placed in the corresponding membership relations, a new hash value of the first model component as a parent node is obtained by combining the hash value of the corresponding child node with the hash value of the first model component as the parent node itself, and updating the hash value of the first model component in all membership relations is achieved by traversing all membership relations in turn.
9. A system for determining identical geometric objects in three-dimensional space, comprising: a loading module, a calculating module and an analyzing module, wherein,
the loading module can load three-dimensional model data in a three-dimensional space, wherein the loaded three-dimensional model data is in a tree structure;
the loading module can respectively extract each three-dimensional model component of the loaded three-dimensional model data, and respectively determine each three-dimensional model component as a father node and a child node on the tree structure according to the membership;
the computing module can respectively compute hash values of each child node and each father node of each three-dimensional model component;
the calculation module can combine the calculated hash value of the child node with the calculated hash value of the parent node to serve as the hash value of the corresponding first model component;
the analysis module is capable of determining another first model component that is identical to the corresponding first model component in the three-dimensional space by determining whether the hash values are identical,
the hash value of each three-dimensional model component is calculated as follows:
for a given three-dimensional model data, converting it into a set of vertex coordinate sequences;
for each vertex coordinate sequence, mapping it to a hash value of fixed length using a hash function;
and storing hash values corresponding to all the vertex coordinate sequences in a hash table, and sorting according to the hash values.
CN202311116791.XA 2023-09-01 2023-09-01 Method and system for determining same geometric objects in three-dimensional space Active CN116861023B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311116791.XA CN116861023B (en) 2023-09-01 2023-09-01 Method and system for determining same geometric objects in three-dimensional space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311116791.XA CN116861023B (en) 2023-09-01 2023-09-01 Method and system for determining same geometric objects in three-dimensional space

Publications (2)

Publication Number Publication Date
CN116861023A CN116861023A (en) 2023-10-10
CN116861023B true CN116861023B (en) 2023-12-12

Family

ID=88228965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311116791.XA Active CN116861023B (en) 2023-09-01 2023-09-01 Method and system for determining same geometric objects in three-dimensional space

Country Status (1)

Country Link
CN (1) CN116861023B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528662A (en) * 2016-10-20 2017-03-22 中山大学 Quick retrieval method and system of vehicle image on the basis of feature geometric constraint
CN108961390A (en) * 2018-06-08 2018-12-07 华中科技大学 Real-time three-dimensional method for reconstructing based on depth map
CN110838129A (en) * 2019-11-18 2020-02-25 四川视慧智图空间信息技术有限公司 Three-dimensional building model contour characteristic line extraction method based on oblique photogrammetry
WO2021148252A1 (en) * 2020-01-22 2021-07-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method, device, and computer program for detecting an object
CN114119939A (en) * 2021-11-30 2022-03-01 国网北京市电力公司 Data lightweight processing method and device, storage medium and electronic device
WO2022264923A1 (en) * 2021-06-17 2022-12-22 アイザワ技術研究所株式会社 3d object management data, computer program, and distributed management method for 3d object

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528662A (en) * 2016-10-20 2017-03-22 中山大学 Quick retrieval method and system of vehicle image on the basis of feature geometric constraint
CN108961390A (en) * 2018-06-08 2018-12-07 华中科技大学 Real-time three-dimensional method for reconstructing based on depth map
CN110838129A (en) * 2019-11-18 2020-02-25 四川视慧智图空间信息技术有限公司 Three-dimensional building model contour characteristic line extraction method based on oblique photogrammetry
WO2021148252A1 (en) * 2020-01-22 2021-07-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method, device, and computer program for detecting an object
WO2022264923A1 (en) * 2021-06-17 2022-12-22 アイザワ技術研究所株式会社 3d object management data, computer program, and distributed management method for 3d object
CN114119939A (en) * 2021-11-30 2022-03-01 国网北京市电力公司 Data lightweight processing method and device, storage medium and electronic device

Also Published As

Publication number Publication date
CN116861023A (en) 2023-10-10

Similar Documents

Publication Publication Date Title
Yang et al. Content-based 3-D model retrieval: A survey
US8411081B2 (en) Systems and methods for enhancing symmetry in 2D and 3D objects
JP2012043419A (en) Apparatus and method for three-dimensional model retrieval, and apparatus and method for model library generation
US10719549B2 (en) Querying a database based on a parametric view function
Sheen et al. Transformation of a thin-walled solid model into a surface model via solid deflation
Xian et al. Automatic cage generation by improved obbs for mesh deformation
Governi et al. 3D geometry reconstruction from orthographic views: A method based on 3D image processing and data fitting
JP2002288687A (en) Device and method for calculating feature amount
CN113724401A (en) Three-dimensional model cutting method and device, computer equipment and storage medium
CN116596755A (en) Method, device, equipment and storage medium for splicing point cloud data
JP2017168081A (en) 3d object localization with descriptor
US20160042106A1 (en) Generating a cad model from a finite element mesh
CN116861023B (en) Method and system for determining same geometric objects in three-dimensional space
JP2017162447A (en) Localization of 3d object with quantization
CN110544309A (en) Real-time sparse editing method and system based on large-scale grid model representation
Hou et al. Dynamic query interface for 3D shape search
Mateo et al. Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks
CN110009625B (en) Image processing system, method, terminal and medium based on deep learning
Lin et al. 3D model retrieval based on skeleton
CN117235824B (en) Coplanarity fitting method, apparatus, device and computer readable storage medium
US10877948B1 (en) Method and computer program product for geospatial binning
CN116977592B (en) Three-dimensional structured reconstruction method, device and computer medium based on winding number
Wu et al. Partwise cross-parameterization via nonregular convex hull domains
Smith 3D data representation, storage and processing
Suh et al. Two phase 3D object reconstruction from two-view drawings

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant