Three-dimensional model watermarking method and system based on clustering analysis and adaptive layering

Through cluster analysis and adaptive stratification methods, the watermark information is embedded by utilizing the stratification strategy and vertex number difference of the 3D model, which solves the problem of the extractability of 3D model watermarks under geometric transformation and local editing, and realizes the technical application of copyright protection and integrity verification of 3D data.

CN120672549APending Publication Date: 2025-09-19HANGZHOU DIANZI UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510644317.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-19
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

The existing technology has the problem that the robustness and extractability of 3D model watermarks are difficult to maintain under geometric transformation and local editing, especially in the copyright protection and integrity verification of 3D data.

Method used

A method based on cluster analysis and adaptive stratification is adopted to embed watermarks by controlling the difference in the number of vertices in adjacent layers. Combined with the stratification strategy of the three-dimensional model, the watermark information is embedded using the difference in the number of marked faces and vertices, and the original coordinate system is restored through coordinate transformation.

Benefits of technology

The watermark can remain extractable even under geometric transformation and local editing of the 3D model, which is suitable for copyright protection and integrity verification of 3D data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120672549A_ABST
    Figure CN120672549A_ABST
Patent Text Reader

Abstract

The invention discloses a three-dimensional model watermarking method and system based on clustering analysis and adaptive layering. The invention provides a three-dimensional model watermarking method based on clustering analysis and adaptive layering. According to the method, feature points of a three-dimensional model are extracted through clustering to construct a local coordinate system, the main direction of the model is aligned to a coordinate axis through principal component analysis, and space standardization is achieved; self-adaptive layering is carried out along the main direction, mark patches are set, watermark bit streams are embedded according to the difference of the number of vertexes of adjacent layers, and finally an original coordinate system is recovered through coordinate inverse transformation. According to the method, the layering strategy of the three-dimensional model is combined, watermark embedding is carried out by controlling the number difference of the vertexes of the adjacent layers, the watermark can still keep extractability under geometric transformation and local editing, and the method is suitable for copyright protection and integrity verification of three-dimensional data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of three-dimensional models and watermarks, and in particular relates to a three-dimensional model watermarking method and system based on cluster analysis and adaptive stratification. Background Art

[0002] Three-dimensional modeling technology is a key research area in computer graphics, widely used in fields such as industrial design, medical imaging, game animation, and virtual reality. Three-dimensional models are typically composed of vertices, edges, and faces, and their data structures can take various forms, including meshes, point clouds, and voxels. Techniques such as geometric transformations, topological operations, and subdivision optimization are at the core of 3D data processing, ensuring the stability and operability of the models in various application scenarios. To ensure consistent representation and good geometric properties of 3D models, methods such as feature point extraction, principal component analysis (PCA), and bounding box calculation are often used to standardize the models.

[0003] Digital watermarking is an information hiding technology primarily used for copyright protection, tamper detection, and integrity verification of data. Common digital watermarking methods include spatial domain watermarking and transform domain watermarking. The former directly modifies the geometric features of the data, while the latter relies on mathematical transformations such as Fourier transforms and wavelet transforms for embedding. Digital watermarking techniques for 3D models must consider factors such as geometric transformations, topological modifications, and model optimization to ensure the robustness and invisibility of the watermark.

[0004] Embedding digital watermarks in 3D models requires incorporating the model's geometric and topological characteristics to ensure robustness and extractability. Watermarking methods based on the model's geometric features embed information by adjusting vertex coordinates or local curvature, while statistical watermarking methods embed data by adjusting vertex distribution or the number of facets. Compared to traditional methods, hierarchical watermarking methods are more adaptable to local variations in the model, improving the watermark's stability and resilience. Summary of the Invention

[0005] The present invention aims to address the aforementioned issues in the prior art and provide a 3D model watermarking method and system based on cluster analysis and adaptive layering. This method incorporates a 3D model layering strategy and embeds watermarks by controlling the difference in the number of vertices between adjacent layers. This ensures that the watermark remains retrievable despite geometric transformations and local editing, making it suitable for copyright protection and integrity verification of 3D data.

[0006] The specific technical solutions adopted in the present invention are as follows:

[0007] In a first aspect, the present invention provides a three-dimensional model watermarking method based on cluster analysis and adaptive layering, wherein the watermark embedding process includes:

[0008] S1. Read the three-dimensional model and extract vertex data and facet data in the original coordinate system. Cluster all vertices to obtain three cluster centers as feature points. Generate a new local coordinate system based on the three feature points. Use the centroid of the three feature points as the center of the three-dimensional model. Move the center of gravity to the origin of the local coordinate system and perform vertex coordinate transformation. Perform principal component analysis on the vertex data of the transformed three-dimensional model to determine the main direction of the model. Use vertex coordinate transformation to align the main direction of the model with the z-axis of the local coordinate system to obtain the registered three-dimensional model.

[0009] S2, layering the registered three-dimensional model along the z-axis direction of the local coordinate system so that each model layer contains at least one vertex, and marking three feature points and the boundary surface of each model layer by setting a marker patch;

[0010] S3. For the watermark bitstream to be embedded, the number of vertices in each model layer is adjusted in sequence, and the watermark information is embedded bit by bit using the difference in the number of vertices in adjacent model layers. At the same time, the facet data of the model is updated according to the newly added vertices. After the embedding of all watermark bitstreams is completed, the three-dimensional model is re-transformed according to the vertex coordinate transformation executed in S1 to obtain the encrypted three-dimensional model in the original coordinate system.

[0011] As a preferred embodiment of the first aspect, the method for generating a new local coordinate system based on three feature points is:

[0012] For the first feature point, second feature point and third feature point obtained by clustering, the center of mass of the three feature points is calculated as the model center according to their respective point coordinates, and the first basis vector pointing from the first feature point to the second feature point and the second basis vector pointing from the first feature point to the third feature point are calculated. The new X-axis direction is defined by the direction of the first basis vector, and the new Z-axis direction is defined by the cross product of the first basis vector and the second basis vector. The new Y-axis direction is determined according to the new X-axis direction and the new Z-axis direction combined with the right-hand rule, thereby generating a new local coordinate system based on the origin of the original coordinate system and the new three-axis directions.

