digital watermarking with phase dispersion algorithm team 1 final presentation simg 786 advanced...
TRANSCRIPT
Digital Watermarking With Digital Watermarking With Phase Dispersion AlgorithmPhase Dispersion Algorithm
Team 1 Final PresentationTeam 1 Final Presentation
SIMG 786 SIMG 786
Advanced Digital Image ProcessingAdvanced Digital Image Processing
Mahdi Nezamabadi, Mahdi Nezamabadi,
Chengmeng Liu, Chengmeng Liu,
Michael SuMichael Su
Motivating ScenarioMotivating ScenarioMotivating ScenarioMotivating Scenario
• Alice creates a 3D shape,and publishes it on the web.
• Bob sells it as his own.Bob sells it as his own.
• How can Alice prove ownership?How can Alice prove ownership?(and make Bob pay her a lot of (and make Bob pay her a lot of money)money)
• Alice creates a 3D shape,and publishes it on the web.
• Bob sells it as his own.Bob sells it as his own.
• How can Alice prove ownership?How can Alice prove ownership?(and make Bob pay her a lot of (and make Bob pay her a lot of money)money)
The solution is…The solution is…
• An invisible, robust digital watermark and put it on the image which can be used for proving the ownership.
• It has been applied in copyright marking business.
• It can be also applied for digital multimedia
Digital Watermarking With Phase Digital Watermarking With Phase Dispersion AlgorithmDispersion Algorithm
• An algorithm for robust, invisible watermarking.• Use the spread-spectrum technique which was
first in communications for hiding the information.
• Uses this characteristics to hide and extract information.
• It can embed both iconic images and binary strings in an image.
• It can handle various types of attacks.
Malicious AttacksMalicious AttacksMalicious AttacksMalicious Attacks
Adding noise
Adding another watermark
Rescale
Lossy compression
Geometric distortion
Cropping
Print and scan
Adding noise
Adding another watermark
Rescale
Lossy compression
Geometric distortion
Cropping
Print and scan
Embedding process illustrationEmbedding process illustration
Watermark extraction processWatermark extraction process
Indices for image differenceIndices for image difference
• MSE (Mean square error)
2
1 1
1
N
i
M
j
i,jIi,jI'NM
I,I'MSE
• Correlation factor
),(),(
),(),('
yxMyxM
yxMyxMCF
Similarity vs. α
• Similarity is measured by cross correlation between original and extracted log
• 64 tiles were used in embedding
• The α controls the visibility of the watermark logo in the watermarked image
• The α also depends on the number of tiles
Implementation of Binary Message Implementation of Binary Message template function 1template function 1
• embedding binary information consists of representing the one and zero bits by positive delta function and black that are placed in predefined and unique locations within the message image.
• It consisted of concentric circles with equal increments in radius and random angular displacement.
• A 64 bits template is shown on left
• The error rate is 0 for this 64 bits template
Implementation of Binary Message Implementation of Binary Message template function 2template function 2
• 650 bits template function is shown on the left
• 650 bits can embed 32 characters by repeating them 5 times with no compression
• The error rate is 0.46% for this 650 bits template, that means the probability for get a wrong bit is 9.7e-8
Rotation/Scale DetectionThresholding
Rotation/Scale DetectionImage rotation
Recovering image from Recovering image from distorted imagedistorted image
How it works?How it works?
x f1(x,y)
y f2(x, y)For example:
x a11x a12y a13
y a21x a22y a23
In matrix form it will be:
x
y
a11 a12 a13
a21 a22 a23
x
y
1
Matirx formMatirx form
A a11 a12 a13
a21 a22 a23
XYo x
y
XYi x
y
1
XYo AXYi
There is a standard method to solve above equation for matrix A. For above example we need at least six points (six equations) to solve for six unknown coefficients.
Matrix form continued…Matrix form continued…
XYo AXYi
XYo (XYi ) AXYi (XYi )
XYo (XYi ) Inverse(XYi (XYi ) ) AXYi (XYi ) Inverse(XYi (XYi ) )
XYi (XYi ) Inverse(XYi (XYi ) ) 1 1 1
1 1 1
1 1 1
A XYo (XYi ) Inverse(XYi (XYi ) )
Apply matrix A and some extra Apply matrix A and some extra simple image processingsimple image processing
• Apply matrix A to whole image and calculate new coordinates of reconstructed image.
• Interpolate for in-between points.• If necessary zero-padding should be
applied.• Trim the image to have integer number of
tiles in each direction.
Rotation and rescaling
CF MSE
Not rotation and scaling 0.5509 0.0206
With Rotation and rescaling
0.5081 0.0301
Affected by lowpass filter
The watermarked image is blurred The extracted logo is equivalent to original log convolve with a low pass filter
Filter size 3 by 3 5 by 5
CF MSE CF MSE
Not Filtered Watermark
0.5660 0.0320 0.3340 0.0820
Filtered Watermark
0.8282 0.0206 0.7083 0.0471
Affected by JPEG lossy by JPEG lossy compressioncompression
Original size Resolution MSE CF
4.1MB 2k X 2k 0.1194 0.5130
Compressed size
Compression ratio
MSE CF
555KB 7 0.1385 0.4172
312KB 13 0.1562 0.3798
199KB 20 0.1901 0.3251
Affected by random noiseby random noise10% noise 20% noiseA zero mean random noise profile
Affected by noiseby noise
Noise level
MSE CF
10% 0.1264 0.4955
20% 0.1402 0.4576
50% 0.1917 0.3327
100% 0.2485 0.2143
50% noise 100% noise
Affected by Croppingby CroppingCropping MSE CF
50% 0.1973 0.4301
80% 0.2602 0.4173
90% 0.5949 0.2119
Multiple watermarksMultiple watermarks
With the same keyTwo watermarks embedded and extracted with different keys
Affected by halftone printingby halftone printing
Lena after printed and scanned Extracted watermark
Halftoning can destroy the correlation between Halftoning can destroy the correlation between image and watermark.image and watermark.
ConclusionsConclusions
• A phase dispersion carrier function is the key for the algorithm to work.
• α = 0.2 gives the best balance between visibility and signal strength.
• It can resist the following attacks: lowpass filtering, cropping, lossy compression, noise, rotation and rescaling.
• Very sensitive to rotation angles.• More work needed for handling halftoning.
What’s done so far?What’s done so far?
• Basic functionality: carrier function, embed and extract simple iconic image, binary message, make it invisible.
• Embed into multiple-tile images and make it robust.
• Blurring, cropping, noise, rotation, lossy compression and rescaling resistant.
• Performance evaluation.
Future workFuture work
• Deal with printing halftoning attacks
• Support color images, embed the hiding information in chromatic channels and keep the luminance unchanged.
• Deal with image distortion.
• Make it a stand alone application by integrate the Matlab code with C code
Thank youThank you
• Questions?