Anda di halaman 1dari 15

Applied Soft Computing

Manuscript Draft
Manuscript Number: ASOC-D-11-00203
Title: Robust Digital Watermarking for Compressed 3D Models Based on Polygonal Representation
Article Type: Full Length Article
Keywords: Rubost Watermarking, Spherical Wavelet Transformation, Artificial Intelligent, Multi-layer
Feed Forward Neural Network, Attacks, Butterfuly Transform method, Lossy Compression, BER
Abstract: Multimedia has recently played an increasingly important role in various domains, including
Web applications, movies, video game and medical visualization. The rapid growth of digital media
data over the Internet, on the other hand, makes it for everybody to access, copy, edit and distribute
digital contents such as electronic documents, images, sounds and videos. Motivated by this, much
research work has been dedicated to develop methods for digital data copyright protection, tracing the
ownership and preventing illegal duplication or tampering. This paper introduces a methodology of
robust digital watermarking that applied on compressed polygonal 3D models, which is based on the
well-known spherical wavelet transformation after producing the compressed 3D model using neural
network, and we proved in this work that applying watermarking algorithm on compressed domain of
3D object more effective, efficient and robustness than working on normal domain.

*Manuscript
Click here to view linked References

Robust Digital Watermarking for


Compressed 3D Models Based on Polygonal
Representation
Khalaf F.Khatatneh1, Nadine B. Abu Rumman2
1

Information Technology School, Al-Balqa Applied University, Salt- Jordan


Department of Computer Graphics and Animation, Princess Sumaya University for Technology, Amman, Jordan

Abstract Multimedia has recently played an


increasingly important role in various domains, including
Web applications, movies, video game and medical
visualization. The rapid growth of digital media data over
the Internet, on the other hand, makes it for everybody to
access, copy, edit and distribute digital contents such as
electronic documents, images, sounds and videos. Motivated
by this, much research work has been dedicated to develop
methods for digital data copyright protection, tracing the
ownership and preventing illegal duplication or tampering.
This paper introduces a methodology of robust digital

watermarking that applied on compressed polygonal


3D models, which is based on the well-known
spherical wavelet transformation after producing the
compressed 3D model using neural network, and we
proved in this work that applying watermarking
algorithm on compressed domain of 3D object more
effective, efficient and robustness than working on
normal domain.
Index Terms Rubost Watermarking, Spherical Wavelet
Transformation, Artificial Intelligent, Multi-layer Feed
Forward Neural Network, Attacks, Butterfuly Transform
method, Lossy Compression, BER.

I.

INTRODUCTION

Multimedia has recently played an increasingly


important role in various domains, including Web
applications, movies, video game and medical
visualization. The rapid growth of digital media data over
the Internet, on the other hand, makes it easy for
everybody to access, copy, edit and distribute digital
contents, such as electronic documents, images, sounds
and videos [1]. Motivated by this, much research work
has been dedicated to develop methods for digital data
copyright protection, tracing the ownership and
preventing illegal duplication or tampering. One of the
most effective techniques for the copyright protection of
digital media data is a process, in which hidden specified
signal (watermark) is embedded in digital data. The
existing efforts in the literature on digital watermarking
have been concentrated on media data such as audio,
images, and video, but there are no effective ways for the
copyright protection of three dimensional (3D) models
against attacks, especially when the copyright of the
models is distributed over the Internet. The watermarking
technique should allow people to permanently mark their

documents, and thereby prove claims of authenticity or


ownership.
The problem of 3D models watermarking is that the
3D model watermarking has received less attention from
researchers due to the fact that the technologies that have
emerged for watermarking images, videos, and audio
cannot be easily adapted to work for arbitrary surfaces or
polygons. Therefore, there are some important points that
should be kept in mind when a watermarking mechanism
is to be adopted for 3D objects. The most important of
which are:

The scheme of the 3D object representation,


which is more complex to handle than other
multimedia data, where different kinds of
representation are available for 3D models; an object
can be represented on a 3D grid like a digital image,
or in a 3D Euclidean space.

The precision and size of a 3D object should be


in focus since a high precision leads to an increased
amount of data and huge size of the 3D object in the
storage. Furthermore, it should be taken into account
that embedded watermark doesn't obviously affect
the objects size.

The watermarking scheme is so important for


producing robust watermarks that must be able to
survive from a variety of attacks, including resizing,
cropping, lossy compression, filtering, or attempts to
remove the watermark. The secret watermarks
should be robust to more complex transformations.
The robustness is thus evaluated by measuring the
survival rate of watermarks after attacks.
This paper provides the necessary information
related to the watermarking methods for 3D objects. First
we will introduce the background information for
watermarking methodologies, next proposed of
compression methodology using one of the most
important artificial intelligent tools, which is Multi-layer
feed forward neural network. After that the output from
compression which compressed object will be the target
for watermarking algorithm that applies the watermark in
spherical wavelet transformation on compressed data set
for polygonal mesh that is used to decompose the original
mesh into some detailed parts and an approximation part
by using spherical wavelet transformation [2]. The
watermarked model and wavelet coefficients are used to
remove the watermark, which can be a secret key or

image, in order to get the original model which makes the


watermarking algorithm more robust. Finally the
watermarked 3D compressed model is evaluating from
two points of view; the effectiveness of the watermarking
algorithm applied on the 3D model and the robustness of
the embedded watermark, and we will present our result
on six 3D models as sample for our algorithm and
evaluation the algorithm against various types of attacks
geometric transformation, smoothing, lossy compression.
The experimental runs of the watermarking
algorithms under study were performed on a TOSHIBA
Satellite A200 personal computer (Intel (R) Core (TM)
Duo, CPU T2450 (2 CPUs ~2.0GHz)), with 2550 MB
RAM, display card Mobile Intel(R) 945GM Express
Chipset Family and 110 GB disk storage.
II.

BACK GROUND

Digital watermarks provide a mechanism for