[0013] As a preferred embodiment of the above-mentioned first aspect, the method for obtaining the registered three-dimensional model based on the transformed three-dimensional model is: calculating the covariance matrix of the vertex matrix of the transformed three-dimensional model, and then performing eigenvalue decomposition on the covariance matrix to obtain eigenvalues ​​and eigenvectors, using the eigenvector corresponding to the maximum eigenvalue as the main direction of the model, and then using the three eigenvectors as new coordinate axis direction vectors to transform the vertex coordinates of the transformed three-dimensional model, aligning the main direction of the model to the z-axis of the local coordinate system, and obtaining the registered three-dimensional model.

[0014] As a preferred embodiment of the first aspect, the method of slicing the registered three-dimensional model along the z-axis direction is:

[0015] The minimum bounding box of the model is calculated according to the vertex coordinates of the three-dimensional model after registration, and then the minimum bounding box is evenly divided along the z-axis direction of the local coordinate system. Each dividing plane is perpendicular to the z-axis, so that it is divided into a series of model layers and the number of layers is not less than twice the total number of bits of the watermark bit stream to be embedded plus two; then the number of vertices contained in each model layer is counted. If there is a blank model layer without vertices, the number of vertices in the two adjacent model layers is compared, and the dividing plane of the blank model layer is preferentially translated along the z-axis direction toward the adjacent model layer with more vertices until the blank model layer contains a preset number of vertices.

[0016] As a preferred embodiment of the above-mentioned first aspect, when setting the marker patches, the feature points and the boundary surfaces of the model layer are distinguished by two types of right-angled triangle marker patches with different geometric features, and when the marker patches corresponding to the feature points are arranged in the model, it is necessary to keep the direction of their right-angled short sides perpendicular to the normal of the feature points, and the direction of their right-angled long sides opposite to the normal of the feature points, and when the marker patches corresponding to the boundary surfaces are arranged in the model, it is necessary to keep the marker patches coincident with the boundary surfaces and the normal vectors of the two aligned.

[0017] As a preferred embodiment of the first aspect, the watermark bit stream to be embedded consists of original binary watermark information and a check code of the binary watermark information.

[0018] As a preferred embodiment of the first aspect, a specific method for embedding watermark information bit by bit by utilizing the difference in the number of vertices in adjacent model layers is as follows:

[0019] The number of vertices contained in each of all model layers in the three-dimensional model after registration is counted, and the number of vertices in the first model layer is kept unchanged along the reverse direction of the z-axis. Starting from the second model layer, watermark bits are extracted bit by bit from the watermark bit stream to be embedded for embedding, and one watermark bit is embedded in every two model layers. The embedding method is as follows: for the two model layers used to embed watermark bits, vertices are added to one of the model layers according to the value of the watermark bit, so that the difference in the number of vertices in the two model layers meets a preset threshold, and the binary value of the watermark bit is recorded through the binary classification information of the relative number of vertices in the two model layers; and each newly added vertex needs to be located on the edge formed by a pair of original vertices within the range of the corresponding model layer itself.

[0020] As a preferred embodiment of the first aspect, the invention further includes a watermark extraction process, wherein the extraction method is as follows: the coordinates of the encrypted three-dimensional model are changed in the same manner as in step S1 in the watermark embedding process, so that the center of the three-dimensional model is moved to the origin of the local coordinate system and the main direction of the model is aligned with the z-axis of the local coordinate system, and then three feature points and the boundary surfaces of all model layers are determined by marking the surface patches, and the watermark bit stream to be embedded is re-extracted according to the inverse process of embedding the watermark information in the watermark embedding process.

[0021] In a second aspect, the present invention provides a three-dimensional model watermark system based on cluster analysis and adaptive stratification, which includes a watermark embedding module and a watermark extraction module. The watermark embedding module is used to implement the watermark embedding process, and the watermark extraction module is used to implement the watermark extraction process.

[0022] In a third aspect, the present invention provides a computer electronic device comprising a memory and a processor;

[0023] The memory is used to store computer programs;

[0024] The processor is configured to implement the three-dimensional model watermarking method based on cluster analysis and adaptive stratification as described in any one of the first aspects above when executing the computer program.

[0025] Compared with the prior art, the present invention has the following beneficial effects:

[0026] This paper proposes a 3D model watermarking method based on cluster analysis and adaptive layering. This method extracts 3D model feature points through clustering to construct a local coordinate system. Principal component analysis is used to align the model's principal directions to the coordinate axes, achieving spatial standardization. Adaptive layering is performed along the principal directions, and marker patches are set. The watermark bitstream is embedded using the difference in the number of vertices in adjacent layers, and the original coordinate system is restored through an inverse coordinate transformation. This method incorporates a 3D model layering strategy, embedding the watermark by controlling the difference in the number of vertices in adjacent layers. This allows the watermark to remain extractable despite geometric transformations and local editing, making it suitable for copyright protection and integrity verification of 3D data. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 Schematic diagram of the steps of a 3D model watermarking method based on cluster analysis and adaptive stratification;

[0028] Figure 2 Flowchart of the watermark embedding process;

[0029] Figure 3 Flowchart of the watermark extraction process;

[0030] Figure 4The schematic diagram of the module composition of the 3D model watermarking system based on cluster analysis and adaptive layering;

[0031] Figure 5 It is a structural diagram of computer electronic equipment. DETAILED DESCRIPTION

[0032] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the specific embodiments of the present invention are described in detail below with reference to the accompanying drawings. In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention can be implemented in many other ways than those described herein, and those skilled in the art can make similar improvements without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below. The technical features in the various embodiments of the present invention can be combined accordingly without conflicting with each other.

[0033] In the description of the present invention, it should be understood that the terms "first" and "second" are used solely for descriptive purposes and are not to be construed as indicating or implying relative importance or implicitly specifying the number of technical features being described. Therefore, features defined as "first" or "second" may explicitly or implicitly include at least one of such features.

[0034] The present invention provides a three-dimensional model watermark method based on cluster analysis and adaptive stratification, which includes a watermark embedding process and a watermark extraction process.

[0035] In a preferred embodiment of the present invention, Figure 1 As shown, the watermark embedding process in the above-mentioned 3D model watermarking method based on cluster analysis and adaptive layering includes steps S1 to S3. The specific implementation process can be decomposed into the following steps: Figure 2 The specific implementation method of the watermark embedding process is described in detail below.

