Watermark embedding method and device, equipment and storage medium

By embedding watermarks into the vertex information of 3D models, and utilizing minute perturbations and specific operations, the problem of digital copyright protection for 3D model files is solved. This achieves highly concealed and robust watermark embedding, is applicable to various 3D model formats, and is widely used in digital content protection and model anti-counterfeiting.

CN120997023APending Publication Date: 2025-11-21LENOVO (BEIJING) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511047269.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-28
Publication Date
2025-11-21

AI Technical Summary

Technical Problem

Existing digital watermarking technologies are difficult to apply effectively to 3D model files, lack robustness, and are easily lost when facets are deleted, modified, or composited. Furthermore, traditional methods can affect the visual effect or structure of the model.

Method used

By embedding watermarks into the vertex information of a 3D model, the watermark information is embedded into the vertex sequence of the model using small perturbations. Through specific operations and perturbation threshold control, the high concealment and robustness of the watermark in the model are ensured.

Benefits of technology

It achieves efficient embedding of watermark information without affecting the model's visual effects and topology, and can resist common attacks such as rotation, scaling, and mesh simplification, effectively protecting the digital copyright of 3D models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120997023A_ABST
    Figure CN120997023A_ABST
Patent Text Reader

Abstract

The invention discloses a watermark embedding method and device, equipment and a storage medium, and the method comprises the steps: obtaining a three-dimensional model of a to-be-embedded watermark, extracting the vertex information corresponding to the three-dimensional model, and obtaining a model vertex sequence; embedding the watermark to be embedded into each piece of vertex information in the model vertex sequence to obtain an embedded model vertex sequence; and constructing a three-dimensional watermark model corresponding to the three-dimensional model based on the embedded model vertex sequence.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of watermark processing, and particularly relates to a watermark embedding method and device, equipment and a storage medium. BACKGROUND

[0002] With the wide application of three-dimensional models in various fields, the digital copyright protection of model files is increasingly prominent. Since traditional digital watermarking technology is mostly directed to two-dimensional media such as images and videos, it is difficult to be directly applied to three-dimensional model files, and the binary structure and data organization mode of the three-dimensional model files bring new challenges to digital copyright protection.

[0003] In the related art, a face sheet is added to a three-dimensional model to embed a watermark. In the case of face sheet deletion, modification, synthesis or cutting, the watermark is lost, which is similar to mesh watermarking and has insufficient robustness. SUMMARY

[0004] Therefore, the embodiments of the present application provide a watermark embedding method, device, equipment and a storage medium.

[0005] The technical scheme of the embodiments of the present application is implemented as follows:

[0006] The embodiments of the present application provide a watermark embedding method, which comprises the following steps:

[0007] A three-dimensional model to be embedded with a watermark is obtained, and vertex information corresponding to the three-dimensional model is extracted to obtain a model vertex sequence;

[0008] The watermark to be embedded is embedded in each vertex information in the model vertex sequence to obtain an embedded model vertex sequence;

[0009] A three-dimensional watermark model corresponding to the three-dimensional model is constructed based on the embedded model vertex sequence.

[0010] In the above watermark embedding method, the watermark to be embedded is embedded in each vertex information in the model vertex sequence to obtain an embedded model vertex sequence, which comprises: performing a first operation and a second operation on each vertex information in the model vertex sequence to obtain a corresponding processed model vertex sequence; performing a third operation on each watermark information in the watermark to be embedded to obtain a corresponding processed embedded watermark; the third operation is different from the second operation; embedding the processed embedded watermark in each vertex information in the processed model vertex sequence to obtain a model vertex sequence embedded with the watermark; performing a fourth operation on each vertex information in the model vertex sequence embedded with the watermark to obtain an embedded model vertex sequence; the fourth operation and the first operation are inverse operations of each other.

[0011] In the watermark embedding method, the first operation and the second operation are performed on each vertex information in the model vertex sequence to obtain a corresponding processed model vertex sequence, including: determining a perturbation threshold of the three-dimensional model according to vertex information included in the model vertex sequence; determining a first operation parameter of the first operation performed on the model vertex sequence based on the perturbation threshold; performing the first operation on each vertex information in the model vertex sequence according to the first operation parameter to obtain a corresponding first model vertex sequence; and performing the second operation on each vertex information in the first model vertex sequence to obtain the processed model vertex sequence.

[0012] In the watermark embedding method, the third operation is performed on each watermark information in the watermark to be embedded to obtain a corresponding processed embedded watermark, including: converting each watermark information in the watermark to be embedded into watermark information in a preset format to obtain a corresponding converted watermark; determining a second operation parameter corresponding to the third operation performed on each watermark information in the converted watermark based on the preset format; and performing the third operation on each watermark information in the converted watermark according to the second operation parameter to obtain the processed embedded watermark.

[0013] In the watermark embedding method, the perturbation threshold of the three-dimensional model is determined according to the vertex information included in the model vertex sequence, including: determining a standard deviation of the vertex information included in the model vertex sequence; setting a ratio of the standard deviation to the perturbation threshold to satisfy a relative standard error of the model vertex sequence; and determining the perturbation threshold according to a preset error range of the relative standard error.

[0014] In the watermark embedding method, the watermark to be embedded is embedded into each vertex information in the model vertex sequence to obtain an embedded model vertex sequence, including: dividing the vertex information included in the model vertex sequence into a plurality of model vertex sequence groups according to a watermark length of the watermark to be embedded; and embedding the watermark to be embedded into each model vertex sequence group in the plurality of model vertex sequence groups to obtain the embedded model vertex sequence.

[0015] In the watermark embedding method, the watermark to be embedded is embedded into each model vertex sequence group in the plurality of model vertex sequence groups to obtain an embedded model vertex sequence, including: embedding, for each vertex information in each model vertex sequence group, watermark information in a corresponding order in the watermark to be embedded to obtain corresponding embedded vertex information; determining the embedded vertex information corresponding to different vertex information in each model vertex sequence group as a corresponding embedded model vertex sequence group; and determining the embedded model vertex sequence groups corresponding to different model vertex sequence groups in the plurality of model vertex sequence groups as the embedded model vertex sequence.

[0016] Embodiments of the present application provide a watermark embedding device, including:

[0017] An acquisition module is configured to acquire a three-dimensional model to be embedded with a watermark and extract vertex information corresponding to the three-dimensional model to obtain a model vertex sequence.

[0018] An embedding module is configured to embed the watermark to be embedded into each vertex information in the model vertex sequence to obtain an embedded model vertex sequence.

[0019] A construction module is configured to construct a three-dimensional watermark model corresponding to the three-dimensional model based on the embedded model vertex sequence.

[0020] The embodiment of the present application provides a watermark embedding device, which comprises a processor, a memory and a communication bus.

[0021] The embodiment of the present application provides a computer readable storage medium, which stores one or more computer programs, and the one or more computer programs can be executed by one or more processors to implement the watermark embedding method.

[0022] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, but not limiting the technical solutions provided by the embodiments of the present application. BRIEF DESCRIPTION OF DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0024] Figure 1 A flowchart of a watermark embedding method provided by the embodiment of the present application;

[0025] Figure 2 A structural schematic diagram of an exemplary three-dimensional model provided by the embodiment of the present application;

