Three-dimensional perceptual hashing

CN122935792APending Publication Date: 2026-10-16SIEMENS AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202580020891.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-12
Filing Date
2025-02-14
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

然而,深度和机器学习模型通常限于它们被初始地训练的数据集

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122935792A_ABST
    Figure CN122935792A_ABST
Patent Text Reader

Abstract

Methods and systems for efficiently generating and verifying 3D perceptual hashes of 3D models are provided. Embodiments include providing a 3D model of an object, the 3D model comprising a plurality of mesh vertices; finding a minimum bounding sphere substantially enclosing the plurality of mesh vertices and having a center corresponding to a centroid of the object; based on the minimum bounding sphere, computing one or more sub-spheres concentric with the minimum bounding sphere and uniformly distributed inside the minimum bounding sphere. Further, for each sphere: projecting one or more normal vectors from a center of the sphere to one or more object faces intersecting the sphere; based on the one or more normal vectors, computing one or more first distances from the center of the sphere to the one or more object faces; extending the one or more normal vectors until a radius of the sphere to project the one or more normal vectors as one or more dome vertices on the sphere; computing one or more second distances between the one or more dome vertices; and then mapping the one or more first and second distances corresponding to all spheres to a hash space to generate a 3D perceptual hash value of the 3D model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of hash technology, and more particularly to methods and systems for generating and verifying three-dimensional (3D) models of physical objects. Background Technology

[0002] Digital twins with 3D models are the backbone of industrial applications such as digital process automation (e.g., cyber-physical systems), physical simulation, computer-aided design (CAD), and additive manufacturing (e.g., 3D printing). Recent trends, such as the industrial metaverse, are driven by the demand for secure exchange of high-quality 3D models in virtual and augmented reality. Parts of these trends are also distributed and collaborative marketplaces for trading 3D assets, which will further increase the demand for searching, comparing, and exchanging 3D models.

[0003] To establish such a decentralized ecosystem evolving around the general exchange of 3D assets, users must trust the platform's ability to protect their ownership—a current open problem. To efficiently detect, compare, and protect the unique characteristics of 3D models, hashing algorithms must capture relevant features of the 3D model using limited information, much like digital fingerprints. Perceptual hashing has conventionally been successfully used for two-dimensional (2D) images, but for 3D models, only a limited number of methods are available.

[0004] There are various conventional methods for creating fingerprints for 3D models, but each method is accompanied by different drawbacks. For example, one of these methods ([1]) attempts to capture the features of the 3D model based on Fast Fourier Transform (FFT) on planar slices around each axis of the 3D model. After extracting the FFT peaks and mapping them to a grid, hundreds of fingerprints (hashes) are generated based on the feature vectors to identify each possible rotation of the model. However, since the first step involves slicing the model along a straight surface, this is mainly affected by the rotation of the model. Even a slight rotation can significantly change the results. As a solution, the authors of [1] proposed slicing the model at every angle; however, this causes massive computation, storage, and increased false positives.

[0005] In another approach ([2]), a minimum spanning tree is computed on the vertices of the 3D model. The spanning tree is used to capture vertex-based features of the 3D model. While the original model is recognized, the false positive rate is exceptionally high, with completely unrelated models showing 89% similarity to a dataset with only five models. Furthermore, the collision probability is quite high even for very small datasets. This approach is not robust.

[0006] Another approach ([3]) attempts to generate robust 3D model hashes using object feature vectors and normalized vertex distances. By using group distance, permutation index, and binary feature values, this approach enhances robustness against graph attacks and irregular model representations. However, this approach is computationally intensive because it seeks to select objects with high surface area ratios and uses them to extract feature objects. Furthermore, this approach does not comprehensively account for all features of the 3D model because it splits the primary and secondary objects of the same 3D model.

[0007] Various other approaches ([4]) combine deep learning methods with shape retrieval. However, deep and machine learning models are often limited to the datasets in which they are initially trained. Neural networks are not aligned with general requirements because robust methods need to be data-independent, as they are intended to support general models rather than specific datasets that require prior training.

[0008] Therefore, there is a need for robust, rotation- and scaling-independent methods for generating and validating 3D-aware hashes without incurring high computational and storage requirements. Summary of the Invention

[0009] This disclosure is defined by the independent claims. The dependent claims describe embodiments thereof. This summary is provided to introduce, in a simplified form, a series of concepts further described in the following detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

[0010] This disclosure provides a novel geometric feature-based method for generating compact 3D hashes that are robust to common tampering attacks, capture the perception of 3D models or CAD data to detect forgeries, and can be easily computed and verified. Therefore, as is known from 2D perceptual hashing, if only a slight portion of the model is manipulated, for example via rotation, translation, scaling, and / or minor addition / removal of vertices, the output should not change. Thus, this disclosure describes rotation-robust 3D model hashes that can produce the same hash on any orientation providing the orientation of the 3D model. The same applies to uniform scaling.

[0011] This disclosure describes an algorithm based on the intersection points between a 3D model and multiple spheres of various sizes around a common center point, much like "onion slices," covering most of the 3D model as the core of 3D perceptual hash computation (referred to as "3D onion hash").

[0012] Embodiments of this disclosure generally relate to solutions for the efficient generation and verification of robust 3D-aware hashes based on 3D models of physical objects. Therefore, a computer-implemented method for generating 3D-aware hashes is provided. This method may include: Provides a 3D model of the object, which includes multiple mesh vertices; Find a minimum bounded sphere that essentially encloses multiple mesh vertices and has a center corresponding to the centroid of the object. Based on this minimum bounded sphere, calculate one or more subspheres concentric with and uniformly distributed within it. For each sphere: Find one or more object faces that intersect with the sphere; Project one or more normal vectors from the center of the sphere onto one or more object faces; Calculate one or more first distances from the center of the sphere to one or more object faces, based on one or more normal vectors; Extend one or more normal vectors to the radius of the sphere to project one or more normal vectors onto one or more dome vertices on the sphere; Calculate one or more second distances between one or more dome vertices; and Map one or more first and second distances corresponding to all spheres to the hash space to generate hash values ​​for the 3D model.

[0013] Therefore, the method described above can provide a perceptual 3D hash that is robust to modifications such as rotation, translation, or uniform scaling.

[0014] In some embodiments, finding the minimum bounding sphere may include calculating the centroid of the object, hierarchically classifying all mesh vertices of the 3D model in the k-dimensional tree to select the maximum number of mesh vertices closest to the centroid of the object, and generating the minimum bounding sphere as a convex hull based on the selected maximum number of closest mesh vertices. Therefore, by establishing the center of the object and calculating the minimum bounding sphere, robustness against common tampering attacks can be improved.

[0015] In one or more embodiments, the hash value may include a distance hash value corresponding to one or more first distances and an angle hash value corresponding to one or more second distances, and each of the distance hash value and the angle hash value may be represented as a vector with a length proportional to the total number of spheres.

[0016] In one or more embodiments, the method may further include calculating a first median of one or more first distances, clustering one or more dome vertices of each sphere to obtain one or more cluster centers, calculating the minimum distance from all cluster centers to each other, calculating a second median of the minimum distance between one or more cluster centers, and mapping the first median distances to a hash space to generate a first hash value of the 3D model, and mapping the second median distances to a hash space to generate a second hash value of the 3D model. Clustering can reduce the number of duplicates and near-duplicates (very close dome vertices).

[0017] In some embodiments, the method may optionally include filtering out one or more outlier mesh vertices and / or one or more disconnected mesh vertices. This allows disconnected meshes to be treated as separate models, resulting in more detailed matching and better resistance to tampering.

[0018] In one or more embodiments, one or more sub-spheres may be uniformly distributed within a minimum bounding sphere, pointing towards the centroid of the object, down to a minimum threshold of the minimum bounding sphere's radius; and / or one or more sub-spheres may have a smaller radius compared to the minimum bounding sphere's radius. Therefore, by projecting multiple sphere slice layers at intersection points, a geometry-based method is provided that generates a compact and tamper-resistant fingerprint for a 3D model by capturing its geometric features.

[0019] In one or more embodiments, clustering one or more dome vertices of each sphere to obtain one or more cluster centers may include using the DB-Scan clustering algorithm, where the range parameter of the DB-Scan clustering algorithm is selected as a threshold percentage of the sphere radius, to cluster one or more dome vertices, with each cluster having at least one point. This method of clustering by using a minimum point ensures that each unique dome vertex is captured in the cluster group.

[0020] In some embodiments, one or more dome vertices may have associated weights that express the importance of the dome vertices through object face regions, and clustering one or more dome vertices may further include filtering one or more dome vertices based on the associated weights relative to a minimum weight threshold. Maintaining associated weights for each dome vertices, which expresses the importance of the dome vertices through face regions, increases resistance to geometric modifications such as inserting small faces at random locations or applying various filters such as bevels on edges, because modifications to small regions can be weighted less.

[0021] In one or more embodiments, when the sphere does not intersect any object face of the 3D model, the method may further include mapping a zero value corresponding to the sphere to a hash value of the 3D model. For example, if the sphere does not intersect any face due to a hole in the model or because the sphere is intact within a volume, this is subsequently expressed as zero in the hash. This can accelerate the calculation of the 3D hash value.

[0022] In one or more embodiments, the hash value of a 3D model can be a 3D-aware hash value. Since exact file hashes can be easily manipulated, a 3D-aware hash of a 3D model can increase the required manipulation effort, thereby increasing the robustness of hashing methods used to generate and verify hashes of 3D models.

[0023] In one or more embodiments, the hash value of the 3D model may include a distance hash value corresponding to one or more first distances and an angle hash value corresponding to one or more second distances, and each of the distance hash value and the angle hash value may be represented as a vector with a length proportional to the total number of spheres used to generate the hash value. The distance hash captures object face distances and helps distinguish the scale of the model, ensuring that the distance hash value does not change with rotation. On the other hand, the angle hash captures the angles between object faces and each other and has the advantage of being insensitive to uniform resizing of the model.

[0024] In some embodiments, the method may further include storing hash values ​​in a hash database. This can facilitate quick queries of hashed 3D models based on hash values. For example, one could also search the database for similar 3D models that have low or equal distance hashes in some or all parts of the 3D model. For instance, if a specific industrial part needs to be purchased, a similarity search using 3D models can generate products and closely related alternatives based on the stored hash values.

[0025] In one or more embodiments, the method may further include binding the hash value of the 3D model to a non-fungible token NFT by computing a unique cryptographic hash, and storing both the 3D-aware hash and the cryptographic hash on a hash database or a blockchain within the NFT. The resulting compact 3D-aware hash can represent the link between the asset and a digital ledger entry tracking ownership and IP rights. Therefore, if the model is prepared for exchange, it can be hashed and checked for authenticity. By combining the hash and tokens, a user can transparently prove ownership of the asset to another party.

[0026] Other embodiments include a computer-implemented method for verifying 3D hash values ​​of a 3D model, comprising: Provide a first hash value and a second hash value, wherein the first hash value and the second hash value are generated according to any of the methods described above, and wherein the first hash value and the second hash value are vectors having an equal length corresponding to the total number of spheres used to generate the hash value; For all elements in the first hash vector and the second hash vector: Calculate the distance between each element of the first hash vector and the corresponding element of the second hash vector; Each element of the first hash value vector is compared with the corresponding element of the second hash value vector to find the element that is larger than the other; The hash norm is obtained by utilizing the normalized distance of larger elements; The matching percentage is calculated by summing all hash norms and dividing by the length of the vector.

[0027] Other embodiments may include another computer-implemented method for verifying 3D hash values ​​of a 3D model, including: Provide a first hash value and a second hash value, wherein the first hash value and the second hash value are generated according to any of the methods described above, and wherein the first hash value and the second hash value are vectors having an equal length corresponding to the total number of spheres used to generate the hash value; For all elements in the first hash vector and the second hash vector: Calculate the distance between each element of the first hash vector and the corresponding element of the second hash vector; Obtain the distance norm as the average of all distances; and The matching percentage is calculated by normalizing the distance norm using a predefined threshold, which defines the maximum permissible difference that two hash value vectors must account for to be considered similar.

[0028] The methods described above for verifying 3D perceptual hash values ​​against each other provide a fast and efficient way to detect forgeries of 3D models. The first verification method normalizes the (onion) slice distances by comparing the larger value of each (onion) slice and returns the sum of all distances divided by the total number of slices (spheres). Length-based normalization makes it more tolerant of changes. The second similarity method uses a configurable threshold parameter to limit the allowed distances to the slices. Therefore, the configurable threshold can be configured for more or less stringent use cases.

[0029] Other embodiments may include a computer-implemented method for managing access to a 3D model. This method may include: Receive a first request to create a first hash value for a first 3D model; Generate the first hash value using any of the methods described above; Store the first hash value in the hash database; Store the first 3D model in the model database; Receive a second request including a second hash value to access the first 3D model based on the second hash value; Based on the percentage match between the first hash value and the second hash value calculated according to any of the methods described above, verify whether the second hash value corresponds to the first 3D model; and If the matching percentage is higher than the matching threshold, access to the first 3D model in the model database is authorized in response to the second request.

[0030] Other embodiments may include a system for managing access to 3D models, including: A hash database used to store multiple hash values; A model database used to store multiple 3D models; One or more processing devices; and One or more storage devices that store computer-readable instructions that, when executed by one or more processors, cause one or more processors to perform the methods described above.

[0031] Other embodiments may include a computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform the method according to any of the methods described above.

[0032] Other embodiments may include a computer program product comprising instructions that, when executed by at least one processor, cause the at least one processor to perform the method described above. Attached Figure Description

[0033] From the following detailed description with reference to the accompanying drawings, various aspects, features, and benefits of the present disclosure will become apparent by way of example, wherein similar reference numerals or letters are used to designate similar or equivalent elements. The drawings are illustrated to facilitate a better understanding of embodiments of the present disclosure and are not necessarily drawn to scale, wherein: Figure 1 This is a schematic diagram illustrating a method for generating 3D hash values ​​based on a 3D model, according to the present disclosure.