copyright protection of digital media by allowing people
to permanently mark their documents and thereby prove
claims of authenticity or ownership. 3D watermarking
aims at hiding, in an invisible way, information inside 3D
object. This information can then be recovered at any
time, even if the 3D object was altered by one or more
non-destructive attacks, either malicious or not.
Watermarks can be fragile or robust. Fragile watermarks
are used for authentication of modifications localization.
Their goal is to detect the slightest change to the
document. Robust watermarks are designed to survive
through most attacks, where the robustness is the ability
to recover the watermark even if the watermarked 3D
object has been manipulated.
Watermarking is proposed as the most active
solution to prompted unauthorized manipulations and
malicious attacks of valuable contents of the 3D object
media by changing some of their lower significant bits.
Watermarking schemes can be classified also into private,
public and semi-public [3].
A private watermarking scheme needs the
original model and watermarks to extract the
embedded watermarks.
A public watermarking scheme can extract
watermarks in the absence of the original model and
the watermarks, which is also called blind so that all
fragile watermarking schemas are also public.
A semi-public watermarking scheme does not
need the original model in the watermark extraction
stage, but the original watermarks are necessary for
comparing with the extracted watermarks.
Watermarks (input) are the amount of information
that is embedded in a data object; this information might
be image or secret key. The way of embedding should not
affect on the objects viewing or the general form of a 3D
object. Watermark is called embedding or watermarking.
In this paper, the information encoded in the object by the
objects owner is image or a secret key (such as ID or
symbol-sequence). The 3D objects (target) that host the
watermark to be embedded in using an embedding
algorithm are called cover of watermark, which are in this
paper, polygonal models. The output is then a

watermarked 3D object. Based on this, the 3D object is


the host and because 3D object has three components:
geometry, connectivity and texturing, then the
watermarking might be: 1. Geometry watermarking. 2.
Connectivity watermarking. 3. Texture watermarking.
In this research, the 3D object is used without
texturing. Thus, the watermarking, in this paper, is based
on connectivity and geometry watermarking. In addition,
working with connectivity and geometry watermarking is
more robust than texture watermarking because they
protect their components, which are vertices and faces
from mesh operation, attacks like scaling, smoothing
compression and geometry transformation.
The watermarking is based on 3D object attributes,
which are geometry and topology that make embedding
watermarking primitives either geometrical embedding
primitives or topological embedding primitives, which is
making watermarking methods either geometry-based
watermarking methods or topology based watermarking
methods each of these methods has its own characteristic
that will be discussed in the following points [4].
1.

Geometry Based Watermarking Methods:

The method that focuses on the geometric feature of


3D object which is the objects vertices, so embedding
the watermark may modify the position of vertices in
order to insert the watermark, changing length of a line,
area of polygon or ratio of volumes of two polygons. One
of the most of simplest examples of this type is
embedding watermark directly onto vertex coordinates
[5] that works as in the following steps:
Modify the coordinates of the vertex by
modulating the watermark signal with global
scaling factor and masking weight.
The masking weight for each vertex is
the average of differences between of the
connected vertices to that vertex.
Adding the watermark coordinate
values.
2.

Topology Based Watermarking Methods:

This is the method that focuses on the topological feature


of 3D object which is connectivity of mesh vertices. So,
embedding the watermark changes the topology of a
model, where the side effect of this is a change in
geometry also. Usually, working with topology is more
robust for the watermarking, where the topology is
redefined to encode one or more bits. One of the most
famous examples of this type is encoding binary bits in
triangulating a quadrilateral way [6]. Many methods
combine geometric methods with topological methods,
which the method that will be use in this thesis
watermarking algorithm.
III.

RELATED WORK

The pioneer works of watermarking 3D models


were performed by Ohbuchi [7], who introduced several
schemes for watermarking polygonal models. One
2

scheme embeds information using groups of four adjacent


triangles, while another scheme proposed using ratios of
tetrahedral volumes. The tetrahedral are formed by the
three vertices of each face and a common vertex that is
computed by averaging a few fixed mesh vertices.
Moreover, a way of visually embedding information into
polygonal mesh data is proposed by modifying the vertex
coordinates, the vertex topology, or both. Ohbuchi et al.
[8] also proposed a frequency domain approach to
watermark 3D shapes, where the mesh is segmented first
into some patches, and then for each patch, a spectral
analysis is conducted, and the watermark information is
finally embedded into the frequency domain at the
modulation step.
The approach of Guillaume [9] is quite different;
Guillaume presented a digital watermark embedded on
3D compressed meshes based on subdivision surface,
which chooses a 3D object segmented into surface
patches as a target, and then hides the watermark in the
compressed object.
Praun [10] provided a robust watermarking scheme
suitable for proving ownership claims on triangle meshes
representing surfaces in a 3D model by converting the
original triangle mesh into a multiresolution format,
consisting of a coarse base mesh and a sequence of
refinement operations. Next, a scalar basis function is
defined over its corresponding neighborhood in the
original mesh. A watermark is then inserted as follows:
each basis function is multiplied by a coefficient, and
added to the 3D coordinates of the mesh vertices. Each
basis function has a scalar effect at each vertex and a
global displacement direction, where this process is
applied as a matrix multiplication for each of the three
spatial coordinates x, y, and z.
In 3D model represented as cloud of vertices and list
of edges corresponding Kundur [11] provided a new
method based on finding and synchronizing particular
areas used to embed the message by using data hiding
that relies on modifying the topology of the edges in
chosen area.
A wavelet-based multiresolution analysis is used for
polygonal models proposed by Wan-Hyun Cho [12].
First, generate the simple mesh model and wavelet
coefficient vectors by applying a multiresolution analysis
to a given mesh model. Then, watermark embedding is
processed by perturbing the vertex of chosen mesh at a
low resolution according to the order of norms of wavelet
coefficient vectors using a look-up table. The watermark
extraction procedure is to take binary digits from the
embedded mesh using a look-up table and similarity test
between the embedded watermark and the extracted one
follows.
JIN Jian-qiu et al [13] proposed a robust
watermarking for 3D mesh. The algorithm is based on
spherical wavelet transformation, where the basic idea is
to decompose the original mesh of details at different
scales by using spherical wavelet; the watermark is then
embedded into the different levels of details. The
embedding
process
includes:
global
sphere
parameterization, spherical uniform sampling, spherical

wavelet forward transformation, embedding watermark,


spherical wavelet inverse transformation, and at last
resampling the watermarked mesh to recover the
topological connectivity of the original model.
Adrian G.Bors [14] also proposed public
watermarking algorithm that is applied on various 3D
models and does not require the original object in the
detection stage using a key to generate a binary code, a
set of vertices and their neighborhoods are selected and
ordered according to a minimized distortion visibility
threshold. The embedding consists of local geometrical
changes of the selected vertices according to the
geometry of their neighborhoods.
The proposed robust watermarking algorithm
should meet the following technical requirements:
1. Direct Embedding: The watermark should be
directly embedded into the compressed
geometry data or topology data of the polygonal
model.
2. Invisible: The embedded watermark must be
perceptually invisible within the model and
unnoticeable for the user.
3. Small geometric error: The geometric error of
the polygon data caused by the embedding must
be small enough in order not to disturb the
application use.
4. Robustness: The embedded watermark must be
unchanged or difficult to be destroyed under the
possible 3D geometric operations done on the
3D polygonal model.
5. Capacity: The amount of the watermark which
can be embedded in the model is large enough
to record the information needed for the
application.
6. Efficient Space: A data embedding method
should be able to embed a non-trivial amount of
information into model.
IV.

COMPRESSTION 3D OBJECT ALGORITHM

The neural network employed in this paper is MLFF


neural network to provide lossy compression method,
where neural network tool used for this algorithm is
Mathworks tool (Neural Network Toolboxs with Multilayer Feed Forward Architecture) the object is created
manually (modeling them using Autodesk Maya 2008)
and before entering the data in neural, the pre-processing
should be applied on these data.
4.1 The Pre-Process Data Set
Before the inputs are presented to the MLFF, the
data should be pre-processed. Accuracy of the outputs of
neural network depends on the data pre-processing step.
The following are the steps that should be done in data
pre-processing stage:
Normalization
Extract main features of the dataset
The supervised learning problem is divided into
parametric and nonparametric models. The problem here

lies in the nonparametric model because there is no prior


knowledge of the form of the function being estimated.
Therefore, neural network learning by example is
required. The learning process will be performed by a
learning algorithm. The objective of this algorithm is to
change the synaptic weight of the network to attain a
desired design objective, which is the compressed object.
Once the network has been trained, it is capable of
generalization. The examples that used in neural network
as training set are ten 3D different models that are created
manually using Maya. Our target is to create desired
outputs. These outputs are generated by external package
for geometry compression using Java 3D package.
Standard representations of a polygon mesh uses:

An array of floats to specify the


positions, and

An array of integers containing


indices into the position array to specify the
polygons
.
A similar scheme is used to specify the various
properties and how they are attached to the mesh. For
large and detailed models, this representation results in
large substantial size, which makes their storage
expensive and their transmission very slow.
All the positions of vertices should be normalization
between 0.0 and 7.0. This step helps neural network to
focus on the aim of reducing the number of vertices and
reconstructing the faces. All vertices value should be
normalization between [0 -7] to make all neural network
work concentrate on compression. The minimum value
for all vertices coordination of all ten created models
should be 0 and the maximum values should be 7, the
normalization process is doing using Maya to make all
vertices coordination between 0 and 7.There are ten 3D
objects are samples that used in the training in MLFF
neural network as input object. But first before entering
these models in neural network we should have also
target object which is compressed object using Java 3D
compression geometry package. we considered ten
models are enough for training neural network because
the compression of 3D models with same attributes as
representation and with normalization between [0 - 7] for
all those models. Also from our experiments we noticed
that training neural network takes a lot of time and after
ten models the neural network became capable of
generalization.
4.2 Java 3D Geometry Compression
There are three main aims for the geometry
compression technique; efficient rendering, progressive
transmission, and maximum compression to save disk
space [15].
The geometry compression using Java 3D package
can achieve (lossy) compression ratios between 10:6 to
one object, depending on the original representation
format and the desired quality of the final level. The
compression proceeds in four stages. The first stage is the
conversion of triangle data into a generalized triangle

mesh form. The second is the quantization of individual


positions, colors, and normals. Quantization of normals
includes a novel translation to non- rectilinear
representation. In the third stage, the quantized values are
delta encoded between neighbors. The final stage
performs a Huffman tag-based variable-length encoding
of these deltas. Decompression is the reverse of this
process. The decompressed stream of triangle data is then
passed to a traditional rendering pipeline, where it is
processed in full floating point accuracy. The
improvement in this package by adding optimization
compression makes the lossy in detail of the 3D object
much more little. Figure 3.21 displays the pseudo-code
that describes part of this work. The geometry
compression algorithm steps for Java 3D package are as
follows [15]:
1.

2.
3.
4.
5.

6.

Input explicit bag of triangles to be


compressed, along with quantization
thresholds for positions, normals, and
colors.
Topologically analyze connectivity, mark
hard edges in normals.
Create vertex traversal order & mesh buffer
references.
Histogram position, normal, and color
deltas.
Assign variable length Huffman tag codes
for deltas, based on histograms, separately
for positions, normals.
Generate binary output stream by first
outputting Huffman table initializations,
then traversing the vertices in order,
outputting appropriate tag and delta for all
values.

Also, there are some definitions that have been


