an efficient information hiding algorithm for polygon models eurographics 2005 chung-ming wang and...

37
An Efficient Information Hiding An Efficient Information Hiding Algorithm for Polygon Models Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

Upload: shannon-lydia-mcgee

Post on 04-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

An Efficient Information Hiding Algorithm An Efficient Information Hiding Algorithm for Polygon Modelsfor Polygon Models

EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng

Reporter: T. Y. Chen9 March 2007

Page 2: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

2

OutlineOutline• Introduction• Criteria• The Proposed Scheme

– Framework– Preprocessing– Sequence List– Multi-Level Embed Procedure (MLEP)– Data Storage

• Experimental Results• Conclusions• Reference

Page 3: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

3

3D triangle meshes ~ Example : Sphere1

Page 4: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

4

Sphere1.WRL• #VRML V2.0 utf8

• # Produced by 3D Studio MAX VRML97 exporter, Version 8, Revision 0.92• # MAX File: sphere1.max, Date: Thu Dec 14 18:43:31 2006

• DEF Sphere01 Transform {• translation -0.3831 0 -1.533• children [• Shape {• appearance Appearance {• material Material {• diffuseColor 0.6 0.8941 0.6• }• }• geometry DEF Sphere01-FACES IndexedFaceSet {• ccw TRUE• solid TRUE• coord DEF Sphere01-COORD Coordinate { point [• 0 27.08 0, 0 23.45 -13.54, -6.77 23.45 -11.73, -11.73 23.45 -6.77, • -13.54 23.45 0, -11.73 23.45 6.77, -6.77 23.45 11.73, • 0 23.45 13.54, 6.77 23.45 11.73, 11.73 23.45 6.77, • 13.54 23.45 0, 11.73 23.45 -6.77, 6.77 23.45 -11.73, • 0 13.54 -23.45, -11.73 13.54 -20.31, -20.31 13.54 -11.73, • -23.45 13.54 0, -20.31 13.54 11.73, -11.73 13.54 20.31,

Page 5: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

5

Sphere1.WRL

• 0 13.54 23.45, 11.73 13.54 20.31, 20.31 13.54 11.73, • 23.45 13.54 0, 20.31 13.54 -11.73, 11.73 13.54 -20.31, • 0 0 -27.08, -13.54 0 -23.45, -23.45 0 -13.54, -27.08 0 0, • -23.45 0 13.54, -13.54 0 23.45, 0 0 27.08, 13.54 0 23.45, • 23.45 0 13.54, 27.08 0 0, 23.45 0 -13.54, 13.54 0 -23.45, • 0 -13.54 -23.45, -11.73 -13.54 -20.31, -20.31 -13.54 -11.73, • -23.45 -13.54 0, -20.31 -13.54 11.73, -11.73 -13.54 20.31, • 0 -13.54 23.45, 11.73 -13.54 20.31, 20.31 -13.54 11.73, • 23.45 -13.54 0, 20.31 -13.54 -11.73, 11.73 -13.54 -20.31, • 0 -23.45 -13.54, -6.77 -23.45 -11.73, -11.73 -23.45 -6.77, • -13.54 -23.45 0, -11.73 -23.45 6.77, -6.77 -23.45 11.73, • 0 -23.45 13.54, 6.77 -23.45 11.73, 11.73 -23.45 6.77, • 13.54 -23.45 0, 11.73 -23.45 -6.77, 6.77 -23.45 -11.73, • 0 -27.08 0]• }• coordIndex [• 0, 1, 2, -1, 0, 2, 3, -1, 0, 3, 4, -1, 0, 4, 5, -1, 0, 5, 6, -1, • 0, 6, 7, -1, 0, 7, 8, -1, 0, 8, 9, -1, 0, 9, 10, -1, • 0, 10, 11, -1, 0, 11, 12, -1, 0, 12, 1, -1, 1, 13, 14, -1, • 1, 14, 2, -1, 2, 14, 15, -1, 2, 15, 3, -1, 3, 15, 16, -1, • 3, 16, 4, -1, 4, 16, 17, -1, 4, 17, 5, -1, 5, 17, 18, -1, • 5, 18, 6, -1, 6, 18, 19, -1, 6, 19, 7, -1, 7, 19, 20, -1, • 7, 20, 8, -1, 8, 20, 21, -1, 8, 21, 9, -1, 9, 21, 22, -1,

Page 6: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

6

Sphere1.WRL• 9, 22, 10, -1, 10, 22, 23, -1, 10, 23, 11, -1, 11, 23, 24, -1, • 11, 24, 12, -1, 12, 24, 13, -1, 12, 13, 1, -1, 13, 25, 26, -1, • 13, 26, 14, -1, 14, 26, 27, -1, 14, 27, 15, -1, 15, 27, 28, -1, • 15, 28, 16, -1, 16, 28, 29, -1, 16, 29, 17, -1, 17, 29, 30, -1, • 17, 30, 18, -1, 18, 30, 31, -1, 18, 31, 19, -1, 19, 31, 32, -1, • 19, 32, 20, -1, 20, 32, 33, -1, 20, 33, 21, -1, 21, 33, 34, -1, • 21, 34, 22, -1, 22, 34, 35, -1, 22, 35, 23, -1, 23, 35, 36, -1, • 23, 36, 24, -1, 24, 36, 25, -1, 24, 25, 13, -1, 25, 37, 38, -1, • 25, 38, 26, -1, 26, 38, 39, -1, 26, 39, 27, -1, 27, 39, 40, -1, • 27, 40, 28, -1, 28, 40, 41, -1, 28, 41, 29, -1, 29, 41, 42, -1, • 29, 42, 30, -1, 30, 42, 43, -1, 30, 43, 31, -1, 31, 43, 44, -1, • 31, 44, 32, -1, 32, 44, 45, -1, 32, 45, 33, -1, 33, 45, 46, -1, • 33, 46, 34, -1, 34, 46, 47, -1, 34, 47, 35, -1, 35, 47, 48, -1, • 35, 48, 36, -1, 36, 48, 37, -1, 36, 37, 25, -1, 37, 49, 50, -1, • 37, 50, 38, -1, 38, 50, 51, -1, 38, 51, 39, -1, 39, 51, 52, -1, • 39, 52, 40, -1, 40, 52, 53, -1, 40, 53, 41, -1, 41, 53, 54, -1, • 41, 54, 42, -1, 42, 54, 55, -1, 42, 55, 43, -1, 43, 55, 56, -1, • 43, 56, 44, -1, 44, 56, 57, -1, 44, 57, 45, -1, 45, 57, 58, -1, • 45, 58, 46, -1, 46, 58, 59, -1, 46, 59, 47, -1, 47, 59, 60, -1, • 47, 60, 48, -1, 48, 60, 49, -1, 48, 49, 37, -1, 61, 50, 49, -1, • 61, 51, 50, -1, 61, 52, 51, -1, 61, 53, 52, -1, 61, 54, 53, -1, • 61, 55, 54, -1, 61, 56, 55, -1, 61, 57, 56, -1, 61, 58, 57, -1, • 61, 59, 58, -1, 61, 60, 59, -1, 61, 49, 60, -1]• }• }• ]• }