[0026] Figure 3 A structural schematic diagram of an exemplary model vertex provided by the embodiment of the present application;

[0027] Figure 4 A flowchart of an exemplary watermark embedding provided by the embodiment of the present application;

[0028] Figure 5 A flowchart of an exemplary watermark embedding method provided by the embodiment of the present application Figure 1 ;

[0029] Figure 6 A flowchart of an exemplary watermark embedding method provided by an embodiment of the present application Figure 2 ;

[0030] Figure 7 A flowchart of an exemplary watermark processing method provided by an embodiment of the present application

[0031] Figure 8 A flowchart of an exemplary method for determining a perturbation threshold provided by an embodiment of the present application

[0032] Figure 9 A flowchart of an exemplary watermark embedding method provided by an embodiment of the present application Figure 3 ;

[0033] Figure 10 A schematic diagram of an exemplary model vertex sequence grouping provided by an embodiment of the present application

[0034] Figure 11 A flowchart of an exemplary vertex perturbation provided by an embodiment of the present application Figure 1 ;

[0035] Figure 12 A flowchart of an exemplary watermark embedding method provided by an embodiment of the present application Figure 4 ;

[0036] Figure 13 A flowchart of an exemplary vertex perturbation provided by an embodiment of the present application Figure 2 ;

[0037] Figure 14 A comparison diagram of a model before and after watermark embedding provided by an embodiment of the present application

[0038] Figure 15 A structural schematic diagram of a watermark embedding device provided by an embodiment of the present application

[0039] Figure 16 A structural schematic diagram of a watermark embedding device provided by an embodiment of the present application DETAILED DESCRIPTION

[0040] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. It can be understood that the specific embodiments described herein are only used to explain the related application, and not to limit the application. All other embodiments obtained by a person of ordinary skill in the art without creative labor are within the scope of protection of the present application.

[0041] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" can be the same subset or different subsets as each other and can be combined with each other as long as there is no conflict. Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meaning as understood by a person skilled in the art to which the embodiments of the present application belong. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application. In addition, it should be noted that only the parts related to the application are shown in the drawings for ease of description.

[0042] With the wide application of three-dimensional models in various fields, the digital copyright protection of model files has become increasingly prominent. Considering that traditional digital watermarking techniques are mostly directed at two-dimensional media such as images and videos, it is difficult to directly apply them to three-dimensional model files, and the binary structure and data organization of three-dimensional model files bring new challenges to digital copyright protection: 1) how to embed copyright information into the model file without affecting the visual effect of the model; 2) how to ensure that the embedded copyright information can resist common attacks such as translation, rotation, scaling, and vertex reordering, mesh simplification, etc.; 3) how to design an efficient watermark embedding algorithm to meet the needs of practical applications.

[0043] A variety of watermark embedding methods are used in the related art. The first method is metadata-based watermarking, which embeds copyright information in the metadata part of the model file. The second method is texture-based watermarking, which embeds copyright information in the model texture image, such as the Least Significant Bit (LSB) algorithm. The third method is mesh deformation watermarking, which encodes copyright information as a small geometric deformation and embeds it in the mesh data of the model file. For example, a method of embedding watermark by adding facets in a three-dimensional model. First, the watermark information to be added is processed by Hamming check code, the areas of the facets in the model are calculated, and the areas of the facets containing the watermark are determined. Then, all the determined facets are traversed to obtain two sets of facets for embedding the watermark, and finally the embedding of the watermark is realized, or by processing the StereoLithography (STL) three-dimensional model file, the digital watermark information is embedded without affecting the appearance and function of the model.

[0044] The first method has the disadvantage that the metadata part can be easily modified or deleted by editing software, resulting in loss of watermark information. The second method has the disadvantage that the texture image appears distorted or has artifacts, and cannot resist operations such as compression and cropping of the texture image. The third method has the disadvantage that the model is damaged and the structure is obviously easy to be manually deleted / modified. Based on this, the related art has the problem that the three-dimensional model with added watermark has insufficient robustness.

[0045] The embodiment of the present application provides a watermark embedding method, which is realized by a watermark embedding device, as shown in the following steps S101 to S103. Figure 1

[0046] In step S101, a three-dimensional model to be embedded with a watermark is acquired, and vertex information corresponding to the three-dimensional model is extracted to obtain a model vertex sequence.

[0047] In the embodiment of the present application, the watermark embedding device is an electronic device with a watermark embedding function, which can be a tablet computer, a notebook computer, a palm computer, a personal digital assistant (PDA), a desktop computer, and the like, and the specific watermark embedding device is not limited here.

[0048] In the embodiment of the present application, the three-dimensional model (3D Model) is a digital representation of an object in three-dimensional space, which is composed of points, lines, and surfaces, and simulates the shape, size, and surface details of a real object through computer graphics technology. It can be an accurate reproduction of a real entity (such as a building or an organ), or a fictional creative design (such as a game character or an animation scene). Its essence is a collection of data, which records the geometric information (vertex coordinates, surface connection) and additional attributes (color, texture, material) of the object. Exemplarily, as shown in the following figure, Figure 2

[0049] In the embodiment of the present application, the three-dimensional model is usually in a common three-dimensional file format, such as STL, OBJ, GLB, and the like. These models are composed of a large number of vertices, each of which has three coordinate values of x, y, and z. The three-dimensional model stores vertex information of the three-dimensional model. Vertex information: refers to the coordinate data of each vertex in the three-dimensional model, which is usually stored in the form of a floating-point number. The vertex is a basic element of the geometric structure of the three-dimensional model, and its position determines the overall shape and detail performance of the model.

[0050] ​​In the embodiments of the present application, the implementation manner of the watermark embedding device extracting vertex information corresponding to the three-dimensional model can be: extracting vertex data by reading a vertex coordinate list in an STL file (the STL file is composed of a series of triangular facets, each triangular facet is composed of three vertices, the vertex data can be extracted by reading the STL file, parsing each line of information, extracting the line starting with "vertex", and obtaining the three coordinate values after it) or by parsing a v statement in an OBJ file. Before extracting the vertex information corresponding to the three-dimensional model, the watermark embedding device can preprocess the three-dimensional model. For example, the preprocessing can include verifying the integrity of the model, removing abnormal vertices, and unifying the coordinate system. Then, the vertex information of the preprocessed three-dimensional model is extracted and organized into a continuous model vertex sequence, which is an ordered set formed by arranging all vertices in a certain order. As shown in FIG. 3, the vertex information 31 of the three-dimensional model 21 in FIG. 2 is shown. Figure 3 Figure 2

[0051] In the embodiments of the present application, the watermark to be embedded can be a hash value, a digital signature, or other forms of identifiers, which are used to uniquely identify the corresponding three-dimensional model.

[0052] Step S102: embedding the watermark to be embedded into each vertex information in the model vertex sequence to obtain an embedded model vertex sequence.

[0053] In the embodiments of the present application, the watermark embedding device can embed the watermark to be embedded into each vertex information in the model vertex sequence. For example, the watermark to be embedded is digital watermark information, and the digital watermark information is embedded into the model vertex sequence through a specific algorithm.

