Upload
luis
View
217
Download
0
Embed Size (px)
DESCRIPTION
ninguna
Citation preview
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.
1
Robust Digital Watermarking for
Compressed 3D Models Based on Polygonal
Representation
Khalaf F.Khatatneh1, Nadine B. Abu Rumman
2
1Information Technology School, Al-Balqa Applied University, Salt- Jordan
2Department 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
*ManuscriptClick here to view linked References
2
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
3
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 Multi-layer 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
4
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. Input explicit bag of triangles to be compressed, along with quantization
thresholds for positions, normals, and
colors.
2. Topologically analyze connectivity, mark hard edges in normals.
3. Create vertex traversal order & mesh buffer references.
4. Histogram position, normal, and color deltas.
5. Assign variable length Huffman tag codes for deltas, based on histograms, separately
for positions, normals.
6. 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
5
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).
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 n
2 +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)
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 multi-
dimensional 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
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).
6
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 n
2 + 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)
Worst time complexity for MLFF neural network.
Thus by (1), (2), (3) and (4)
T (n) = 30n2 log n + 10 n + n
3
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.1: The shaded angel 3D object model before
and after compression.
(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
7
543652 vertices
1087716 polygons
19576416 Byte Size on
disk
108556 vertices
217542 polygons
3913176 Byte Size on disk
Figure 4.3: The shaded happy 3D object model before
and after compression.
(a) Original object
543652 vertices
1087716 polygons
19576416 Byte Size on
disk
(b) Compressed object
108556 vertices
217542 polygons
3913176 Byte Size on disk
Figure 4.5: The point cloud happy 3D object model
before and after compression.
(a) Original object
48485 vertices
96966 polygons
1745412 Byte Size on
disk
(b) Compressed object
14546 vertices
29088 polygons
523608 Byte Size on disk
Figure 4.6: The shaded horse 3D object model before
and after compression.
(a) Original object
48485 vertices
96966 polygons
1745412 Byte Size on
disk
(b) Compressed object
14546 vertices
29088 polygons
523608 Byte Size on disk
Figure 4.6: The point cloud horse 3D object model before and after compression.
(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 compression.
(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.8: The point cloud cow 3D object model before
and after compression.
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
Model
Happy
Model
Horse
Model
Cow
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
*Execution Time
As CPU Time 76.74 191.65 15.35 1.10
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.
8
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.
3 3.5 4 4.5 5 5.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Compression Ratio
Nois
e R
atio
Multi layer feed forward Neural Network
3D java Geomtery Compression Package
Figure 4.9: Comparing between the compression
algorithm in thesis and 3D Java geometry compression.
V. WATERMARING ALGORITHM FOR COMPRESSED 3D OBJECT
5.1 The Watermarking Algorithm
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.
Phase 2: Generate the Sphere Coordinate for Each
Vertex in 3D Mesh
Step 1: Perform Function on Sphere
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=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]:
The functions are defined on the unit sphere S2 as:
m m
Y (,)=(-1)m kl,m P (cos) *eim
(5.1) i
i
where kl,m is constant, is the associated
Legendre polynomial. Therefore, any
spherical function f: S2R can be
expanded as a linear combination of spherical harmonics:
l m f(,)= cl,m Y (,) (5.2)
l=0 m=-1
l
where the coefficients c l,m are uniquely determined by:
2 m Cl,m= f(,) Y (,) sin(,) d d (5.3)
0 0
l
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.
m
P
l
9
(a) Before (b) After
(a) Before (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
(5.4)
j,m= iM(j) j,m,i j+1,i
(5.5)
Scaling function
coefficient, coarse to fine
Wavelet coefficient, fine to
coarse
Inverse Wavelet Transform
(Synthesis)
j+1,i = kK(j) hj,k,i j,k + mM(j) gj,m,i j,m
(5.6)
Scaling function
coefficient, coarse to fine
When n,- ( n is finest resolution level) with forward
transform to get j,- the wavelet coefficient current level,
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.
Figure 5.2: Neighbors used in spherical wavelet
transform.
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.
10
Butterfly Transform (Analysis)
j,k = j+1,k (5.9) (4.2.9)
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) (5.10) (10)
Butterfly Transform (Synthesis)
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)
(5.12)
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
Because this algorithm is based on the work
proposed in [2], it presents this function as the following
equation.
F(vj)= 1/j * if band j is one of detailed parts
log vj if band j is on approximation parts
(5.13)
where vj is all vertices of M and belong to j.
Step 3: Watermark embedding
The watermark embedding is done by the following
equation:
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.
Phase 5: Extracting Watermark
In order to extract watermark from 3D model the
following steps have been applied:
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,p
2)= ||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.
11
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.
Hausdorff distance :
Hmax (M1,M2)
H(M1,M2) = max { MaxaM1 MinbM2 d(a,b) ,MaxaM2
MinbM1 d(a,b) } (14)
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.
Data Capacity for 3D object in bits
12
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.
D Models Samples
/ Robustness
Metrics against Attacks Angel
Model
Happy
Model
Horse
Model
Cow
Model
Lossy Compression
BER 0.0291 0.0535 0.0945 0.1764
SR 0.9709 0.9465 0.9055 0.9335
Tran2slation
(x+20,y-5, z-13)
BER 0.0018 4.2725e-
004 0.0015
2.4414e-
004
SR 0.9982 0.9996 0.9985 0.9998
Translation
(x-2, y+13, z+5)
BER 0.0011 4.2705e-
004 0.0035
2.4454e-
004
SR 0.9989 0.9996 0.9965 0.9998
Rotation
(y-coordination 30)
BER 0.0020 9.7656e-
004 0.0013
3.0518e-
004
SR 0.9980 0.9990 0.9987 0.9997
Rotation
(x- coordination 30
And
z- coordination 60)
BER 0.0026 9.7436e-
004 0.0025
3.0508e-
004
SR 0.9974 0.9990 0.9975 0.9997
Scale
(x-scale 0.6
,y-scale 2, z-scale 3)
BER 8.2393e-
004
4.5746e-
004
1.5279e-
004
7.0180e-
004
SR 0.9992 0.9995 0.9998 0.9993
Scale
(x-scale 3,
y-scale 0.5
, z-scale 0.2)
BER 8.2397e-
004
4.5776e-
004
1.5259e-
004
7.0190e-
004
SR 0.9992 0.9995 0.9998 0.9993
Smoothing
mesh with regular
subdivisions 1:4
BER 0.0183 0.0237 0.0243 0.0304
SR 0.9817 0.9763 0.9757 0.9696
Table 6.1: The robustness measurement results of BER
for watermarking algorithm in this paper.
3D Models
Samples
/ BER for
attacks
Angel
Model
Happy
Model
Horse
Model
Cow
Model
Lossy
Compression 0.4888 0.3052 0.4272 0.3709
Translation
(x+20,y-5, z-
13)
0.0012 0.0014 9.7656e-
004
6.1035e-
004
Translation
(x-2, y+13,
z+5)
0.0011 0.0017 9.7666e-
004
6.1075e-
004
Rotation (y-
coordination
30)
0.0025 5.4932e-
004 0.0031 0.0018
Rotation (x-
coordination
30 and z-
coordination
60)
0.0037 5.4911e-
004 0.0039 0.0012
Scale (x-
scale 0.6,y-
scale 2, z-
scale 3)
0.0018 0.0061 0.0055 0.0049
Scale (x-
scale 3, y-
scale 0.5, z-
scale 0.2)
0.0023 0.0049 0.0061 0.0051
Smoothing
mesh with
regular
subdivisions
1:4
0.1366 0.1831 0.3520 0.2191
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
in [2] from robustness of two watermarking algorithms
against the attacks. This clearly shows that performance
from BER of our watermarking algorithm is better in
most types of attacks that mention before.
13
Figure 6.1: The experimental result for the work that
proposed in [2]
Figure 6.2: The experimental result for the work in
this paper.
VII. CONCLUSIONS
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
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.
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-470-
06542-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.
[4] Chang, A.M. and Hall, L.O. (1992). The validation of fuzzy knowledge-based systems, Fuzzy Logic for the Management of
Uncertainty, L.A. Zadeh and J. Kacprzyk, eds, John Wiley, New York,
pp. 589-604.
[5] M.Deering "Geometry compression", ACM SIGGRAPH, pp. 1320,1995.
[6] M.Isenburg, Stefan Gumhold, Out-of-Core Compression for Gigantic Polygon Meshes, Proceedings of SIGGRAPH'03, pages 935-
942, 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. 263-270,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.
14
AUTHORS
K. F. Khataneh is with the Information Technology
School, Al-Balqa Applied University, Salt-Jordan (e-mail: [email protected]).
N. Abu Romman is with Princess Sumaya University for Technology (PSUT), Department of Computer Graphics, Amman-Jordan (e-mail: [email protected]).