Watermarking 3D Geometric Models Through Triangle Subdivision

Watermarking 3D Geometric Models Through Triangle Subdivision
Xiaoyang Mao, Makoto Shiba, and Atsumi Imamiya
Department of Computer and Media Engineering
Yamanashi University, Japan
ABSTRACT
Digital water marking, the technique for hiding information into multimedia contents, is attracting large attentions in the
recent years. This paper proposes a new water marking technique for 3D geometric models. The new algorithm retriangulates a part of a triangle mesh and embeds the watermark into the positions of the newly added vertices. Up to 8 bytes
data can be invisibly embedded into an edge of the triangle mesh without causing any changes to the geometry of the
original 3D model. The embedded watermark resists affine transformation and can be extracted only from the stego-model
without using the original cover model.
Keywords: information security, digital watermarking, copyright protection, graphics contents, 3D polygon model.
1. INTRODUCTION
Recent advance of digital media, such as Internet and CR-ROMS and the wide spread of PC and multimedia application
systems enable us to easily access, duplicate, modify and distribute digital contents, such as images, videos, sounds and
electronic documents. Such advantage, however, also implies the danger that valuable contents may be easily duplicated,
modified or distributed by an unauthorized user. As a technique to protect the copyright of digital contents and to detect the
unauthorized tampering of it, digital watermarking is now attracting large attentions in the field of information security, as
well as in all the application fields of multimedia technology.
Generally, the field address the problem of hiding information within digital data is called steganography[1]. With the
steganography technology, the information, called the embedded object, is inserted into the original data, called the cover
object, to produce a stego object. The term watermarking loosely refers to the use of steganography in the application areas
of ownership assertion, authentication, content labeling and protection[7]. The process of inserting information into the
cover object is called watermark embedding and the process of retrieving the embedded information from the stego object is
called watermark extraction.
Needless to say, three-dimensional(3D) geometric models have now become to be one of the most important part of
multimedia content. They are valuable products of intellectual activities in the CAD/CAM and computer graphics field. The
advance of distributed engineering environment and VRML based virtual space construction technology open the
opportunities to globally distribute and exchange geometric models through computer networks. Such background has
prompted researchers to extend the realm of watermarking from traditional media such as text, images and sounds, to
include the 3D geometric models. Recently, several papers have been published on watermarking 3D geometric
models[3,4,5,6,7,8J. In this paper, we propose a new technique for embedding information into 3D geometric models
represented as triangle meshes.. Our new algorithm re-triangulates a part of a triangle mesh and embeds the watermark into
the positions of the newly added vertices. Up to 8 bytes data can be invisibly embedded into an edge of the triangle mesh
without causing any changes to the geometry of the original 3D model. The embedded watermark resists affine
transformation and can be extracted only from the stego model without using the original cover model
In the next section, we will first briefly state the requirements of watermarking and survey the existing watermarking
techniques for 3D geometric models. Section 3 describes the basic idea and the details of embedding and extraction
algorithms of the proposed technique. Section 4 discusses the features of the technique and shows whether and how the
proposed technique satisfies the requirements stated in Section 2.1. Section 5 gives the conclusions.
Security and Watermarking of Multimedia Contents III, Ping Wah Wong, Edward J. Delp III,
Editors, Proceedings of SPIE Vol. 4314 (2001) © 2001 SPIE · 0277-786X/01/$15.00
253
2. BACKGROUND
2.1 Watermarking Requirements
The requirements of watermarking are usually application dependent. In case of 3D geometric model, the following three
requirements can be considered to be most important [3,4].
Unobtrusive
The embedding must not interfere with the intended used of a model. Usually, watermarks are embedded into the original
data by imposing small modifications on it. It is desirable that the error caused by such modification should be controllable
and as lower as possible. For example, viewing is a typical intended use of a 3D model. The geometric error caused by
watermarking embedding should be low enough at least causing no perceptual changes to the original model when it is
displayed. The embedded watermark usually should also be invisible since it is not the target of users original viewing task,
though noticeable watermark has its own advantage in some applications[9].
Robust
The embedded watermark should not be easily changed or destroyed during the day-to-day use of the model or by any
intentional attack. Typical operations on a 3D model include data format conversion, geometric or more general affine
transformations, and topological alterations. The embedded watermark should resist these operations. Possible means of
intentional attack include adding noise to vertex coordinates or altering the topology of a stego model. While the robustness
is the most important and difficult issue of watermarking, some researchers suggested to use fragile watermark for detect
intentional attack and attacked part of contents [8].
Space efficient
The amount of data that can be embedded into a 3D model should be large enough for encoding all the required information
such as the copyright of the model.
2.2 Related Work
The existing watermarking techniques can be classified as either to be object space based or frequency space based
approaches. While the object space approaches embed the information by modifying the original data directly, the frequency
domain approaches transform the original data into frequency domain first and embed watermarks there. Till very recent,
researches on watermarking have been mainly focused on the digital media such as text, image, sound and video[2]. The
first attempt to introduce the watermarking technology into the computer graphics world was probably made by R. ohbuchi.
el al.[3,4]. They introduced five different object space based embedding schemes for polygon meshes. As a method resisting
affine transformation, they proposed to use ratios of tetrahedron volumes. The algorithm first builds a list of connected
triangles and then builds a list of tetrahedra with these triangles as their faces. A watermark is embedded into the model by
modifying the ratios of the first tetrahedron volume and the volumes of other tetrahedra. They also proposed a way of
visually embedding information by subdividing some triangles of the mesh so as to produce recognizable patterns in the
wireframe rendering of the model. Benedens[5] presented another object space based method through altering the normal
vectors calculated from the surface geometry of a 3D model. He demonstrated the robustness of the method against the
simplification attacks.
On the other hand, Kanai et al.[6] proposed a frequency space based approach by using wavelet transform and multiresolution representation of polygon models. Watermarks are embedded in the wavelet coefficient vectors and are
imperceptible and invariant to the affine transform. However, the application of the method is limited to those triangle
meshes whose mesh topology fits into a 4-to-i subdivision connectivity scheme. The method developed by E. Praum el
al[7J also based on multi-resolution representation, but can be applied to arbitrary triangle meshes. This is realized by
constructing a set of scalar basis function over mesh vertices. Watermarks are embedded in the model by perturbing the
254
Proc. SPIE Vol. 4314
vertices along the direction of surface normal, weighted by the basis functions. They also suggest making watermarks
survival from simplification by re-sampling an attacked mesh using the original mesh connectivity.
Other than robust watermarking, Yeung and Yeo[8] presented a scheme for fragile watermarking. They slightly perturb the
vertices such that a certain hash function of each vertex's coordinates matches another hash function applied to the centroid
of its neighboring vertices.
3. OUR APPROAH
3.1 Principle
Like R. Ohbuchi et al.[3,4}, we address the problem of robust watermarking with object space based approach. Without
loosing generality, we assume the cover model is a triangle mesh. Any polygon mesh can be easily converted into a triangle
mesh with the existing triangulation software. The basic idea is to utilize the fact that the ratio of two line segments lying on
the same straight line is invariant under affine transformation.
Figure 1: Adding new vertices on the edges of a triangle and dividing the triangle into 4 sub-triangles.
As shown in Figure 1, we add a new point to one edge of a triangle. Assuming the distance from one vertex of the edgeto
the newly added point is a and the length of the edge is f3, then the new point is placed at a position satisfying thefollowing
equation:
a = Norma1ize(b...b1+k)
—
,8
Here, b, 'S— b+k 5 a part of the bit string of watermark to be embedded into the mesh. The function Normalize converts the
bit string into a floating point value between the interval[O.O-.4.O}. A desirable implementation of this function is to have it
return a value around 0.5 so that the newly added point is always close to the middle point of the edge. After one edge is
used, we visit the other two edges of the triangle for embedding the successive bits of the watermark. Then after all the three
edges of a triangle are processed, we connect the three newly added points and divide the triangle into 4 sub-triangles. The
subdivision is required for ensuring the resulting stego data be a correct triangle mesh so that it can be correctly processed
by existing graphics systems for the purpose of its intended use. Since the only modification to the cover model is the
subdivision of triangles, the method does not cause any geometric error to the cover model and the embedded watermark
resists affine transformations.
Proc. SPIE Vol. 4314
255
F
Mi
D
M2
Figure 2: Embedding procedure.
3.2 Embedding Algorithm
The input to the embedding algorithm are the cover model which is a triangle mesh of a 3D model, the watermark which we
assume to be a bit string, and a seed number for generating pseudo random numbers. Those pseudo random numbers are
embedded into the model together with the watermark to identify the beginning and end of the watermark, and the order in
which the edges of triangles are traversed. During the watermark extraction, an edge used for embedding is identified by
finding two adjacent edges lying on the same line in the stego model. Therefore, at the preprocess stage, for those adjacent
edges lying on the same line in the original model, we displace the shared vertex of the adjacent edges for a small distance
so that they can be later distinguished from those edges used for embedding during watermark extraction.
Our algorithm embeds a watermark into a triangle mesh in the following 11 steps:
1.
If two adjacent edges lying on the same line, displace the shared vertex of the two edges in the normal direction of the
surface for a given small distance.
2.
Randomly choose a triangle for starting the embedding. In Figure 2, we assume triangle ABC has been chosen as the
starting triangle.
3.
Generate two pseudo random numbers M1 and M2 with the input seed, and embed them into two edges of the triangle
by adding a new vertex to each edge. This defines the order in which the triangle should be traversed. In Figure 2, M1
is embedded by adding the new vertex V1 to edge AB and M2 is embedded by adding the new vertex V2 to edge BC.
This defines a clockwise order for traversing the edges of triangle ABC.
4.
Embed the first k bits of the watermark into the mesh by adding new vertex to the third edge of the triangle (V3 on
edge AC in Figure 2).
256
Proc. SPIE Vol. 4314
5.
Connect the newly added three vertices and divide the triangle into four sub-triangles. In Figure 2, triangle ABC is
divided into the four sub-triangles AV1V3, V1BV2, V3CV2, and V1V2V3.
6.
Find the triangle sharing the last visited edge with the processed triangle and embed the remaining bits of the
watermark by adding new vertices to the other two edges of the triangle. The edges are traversed in an opposite order
of previous triangle. In Figure 2, after the edge AC of triangle ABC is visited, triangle AEC is select and is traversed in
a counter clockwise order.
7.
If we failed to find such a triangle in step 6, then we traverse the visited edges back until we find an edge shared by
another triangle which has not been visited and then go to step 6. In Figure 2, we failed to find the next triangle after
edge ED is visited, so we traverse back the visited edges (CD ->EC -> AE) and find triangle AEF at edge AE.
8.
Repeat step 6-.-7, until all the bits of watermark has been embedded into the mesh.
9.
Generate a pseudo random number and embed it to the mesh to identify the end of embedded information.
10. Peel off the area used for embedding from the original triangle mesh except for the starting vertex as shown in Figure
3. This operation is required to ensure that the resulting stego data is a triangle mesh of correct data structure.
Figure 3: Peel off the embedded mesh from the cover data
3.3 Extraction Algorithm
The input to the extraction algorithm is the stego model and the same seed as that used in the embedding algorithm. To
extract the embedded watermark from the stego model, we first reconstruct the topology of cover model from the stego
model by treating two edges sharing a common vertex and lying on the same straight line as an edge of the cover model.
After the topology is reconstructed, we can traverse the edges used in embedding in the same order as they were traversed in
the embedding process. The traversing starts from finding the edge where the first maker M1 was embedded. The order of
traversing is decided by finding the edge where second marker M2 was embedded. The embedded bit string is extracted by
calculating the ratio of two edges concatenated to an edge in the reconstructed triangle list. The extraction process stops at
the moment the ending marker M3 is extracted.
Proc. SPIE Vol. 4314
257
4. RESULTS AND DISCUSSIONS
Figure 4 shows a wireframe rendering of the stego model embedded with the message "This is a test message." The area
where the message was embedded is rendered with white lines. We can see that each triangle in this area has been divided
into four sub-triangles. The total number of triangles in the original model is 1349. Embedding one character in each edge,
the total number of increased triangles in the resulting stego model is 48. The time required for embedding and extracting
the message on a Pentium II 300MHz PC with 128 memory is about 3 seconds.
Figure 4: Stego model with message "This is a test message" embedded in it.
Now let us take a look at the features of the proposed technique by investigating whether and how it satisfies the
watermarking requirements stated in Section 2.1.
Unobtrusive
In principle, the proposed watermarking technique does not cause any geometric error to the original 3D model. However, if
the original mesh contains adjacent edges lying on the same straight line, displacement of the shared vertices of these edges
causes small change to the geometry of the original model. The error bound depends on the error bound of floating point
calculation required for testing whether two edges are on the same line. Therefore such change in geometry is usually very
small and is unnoticeable to users when the 3D model is rendered. The watermark is invisible to users, but the area in the
mesh used for embedding may be noticeable to users as an area of relative higher mesh density when the model is rendered
as wireframe. When the model is shaded, the surface color may fails to be continuous at the border of the area used for
embedding and the remaining part of the mesh, due to the different ways of interpolation.
258
Proc. SPIE Vol. 4314
Robust
As we mentioned before, the watermark embedded with our technique resists affine transformation. However, it will be
destroyed by local deformations and topological alterations. By repeatedly embedding the watermark at different parts of a
triangle mesh, we may have the watermark survive from some of those operations such as the local deformation or resection
of the model. In case of simplification, however, as the 4 sub-triangles resulting from the subdivision of a triangle lying on
the same plane, the area embedded with watermark has a very high probability of being processed by most polygon
simplification algorithms. Intentional attacks, such as adding noise to vertex coordinates can be prevented by giving an
allowance in testing whether two edges lies on a same line and use only the higher bits of the ratio of edges for embedding.
As we mentiohed previously, the embedded watermark is imperceptible, though the area where the watermark was
embedded can be identified by relative high mesh density. A brute-force method to prevent intentional attack to the
embedded area is to subdivide all triangles in the mesh, with the sacrifice of increasing the number of triangles by 4 times.
Space efficient
Large capacity of embedding is one of the largest advantages of our technique. In principle, we can embed up to 8 byte data
in a single edge of a triangle mesh when double precision floating-point representation is used. In practice, however, due to
the various kinds of errors caused by floating point arithmetic, we usually can not make full use of such capacity. With the
example shown in Figure 4, we embedded 8 bits in one edge, and our experiment shows that the embedded watermark
completely resists continuous geometric transformations including translation, resizing and rotations.
Another advantage of our technique is that it does not require original cover model for the extraction of watermark. The
embedded watermark can be extracted only from the stego model together with the seed for generating the markers, and the
seed can be distributed using existing stego-key technique[1O].
5. CONCLUSIONS
In this paper, we presented a new watermarking technique for 3D geometric models. The technique is robust against the
day-to-day use of 3D models and provides high steganographic bandwidth. It can be considered to be particularly useful for
model annotation and for carrying ownership information. It can be difficult to develop such a watermarking technique that
satisfying all the requirements simultaneously and a practical solution is to choose appropriate approaches application
dependently or combining multiple techniques together. . For example we can embed the same watermark in a 3D model
with both a geometric transform resisting technique and a topological alteration resisting technique so that the embedded
watermark become robust against both kinds of operations. Our new technique adds yet another alternative to the existing
set of 3D model watermarking techniques.
A major future work is to improve the robustness of the technique especially against the polygon simplification.
ACKNOWLEDGEMENTS
The authors would like to thank Prof.. Ryutarou Ohbuchi from Yamanashi University for his valuable comments. We
deeply appreciate Prof. Issei Fujishiro from Ochanomizu University for his continuous support. This work was partially
supported by Telecommunications Advancement Organization of Japan.
REFERENCES
1. B. Pfitzmann, "Information Hiding Terminology", in R. Amdersom, Ed. Lecture Notes in Computer Science, No. 1174,
pp. 347-350, Springer, 1996.
2. W. Bender, D. Gruhl, N. Morimoto and A. Lu, "Techniques for data hiding", IBM Systems Journal, Vol. 35, NOS
3&4, 1996.
Proc. SPIE Vol. 4314
259
3. Ryutarou Ohbuchi, Hiroshi Masuda, Masaki ,
Aono, "Watermarking Three-Dimensional Polygonal Models",
Proceedings ofACM Mutimedia '97, pp. 261-272, 1997.
4. Ryutarou Ohbuchi, Hiroshi Masuda, Masaki Aono, "Watermarking Three-Dimensional Polygonal Models Through
Geometric and Topological Modifications," IEEE Journal on Selected Areas in Communications, Vol. 16, No. 4,
5.
pp.55 1-560, May 1998.
Benedens, "Geometry-Based Watermarking of 3D Models",IEEE CG&A, Vol. 19, No. 1, pp. 46-55, January/February
1999
6. S. Kanai, H. Date, and T. Kishinami, "Digital Watermarking for 3D Polygons using Multiresolution Wavelet
Decomposition", Proc. of the Sixth IFIP WG 5.2 International Workshop on Geometric Modeling: Fundamentals and
Applications (GEO-6), pp. 296-307, Tokyo, Japan, December 1998.
7. E. Praun, H. Hoppe, A. Finkelstein, "Robust Mesh Watermarking", SIGGRAPH99 Proceedings, pp. 69-76, 1999.
8. B-L. Yeo and M. M. Yeung, "Watermarking 3D Objects for Verification", IEEE CG&A, Vol. 19, No. 1, pp. 36-45,
January/February 1999.
9. G. Braudway, K. Magerlein, and F. Mintzer, "Protecting Publicly-Available Images with a Visible Image Watermark",
IBM Research Report, TC-20336(89918),1996.
10. A. J. Menezes, P. C. Vam Oorshot, and A. A. Vanstone. Handbook of Applied Cryptography", CRC Press, 1996.
260
Proc. SPIE Vol. 4314