[0034] Figure 2A-2D It is illustrated in 2D view according to this disclosure. Figure 1 A schematic diagram of one or more steps of the method.

[0035] Figures 3A-3F It is based on Figure 1 The diagram illustrates an example of each intersection step between the "onion" slice / sphere and the 3D model.

[0036] Figures 4A-4F It is based on Figure 1 The method is illustrated as a schematic diagram of the projection steps of multiple domes on each of the "onion" slices / spheres.

[0037] Figure 5 This is a schematic diagram illustrating a system for managing access to 3D models, according to the present disclosure. Detailed Implementation

[0038] Embodiments of this disclosure have been described in detail with reference to the accompanying drawings. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and thus implement this disclosure, and not to indicate any limitation on the scope of this disclosure. Throughout this specification, references to features, advantages, or similar language do not imply that all features and advantages achieved using this disclosure should be included in or in any single embodiment of this disclosure. Rather, language relating to features and advantages is to be understood as meaning that a particular feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of this disclosure. Furthermore, the features, advantages, and characteristics described in this disclosure may be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize that this disclosure may be practiced without one or more of a particular feature or advantage of a particular embodiment. In other instances, additional features and advantages that may not be present in all embodiments of this disclosure may be recognized in certain embodiments.

[0039] This disclosure addresses the problem of generating data-independent, rotation- and scaling-resistant fingerprints for 3D models with low computational and storage requirements and a very low collision probability. It provides an efficient geometry-based method for generating and verifying 3D-aware hashes with a defined size, such as two bytes, that resist tampering attack sets.

[0040] By extracting the geometric features of a selected set of vertices from a 3D model and mapping them to... N A robust 3D perceptual hash is generated from a spherical dome sliced ​​from a sphere. N The spherical slices are arranged much like slices of onion. The created dome vertices can be weighted and clustered by their size, and the resulting median distance between the centers of each cluster of each slice leads to a mapping to a hash space (e.g., ...). The unique characteristics of the hash space. The resulting size is... A compact 3D-aware hash (referred to as a “3D onion hash” in this paper) can represent the link between an asset and a digital ledger entry tracking ownership and IP rights. Therefore, if a 3D model is prepared for exchange, it can be hashed and verified for authenticity. By combining the 3D-aware hash with tokens (such as non-fungible tokens, NFTs), immutable tokens can be obtained, which users can use blockchain technology to transparently prove ownership of an asset to another party. Using the 3D hash value, it is also possible to search a database for similar models with low or equal distances in some or all parts of the 3D model. For example, if a specific industrial part needs to be purchased, a similarity search using the model can yield the product and closely related substitutes.

[0041] Figure 1 This is a schematic diagram illustrating a computer-implemented method (100) for generating 3D hash values ​​based on a 3D model, according to one or more embodiments of the present disclosure. In step 101, a 3D model is provided in any conventional 3D format, such as the Standard Mosaic Language (STL) format. For example, users and applications may request the generation of 3D perceptual hash values ​​based on the provided 3D model. In the sphere slicing step 102, the 3D model may be fitted to a plurality of concentric spheres (or slices) starting from the minimum bounded sphere calculated on a pre-selected set of vertices and oriented toward the center of the 3D model representing the physical object (e.g., in...). Figure 1 , Figures 3A-3F and Figures 4A-4F In this process, a 3D model of the clamp used to hold cables or pipes is input for hashing. For example, to calculate the center of the 3D model, all vertices of the input 3D model can be hierarchically ordered according to their distance to the initial centroid of the model to establish a canonical coordinate system with a fixed center and radius, which can be used as a reference point for all subsequent calculations. For example, the initial centroid of the 3D model can be initially calculated using any conventional technique. Mesh vertices can be hierarchically ordered in a k-dimensional tree to select the majority of configurable points closest to the centroid (e.g., 51%, 65%, 75-95%, 99%, etc.) and outliers can be removed. Constructing the k-dimensional tree costs [amount missing]. Therefore, it is computationally inexpensive. Optionally, in the preprocessing step, the broken mesh can be treated as a separate model for more detailed matching and better resistance to tampering. The convex hull is generated based on the point selection and is used to compute the minimum bounding sphere. Depending on the required hash granularity and size, the total number of spheres can be set by a trade-off between captured detail, storage size, and computation time. NFor example, if a sphere is intact within a volume due to a hole in the model or does not intersect any face, this is later expressed in the hash using zero. The final hash length is proportional to the number of spheres and can be increased. N To capture more details. Based on the calculated minimum bounding sphere, the remaining... N - A single sphere can be evenly distributed to the innermost sphere, for example, 20% of the maximum sphere radius of the minimum bounding sphere, ensuring progressive capture of the entire 3D model. The model is divided into multiple intersecting slices by concentric spheres, where the object faces of each slice are extracted using its center point and normal vector. Therefore, the secondary offset of the calculated center will still select the same or close object faces and have a small impact on the final hash.