[0036] S1. Read the three-dimensional model and extract vertex data and facet data in the original coordinate system. Cluster all vertices to obtain three cluster centers as feature points. Generate a new local coordinate system based on the three feature points. Use the centroid of the three feature points as the center of the three-dimensional model and move the center of gravity to the origin of the local coordinate system and perform vertex coordinate transformation. Perform principal component analysis on the vertex data of the transformed three-dimensional model to determine the main direction of the model. Align the main direction of the model to the z-axis of the local coordinate system through vertex coordinate transformation to obtain the registered three-dimensional model.

[0037] It should be noted that the original coordinate system of the 3D model is the coordinate system used by the 3D model itself to determine the vertex coordinates. The 3D model file format is not limited, such as OBJ, STL, and PLY.

[0038] In the embodiments of the present invention, it is common practice to construct a new coordinate system in three-dimensional space using three specific points. By selecting three specific points, a new base coordinate system can be generated, usually called a local coordinate system. This new coordinate system can be used to simplify subsequent calculations and analysis, especially in applications such as three-dimensional model processing, transformation, and watermark embedding. The method for generating a new local coordinate system based on three feature points is as follows:

[0039] For the three feature points obtained by clustering, they are recorded as the first feature point, the second feature point and the third feature point respectively. The center of mass of the three feature points is calculated according to their respective point coordinates (that is, the coordinates of the three feature points are averaged) as the model center, and the first basis vector pointing from the first feature point to the second feature point and the second basis vector pointing from the first feature point to the third feature point are calculated. The new X-axis direction is defined by the direction of the first basis vector, and the new Z-axis direction is defined by the cross product of the first basis vector and the second basis vector. The new Y-axis direction is determined according to the new X-axis direction and the new Z-axis direction combined with the right-hand rule, thereby generating a new local coordinate system based on the origin of the original coordinate system and the new three-axis directions.

[0040] In an embodiment of the present invention, the method for obtaining the registered three-dimensional model based on the transformed three-dimensional model is: calculating the covariance matrix of the vertex matrix of the transformed three-dimensional model, and then performing eigenvalue decomposition on the covariance matrix to obtain eigenvalues ​​and eigenvectors, using the eigenvector corresponding to the maximum eigenvalue as the main direction of the model, and then using the three eigenvectors as new coordinate axis direction vectors to transform the vertex coordinates of the transformed three-dimensional model, aligning the main direction of the model to the z-axis of the local coordinate system, and obtaining the registered three-dimensional model.

[0041] The following is a specific example to illustrate the specific implementation process of the above step S1, which is divided into four sub-steps, steps S101 to S104, which are implemented as follows:

[0042] Step S101: Read the model

[0043] First, read the 3D model file (such as OBJ, STL, PLY) and extract the vertex data and patch data, where:

[0044] Vertex set V: contains all vertex coordinates, stored as V = {v1, v2, ..., v n}, where v i =(x i ,y i ,z i ).

[0045] Face set F: defines the surface structure of the model and is stored as a polygon set consisting of vertex indices.

[0046] Step S102: Clustering

[0047] In order to improve the robustness of the watermark, we first need to cluster the vertices in the model. The purpose of clustering is to group vertices according to their characteristics (such as position) so that vertices of the same category have similar methods when watermarking, thereby enhancing the anti-interference ability of the watermark and preventing some vertices from having too much influence on the watermark. Clustering calculation steps:

[0048] S1021, Initialization: Randomly select 3 vertices as the initial cluster centers

[0049] First, three vertices are randomly selected from all vertices as initial cluster centers, which are the starting points of subsequent iterations.

[0050] S1022. Calculate the Euclidean distance from each vertex to the cluster center

[0051] The purpose of this step is to find the nearest cluster center for each vertex. i ,c j The distance between them is usually measured using the Euclidean distance, which is calculated as follows: where v i represents the coordinates of the vertex, c j Represents the coordinates of the cluster centers.

[0052] S1023. Assign category: Assign each vertex to the nearest cluster center

[0053] Each vertex v i Will be assigned to the nearest cluster center c according to the calculated distance j In the corresponding category, it is expressed by the formula:

[0054] v i →argmin j d(v i ,c j )

[0055] S1024, Update cluster center: Calculate the new center of each cluster

[0056] After all vertices are assigned to categories, the center of each cluster is updated. The new cluster center is the average position of all vertices in the cluster, making the center of each cluster more accurately represent the position characteristics of the vertices of that category.

[0057] The update formula of cluster center is:

[0058]

[0059] Among them, Nj Belongs to cluster C j The number of vertices, Σ(v i ∈C j )v i Indicates belonging to cluster C j The sum of the position coordinates of all vertices.

[0060] S1025, Iteration: Repeat steps S1022-S1024 until the cluster center no longer changes (converges)

[0061] By continuously repeating steps S1022-S1024, the cluster centers gradually stabilize. When the change in cluster centers falls below a certain threshold, the algorithm stops iterating, indicating that the clustering process has converged. At this point, all vertices have been reasonably divided into three categories based on their positional characteristics, and the watermark embedding method for each category is similar, enhancing the robustness of the watermark. The resulting three cluster centers can be used as three feature points to construct a new coordinate system.

[0062] Step S103: Construct a new coordinate system

[0063] The three feature points obtained by clustering can be used to generate a new base coordinate system, called the local coordinate system. The origin of the local coordinate system is the same as the original coordinate system, but the three axis directions need to be recalculated. This new coordinate system simplifies subsequent calculations and analysis, especially in applications such as 3D model processing, transformation, and watermark embedding.

[0064] S1031. Model moves back to the origin

[0065] Based on the three feature points obtained by clustering in S102, the average value of the three points is calculated as the center c of the three-dimensional model. The three-dimensional model is translated until the center c is translated to the origin of the original coordinate system.

[0066] S1032. Calculate the basis vectors of the new coordinate system