[0054] For example, the watermark to be embedded can be a fixed-length hexadecimal string, such as abcdef. In order to embed it into the model vertex sequence and ensure that the embedded watermark to be embedded does not affect the appearance of the three-dimensional model, a changeable amplitude of the vertex information, i.e., a perturbation threshold, can be set.

[0055] For example, the embedding manner can be: converting the watermark to be embedded into a decimal value, for example, a corresponds to 10, b corresponds to 11, and so on, then dividing the value by a scaling factor (such as 1000) to obtain a very small perturbation amount. Then, the perturbation amount is added to the vertex information, and the result is rounded to the range allowed by the model precision. Finally, the perturbed vertex coordinates are written into the model vertex sequence to form a new model vertex sequence.

[0056] ​​In the embodiments of the present application, the entire model vertex sequence is perturbed, i.e., global perturbation, which is suitable for large models or applications with high requirements for watermark robustness. During the perturbation process, the perturbed vertex coordinates still meet the requirements of the model file format and do not damage the topology of the three-dimensional model.

[0057] Step S103, based on the embedded model vertex sequence, a three-dimensional watermark model corresponding to the three-dimensional model is constructed.

[0058] In the embodiments of the present application, after the watermark embedding is completed, the watermark embedding device can reconstruct the three-dimensional watermark model according to the new model vertex sequence (embedded model vertex sequence). The model is almost identical in appearance to the original three-dimensional model, but due to the slight change in vertex coordinates, the model has embedded watermark information inside.

[0059] Exemplarily, the construction process of the three-dimensional watermark model can include updating the model file format, saving the perturbed vertex information, and verifying the correctness of the watermark embedding.

[0060] In the embodiments of the present application, the construction of the three-dimensional watermark model needs to consider the compatibility of the model file format. Since different formats of three-dimensional model files have different storage methods for vertex information, when constructing the watermark model, it is necessary to ensure that the perturbed vertex information can be correctly parsed and rendered. For example, in the STL format, vertex information is stored in binary form, while in the OBJ format, vertex information is stored in text form. Therefore, when constructing the watermark model, the appropriate encoding method needs to be selected according to the target format.

[0061] In the embodiments of the present application, the process of constructing the three-dimensional watermark model can be divided into the following steps: first, write the perturbed model vertex sequence into the model file; second, verify whether the watermark information can be correctly extracted from the new model; finally, generate an output file with watermark information. In order to ensure the security of the watermark information, a check code or encrypted information can also be added to the model file to prevent unauthorized tampering. As shown in Figure 4 As shown in FIG. 21, the three-dimensional model 21 embeds the watermark 41 to be embedded into the vertex information of the three-dimensional model 21 to obtain the three-dimensional watermark model 42.

[0062] In this way, the watermark embedding method provided by the embodiments of the present application realizes high robustness, high concealment and lossless digital watermark embedding by embedding a slight perturbation in the three-dimensional model vertex sequence. This method is not only suitable for various three-dimensional model formats, but also has good scalability and applicability, and can be widely applied in the fields of digital content protection, model anti-counterfeiting, content tracing, etc.

[0063] In some embodiments, when the watermark embedding device performs the above step S102, as shown inFigure 5 As shown, the following steps S501 to S504 can be performed:

[0064] Step S501, performing a first operation and a second operation on each vertex information in the model vertex sequence to obtain a corresponding processed model vertex sequence.

[0065] In an embodiment of the present application, the watermark embedding device can perform the first operation and the second operation on each vertex sequence in the model vertex sequence to obtain a corresponding processed model vertex sequence.

[0066] For example, the first item p1 of the model vertex sequence is 0.12237999914. Since the model vertex sequence is mostly a 32-bit or 64-bit floating-point number array, direct perturbation will inevitably cause the engulfing effect, or the addition will have rounding errors due to approximate storage (too large increment), so the first operation and the second operation can be performed on each vertex, that is, p1 is enlarged and rounded, which can effectively avoid the engulfing or rounding error caused by perturbation.

[0067] For example, the coordinate of the p1 vertex in the model vertex sequence is 0.12237999914 (represented by a 32-bit floating-point number). The first operation is to multiply it by 1000, and the second operation is to round it to an integer 122.

[0068] Step S502, performing a third operation on each watermark information to be embedded to obtain a corresponding processed embedded watermark; the third operation is different from the second operation.

[0069] In an embodiment of the present application, the third operation is performed on each watermark information to be embedded to obtain a corresponding processed embedded watermark. The third operation is different from the second operation, so as to extract the watermark to be embedded from the embedded model vertex sequence.

[0070] In an embodiment of the present application, the watermark to be embedded is embedded into the model vertex sequence in a manner conforming to the perturbation threshold, which can ensure that the watermark to be embedded is embedded into the vertex data in a controllable and imperceptible manner.

[0071] For example, if the second operation is a rounding operation, the third operation can be a decimal point shift or a numerical scaling operation. On the one hand, this ensures that the watermark to be embedded has little effect on the vertex information in the model vertex sequence (conforming to the perturbation threshold), and on the other hand, the vertex information and the watermark to be embedded can be well distinguished based on different operations performed on the vertex information and the watermark to be embedded.

[0072] For example, the watermark to be embedded is a hexadecimal string abcdef, which can be converted into a decimal array [10, 11, 12, 13, 14, 15], and then each value is multiplied by a scaling factor (such as 1 / 100) to obtain the processed embedded watermark [0.1, 0.11, 0.12, 0.13, 0.14, 0.15].

[0073] Step S503, embedding the processed embedded watermark into each vertex information of the processed model vertex sequence to obtain a model vertex sequence embedded with the watermark.

[0074] In the embodiment of the present application, the processed embedded watermark is embedded into each vertex information of the processed model vertex sequence to obtain a model vertex sequence embedded with the watermark.

[0075] For example, the p1 embedded 0.10 is discussed, p1 is the vertex coordinate information, the first operation and the second operation are executed and end at 122, the third operation is executed and ends at 0.10 for the watermark to be embedded, and then the processed embedded watermark 0.10 is added to 122 to obtain 122.10.

[0076] In the embodiment of the present application, the watermark to be embedded can be embedded in the model vertex sequence in a loop, for example, the processed watermark to be embedded can be [0.1, 0.11, 0.12, 0.13, 0.14, 0.15], the model vertex sequence is [p1, p2, p3, p4, p5, p6, p7, ···· pN], then 0.10 can be embedded into p1, 0.11 can be embedded into p2, 0.12 can be embedded into p3, 0.13 can be embedded into p4, 0.15 can be embedded into p5, 0.16 can be embedded into p6, 0.10 can be embedded into p7, and so on, until each vertex sequence in the model vertex sequence is embedded with the watermark to be embedded.

[0077] Step S504, executing a fourth operation on each vertex information of the model vertex sequence embedded with the watermark to obtain an embedded model vertex sequence; the fourth operation and the first operation are inverse operations of each other.

[0078] In the embodiment of the present application, the fourth operation is executed on each vertex information of the model vertex sequence embedded with the watermark, for example, the fourth operation and the first operation are inverse operations of each other, if the first operation is to expand by a certain multiple, then the fourth operation is to shrink by a certain multiple. Here, the first operation and the fourth operation are to process the vertex information, and the processed vertex information can be restored.