[0042] Step 102 of slicing the spheres can be illustrated with a 2D view of the method having N=3 spheres (201a-201c). Figure 2A-2C And show from 3D view Figure 3A The smallest sphere in the middle to Figure 3F The intersection points of N=6 spheres that almost completely surround the minimum bounding sphere of the 3D model. Figures 3A-3F And thus, it is better visualized. Figure 2B The intersection points (105a, 203a-c) of the sphere (201b) and the object surface (204a-c) are shown. Figure 2C The diagram shows the normal vector from the center (200) of the sphere to each of the object faces (204a-c), and the first distance (205a-c) calculated from the center (200) to the object faces (204a-c). Since the first distance (205a-c) is calculated based on the sphere intersection values ​​and avoids the use of coordinates and planar slices (i.e., 2D mapping), rotation resistance is ensured. The median of the first distance (205a-c) can later be used as the first hash value of the hash values ​​(referred to as the "distance hash"). The distance hash value thus distinguishes the scale of the mesh.

[0043] In dome projection step 103, one or more normal vectors are extended to the radius of each sphere to project one or more normal vectors onto one or more dome vertices (105b, 206a-c) on the sphere. Thus, intersecting geometry is mapped onto the sphere. For each dome vertex, weights are saved, which express the importance of the dome vertex through the object face region and can increase resistance to geometric modifications (such as inserting small faces at random locations or applying various filters such as bevels on edges), and therefore modifications to small regions can be weighted less. Dome vertices express the angular characteristics of the sphere intersections, regardless of model size. For example, two cubes of different sizes will have the same angular characteristics but different side lengths, still resulting in the same hash. Therefore, one or more second distances (105d, 207a-c) between one or more dome vertices (105b, 206a-c) are calculated, and the average or median of the second distances (105d, 207a-c) can later be used as a second hash value of the hash value (representing "angular hash"). Therefore, the angle hash value expresses the angular characteristics of the 3D model and resists uniform scaling modifications to the model.

[0044] Step 103 of the dome projection can be illustrated with a 2D view of the method having N=3 spheres (201a-201c). Figure 2A-2D And show from 3D view Figure 4A The smallest sphere in the middle to Figure 4F The dome vertices projected from N=6 spheres that almost completely surround the minimum bounding sphere of the 3D model. Figures 4A-4F And thus, it is better visualized. Figure 2C The dome apex (105b, 206a-c) projected onto the sphere (201b) is shown. Figure 2D The second distance (105d, 207a-c) is also shown.

[0045] Parallel object faces have the same normal vector orientation and will project the same dome vertices, resulting in many copies. In the optional clustering step 104, one or more dome vertices (105b, 206a-c) can be clustered for each sphere to reduce the number of copies and group closely overlapping points. The DBSCAN algorithm ([5]) can be used with a relative range R as a percentage of the radius of each sphere to cluster points that have at least one point per cluster. Using a minimum point for clustering ensures that each unique dome vertices are captured in the cluster group. The cluster center of each sphere and the minimum distance to each other are calculated. The median of these minimum distances represents the most common geometry in terms of the angles of the intersecting spheres and is the basis for the “onion” angle hash values.

[0046] In feature extraction step 105, the intersection points (105a, 203a-c), dome vertices (105b, 206a-c), planar distance (105c) (i.e., the first distance (250a-c)), dome distance (105d) (i.e., the second distance (207a-c)), and / or cluster center distance (105e) (or the median of the minimum cluster center distance) can be extracted. Therefore, the angular hash can be based on the distance hash of the median cluster center distance (105e) and the median planar distance (105c).

[0047] In step 106, 3D onion hash values ​​are generated based on one or more of the extracted features. For example, to generate fixed-size hash values ​​from the median minimum cluster center distance of the angular hash and the planar distance of the distance hash, these two hash values ​​can be mapped to... hash space H Each slice value is multiplied by ,in This is the radius of each slice. The result is two hashes between 0 and 65535. N an integer A hash array of 1000 bytes, where each distance is encoded using 2 bytes. For example, a distance hash of N = 6 can produce a vector output [2407, 2330, 2446, 2144, 2123, 1924], which can be hexadecimal encoded as 0967-091a-098e-0860-084b-0784. The same can be applied to angular hashes.

[0048] In one or more embodiments, according to this disclosure, the manner in which 3D hash values ​​are created and used can be configured by the user. Therefore, hash generation can likely be configured using three main parameters that affect hash length, captured detail, and storage size. First, the number of spheres... N The 3D model is sliced, with each slice outputting an integer from both distance and angle hashes. The cluster radius of the dome vertices is determined. R Set the minimum distance in clustering step 104. Final parameters. W The expression represents the minimum weight that the dome vertices need to achieve compared to the average object face size of the 3D models to be included in the cluster.