[0067] The new coordinate system is calculated using the three feature points obtained by clustering in step S102 (randomly assigned as P1, P2, and P3). The coordinates of P1, P2, and P3 are (x1, y1, z1), (x2, y2, z2), and (x3, y3, z3), respectively. The three axes of the new coordinate system (which can be recorded as X', Y', and Z' axes) can be defined by the relative positions of these three points. The specific method is as follows:

[0068] First, two vectors are calculated through these points, which define the two basis vectors of the coordinate system:

[0069] Vector V1 points from P1 to P2:

[0070] V1=P2-P1=(x2-x1,y2-y1,z2-z1)

[0071] Vector V2 points from P1 to P3:

[0072] V2=P3-P1=(x3-x1,y3-y1,z3-z1)

[0073] The two vectors V1 and V2 define a plane in the three-dimensional space. Next, the present invention needs to calculate the three axis directions of the coordinate system from the two vectors.

[0074] S1033. Calculate new coordinate axis

[0075] The new X′ axis can be directly defined as vector V1, that is:

[0076] X′=V1=(x2-x1,y2-y1,z2-z1)

[0077] The new Y′ axis needs to be calculated from vectors V1 and V2, ensuring that it is not collinear with the X′ axis. To ensure that the Y′ axis is orthogonal, the present invention needs to calculate the cross product V1×V2 of vectors V1 and V2 to obtain the direction of the Z′ axis. Then, the Y′ axis is calculated using the right-hand rule.

[0078] The Z′ axis (i.e., the normal vector) can be calculated as the cross product of vectors V1 and V2:

[0079]

[0080] Where i^, j^, k^ are unit vectors, representing the directions of the x, y, and z axes. By calculating this determinant, the present invention can obtain the coordinate of the Z' axis.

[0081] Then, ensure that the Y′ axis is orthogonal by calculating the cross product of the Y′ axis with the Z′ axis:

[0082] Y′=Z′×X′

[0083] S1034. Construct a new coordinate transformation matrix

[0084] Once the three orthogonal axes X', Y', and Z' of the new coordinate system are obtained, the present invention can transform the points of the original coordinate system to the new coordinate system by constructing a coordinate transformation matrix. The coordinate transformation matrix M of the new coordinate system can be expressed as a 3x3 matrix, where each column is the direction vector of the X', Y', and Z' axes, that is:

[0085] M=[X′Y′Z′]

[0086] Convert any point (x, y, z) of the 3D model in the original coordinate system to a point (x′, y′, z′) in the new coordinate system through matrix multiplication to form the transformed 3D model:

[0087]

[0088] Where M-1 is the inverse matrix of matrix M.

[0089] S1035. Final conversion formula

[0090] Through the above steps, the present invention can transform any point (x, y, z) in the original coordinate system into a point (x′, y′, z′) in the new coordinate system, thereby obtaining vertex data of the transformed three-dimensional model.

[0091] Step S104: principal component analysis.

[0092] The vertex data of the transformed 3D model needs to be subjected to principal component analysis (PCA) to ensure the consistency of the model direction. The specific steps are as follows:

[0093] Step S1041: First calculate the covariance matrix of the vertex matrix X:

[0094]

[0095] Among them, Xi=[xi′,yi′,zi′]T is the coordinate vector of each vertex, X ˉ is the mean coordinate vector of all vertices.

[0096] Step S1042: By performing eigendecomposition on the covariance matrix, the eigenvalues ​​and eigenvectors are obtained to obtain the main direction of the model, and the eigenvectors are used as new coordinate axes to transform the model into a new coordinate system. The new coordinates after transformation are:

[0097] Vi ′ =P T ·Vi

[0098] Among them, P is the eigenvector matrix, which is composed of three eigenvectors obtained by eigendecomposition of the covariance matrix, and Vi is the coordinate vector of the original vertex.

[0099] S2. Layer the registered three-dimensional model along the z-axis direction of the local coordinate system so that each model layer contains at least one vertex, and mark three feature points and the boundary surface of each model layer by setting a marker patch.

[0100] In an embodiment of the present invention, the method for slicing the registered three-dimensional model along the z-axis direction is:

[0101] The minimum bounding box of the model is calculated according to the vertex coordinates of the three-dimensional model after registration, and then the minimum bounding box is evenly divided along the z-axis direction of the local coordinate system. Each dividing plane is perpendicular to the z-axis, so that it is divided into a series of model layers and the number of layers is not less than twice the total number of bits of the watermark bit stream to be embedded plus two; then the number of vertices contained in each model layer is counted. If there is a blank model layer without vertices, the number of vertices in the two adjacent model layers is compared, and the dividing plane of the blank model layer is preferentially translated along the z-axis direction toward the adjacent model layer with more vertices until the blank model layer contains a preset number of vertices.

[0102] In an embodiment of the present invention, when setting the marker patches, the feature points and the boundary surfaces of the model layer are distinguished by two types of right-angled triangle marker patches with different geometric features, and when the marker patches corresponding to the feature points are arranged in the model, it is necessary to keep the direction of their right-angled short sides perpendicular to the normal of the feature points, and the direction of their right-angled long sides opposite to the normal of the feature points, and when the marker patches corresponding to the boundary surfaces are arranged in the model, it is necessary to keep the marker patches coincident with the boundary surfaces and the normal vectors of the two aligned.

[0103] It should be noted that the geometric features of the right triangle marking patch are preferably controlled by the ratio of the lengths of the two right-angled sides. The following is a specific example to illustrate the specific implementation process of the above step S2, which is divided into four sub-steps, steps S201 to S204, which are implemented as follows:

[0104] Step S201: Calculate the bounding box

[0105] S2011 calculates the minimum and maximum coordinates of the model:

[0106] x min =min(x i ),x max =max(x i )

[0107] y min =min(y i ),y max =max(y i )

[0108] z min =min(z i ),z max =max(z i )

[0109] S2012 calculates the bounding box size:

[0110] L x =x max -x min ,

[0111] L γ =y max -y min ,

[0112]

[0113] Step S202: Adaptive layering

[0114] S2021 initial layer division

[0115] First, the bounding box of the 3D model is horizontally split to form K layers, where K depends on the length of the watermark after encoding.

[0116] Assuming that the length of the watermark after encoding is w bits, K can be a number greater than w*2.

[0117] The division method is based on the z′ axis of the new coordinate system, and is divided proportionally in order from large to small (i.e., from top to bottom) to ensure that the thickness of each layer remains relatively uniform overall.

[0118] S2022 Vertex Count and Adaptive Adjustment

[0119] For each layer, calculate the number of vertices it contains. If the number of vertices in a layer (numbered t) is 0, adjust the z' axis range of the layer to ensure that it contains a certain number of vertices.

[0120] The adjustment method is as follows:

[0121] 1. Compare the number of vertices in adjacent layers:

[0122] Calculate the number of vertices in layer t-1 (previous layer) and layer t+1 (next layer).

[0123] If the number of vertices in layer t-1 is greater than that in layer t+1, layer t will be expanded upwards first.

[0124] If the number of vertices in layer t-1 is less than that in layer t+1, layer t will be expanded downward first.

[0125] 2. Adjust the boundaries of the t layer:

[0126] If the number of vertices in layer t-1 is large:

[0127] Increase the upper boundary of layer t so that it contains at least 1 / 10 of the number of vertices in the previous layer or at least 1 vertex (whichever is larger).

[0128] If the number of vertices in layer t-1 is small (Nt-1 <Nt+1):

[0129] Lower the lower boundary of layer t so that it contains at least 1 / 10 of the number of vertices in the next layer or at least 1 vertex (whichever is larger).

[0130] If the condition is still not met after expanding the lower boundary, try to expand upward, that is, reduce the range of the t-1 layer and include some vertices in the t layer.

[0131] Step S203: Constructing a tag

[0132] In order to obtain the same new coordinate system when extracting the watermark as when embedding the watermark, it is necessary to add marks to the three feature points obtained by clustering.

[0133] In addition, in order to obtain the same layered result when extracting the watermark as when embedding the watermark, it is necessary to construct a layered marker for the boundary of each layer.

[0134] Considering that the STL model cannot store point data alone but can only store patch data, it is necessary to add patches as markers at the layer boundaries.

[0135] S2031. Calculate the area of ​​the marked patch

[0136] In a 3D model, the sizes of facets are usually uneven. To ensure the saliency of the marked facets without affecting the overall structure, it is necessary to determine an appropriate area for the marked facets. This method first calculates the area of ​​all facets in the original model and takes the minimum facet area Amin. Then, the area of ​​the marked facet is set to one-tenth of the minimum facet area, i.e.:

[0137]

[0138] This ensures that the marker patches are small enough not to affect the overall structure of the model, yet distinct enough to be easily identified.

[0139] S2032. Generate labeled patches

[0140] The marker patch adopts the shape of a right triangle to ensure its visual and computational identifiability.

[0141] Since markers need to be added at both feature points and layer boundaries and the markers need to be distinguishable, we define:

[0142] The marker patch added at the feature point takes the feature point as the right angle point, and the length ratio of the two right angle sides is 1:4, that is, the length of the shorter side is a and the length of the longer side is 4a.

[0143] The ratio of the lengths of the right-angled sides of the triangles of the marker patch at the layer boundary is set to 1:2, that is, the length of the shorter side is a and the length of the longer side is 2a.

[0144] According to the area calculation formula, the specific value of a can be determined to meet the aforementioned area requirements. This design of a right triangle not only maintains stability but also provides directionality within the layered structure.

[0145] S2033. Arrangement of Marked Patches

[0146] To mark a patch at a feature point, you need to first calculate the point normal f of the feature point. Then, the short side of the right-angled side of the marked patch should be perpendicular to the point normal f, and the long side should be opposite to the point normal f. This can reduce the impact of the marked patch on the appearance of the original model.

[0147] After layering is complete, place a marker patch at each of the upper and lower boundaries of the first layer. For the remaining layers, only one marker patch is placed on the lower boundary surface of each layer. The marker patches should be placed along the boundary surface of the model layer to ensure they adhere closely to the boundary surface without affecting the geometric integrity of the model. Furthermore, the normal of the marker patch should be aligned with the normal vector of the boundary surface of the layer to maintain consistent directionality, thereby ensuring more stable and reliable recognition.

[0148] S3. For the watermark bitstream to be embedded, the number of vertices in each model layer is adjusted in sequence, and the watermark information is embedded bit by bit using the difference in the number of vertices in adjacent model layers. At the same time, the facet data of the model is updated according to the newly added vertices. After the embedding of all watermark bitstreams is completed, the three-dimensional model is re-transformed according to the vertex coordinate transformation executed in S1 to obtain the encrypted three-dimensional model in the original coordinate system.

[0149] In the embodiment of the present invention, the watermark bit stream to be embedded consists of original binary watermark information and a check code of the binary watermark information.

[0150] In an embodiment of the present invention, the specific method of embedding watermark information bit by bit by utilizing the difference in the number of vertices in adjacent model layers is as follows:

[0151] The number of vertices contained in each of all model layers in the three-dimensional model after registration is counted, and the number of vertices in the first model layer is kept unchanged along the reverse direction of the z-axis. Starting from the second model layer, watermark bits are extracted bit by bit from the watermark bit stream to be embedded for embedding, and one watermark bit is embedded in every two model layers. The embedding method is as follows: for the two model layers used to embed watermark bits, vertices are added to one of the model layers according to the value of the watermark bit, so that the difference in the number of vertices in the two model layers meets a preset threshold, and the binary value of the watermark bit is recorded through the binary classification information of the relative number of vertices in the two model layers; and each newly added vertex needs to be located on the edge formed by a pair of original vertices within the range of the corresponding model layer itself.

[0152] It should be noted that if the length of the watermark bitstream to be embedded is K, the number of model layers in the registered 3D model must be at least 2K+2. Considering the space requirements for boundary adaptive expansion, the first and last layers are not used for watermark embedding. The remaining 2K layers, grouped as two layers, are used to embed a single binary watermark bit. Since the embedded binary watermark bit is either 0 or 1, information can be recorded by adjusting the number of vertices in the two model layers. To ensure model integrity, vertices cannot be deleted, so the number of vertices in the model layers is changed by adding vertices. Assuming there are model layers A and B, vertices can be added to one of the layers so that the difference in the number of vertices in the two layers meets a preset threshold ΔN. Furthermore, by controlling the relative number of vertices in the two layers, whether the embedded binary watermark bit is 0 or 1 can be further reflected. For example, if the number of vertices in model layer A is ΔN greater than that in model layer B, the embedded binary watermark bit is 0. If the number of vertices in model layer B is ΔN greater than that in model layer A, the embedded binary watermark bit is 1. Similarly, the rule can be reversed. If the number of vertices in model layer A is ΔN more than that in model layer B, then the embedded binary watermark bit is 1. If the number of vertices in model layer B is ΔN more than that in model layer A, then the embedded binary watermark bit is 0. Regardless of which rule is used, the same rule can be used for reverse deduction when extracting information later. The principle is the same.

[0153] The following is a specific example to illustrate the specific implementation process of the above step S3, which is divided into two sub-steps, steps S301 to S303, which are implemented as follows:

[0154] Step S301: Embed watermark

[0155] After the layering is completed, the watermark information is expressed by adjusting the difference in the number of vertices between adjacent layers. The specific steps of watermark embedding are as follows:

[0156] S3011 watermark add verification code

[0157] In order to ensure that the watermark can be correctly extracted, the present invention adds some redundant bits to the watermark information, that is, improves the reliability through checksum coding. Assume that the original watermark information is W = {w1, w2, ..., w k}, after adding the check code, we get the extended watermark W′={w′1,w′2,…,w k+r}, where r is the number of check bits and k is the number of bits of the original watermark.

[0158] S3012: Representation of watermark bits

[0159] Each watermark bit is embedded into the difference in the number of vertices between two adjacent layers. The specific operation is as follows:

[0160] In step S6, the model has been layered according to the watermark information, and the watermark bits are embedded by adjusting the difference in the number of vertices between adjacent groups.

[0161] For each watermark bit, the specific representation is as follows:

[0162] If the current watermark bit is "0": add new vertices to the (i-1)th layer so that the number of vertices in the (i-1)th layer is ΔN more than that in the i-th layer. That is:

[0163] ∣Bin[i-1]∣-∣Bin[i]∣=ΔN

[0164] If the current watermark bit is "1": add new vertices to the i-th layer so that the number of vertices in the (i-1) layer is ΔN less than that in the i-th layer. That is:

[0165] ∣Bin[i]∣-∣Bin[i-1]∣=ΔN

[0166] Among them, Bin[i] represents the vertex set of the i-th layer, and |Bin[i]| represents the number of vertices in the i-th layer.

[0167] During this process, the operations on watermark bits "0" and "1" are symmetrical, and both are embedded by adjusting the difference in the number of vertices between two adjacent layers. In this way, watermark embedding effectively embeds information in the difference in the number of vertices in each layer.

[0168] S3013: Adding vertices

[0169] To achieve the above vertex number difference adjustment, vertices must be added to the corresponding layer. The z' of the new vertex must fall within the upper and lower bounds of the layer. Specifically, assuming the z' range of layer i is [z_i_min, z_i_max], then the z' value z_new of the newly added vertex satisfies:

[0170] z_i_min <z_new<z_i_max

[0171] When adding a new vertex, first select a point in the layer as the reference point A, and then find an adjacent point B of this point. To ensure that the generated new point is on the AB edge and in this layer, the coordinates of the new point are calculated as follows: First calculate the lower limit of the new point z' z_lower = max(z_min, min(z_A, z_B))

[0172] and upper limit

[0173] z_upper=min(z_max,max(z_A,z_B))

[0174] This determines the z' extent of the new point.

[0175] Then generate the z' of the new point by random number:

[0176] z_new=z_lower+(random(0,1)×(z_lower-z_upper))

[0177] Thus we get the z' value z_new of the new point. Considering that the new point is on the AB edge, we calculate the coordinates of the new point and add it to the model.

[0178] As vertices are added, the model's topology and geometry change, and new triangular patches are inserted into the model, allowing the watermark to be embedded. As new points are added, the model's patch data is updated to ensure the watermark is correctly embedded. Throughout this process, the model's point, patch, and normal vector data are updated accordingly, ensuring the resulting 3D model conforms to the intended geometry and successfully embeds the watermark.

[0179] Step S302: Model restoration

[0180] After the watermark is embedded, to ensure that the model is restored to its original geometric shape and is not affected by the watermark during subsequent processing or display, the model needs to be restored from the new coordinate system to the original Cartesian coordinate system according to the inverse process of the coordinate system transformation and PCA transformation in S1, and the center of the model needs to be translated back to its original position. The specific steps are as follows:

[0181] S3021, Inverse Principal Component Analysis (PCA) Transformation

[0182] In the previous steps, the model was aligned to the z-axis of the local coordinate system using principal component analysis (PCA). To restore the model, we first need to perform an inverse PCA transformation on the aligned 3D model. The specific steps are as follows:

[0183] Obtain the eigenvector matrix: Use the eigenvector matrix P composed of the three eigenvectors obtained during the PCA process.

[0184] Vertex coordinate transformation: Apply the eigenvector matrix P to the coordinates of all vertices to restore the model from the PCA-aligned coordinate system to the local coordinate system before transformation.

[0185] V i ′=P T ·V i

[0186] S3022, restore from the new coordinate system to the Cartesian coordinate system

[0187] In the previous steps, the vertices of the model are converted to a new coordinate system for watermark embedding. Now, each vertex needs to be restored from the new coordinate system back to the original Cartesian coordinate system using the following formula:

[0188]

[0189] S3023, re-translate the model to its original position

[0190] Before saving the model, you must translate the model back to its original position, that is, translate the center of the model back to its original position in the coordinate system.

[0191] The restored translation operation is accomplished by the following steps:

[0192] 1. Get the center position of the original model and translate the model from the current center position back to the original center position.

[0193] 2. Translate all vertex coordinates to ensure that the geometric shape of the model remains unchanged and the changes in watermark embedding do not affect the integrity of the model.

[0194] Step S303: Save the model

[0195] After the watermark embedding is completed and the model is restored, save the processed model to its original format for further use or publication.

[0196] After the above watermark embedding is completed, an encrypted three-dimensional model can be obtained, and the encrypted three-dimensional model has the embedded watermark information.

[0197] like Figure 3 As shown in the figure, the watermark extraction process in the above-mentioned three-dimensional model watermarking method based on cluster analysis and adaptive layering is demonstrated. The extraction method is: the coordinates of the encrypted three-dimensional model are changed in the same way as the S1 step in the watermark embedding process, so that the center of the three-dimensional model is moved to the origin of the local coordinate system and the main direction of the model is aligned to the z-axis of the local coordinate system, and then the three feature points and the boundary surfaces of all model layers are determined by marking the surface patches, and the watermark bit stream to be embedded is re-extracted according to the inverse process of embedding the watermark information in the watermark embedding process.

[0198] The following is a specific example to illustrate the specific implementation steps of the above watermark extraction process, which is described in detail as follows:

[0199] Step S401: Read the model

[0200] First, read the 3D model file (such as OBJ, STL, PLY) and extract the vertex data and patch data:

[0201] Vertex set V: contains all vertex coordinates, stored as V = {v1, v2, ..., v n}, where v i =(x i ,y i ,z i ).

[0202] Face set F: defines the surface structure of the model and is stored as a polygon set consisting of vertex indices.

[0203] Step S402: Construct a new coordinate system

[0204] First, find the three feature points in the model used to construct the new coordinate system. Feature points are found by marking the surface. The features of the marked surface are:

[0205] 1. Right triangle;

[0206] 2. The ratio of the length of the right angle side is 1:4;

[0207] After finding the three marked patches, determine the three feature points. Refer to step S103 to determine the three coordinate axes of the local coordinate system, translate the model center to the origin of the original coordinate system, and then construct a new coordinate system based on the three points obtained from the feature points of the marked patches to complete the vertex coordinate transformation.

[0208] Step S403: Principal component analysis

[0209] Similar to step S104, PCA principal component analysis is performed on the model to determine the main direction of the model. The main direction of the model is aligned to the z-axis of the local coordinate system through vertex coordinate transformation to ensure resistance to rotation attacks.

[0210] Step S404: Layer by tag

[0211] S4041, find layered labeled patches

[0212] First, find the marker patches in the model to locate the boundary surfaces. The characteristics of such marker patches are:

[0213] 1. Isolated patches;

[0214] 2. Right triangle;

[0215] 3. The ratio of the length of the right angle side is 1:2;

[0216] 4. The z' values ​​of the three points are the same.

[0217] Find the 2k+1 labeled patches corresponding to the 2k layer according to the features.

[0218] S4042 Calculate the number of layered vertices

[0219] Based on the marked facets found in S4041, the model bounding box is divided into 2k+1 model layers according to the z' value, and the number of vertices in each model layer is calculated for watermark extraction.

[0220] S405: Extract watermark

[0221] S4051 watermark code extraction

[0222] On the watermarked model, according to the determined model layer, the watermark bits are re-extracted according to the inverse process of embedding the watermark bits, that is, the watermark information is extracted by comparing the difference in the number of vertices in each two layers:

[0223] If the number of vertices in the previous layer is greater than that in the next layer, the extracted watermark bit is "0";

[0224] If the number of vertices in the previous layer is less than that in the next layer, the extracted watermark bit is "1".

[0225] S4052, watermark code verification

[0226] The extracted watermark bit string W′ needs to be verified to ensure the correctness of the watermark extraction. If a single-bit error occurs during the extraction process, the error can be detected and corrected by the checksum. The specific steps are as follows:

[0227] 1. Confirm the check bit in the watermark bit string

[0228] According to the check code rules used when embedding the watermark, the present invention first needs to determine the check bits in the extracted watermark bit string W'. These check bits are responsible for detecting whether the data bits are correct when embedding the watermark.

[0229] 2. Calculate the value of each check digit

[0230] For each check bit, the present invention calculates the value of the corresponding data bit it checks. Specifically, the data bits that the check bit is responsible for are XORed. The XOR operation compares two bits. If the two bits are the same, the result is 0; if they are different, the result is 1. For example, if a check bit is responsible for checking data bits d1, d2, and d3, the calculation method for the check bit is:

[0231]

[0232] Among them, P i is the check digit, Represents the exclusive OR operation.

[0233] 3. Check the verification results

[0234] The present invention checks for errors by comparing the calculated value of each check bit with the received check bit value. If the result obtained by XORing the calculated result with the received check bit is an odd number, it indicates that an error has occurred in the corresponding data bit.

[0235] S4053, output extraction results

[0236] The extracted watermark code verification result is returned to the output. If the verification result is correct, the watermark extraction is successful, otherwise the watermark extraction fails.

[0237] It should be noted that the method steps shown in S1 to S3 above can essentially be implemented in the form of computer programs or software function modules.

[0238] Therefore, based on the same inventive concept, Figure 4 As shown, the present invention also provides a 3D model watermarking system based on cluster analysis and adaptive layering, which includes a watermark embedding module and a watermark extraction module. The watermark embedding module is used to implement the watermark embedding process, and the watermark extraction module is used to implement the watermark extraction process. The specific watermark embedding and watermark extraction processes are as described above and will not be repeated here.

[0239] In addition, based on the same inventive concept, Figure 5 As shown, the present invention also provides a computer electronic device corresponding to the three-dimensional model watermarking method based on cluster analysis and adaptive stratification provided in the above embodiment, which includes a memory and a processor;

[0240] The memory is used to store computer programs;

[0241] The processor is configured to implement the aforementioned three-dimensional model watermarking method based on cluster analysis and adaptive layering when executing the computer program;

[0242] Furthermore, the logic instructions in the aforementioned memory can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present invention.

[0243] Therefore, based on the same inventive concept, the present invention provides a computer-readable storage medium corresponding to a three-dimensional model watermarking method based on clustering analysis and adaptive stratification, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it can implement the three-dimensional model watermarking method based on clustering analysis and adaptive stratification as described above.

[0244] Therefore, based on the same inventive concept, the present invention provides a computer program product, including a computer program / instruction, which, when executed by a processor, can implement the three-dimensional model watermarking method based on clustering analysis and adaptive stratification as described above.

[0245] Specifically, in the computer-readable storage medium of the above three embodiments, the stored computer program is executed by the processor to perform the above steps S1 to S3.

[0246] It is understood that the storage medium may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Furthermore, the storage medium may be any medium capable of storing program code, such as a USB flash drive, a mobile hard drive, a magnetic disk, or an optical disk.

[0247] It is understandable that the above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0248] It should also be noted that those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working process of the system described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. In the various embodiments provided in this application, the division of steps or modules in the system and method is only a logical function division. In actual implementation, there may be other division methods, for example, multiple modules or steps can be combined or integrated together, and a module or step can also be split.

