A digital hologram-based encryption and compression method for 3D models

This study proposes a novel method to compress and decompress the 3D models for safe transmission and storage. The 3D models are first extracted to become 3D point clouds, which would be classified by the K-means algorithm. Then, these nearby 3D point clouds are converted into a computer-generated hologram (CGH) by calculating the point distribution on the hologram plane using the optical wavefront propagation method. The computer-generated hologram (CGH) contains the spatial coordinate information on point clouds, which can be decompressed using the convolutional neural network (CNN) method. The decompression accuracy of 3D point clouds is quantitatively assessed by normalized correlation coefficients (NCCs), reflecting the correlation between two points and influenced by the hologram resolution, the convolution kernel, and the diffraction distance. Numerical simulations have shown that the novel method can reconstruct a high-quality 3D point cloud with an accuracy of 0.1 mm.


Introduction
With the rapid development of 3D data acquisition equipment and technology, the location information on 3D objects and scenes can be collected and transmitted in real time [1][2][3][4]. Since discrete point clouds in 3D space contain depth information and can accurately reproduce real-world scenes, they can be used to record and reconstruct 3D scenes [5][6][7]. Those 3D point clouds can be used in visual displays such as city modeling [8,9] and mobile applications of interaction [10,11]. In particular, the point clouds consisting of a large number of 3D points can accurately represent 3D environments and enable more immersive visual experiences. It will give rise to many new multimedia applications, such as virtual reality and augmented reality [12].
However, the accurate reconstruction of point clouds is positively related to the total amount of data in the point clouds, so the reconstructed point cloud data that can meet the visual needs require huge storage space and transmission bandwidth [13]. It is important to develop a 3D point cloud compression (3PCC) algorithm with high secrecy, low complexity, and high decompression accuracy for real-time applications. In the last  [15] proposed a 3D lossy compression system based on plane extraction. These proposed methods mainly reduce the number of point clouds or improve the presentation of point clouds. With the current hardware conditions, it is difficult to store and transmit a large amount of point cloud data.
In this article, we propose a highly encrypted 3D point cloud compression and dimensionality reduction algorithm for 3D point cloud transmission and storage. Figure 1 shows an overview of the compression and decompression algorithm.

