Keywords

1 Introduction

Digital watermarking is a technique used to add information to various media such as text, audio, image or video in order to protect either the copyright or the integrity of the digital content. In fact, copyright protection applications require a robust watermarking. This type of watermarking is employed to prove the proprietor of the digital content and to prohibit its illegal use. While fragile watermarking is used to protect the integrity of media from an unauthorized processing and to detect an eventual local or global manipulation. Most types of attacks are geometric attacks (geometric transformation, scaling, smoothing, noise addition) and topological attacks (mesh simplification, subdivision, cropping). According to the original model used or not in the extraction process, watermarking can be blind or non-blind.

Nowadays, three-dimensional meshes have been used more and more in many sectors. This brought awareness on the importance of their intellectual property protection and authentication problems to study the digital watermarking technique for 3D triangular mesh models.

Since ohbuchi et al. [1] proposed the first 3D mesh watermarking, many watermark algorithms are developed and tried to ameliorate the performance. Generally speaking, the 3D watermarking can be applied in spatial or spectral domain. Indeed, in spatial domain, the geometry or the topology of the mesh is generally changed. Whereas, the spectral watermarking is based on the modification of the transformed components (spectral and multiresolution).

This paper focuses on the robust and blind 3D mesh watermarking. Our main objective is to achieve an imperceptible and robust watermarking against different attacks. The proposed approach is based on two main steps: the mesh segmentation, and the statistical watermark embedding in each segmented region.

The rest of this article is constituted as follows: in Sect. 2, we will present some existing methods. Some fundamental concepts used in our method are introduced in Sect. 3. Section 4 describes the watermark embedding and extraction method in detail. Before concluding, experiments and obtained results are given in Sect. 5.

2 Related Works

As mentioned before, 3D watermark algorithm performed in the spatial and transform domains. A general survey of 3D watermarking is presented in [2].

Watermarking methods can also be a statistical or deterministic methods. As experiments prove that statistical method are more robust then the other classes in this paper, we focus on this type which extract signature by a statistical test.

Zafeiriou et al. [3] proposed the Principal Object Axis (POA) method whereby the signature is embedded by modifying the \(\rho \) component of the vertex. Then with a second method Sectional Principal Object Axis (SPOA), they have displaced the set of vertices having the coordinate \(\theta \) within a specific ranges.

Two blind and robust statistical methods are proposed by Cho et al. [4]. They changed the mean or the variance of the histogram distribution of the vertices norms depending on the watermark bit. Despite the algorithm is robust against the distortion attacks such as additive noise, smoothing and mesh simplification, it causes visible artifacts on the 3D models surface. Hu et al. [5] proposed a similar statistical method by using quadratic programming in order to minimize the mean square error between the original mesh and the watermarked mesh. This method is more robust to Gaussian noise, compared with Cho’s method. However, it has difficulties with large meshes. Alface et al. [6] embedded a watermark in a local neighborhood by applying locally Cho’s method [4].

Luo and Bors [7] modified the statistics of the distances then applied the Quadratic Selective vertex placement scheme in order to find the suitable position of some vertex. In other statistical method [8], they embedded signature into geodesic distance distribution by using the Fast Marching method (FMM). Bors and Luo [9] proposed a new statistical approach by minimizing the 3D object surface distortion. They used the Levenberg-Marquardt optimization method for spherical coordinates of vertices.

Nakazawa et al. [10] embedded statistically the watermark to some regions after segmentation of mesh.

3 Preliminaries

In this section, we introduce some fundamental concepts used in our method. We start with a brief description of the mesh structure. Then we introduce the concept of Laplace-Beltrami operator. We also present the Heat Kernel Diffusion process.

3.1 Structure of Representation

In general, a mesh is a set of polygons. It is defined by three elements: vertices, faces and edges. It contains two informations: a geometric information which defines essentially by the vertex coordinates and a connectivity information (topological) that reflects the adjacency relationship between vertex. The neighborhood of a vertex is the set of vertices that are directly connected to this vertex by an edge.

There are other mesh representations such as cloud of points and parametric surface. However, the triangular mesh is the most used in watermarking than the other structures.

3.2 Laplace-Beltrami Operator

In the case of a manifold triangular mesh M, the Laplace-Beltrami operator \(\varDelta \) has a non-trivial solution. The definition of the discrete Laplace-Beltrami by the Finite Element Method [11] is:

$$\begin{aligned} {-Qh}={\lambda }Dh \end{aligned}$$
(1)

Where h is the eigenfunction associated to the eigenvalue \(\lambda \).