added to identify the critical vertices so that removing
those critical vertices can be controlled such that the
number of vertices remains correspondent to these edges
which are never used by the compression algorithm. The
following are the definitions of those vertices depending
on invariant vertex identification that is provided by [16].
1. Boundary vertices of the 3D model are the
vertices that cannot be used by the compression
algorithms because these are critical vertices.
These are defined as vertices which influence
the shape of the 3D model. These vertices can be
used for watermarking later on.
2. Neighboring vertices to split vertex will never be
used by the compression algorithms.
3. Vertices of edges which do not form simple
triangle a simple triangle, so it cannot be collapsed.
That can be calculated from the data of 3D models by
storing all the vertices and faces according to the label
of vertices, and then check every two consecutive faces.
If any two consecutive triangles have two of its vertices
common so that two vertices form the complex triangle.
In this way, this pair of vertices cannot be used by the

compression algorithm. The complexity of invariant


vertex selection is analyzed as follows according to
[17]:
1. The complexity of selecting boundary vertices of
the 3D object by computing convex hull takes O
(n log n) using quick hull algorithm [18].
2. The neighboring vertices to split, which are
computed after each refinement. If p is the
number of split vertices in a refinement and d is
the maximum degree for a vertex, then the
complexity for processing these set of vertices is
O (p*d).
3. Computing the vertices of edges which are not
simple triangles. First, sort all the faces
according to the label of vertices which takes O
(n log n). Then, checking between two
consecutive faces takes O (n) time. So, the
overall complexity for computing this set of
vertices is O (n log n).

The number of neurons in input layer is 4, where the


first three input vectors are the x, y and z vertices
coordinates and the fourth input is max face ratio which
indicates that the maximum face must remain as it is;
number of neurons in hidden layer is between 3 and 4
because compression process overall depends on hidden
layer so the number of neuron should be absolutely less
than number of neuron in input layer to do compression.
For higher accuracy, the number of neurons in hidden
layer should be increased but this reduces compression
process. A two-layer feed-forward network with sigmoid
hidden neurons and linear output neurons can fit multidimensional mapping problems arbitrarily well, given
consistent data and enough neurons in its hidden layer.
Figure 4.1 displays the neural network structure
with a given 3D model object sample for input object and
target object

T (n) = n log n + n log n + n


T (n) = 2n log n + n (1)
The overall worst time complexity of the algorithm is
also O (n log n).
where T (n) is time complexity and n is the number of
vertices.
The overall complexity of remesh algorithm using
Java 3D geometry compression in addition to invariant
vertex selection algorithm is as follows:
1. The invariant vertex selection algorithm
complexity is O (n log n).
2. The remesh algorithm complexity is O (n).
T (n) = (2n log n +n) * (15n + 4)
T (n) = 30n2 log n +15 n2 +8 n log n
+4n (2)
where T (n) is time complexity and n is the number of
vertices.
The overall worst time complexity of the algorithm is
also O (n2 log n).
4.3 The Structure of MLFF Neural Network
The neural network structure contains input layer,
one hidden layer and output layer, all nodes are fully
connected, the network takes x, y and z coordinates of
vertices as input, the activation function is sigmoid
function with as learning rate which is equal to 0.9.
F(x, )=1/(1+exp(- x))

(4.3.1)

Sigmoid functions are also prized because their


derivatives are easy to calculate, which is helpful for
calculating the weight updates in certain training
algorithms. The derivative is given by:
F'(x, )=- F(x, )(1-F( ,x))

(4.3.2)

Figure 4.1: One hidden layer feed forward neural


network structure.
Because 3D Java geometry compression package is
concentrated on triangle 3D object and because training
the proposed algorithm on neural network is based on
examples from this package so network here also
concentrates on triangle 3D object.
4.4 The Training Samples
The network trains 1000 times with the training set
until MSE (error function) is small that is the difference
between the output objects and desired objects. Training
automatically stops when generalization stops improving,
as indicated by an increase in the mean square error of the
validation samples, adjustment all weight that produces
from hidden layer in each time the neural network
training on training samples, which helps to learn neural
network how to compress other samples. The network
will be trained with gradient-descent back propagation
algorithm with adaptive learning rate. Training time for
each model takes approximately 5 hours and 4 minutes.
For all the ten models, it takes 55 hours and 40 minutes.
The complexity of the overall algorithm that
proposed in this thesis is analyzed as follows:
1. The remesh algorithm used in section 4.2 takes O
(n2 log n).

2. The MLFF neural network algorithm takes O (n3).


Theorem (1): The worst time complexity of
overall of compression algorithm using MLFF neural
network that proposed in this chapter is O (n3).
Proof:
T(n) =2n log n + n (1)
Worst time complexity for invariant vertex selection
algorithm.
T (n) =15n + 4
Worst time complexity for remesh algorithm.
T (n) = 30n2 log n + 15 n2 + 8 n log n + 4n ..(2)
Worst time complexity for remesh algorithm in
addition identify for invariant vertex.
T (n) =10n (3)
Worst time complexity for pre- process data set.
T (n) =n3 .(4)

(a) Original object

(b) Compressed Object

237018 vertices
474048 polygons

71101vertices
142214 polygons

8532792 Byte Size on


disk

2559780 Byte Size on disk

Figure 4.1: The shaded angel 3D object model before


and after compression.

Worst time complexity for MLFF neural network.


Thus by (1), (2), (3) and (4)
T (n) = 30n2 log n + 10 n + n3
where T (n) is time complexity and n is the number of
vertices.
The overall time complexity is O (n3).
4.5 The Results
By using MLFF neural network algorithm, the
performance of the 3D Java geometry compression
increases. The compression ratio is between 5.5 and 5:10
of the original object. The noise ratio depends on the
MSE, which provides minimum noise for the visual eye.
Figures bellow illustrate the result for the two 3D test
models before and after compression.
Compression using MLFF algorithm is an adaptive
one. This means that it can iteratively change the values
of its parameters (i.e., the synaptic weights). These
changes are made according to the learning rules. By
inserting new models different than the 10 models used to
train the MLFF neural network, the execution time and
accuracy for any new model becomes very fast and more
precise, respectively. Below are the figures and tables
that show the result.

