A new digital watermarking scheme for 3D triangular mesh models

Report 1 Downloads 141 Views
A new digital watermarking scheme for 3D triangular mesh models

Y6927448 Sharad Kohli Y6927023 Abhishek Rajput

Watermark Embedding Algorithm

Processing on Mesh Model 

Read the given mesh model and obtain the vertex and faces

To get the neighbourhood of each vertex we compute α ring for each vertex 



We have used α=1

Feature Point Selection The most appropriate vertexes that can be chosen as feature points of a 3D mesh model are located at regions with abrupt changing. • 3 Steps: 1. Construct the neighbourhood of each vertex(already done) 2. Calculate normal direction of each vertex: •

Feature Point Selection

2

• •

• •

vector nvi denotes the normal direction of vi Ni is the total number of the neighbourhood vertices of vi Vm is the average vector of all the vertices to the center of the 3D mesh model

Feature Point Selection Obtain D(vi) as follows:

3





• •

Cos-1(nvi, nvj) is the angle between the normal directions of vi and vj . Vertices are sequenced according to the decreasiong value of D(vi), and the first Nf vertices are selected as the feature points which can be denoted as Vn (n = 1,2,3,4,....Nf ). Nf can be set initially as per the need.

Voronoi Patch Generation •







Each feature point is employed as the centroid of a Voronoi patch. The *Euclidean distance between each vertex and every feature point is measured. A vertex will belong to a Voronoi patch if it has the minimum distance with the Voronoi centroid. * Author has used Geodesic distance, for simplicity we have used Euclidean distance.

Feature Point Selection

Watermark Embedding Algorithm Square Reference Planes Original Mesh Model

Feature Point Selection

α

Original Range Images

Partition/Vor onoi Patches

DCT β Watermark

High Frequency Coeffecients

IDCT Watermark Mesh Model

Vertex Perturbing

Watermark Ranged Images

Range Images 

Square reference Plane is perpendicular to the normal direction of centroid Vn for each Voronoi patch. All the points of a voronoi patch are projected onto this plane. This list of 3D coordinates in the given reference frame (cloud of points) is our range image When an appropriate reference plane has been set, an x–y axis can be defined on the plane through the following 4 steps. •







Working on Range Image 1.

Find the centroid (denoted as Vi) that has the maximum euclidean/geodesic distance with centroid Vn Vi = Max(dg(Vn,Vk); k =1,2,3...Nf) where Max{} is the function to seek the maximum value dg() is the distance seeking function.

2.

Connect centroids Vn and Vi, project vector Vn Vi onto the reference plane along the normal direction to get a reference vector Vn` Vi`

3.

4.

The direction of x coordinate axis can be defined as along the direction of vector Vn` Vi` Y coordinate is perpendicular to the direction of x.

Working on Range Image •



So now we have transformed the projected list of 3D coordinates to 2D coordinates in the given reference plane (x‟,y‟,z‟) (f(x‟,y‟,z‟),h) in the given plane •



h is the perpendicular distance between the point (x,y,x) on the surface and its projection (x‟,y‟,z‟)

Since all transformations are relative to given coordinates, this is robust against rotation or translation of coordinates

Deviation from Paper 





Author has used a different representation of range images. Our watermark embedding algorithm is different from author. We have used a variation of Reversible Watermarking of 2d Vector Data

Reversible Watermarking of 2d Vector Data •







Given 2D vector data of x-y coordinates, sort it according to x axis Let the sorted data be A i.e A contains the y values as sorted on x Now we divide A into small chunks of 8 elements each say Ai Apply DCT on Ai to obtain Ai‟

Reversible Watermarking of 2d Vector Data •







Select the highest frequency component of A i„ Ai„[8] = Ai„[8]+β*WatermarkBit Watermark Bit comes from the Watermark sequence (w1 , w2 , w3 ......) each extracted from N(0,1) Apply Inverse DCT now to Ai„ This is done for all the 8 element chunks and thus we get the watermarked voronoi patch. When repeated for all patches we get back the watermarked mesh model

Watermark Embedding Algorithm Square Reference Planes Original Mesh Model

Feature Point Selection

α

Original Range Images

Partition/Vor onoi Patches

DCT β Watermark

High Frequency Coeffecients

IDCT Watermark Mesh Model

Vertex Perturbing

Watermark Ranged Images

Surface Reconstruction •

As a result of above step we now have watermarked heights: (f(x‟,y‟,z‟),h) (f(x‟,y‟,z‟),h‟)

Now we reverse project this from the range image to the mesh model • Basically: (f(x‟,y‟,z‟),h‟)(xw ,yw ,zw ) This set of (xw ,yw ,zw ) is our watermarked mesh model •

Original Model

Venus

Projected Models

Watermarked Model

Β = .01

Watermarked Model

Β=.1

Watermarked Model

Β=1

Watermarking Detection Algorithm

Watermark Extraction Algorithm Square Reference Planes

Watermarked

Mesh Model

α

Feature Point Selection

Watermarked Range Images

Partition/Vor onoi Patches

DCT Watermark

Extracted Watermark

β

High Frequency Coeffecients

DCT

>T YES T, then watermark is detected

 

Peak Signal to Noise Ratio 

PSNR = Peak Signal to Noise Ratio  Between original



  

and watermarked mesh model

v = vertex farthest from center Vi* - Vi = perturbance N = Total vertex number of the model Larger the PSNR better is the watermarking

Some Results

β

PSNR

Correlation Coefficient

.01

67.7027

0.8302

.1

51.0723

0.7848

1

30.6755

0.2524

Thank You!!

References 



“A new Digital Watermarking Scheme for 3D triangular mesh models” – Ai, Liu, Zhou, Yang, Xie, 2009 “Reversible watermarking of 2-D Vector Data” – Coigt, Yang, Busch.