D is called the lumped matrix defined by:

$$\begin{aligned} {D_{ii}}=\frac{1}{3}\sum _{t\in {N_t(i)}}|t| \end{aligned}$$
(2)

Where \(N_t(i)\) is the ensemble of set-facets from vertex \(v_i\)

And Q is the stiffness matrix is given as follows:

$$\begin{aligned} Q_{ij}=\left\{ \begin{array}{l l} Q_{i,j} = \frac{\cot (\beta _{i,j})+\cot (\beta '_{i,j})}{2}\\ Q_{i,i} =-\sum \nolimits _{j} Q_{i,j} \\ \end{array} \right. \end{aligned}$$
(3)

Where the two angles \(\beta _{i,j}\) and \(\beta '_{i,j}\) appearing in this formula are the opposite angles to the edge \(v_i v_j\) .

3.3 The Heat Kernel

The heat equation describes the distribution of heat in a given region over time. In an unstable condition, the heat diffusion process represents the progress of a function onto a surface. It is patterned by the method Heat Kernel HK. \(K_t(x, y)\) is presented as the probability that the point y is achieved from the point x at time t. One way to solve the equation of the HK is to use the basis of eigenfunctions correspond to different eigenvalues of Laplace-Beltrami operator. The heat kernel has the following spectral decomposition:

$$\begin{aligned} K_{t}(x, y)=\sum _{n=0}^{\infty }\exp {(-\lambda _{n}t)}h_{n}(x)h_{n}(y) \end{aligned}$$
(4)

The heat kernel \(K_t(x, y)\) is symmetric and invariant under isometric deformations due to the invariance of the Laplace-Beltrami operator.

3.4 Geodesic Distance

The geodesic distance is determined by the length of the shortest path joining two locations on the object mesh surface M. In the following, we present the concepts of calculating the geodesic distance on manifolds.

Let us consider a curve which joins two different points x and y located on the object surface. In fact, the geodesic distance \(T_o\)(x,y) between the endpoints x and y is the shortest length over all continuous paths determined by the geodesic curve \(\gamma \)(t)(t).

$$\begin{aligned} T_{o}(x,y)=\min _{\gamma (t)\in o}\int _{0}^{P}\sqrt{\gamma '(t)^{T}H(\gamma (t))\gamma '(t)}dt \end{aligned}$$
(5)

where \(\gamma \)(0)=x, \(\gamma \)(P)=y, \(\gamma \)’(t) represents the local derivative of the parametric curve, and H(.) is an intrinsic metric, considered as H(.)=1.

As the geodesic distance is an integrative function, it resists to smoothing, noise adding and resampling.

4 The Proposed Method

The proposed method embeds watermark statistically and locally into 3D triangular mesh model by modifying the component spherical \(\rho \) of vertex according to assigned watermark bit and distribution of \(\rho \). Figure 1 depicts the different stages of the embedding process.

Fig. 1.
figure 1

Watermark embedding process

Robust feature points are achieved using a salient point detector. Then, the 3D model is divided into region. In the last stage, the watermark is embedded into each regions. Here, we employed the embedding technique of Cho et al. [4]. The extraction is performed without any need to the original model.

The algorithm for watermark embedding and extraction is described in detail in the following subsection.

4.1 Feature Point Extraction

In order to extract a robust source location from the mesh model, we used the salient point detector proposed by Haj-Mohamed and Belaid [12].

Salient points must have a distinct locality, and must be stable at all cases of a model. In addition, those points are not altered by scaling, rotation, additive noise, articulation, and deformation. In this context, Haj-Mohamed and Belaid [12] presented an unsupervised and automatic 3D salient point detector founded on Auto Diffusion Function ADF introduced by Gbal et al. [13].

This scalar function is defined as a linear sequence of the Laplace-Beltrami Operator eigenfunctions. To supervise the number and the capacity of the extracted features, just we varied the parameter t.

$$\begin{aligned} ADF_{\frac{t}{\lambda _2}}= & {} K(x,x) \nonumber \\= & {} \sum \nolimits _{i}\exp {(-t\frac{\lambda _t}{\lambda _2})} h_{i}^{2}(x) \end{aligned}$$
(6)
Fig. 2.
figure 2

Example of detected salient points.

The important advantage of the ADF is that the local extrema prove to be natural interest points. Figure 2 shows the feature points in some mesh extracted using the ADF function.

It has been also showed that the extracted features have important properties: isometry or non-rigid deformations and micro holes invariant, insensitive to Gaussian noise and Laplacian smooth [12].

In this paper, we propose a novel method consists on embedding watermark locally. The key idea is to benefit from the references locations extracted to segment the object surface into geodesic Voronoi cells. So for that, we segmented the mesh in local region using the fast marching algorithm FMM which is described in the following subsection.

4.2 Geodesic Voronoi Strip Genaration

We use the fast marching algorithm to compute the geodesic distance from a set of input feature points extracted in the previous step, and then to segment the surface into geodesic Voronoi cells. In this case the Geodesic Voronoi Diagram is discriped in the following.

Let P = \(p_1\), \(p_2\),..., \(p_m\) be an ensemble of points on mesh M. The Voronoi cell VC(\(p_i\)) of the site pi includes all points whose distance to \(p_i\) is less than or equal to their distance to any other site [14], i.e., VC(\(p_i\)) = \(\{\)q \(\in \) M|d(\(p_i\), q)\(\le \)d(\(p_j\) , q), for all i \(\ne \) j\(\}\). So, the geodesic Voronoi diagram (GVD) of P is the union of all Voronoi cells, GVD(P) = \(\{\)VC(\(p_1\)), VC(\(p_2\)), ... , VC(\(p_m\))\(\}\).

The Voronoi segmentation is shown using colors on some 3D models in Fig. 3, where the salient points is indicated by a small red and the regions extracted are colored.

Fig. 3.
figure 3

Examples of Voronoi segmentation on 3D models.

4.3 Watermark Embedding Process

In the following, we consider the same notations and terminologies as in [4] for the raison that our research work follows theirs. Here, we employed the embedding technique of Cho et al. [4]. In this method, watermark is embedded at the cadence of one bit per bin in each region. Here, the mean value of each set is modified depending on the assigned signature bit. In fact, by using a histogram mapping function, we modify norms of the vertex in each bin. Afterwards, we will detail the embedding process where is summarized in Fig. 4 which depicts the different stages.

Fig. 4.
figure 4

Watermark embedding process for Cho’s method.

Let us assume that we want to insert N bits of a watermark w into the vertices \(v_i\) of 3D mesh. Firstly, the Cartesian coordinates of a given point \(v_i\) (\(x_i\), \(y_i\), \(z_i\)) in the mesh are converted into spherical coordinates (\(\rho _i\), \(\theta _i\), \(\varphi _i\)). Secondly, the vertex norms are distributed over N distinct bins based on their magnitude. As we used one bin to insert just one bit watermark, we get a total of N embedding bits per selected region in the mesh. Then, we get the vertex norms \(\rho _{max}\) and \(\rho _{min}\) by:

$$\begin{aligned} \rho _{n,min}=\rho _{min}+\frac{\rho _{max}-\rho _{min}}{N}.n \end{aligned}$$
(7)
$$\begin{aligned} \rho _{n,max}=\rho _{min}+\frac{\rho _{max}-\rho _{min}}{N}.(n+1) \end{aligned}$$
(8)

in which the bin \(B_{n}\) expressed as:

$$\begin{aligned} B_{n}=\{\rho _{n,j}|\rho _{n,min}<\rho _{n,j}< \rho _{n,max}\} \end{aligned}$$
(9)

where the \(\rho _{n,min}\) and \(\rho _{n,max}\) are lower and upper boundaries of the nth bin, and \(\rho _{n,j}\) is the jth vertex norm in the nth bin.

The third step is to give the normalization of the vertex norms of the bin \(B_{n}\) to the interval [0, 1] as:

$$\begin{aligned} \tilde{\rho }_{n,j}=\frac{\rho _{n,j}-\rho _{n,min}}{\rho _{n,max}-\rho _{n,min}} \end{aligned}$$
(10)

where \(\tilde{\rho }_{n,j}\) is the normalized jth vertex norm in the nth bin.

The watermarking realised here by perturbing \(\tilde{\rho }_{n,j}\), to make the mean value of each bin via transforming vertex norms shifted via the histogram mapping function. So that the mean of the histogram is moved to a specific area according to the watermarking bit to be embedded as follows:

$$\begin{aligned} \tilde{\mu }_{n}=\left\{ \begin{array}{lll} \frac{1}{2}+ \alpha &{} {~if} &{} w_n=+1\\ \frac{1}{2}- \alpha &{} {~if} &{} w_n=0 \\ \end{array} \right. \end{aligned}$$
(11)

whith the strength parameters \(\alpha \) to control the robustness and the transparency of watermark. The iterative algorithm that embeds a watermark bit into a bin is described in Fig. 4.

The final step of watermark embedding process consist on converting the spherical coordinates to Cartesian coordinates. These six steps of embedding will be repeated for all regions selected.

4.4 Watermark Extraction Process

The watermark extraction procedure is similar to the watermark embedding process and it is blind. The source location should be firstly detected using the salient point detector. Then, the watermarked mesh model is segmented in geodesic Voronoi cells as described in previous subsections. Afterwards, we employed the watermarking technique of Cho et al. [4]. In fact, the watermarked mesh object is converted to spherical coordinates. Here, the vertex norms in each region are classified into bins and mapped onto the normalized range between 0 and 1, and then, the mean of each bin is calculated and compared with 1 / 2. The bit of the nth bin is obtained according to:

$$\begin{aligned} w'_{n}=\left\{ \begin{array}{ll} +1 &{}\,\,\, if \tilde{\mu }">\frac{1}{2}\\ 0 &{}\,\,\, if \tilde{\mu }"<\frac{1}{2} \end{array} \right. \end{aligned}$$
(12)

5 Experimental Results

The proposed statistical watermarking method was applied on mesh objects used usually in 3D watermarking application. In the following we provide the results of our method on the mesh objects: Bunny, Cow, Elephant, Fandisk and David. These original models used are displayed in Fig. 5, and their mesh characteristics are presented in Table 1.

Fig. 5.
figure 5

3D objects used in the experiments.

Table 1. Characteristics of the mesh models

5.1 Mesh Distortion

The good visual imperceptibility of the watermark is one of property of a watermarking method. For mesh models, Haussdorff distance HD has been adopted to measure the quality distortion resulted by the watermarking. Based on Metro [15], we measure the HD between the original mesh model and marked one with the following formula:

$$\begin{aligned} HD=max\{h(M_1), h(M_2)\} \end{aligned}$$
(13)

where \(M_1\)= (V, V’) and \(M_2\)= (V’, V), (V and V’ represent respectively the original mesh and watermarked mesh).

h(\(M_1\))= max{min(d(a,V’))}, a in V, h(\(M_2\))= max{min(d(b,V))}, b in V’.

Fig. 6.
figure 6

Marked 3D objects.

We evaluated the visual effect of the mesh alterations produced by watermarking. Figure 6 displays the visual effects of the proposed watermarking methods. No differences can be observed between the original and the marked object. Furthermore, the low result of the calculated HD proves the good invisibility. As can be observed from Table 2, We notice that the object surface distortion produced by the proposed watermarking method is lower than that introduced by Cho’s.

Table 2. Watermarked object distortion

5.2 Robustness

In the following, we evaluate the watermark robustness to various attacks. The robustness is measured by calculating the correlation between the original and the extracted signature.

$$\begin{aligned} corr= \frac{ \sum _{n=0}^{N-1}({w_n}-\bar{w})({w^{'}_n}-\bar{w'})}{\sqrt{\sum _{n=0}^{N-1}({w_n}-\bar{w})^2 \times \sum _{n=0}^{N-1}({w'_n}-\bar{w'})^2}} \end{aligned}$$
(14)

where \(\bar{w}\) is the average of the signature and the correlation corr in [\(-1\), 1].

To evaluate the robustness, different attacks are tested. Among these attacks, such as RST attacks (translation, scaling and rotation), Laplacian smoothing, additive noise, mesh quadratic metric simplification, and cropping, we can extract watermark. Figure 7 gives a comparison result between our approach and Cho’s watermarking algorithm [4]. Our method generally provides similar results of robustness as Cho et al. [4].

We note that, for every tested model, we extract the signature after attacks. Precisely in the case of cropping, although there were some region are removed, the watermark could be extracted from the other patches.

In addition, we compute the number of regions where we detect the watermark after different attacks. So, for every tested model, we extract the signature from many regions.

As can be observed from the curves in Fig. 7, our method provide better results for the smoothing attack and slightly better for the other attacks. Furthermore, our approach resist to cropping attack. Embedding the watermark in many regions across the 3D mesh model facilitate the detection after a cropping.

Fig. 7.
figure 7

Plots showing the robustness against attacks. (a) Bunny. (b) Cow. (c) Elephant. (d) David. (e) Fandisk.

6 Conclusion

In this paper, we presented a novel statistical 3D watermarking method. In fact, we define the salient points used in segmentation of 3D models into geodesic Voronoi region. A statistical method is used to embed signature by changing the mean of distributions of vertex norms. We have improved the robustness of our blind watermarking scheme to cropping attacks.