[0249] The embodiments described above are merely some preferred implementations of the present invention and are not intended to limit the present invention. Persons skilled in the art may make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, any technical solution obtained by equivalent substitution or equivalent transformation falls within the scope of protection of the present invention.

Claims

1. A 3D model watermarking method based on cluster analysis and adaptive layering, characterized in that: The watermark embedding process includes: S1. Read the three-dimensional model and extract vertex data and facet data in the original coordinate system. Cluster all vertices to obtain three cluster centers as feature points. Generate a new local coordinate system based on the three feature points. Use the centroid of the three feature points as the center of the three-dimensional model. Move the center of gravity to the origin of the local coordinate system and perform vertex coordinate transformation. Perform principal component analysis on the vertex data of the transformed three-dimensional model to determine the main direction of the model. Use vertex coordinate transformation to align the main direction of the model with the z-axis of the local coordinate system to obtain the registered three-dimensional model. S2, layering the registered three-dimensional model along the z-axis direction of the local coordinate system so that each model layer contains at least one vertex, and marking three feature points and the boundary surface of each model layer by setting a marker patch; S3. For the watermark bitstream to be embedded, the number of vertices in each model layer is adjusted in sequence, and the watermark information is embedded bit by bit using the difference in the number of vertices in adjacent model layers. At the same time, the facet data of the model is updated according to the newly added vertices. After the embedding of all watermark bitstreams is completed, the three-dimensional model is re-transformed according to the vertex coordinate transformation executed in S1 to obtain the encrypted three-dimensional model in the original coordinate system.

