firejq / MeshWatermarking

A digital watermarking algorithm implementation and improvement for 3D meshes in the spectral domain based on OpenMesh and Eigen.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MeshWatermarking

This project implemented a digital watermarking algorithm for 3D Meshes based on spectral domain spectral coefficient perturbation. In addition, based on previous studies, the original algorithm is improved from watermark generation, watermark capacity and robustness against smooth attacks.

Experimental analysis shows that the improved algorithm can improve the watermark capacity and robustness against smooth attacks under the premise of maintaining good transparency.

1. Dependence

image

2. Watermarking Algorithm Implementation

2.1. Embedding

The Watermarking is embed in the spectral coefficient:

  1. Calculate the laplacian matrix of mesh model (n * n).

  2. Execute the eigenvalue decomposition for the laplacian matrix and normalize the eigenvectors.

  3. Project the coordinate of a vertex onto a normalized eigenvector so it will produce a mesh spectral coefficient of the vertex.

  4. Embed the watermarking data into the spectral coefficient. Now consider watermarking i-th spectral coefficients of one of the spectral axes s:

    image

    pi ∈ {−1, 1} is the pseudorandom number sequence (PRNS) generated from a known stego-key kw. And α(α > 0) is the modulation amplitude.

    Modulation processes for the other two spectral axes are identical.

  5. Inverse-transforming the set of spectral coefficients back into the domain of vertex coordinates by using the following formula produces a watermarked polygonal mesh.

    image

2.2. Extracting

image

2.3. Correlation Checking

image

3. Watermarking Algorithm Improvement

3.1. Watermarking sequence generation

Generate the watermarking sequence by thresholding a image with realistic meaning (like logo):

image

3.2. Embedding

Approximately, smaller eigenvalues correspond to lower spatial frequencies, and larger eigenvalues correspond to higher spatial frequencies. Eigenvectors and spectral coefficients of the smaller eigenvalues represent global shape features, while eigenvectors and spectral coefficients of the larger eigenvalues represent local or detail shape features.

When the mesh model encounters a smooth transformation attack, the surface details of the model will be greatly damaged, and the overall shape can remain basically unchanged. Therefore, the spectral coefficient of the high-frequency component corresponding to the surface detail will also be greatly affected. However, the spectral coefficients of the low-frequency components corresponding to the overall appearance are less interfered.

In the original algorithm, when the watermark is embedded, the spectral coefficients of each vertex are directly embedded in the order of the vertex index, so the watermark information will be interfered to a large extent when subjected to a smooth attack.

If the watermark embedding can be preferentially embedded from the low frequency part of the grid, then when the number of model vertices is large enough, it can show better resistance to the smooth transformation.

image

3.3. Extracting

Since the order has changed, this matrix is still not the original embedded watermark sequence. Therefore, similar to the logic at the time of embedding, it is necessary to construct a minimum heap based on the key value pairs of the vertex index and the eigenvalue according to the eigenvalue sequence of the Laplacian matrix of the original model, and take the current one from the minimum heap each time. The vertex index corresponding to the minimum eigenvalue is assigned, and the consecutive 3 bits corresponding to the index are assigned to the corresponding positions of the new watermark sequence matrix in the order of raster scanning. After the execution is completed, the watermark matrix is also converted into a one-dimensional watermark sequence in raster order.

image

4. Experiment

4.1. Mesh model

image

4.2. Transparency

image

4.3. Robustness

Taubin smoothing attacks:

image

image

5. Reference

Ohbuchi R, Takahashi S, Miyazawa T, et al. Watermarking 3D polygonal meshes in the mesh spectral domain[C] Proceedings of Graphics interface.

6. License

The MeshWatermarking is under the GPL License.

About

A digital watermarking algorithm implementation and improvement for 3D meshes in the spectral domain based on OpenMesh and Eigen.

License:GNU General Public License v3.0


Languages

Language:C++ 97.9%Language:MATLAB 2.1%