[0079] Exemplarily, if the first operation is performed on the model vertex sequence and then the fourth operation is performed, or the fourth operation is performed and then the first operation is performed, the vertex information in the final model vertex sequence is unchanged. For example, addition or subtraction, multiplication or division, enlargement or reduction are inverse operations when the scales are reciprocal.

[0080] In embodiments of the present application, step S504 is to restore the vertex information embedded with the watermark to a standard format, so as to output a complete model file. The fourth operation is usually the inverse operation of the first operation. For example, if the first operation is to enlarge the vertex coordinates by 1000 times, the fourth operation is to divide the processed value by 1000 to restore it to the original decimal form. This operation ensures that the model embedded with the watermark still meets the requirements of the standard three-dimensional model format and can be used for subsequent rendering, processing or publishing.

[0081] Exemplarily, the vertex coordinates processed through the first three steps are 122.10, and the fourth operation divides it by 1000 to obtain 0.122100000 as the final vertex coordinates saved to the model file. This operation ensures that the model is consistent with the original model in terms of geometric structure and topological relationship, while retaining the embedded watermark information.

[0082] In this way, through the inverse processing of the fourth operation, the model vertex sequence embedded with the watermark can be output in a standard format, ensuring the usability and compatibility of the model while not changing the basic properties of the model. By embedding the watermark information in the model vertex sequence based on vertex perturbation, high robustness and invisibility of the watermark can be achieved, so as to resist common model attacks such as rotation, scaling, translation, mesh simplification, etc., thereby effectively protecting the digital copyright of the three-dimensional model.

[0083] In some embodiments, the watermark embedding device, when performing step S501 described above, may, as shown in FIG. 6, include the following steps S601 and S604: Figure 6

[0084] Step S601, determining a perturbation threshold of the three-dimensional model according to the vertex information included in the model vertex sequence.

[0085] In embodiments of the present application, the watermark embedding device can determine the perturbation threshold of the three-dimensional model according to the vertex information included in the model vertex sequence.

[0086] ​In the embodiments of the present application, the perturbation threshold refers to a small value range calculated according to the statistical characteristics of the model vertex data, which is used to control the perturbation amplitude of the vertex coordinates when embedding the watermark information. This threshold ensures that the perturbation does not affect the overall geometry and visual appearance of the model, while being sufficient to carry the watermark information. By calculating the standard deviation (σ) and the relative standard error (Root Squared Error, RSE) of the model vertices, a suitable perturbation range can be determined.

[0087] Exemplarily, the setting of the perturbation threshold is a key factor to ensure the lossless embedding of the watermark. If the perturbation amplitude is too large, it may cause changes in the appearance of the three-dimensional model, or even affect the function of the three-dimensional model. Therefore, the perturbation threshold is usually set to be one percent or less of the standard deviation of the model vertex sequence. In addition, the perturbation threshold can also be dynamically adjusted according to the type of three-dimensional model and the application scenario to adapt to different needs. For example, when RSE < 0.1%, the perturbation is considered to be within an acceptable range. In this way, the embedding of the watermark information can be ensured without affecting the appearance of the model.

[0088] Step S402, based on the perturbation threshold, determine the first operation parameter of the first operation performed on the model vertex sequence.

[0089] In the embodiments of the present application, according to the statistical ratio, the reduction factor of the watermark sequence needs to be 1000 times larger than the minimum distinguishable quantity, which is the multiple difference of the minimum distinguishable increment (epsilon) of the 32-bit floating point number: ∈ machine ≈1.19×10 -7 ; if the perturbation is controlled in the range of microns and nanometers, 1000*100, 100000, that is, in the nanometer level, the minimum wavelength of visible light is 400 nanometers, so the expansion factor here can be 1000. That is, the first operation is expansion, and the first operation parameter is: expansion by 1000 times, and then reduction is performed again.

[0090] Step S403, for each vertex information in the model vertex sequence, perform the first operation according to the first operation parameter to obtain the corresponding first model vertex sequence.

[0091] Exemplarily, the first operation is expansion, and the first operation parameter is: expansion by 1000 times. According to the first operation parameter (expansion by 1000 times), the first operation is performed to obtain the first model vertex sequence, that is, for each vertex information in the model vertex sequence [p1, p2, p3, p4, p5, p6, p7, ···· pN], expansion by 1000 times is performed to obtain the first model vertex sequence.

[0092] Step S404, perform the second operation on each vertex information in the first model vertex sequence to obtain the processed model vertex sequence.

[0093] In the embodiments of the present application, after performing the first operation on each vertex information in the sequence of model vertices, a second operation is continued to be performed.

[0094] Exemplarily, the first operation is expansion, and the second operation is rounding, that is, expansion and rounding operations are performed on each vertex information in the sequence of model vertices.

[0095] In the embodiments of the present application, there is a sequence of execution between the first operation and the second operation.

[0096] In this way, based on the perturbation threshold, high-precision perturbation embedding of the sequence of three-dimensional model vertices is realized. In this way, the watermark information can be secretly embedded into the model without affecting the model topology and visual effect, so that the common attack behavior can be effectively resisted, and thus the method can be widely applied in the fields of digital copyright protection, model anti-counterfeiting, etc.

[0097] In some embodiments, when performing the above step S302, the watermark embedding device can also perform the following steps S701 to S703, as shown in the following table: Figure 7

[0098] Step S701, converting each watermark information in the watermark to be embedded into watermark information in a preset format to obtain a corresponding converted watermark.

[0099] In the embodiments of the present application, the watermark embedding device converts each watermark information in the watermark to be embedded into watermark information in a preset format to obtain a corresponding converted watermark.

[0100] Exemplarily, the watermark to be embedded is abcdef, in order to adapt to the operation mode of vertex perturbation, it is necessary to convert these characters into numerical data. The conversion process usually includes mapping each character to a corresponding decimal number, such as A corresponding to 10, B corresponding to 11, and so on. This conversion ensures that the subsequent operation can be combined with the vertex coordinates in a mathematical way to achieve accurate perturbation. Exemplarily, the conversion mode of the watermark to be embedded is shown in formula (1):

[0101]

[0102] The converted watermark obtained by converting the watermark to be embedded is [10, 11, 12, 13, 14, 15].

[0103] In the embodiments of the present application, standardizing each watermark information in the watermark to be embedded into a unified numerical format can improve the controllability and consistency of watermark embedding. At the same time, this conversion also provides a basis for subsequent perturbation calculation, so that the watermark information in the preset format can be more naturally integrated into the model geometry without damaging the integrity of the original model.

[0104] ​Step S702. Determine, based on the preset format, a second operation parameter corresponding to the third operation for each watermark information in the converted watermark.

[0105] In embodiments of the present application, the preset format is a decimal format, and the third operation and the second operation are inverse operations of each other. In the case where the second operation is an integer operation, the third operation can be a decimal point shift operation or a numerical scaling operation, so as to distinguish the operation on the vertex information in the model vertex sequence. In order to distinguish the operation between the watermark information and the vertex information, the converted watermark can be scaled to a decimal number. Therefore, the watermark information in the converted watermark is a ten-digit number, which is converted to a decimal number and needs to be scaled by 100 times. At this time, the third operation is scaling, and the second operation parameter is scaling by 100 times.