[0049] In one or more embodiments, the 3D sensing hash value generated in step 106 may be stored in a hash database in the final step 107.

[0050] According to this disclosure, other embodiments may include methods for verifying / checking the similarity of 3D hash values ​​of a 3D model, as exemplarily described in the following two algorithms. Both algorithms calculate the similarity of two (onion) 3D perceptual hashes of a processed 3D model by comparing the distance from one slice to another, wherein the two onion hashes must preferably be of the same size. N To obtain the optimal result.

[0051] The first algorithm normalizes the distance of each slice by using the larger value compared to each slice, and returns the sum of all distances divided by 0. N Length-based normalization makes the algorithm more tolerant of changes.

[0052] Algorithm 1: Normalize each slice using a larger hash and calculate the similarity between the two hashes.

[0053] The second similarity algorithm can use a configurable threshold parameter. T This limits the allowable distance between slices. Therefore, tolerance can be configured for each use case to be more or less stringent.

[0054] Algorithm 2: Similarity calculation is performed using a configurable threshold that normalizes the range of a set value T.

[0055] Furthermore, in one or more examples, the individual hash values ​​in the vector hash output are not merely arbitrary values, but rather represent the most general distribution of features related to the slices. For example, some properties (such as 90° angles) frequently appear in industrial parts and involve specific hash values. For instance, the original cube can be expressed with the value

[46340] because it only has 90° angles. A torus object may have zero slices because the smallest sphere (e.g., one of the total N=3 spheres) has no intersections in the middle (e.g., [0, 3034, 4140]), while a plane or, for example, a flat slice cylinder results in the maximum distance

[65535] because the dome vertices are equally distributed on both sides and are symmetrical. Thus, slice values ​​can be used to search for specific angle distributions. In another example, setting a loose parameter for the matching threshold, for example, will generate all models similar to the input hash in response to a query on the hash database, thus enabling partial similarity search. Furthermore, the number distribution of individual slices in the Onion 3D hash expresses the most general geometric angle or distance features. This attribute can be used for fast queries in large databases, directly searching for specific attributes encapsulated in slice numbers, rather than querying a list of similar objects.

[0056] Figure 5A system (500) for providing hashing services (501) (such as managing access to 3D models) according to this disclosure is illustrated schematically. For example, in the context of a decentralized economy, detecting counterfeits and enabling secure exchange of assets and licenses are necessary. The tamper-proof 3D hashes described herein can be used to protect the intellectual property rights of creators and generate tamper-proof links between 3D models and smart contracts for tokenized assets. Since exact document hashes can be easily manipulated, perceptual 3D hashes, such as the onion hashes described herein, can increase the required amount of manipulation effort. For example, a 3D onion hash can represent a link between an asset and a digital ledger entry that tracks ownership and IP rights. Thus, if a 3D model is prepared for exchange, it can be hashed and checked for authenticity. By combining 3D perceptual hashes with tokens (e.g., non-fungible tokens, NFTs), immutable tokens can be obtained, using which users can transparently prove ownership of assets to another party using blockchain technology.

[0057] The hash service (501) can accept a first request (502a) from a user or application (502) to create a 3D onion hash value for a first 3D model, such as an industrial part or any other 3D physical object. Next, the first hash value can be generated (503a) according to this disclosure and stored (503b) in a dedicated hash database (507). This repository ensures that the first hash value remains accessible for future reference and verification. Simultaneously or sequentially, the first 3D model itself can be stored in a separate model database (508). This repository contains the actual geometric data, textures, and other information associated with the 3D model. At a later point in time, a second request (502b) including a second hash value can be received from another user or application (502). The purpose of the second request can be to access the first 3D model based on the provided second hash value. According to this disclosure, to ensure data integrity, the verification step (504) can compare the second hash value with the first hash value by evaluating the percentage of match between the two hash values. If the matching percentage exceeds a predefined threshold, access to the first 3D model stored in the model database (508) can be granted to other users or applications. Thus, the hash service (501) simplifies the processing of 3D models by utilizing hash values, ensuring both security and efficiency in the process.

