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 Compressio n, BER Abstract: Multimedia has recently played an increasin gly important role in various domains, including Web applications, movies, video game and medical visualization. The rapid growth of digital media data over the I nternet, 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 watermarkin g algorithm on compressed domain of 3D object more effective, efficient and robustness than working on normal domain.

3d Mesh Compression NN

  • 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]).