[0106] Step S703. Perform the third operation on each watermark information in the converted watermark according to the second operation parameter to obtain the embedded watermark after processing.

[0107] In embodiments of the present application, the third operation is scaling, and the second operation parameter is scaling by 100 times. That is, the third operation is performed on each watermark information in the converted watermark according to the second operation parameter (scaling by 100 times) to obtain the embedded watermark after processing.

[0108] In this way, by converting each watermark information in the watermark to be embedded into a preset format and generating a second operation parameter in combination with the model feature, and then performing a third operation according to the parameter, the efficient, concealed and robust embedding of the watermark can be realized. In this way, the watermark can remain stable when facing common attacks such as rotation, scaling and mesh simplification, so as to effectively protect the copyright information of the three-dimensional model, and further improve the security and credibility of digital content.

[0109] In some embodiments, the watermark embedding device, when performing step S601, can further perform steps S801 to S803 as shown in Figure 8

[0110] Step S801. Determine the standard deviation of the vertex information included in the model vertex sequence.

[0111] In embodiments of the present application, the watermark embedding device can determine the corresponding standard deviation based on the vertex information in the model vertex sequence. The standard deviation of the model vertex sequence can measure a statistical quantity of the discrete degree of the distribution of all vertex coordinates of the three-dimensional model corresponding to the model vertex sequence, and represents the deviation of each vertex from the average position. The greater the standard deviation, the more obvious the difference between the vertices, and vice versa, indicating that the vertex distribution is more concentrated.

[0112] ​In the embodiments of the present application, the standard deviation can evaluate the overall geometric structure stability of the three-dimensional model corresponding to the model vertex sequence, thereby providing a basis for subsequent setting of the perturbation threshold. Exemplarily, if the vertex distribution of the model vertex sequence is very dense and the standard deviation of the model vertex sequence is small, a smaller perturbation can be allowed; and if the vertex distribution of the model vertex sequence is extensive and the standard deviation of the model vertex sequence is large, the perturbation amplitude also needs to be increased accordingly, so as to ensure the embedding robustness of the digital watermark in the three-dimensional model corresponding to the model vertex sequence.

[0113] Exemplarily, the model vertex sequence is P={p1, p2, p3, ···, p10002}, and the standard deviation of the model vertex sequence can be calculated by the following formula (2):

[0114]

[0115] wherein σ x is the standard deviation corresponding to the model vertex sequence, x i is pi, and μ x is the mean value corresponding to the model vertex sequence.

[0116] In step S802, a relative standard error of the model vertex sequence is set, and the ratio of the standard deviation to the perturbation threshold satisfies the relative standard error.

[0117] In the embodiments of the present application, the relationship between the standard deviation, the perturbation threshold and the relative standard error satisfies

[0118] the following formula (3):

[0119]

[0120] wherein σ is the standard deviation corresponding to the model vertex sequence, and ∈ is the perturbation threshold.

[0121] In step S803, the perturbation threshold is determined according to a preset error range of the relative standard error.

[0122] In the embodiments of the present application, the smaller the relative standard error (RSE) value is, the smaller the influence of the perturbation on the three-dimensional model corresponding to the model vertex sequence is, and the higher the concealment of the digital watermark in the three-dimensional model corresponding to the model vertex sequence is. For example, when the RSE is less than 0.1%, the appearance of the three-dimensional model corresponding to the model vertex sequence will hardly be affected by the perturbation, and therefore, the digital watermark is suitable for embedding in the three-dimensional model corresponding to the model vertex sequence. Of course, the RSE can also be other error ranges, which can be set based on actual needs and application scenarios, and the present application is not limited in this regard.

[0123] In the embodiments of the present application, according to the statistical rule, when the relative standard error is less than the preset error range, the error can be ignored, and therefore the disturbance threshold obtained based on the rule can ensure that the slight deviation does not damage the original model. That is, in order to ensure that the watermark is visually invisible, the disturbance threshold is strictly controlled, and the embedding of the watermark does not affect the appearance of the model.

[0124] In this way, the slight amplitude of vertex disturbance ensures that the watermark is visually invisible and does not affect the actual use of the model. The watermark information is hidden in the geometry structure through a fine coding manner and is difficult to be perceived. And through the slight disturbance of the grid geometry vertex, the watermark has extremely high resistance to attacks such as scaling, rotation, noise interference, etc. of the grid.

[0125] In some embodiments, the watermark embedding device, when performing the above step S102, can also perform the following steps S901 and S902 as shown: Figure 9

[0126] Step S901, dividing the vertex information included in the model vertex sequence into a plurality of model vertex sequence groups according to the watermark length of the watermark to be embedded.

[0127] In the embodiments of the present application, the model vertex sequence refers to the ordered arrangement of all vertices in the three-dimensional model, and each vertex usually contains coordinate (x, y, z) information. Dividing the vertex information into a plurality of subsequence groups can more flexibly control the embedding range and distribution density of the watermark information.

[0128] For example, if the watermark length of the watermark to be embedded is 6, then the number of elements in each model vertex sequence group obtained by division is also 6; if the watermark length of the watermark to be embedded is 8, then the number of elements in each model vertex sequence group obtained by division is also 8. The watermark length of the watermark to be embedded is determined based on the watermark to be embedded, and the setting of the watermark to be embedded can be set based on actual needs and application scenarios, which is not limited by the present application.

[0129] As shown in Figure 10 If the watermark length to be embedded is 6, the vertex information 102 included in the model vertex sequence 101 is divided into a plurality of model vertex sequence groups 103 according to the watermark length of the watermark to be embedded. If it cannot be divided, the remainder can be deleted, that is, the remainder is not added with the watermark to be embedded, so as to avoid that the embedded watermark to be embedded is incomplete.

[0130] Step S902, embedding the watermark to be embedded into each model vertex sequence group of the plurality of model vertex sequence groups respectively to obtain the embedded model vertex sequence.

[0131] ​In the embodiments of the present application, the to-be-embedded watermark is embedded into each model point sequence group in the plurality of model point sequence groups.

[0132] Exemplarily, the embedding manner is: after performing decimal point shift on each watermark information in the to-be-embedded watermark, i.e., reducing by 100 times, reducing to a decimal, embedding into the processed model point sequence which is enlarged by 1000 times and rounded, the embedding manner is that the processed model point sequence is divided into model point sequence groups with the same length as the to-be-embedded watermark, to obtain the embedded model point sequence.

[0133] Exemplarily, as shown in Figure 11 for the embedding manner of each model point sequence group, the to-be-embedded watermark 41 is: A, B, C, D, E, F, the converted decimal watermark information 111 is: 10, 11, 12, 13, 14, 15, the converted watermark 112 obtained by reducing by 100 times is: 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, then, embedding is performed on one model point sequence group 103, the model point sequence group 103 is: 0.1223..., 0.3233..., etc., to obtain the embedded model point sequence group 113: 0.1220999, 0.3231100001,.... Wherein, the manner of vertex perturbation is: each vertex information in the model point sequence group 103 is enlarged by 1000 times first, rounded, then added with the converted watermark, and then reduced by 1000 times.