2. The 3D model watermarking method based on cluster analysis and adaptive layering according to claim 1, characterized in that: The method for generating a new local coordinate system based on three feature points is: For the first feature point, second feature point and third feature point obtained by clustering, the center of mass of the three feature points is calculated as the model center according to their respective point coordinates, and the first basis vector pointing from the first feature point to the second feature point and the second basis vector pointing from the first feature point to the third feature point are calculated. The new X-axis direction is defined by the direction of the first basis vector, and the new Z-axis direction is defined by the cross product of the first basis vector and the second basis vector. The new Y-axis direction is determined according to the new X-axis direction and the new Z-axis direction combined with the right-hand rule, thereby generating a new local coordinate system based on the origin of the original coordinate system and the new three-axis directions.

3. The 3D model watermarking method based on cluster analysis and adaptive layering according to claim 1, characterized in that: The method for obtaining the registered three-dimensional model based on the transformed three-dimensional model is as follows: calculating the covariance matrix of the vertex matrix of the transformed three-dimensional model, then performing eigenvalue decomposition on the covariance matrix to obtain eigenvalues ​​and eigenvectors, using the eigenvector corresponding to the maximum eigenvalue as the main direction of the model, and then using the three eigenvectors as new coordinate axis direction vectors to transform the vertex coordinates of the transformed three-dimensional model, aligning the main direction of the model to the z-axis of the local coordinate system, and obtaining the registered three-dimensional model.

