Digital Image Watermarking ELE 488 Final Project, Fall 2011 Princeton University Ali JavadiAbhari

Digital Image Watermarking
ELE 488 Final Project, Fall 2011
Princeton University
Ali JavadiAbhari
Watermarking
Why?
• Fingerprinting (tracking)
• Indexing (search engines)
• Copyright protection and
owner identification
• Data hiding
• Data authentication (fragile
watermarks)
• Recovery (self-embedding)
Properties
• Visibility (transparency)
• Robustness
• Payload
• Security (not through
obscurity)
2
In This Project
• Three techniques
1. Yeung-Mintzer (bit-plane slicing)
2. Cox (spread spectrum watermarking)
3. Fridrich (Self-embedding)
They show a wide range of applications of
watermarking. Their comparison reveals valuable
information.
3
Yeung-Mintzer
• LUT based fragile watermarking method in the
spatial domain
• Good for tamper detection at single pixel level
• Limit run of 1s and 0s in LUT to avoid large
effect on original image
• On average only half the pixels are modified
4
Yeung-Mintzer
• Change to the image are invisible
5
Yeung-Mintzer
• Change to the image are invisible
6
Yeung-Mintzer
• Good for local modification detection (e.g.
Cropping)
7
Yeung-Mintzer
• Good for local modification detection (e.g.
Cropping)
8
Yeung-Mintzer
• Very fragile. Lighting up the whole image by
10 intensity values:
9
Yeung-Mintzer
• Very fragile. Lighting up the whole image by
10 intensity values:
10
Cox
• Watermarking in the frequency (DCT) domain
• Series of random numbers ωi are inserted into
the K most significant coefficients by:
ci'=ci.(1+αωi) 1≤i≤K
• Gamma (γ) is a measure to let us know the extent
of manipulation, and cannot show where the
tampering has taken place (unlike Yeung-Mintzer)
and obviously cannot provide the correct form
(unlike Fridrich)
• Quite robust (retains random numbers’ values)
11
Cox
• The watermark’s effect can be found only with
close inspection, still pretty invisible:
12
Cox
• The watermark’s effect can be found only with
close inspection, still pretty invisible:
13
Fridrich
• Self-embedding
• DCT of 8x8 blocks is taken, encoded into 64-bit string,
and embedded in LSB of destination block
• Source and destination block linked via an encoding
vector, usually 0.3 of image size in length
• Has recovering capabilities, unlike previous methods
• The recovered parts are of low quality (less than 50%
JPEG)
• Works best for local changes (forgery) since both
destination and source must not be modified
14
Fridrich
• Example 1: (Vector=0.4hor+0.1ver)
15
Fridrich
• Example 1: (Vector=0.4hor+0.1ver)
16
Fridrich
• Example 2: (Vector=0.4hor+0.1ver)
17
Fridrich
• Example 2: (Vector=0.4hor+0.1ver)
18
Contribution
• Previous method shows a flaw in the method
proposed in the paper by Fridrich
• If Block 2 is inconsistent with both Block 1 and Block
3, it might be that Block 2 is not tampered but the
other two are. Need to check Block 0 to be sure
Block 0
Encryption vector
Block 1
Block 2
Block 3
19
Contribution
• Example 2: (Vector=0.4hor+0.1ver)
20
Comparisons
Yeung-Mintzer
Cox
Fridrich
Philosophy
Detect any change, at the level of
individual pixels
Be more robust; determine
weather change is strong enough
or not
Detect local tampering, and also
correct it
Visibility
(qualitative transparency)
Invisible
Invisible
Invisible
Effect on original image *
(quantitative
transparency)
0.1619 %
1.4694 %
0.1117 %
Robustness
Very Fragile
Very robust
Robust to local modifications
Information needed for
decoding
LUT
K largest coefficients, their
indices, the random numbers and
alpha
Encoding vector
Recoverable
No
No
Yes
*Based on Lenna. Measuring average difference between pixels by summing differences,
and dividing by image size times pixel range (256)
21
Comparisons
Using morphological transformations as benchmarks:
Yeung-Mintzer
(recovered logo)
Cox
(γ)
Fridrich
(recovered image)
Crop
Shows crop location
0.2065
(unacceptable)
Recovered
Filter
Edges ruined
0.8856
(acceptable)
Destroyed
Illuminate
Destroyed
0.4870
(acceptable)
Partial destruction
Noise
Noisy
0.5690
(acceptable)
Partial destruction
Rotate
Same rotation
0.0170
(unacceptable)
-
22
Cropping out a rectangle
(Yeung-Mintzer)
γ=0.2065 (Cox)
(Fridrich)
23
Lowpass Filtering
(Yeung-Mintzer)
γ=0.8856 (Cox)
(Fridrich)
24
Illuminating
(Yeung-Mintzer)
γ=0.4870 (Cox)
(Fridrich)
25
Adding Noise
(Yeung-Mintzer)
γ=0.5690 (Cox)
(Fridrich)
26
Rotating
(Yeung-Mintzer)
γ=0.0170 (Cox)
MATLAB out-of-bound access in Fridrich algorithm
(Fridrich)
27
References
• [1] M. Yeung and F. Mintzer. Invisible Watermarking for Image
Verification. Journal of Electronic Imaging, pp. 576-591, 1998.
• [2] I. Cox, J. Kilian, T. Leighton, T. Shamoon. Secure Spread Spectrum
Watermarking for Multimedia, IEEE Transaction on Image
Processing, vol.6, no.12, pp.1673-1687, 1997.
• [3] J. Fridrich, M. Goljan, Protection of Digital Images Using SelfEmbedding, Symposium on Content Security and Data Hiding in
Digital Media, NJ, USA, May 14, 1999.
• [4] R. C. Gonzalez and R.E. Woods, Digital Image Processing 4th
Edition, Prentice Hall, New Jersey, 2009.
• [5] B.B. Zhu, M.D. Swanson and A.H. Tewfik. When seeing isn’t
believing. IEEE Signal Processing Magazine, pp. 40–49, 2004.
28
Thank You!
Any Questions?
29