Methods
In a 3D coordinate system, the outer surface of a 3D object can be represented by point clouds, which are a series of data points defined by X, Y, and Z coordinates. The point cloud acquisition is from 3D scanners or directly from 3D applications. Figure 2 shows the two point clouds using each of the aforementioned two  Frontiers in Physics frontiersin.org methods. Figure 2A is generated by using a 3D scanner (FARO Focus3D X130), and Figure 2B is created by a 3D application. This study mainly focuses on the compression and encryption of point cloud positions and does not consider the color values of the point clouds. We first segmented the point cloud using an unsupervised clustering segmentation method (the K-means algorithm). It can divide the point cloud into k clusters to ensure that each point is located in a cluster. The clustering of point clouds is the grouping of points by specific features. We initially needed to determine the number of clusters (k) and the centers of k clusters randomly. The simple Euclidean function, Minkowski function, and Cityblock function were applied to calculate the distance between each point and the cluster center. The point would be moved to the particular cluster to keep the shortest distance from the cluster center [16]. Figure 3 shows the flow chart and diagram of the K-means algorithm.
To achieve point cloud data encryption and compression, we calculated the point distribution on the hologram plane by the propagation of the optical wavefront method, which needs to be carried out in two steps: 1) the points in the point cloud can be assumed to be point sources, as shown in Figure 4, whose distribution in the plane in front of the Fourier lens needs to be calculated. 2) The Fourier lens phase data, which are optical transmissions between two parallel planes, also need to be added to the distribution of the final hologram plane [17][18][19]. The phase distribution is crucial in the reconstruction process of the 3D point cloud since the phase data contain the direction information.
In the propagation of the optical wavefront method, the phase distribution on the final hologram plane precisely records the realworld object. It can calculate and simulate the optical transmission process from the point source to the hologram plane [20,21]. The complex amplitude H(x, y) on the midplane of the point clouds can be calculated and simulated by the optical wavefront.
where k is the sparse point number of a point cloud after segmentation, A j is the wave amplitude, and in our work, A j = 1, and k 2π λ is the wave number in space. The distance r j  Frontiers in Physics frontiersin.org between the point (x j , y j , z j ) in the point cloud and the point (x, y, 0) in the midplane is given by The convolutional neural network (CNN) can be used to deal with the input fluctuations and obtain the invariance characteristics. It is commonly used in image data and is a variation of the MLP that evolved from the idea of biology. There is a complex distribution of cells in the visual cortex that are sensitive to external inputs, called the "receptive field." These cells are locally sensitive to the input image and are able to mine images for targets, functioning like a filter. Each filter is superimposed over the entire receptive field. The CNN can identify the local information on objects by enhancing the local connectivity patterns (LCPs) of nodes between adjacent layers.
Although the CNN has dominated many tasks in computer vision [22][23][24][25] and object detection [26][27][28], the application of the CNN in point cloud processing is still lacking. Most of the approaches are still based on the TIN framework, which leads to limited accuracy and processing speed.
In this work, we apply the CNN algorithm to recognize the hologram and reconstruct the point clouds. In our approach, we need the weight of each feature as a code to find the position of the point cloud. The data must first be preprocessed using the following techniques: data regularization and data degradation. It can increase the recognition rate because the non-zero mean of the training sample does not match the non-zero mean of the testing sample. Also, different image features can be obtained by using different convolution kernels. These convolution kernels are similar to different types of filters and are the core of the CNN. A pooling layer follows the convolutional layer to reduce the dimension. In general, the size of the original convolution output matrix is transformed to half of its original size. The pooling layer would increase the robustness of the system and turn the original detailed description into a coarse description (originally, the matrix size was 28 × 28, and now, it is 14 × 14, but the boundary would lose partial information). Two pooling  Frontiers in Physics frontiersin.org 04 operations (max pooling and mean pooling) would improve the variance of the extracted features. However, the error in feature extraction would come from two ways: 1) the estimate variance increasing caused by the limited size of the neighborhood. 2) estimated mean shifting caused by the convolutional parameter error. Specifically, mean pooling can reduce the first error and preserve the background information about the image. Max pooling can reduce the second error (the derivative does not affect the other points) and preserve texture information.
As shown in Figure 5, the histogram feature vector (HFV) needs to be extracted before rebuilding the point cloud from the hologram. The HFV consists of vertical projection and horizontal projection of the hologram. Then, convolutions and subsampling are performed to get a feature map of 8 × 8 pixels. The feature map is used to reconstruct the feature vector. Also, the computergenerated holograms can be extracted from the feature vectors and numbered to form a look-up table. When a point cloud hologram is decompressed, the CNN method identifies the encoding of holograms. With the encoding, we can find the unsampled hologram in the look-up table and calculate its spatial value. Figure 2B is the point cloud given as input to the preprocessing and K-means algorithms. The algorithm calculates the clustering of the point cloud using the Cityblock function. Figure 6 is the output for spatial segmentation by the K-means algorithm with k = 20.