[0134] In another embodiment of the present application, the watermark information is embedded into the corresponding model point sequence group in groups, which can be to select a specific perturbation vertex in each model point sequence group and perform a slight perturbation on it to represent each bit of information in the watermark information. For example, the first bit of information of the watermark information (corresponding to the to-be-embedded watermark) is embedded into a certain perturbation vertex in the first model point sequence group, the second bit of information of the watermark information is embedded into another perturbation vertex in the second model point sequence group, and so on. In this way, it can also ensure that the watermark information is widely distributed in the model and improve its attack resistance.

[0135] In another embodiment of the present application, the watermark information is embedded into the corresponding model point sequence group in groups, which can also be to perform a slight perturbation on each vertex in each model point sequence group to represent one bit of information in the watermark information. For example, the first bit of information of the watermark information (corresponding to the to-be-embedded watermark) is embedded into all vertices in the first model point sequence group, the second bit of information of the watermark information is embedded into all vertices in the second model point sequence group, and so on. In this way, it can also ensure that the watermark information is widely distributed in the model and improve its attack resistance.

[0136] In this way, by grouping the model vertex sequences according to the watermark length and embedding the watermark information in each model vertex sequence group, uniform distribution and efficient embedding of the watermark information can be achieved. In this way, the attack resistance and robustness of the watermark information can be improved, so as to protect the copyright of the digital content, and thus can be widely applied to the field of copyright management of three-dimensional models.

[0137] In some embodiments, when performing step S902, the watermark embedding device can further perform steps S1201-S1203 as shown in the following table: Figure 12

[0138] Step S1201: For each vertex information in each model vertex sequence group, embedding the watermark information in the corresponding sequence in the to-be-embedded watermark to obtain the corresponding embedded vertex information.

[0139] In the embodiments of the present application, for each vertex information in each model vertex sequence group, the watermark embedding device embeds the watermark information in the corresponding sequence in the to-be-embedded watermark to obtain the corresponding embedded vertex information.

[0140] For example, if the to-be-embedded watermark includes 6 pieces of watermark information and each model vertex sequence group includes 6 pieces of vertex information, the first piece of watermark information in the to-be-embedded watermark is embedded into the first piece of vertex information in the model vertex sequence group, the second piece of watermark information in the to-be-embedded watermark is embedded into the second piece of vertex information in the model vertex sequence group, and so on, to obtain the corresponding embedded vertex information for each piece of vertex information in each model vertex sequence group.

[0141] Step S1202: Determine the embedded vertex information corresponding to different vertex information in each model vertex sequence group as the corresponding embedded model vertex sequence group.

[0142] In the embodiments of the present application, the watermark embedding device determines the embedded vertex information corresponding to different vertex information in each model vertex sequence group as the corresponding embedded model vertex sequence group.

[0143] For example, each piece of vertex information in each model vertex sequence group corresponds to an embedded vertex information, for example, 6 pieces of vertex information in a model vertex sequence group correspond to 6 pieces of embedded vertex information, and the 6 pieces of embedded vertex information are sorted according to the arrangement order of the previous 6 pieces of vertex information to obtain the corresponding embedded model vertex sequence group.

[0144] For example, as shown in the following table: Figure 13 The embedded manner is shown, that is, the to-be-embedded watermark is embedded in each model vertex sequence group 103 in the plurality of model vertex sequence groups 103, and the specific manner is consistent with the content discussed in Figure 11 , which will not be repeated here.​

[0145] Step S1203, determining the embedded model vertex sequence group corresponding to each model vertex sequence group in the plurality of model vertex sequence groups as the embedded model vertex sequence.

[0146] In the embodiments of the present application, after obtaining the embedded model vertex sequence group corresponding to each model vertex sequence group in the plurality of model vertex sequence groups, the watermark embedding device correspondingly groups the embedded model vertex sequence group into the embedded model vertex sequence according to the order of the model vertex sequence in the plurality of model vertex sequence groups.

[0147] In this way, by integrating the plurality of embedded model vertex sequence groups into a complete vertex sequence, i.e., the embedded model vertex sequence, it can be ensured that the watermark information is widely covered in the model, and the ability to resist partial vertex loss or tampering is improved. By constructing the embedded model vertex sequence, it can effectively prevent malicious attackers from destroying the watermark information by deleting or modifying a small number of vertices, thereby significantly enhancing the robustness and security of the watermark constituted by the embedded vertex information, the embedded model vertex sequence group, and the embedded model vertex sequence.

[0148] Exemplarily, the implementation of the watermark embedding method can include the following steps S1 to S5:

[0149] Step S1, input model preparation.

[0150] Here, the watermark embedding device can obtain a three-dimensional model, such as the three-dimensional model 21 shown in FIG. 1, and then extract the vertex information in the mesh geometry therefrom, referring to the vertex information 31 in FIG. 1. Figure 2 Figure 3

[0151] Step S2, confirming and processing watermark information encoding.

[0152] Here, the watermark embedding device can confirm the watermark information (corresponding to the to-be-embedded watermark discussed above) and encode the watermark information. Exemplarily, the watermark information can be a fixed-length hash value: abcdef. The encoding of the watermark information corresponds to the consistent encoding discussed in step S701 above, and will not be described here.

[0153] Step S3, confirmation of perturbation threshold.

[0154] ​​Here, the watermark embedding device first determines the relative standard error corresponding to the model vertex sequence, and the exemplary calculation method is described in formula (3) above. The parameters required for formula (3) are described in formula (2) above. After obtaining the relative standard error, a preset error range is set based on statistical rules, and then the perturbation threshold is determined. The exemplary confirmation steps are described in steps S801 to S803 above, which will not be described here.

[0155] Step S4, perturbation logic.

[0156] Here, the watermark embedding device knows that the watermark to be embedded is: [10, 11, 12, 13, 14, 15], with a length of 6. Based on the threshold range, the number of times the watermark sequence needs to be reduced is 1000, and then the principle of vertex perturbation must meet the effective change and the small increment. Exemplarily, the minimum distinguishable increment of a 32-bit floating-point number is 10 -7 Therefore, the increment that needs to be met cannot be less than 10 -7 Combined with the above-mentioned reduction multiple, both of them meet the condition, and the range that needs to be reduced is 1000.

[0157] In order to facilitate the processing of the model vertex, and considering that the vertex sequence is mostly a 32 or 64-bit floating-point number array, direct micro-perturbation will inevitably cause the swallowing effect, or cause rounding errors in addition due to approximate storage (too large increment). Therefore, the vertex information in the model vertex sequence is enlarged by 1000 times and rounded, to obtain the processed vertex information. Then, the converted watermark (the watermark information in the watermark to be embedded is converted to decimal and then reduced by 100 times) is added to the vertex information. Finally, the result is reduced by 1000 to restore the original decimal place (floating-point number).

[0158] Step S5, watermark embedding.

[0159] Here, the watermark embedding device embeds the watermark to be embedded into the model vertex sequence according to the perturbation logic described in step S4 above. Exemplarily, the model vertex sequence is grouped according to the watermark length of the watermark to be embedded. Each group (corresponding to the model vertex sequence group described above) is traversed, and each vertex information in the group (corresponding to the contents described in steps S901, S1201 and S1202 above, which will not be described here) is traversed in depth. In turn, perturbation processing is performed.