(a) Original object


237018 vertices
474048 polygons
8532792 Byte Size on disk

(b) Compressed Object


71101vertices
142214 polygons
2559780 Byte Size on disk

Figure 4.2: The point cloud angel 3D object model before and
after compression.

(a) Original object

(b) Compressed object

543652 vertices
1087716 polygons
19576416 Byte Size on
disk

108556 vertices

(a) Original object

(b) Compressed object

217542 polygons

48485 vertices

14546 vertices

96966 polygons

29088 polygons

1745412 Byte Size on


disk

523608 Byte Size on disk

3913176 Byte Size on disk

Figure 4.3: The shaded happy 3D object model before


and after compression.

Figure 4.6: The point cloud horse 3D object model before and after com

(a) Original object


2904 vertices
5804 polygons
104496 Byte Size on disk

(b) Compressed object


872 vertices
1740 polygons
31344 Byte Size on disk

Figure 4.7: The shaded cow 3D object model before and after compress

(a) Original object

(b) Compressed object

543652 vertices
1087716 polygons

108556 vertices
217542 polygons

19576416 Byte Size on


disk

3913176 Byte Size on disk

Figure 4.5: The point cloud happy 3D object model


before and after compression.
(a) Original object
2904 vertices
5804 polygons

(b) Compressed object


872 vertices
1740 polygons

104496 Byte Size on disk

31344 Byte Size on disk

Figure 4.8: The point cloud cow 3D object model before


and after compression.
(a) Original object

(b) Compressed object

48485 vertices

14546 vertices

96966 polygons

29088 polygons

1745412 Byte Size on


disk

523608 Byte Size on disk

Table 4.1 shows the results achieved by the proposed


algorithm for the six new models entered to MLFF neural
network with the following max face ratio:
Models Samples
/Performance
Metrics

Angel

Happy

Horse

Cow

Model

Model

Model

Model

Max face ratio

0.30000

0.20000

0.30000

0.30000

Edges collapsed

165917

435087

33939

2032

No of final edges

213321

326313

43632

2610

Compression ratio

3.33304

5.05457

3.33343

3.33384

Mean Square Error

0.69465

0.82077

0.79666

0.76822

Vertex signal to noise ratio

0.24736

0.20456

0.00527

0.18737

76.74

191.65

15.35

1.10

Figure 4.6: The shaded horse 3D object model before


and after compression.

*Execution Time
As CPU Time

Table 4.1: The Compression results of six new models.


*CPU Time returns the total CPU time (in seconds) used by MATLAB application from the time it was started.
This number can overflow the internal representation and wrap around.

Figure 4.9 shows the difference between the


proposed algorithms work using the MLFF neural
network and the Java 3D geometry compression package,
by fixing the compression ratio.
0.7
Multi layer feed forward Neural Network
3D java Geomtery Compression Package

0.6

Noise Ratio

0.5

0.4

The functions are defined on the unit sphere S2 as:

0.3

0.2

Y (,)=(-1)m kl,m P (cos) *eim


i

0.1

3.5

4
4.5
Compression Ratio

5.5

Figure 4.9: Comparing between the compression


algorithm in thesis and 3D Java geometry compression.
V.

This function is representing data set on the sphere;


the function used for this representation is spherical
harmonics that helps in making multiresolution
representation of 3D mesh. The point on the unit sphere
can be denoted as follows:
p= (cos sin, sin sin,
cos), where is (0<=<=) and is (2>=>=0)
denote the angles of longitude and latitude respectively, f
(,) is defined as the unit of sphere and the expansion of
f (,) in spherical harmonics is as follow [20]:

WATERMARING ALGORITHM FOR COMPRESSED


3D OBJECT

(5.1)

m
where kl,m is constant,
is the associated
P
Legendre
polynomial.
Therefore,
any
l
spherical function f:
S2R
can
be
expanded as a linear combination of spherical harmonics:

f(,)= cl,m Y (,)


l=0 m=-1

(5.2)

5.1 The Watermarking Algorithm


where the coefficients c l,m are uniquely determined by:
The output result from the compression algorithm
mentioned in section 4, which is the compressed 3D
model, will be the input of the watermarking algorithm
proposed in this section. The proposed watermarking
algorithm is based on spherical wavelet transform which
is considered among the most robust watermarking
methods. The watermarking algorithm in this thesis is
based on the method in [2], which is performing the
efficient spherical wavelet function depending on
spherical wavelet presented in [19].
Phase 1: Generate the Compressed 3D Model using
MLFF Neural Network from Original Mesh
The compression algorithm mentioned in section 4
is applied. Moreover, the critical vertices are identified so
that removing those critical vertices can be controlled
such that a part of the watermark can be embedded in
these vertices. The watermarking algorithm is applied on
compressed 3D model after the object is being
compressed, and the invariant vertex selection, in the
compression algorithm, is identified.
All related details have been explained before. So, a
now compressed 3D model is produced and ready to
work on. This means that all the following work will be
done in compression domain not on the normal domain of
3D object which distinguishes this algorithm from the
other work.

Cl,m= f(,) Y (,) sin(,) d d


0

(5.3)

Step 2: Perform Spherical Parameterization for 3D


Mesh
The parameterization of a triangle mesh onto the
sphere means assigning a 3D position on the unit to each
of the mesh vertices. Topological sphere for 3D object is
a close manifold genus mesh that means embedding its
connectivity graph on the sphere. The following two steps
explain how spherical parameterization information is
generated for 3D mesh:
a. Generating a progressive mesh representation
with local parameterization information based
on the pervious equations explained in the
previous step [20].
b. Computing the subdivision of each triangle into
4 smaller triangles in 3D mesh, and then project
on the sphere whose radius is one.
Figure 5.1 shows the samples for applying spherical
parameterization on 3D model.

Phase 2: Generate the Sphere Coordinate for Each