4. The 3D model watermarking method based on cluster analysis and adaptive layering according to claim 1, characterized in that: The method for stratifying the registered three-dimensional model along the z-axis direction is as follows: The minimum bounding box of the model is calculated according to the vertex coordinates of the three-dimensional model after registration, and then the minimum bounding box is evenly divided along the z-axis direction of the local coordinate system. Each dividing plane is perpendicular to the z-axis, so that it is divided into a series of model layers and the number of layers is not less than twice the total number of bits of the watermark bit stream to be embedded plus two; then the number of vertices contained in each model layer is counted. If there is a blank model layer without vertices, the number of vertices in the two adjacent model layers is compared, and the dividing plane of the blank model layer is preferentially translated along the z-axis direction toward the adjacent model layer with more vertices until the blank model layer contains a preset number of vertices.

5. The 3D model watermarking method based on cluster analysis and adaptive layering according to claim 1, characterized in that: When setting the marker patches, the feature points and the boundary surfaces of the model layer are distinguished by two types of right-angled triangle marker patches with different geometric features. When the marker patches corresponding to the feature points are arranged in the model, it is necessary to keep the direction of their right-angled short sides perpendicular to the normal of the feature points, and the direction of their right-angled long sides opposite to the normal of the feature points. When the marker patches corresponding to the boundary surfaces are arranged in the model, it is necessary to keep the marker patches coincident with the boundary surfaces and the normal vectors of the two aligned.

