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

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS 2D TRANSFORMATIONS.
Advertisements

QR Code Recognition Based On Image Processing
Computer Graphics1 Geometry Area of polygons & Volume Of Polygonal surfaces.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Watermarking 3D Objects for Verification Boon-Lock Yeo Minerva M. Yeung.
Reversible Data Hiding Based on Two-Dimensional Prediction Errors
More Efficient Generation of Plane Triangulations Shin-ichi Nakano Takeaki Uno Gunma University National Institute of JAPAN Informatics, JAPAN 23/Sep/2003.
Extended Gaussian Images
Convex Hulls in Two Dimensions Definitions Basic algorithms Gift Wrapping (algorithm of Jarvis ) Graham scan Divide and conquer Convex Hull for line intersections.
Fast Algorithm for Nearest Neighbor Search Based on a Lower Bound Tree Yong-Sheng Chen Yi-Ping Hung Chiou-Shann Fuh 8 th International Conference on Computer.
Polygonal Meshes 3D Object Representation -Tyler Abrams.
Geometry: Dilations. We have already discussed translations, reflections and rotations. Each of these transformations is an isometry, which means.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
Introduction to 3D Graphics Lecture 4: Scenes and Scene Graphs Anthony Steed University College London.
Motion Geometry Part I Geometry Solve Problems Organize Model Compute
A public fragile watermarking scheme for 3D model authentication Chang-Min Chou, Din-Chang Tseng Computer-Aided Design Vol. 38 (Nov. 2006) 1154–1165 Reporter:
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Multimedia Network Security Lab. On STUT Adaptive Weighting Color Palette Image Speaker:Jiin-Chiou Cheng Date:99/12/16.
1 Virtual Reality Modeling Language (VRML97) ©Anthony Steed
Geometric Modeling. Volumetric o Collection device obtains regular grid of measurement values Examples: CT, MRI, PET, Ultrasound o Values are interpreted/visualized.
3D polygonal meshes watermarking using normal vector distributions Suk-Hawn Lee, Tae-su Kim, Byung-Ju Kim, Seong-Geun Kwon.
1 Information Hiding Based on Search Order Coding for VQ Indices Source: Pattern Recognition Letters, Vol.25, 2004, pp.1253 – 1261 Authors: Chin-Chen Chang,
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Transformations 7-7 Properties of Transformations. Goal: By the end of the week, I will recognize the difference between translations, reflections, and.
Reversible Data Hiding for Point-Sampled Geometry JOURNAL OF INFORMATION SCIENCE AND ENGINEERING Vol. 23, pp , 2007 PENG-CHENG WANG AND CHUNG-MING.
Robust Watermarking of 3D Mesh Models. Introduction in this paper, it proposes an algorithm that extracts 2D image from the 3D model and embed watermark.
Watermarking 3D Geometric Models Through Triangle Subdivision Mao et al. Proc. Of SPIE (2001)
12-2 Translations Holt Geometry I CAN I CAN - Translate figures on the coordinate plane - Translate figures on the coordinate plane -Can convert between.
Unit 10 Transformations. Lesson 10.1 Dilations Lesson 10.1 Objectives Define transformation (G3.1.1) Differentiate between types of transformations (G3.1.2)
Transformations Unit 7.
3D mesh watermarking Wu Dan Introduction Spatial domain (00 EG) Transformed domain (02 EG) K=D-A; (D ii is a degree of vertex v i, A is an.
5.7 Reflections and Symmetry. Objective Identify and use reflections and lines of symmetry.
GEOMETRY!!!. Points  A point is an end of a line segment.  It is an exact location in space.   It is represented by a small dot. Point A A.
CIVET seminar Presentation day: Presenter : Park, GilSoon.
Polygon Triangulation
Catalogs contain hundreds of millions of objects
Coordinate Algebra Practice EOCT Answers Unit 5.
4-3 Warm Up Lesson Presentation Lesson Quiz
(k, n)-Image Reversible Data Hiding
Reflections 9-1 Warm Up Lesson Presentation Lesson Quiz
Reflections 9-1 Warm Up Lesson Presentation Lesson Quiz
Reflections Warm Up Lesson Presentation Lesson Quiz
High-capacity image hiding scheme based on vector quantization
Chapter III Modeling.
第七章 資訊隱藏 張真誠 國立中正大學資訊工程研究所.
9.1: Reflections.
Hiding Data in a Color Palette Image with Hybrid Strategies
Chair Professor Chin-Chen Chang (張真誠) National Tsing Hua University
Advisor: Chin-Chen Chang1, 2 Student: Yi-Pei Hsieh2
Algorithm design (computational geometry)
Reflections 9-1 Warm Up Lesson Presentation Lesson Quiz
12-1 Reflections Warm Up Lesson Presentation Lesson Quiz Holt Geometry.
Advisor:Prof. Chin-Chen Chang Student :Kuo-Nan Chen
Reflections 9-1 Warm Up Lesson Presentation Lesson Quiz
Data hiding method using image interpolation
4-3 Warm Up Lesson Presentation Lesson Quiz
High Capacity Data Hiding for Grayscale Images
Reflections Warm Up Lesson Presentation Lesson Quiz
Reflections Warm Up Lesson Presentation Lesson Quiz
Author: Minoru Kuribayashi, Hatsukazu Tanaka
Data hiding method using image interpolation
Geometric Transformations
New Framework for Reversible Data Hiding in Encrypted Domain
Source: IEEE Access. (2019/05/13). DOI: /ACCESS
Author :Ji-Hwei Horng (洪集輝) Professor National Quemoy University
Rich QR Codes With Three-Layer Information Using Hamming Code
Coordinate Algebra Practice EOCT Answers Unit 5.
Presentation transcript:

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 Outline Introduction Criteria The Proposed Scheme –Framework –Preprocessing –Sequence List –Multi-Level Embed Procedure (MLEP) –Data Storage Experimental Results Conclusions Reference

3 3D triangle meshes ~ Example : Sphere1

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: DEF Sphere01 Transform { translation children [ Shape { appearance Appearance { material Material { diffuseColor } geometry DEF Sphere01-FACES IndexedFaceSet { ccw TRUE solid TRUE coord DEF Sphere01-COORD Coordinate { point [ , , , , , , , , , , , , , , , , , , ,

5 Sphere1.WRL , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] } 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,

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] } ] }

7 Information Hiding Process Cover Model Stego Model Secret Key Message Information Hiding ~ Information Hiding ~ Embedding

8 Recovery Model Information Extracting Process Secret Key Message Stego Model Information Hiding ~ Information Hiding ~ Extracting

9 Six Criteria Capacity Distortion Performance Security Robustness –Affine transformations: translation, rotation, scaling, these combined operations Reversibility

10 Framework of the scheme Cover Model Message Preprocessing Sequence List MLEP Data Storage Stego Model Recovery Key Preprocessing Sequence List MLEP Data Storage Recovery Model Message Embedding ProcedureExtraction Procedure Bit streams: (0, 1) 以 PCA 找出 initial △ Secrete key Hierarchical kd tree Triangle neighbor table advanced jump strategy

11 Preprocessing The principal component analysis (PCA) determines the initial triangle. First Second Third Initial triangle

12 Sequence List Initial 1 A B C D E F GH K J I Bit values: Traced triangles: Message vertices: ABC1, AB C (Message vertex) Bit value = 0 Bit value = 1 clockwise order C, CBD0, D,D, CDE1, E,E, EDF0, F,F, EFG0, G,G, EGH0, EHC1, CHA0, CAB1, H, I, J, K BAI1, IAJ1, JAK1, KAH

13 Sequence 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)

14 Hierarchical KD-Tree Capability: –Assume a set P of vertices in 3D space. –These vertices are preprocessed into the kd-tree structure. –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 triangle for triangle neighbor table(TNT). Practice: –Use the gravity center of a triangle instead of the triangle itself.

15 Triangle Neighbor Table (TNT) This table indicates the neighbors and connective relations of every triangle. IDNeighbors Require large search and compare operations.  k-d tree

16 TNT with Hierarchical KD-Tree Use the gravity center of a triangle instead of the triangle itself

17 TNT with Hierarchical KD-Tree Using hierarchical kd-tree decreases the number of candidate neighbors of every triangle. IDNeighbors

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

19 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 principal 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 Check validity and Jump!

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

21 Advanced Jump Strategy (AJS) The AJS efficiently avoids retracing triangles that have already been traced. –This greatly improves performance, especially near the capacity limit. with accelerating strategy no accelerating strategy

22 Multi-Level Embed Procedure (MLEP) Sliding Extending Rotating

23 Sliding Each triangle is easily treated as a two-state geometrical object. AB C 0101 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

24 Extending Embed messages in the height of the triangle. AB 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: 0 Message: 1 V virtual edge

25 Initial triangleRotating 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 θ AB C D E3 plane

26 Rotating Embed messages in the degree of the angle between both triangle planes. G θ AB C D E3 plane A G B C θ D

27 Rotating Embed messages in the degree of the angle between both triangle planes. A G B C θ D D C E3 plane

28 Rotating 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: 0 Message: 1 θ’θ’ C’ φ

29 Data Storage Capacity –M maxbits : the maximal # of bits embedded –N vertices : the # of vertices in the mesh –M maxbits = 3 (N vertices - 2) - 1 Recovery Key –A string containing bits indicating whether a change was needed for every shifted message vertex. –Reversibility

30 Distortion Shift the message vertex with respect to the Human Visual System. Anticipate possible distortion rate. a b c s

31 Cover Model Stego Model Results - Horse Vertices: Triangles: S dist : RMS: Time: sec

32 Cover ModelStego Model Results - Rabbit Vertices: Triangles: S dist : RMS: Time: sec

33

34 Information Hiding – Simple Classification for 3D Models Lin 2005 Chou 2006

35

36 References Cayre F., Macq B.: Data Hiding on 3-D Triangle Meshes. IEEE Trans. Signal Processing 51, 4 (2003), pp Wang C. M., Cheng Y. M.: An Efficient Information Hiding Algorithm for Polygon Models. Computer Graphics Forum 24, 3 (2005).

37 Triangle Order The next triangle in the list is selected depending on the bit value of the binary pseudo-noise sequence generator. AB C (Message vertex) Bit value = 0Bit value = 1 clockwise order

38 Recovery Key A string containing bits indicates whether a change was needed for every shifted message vertex. Cover Model Stego ModelRecovery Model Recovery Key: Recovery Model = Cover Model