[0058] In one example configuration, the system (500) may include at least one processing unit (or processor) and memory. The processor may include one or more microprocessors, microcontrollers, hardware circuitry, discrete logic circuitry, hardware registers, digital signal processors (DSPs), field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), programmable logic controllers (PLCs), or combinations thereof. For example, the processor and memory unit may be incorporated into the system (500), or may be a computer or a computer communicatively linked thereto. The processor may be programmable hardware capable of executing stored software instructions to perform the methods described herein, for example, as a machine-readable computer program in memory. The memory may include any non-transitory machine-readable medium known in the art or that can be developed, whether volatile or non-volatile, including but not limited to solid-state media (e.g., SRAM, DRAM, DDRAM, ROM, PROM, EPROM, flash memory, solid-state drives, etc.). In addition, the system (500) may also include storage devices, including but not limited to removable storage devices (e.g., secure digital (SD) cards, miniSD cards, microSD cards, memory sticks, thumb drives, USB flash drives, ROM drives, universal media disks), fixed drives (e.g., magnetic hard disk drives), or the like, all or in any combination. Similarly, the system (500) may also have one or more input devices such as a keyboard, mouse, pen, voice input, etc., and / or one or more output devices such as a display, speaker, printer, etc. The system (500) may also include one or more communication connections, such as LAN, WAN, peer-to-peer, etc. In embodiments, the connection is operable to facilitate peer-to-peer communication, connection-oriented communication, connectionless communication, etc. The system (500) may also include interface circuitry configured to control the input and output (I / O) data paths of the system (500). For example, such an I / O data path may include a data path for receiving 3D models or 3D hash values ​​from a user or application (502) and / or for exchanging 3D assets based on verified 3D hash values ​​or 3D models via one or more communication connections.

[0059] Embodiments of this disclosure provide an efficient geometry-based method for generating and verifying 3D-aware hashes of 3D models that resist the most common tampering attacks, such as rotation or scaling of the 3D model.

[0060] Although this disclosure has been described with reference to preferred embodiments, it will be apparent to those skilled in the art that modifications can be made to all embodiments. Further possible implementations or alternative solutions of the invention also encompass combinations of features described above or below with reference to the embodiments (not expressly mentioned herein). Those skilled in the art can also add individual or isolated aspects and features to the most basic form of this disclosure.

[0061] Reference List [1] D. Mouris, C. Gouert, N. Gupta and NG Tsoutsos, "Peak YourFrequency: Advanced Search of 3D CAD Files in the Fourier Domain," in IEEE Access , vol. 8, pp. 141481-141496, 2020, doi: 10.1109 / ACCESS.2020.3013284.

[0062] [2] K. Tarmissi, “Topological approaches for 3D object processing and applications”. Library and Archives Canada = Bibliotheque et Archives Canada,OCLC: 793157407.

[0063] [3] Suk-Hwan Lee, Ki-Ryong Kwon, "Robust 3D mesh model hashing based feature object", Digital Signal Processing, Volume 22, Issue 5, 2012, Pages 744-759, ISSN 1051-2004, https: / / doi.org / 10.1016 / j.dsp.2012.04.015.

[0064] [4] L. Luciano and A. Ben Hamza, “A global geometric framework for 3dshape retrieval using deep learning,” vol. 79, pp. 14-23. [Online].Available:https: / / linkinghub.elsevier.com / retrieve / pii / S009784931830195X。

[0065] [5] E. Schubert, J. Sander, M. Ester, H. P. Kriegel, and X. Xu,“Dbscan revisited, revisited: why and how you should (still) use dbscan,” ACMTransactions on Database Systems (TODS), vol. 42, no. 3, pp. 1-21, 2017。

Claims

1. A computer-implemented method (100) for hashing three-dimensional (3D) models, comprising: Provide a 3D model of the (101) object, the 3D model comprising multiple mesh vertices; Find the minimum bounded sphere (201a) that substantially encloses the plurality of grid vertices and has a center (200) corresponding to the centroid of the object. Based on the minimum boundary sphere (201a), calculate (102) one or more sub-spheres (201b, 201c) that are concentric with the minimum boundary sphere (201a) and uniformly distributed inside the minimum boundary sphere (201a). For each sphere (201a-c): Project one or more normal vectors from the center (200) of the sphere (201b) onto one or more object faces (204a-c) that intersect the sphere. Based on the one or more normal vectors, calculate one or more first distances (105c, 205a-c) from the center (200) of the sphere to the one or more object faces (204a-c). The one or more normal vectors are extended to the radius of the sphere to project the one or more normal vectors (103) into one or more dome vertices (105b, 206a-c) on the sphere. Calculate one or more second distances (105d, 207a-c) between the one or more dome vertices (105b, 206a-c); as well as The one or more first distances (105c, 205a-c) and second distances (105d, 207a-c) corresponding to all spheres (201a-c) are mapped to the hash space to generate the hash value of the 3D model (106).

2. The method of claim 1, wherein finding the minimum boundary sphere comprises: Calculate the centroid of the object; Hierarchize all mesh vertices of the 3D model in a k-dimensional tree to select the maximum number of mesh vertices that are closest to the centroid of the object; as well as The minimum bounding sphere is generated as the convex hull based on the maximum number of closest mesh vertices selected.