Page 7: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

7

Information Hiding Process

Cover Model

Stego Model

Secret Key

Message

Information HidingInformation Hiding ~~ Embedding

Page 8: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

8

Recovery Model

Information

Extracting Process

Secret KeyMessage

Stego Model

Information HidingInformation Hiding ~~ Extracting

Page 9: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

9

Six CriteriaSix Criteria• Capacity• Distortion• Performance• Security• Robustness

– Affine transformations: translation, rotation, scaling, these combined operations

• Reversibility

Page 10: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

10

Framework of the schemeFramework of the schemeCover Model

Message

Preprocessing

Sequence List

MLEP

Data Storage

Stego ModelRecovery Key

Preprocessing

Sequence List

MLEP

Data Storage

Recovery Model

MessageEmbedding Procedure

Extraction Procedure

Bit streams: (0, 1)

Bit streams: (0, 1)

以 PCA 找出 initial △

Secrete keyHierarchical kd treeTriangle neighbor table advanced jump strategy

Page 11: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

11

PreprocessingPreprocessing• The principal component analysis (PCA)

determines the initial triangle.

First

Second

Third

Initial triangle

Page 12: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

12

Sequence ListSequence List

Initial

1

A

B

23

4

567

9

10

11 12

8

C

D

E

F

GH

K

J

I

Bit values:Traced triangles:

Message vertices:

1 0 1 0 0 0 1 0 1 1 1 1

ABC1,

A B

C (Message vertex)

Bit value = 0

Bit value = 1clockwise order

C,

CBD0,

D,

CDE1,

E,

EDF0,

F,