Results
For the given point cloud, the cluster means m k is calculated as follows: The distance D(k) between the cluster and each point is calculated as follows: Iteratively compute the preceding two steps until the mean value convergence is attained.
Four original models are chosen as the compression objects, as shown in Figures 7A1-A4. The simulation of the models is as follows: 1) the models first generate four groups of point clouds by the sampling process, respectively, as shown in Figures 7B1-B4. 2) The K-means method is applied to simplify the data while preserving the data information since the point cloud of the 3D model has a huge amount of data. For example, the point cloud of the first model (a1) has 10,684 points, the second model (a2) has 1,177 points, the third model (a3) has 35,871 points, and the last model (a4) has 40,248 points. As shown in Figures 7C1-C4, the set of points could (b1-b4) be divided into k groups by the principle of the nearest distance. The k value of (c1), (c2), (c3), and (c4) is 174,  Figure 7. The point clouds are divided by the K-means method and k c1 = 174, k c2 = 84, k c3 = 171, and k c4 = 130. The k cluster centers are used as point sources of holograms (see Figures 7C1-C4). The hologram contains the location information on point clouds. The compression and decompression results of the models are shown in Figure 8. The holograms are generated from the point sources and by the propagation of the optical wavefront method, as shown in Figures 8A1-A4. Figures 8B1-B4 shows the decompression points by the CNN method, respectively. Simulation results (Figures 8C1-C4) show that the decompression point clouds have high decompression accuracy and low crosstalk with the number of point clouds increasing.

Discussion
The discrete point cloud is compressed using virtual light with a wavelength of 632.8 nm. The compression layer resolution is 256 × 256 pixels, and the compression distance is 24 cm. When compressing a single discrete point cloud in different positions   1, 0, 0) and analyzing the compressed data, we can find that the encoding is completely different, although the difference is only 0.1 mm (Figure 9). Therefore, the hologram has enough coding expression space to store the point cloud data, and the three-dimensional space information is converted into two-dimensional information. Fresnel diffraction is performed on the discrete point to transform voxels into pixels, which ensures that the original data and information are preserved in the case of dimensionality reduction.
In the proposed method, the hologram converted from the point clouds can record the space position through diffraction. When decompressing the hologram, the accuracy of point clouds is affected by the hologram resolution, the convolution kernel, and the diffraction distance. The accuracy of decompression point clouds can be quantitatively assessed by normalized correlation coefficients (NCCs). It reflects the correlation between two points and can be expressed as Eq. 5, where R 0 (i, j) expresses the feature vector of the point (0, 0, 0), R 1 (i, j) indicates the feature vector of the point (0.1, 0, 0), and (I, j) denotes an element in the feature vector. h and l represent the row and column numbers of the feature vector, respectively.
The NCCs of the hologram feature vector under different parameters are shown in Table 1. There are correlations in the holograms with 512 × 512 pixels, 256 × 256 pixels, and 128 × 128 pixels; the diffraction distance with 20 cm, 24 cm, and 28 cm; and the convolution kernel with 3 × 3 pixels, 6 × 6 pixels, and 9 × 9 pixels. The different correlation coefficients are in the range of 0.0272-0.5944, which show that different parameters have different correlation coefficients. The smaller correlation coefficient indicates that the spatial point cloud accuracy is higher. In particular, the hologram (512 × 512 pixels and z = 24 cm) and the convolution kernel (3 × 3) can extract point clouds with a spatial resolution of 0.1 mm.

Conclusion
In this study, a 3D point cloud compression and decompression method based on holograms and the CNN is proposed. The sparse 3D point clouds generated from the 3D model are transformed into a hologram, and the position of the point cloud can be extracted by the CNN method in the decompression process. The hologram can reduce the dimension of spatial data and realize the three-dimensional data recording. The accuracy of the decompression point clouds would be affected by the hologram resolution, the convolution kernel, and the diffraction distance. Under the conditions of the hologram with 512 × 512 pixels and z = 24 cm, the point cloud can be reconstructed with an accuracy of 0.1 mm. Simulation results and quantitative analysis based on the hologram and CNN method show that the proposed method can meet the demand for three-dimensional model transmission and storage.

Data availability statement
The original contributions presented in the study are included in the article/Supplementary Material; further inquiries can be directed to the corresponding author.

Author contributions
Conceptualization, YS and MZ; methodology, PN and CL; software, SZ; formal analysis, SB; investigation, JG. All authors have read and agreed to the published version of the manuscript.

Conflict of interest
The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.