3. The method according to claim 1 or 2, wherein the hash value includes a distance hash value corresponding to the one or more first distances and an angle hash value corresponding to the one or more second distances; and Each of the distance hash value and the angle hash value is represented as a vector whose length is proportional to the total number of spheres.

4. The method according to any one of the preceding claims further includes: Calculate the first median of the one or more first distances; Cluster (104) the one or more dome vertices of each sphere to obtain one or more cluster centers; Calculate the minimum distance from all cluster centers to each other; Calculate a second median value of the minimum distance between the one or more cluster centers; as well as The first median distance is mapped to the hash space to generate a first hash value of the 3D model, and the second median distance is mapped to the hash space to generate a second hash value of the 3D model.

5. The method according to any one of the preceding claims may optionally include filtering out one or more outlier mesh vertices and / or one or more disconnected mesh vertices.

6. The method according to any one of the preceding claims, wherein the centroids of the one or more sub-spheres toward the object are uniformly distributed within the minimum bounding sphere, down to a minimum threshold of the radius of the minimum bounding sphere; and / or The one or more sub-spheres have a smaller radius than the radius of the minimum boundary sphere.

7. The method according to any one of the preceding claims, wherein clustering the one or more dome vertices of each sphere to obtain one or more cluster centers comprises using a DB-Scan clustering algorithm, wherein a range parameter of the DB-Scan clustering algorithm is selected as a threshold percentage of the radius of the sphere to cluster the one or more dome vertices, with each cluster having at least one point.

8. The method according to any one of the preceding claims, wherein each dome vertex has an associated weight, the weight expressing the importance of the dome vertex through an object face region, and wherein clustering the one or more dome vertexes further includes filtering the one or more dome vertexes based on the associated weights relative to a minimum weight threshold.

9. The method according to any one of the preceding claims further comprises: Without intersecting any object face, the zero value corresponding to the sphere is mapped to the hash value of the 3D model.

10. The method according to any one of the preceding claims, wherein the hash value of the 3D model is a 3D perceptual hash value.

11. The method according to any one of the preceding claims further includes storing the hash value in a hash database.

12. The method according to any one of the preceding claims further includes binding the hash value of the 3D model to a non-fungible lexical NFT to obtain a new hash value, and storing the new hash value on the hash database or blockchain to obtain an immutable new hash value.

13. A computer-implemented method for verifying 3D hash values ​​of a 3D model, comprising: A first hash value and a second hash value are provided, wherein the first hash value and the second hash value are generated by the method according to any one of claims 1 to 12, and wherein the first hash value and the second hash value are vectors having an equal length corresponding to the total number of spheres used to generate the hash value; For all elements in the first hash vector and the second hash vector: Calculate the distance between each element of the first hash value vector and the corresponding element of the second hash value vector;    Each element of the first hash value vector is compared with the corresponding element of the second hash value vector to find an element that is larger than the other; The distance is normalized using larger elements to obtain the hash norm; as well as The matching percentage is calculated by summing all hash norms and dividing by the length of the vector.

14. A computer-implemented method for verifying 3D hash values ​​of a 3D model, comprising: A first hash value and a second hash value are provided, wherein the first hash value and the second hash value are generated by the method according to any one of claims 1 to 12, and wherein the first hash value and the second hash value are vectors having an equal length corresponding to the total number of spheres used to generate the hash value; For all elements in the first hash vector and the second hash vector: Calculate the distance between each element of the first hash value vector and the corresponding element of the second hash value vector; Obtain the distance norm as the average of all distances; and The matching percentage is calculated by normalizing the distance norm using a predefined threshold, which defines the maximum permissible difference that two hash value vectors must account for to be considered similar.

15. A computer-implemented method for providing a hash service (501), comprising: Receive the first request (502a) to create the first hash value of the first 3D model. ; The method according to any one of claims 1 to 12 generates (503a) the first hash value; The first hash value is stored (503b) in the hash database (507); The first 3D model is stored (505) in the model database (508); Receive a second request (502b) including a second hash value to access the first 3D model based on the second hash value; Based on the percentage match between the first hash value and the second hash value calculated according to claim 13 or 14, verify (504) whether the second hash value corresponds to the first 3D model; and If the matching percentage is higher than the matching threshold, in response to the second request (502b), access to the first 3D model in the model database (508) is authorized (506).

16. A system (500) for managing access to a 3D model, comprising: Hash database (507) used to store multiple hash values; A model database (508) for storing multiple 3D models; One or more processing devices; as well as One or more storage devices storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform the method according to claim 15.

17. A computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform the method according to any one of claims 1 to 15.

18. A computer program product comprising instructions that, when executed by at least one processor, cause the at least one processor to perform the method according to any one of claims 1 to 15.