270 likes | 418 Views
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: T. Y. Chen 11 JUNE 2007. Information Hiding – Simple Classification for 3D Models. Lin 2005 Chou 2006. Outline. Introduction
E N D
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: T. Y. Chen 11 JUNE 2007
Information Hiding – Simple Classification for 3D Models Lin 2005 Chou 2006
Outline • Introduction • The Proposed Scheme • The watermark embedding scheme • The multi-function embedding method • The adjusting-vertex method • The watermark extraction scheme and tamper detection • Distortion Control • Experimental Results • Conclusions
Introduction~3D triangle meshes (2/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,
Introduction~3D triangle meshes (3/4) 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,
Introduction~3D triangle meshes (4/4) 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] • } • } • ] • }
Introduction~ wmk. category • The application purpose • Robust watermarking • To achieve intellectual property protection of digital contents. • To make the embedded watermarks remain detectable after being attacked. • Fragile watermarking • To authenticate the integrity of digital contents. • To detect the unauthorized modifications and locate the changed regions. • The extraction strategies • Private (blind): Need the original model and watermark. • Public: In the absence of the original model and watermark. • Semi-public: Does not need the original model, but the original watermark is necessary. • The embedding strategies • Geometry: To modifying the vertex coordinates. • Topology: To modifying the vertex connectivity.
Introduction(2/2) • The causality problem • Arises when the neighboring relationship of a former processed vertex is influenced by the perturbing of its later processed neighboring vertices. • The convergence problem • The original model has been heavily distorted before some vertices reach the predefined relationship.
The Proposed Scheme • The watermark embedding scheme • The multi-function embedding method • The adjusting-vertex method • The watermark extraction scheme and tamper detection
Watermark embedding Watermark extraction Watermarked mesh M ’
The Proposed Scheme (embedding) • A mesh M(V,C) • V is the vertex set, a vertex v(x1,x2,x3)v’(x1’,x2’,x3’) • C is the connectivity relationship • A watermark W=(w1,w2, … ,wn) • Keys: kw, kjq, kjd, h( ), j =2,3
The Proposed Scheme (embedding) • A vertex v(x1,x2,x3)v’(x1’,x2’,x3’) • x1 is used to indicate if v is a mark vertex • x2 is used for embedding watermark wi • x3is used for embedding h(wi) • If v is a mark vertex, x1/ kw must be odd; otherwise x1’ = x1 + kw • If v is a non-mark vertex, x1/ kw must be even; otherwise x1’ = x1 + kw
The Proposed Scheme (embedding) For a mark vertex v(x1,x2,x3), • Calculate the barycentersx2c and x3c xjc (the barycenter of xj): the centroid of xj’s neighbors • xj is moved toward xjc to xje, s.t. | xjc - xje | is divisible by kjq kjq kjq kjq
The Proposed Scheme (embedding) • Move xje toxj’ for embeddingwi and hi(=h(wi)) kjq kjq kjq
The Proposed Scheme (Thecausality problem ~The “adjusting vertex” method ) • The barycenters (x2 and x3) of a former processed vertex will be changed when any of its neighboring vertices was selected to be a mark vertex too and need to be perturbed. • For each chosen mark vertex, we randomly assign an adjusting vertex from its neighboring vertices. • The function of the adjusting vertex is to keep the barycenters of the mark vertex unchanged. • To avoid the causality problem, the neighboring vertices of the previously selected mark vertices can’t be taken as adjusting vertices for later mark vertices.
Watermark embedding Watermark extraction Watermarked mesh M ’
The Proposed Scheme (extraction) • For each vertex, check its x1to see if it is a mark vertex • For each mark vertex, • Extract w’ from x2 • Extract h’ from x3 • If h(w’) ≠h’, set the vertex and all its neighbors as suspicious vertices • Report all the suspicious vertex
Distortion control kjq kjq kjq
Distortion control (vs. PSNR) d<10-3 Kw=10-3 Kq=10-3.5 The smaller the values of kw and kqs are, the smaller the distortion is.
The watermark digest method (invariant) • WD: • wm: the indices of the mark vertices • wp: the required perturbing displacements
Conclusions • The traverse order is not needed in the watermark extraction stage. • The adjusting vertex method can effectively limit the distortion ratio caused by watermark embedding. • Different functions are defined for the three coordinates of vertices. • The average distortion of the marked models is under user control. • The proposed scheme can detect and locate all unauthorized modifications. • The proposed scheme is public and a relative small key is needed for the watermark extraction. • The watermark digest method is proposed.
1999, IEEE Computer Graphics and Applications, Watermarking 3D Objects for Verification, Boon-Lock Yeo and Minerva M. Yeung • 2004, LNCS 2939, Authentication of 3-D Polygonal Meshes, Hsueh-Yi Lin, Hong-Yuan Mark Liao, Chun-Shien Lu and Ja-Chen Lin • 2005,IEEE TRANSACTIONS ON MULTIMEDIA, Fragile Watermarking for Authenticating 3-D Polygonal Meshes, Hsueh-Yi Sean Lin, Hong-Yuan Mark Liao, Chun-Shien Lu, and Ja-Chen Lin • 2005, International Multimedia Conference Proceedings of the 7th workshop on Multimedia and security, A fragile watermarking scheme for 3D meshes, Hao-Tian Wu , Yiu-Ming Cheung • 2006, Computer-Aided Design, A public fragile watermarking scheme for 3D model authentication, Chang-Min Chou, Din-Chang Tseng • 2007, IJCSNS, Technologies for 3D Model Watermarking: A Survey, Chang-Min Chou and Din-Chang Tseng
Information Hiding – Simple Classification for 3D Models Lin 2005 Chou 2006 Transform domain?
The scheme is not suitable for those models with flat surfaces. Those models cannot tolerate a small distortion. • Improve it or the phenomenon cannot be avoided. (compare with other schemes) • Perhaps, it raised by few adjusting vertices. Average them to all vertices not qualified as mark vertices. • Combine some proposed schemes (proposed in this paper and that was reported last time) to develop an invertible fragile watermarking scheme. • To develop a Semi-fragile watermarking scheme which is immune to affine transformation. • … • Read some outstanding 2d wmk schemes, usage, constrains • Read more robust, transform domain, hiding schemes