[0160] The watermark embedding method based on the above steps S1 to S5 can realize lossless, concealment and robustness.

[0161] For losslessness: a, watermark information (corresponding to the to-be-embedded watermark discussed in the foregoing) is embedded through vertex offset of a small amplitude, the offset values are controlled within the range allowed by the model precision, visual imperceptibility is ensured, and visual losslessness is maintained; b, only vertex coordinates are adjusted, no vertex, edge or face is added or deleted, the topology of the model is not changed, and subsequent geometric operations, rendering or physical simulation are not affected; c, micrometer-level perturbation of all vertices can ensure that the center of the world coordinate system of the model is stable and cannot be offset. Exemplarily, as shown in Figure 14 , a three-dimensional model 21 before perturbation and a three-dimensional watermark model 42 after perturbation are shown.

[0162] For concealment: the watermark information is embedded through vertex offset of a small amplitude, in the case of a normal model unit of meters, the perturbation range is only micrometers or even nanometers, and the change of the model cannot be perceived by the human eye.

[0163] For robustness: a, information redundancy (full-quantity coverage of vertices) is adopted, so that even if part of the vertices is modified or lost, the watermark can still be detected, thereby enhancing the resistance to attacks such as model modification and partial vertex destruction; b, since the watermark is embedded in the vertices, format conversion will not affect the integrity of the watermark; c, the watermark is resistant to grid attacks, and can still be correctly parsed even if the model is rotated, scaled or translated.

[0164] The embodiment of the present application provides a watermark embedding method, which comprises: obtaining a three-dimensional model to be embedded with a watermark, and extracting vertex information corresponding to the three-dimensional model to obtain a model vertex sequence; embedding the to-be-embedded watermark into each vertex information in the model vertex sequence to obtain an embedded model vertex sequence; and constructing a three-dimensional watermark model corresponding to the three-dimensional model based on the embedded model vertex sequence. The watermark embedding method provided by the embodiment of the present application realizes high robustness, high concealment and lossless digital watermark embedding by embedding a small perturbation in the three-dimensional model vertex sequence. The method is not only suitable for various three-dimensional model formats, but also has good expansibility and applicability, and can be widely applied to the fields of digital content protection, model anti-counterfeiting, content tracing and the like.

[0165] The embodiment of the present application provides a watermark embedding device 15, as shown in Figure 15 , which comprises:

[0166] The obtaining module 151 is configured to obtain a three-dimensional model to be embedded with a watermark, and extract vertex information corresponding to the three-dimensional model to obtain a model vertex sequence.

[0167] The embedding module 152 is configured to embed the to-be-embedded watermark into each vertex information in the model vertex sequence to obtain an embedded model vertex sequence.

[0168] The constructing module 153 is configured to construct a three-dimensional watermark model corresponding to the three-dimensional model based on the embedded model vertex sequence.

[0169] In an embodiment of the present application, the embedding module 152 is further configured to perform the first operation and the second operation on each vertex information in the model vertex sequence to obtain a corresponding processed model vertex sequence; perform the third operation on each watermark information in the watermark to be embedded to obtain a corresponding processed embedding watermark; the third operation is different from the second operation; embed the processed embedding watermark into each vertex information in the processed model vertex sequence to obtain an embedding watermark model vertex sequence; perform the fourth operation on each vertex information in the embedding watermark model vertex sequence to obtain the embedded model vertex sequence; the fourth operation and the first operation are inverse operations of each other.

[0170] In an embodiment of the present application, the embedding module 152 is further configured to determine a perturbation threshold of the three-dimensional model according to the vertex information included in the model vertex sequence; determine a first operation parameter of the first operation performed on the model vertex sequence based on the perturbation threshold; perform the first operation on each vertex information in the model vertex sequence according to the first operation parameter to obtain a corresponding first model vertex sequence; perform the second operation on each vertex information in the first model vertex sequence to obtain the processed model vertex sequence.

[0171] In an embodiment of the present application, the embedding module 152 is further configured to convert each watermark information in the watermark to be embedded into watermark information in a preset format to obtain a corresponding converted watermark; determine a second operation parameter corresponding to the third operation performed on each watermark information in the converted watermark based on the preset format; perform the third operation on each watermark information in the converted watermark according to the second operation parameter to obtain the processed embedding watermark.

[0172] In an embodiment of the present application, the embedding module 152 is further configured to determine a standard deviation of the vertex information included in the model vertex sequence; set a ratio of the standard deviation to the perturbation threshold to satisfy a relative standard error of the model vertex sequence; and determine the perturbation threshold according to a preset error range of the relative standard error.

[0173] In an embodiment of the present application, the embedding module 152 is further configured to divide the vertex information included in the model vertex sequence into a plurality of model vertex sequence groups according to a watermark length of the watermark to be embedded; and embed the watermark to be embedded into each model vertex sequence group in the plurality of model vertex sequence groups to obtain the embedded model vertex sequence.

[0174] In an embodiment of the present application, the embedding module 152 is further configured to, for each vertex information in each model vertex sequence group, embed the corresponding watermark information in the watermark to be embedded in the corresponding order to obtain corresponding embedded vertex information; determine the embedded vertex information corresponding to different vertex information in each model vertex sequence group as a corresponding embedded model vertex sequence group; and determine the embedded model vertex sequence groups corresponding to different model vertex sequence groups in the plurality of model vertex sequence groups as the embedded model vertex sequence.

[0175] An embodiment of the present application provides a watermark embedding device 16, as shown in the figure, the watermark embedding device comprises a processor 1601, a memory 1602 and a communication bus 1603. Figure 16

[0176] The communication bus 1603 is configured to realize the communication connection between the processor 1601 and the memory 1602.

[0177] The processor 1601 is configured to execute the computer program stored in the memory 1602 to realize the watermark embedding method described above.

[0178] An embodiment of the present application provides a watermark embedding device, acquires a three-dimensional model to be embedded with a watermark, and extracts vertex information corresponding to the three-dimensional model to obtain a model vertex sequence; embeds the watermark to be embedded in each vertex information in the model vertex sequence to obtain an embedded model vertex sequence; and constructs a three-dimensional watermark model corresponding to the three-dimensional model based on the embedded model vertex sequence. The watermark embedding device provided by the embodiment of the present application realizes high robustness, high concealment and lossless digital watermark embedding by embedding a tiny disturbance in the three-dimensional model vertex sequence. The method is not only suitable for various three-dimensional model formats, but also has good expansibility and applicability, and can be widely applied to the fields of digital content protection, model anti-counterfeiting, content tracing and the like.

[0179] An embodiment of the present application provides a computer readable storage medium, the computer readable storage medium stores one or more computer programs, and the one or more computer programs can be executed by one or more processors to realize the watermark embedding method described above. The computer readable storage medium can be transitory or non-transitory.

[0180] ​The embodiment of the present application provides a computer program product, which comprises a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, part or all of the steps of the watermark embedding method described above are implemented. The computer program product can be implemented in the form of hardware, software or a combination thereof. In an optional embodiment, the computer program product is embodied as a computer storage medium. In another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK) and the like.

