Watermarking 3D Models
Watermarking 3D Models
Guided by:
Jyothi Vijayan Presented by:
Assistant Professor
Computer Science Dept. Vaisakh V
College of Engineering Adoor ADR20CS051
Contents
1. Introduction
2. Digital watermarking
3. Characteristics of digital watermarking
4. Applications
5. Attacks against watermarking
6. Watermarking techniques
7. Digital image
8. 3D image
9. Implementation technologies
10. Double layer watermarking scheme
11. Implementation of the method
12. Performance evaluation
13. Future scope
14. Conclusion
Introduction
● In today’s world, both information technology and three–dimensional (3D)
models have seen a massive surge in popularity.
● With this popularity comes a need for protection, whether it is the protection of
sensitive data from being stolen or the protection of 3D models against
copyright violations and theft, and that could be achieved through digital
watermarking.
● The thesis proposes “Double Layer Watermarking scheme for 3D Models
Using Full LSB and Chaotic Functions” as a comprehensive solution to
protect 3D model integrity and embedded sensitive information.
What is digital watermarking?
Digital watermarking refers to the process of embedding information into digital
media (like images, audio, video, or 3D models) to signify ownership, authenticity,
or to convey additional data without altering the media's perceptual quality.
Purpose:
● Slicing Technique: This method builds a 3D model by merging multiple 2D slices of the object,
each offering a different view or perspective. After merging, adding light enhances the object's
appearance, providing depth. This technique divides the 3D image into 2D slices for processing.
Implementation of watermarking for 3D models (Techniques)
Wolfram Mathematica:
● Advantages:
● Vast array of built-in mathematical functions and libraries, suitable for
processing 3D models.
● Excellent visualization capabilities for both 2D and 3D graphics.
● High precision in computational results.
● Disadvantages:
● Slow interpreter, resulting in longer compilation times.
● Steeper learning curve for beginners.
● Limited sharing capabilities for central packages and design tools.
Implementation of watermarking for 3D models (Technologies)
Mathworks MATLAB:
● Advantages:
● Ease of use with a command-line interface and simple language.
● Platform independence and a comprehensive toolbox for various
functions.
● Good for generating quick prototypes and simulations.
● Disadvantages:
● Slower compilation due to interpreted language.
● High cost of acquisition and system requirements.
Implementation of watermarking for 3D models (Technologies)
Python:
● Advantages:
● Simple, readable syntax resembling plain English.
● Open-source nature and extensive library availability.
● Platform independence and ease of use.
● Disadvantages:
● Slower compilation compared to compiled languages.
● Higher memory consumption and runtime errors during testing.
Implementation of watermarking for 3D models (Technologies)
Optimal Choice:
Slice-Based Approach:
● 3D model sliced into 2D segments for individual processing.
● Enables independent handling of each slice for data embedding.
Encryption Layer 1:
● Message undergoes encryption using a shared chaotic function-generated key.
● Ensures secure transformation of the message for transmission.
Encryption Layer 2 - Embedding Process:
● Utilizes Full LSB (Least Significant Bit) embedding technique.
● Embeds the encrypted message within 2D slices of the 3D model.
● Preserves model integrity while hiding the encrypted data.
Implementation
Step 1: Importing the 3D Model
ImageSlices = Image3DSlices[CoverImage]
ImageSlicesLength = Length[ImageSlices]
Step 3: Message selection and conversion
● Select and convert a message into ASCII codes, then into a bit stream.
TakenMessage = StringTake[ExampleData[{"Text", "Hamlet"}], 8192]
takenMessageAscii = ToCharacterCode[TakenMessage];
takenMessageToBits = IntegerDigits[takenMessageAscii, 2, 8] // Flatten // Normal;
● Extract and decrypt the embedded message from the stego 3D model.
modelSlices = Image3DSlices[model];