EFG0,

G,

EGH0, EHC1, CHA0, CAB1,

H, I, J, KBAI1, IAJ1, JAK1, KAH

Page 13: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

13

Sequence ListSequence List• If the next decided upon △ has been traced before go on

through the with respect to the bit value△• If a △ cannot found in clockwise order get a new from △

another one of the current △• If some △ do not have the next on the 1st or 2nd side △

go back to the previous △ and trace another side for the next △

• Although this scheme can trace all the available triangles, it is time consuming.– Hierarchical kd-tree– Triangle neighbor table (TNT)– Advanced jump strategy (AJS)

Page 14: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

14

Hierarchical KD-TreeHierarchical KD-Tree• Capability:

– Assume a set P of vertices in 3D space. – These vertices are preprocessed into the kd-tree structu

re.– Given any query vertex q, these vertices of P nearest to

q can be reported efficiently.

• Purpose:– Limit the number of candidate neighbors of every triangl

e for triangle neighbor table(TNT).

• Practice:– Use the gravity center of a triangle instead of the triangl

e itself.

Page 15: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

15

Triangle Neighbor Table (TNT)Triangle Neighbor Table (TNT)• This table indicates the neighbors and connective

relations of every triangle.ID Neighbors

1 2 3

2 1 5

3 1 4

4 3 5 13

5 2 6 4

4 53

1 2

6 7

8

1312

1110

9

• Require large search and compare operations.k-d tree

Page 16: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

16

TNT with Hierarchical KD-TreeTNT with Hierarchical KD-Tree• Use the gravity center of a triangle instead of the

triangle itself.

4 53

1 2

6 7

8

1312

1110

9

Page 17: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

17

TNT with Hierarchical KD-TreeTNT with Hierarchical KD-Tree• Using hierarchical kd-tree decreases the number o

f candidate neighbors of every triangle.

ID Neighbors

1

2

3

4

53

13

1 2

4 5

6 7

812

1110

9

1

2 3

2

1 5

3

1 4

4

3 5 13

5 2 6 4

Page 18: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

18

Advanced Jump Strategy (AJS)Advanced Jump Strategy (AJS)• Mesh traversal without accelerating strategy.

1. We assume only three triangles remain not traced.

2. Tracing triangles over and over takes a great deal of processing time.

Page 19: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

19

Advanced Jump Strategy (AJS)Advanced Jump Strategy (AJS)• Mesh traversal with the accelerating strategy.

1. We assume only three triangles remain not traced.

2. Number of tracing triangles reaches threshold. Call AJS up and then use the gravity center of a triangle instead of the triangle itself.

First principa

l axis

3. Get the position of the orthogonal projection of the gravity center of every triangle on the first principal axis.4. Sort the values of the position.

1

2

3

5. Check validity and Jump!

Page 20: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

20

Advanced Jump Strategy (AJS)Advanced Jump Strategy (AJS)• Tracing triangles over and over takes a great deal of

processing time.• The AJS chooses a new starting triangle based on PCA

ordering.– Decided according to the position of the orthogonal projection of

the gravity center of every triangle on the first principal axis.

• The AJS links this new triangle to the tail of the previous sequence list.– The resulting triangle has never been traced before, and it only has

one vertex that has never been used before.

Page 21: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

21

Advanced Jump Strategy (AJS)Advanced Jump Strategy (AJS)• The AJS efficiently avoids retracing triangles that have

already been traced.– This greatly improves performance, especially near the capacity

limit.

Rabbit Dinosaur Horse Venus Bunny

0

2

4

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%Fill rate of models

Tim

e (s

ec)

with accelerating

strategy

0

500

1000

1500

2000

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Fill rate of models

Tim

e (s

ec)

no accelerating

strategy

Page 22: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

22

Multi-Level Embed Procedure (MLEP)Multi-Level Embed Procedure (MLEP)

• Sliding• Extending• Rotating

Page 23: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

23

SlidingSliding• Each triangle is easily treated as a two-state

geometrical object.

A B

C

0 1 0 1

C’

1. We assume one triangle ABC, and we divide entry edge AB into four segments.

2. The position of the orthogonal projection of the triangle summit C on the entry edge AB is denoted as P(C)|AB.3. If the state of P(C)|AB is the same as message, then do nothing.entry edge

P(C)|AB P(C’)|AB 4. If not, then shift the message vertex across the closest axis.

Message: 1Message: 0

Page 24: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

