Three-dimensional information hiding method and device based on point cloud projection sampling
By determining the sampling vertices through point cloud projection sampling and embedding secret information using Z coordinate values and color component values, the problems of synchronization and insufficient embedding capacity in 3D information hiding are solved, and efficient and stable information hiding and extraction are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XIAN UNIV OF SCI & TECH
- Filing Date
- 2023-03-24
- Publication Date
- 2026-05-19
AI Technical Summary
Existing 3D information hiding techniques are prone to disrupting vertex order synchronization after embedding secret data, affecting extraction results and imperceptibility, and the embedding capacity is insufficient.
The sampling vertices are determined by point cloud projection sampling method, and secret information is embedded using the Z coordinate value and color component value of the vertices to ensure synchronization and increase the embedding capacity.
It significantly improves the embedding capacity of secret information without affecting vertex synchronization, while maintaining good imperceptibility and robustness.
Smart Images

Figure CN116363309B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information processing technology, and in particular to a three-dimensional information hiding method and apparatus based on point cloud projection sampling. Background Technology
[0002] With the rapid development of the internet, information acquisition has become incredibly easy, making the security of confidential information online extremely important. Unlike information encryption, information hiding does not change the form of the information but rather conceals the secret information within other carriers, resulting in greater concealment. Currently, information hiding technology using two-dimensional images as carriers is relatively mature. Unlike the regular matrix form of two-dimensional images, information hiding in three-dimensional point cloud models can be achieved by embedding the secret information into the vertices of the three-dimensional point cloud model. However, the distribution of vertices in a three-dimensional point cloud model is irregular in space. Therefore, before hiding information in a three-dimensional point cloud model, a unique vertex order must first be found to ensure that the embedding and extraction ends are the same, i.e., vertex synchronization.
[0003] Currently, hiding 3D information often involves embedding secret data by moving vertex positions. However, the vertex order may change after embedding secret data, which can disrupt synchronization and affect the results and performance of secret data extraction. It can also affect the imperceptibility of the embedding method. Moreover, the capacity of such methods for embedding secret data is not large enough.
[0004] [1]GirdharA,Kumar VA reversible and affine invariant 3D data hidingtechnique based on difference shifting and logistic map[J].Journal of AmbientIntelligence and Humanized Computing,2019,10(12):4947-4961.
[0005] [2]Khalil OH,Elhadad A,GhareebA.A blind proposed 3D meshwatermarkingtechnique for copyright protection[J].The Imaging ScienceJournal,2020,68(2):90-99.
[0006] [3]Ferreira F,Lima J BA robust 3D point cloud watermarking based method on the graph Fourier transform[J].Multimedia Tools and Applications, 2020,79(3):1921–1950. Summary of the Invention
[0007] The purpose of this invention is to overcome the shortcomings of the existing technology and provide a three-dimensional information hiding method and apparatus based on point cloud projection sampling with large capacity and good imperceptibility.
[0008] A 3D information hiding method based on point cloud projection sampling includes:
[0009] Step 1: Obtain the target 3D point cloud model;
[0010] Step 2: Perform point cloud projection sampling on the target 3D point cloud model to obtain the sampled vertices of the target 3D point cloud model; the sampled vertices include: I_List, Z_List, R_List, G_List, and B_List; I_List is the index set of the sampled vertices, Z_List is the set of Z coordinate values of the sampled vertices, and R_List, G_List, and B_List correspond to the red component values r of the sampled vertices, respectively. i The set of green components g i The set and the blue component value b i A set;
[0011] Step 3: Transfer the secret data by changing the Z-coordinate value of the sampling vertex and the red component value r. i Green component value g i and the blue component value b i The target 3D point cloud model is embedded in a certain way to obtain a steganalytic 3D point cloud model.
[0012] Furthermore, in the 3D information hiding method based on point cloud projection sampling as described above, step two includes:
[0013] Step 21: Obtain the vertex set v of the target 3D point cloud model i =(x i ,y i ,z i ) T i = 1, 2, 3, ..., n;
[0014] Step 22: Normalize and expand the vertex set to obtain the normalized expanded vertex set.
[0015] Step 23: Expand the normalized point set The vertex set after vertical projection is processed to remove overlapping vertices, thereby obtaining the sampled vertices I_List, Z_List, R_List, G_List and B_List of the target 3D point cloud model.
[0016] Furthermore, in the 3D information hiding method based on point cloud projection sampling as described above, step 22 includes:
[0017] Step 221: Traverse the set of vertices and determine the minimum value x on the X-axis for each vertex. min and maximum value x max and its minimum value y on the Y-axis. min and maximum value y max Then, according to formula (1), x i and y i After normalization, expand;
[0018]
[0019] Wherein, L is the length of the projection surface; S is the width of the projection surface.
[0020] Furthermore, in the 3D information hiding method based on point cloud projection sampling as described above, step 23 includes:
[0021] When multiple vertices fall into the same grid, select the vertex with the smallest X-axis coordinate value;
[0022] If multiple vertices with the smallest X-axis coordinate values fall into the same grid, select the vertex with the smallest Y-axis coordinate value.
[0023] If multiple vertices with the smallest X-axis coordinates and the smallest Y-axis coordinates fall into the same grid, select the vertex with the smallest Z-axis coordinate.
[0024] Record the index of the finally selected vertex, and store the index i in the grid in a one-dimensional list I_List in order from left to right and top to bottom, and record the Z-axis coordinate z corresponding to i. i and color r i g i b i The samples are stored in one-dimensional lists Z_List, R_List, G_List, and B_List respectively, thus obtaining the sampled vertices I_List, Z_List, R_List, G_List, and B_List of the target three-dimensional point cloud model.
[0025] Furthermore, in the 3D information hiding method based on point cloud projection sampling as described above, step three includes:
[0026] Step 31: Read the point set V = {v} of the carrier model M i =(x i ,y i ,z i ) T ,i=1,2,...n}, where n is the total number of vertices in the 3D point cloud model;
[0027] Step 32: Generate a 5-bit binary secret data sequence group S = {S1, S2, S3, ..., S...} from the secret data file. m}; where m is the number of subsequences after the secret data file is converted to binary and divided into groups of 5 bits, and m is taken according to formula (2), where This is the floor function operator;
[0028]
[0029] Any subsequence S j (j=1,2,…,m) are all composed of 5 binary digits, each of which is represented by formula (3);
[0030] S j ={s j,1 ,s j,2 ,s j,3 ,s j,4 ,s j,5} (3)
[0031] Step 33: Using the point cloud projection sampling method, select appropriate projection surface resolution parameters and project the point set v i Vertically project onto the XOY plane to obtain at least m sampling vertices; thus obtaining the set of index values, Z coordinate values and color values corresponding to the sampling points: I_List, Z_List, R_List, G_List and B_List; Step 34: Calculate the coordinates of the corresponding vertices z in Z_List according to formulas (4) and (5). i The 5th decimal place d i,5 And the 6th digit d i,6 ,in For floor operations, z i ∈Z_List;
[0032]
[0033]
[0034] in For floor operations, z i ∈Z_List;
[0035] Step 35: According to formulas (6) and (7), respectively in z i Secret data s is embedded in the 5th and 6th decimal places. i,1 and s i,2
[0036]
[0037]
[0038] In the formula, mod() is the modulo operation, d i,j With d i,j e Correspondingly, it represents the vertex coordinate value z. i The values before and after the embedded secret data in the j-th decimal place (j=5,6), where 1≤i≤m;
[0039] Step 36: In z i The last three bits of the i-th group of secret data are embedded in the corresponding red, green, and blue color value components, as shown in formula (8), and are respectively represented by s i,3 s i,4 and s i,5 Replace color component r i g i and b i Least significant bit (LSB)
[0040] According to formula (8), s are used respectively i,3 s i,4 and s i,5 Replace color component r i g i and b i least significant bit
[0041]
[0042] LSB() represents the least significant bit operation;
[0043] Step 37: Combine the Z-coordinate values and color component values of the embedded secret data using I_List and map them back to the carrier model to obtain the steganalytic model M′ after changing the Z-coordinate values and color values of the sampled vertex.
[0044] A method for extracting 3D information based on point cloud projection sampling, comprising:
[0045] Step 1: Obtain the point set (v) of the steganography model M′ i ′=(x i ′,y i′,z i ′) T (i = 1, 2, ..., n);
[0046] Step 2: Based on the point cloud projection sampling, the point set v i 'Project vertically onto the XOY plane to obtain the sampled vertices I_List′, Z_List′, R_List′, G_List′, B_List′;
[0047] Step 3: For Z_List′, take the 5th and 6th decimal places, which is d. i,5 ',d i,6 Extract secret data according to the following formulas (9) and (10);
[0048]
[0049]
[0050] Step 4: For R_List′, G_List′, and B_List′, take their least significant bits and extract them according to formula (11) to obtain the i-th subsequence S of the secret data. i ′={s i,1 ′,s i,2 ′,s i,3 ′,s i,4 ′,s i,5 ′}
[0051]
[0052] Step 5: Repeatedly extract the subsequence S of secret data i ′={s i,1 ′,s i,2 ′,s i,3 ′,s i,4 ′,s i,5}, until i = m, combine the subsequences to recover the complete secret data sequence S′ = {S1′, S2′, S3′, ..., S}. m Then convert it into the original secret data carrier file format.
[0053] A three-dimensional information hiding device based on point cloud projection sampling, comprising:
[0054] The acquisition unit is used to acquire the target 3D point cloud model;
[0055] The processing unit is configured to perform point cloud projection sampling on the target 3D point cloud model to obtain the sampled vertices of the target 3D point cloud model; the sampled vertices include: I_List, Z_List, R_List, G_List, and B_List; I_List is the index set of the sampled vertices, Z_List is the set of Z coordinate values of the sampled vertices, and R_List, G_List, and B_List correspond to the red component values r of the sampled vertices, respectively. i The set of green components g i The set and the blue component value b i A set;
[0056] Embedding unit, used to transfer secret data by changing the Z coordinate value of the sampling vertex and the red component value r i Green component value g i and the blue component value b i The target 3D point cloud model is embedded in a certain way to obtain a steganalytic 3D point cloud model.
[0057] An electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements either the three-dimensional information hiding method based on point cloud projection sampling or the three-dimensional information extraction method based on point cloud projection sampling described above.
[0058] A non-transitory computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the three-dimensional information hiding method based on point cloud projection sampling or the three-dimensional information extraction method based on point cloud projection sampling as described above.
[0059] Beneficial effects:
[0060] The present invention provides a three-dimensional information hiding method and apparatus based on point cloud projection sampling. To ensure that the embedding of secret information does not affect the synchronization of sampling vertices, sampling vertices are determined by point cloud projection, and secret information is embedded into the Z-coordinate value and color component value of the sampling vertices. On the one hand, determining sampling vertices by point cloud projection ensures the synchronization of sampling vertices, thereby making secret data extraction more stable; on the other hand, embedding secret data simultaneously into the Z-coordinate value and three color component values of the sampling vertices increases the capacity of the embedded secret information. Attached Figure Description
[0061] Figure 1 A schematic diagram illustrating the principle of the 3D information hiding method based on point cloud projection sampling provided by this invention;
[0062] Figure 2(a) shows the projection of the original point set onto the vertical XOY plane;
[0063] Figure 2(b) is a normalized projection of Figure 2(a);
[0064] Figure 2(c) is a point set diagram after unfolding Figure 2(b) according to the projection plane;
[0065] Figure 3(a) shows the projection of 15 vertices onto the XOY plane;
[0066] Figure 3(b) shows the vertex index positions after projection sampling of 15 vertices;
[0067] Figure 4(a) shows a 3D point cloud model of a rabbit (Bunny);
[0068] Figure 4(b) shows a 3D point cloud model of a deer.
[0069] Figure 4(c) shows the 3D point cloud model of the cat.
[0070] Figure 4(d) shows a 3D point cloud model of a fish.
[0071] Figure 4(e) shows a 3D point cloud model of a 3D face;
[0072] Figure 5 These are PSNR curves for different embedding ratios;
[0073] Figure 6 The correlation coefficient curves for different carriers under attacks with different noise ratios are shown.
[0074] Figure 7 Secret data extracted under noise attacks of varying proportions;
[0075] Figure 8 Secret data extracted under different proportion shearing attacks;
[0076] Figure 9 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0077] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention are described clearly and completely below. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0078] There are currently two main types of 3D information hiding algorithms with vertex synchronization: those based on mesh sorting and those based on minimum Euclidean distance between vertices. The former is overly complex to implement and unsuitable for point cloud models; the latter, while simple to implement, suffers from unstable vertex synchronization. This is because these methods embed secret data by moving vertex positions, and embedding secret data can alter the original synchronized vertex order, a phenomenon highly probable when vertices are densely packed. Vertices in 3D point cloud models contain both positional and color information; existing methods only utilize positional information, failing to fully leverage the color information, thus limiting the embedding capacity. To address these two issues, this invention proposes a high-capacity synchronized 3D information hiding algorithm applicable to all 3D point cloud models.
[0079] Figure 1 The flowchart of the 3D information hiding method based on point cloud projection sampling provided by the present invention is as follows: Figure 1 As shown, the method includes:
[0080] Step 101: Obtain the target 3D point cloud model.
[0081] Specifically, the target 3D point cloud model is a 3D point cloud model into which secret information is to be embedded.
[0082] Step 102: Perform point cloud projection sampling on the target 3D point cloud model to obtain the sampled vertices of the target 3D point cloud model. The sampled vertices include: I_List, Z_List, R_List, G_List, and B_List; I_List is the index set of the sampled vertices, Z_List is the set of Z coordinate values of the sampled vertices, and R_List, G_List, and B_List correspond to the red component values r of the sampled vertices, respectively. i The set of green components g i The set and the blue component value b i A set of.
[0083] Specifically, a 3D point cloud model can be represented as a point cloud, a polygonal mesh model, etc. A point cloud model is a collection of massive points on the surface of a 3D object; each point typically includes spatial location and color information. A mesh model, in addition to point information, adds the connections between points, forming a mesh through these connections. Currently, mainstream 3D file formats include PLY, OBJ, OFF, and VRML. Table 1 shows the PLY file format for point cloud models. Here, X, Y, and Z represent the coordinates of the vertices on the three axes in space, with floating-point numbers; R, G, and B represent the three color components, with uint8 numerical values.
[0084] Table 1. Point Cloud Model PLY File Format
[0085]
[0086]
[0087] The following section details the process of obtaining sampled vertices from a target 3D point cloud model through point cloud projection sampling:
[0088] To ensure that the vertices of the 3D model are read according to rules and that a unique vertex order is obtained, this invention employs a point cloud projection sampling method to acquire synchronized vertices. Assume the vertex set of the 3D point cloud carrier model M is v. i =(x i ,y i ,z i ) T Let i = 1, 2, 3, ..., n. First, set a suitable projection plane size, normalize the coordinates, and then expand them. Next, project all vertices onto the XOY plane, read the appropriate vertices according to row and column rules, and store them as a one-dimensional array. The specific steps are as follows:
[0089] 1) After normalization, expand the traversal point set v i Find the minimum and maximum values of x and y axes. min ,x max ,y min ,y max Then, according to formula (1), x i and y i Normalization and expansion are performed, where L and S are the resolution size (length and width) of the projection surface.
[0090]
[0091] Assume point set v i Four points are projected perpendicularly onto the XOY plane, and their positions on the grid are shown in Figure 2(a). These points are first normalized, and their vertex positions are shown in Figure 2(b). Then, the X-axis coordinates of these four points are multiplied by a factor of L, and the Y-axis coordinates are multiplied by a factor of S. Their unfolded positions on the projection plane are shown in Figure 2(c).
[0092] 2) Projection sampling
[0093] The point set after normalization expansion The vertical projection is onto an XOY plane of size L×S. Figures 3(a) and 3(b) are schematic diagrams of the vertex projection sampling process for example 15 vertices. Figure 3(a) shows the projection of the vertices onto the XOY plane, and Figure 3(b) shows the vertex index position diagram after projection sampling. Figure 3(a) , 3(b)As shown, a grid cell retains at most one point. When multiple points fall into the same grid cell, the point with the smallest X-axis coordinate is selected. If there are still multiple points, the point with the smallest Y-axis coordinate is selected. If multiple points still overlap, the point with the smallest Z-axis coordinate is selected, and its index i is recorded. The grid indices i are stored in a one-dimensional list I_List in left-to-right and top-to-bottom order, and the Z-axis coordinate z corresponding to i is recorded. i and color r i g i b i The data are stored in one-dimensional lists Z_List, R_List, G_List, and B_List respectively. Mesh grids without vertices are skipped. The figure shows the result of a 3D model with 15 vertices projected vertically onto a 2D plane, with the corresponding I_List being {1,7,9,8,10,6,11,13,2,14,5,4,3}.
[0094] The method provided by this invention determines sampling points through point cloud projection, which has two advantages: First, no matter how the index order of the vertices changes, the position of the points projected onto the XOY plane does not change, and the order of the vertices stored in the generated I_List is unique, so it can resist reordering attacks; Second, the projection position is determined by the X and Y coordinates of the points to obtain synchronized vertices. As long as the embedding process does not change the X and Y coordinate values, it will not affect the synchronization of the sampled vertices.
[0095] Step 103: By changing the Z coordinate value and color component value of the sampled vertex, the secret information is embedded into the target 3D point cloud model to obtain the steganalytic 3D point cloud model.
[0096] The 3D information hiding method provided by this invention is based on point cloud projection sampling. It determines sampling vertices through point cloud projection and simultaneously embeds secret information into the Z-coordinate and color values of the sampling vertices. On one hand, determining sampling vertices through point cloud projection ensures the synchronization of the sampling vertices, thus making the extraction of secret information more stable. On the other hand, simultaneously embedding the secret data into the Z-coordinate and color values of the sampling vertices increases the capacity of the embedded secret information.
[0097] The method provided by this invention consists of two parts: secret data embedding and secret data extraction. Before embedding and extraction, point cloud projection sampling must be performed to obtain the order of synchronized vertices. Then, the secret data is embedded into the coordinate values of the projected sampled vertices. Finally, this invention proposes to simultaneously embed some secret data into the three color components of the vertices.
[0098] To increase the embedding capacity, this invention employs a spatial domain approach, embedding secret data by simultaneously changing the Z-axis coordinates and color component values of the vertices. Regardless of whether the carrier of the secret information is text, audio, or an image, the carrier file containing the secret information must first be converted to binary to obtain a binary secret data sequence. The specific embedding process is as follows:
[0099] Step 1: Read the point set V = {v} of the carrier model M i =(x i ,y i ,z i ) T ,i=1,2,...n}, where n is the total number of vertices in the 3D point cloud model.
[0100] Step 2: Generate a binary secret data sequence S = {S1, S2, S3, ..., S...} from the secret data file, grouped into 5-bit sets. m}. Where m is the number of subsequences after the secret data file is converted to binary and divided into groups of 5 bits, m is taken according to formula (2), where This is the floor function operator.
[0101]
[0102] Any subsequence S j (j=1,2,…,m) are all composed of 5 binary digits, each of which can be represented by formula (3).
[0103] s j ={s j,1 ,s j,2 ,s j,3 ,s j,4 ,s j,5} (3)
[0104] Since it's an up-rounding operation, the last subsequence S... m If there are fewer than 5 characters in the sequence, the first few characters in the subsequence S1 will be used to fill the remaining characters in order.
[0105] Step 3: Using the point cloud projection sampling method, select appropriate projection plane resolution parameters L and S (i.e., the length and width of the projection plane), and project the point set v. i The samples are then projected vertically onto the XOY plane. This yields the corresponding index values, Z-coordinate values, and color component value sets for each sample point: I_List, Z_List, R_List, G_List, and B_List.
[0106] Step 4: Calculate the coordinates of the vertex z in Z_List according to formulas (4) and (5). i The 5th decimal place d i,5 And the 6th digit di,6 ,in For floor operations, z i ∈Z_List.
[0107]
[0108]
[0109] The precision of vertex coordinates in a 3D model can vary depending on the computer or 3D software used. To standardize vertex precision, the number of decimal places must be specified. Since retaining six decimal places is sufficient to recover all the details of the vertex coordinates in a 3D model, this invention standardizes the vertex coordinate precision to the sixth decimal place, while embedding the secret data into the last two decimal places, namely the 5th and 6th decimal places. Formulas (4) and (5) above are precisely the 5th and 6th decimal places of the obtained vertex Z-coordinate values.
[0110] Step 5: According to formulas (6) and (7), respectively, in z i Secret data s is embedded in the 5th and 6th decimal places. i,1 and s i,2 .
[0111]
[0112]
[0113] In the formula, mod() is the modulo operation, d i,j With d i,j e Correspondingly, it represents the vertex coordinate value z. i The j-th decimal place (j=5,6) is the value before and after the embedded secret data, where 1≤i≤m. Formulas (6) and (7) are based on whether the secret data is 0 or 1, and whether the value to be embedded is odd or even.
[0114] Step 6: In z i The last three bits of the i-th group of secret data are embedded in the corresponding red, green, and blue color component values. As shown in formula (8), s... i,3 s i,4 and s i,5 Replace color component r i g i and b i The least significant bit (LSB).
[0115]
[0116] LSB() represents the operation of finding the least significant bit.
[0117] Step 7: After embedding, combine the Z coordinate values and color component values of the embedded secret data through I_List and map them back to the carrier model to obtain the steganalytic model M′ after changing the Z coordinate values and color values of the sampled vertex.
[0118] The three-dimensional information hiding method provided by this invention greatly improves the embedding capacity by embedding secret data into the 5th and 6th decimal places of Z_List and the least significant digits of R_List, G_List and B_List respectively.
[0119] The following is a detailed explanation of the process for extracting secret information. The extraction of secret data is the inverse process of embedding, as detailed below:
[0120] Step 1: Obtain the point set (v) of the steganography model M′ i ′=(x i ′,y i ′,z i ′) T (i = 1, 2, ..., n).
[0121] Step 2: Apply point cloud projection sampling to the point set v i 'Project vertically onto the XOY plane to obtain the sampled vertices I_List′, Z_List′, R_List′, G_List′, and B_List′.
[0122] Step 3: For Z_List′, take the 5th and 6th decimal places, which is d. i,5 ',d i,6 Extract secret data according to formulas (9) and (10).
[0123]
[0124]
[0125] Step 4: For R_List′, G_List′, and B_List′, take their least significant bits and extract them according to formula (11). Thus, the i-th subsequence S of the secret data is obtained. i ′={s i,1 ′,s i,2 ′,s i,3 ′,s i,4 ′,s i,5 Extraction complete.
[0126]
[0127] Step 5: Let i = i + 1, and repeat steps 3 and 4 until i = m. Combine the subsequences to recover the complete secret data sequence S′ = {S1′, S2′, S3′, ..., S...} m Then convert it into the original secret data carrier file format.
[0128] Experimental results verify:
[0129] The experiments of this invention were conducted using MATLAB version 64-bit R2017a. Bunny, Deer, Cat, Fish, and 3DFace were used as target 3D point cloud models. Figure 4(a) shows the 3D point cloud model of a rabbit; Figure 4(b) shows the 3D point cloud model of a deer; Figure 4(c) shows the 3D point cloud model of a cat; Figure 4(d) shows the 3D point cloud model of a fish; and Figure 4(e) shows the 3D face model. (See Figures 4(a), 4(b), 4(c), 4(d), and 4(e)).
[0130] Embedded capacity
[0131] The method provided by this invention is an adjustable-capacity embedding method. It allows adjustment of the projection surface size to control the number of sampling vertices. Each sampling vertex can embed 5 bits of information, thereby adjusting the capacity. During projection sampling, the aspect ratio of the projection surface can be reasonably selected based on the size of the target 3D point cloud model, and the size of the projection surface can be selected based on the length of the secret data, thus obtaining the optimal embedding strategy. To illustrate the relationship between capacity and the projection surface, projection sampling at different resolutions was performed on five point cloud models, as shown in Table 2. It can be seen that the larger the projection surface, the more capacity can be embedded. When the projection surface is infinitely large, the capacity is equal to or close to 5 times the number of vertices. Because this method uses vertical projection, there are cases where several projection points completely overlap, so the number of sampling points is no greater than the number of vertices.
[0132] Table 2 Capacity Tests for Different Projection Surfaces
[0133]
[0134] Imperceptibility
[0135] Imperceptibility is the most critical indicator of information hiding and is the standard for measuring the concealment of an algorithm. The smaller the distortion of the steganalysis model, the better the concealment. In order to measure the imperceptibility of the method of this invention, the experiment provided by this invention uses the index PSNR (Peak Signal to Noise Ratio) to measure color distortion, as shown in formula (12).
[0136]
[0137] Where n is the number of vertices in the 3D point cloud model. v represents the average coordinate value of the carrier model. i,x ,v i,y ,v i,z Let v' be the coordinate value of the carrier model. i,x g i,x ,v' i,y g i,y ,v' i,z g i,z These are the coordinate values of the steganography model. i and I′ i The brightness values of the carrier and the steganalysis model are respectively, I max Its maximum brightness value.
[0138] To objectively analyze the relationship between capacity and imperceptibility, five carrier models with different embedding capacities were tested. The PSNR results are as follows: Figure 5 As shown in the figure, the embedding ratio refers to the percentage of vertices with embedded secret data out of the total number of vertices. It can be seen that PSNR is negatively correlated with embedding capacity, indicating that the larger the embedding capacity, the worse the imperceptibility. When all five carrier models are at the maximum embedding capacity, the SNR is greater than 80dB, and the PSNR after all color components are embedded is greater than 51dB, indicating that this algorithm has good imperceptibility.
[0139] Calculation time
[0140] The method provided by this invention divides the entire process into three parts: the synchronization time for point cloud projection sampling, the information embedding time, and the extraction time. Since vertex synchronization is required before embedding and extraction, this time must be added to both the embedding and extraction times. Table 3 shows the time consumed for the five models at the maximum embedding capacity. The computer used in the experiment had an Intel(R) Core(TM) i5-8300H CPU@2.30GHz processor and 16GB of memory. As can be seen from Table 3, the time consumed is positively correlated with the embedding capacity; moreover, the vertex synchronization time is very short, less than 1 / 10 of the embedding time, indicating extremely high vertex synchronization efficiency.
[0141] Table 3 Time Tests for Different Models (Unit: seconds)
[0142]
[0143] Robustness: To verify the robustness of the algorithm, the correlation coefficient (coef) is used for objective evaluation, and its calculation method is shown in formula (13).
[0144]
[0145] Where W represents the original secret data, and w′ represents the extracted secret data. Let w be the mean of w. Let w' be the mean. The larger the correlation value, the greater the similarity between the secret data.
[0146] 1) Translation Attack. Table 4 shows the translation and scaling attack results for the five models. As can be seen from the table, the correlation coefficients are generally 1 for translation of the X-axis coordinate alone (Y and Z coordinates unchanged), translation of the Y-axis coordinate alone (X and Z coordinates unchanged), or simultaneous translation of the X and Y axes (Z coordinate unchanged), except for the Fish model, which has a correlation coefficient of 0.9997. However, translation of the Z-axis coordinate causes the correlation coefficient to deviate from 1 and decrease significantly, meaning it cannot resist Z-axis translation attacks.
[0147] Since the present invention does not modify the coordinate values of the X and Y axes in the position embedding part, it can completely resist translation attacks in the X and Y axis directions.
[0148] 2) Scaling Attacks. Table 4 shows that the correlation coefficient remains close to 1 regardless of whether the X and Y axis coordinates are scaled up or down. However, when scaling the Z axis, the correlation coefficient drops sharply, deviating significantly from 1. Therefore, it can be said that the method of this invention has good resistance to scaling attacks in the X and Y axis directions, but is powerless against scaling attacks in the Z axis. The reason is the same as for translation attacks.
[0149] 3) Vertex reordering attack. This invention uses a projection sampling method to determine the unique order of vertices, ensuring vertex synchronization even with embedded watermarks, thus completely resisting vertex reordering attacks. Simulation results are completely consistent with the analysis.
[0150] 4) Additive Noise Attack. Since this invention only modifies the Z-axis coordinate value to embed secret data, the noise attack experiment mainly targets the vertex Z-coordinate values of the 3D point cloud model, using random additive noise with an intensity of [0, 0.01] for the attack experiment. Experimental results are shown below. Figure 6 The noise ratio is the proportion of the number of noisy vertices to the total number of vertices. Figure 7 The secret data (school emblem image) extracted under different proportion noise attacks in the Bunny carrier model is presented.
[0151] 5) Shearing Attack. To avoid disrupting the maximum boundary of the model projection and causing vertex synchronization errors, a shearing attack is performed parallel to the XOY plane. The shearing ratio is the proportion of the number of vertices cut out to the total number of vertices. The correlation coefficient results are as follows: Figure 8 . Figure 8 The image shows the secret data extracted from the Bunny vector at different cut ratios. It can be seen that when the cut ratio is less than 5%, the correlation coefficient is greater than 0.9, and the extracted image shows only minor changes. When the cut ratio is between 5% and 15%, the correlation coefficient is greater than 0.75. Therefore, it can be said that this algorithm has a certain degree of resistance to cut attacks with a cut ratio less than 15%.
[0152] Table 4. Correlation coefficients for translation and zoom attacks.
[0153]
[0154] Comparison with other existing methods
[0155] The method provided by this invention is compared with three-dimensional information hiding methods in recent years, as shown in Table 5. References [1] and [2] can only be applied to mesh models, which has limitations in use. Reference [3] and this invention can be applied to both mesh and point cloud. Reference [3] is a non-blind extraction method in the transform domain, which has the best anti-attack performance and can resist RST attacks, noise, shearing, and vertex reordering attacks. However, the cost it pays is a drastic reduction in embedding capacity, which is only 1.88%-2.81% of other algorithms. References [1], [2] and the algorithm of this invention are all blind extraction methods, but the former two only use vertices for embedding. The algorithm of this invention embeds vertices and colors at the same time, so the embedding capacity is much larger than the two. The method provided by this invention uses projection sampling to sort vertices, so it can resist reordering attacks. At the same time, it can completely resist translation attacks in the X and Y axes and resist scaling attacks in the X and Y axes. It can also resist additive random noise and shearing attacks that do not damage the projection surface at the same time.
[0156] Table 5 Comparison with existing methods
[0157]
[0158] This invention provides a 3D point cloud information hiding method based on projection sampling. This method obtains vertex order synchronously at both the embedding and extraction ends, making it applicable to various 3D point cloud models. This method is a blind extraction method that not only embeds data when vertex positions are changed in the traditional way, but also simultaneously changes the vertex color values, greatly improving the embedding capacity. This method is completely resistant to translation attacks and reordering attacks along the X and Y axes, and can effectively resist scaling attacks, additive noise attacks, and shearing attacks along the X and Y axes. This invention is applicable to privacy protection of 3D point cloud models, such as patient privacy protection in medical models; it can also be used for copyright and portrait rights protection and verification of face models in 3D face modeling.
[0159] The three-dimensional information hiding device based on point cloud projection sampling provided by the present invention will be described below. The three-dimensional information hiding device based on point cloud projection sampling described below can be referred to in correspondence with the three-dimensional information hiding method based on point cloud projection sampling described above.
[0160] A three-dimensional information hiding device based on point cloud projection sampling, comprising:
[0161] The acquisition unit is used to acquire the target 3D point cloud model;
[0162] The processing unit is further configured to perform point cloud projection sampling on the target 3D point cloud model to obtain the sampled vertices of the target 3D point cloud model; the sampled vertices include: I_List, Z_List, R_List, G_List, and B_List; I_List is the index set of the sampled vertices, Z_List is the set of Z coordinate values of the sampled vertices, and R_List, G_List, and B_List correspond to the color component values r of the sampled vertices, respectively. i set, g i set and b i gather;
[0163] Embedding units are used to transfer secret information through the Z-coordinate values and color component values of sampled vertices. i set, g i set and b i The target 3D point cloud model is embedded into the collection to obtain the steganalytic 3D point cloud model.
[0164] Figure 9 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 9 As shown, the electronic device may include a processor 910, a communication interface 920, a memory 930, and a communication bus 940, wherein the processor 910, the communication interface 920, and the memory 930 communicate with each other through the communication bus 940. The processor 910 can call logical instructions in the memory 930 to execute a 3D information hiding method based on point cloud projection sampling, the method including: acquiring a target 3D point cloud model;
[0165] Point cloud projection sampling is performed on the target 3D point cloud model to obtain the sampled vertices of the target 3D point cloud model; the sampled vertices include: I_List, Z_List, R_List, G_List, and B_List; I_List is the index set of the sampled vertices, Z_List is the set of Z coordinate values of the sampled vertices, and R_List, G_List, and B_List correspond to the color component values r of the sampled vertices, respectively. i set, g i set and b i gather;
[0166] The secret information is obtained by sampling the Z-coordinate value and color component value r of the vertex. i set, g i set and b i The target 3D point cloud model is embedded into the collection to obtain the steganalytic 3D point cloud model.
[0167] Furthermore, the logical instructions in the aforementioned memory 730 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, essentially, or the part that contributes to the prior art, or a part 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 to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0168] In another aspect, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the three-dimensional information hiding method based on point cloud projection sampling provided by the above methods, the method comprising: acquiring a target three-dimensional point cloud model;
[0169] Point cloud projection sampling is performed on the target 3D point cloud model to obtain the sampled vertices of the target 3D point cloud model; the sampled vertices include: I_List, Z_List, R_List, G_List, and B_List; I_List is the index set of the sampled vertices, Z_List is the set of Z coordinate values of the sampled vertices, and R_List, G_List, and B_List correspond to the color component values r of the sampled vertices, respectively. i set, g i set and b i gather;
[0170] The secret information is obtained by sampling the Z-coordinate value and color component value r of the vertex. i set, g i set and b i The target 3D point cloud model is embedded into the collection to obtain the steganalytic 3D point cloud model.
[0171] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A three-dimensional information hiding method based on point cloud projection sampling, characterized in that, include: Step 1: Obtain the target 3D point cloud model; Step 2: Perform point cloud projection sampling on the target 3D point cloud model to obtain the sampled vertices of the target 3D point cloud model; The sampling vertices include: , , , and The The set of indices of the sampled vertices, the The set of Z-coordinate values of the sampled vertices, the , and The red component values corresponding to the sampling vertices respectively r i The set of green component values g i The set and blue component values b i A set; Step 3: Transfer the secret data by changing the Z-coordinate value of the sampling vertex and the red component value. r i Green component value g i and blue component value b i The target 3D point cloud model is embedded in a certain way to obtain a stegated 3D point cloud model; Step three includes: Step 31: Read the point set of the carrier model M , =1,2,...n}, where n is the total number of vertices in the 3D point cloud model; where, The set of vertices of the target 3D point cloud model; Step 32: Generate binary secret data sequences in groups of 5 bits from the secret data file. Where m is the number of subsequences formed by converting the secret data file into binary and dividing it into groups of 5 bits, and m is taken according to formula (2), where This is the floor function operator; (2); any subsequence S j ( j=1,2,…,m Each of the digits consists of 5 binary digits, and each digit is represented according to formula (3); (3); Step 33: Using the point cloud projection sampling method, select appropriate projection surface resolution parameters and sample the point set. Vertically projected onto the XOY plane, at least m sampling vertices are obtained; thus, the set of index values, Z coordinate values, and color values corresponding to the sampling points is obtained: , , , and ; Step 34: Calculate according to formulas (4) and (5) The corresponding coordinate vertex The 5th decimal place and the 6th digit ,in For floor operations, ; (4); (5); Step 35: According to formulas (6) and (7) respectively... Secret data is embedded in the 5th and 6th decimal places. and ; (6); (7); in the formula It is the modulo operation. and Correspondingly, it represents the vertex coordinate value. Decimal point Bit( The values before and after embedding the secret data, where ; Step 36: In The last three bits of the i-th group of secret data are embedded in the corresponding red, green, and blue color value components, as shown in formula (8), respectively using , and Replace color components , and The least significant bit (LSB); According to formula (8), respectively use , and Replace color components , and The least significant bit; (8); in This indicates the operation for retrieving the least significant bit; Step 37: Through By combining the Z-coordinate values and color component values of the embedded secret data and mapping them back to the carrier model, we obtain the steganalytic model after modifying the Z-coordinate values and color values of the sampled vertices. .
2. The three-dimensional information hiding method based on point cloud projection sampling according to claim 1, characterized in that, Step two includes: Step 21: Obtain the vertex set of the target 3D point cloud model ; Step 22: Normalize and expand the vertex set to obtain the normalized expanded point set ( , ); Step 23: Expand the normalized point set ( , The vertex set after vertical projection is processed by removing overlapping vertices to obtain the sampled vertices of the target 3D point cloud model. , , , and .
3. The three-dimensional information hiding method based on point cloud projection sampling according to claim 2, characterized in that, Step 22 includes: Step 221: Traverse the set of vertices and determine the minimum value of each vertex on the X-axis. and maximum value and its minimum value on the Y-axis. and maximum value Then, according to formula (1) and Perform normalization; (1); Wherein, L is the length of the projection surface; S is the width of the projection surface; Step 222: Then the minimum value Maximum value The X-axis coordinate value is increased by a factor of L; the minimum value is increased by a factor of L. and maximum value The Y-axis coordinate values are multiplied by S, resulting in the normalized expanded point set. , ).
4. The three-dimensional information hiding method based on point cloud projection sampling according to claim 3, characterized in that, Step 23 includes: When multiple vertices fall into the same grid, select the vertex with the smallest X-axis coordinate value; If multiple vertices with the smallest X-axis coordinate values fall into the same grid, select the vertex with the smallest Y-axis coordinate value. If multiple vertices with the smallest X-axis coordinates and the smallest Y-axis coordinates fall into the same grid, select the vertex with the smallest Z-axis coordinate. Record the index of the finally selected vertex , and the index in the grid i Store the data as a one-dimensional list I_List in order from left to right and top to bottom. i Corresponding Z-axis coordinate value and color , , Store them in a one-dimensional list , , and In the process, the sampled vertices of the target 3D point cloud model are finally obtained. , , , and .
5. A method for extracting three-dimensional information based on point cloud projection sampling, characterized in that, This extraction method is applied to the 3D information hiding method based on point cloud projection sampling as described in claim 1, including: Step 1: Obtain the steganography model point set ( , = 1, 2, ..., n); Step 2: Sample the point set based on the point cloud projection. Vertical projection onto the XOY plane yields the sampled vertices. , , , , ; Step 3: For Take the 5th and 6th decimal places. The secret data is extracted according to the following formulas (9) and (10); (9); (10); Step Four: For , , Take the least significant bit of each of the following and extract it according to formula (11) to obtain the i-th subsequence of the secret data. ; (11); Step 5: Repeatedly extract subsequences of secret data ,until By combining the subsequences, the complete secret data sequence can be recovered. Then convert it into the original file format of the secret data carrier.
6. An apparatus for performing the three-dimensional information hiding method based on point cloud projection sampling as described in claim 1, characterized in that, include: The acquisition unit is used to acquire the target 3D point cloud model; The processing unit is used to perform point cloud projection sampling on the target 3D point cloud model to obtain the sampled vertices of the target 3D point cloud model; The sampling vertices include: , , , and The The set of indices of the sampled vertices, the The set of Z-coordinate values of the sampled vertices, the , and The red component values corresponding to the sampling vertices respectively r i The set of green component values g i The set and blue component values b i A set; Embedding unit, used to embed secret data by changing the Z coordinate value of the sampling vertex and the -red component value r i Green component value g i and blue component value b i The target 3D point cloud model is embedded in a certain way to obtain a steganalytic 3D point cloud model.
7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the three-dimensional information hiding method based on point cloud projection sampling as described in any one of claims 1 to 4 or the three-dimensional information extraction method based on point cloud projection sampling as described in claim 5.
8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the three-dimensional information hiding method based on point cloud projection sampling as described in any one of claims 1 to 4 or the three-dimensional information extraction method based on point cloud projection sampling as described in claim 5.