[0181] In some embodiments, the storage medium can be a computer-readable storage medium, which can be a volatile memory (for example, a random-access memory (RAM)) or a non-volatile memory (for example, a read-only memory (ROM), a flash memory, a hard disk (HDD), a solid-state disk (SSD), a ferroelectric random access memory (FRAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disk, or a compact disk read-only memory (CD-ROM), and the like). The storage medium can also be various devices including one or any combination of the above memories, such as a mobile phone, a computer, a tablet device, a personal digital assistant, and the like.

[0182] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can be in the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can be in the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) containing computer-usable program code.

[0183] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flow or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.

[0184] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the flowchart block or blocks. Figure 1 one or more flow or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.

[0185] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flow or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.

[0186] In some embodiments, the executable instructions can take the form of programs, software, software modules, scripts, or code, written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and they can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0187] By way of example, an executable instruction can be, but is not limited to, a file, a part of a file, containing high level code (e.g., a script) that can be executed by a virtual machine, interpreter, or compiler, low level code, such as machine language, machine dependent code, machine code, or others. The described executable instructions can be, for example, and without limitation, code written in Hyper Text Markup Language (HTML) or other markup languages, code executed by a microprocessor, or other code that can be written in any other programming language, such as, for example, Java, C, C# or the like. Additionally, it is common in the art for one or more parts of a program to be implemented as an integrated circuit, an application specific integrated circuit (ASIC), a state machine, a hardwired electronic or logic circuit such as discrete elements coupled to each other in a predefined manner, a computer containing one or more processors, a FPGA (field programmable gate array) as an example of programmable hardware, etc. Additionally, the described executable instructions can be implemented also by a combination of hardware and software.

[0188] The above description is provided as an example and is not intended to limit the scope of the present application. Any modification, equivalent replacement, and improvement made within the spirit and scope of the present application shall fall within the scope of the present application.

[0189] It should be understood that all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art to which the present application pertains. Unless otherwise defined, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art to which the present application pertains. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. Any use of the terms "comprise", "comprising", "comprises", "include", "including", "includes", "contain", "containing", "contains", "characterized by", "carried out using", "carry out using", "carry out by" or variants (e.g., "comprises" or "comprising") will not exclude other elements or steps. The singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise. The terms "connected" and "coupled" are used broadly and encompass both direct and indirect connections and couplings.

[0190] It should be noted that, in the present document, the terms "comprise", "comprising", "comprises" or "comprising" are intended to encompass non-exclusive inclusions, such that a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to those elements, but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising a... " does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element. In several embodiments provided in the present document, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative, for example, the division of units is only a logical functional division, and in actual implementation, other division manners can be used, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be omitted or not executed.

[0191] The above description is only specific embodiments of the present application, but the protection scope of the present application is not limited thereto, any changes or replacements within the technical scope disclosed by the present application can be easily thought by those skilled in the art, and should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A watermark embedding method, the method comprising: Obtain the 3D model to be embedded with the watermark, and extract the vertex information corresponding to the 3D model to obtain the model vertex sequence; The watermark to be embedded is embedded into the information of each vertex in the model vertex sequence to obtain the embedded model vertex sequence. Based on the embedded model vertex sequence, a 3D watermark model corresponding to the 3D model is constructed.

2. The watermark embedding method according to claim 1, wherein embedding the watermark to be embedded into the vertex information of each vertex in the model vertex sequence to obtain the embedded model vertex sequence comprises: Perform the first operation and the second operation on each vertex information in the model vertex sequence to obtain the corresponding processed model vertex sequence; Perform a third operation on each watermark information in the watermark to be embedded to obtain the corresponding processed embedded watermark; The third operation is different from the second operation; The processed watermark is embedded into the information of each vertex in the processed model vertex sequence to obtain the model vertex sequence with the watermark. A fourth operation is performed on each vertex information in the watermarked model vertex sequence to obtain the embedded model vertex sequence; the fourth operation is the inverse of the first operation.

3. The watermark embedding method according to claim 2, wherein performing the first operation and the second operation on each vertex information in the model vertex sequence to obtain the corresponding processed model vertex sequence includes: Based on the vertex information included in the vertex sequence of the model, the perturbation threshold of the three-dimensional model is determined; Based on the perturbation threshold, determine the first operation parameters for performing the first operation on the model vertex sequence; For each vertex information in the model vertex sequence, perform the first operation according to the first operation parameters to obtain the corresponding first model vertex sequence; Perform the second operation on each vertex information in the first model vertex sequence to obtain the processed model vertex sequence.

4. The watermark embedding method according to claim 2, wherein performing a third operation on each watermark information in the watermark to be embedded to obtain the corresponding processed embedded watermark includes: Each watermark information in the watermark to be embedded is converted into watermark information in a preset format to obtain the corresponding converted watermark. Based on the preset format, determine the second operation parameters corresponding to the third operation performed on each watermark information in the converted watermark; Each watermark information in the transformed watermark is subjected to the third operation according to the second operation parameters to obtain the processed embedded watermark.

5. The watermark embedding method according to claim 3, wherein determining the perturbation threshold of the 3D model based on the vertex information included in the model vertex sequence comprises: Determine the standard deviation of the vertex information included in the vertex sequence of the model; The ratio of the standard deviation to the perturbation threshold is set to satisfy the relative standard error of the model vertex sequence; The disturbance threshold is determined based on the preset error range of the relative standard error.

6. The watermark embedding method according to any one of claims 1 to 5, wherein embedding the watermark to be embedded into the vertex information of each vertex in the model vertex sequence to obtain the embedded model vertex sequence comprises: The vertex information included in the model vertex sequence is divided into multiple model vertex sequence groups according to the length of the watermark to be embedded. The watermark to be embedded is embedded into each of the multiple model vertex sequence groups to obtain the embedded model vertex sequence.

7. The watermark embedding method according to claim 6, wherein embedding the watermark to be embedded into each of the plurality of model vertex sequence groups to obtain the embedded model vertex sequence comprises: For each vertex information in each model vertex sequence group, the corresponding watermark information in the watermark to be embedded is used to embed it, and the corresponding embedded vertex information is obtained. The embedded vertex information corresponding to different vertex information in each model vertex sequence group is determined as the corresponding embedded model vertex sequence group; The embedded model vertex sequence group corresponding to different model vertex sequence groups in the plurality of model vertex sequence groups is determined as the embedded model vertex sequence.

8. A watermark embedding device, comprising: The acquisition module is used to acquire the 3D model to be embedded with the watermark and extract the vertex information corresponding to the 3D model to obtain the model vertex sequence; An embedding module is used to embed the watermark to be embedded into the information of each vertex in the model vertex sequence to obtain the embedded model vertex sequence. A construction module is used to construct a 3D watermark model corresponding to the 3D model based on the embedded model vertex sequence.

9. A watermark embedding device, comprising: Processor, memory, and communication bus; The communication bus is used to realize the communication connection between the processor and the memory; The processor is configured to execute a computer program stored in the memory to implement the watermark embedding method according to any one of claims 1 to 7.

10. A computer-readable storage medium storing one or more computer programs, which can be executed by one or more processors to implement the watermark embedding method of any one of claims 1 to 7.