Vertex in 3D Mesh
Step 1: Perform Function on Sphere

(a) Before

coarse approximation part n-i,- after performing the


decomposition i times so in the same way if we have n-i,and j (j=n-i,n-i+1,..,n-1) we can perform the inverse
transform to n,-, different h, , g, denote different
wavelet basis function. In Euclidean space we have hj, k, i
=hi-2k, gj, k, i =gi-2k, j, k, i =i-2k.

(b) After

(a) Before

Figure 5.2: Neighbors used in spherical wavelet


transform.

(b) After

Figure 5.1: The samples before and after applying


spherical parameterization on it.
Phase

3:

Generate

the

Spherical

Wavelet

Transformation
Because wavelets have been proved to be powerful
bases for use in signal processing based on they only
require a small number of coefficient to represent general
functions and large data sets. Due to local support in both
spatial domain and frequency domain which are suited
for spare approximation of function, the spherical wavelet
proposed in [19] is chosen in this work and the butterfly
wavelet transformation is selected in particular. The
following is a brief description about the wavelet
transformation in general and butterfly wavelet
transformation in particular:
For general wavelet transformation analysis [19]:

Forward
Wavelet
Transform (Analysis)
j,k = iK(j) j,k,i j+1,i

Scaling
function
coefficient, coarse to fine

(5.4)
j,m= iM(j) j,m,i j+1,i
(5.5)
Inverse Wavelet Transform
(Synthesis)
j+1,i = kK(j) hj,k,i j,k +
mM(j) gj,m,i j,m

Wavelet coefficient, fine to


coarse

Scaling
function
coefficient, coarse to fine

M (j) and K (j) are abstract sets the index set


