230 likes | 402 Views
Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain. Ryutarou Ohbuchi , Shigeo Takahashi , Takahiko Miyazawa , Akio Mukaiyama. The Spectral Domain Watermarking Algorithm. The watermark is added in a mesh spectral domain.
E N D
Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain Ryutarou Ohbuchi , Shigeo Takahashi , Takahiko Miyazawa , Akio Mukaiyama
The Spectral Domain Watermarking Algorithm • The watermark is added in a mesh spectral domain. • Mesh spectral analysis is lossy compression of vertex coordinates of polygonal meshes. • Mesh spectral is computed from a Laplacian matrix. • Embeds information into the mesh shape by modifying its mesh spectral coefficients.
Define the Laplacian Matrix • Laplacian matrix, which is derived only from the connectivity of the mesh vertices. • There are several different definitions for the mesh Laplacian matrix . • We employed a definition by Bollabás. Bollabás calls it a combinatorial Laplacian or Kirchhoff matrix.
Define the Laplacian Matrix • The Kirchhoff matrix K is defined by the following formula; K = D - A D is a diagonal matrix whose diagonal element Dii=diis a degree (or valence) of the vertex i, while A is an adjacency matrix of the polygonal mesh whose elements aijare defined as below;
Define the Laplacian Matrix • Karni and Gotsman used another definition of mesh Laplacian L = I - HA for their mesh compression. • In their formula, H is a diagonal matrix whose diagonal element Hii = 1/diis the reciprocal of the degree of the vertex i and A is the djacency matrix as the Kirchhoff matrix above.
Spectral Analysis of Polygonal Meshes • Laplacian matrix decomposition produces a sequence of eigenvalues and a corresponding sequence of eigenvectors of the matrix. • Projecting the coordinate of a vertex onto a normalized eigenvector produces a mesh spectral coefficient of the vertex.
Spectral Analysis of Polygonal Meshes • A polygonal mesh M having n vertices produces a Kirchhoff matrix K of size n×n , whose eigenvalue decomposition produces n eigenvalues λi and n n-dimensional eigenvectors Wi (1≤ i ≤ n).
Spectral Analysis of Polygonal Meshes • Projecting each component of the vertex coordinate vi = ( xi ,yi ,zi ) (1≤i≤n) separately onto the i-th normalized eigenvectors ei = wi / ||wi|| (1≤i≤n) produces n mesh spectral coefficient vectors ri = ( rs,i ,rt,i ,ru,i ) (1≤i≤n).
Spectral Analysis of Polygonal Meshes • The subscripts s, t, and u denote orthogonal coordinate axes in the mesh-spectral domain corresponding to the spatial axes x, y, and z. • To invert the transformation, multiplying eiwith riand summing over i recovers original vertex coordinates.
Embedding Watermark • The watermarking algorithm embeds Watermark by modifying mesh spectral coefficients derived by using the Kirchhoff matrix. • For each spectral axis s, t, and u, a mesh spectra is an ordered set of numbers, that are, spectral coefficients.
Embedding Watermark • In the algorithm, the data to be embedded is an m-dimensional bit vector a = (a1,a2,…,am) , • Each bit aj is duplicated by chip rate c to produce a watermark symbol vector b = (b1,b2,…,bmc) , bi = aj , j.c ≤ i < (j+1).c
Embedding Watermark • The bit vector bi is converted to another vector by the following simple mapping;
Embedding Watermark • Let rs,ibe the i-th spectral coefficient prior to watermarking corresponding to the spectral axis s , pi∈{1,-1} be the pseudo random number sequence (PRNS) generated from a known stego-key wk, and α (α> 0) be the modulation amplitude. Watermarked i-th spectral coefficient , is computed by the following formula;
Extracting Watermark • The extraction starts with realignment of the cover-mesh M and the stego-mesh Mˆ. • To realign meshes, for each mesh, a coarse approximation of its shape is reconstructed from the first (lowest-frequency) 5 spectral coefficients.
Extracting Watermark • A comparison of the two sets of eigenvectors realigns the meshes M and Mˆ. • Each of the realigned meshes is applied with spectral decomposition to produce spectral coefficients rs,ifor M and for Mˆ .
Extracting Watermark • Summing the correlation sums over all three of the spectral axes produces the overall correlation sum j where q j takes one of the two values {αc , -αc } .
Extracting Watermark • Since α and c are always positive, simply testing for the signs of qjrecovers the original message bit sequence aj , aj = sign(qj)
Mesh Partitioning • Eigenvalue decomposition performs well for the meshes of size up to a few hundred vertices. • Our approach to watermarking a larger mesh (e.g., of size 10^4 ~ 10^7 vertices) is to partition the mesh into smaller sub-meshes of manageable size (e.g., about 500 vertices) so that watermark embedding and extraction is performed individually within each reasonably sized sub-mesh.