23
Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain Ryutarou Ohbuchi , Shigeo Takahashi , Takahiko Miyazawa , Akio Mukaiyama

Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

  • Upload
    drago

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Ryutarou Ohbuchi , Shigeo Takahashi , Takahiko Miyazawa , Akio Mukaiyama

Page 2: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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.

Page 3: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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.

Page 4: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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=di is a degree (or valence) of the vertex i, while A is an adjacency matrix of the polygonal mesh whose elements aij are defined as below;

adjacent are j and i verticesif , 1otherwise , 0{ija

Page 5: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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/di is the reciprocal of the degree of the vertex i and A is the djacency matrix as the Kirchhoff matrix above.

Page 6: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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.

Page 7: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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).

Page 8: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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).

Page 9: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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 ei with ri and summing over i recovers original vertex coordinates.

nnuuuT

n

nnlllT

n

nnsssT

n

erererzzz

erereryyy

erererxxx

,22,11,21

,22,11,21

,22,11,21

...),...,,(

...),...,,(

...),...,,(

Page 10: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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.

Page 11: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

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

}1,0{ja

}1,0{ib

Page 12: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Embedding Watermark

• The bit vector bi is converted to another vector

by the following simple mapping;

}1,1{),...,,( '''2

'1

' i

bbbbb mc

0b , 11b , 1

' i

i{

ififib

Page 13: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Embedding Watermark

• Let rs,i be 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;

iiisis pbrr ',,

^

isr ,

^

Page 14: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Extracting WatermarkExtracting 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.

Page 15: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Extracting WatermarkExtracting 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,i for M and for Mˆ .

isr ,

^

Page 16: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Extracting WatermarkExtracting Watermark

• Summing the correlation sums over all three of the spectral axes produces the overall correlation sum j

'

),,(

1)1(

.

2'

),,(,,

^1)1(

. 3

1)(

3

1

ij

utsl

cj

cjiii

utsliilil

cj

cjij

bcq

pbprrq

where q j takes one of the two values {αc , -αc } .

Page 17: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Extracting WatermarkExtracting Watermark

• Since α and c are always positive, simply testing for the signs of qj recovers the original message bit sequence aj ,

aj = sign(qj)

Page 18: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Mesh PartitioningMesh 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.

Page 19: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Experiments and ResultsExperiments and Results

Page 20: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Experiments and ResultsExperiments and Results

Page 21: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Experiments and ResultsExperiments and Results

Page 22: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Experiments and ResultsExperiments and Results

Page 23: Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

Experiments and ResultsExperiments and Results