concrete in sphere in figure 4.5 the mesh include dashed
edges in figure is j+1 level resolution where k(j) denotes
the point of intersection points of the solid lines and M(j)
denotes the set of the intersection points of the dash lines
and the union k(j) U M(j) =K(j=1). We need now
compute j and j approximation part and detailed part, by
decomposition in the neighborhood of m. in this butterfly
transform method and bellow is briefly describe.
The work that done on [2] was based on linear and
linear lifting transforms methods, where in linear
transform the scaling coefficient (approximation part) are
subsampled and kept unchanged, this basic interpolatory
form uses the stencil k K ={v1,v2}(see Figure 4.5) for
analysis and synthesis:
j,m=
j+1,m
-1/2(j+1,v1
+j+1,v2)
(5.7)
j+1,m=j,m+1/2(j,v1+j,v2)
(5.8)
Respectively, note that this stencil does properly
account for the geometry provided that the m sites at
level j+1 have equal geodetic distance from the {v1,v2}
sites on their parent edge. And linear lifting update the
scaling coefficients by using the wavelet coefficients of
linear wavelet transform to assure that the wavelet has at
least one vanishing moment sj,v1,m=sj,v2,m=1/2.
In this work the Butterfly transform used to
decomposition the geometric signal of the approximation
parts and detailed parts, where Butterfly method used all
immediate
neighbors
(all
the
sites
km={
v1,v2,f1,f2,e1,e2,e3,e4}. Here sv1=sv2=1/2, sf1=sf2=1/8 and
se1=se2=se3=se4=-1/16 which used construction of smooth
mesh.

(5.6)
When n,- ( n is finest resolution level) with forward
transform to get j,- the wavelet coefficient current level,

Because this algorithm is based on the work


proposed in [2], it presents this function as the following
equation.

Butterfly Transform (Analysis)


j,k = j+1,k
(4.2.9)

(5.9)
F(vj)=

j,m= j+1,m - 1/2(j+1,v1+j+1,v2)


- 1/8(j+1,f1+j+1,f2 ) + 1/16(j+1,e1+j+1,e2 +
j+1,e3+j+1,e4)
(10)

1/j *
log vj

if band j is one of detailed parts


if band j is on approximation parts
(5.13)

(5.10)
where vj is all vertices of M and belong to j.
Step 3: Watermark embedding

Butterfly Transform (Synthesis)

The watermark embedding is done by the following


equation:

j+1,k =j,k
(5.11)
j+1,m= j,m + 1/2(j+1,v1+j+1,v2) +
1/8(j+1,f1+j+1,f2 ) - 1/16(j+1,e1+
j+1,e2 +j+1,e3+j+1,e4)

vj' =vj* F(vj)*W

(5.14)

where vj' is the all vertices after the watermark is


being embedded, vj is the set of all vertices of M and
belong to j (which is produced from phase 4) , W is
watermark (logo image for example), f(vj) is function to
compute the Wight of embedding intensity that can be
computed from equation 5.13.

(5.12)

Phase 5: Extracting Watermark


In order to extract watermark from 3D model the
following steps have been applied:
Before

After

Figure 4.6: The samples before and after applying


spherical wavelet transform on it where the colored
vertices are induction for wavelet coefficients'.
Although the butterfly is considered to take more
time than linear transformation but because the work is
on a compressed domain that greatly affects and then
makes butterfly and linear close in time consuming, but
butterfly is supposed to be more robust in watermarking
algorithm, in this work the level wavelet decomposition
will be to 3 level.
.
Phase 4: Embedding Watermark
Step 1: Generation Watermark
Watermark can be a secret key or image. This
algorithm is adopted to embed watermark as secret key or
image but embedding watermark by these two ways
should be sequences of binary bits, which means that by
the secret key case (all characters and number) should be
converted to a sequence of binary bits, and in the case of
image, the image should be converted to gray scale level
in order to be as a sequence of binary bits. But in all
experimental results that display thesis was just use by
image because the complexity of image more than secret
key which helps to cover the entire model.
Step 2: Compute the Wight of embedding intensity

Step 1: Mesh Registration


The mesh registration here is based on the ICP
(Iterative Closest Point) algorithm, according to the
method that proposed in [22] that applied on
watermarked mesh, which is working as follow:
The Point Set P with No_P points, model shapes M
Iterate until convergence
Compute closest points
Squared Euclidian distances
d(p1,p2)= ||p1-p2||2
Compute registration (rotation and
translation)
Apply the registration
Step 2: Spherical Wavelet Forward Transformation
After produced the mesh registration the spherical
wavelet forward transform applied on two meshes
registration mesh and compressed mesh (original mesh
before applying watermarking algorithm), then
comparing the results meshes in order to extract
watermark image as sequence of binary bits.
5.2 The Results
This section presents the evaluation of the
watermarking algorithm mentioned in 5. There are three
performance metrics, which will be discussed bellow.

10

1. Maximum Geometric Error


The visual impact of the watermarking on the
protected 3D object should be as limited as possible to
measure the effect of the embedded watermark on 3D
objects. In this work, the maximum geometric error is
used.

3D Models
Samples
/ Performance
Metrics

Angel
Model

Happy
Model

Horse
Model

Cow Model

Geometric Error

0.0550

0.0991

0.1912

0.2990

*Time Processing

468.56

703.26

370.83

94.59

Hausdorff distance :
Table 4.1:
The performance measurement of the
watermarking algorithm in this work.

Hmax (M1,M2)
H(M1,M2) = max { MaxaM1 MinbM2 d(a,b) ,MaxaM2
MinbM1 d(a,b) }
(14)

VI.

THE RESULTS EXPERIMENTAL AND EVALUATIONS


AGAINST ATTACKS

2. Capacity of Watermark Embedding


Here, capacity means the amount of information
embedded in 3D object, this amount should be closely
related to the complexity of the object (number of
vertices, number of faces). It is assumed that the data
capacity of watermark should be not more than from the
complexity of 3D object depending on the number of
vertices, depending on choosing the watermark as image,
the logo image shouldnt be more 125*125 pixel (which
noticed by experiments) and then converted to binary
(gray scale) which produced 16384 bits ready to embed
into 3D object
The following equation is used to determine the
capacity of watermark information embedded in 3D
object.

For
testing
the
watermarking
algorithm
implemented in this thesis, the following attacks were
chosen to attack six 3D models samples:

Data Capacity
(5.15)

To measure the robustness of the watermarking


algorithm, Bit Error Rate (BER) is used; figure 5.13 and
equation (6.1) explain how to calculate the bit error rate.
The BER is a rate that measures the errors that upper after
the 3D model is attacked (the ratio of number of
destroyed bits to the total bit length in the extract
watermark).

for

3D

object

in

bits<=

is the complexity of the 3D object that would embed


the watermark in it depends on number of vertices in
the 3D model.

1.
2.
3.
4.
5.
6.
7.
8.

Translation (x+20,y-5,z-13).
Translation (x-2, y+13, z+5).
Rotation (y- coordination 30).
Rotation (x- coordination 30 and zcoordination 60).
Scale (x-scale 0.6,y-scale 2, z-scale 3).
Scale (x-scale 3, y-scale 0.5, z-scale 0.2).
Smoothing mesh as noise filtering with
regular subdivisions 1:4.
Lossy compression that provided by [22].

3. Processing Time
For this watermarking algorithm, most of the time
consumed was spent on calculating coefficients by
spherical wavelet transformation, the embedded
watermark and extracted watermark dont take a lot of
time comparing with wavelet transformation. There is no
mathematical way to calculate the time processing here
but by experimental results shown in table 4.1, it can be
noticed that the time processing is increasing according to
an increasing number of vertices.
Table 5.1 shows the results that have been achieved
by applying the watermarking algorithm in this thesis on
the six models.

BER = (Counterrors(Bits_in
Number of bits)

Bits_out))/(Total
(6.1)

where Bits_in is the sequence of binary bits embedded


into the 3D model before being distributed over Internet
and attacked, Bits_out is the sequence of binary bits that
are extracted from 3D model after being attacked, is
(Exclusive Or) operation that leads to sequence of ones
in the positions that had errors, Counterrors is a counter
that holds how many errors appear after attacks, total
Number of bits is the number of bits in bits_in or
original watermark that is embedded into the 3D model
before being attacked.
Survival Rate= 1-BER

(6.2)

where Survival Rate (SR) is the rate of survival of


watermark under attacks formation, and BER is bit error
rate mentioned in equation (6.2).

11

Table 5.1 shows the measurements of robustness


that are achieved by applying the watermarking algorithm
in this thesis on the six models using BER. Table 5.2
shows the measurements of robustness achieved by
applying watermarking algorithm in [2] also using BER.
Form the results that appear in table 5.1 and 5.2 we
proved that applying watermarking algorithm on
compressed domain more robustness than applying
watermarking algorithm on normal domain.

3D Models
Samples
/ BER for
attacks

Angel
Model

Lossy
Compression

0.4888

0.3052

0.4272

0.3709

Translation
(x+20,y-5, z13)

0.0012

0.0014

9.7656e004

6.1035e004

0.0011

0.0017

9.7666e004

6.1075e004

0.0025

5.4932e004

0.0031

0.0018

0.0037

5.4911e004

0.0039

0.0012

0.0018

0.0061

0.0055

0.0049

0.0023

0.0049

0.0061

0.0051

0.1366

0.1831

0.3520

0.2191

Happy
Model

Horse
Model

Cow
Model

Translation
(x-2, y+13,
z+5)
Rotation (y-

D Models Samples
/ Robustness
Metrics against Attacks

Angel
Model

Happy
Model

Horse
Model

Cow coordination
Model 30)

BER

0.0291

0.0535

0.0945

0.1764

SR

0.9709

0.9465

0.9055

BER

0.0018

4.2725e004

0.0015

SR

0.9982

0.9996

0.9985

0.9335 Rotation (xcoordination


2.4414e30 and z004
coordination
0.9998 60)

BER

0.0011

4.2705e004

0.0035

2.4454e-Scale (x004
scale 0.6,y-

SR

0.9989

0.9996

0.9965

0.9998

BER

0.0020

9.7656e004

0.0013

SR

0.9980

0.9990

0.9987

BER

0.0026

9.7436e004

0.0025

SR

0.9974

0.9990

0.9975

regular
0.9997 subdivisions

BER

8.2393e004

4.5746e004

1.5279e004

7.0180e004

SR

0.9992

0.9995

0.9998

0.9993

BER

8.2397e004

4.5776e004

1.5259e004

7.0190e004

0.9995

0.9998

Lossy Compression

Tran2slation
(x+20,y-5, z-13)

Translation
(x-2, y+13, z+5)

scale 2, zscale 3)

Rotation
(y-coordination 30)

Rotation
(x- coordination 30
And
z- coordination 60)

3.0518e-Scale (x004
scale 3, y0.9997 scale 0.5, zscale 0.2)
3.0508e-Smoothing
004
mesh with

1:4
Scale
(x-scale 0.6
,y-scale 2, z-scale 3)
Scale
(x-scale 3,
y-scale 0.5
, z-scale 0.2)
Smoothing

SR

0.9992

BER

0.0183

0.0237

0.0243

SR

0.9817

0.9763

0.9757

mesh with regular


subdivisions 1:4

Table 6.2: The robustness measurement results of BER


for the algorithm in paper [2].

Figure 6.1 and figure 6.2 show a comparison


between the performed work in this thesis and the work
0.9993
in [2] from robustness of two watermarking algorithms
against the attacks. This clearly shows that performance
0.0304
from BER of our watermarking algorithm is better in
most types of attacks that mention before.
0.9696

Table 6.1: The robustness measurement results of BER


for watermarking algorithm in this paper.

12

Figure 6.1: The experimental result for the work that

work in compressed domain, this cost of time is not


affected any more. Butterfly vertex bases do not only
work on immediate neighbors, which are more suitable
for embedded robust watermark and affected on BER
smaller than work with other transform method for vertex
bases like linear vertices which is noticed from
experiments for different performance metrics.
This work proved that applying watermark on
compressed 3D model is more robust than uncompressed
3D model and also identifying invariant vertex on
compression algorithm stage as critical vertices cannot be
deleted under any condition and helps to identify vertices
to embed watermark into, in addition to vertex bases
wavelet coefficients.

proposed in [2]
References
[1] R.Ohbuchi, M.Nakazawa and T.Takei,"Retrieving
3D shapes based on their appearance", ACM SIGMM
Workshop on Multimedia Information Retrieval,
Berkeley, California, pp. 3946,2003.
[2] 3D Object Processing: Compression, Indexing and
Watermarking. Edited by J.-L. Dugelay, A. Baskurt and
M. Daoudi, John Wiley & Sons, Ltd. ISBN: 978-0-47006542-6, 2008.
[3] P.Besl and D.Mckay,"A method for registration of 3D
shape", IEEE Transaction on Pattern Analysis and
Machine Intelligence, 14(2):239-256,1992.
Figure 6.2: The experimental result for the work in
this paper.

[4] Chang, A.M. and Hall, L.O. (1992). The validation of fuzzy

VII. CONCLUSIONS

knowledge-based systems, Fuzzy Logic for the Management of


Uncertainty, L.A. Zadeh and J. Kacprzyk, eds, John Wiley, New York,
pp. 589-604.

Compression algorithm using MLFF neural network


produces a compressed 3D model with compression ratio
reaches 5.5 which reduces the size of 3D model on disk
with minimum losing details and vertex signal to noise
ratio, this is noticed experimentally by applying the
proposed algorithm on six different 3D models samples.
The MLFF neural network as an AI tool played an
important role in the performance of compression
algorithm making the algorithms performance better
than 3D compression geometry proposed in [19], which is
the neural network that learns the compression on which
it is based.
The methodology of applying watermark on 3D
model after compression ( on compressed domain) is
proved to reduce the processing time of the watermarking
algorithm, in addition to allowing embedding the
watermark into the model without much increasing on
model size compared to original model before
compression.
Implementing the watermarking algorithm based on
spherical wavelet as butterfly transform method for
vertex bases wavelet coefficients. Although this way
costs more time than other vertex bases, but because this

[5] M.Deering "Geometry compression", ACM SIGGRAPH, pp. 13


20,1995.
[6] M.Isenburg, Stefan Gumhold, Out-of-Core Compression for
Gigantic Polygon Meshes, Proceedings of SIGGRAPH'03, pages 935942, July 2003.
[7] M. Isenburg, Peter Lindstrom, Jack Snoeyink, Lossless Compression
of Floating-Point Geometry, Proceedings of CAD'3D, May 2004.
[8] M. Isenburg and J. Snoeyink, " Face Fixer Compressing Polygon
Meshes with Properties" , ACM Siggraph Conference Proc, pp. 263270,2001.
[9] Zachi Karni and Craig Gotsman. Spectral compression of mesh
geometry. ACM, SIGGRAPH 2000, New Orleans, 2000.
[10] G. Zigelman, R. Kimmel and N. Kiryati. Texture mapping using
surface flattening via multidimensional scaling. Preprint, 2000.
[11] E. Piperakis. A.ne Transformations on 3D Objects Represented
with Neural Networks. IEEE, Proceedings of the Third International
Conference on 3-D Imaging and Modeling, 2001.
[12] S. Haykin. Neural Networks, A Comprehensive Foundation.
Macmillan College Publishing Company, 1994.

13

AUTHORS
K. F. Khataneh is with the Information Technology
School, Al-Balqa Applied University, Salt-Jordan (e-mail:
khalafk2002@yahoo.com).
N. Abu Romman is with Princess Sumaya University
for Technology (PSUT), Department of Computer
Graphics, Amman-Jordan (e-mail: Nadine@psut.edu.jo).

14

Anda mungkin juga menyukai