6. The 3D model watermarking method based on cluster analysis and adaptive layering according to claim 1, characterized in that: The watermark bit stream to be embedded consists of original binary watermark information and a check code of the binary watermark information.

7. The 3D model watermarking method based on cluster analysis and adaptive layering according to claim 1, characterized in that: The specific method of embedding watermark information bit by bit by using the difference in the number of vertices in adjacent model layers is as follows: The number of vertices contained in each of all model layers in the three-dimensional model after registration is counted, and the number of vertices in the first model layer is kept unchanged along the reverse direction of the z-axis. Starting from the second model layer, watermark bits are extracted bit by bit from the watermark bit stream to be embedded for embedding, and one watermark bit is embedded in every two model layers. The embedding method is as follows: for the two model layers used to embed watermark bits, vertices are added to one of the model layers according to the value of the watermark bit, so that the difference in the number of vertices in the two model layers meets a preset threshold, and the binary value of the watermark bit is recorded through the binary classification information of the relative number of vertices in the two model layers; and each newly added vertex needs to be located on the edge formed by a pair of original vertices within the range of the corresponding model layer itself.

8. The three-dimensional model watermarking method based on cluster analysis and adaptive layering according to claim 1, characterized in that: It also includes a watermark extraction process, and the extraction method is: the coordinates of the encrypted three-dimensional model are changed in the same way as the S1 step in the watermark embedding process, so that the center of the three-dimensional model is moved to the origin of the local coordinate system and the main direction of the model is aligned with the z-axis of the local coordinate system, and then three feature points and the boundary surfaces of all model layers are determined by marking the surface patches, and the watermark bit stream to be embedded is re-extracted according to the inverse process of embedding the watermark information in the watermark embedding process.

9. A 3D model watermarking system based on cluster analysis and adaptive layering, characterized in that: It includes a watermark embedding module and a watermark extraction module. The watermark embedding module is used to implement the watermark embedding process, and the watermark extraction module is used to implement the watermark extraction process.

10. A computer electronic device, characterized in that: including memory and processor; The memory is used to store computer programs; The processor is configured to implement the three-dimensional model watermarking method based on clustering analysis and adaptive stratification as claimed in any one of claims 1 to 8 when executing the computer program.