24

ExtendingExtending• Embed messages in the height of the triangle.

A B

C

C’

1. We assume one triangle ABC, and we let the line defined by V and B be orthogonal to entry edge AB.

2. The position of the orthogonal projection of the triangle summit C on the virtual edge VB is denoted as P(C)|VB.3. If the state of P(C)|VB is the same as message, then do nothing.entry edge

P(C)|VB

P(C’)|VB

4. If not, then shift the message vertex across the closest axis.

Message: 0Message: 1

V

01

01

virtual edge

Page 25: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

25

Initial triangl

e

RotatingRotating• Embed messages in the degree of the angle

between both triangle planes.1. We assume one triangle ABC, and we let a reference vertex G be the gravity center of the initial triangle.

2. Both triangles ABC and ABG form two individual planes.

3. We define the degree of the angle between the two planes as θ.

4. Let E3 be a plane with the normal vector AB and C, D, C’ be the vertices on the same E3 plane.

G

θ

A B

C

DE3 plane

Page 26: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

26

RotatingRotating• Embed messages in the degree of the angle

between both triangle planes.

G

θ

A B

C

DE3 plane

A

G

B

C

θ

D

E3 plane

Page 27: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

27

RotatingRotating• Embed messages in the degree of the angle

between both triangle planes.

A

G

B

C

θ

D

D

C

E3 plane

E3 plane

Page 28: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

28

RotatingRotating• Embed messages in the degree of the angle

between both triangle planes.5. We assume that the vertex D is the center of a sphere and the radius of it is length of line DC.6. If the value of the degree of the angle is the same as message, then do nothing.

7. If not, then shift the message vertex by adding or subtracting the degree of the angle φ.

θ

D

C

E3 plane

Message: 0Message: 1

02mod

12mod'

θ’

C’ φ

Page 29: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

29

Data StorageData Storage• Capacity

– Mmaxbits: the maximal # of bits embedded

– Nvertices: the # of vertices in the mesh

– Mmaxbits = 3 (Nvertices - 2) - 1

• Recovery Key– A string containing bits indicating whether a change was

needed for every shifted message vertex.– Reversibility

Page 30: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

30

DistortionDistortion• Shift the message vertex with respect to the

Human Visual System.• Anticipate possible distortion rate.

a

b

c

s222 cbaS

S a b c

Page 31: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

31

Cover Model Stego Model

Results - HorseResults - Horse

Vertices: 48485

Triangles: 96966

Sdist: 0.00005396

RMS: 0.00000206

Time: 3.953 sec

Page 32: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

32Cover Model Stego Model

Results - RabbitResults - Rabbit

Vertices: 67038

Triangles: 134074

Sdist: 0.00000849

RMS: 0.00000074

Time: 5.593 sec

Page 33: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

33

Page 34: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

34

Information Hiding – Simple Classification for 3D Models

Information hiding

Steganography Watermarking

Spatial domain

Transform domain

Spatial domain

Transform domain

Robustwatermarking

Fragilewatermarking

Cayr2003aChen2006Tsai2006Wang2005aWang2005bWang2006WangP2006aWangP2006bWu2005b

Aspe2002aMare2004

Asho2004Bene1999aBene1999bBene1999cBors2006Kali2003

Cayr2003bCott2004Jin2004Kana1998Kim2000Ohbu2004

Bene2000Cayr2004Forn2000Lee2004Lin2005Wu2005a

Spatial domain

Transform domain

Yeo1999

Lin 2005Chou 2006

Page 35: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

35

Page 36: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

36

ReferencesReferences• Cayre F., Macq B.: Data Hiding on 3-D Triangle Meshes. I

EEE Trans. Signal Processing 51, 4 (2003), pp. 939-949.

• Wang C. M., Cheng Y. M.: An Efficient Information Hiding Algorithm for Polygon Models. Computer Graphics Forum 24, 3 (2005).

• http://gmvr.cs.nchu.edu.tw/TT/

Page 37: An Efficient Information Hiding Algorithm for Polygon Models EUROGRAPHICS 2005 Chung-Ming Wang and Yu-Ming Cheng Reporter: T. Y. Chen 9 March 2007

38

Recovery KeyRecovery Key• A string containing bits indicates whether a

change was needed for every shifted message vertex.

Cover Model Stego Model Recovery Model

1

2

3

1

2

3

Recovery Key: 1 0 1

1

2

3

Recovery Model = Cover Model