Internet & Technology

A New Watermarking Method for 3D Models Based on Integral Invariants

A New Watermarking Method for 3D Models Based on Integral Invariants
of 10
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
  A New Watermarking Method for 3D ModelsBased on Integral Invariants Yu-Ping Wang and Shi-Min Hu,  Member  ,  IEEE  Abstract —In this paper, we propose a new semifragile watermarking algorithm for the authentication of 3D models based on integralinvariants. A watermark image is embedded by modifying the integral invariants of some of the vertices. In order to modify the integralinvariants, the positions of a vertex and its neighbors are shifted. To extract the watermark, all the vertices are tested for the embeddedinformation, and this information is combined to recover the watermark image. The number of parts of the watermark image that can berecovered will determine the authentication decision. Experimental tests show that this method is robust against normal usemodifications introduced by rigid transformations, format conversions, rounding errors, etc., and can be used to test for maliciousattacks such as mesh editing and cropping. An additional contribution of this paper is a new algorithm for computing two kinds ofintegral invariants. Index Terms —Semifragile watermark, 3D model watermarking, integral invariants. Ç 1 I NTRODUCTION D IGITAL watermarking has been studied over many yearsfor digital content copyright protection and authenti-cation. As 3D models are used in a wide variety of fields,the necessity to protect their copyrights becomes crucial.The first article on 3D model watermarking waspublished in 1997 by Ohbuchi et al. [3]. Several yearspassed, and a lot of new algorithms were developed.Theoretically, there are two categories of watermarkingalgorithms: spatial-domain methods and frequency-domainmethods. Spatial-domain methods embed the watermark bydirectly modifying the positions of vertices, the colors of texture points or other elements representing the model.The frequency-domain methods embed the watermark bymodifying the transform coefficients.There is no unified standard to test which algorithm is better. There are some applications where one method isfound to be better suited than another. Nevertheless,watermarking algorithms are usually characterized by thefour following properties: .  Validation.  The watermark can be fully extractedfrom the unattacked model. .  Invisibility.  Watermarked models should look similarto the srcinal model. .  Capacity.  This corresponds to the amount of in-formation that can be embedded in the models. .  Robustness.  The watermark should survive differenttypes of attacks.Spatial-domain algorithms work on certain 3D modelinvariants like Triangle Similarity Quadruple (TSQ), Tetra-hedral Volume Ratio (TVR) [3], [4], [5], [6], Affine InvariantEmbedding (AIE) [7], [8], etc., to embed the watermark. Butmost of them are very sensitive to noise. Most frequency-domain algorithms provide better robustness and usewavelet analysis [9], [10], Laplace transforms [11], [12],and other such transforms [14], [15], [16]. Nevertheless, the3D model distortions making up the watermark fail to beinvisible, or extraction routines require the srcinal water-marked model in order to obtain hidden information.Robust watermarking of 3D models has been widelyresearched in recent years, and great developments have been achieved in both frequency-domain algorithms [17]and spatial-domain algorithms [18]. Although the problemshave been well defined by researchers working on imagewatermarking, there has been little research into fragilewatermarking until recently [13], [19], [20]. This kindof watermarking scheme focuses on finding where andhow the models have been modified or attacked. For manyapplications, this watermarking scheme is often toorestrictive to be usable, as model compression and formatconversion are not permitted. It is desired that the hiddendata be robust to unintentional changes like modelcompression, rigid transformation, and random noiseoriginating from format conversion. Similar to imagewatermarking nomenclature [21], we characterize water-marking algorithms showing this property as semifragile.In this paper, we propose a new semifragile spatial-domain watermarking algorithm for the authentication of 3D models based on integral invariants. It can surviveunder rigid transforms and certain noise attacks. Our ideamainly comes from other spatial-domain algorithms like [3],[7], and [13]. Since we wish to embed the watermark withgeometrical invariants, we use integral invariants to achievethis. Based on the good character of integral invariants thathave proven useful in parameterization [22], registration[23], and classification [24] applications, we believe that IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 15, NO. 2, MARCH/APRIL 2009 285 .  The authors are with the Tsinghua National Laboratory for InformationScience and Technology and the Department of Computer Science andTechnology, Tsinghua University, Beijing 100084, P.R. China.E-mail:, Manuscript received 16 June 2007; revised 31 Oct. 2007; accepted 11 Aug.2008; published online 15 Aug. 2008.Recommended for acceptance by L. De Floriani.For information on obtaining reprints of this article, please send e-mail,and referenceIEEECSLogNumber TVCG-2007-06-0070.Digital Object Identifier no. 10.1109/TVCG.2008.101. 1077-2626/09/$25.00    2009 IEEE Published by the IEEE Computer Society Authorized licensed use limited to: Tsinghua University Library. Downloaded on February 14, 2009 at 23:13 from IEEE Xplore. Restrictions apply.  they can also be used in our problem. With each vertex thatwill undergo watermarking, the integral invariants of theunwatermarked model are calculated. These invariants arethen slightly changed to embed the watermark image parts.In order to change the integral invariants to the new value,the positions of the vertex and its neighbors are modified.The extraction routine is the inverse process of the insertionroutine. All the vertices are traversed, computing theintegral invariants and trying to match the embeddedinformation. Once matched, the embedded information isextracted at each vertex from the two integral invariants,and this data is combined to form the extracted watermark.By analyzing the false-positive probability, the finalauthentication decision can be made.Note that it is needed to compute the integral invariantsof some of vertices once in the insertion procedure, and theintegral invariants of all the vertices once in the extractionprocedure. In practice, we find that the previous algorithmgiven in [2] to compute the integral invariants is inefficientfor this application. Therefore, we have developed a fasteralgorithm for computing integral invariants.The structure of this paper is organized as follows: InSection 2, we briefly introduce integral invariants theory for3D models and provide a new algorithm for computing twokinds of invariants used in our watermarking method. InSection 3, we explain the watermark insertion and extrac-tion algorithms in detail. In Section 4, we show some of ourexperimental results. Finally, in Section 5, we conclude andmention potential improvement in future work. 2 I NTEGRAL  I NVARIANTS 2.1 The Concept of Integral Invariants The concepts of integral invariants were first introduced byManay et al. [1]. They studied integral invariants for curvesin a plane. An example of such an invariant is the areainvariant. It is suitable for estimating the curvature of acurve  C   at a point  p , where  C   is assumed to be the boundaryof a planar domain  D  (see Fig. 1). Consider the circular disk B  r ð  p Þ  of radius  r , centered at  p , and compute the area  A r ð  p Þ of its intersection with the domain  D . This is obviously away to estimate curvature on a scale defined by the kernelradius  r . Manay et al. show the superior performance of thisand other integral invariants on noisy data, especially forthe reliable retrieval of shapes from geometric databases.Pottmann et al. [2] extended the concept of integralinvariants from  R 2 to  R 3 . They introduced integral invar-iants for surfaces with the integral of a local neighborhoodin 3D space (see Fig. 2). Here, we state two kinds of integralinvariants, which will be used in the following sections.If we extend the area invariant from  R 2 to  R 3 , we get thevolume invariant (see Fig. 3). Considering the localneighborhood as a ball  B  r ð  p Þ  of radius  r , centered at  p ,the volume invariant is defined as  V  r ð  p Þ , which is thevolume of   B  r ð  p Þ  intersected with the domain  D , which isthe inner part of the model.Similarly, considering the local neighborhood as a sphere S  r ð  p Þ  of radius  r , centered at  p , the area invariant (see Fig. 4)is defined as  SA r ð  p Þ , which is the area of   S  r ð  p Þ  intersectedwith the domain  D .These kinds of integral invariants have been proved to bemore robust against noise than traditional differential 286 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 15, NO. 2, MARCH/APRIL 2009 Fig. 1. Area invariant for planar curves  A r ð  p Þ  is the area of the cross-hatched part, which is the intersection of the circular disk  B  r ð  p Þ  anddomain  D .Fig. 2. Local neighborhood in  R 3 is a ball  B  r ð  p Þ  around  p .Fig. 3. Volume invariant in  R 3 is the volume of  B  r ð  p Þ  intersected withdomain  D .Fig. 4. Area invariant in  R 3 is the surface area of  S  r ð  p Þ  intersected withdomain  D . Authorized licensed use limited to: Tsinghua University Library. Downloaded on February 14, 2009 at 23:13 from IEEE Xplore. Restrictions apply.  invariants such as curvature [22], [23], [24]. Explicit proofsand experimental results can be found in [2]. 2.2 A Faster Algorithm for Computing IntegralInvariants When integral invariants were extended into the  R 3 casein [2], an algorithm for computing integral invariants wasgiven. Its main idea is to discretize the area invariant andthe volume invariant. For the area invariant  SA r ð  p Þ , atriangle-mesh model of a sphere with radius  r  is used as adiscretization of the sphere’s local neighborhood. Thealgorithm moves the center point of the sphere model tothe vertex  p  and tests each vertex of the sphere modelwhether it is inside the domain  D . The value of the areainvariant is obtained by summing the area of the trianglesinside domain  D . For the volume invariant  V  r ð  p Þ , thealgorithm first represents the sphere model and domain  D with 3D bitmaps where 1 means inside the sphere/domain and 0 means outside the sphere/domain. Thevolume invariant is then computed by the fast Fouriertransform (FFT).In this section we introduce a faster algorithm forcomputing integral invariants. For convenience, in thefollowing section, we will suppose that invariants arecomputed with a local neighborhood of radius  r , centered atvertex  p .The area invariant is computed first, and then, thevolume invariant is computed based on the area invariant. Area invariant.  For a 3D mesh model, we assume thatthe sphere  S  r ð  p Þ  can intersect the surface of the model witha set of arcs on  S  r ð  p Þ . This is always true when the model isclosed and when the radius is not large enough to let  B  r ð  p Þ include the whole model.The purpose of the algorithm is to compute the areasurrounded by this set of arcs. The two endpoints formingeach arc are the intersection of   S  r ð  p Þ  with edges of themodel, which are easy to obtain. Then, an approximation of the area is computed by replacing each of these arcs with thegreat arc on  S  r ð  p Þ  with the same endpoints. Therefore, theintersection surface becomes a polygon on the sphere. Notethat this polygon can be disconnected or a polygon withholes. These cases should be treated specially as sum orsubtraction of several simple polygons, which are connectedand without holes. For convenience, the following sectionswill only discuss the simple polygon case.The formula for computing the area of a sphericaltriangle is S   ¼ ð  þ    þ      Þ  r 2 ;  ð 1 Þ where   ,    , and     are the three spherical angles of thespherical triangle. It is easy to extend this formula to anyspherical polygon as S   ¼ X  i   ð n   2 Þ      r 2 ;  ð 2 Þ where   i  is the spherical angle between two adjacent greatarcs and  n  is the total number of great arcs. Volume invariant.  After we get the area invariant, westart to compute the volume invariant. Fig. 5 providessketches of this computational procedure to help explain it.In Figs. 5a, 5b, and 5c are 2D sketches, and Fig. 5d is a 3Dsketch. First, we multiply the area invariant by  r= 3 , which isthe volume of an irregular cone (the shaded part in Fig. 5a).To compute the volume invariant, the volume of theirregular cone should be modified by adding or subtractingthe parts labeled “ þ ” or “  ” in Fig. 5b. Directly determiningthese parts requires computationally expensive operationsto find the intersections between the irregular cone and themodel surface. Instead, the volume modification can becomputed more easily by converting the problem to addingor subtracting the tetrahedron volumes (denoted as “ þ ” or“  ” in Fig. 5c) constructed with all the triangular facetsinside  B  r ð  p Þ  as base and  p  as apex.Note that special processing will be needed near the boundary of the ball  B  r ð  p Þ  (for convenience, later, this kindof balls are named as neighbor balls when point  p  is notdesignated). The volume of the outer tetrahedron partshould be removed. There are two cases: one vertex of thetriangular facet is outside the ball  B  r ð  p Þ , or two vertices of the triangular facet are outside (the triangle at the right orleft in Fig. 5d, together with the common case at themiddle). Finally, we get the volume invariant.The algorithm flow is shown in Fig. 6. By repeating thisalgorithm at each vertex of the model, we will generate theinvariants for all the vertices. 2.3 Algorithm Analysis The complexity of the algorithm can be derived from theanalysis below.In step 1 of the algorithm, we traverse all verticesaround point  p . If the number of vertices is  m , this stepcosts  O ð m Þ  in time.  m  is proportional to the intersectionsurface area  ð O ð r 2 ÞÞ  and inversely proportional to theaverage facet area ( O ð l 2 Þ , where  l  is the average edgelength). We conclude that  m  ¼  O ðð r=l Þ 2 Þ , so the timecomplexity in this step is  O ðð r=l Þ 2 Þ .In steps 2 and 3 of the algorithm, we compute theintersection points, as well as the spherical angle formed bythese points. Similar to the last step, the time complexityhere is  O ð r=l Þ . WANG AND HU: A NEW WATERMARKING METHOD FOR 3D MODELS BASED ON INTEGRAL INVARIANTS 287 Fig. 5. Computing the volume invariant from the area invariant. Authorized licensed use limited to: Tsinghua University Library. Downloaded on February 14, 2009 at 23:13 from IEEE Xplore. Restrictions apply.  In step 4 of the algorithm, we compute the area invariantvalue. The time complexity is  O ð 1 Þ .In steps 5 and 6 of the algorithm, we traverse all thefacets around point  p . Similar to the analysis of step 1, thetime complexity is  O ðð r=l Þ 2 Þ .At last, in step 7, we compute the volume invariantvalue. The time complexity is  O ð 1 Þ .Overall, the time complexity for computing the area andvolume invariants of a single vertex is  O ð r 2   l  2 Þ . The totaltime complexity is  O ð v  r 2  l  2 Þ , where  v  is the number of vertices of the mesh model.Fig. 7 shows that the computing time increases with thenumber of facets. We have tested our method with sevensphere models composed of different numbers of facets. InFig. 7, the horizontal axis is the number of facets, while thevertical axis is the computing time (in milliseconds). Theseven curves respectively represent seven different valuesfor  r  (from average edge length to seven times the averageedge length).Table 1 shows the total computing time for differentmodels for a radius five times the average edge length. Inthis table, column “Time cost” shows the computing timeusing our algorithm, while columns “Grid Build,” “A. Inv.,”and “V. Inv.” respectively show the computing time for thethree steps given in [2]. The grid size parameter in [2] weused is 1/256 of the largest dimension. The time unit is inmilliseconds. The timings in Fig. 7 and Table 1 weremeasured on a 2.8-GHz Pentium 4 running Windows XP.We can see that as the number of vertices and facetsincreases, the computing time increases as well on thewhole yet is still shorter than the total computing time forthe algorithm in [2].The reason why our algorithm is faster comes from ouruse of (2). We compute the area and volume invariants witha less complex and, therefore, faster method.From the results, we can also see the advantage of thealgorithm in [2]: if we do not need the area invariant, thetotal computing time for the volume invariant is almostconstant. This constant time may be shorter than thecomputing time from our algorithm when models becomelarge enough (see the value for Buddha and AsianDragon).Still, there is a bottleneck in the algorithm in [2] forcomputing area invariants.Furthermore, when we analyze why the algorithm in [2]performs in an almost constant time, we find that the time isdetermined by the grid size. The grid size can alsodetermine the error of the algorithm. An error occurs when B  r ð  p Þ  intersects a grid cube. As the grid size gets smaller, sodoes the error. However, memory costs and computingtime increase significantly.In the algorithm presented in this article, the error incomputing the volume invariant occurs when the modelfacets intersect  B  r ð  p Þ . If a facet occasionally passes throughthe center point  p , there is no error.Although we have no method for precisely computingthe invariants, we can compare computed volume invariant 288 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 15, NO. 2, MARCH/APRIL 2009 Fig. 6. Algorithm flow for computing integral invariants of a single vertex.Fig. 7. Computing time increases with increasing numbers of facets. TABLE 1Computing Time Comparison with the Algorithmin [2] with Different Models (Unit: Milliseconds) Authorized licensed use limited to: Tsinghua University Library. Downloaded on February 14, 2009 at 23:13 from IEEE Xplore. Restrictions apply.  values from these two algorithms and estimate the distance between these two algorithms. For the bunny model, themaximum distance is 0.005695, while the maximum error of the algorithm in [2] for this grid size is 0.008. We canconclude from this example that the error of our algorithmis relatively small. 3 W ATERMARKING FOR A  3D M ODEL As we mentioned earlier, the integral invariants are robustagainst noise. Therefore, if we somehow modify the integralinvariants to a specific value by changing the vertices’positions, we can apply to the model a watermark strongenough to resist noise attacks.In this section, we will give more details about how tochange these invariants first and then show how theseprocedures serve as subroutines of a model watermarkingalgorithm. Our current work modifies the area invariantand the volume invariant.For convenience, we name  O  the vertex at the center of the sphere,  R  the sphere radius,  N   the average normal of   O ,and  T   the point that satisfies  OT   ¼  R   N  . 3.1 Changing the Area Invariant If the model surface around point  p  is a conical surface(Fig. 8a), the formula giving the area of the sphericalintersection is  S   ¼  2 Rh , where  S   is the area,  R  is the sphereradius, and  h  is the height of the cap. Thus, to change thearea invariant, we have to change the value of   h .Furthermore, if we only have part of a conical surface(Fig. 8b), we reach the same conclusion for the area of thepartial cap with the vertex at the top: we have to change thevalue of   h .For any 3D surface (Fig. 8c), the area of sphericalintersection can be approximated by a number of partialcaps like in the last step. Therefore, if we change the valueof   h  for every cap, we change the spherical area.Therefore, in order to change the area invariant of a 3Dmesh model, we can approximately change the value of   h of all outer and cross vertices (see the algorithm shown inFig. 6). The shifting distance is determined by  h  ¼   S  2 R:  ð 3 Þ 3.2 Changing the Volume Invariant The basic idea is to move the inner vertices (see thealgorithm shown in Fig. 6) along the direction of   N  . Notethat for inner vertices, if we move them along the directionof   N   for a certain distance, the influence to the volume can be easily calculated. Each movement is independent of themovement of other vertices of the same type. As a result, if we specify how many vertices we move and by how muchthey are moved along the direction of   N  , the changedvolume can be calculated using the formula given below:  V   ¼  13 X A i d  i ;  ð 4 Þ where  A i  is the area of the polygon formed by neighbors of vertex  i  projected in the direction of   N  , and  d  i  is the distancethat vertex  i  is moved along the direction of   N  . We can seethat this is a linear formula for the specified model.The opposite problem is stated as follows: for a givenvolume change, by how much should the vertices bemoved, while ensuring the watermark invisibility? This isan optimization problem. Since there is no well-provenstandard to evaluate invisibility, this optimization problemcannot be formalized easily. The current method we use isto optimize the moving distance to a special function (5) of the distance from the vertex to  O  (represented with  r i ). Themodified model is obtained from the srcinal one stampedwith the shape shown in Fig. 9. We think that this method issuitable for human vision: especially referring to the effectknown as Troxler fading (Troxler, 1804), which states that if you attempt to focus on the center point, the surroundingcircles will fade after a few seconds. The special function isgiven as follows: d  i  /  1    cos 2 r i R   :  ð 5 Þ The optimization problem is solved as follows: since (5)shows a direct ratio relationship, if we set one of the  d  i  (forexample,  d  0 ), all other  d  i  and the volume change   V  ð d  0 Þ  forthat particular  d  0  can be computed. Let  d  0 0  be the value of   d  0 that gives the volume change   V  watermark  for our watermark.The ratio of    V  ð d  0 Þ  and   V  watermark  is equal to the ratio of   d  0 and  d  0 0 . From d  0 0  ¼   V  watermark  V  ð d  0 Þ  d  0 ;  ð 6 Þ we get the  d  0 0 . Next, we compute all the  d  0 i , and the newvertex positions are found. WANG AND HU: A NEW WATERMARKING METHOD FOR 3D MODELS BASED ON INTEGRAL INVARIANTS 289 Fig. 8. Examples of changing the area invariant.Fig. 9. The optimization function used in changing the volume invariant. Authorized licensed use limited to: Tsinghua University Library. Downloaded on February 14, 2009 at 23:13 from IEEE Xplore. Restrictions apply.
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks