26
Comparison of Digital Image Watermarking Algorithms Xu Zhou Colorado School of Mines December 1, 2014

Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Comparison of Digital Image Watermarking Algorithms

Xu Zhou

Colorado School of Mines

December 1, 2014

Page 2: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Outlier

• Introduction

• Background on digital image watermarking

• Comparison of several algorithms

• Experimental Results

• Conclusion

Page 3: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Introduction

• Can be considered as a kind of a signature that reals the owner of the multimedia object.

• Used for copyright protection, content authentication, tamper detection.

• Three different types: visible watermark, invisible-robust watermark and invisible-fragile watermark

• Three main requirements: transparency (or fidelity), robustness and capacity.

Page 4: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Evaluation Criteria

• Peak Signal to Noise Ratio (PSNR)

• Normalized Cross-Correlation (NC)

Page 5: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Classical Methods for Digital Image Watermarking

Spatial Domain: • Least Significant Bit (LSB) Substitution

Frequency Domain: • Discrete Cosine Transform (DCT) based watermarking

• Discrete Wavelet Transform (DWT) based watermarking

• Discrete Fourier Transform (DFT) based watermarking

• Discrete Hartley Transform (DHT) based watermarking

• etc.

Page 6: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

LSB based watermarking

Watermark Embedding Algorithm For each pixel in base, watermark and watermarked image

1. set n least significant bits to zero for base image

2. shift right by 8-n bits for watermark

3. add values from base and watermark for the watermarked image.

Page 7: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

LSB based watermarking

Watermark Extraction Algorithm For each pixel in watermarked image and extracted image

1. shift left by 8-n bits for watermarked image

2. set to the shifted value of watermarked image for extracted image

Page 8: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DCT based watermarking

The DCT transform and its inverse manner can be expressed as

where 𝐶 𝑤 = 1 2 , when w=0; 𝐶 𝑤 = 1, when w = 1, 2, 3, …, n-1

An image is usually divided into non-overlapped m*m block.

In general, a block always consists of 8*8 components.

The zigzag scanning implies

(1) low frequency to high frequency

(2) high energy distribution to low energy distribution

Page 9: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DCT based watermarking

Watermark Embedding Algorithm 1. Sequentially extract out every 8-bit data from watermark-bit-stream. 2. Obtain a random number, generated by pseudo random system, which points to one of n blocks of host image. 3. Embed extracted the 8-bit watermarking data into the 8 lower-band coefficients in the block pointed by previous step. 4. Repeat step 1 to step 3, until the watermark bit stream is run out. 5. The proposed employee replace bit to embedded watermark bit stream, and it was hidden at position bit 3 in the selected 8-bit coefficient. If the watermark bit is ‘1’, then bit 3 to ‘1’ otherwise ‘0’.

Page 10: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DCT based watermarking

Watermark Extraction Algorithm

1. Transform the watermarked image to frequency domain by DCT.

2. Use the same set of random numbers, which is applied in the embedding process.

3. Apply the random number to find the exact location of the DCT block in the watermarked image.

4. Extract 8-bit watermark data from each DCT block by means of the inverse embedded. The watermark bit is ‘1’ when bit 3 is ‘1’ of selected DCT-block coefficient otherwise the watermark bit is ‘0’.

5. Repeat the 8-bit data into watermark image.

Page 11: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DWT based watermarking

• A signal can be split into two parts, usually high frequency and low frequency.

• Edge components are largely confined to the high frequency part.

• Low frequency can be split again into two parts of high and low frequencies.

Page 12: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DWT based watermarking

Low pass filter: 𝐻 𝜔 = ℎ𝑘𝑒−𝑗𝑘𝜔

𝑘

High pass filter: 𝐺 𝜔 = 𝑔𝑘𝑒−𝑗𝑘𝜔

𝑘 A signal can be decomposed recursively as

𝑐𝑗−1,𝑘 = ℎ𝑛−2𝑘𝑐𝑗,𝑛𝑛

𝑑𝑗−1,𝑘 = 𝑔𝑛−2𝑘𝑐𝑗,𝑛𝑛

A signal can be reconstructed from its DWT coefficients recursively

𝑐𝑗,𝑛 = ℎ𝑛−2𝑘𝑐𝑗−1,𝑘

𝑘

+ 𝑔𝑛−2𝑘𝑑𝑗−1,𝑘

𝑘

We often use Haar wavelet filters: 𝐻 𝜔 =

1

2+

1

2𝑒−𝑗𝑤, and 𝐺 𝜔 =

1

2−

1

2𝑒−𝑗𝑤

Page 13: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DWT based watermarking

Watermark Embedding algorithm

1. Decompose the original image into several bands with a pyramid structure. 2. Add a pseudo-random sequence (Gaussian noise) to the largest coefficients. Specifically, let y[m,n] denote the DWT coefficients, N[m,n] is a Gaussian noise sequence with mean 0 and variance 1.

𝑦 𝑚, 𝑛 = 𝑦 𝑚, 𝑛 + 𝛼𝑦2 𝑚, 𝑛 𝑁[𝑚, 𝑛] where 𝛼 is a parameter to control the level of the watermark, the square indicates the amplification of the largest DWT coefficients. 3. Take the two dimensional IDWT of the modified DWT coefficients 𝑦 and the unchanged DWT coefficients at the lowest resolution.

Page 14: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DWT based watermarking

Watermark Extraction Algorithm 1. Decompose the watermarked image into four bands. 2. Compare the watermark added in the HH1 band and the difference of the DWT coefficients in HH1 bands of the watermarked and the original images by calculating their cross correlations. If there is a peak, watermark is detected. 3. If 2 is not satisfied, do that in HH1 and LH1 bands, respectively. 4. If watermark is still not detected, compose the signals in the LL1 band into four additional subbands LL2, LH2, HL2, and HH2 and repeat 2-3. 5. Several times later, we assume watermark cannot be detected.

Page 15: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DFT based watermarking

Watermark Embedding Algorithm

1. Take the Fourier transform of the original image and move the low frequency to magnitude coefficients to the center.

2. Use the pseudo-random (PRND) number generator to obatin the row vector v with l binary elements.

3. Determine the watermark:

𝑊 𝑥𝑖 , 𝑦𝑖 = 𝑣 𝑗1

9 𝑀 𝑥𝑖 + 𝑠, 𝑦𝑖 + 𝑡

𝑙

𝑡=−1

𝑙

𝑠=−1

𝑥𝑖 =𝑚

2+ 1 + 𝑓𝑙𝑜𝑜𝑟(𝑟0cos(

𝑗𝜋

𝑙))

𝑦𝑖 =𝑛

2+ 1 + 𝑓𝑙𝑜𝑜𝑟(𝑟0sin(

𝑗𝜋

𝑙))

4. Calculate the magnitude coefficients 𝑀𝑤 𝑥, 𝑦 = 𝑀 𝑥, 𝑦 + 𝛼 ∗ 𝑊(𝑥, 𝑦)

5. Take the inverse Fourier Transform.

Page 16: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

DFT based watermarking

Watermark Extracting Algorithm 1. Take the Fourier transform of the watermarked image. 2. Extract the row vectors form radius rmin to rmax and resize and normalize for the adjustment. 3. Calculate the cross covariance between the extracted vector and the generated vector. If the maximum value of cross covariance exceeds a threshold, we say the watermark is detected.

Page 17: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Experimental Results

Take DCT for example. PSNR = 35.6360; NC =1;

Page 18: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Experimental Results

Take DCT for example. PSNR = 21.8958; NC = 0.9687;

Page 19: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Experimental Results

Take DCT for example. PSNR = 29.4418; NC = 1;

Page 20: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Experimental Results

Take DCT for example. PSNR = 42.9229; NC =1;

Page 21: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Experimental Results

Take DCT for example. PSNR = 42.9559; NC = 0.8591;

Page 22: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Experimental Results

Take DCT for example. PSNR = 42.9267; NC =0.4810;

Page 23: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Experimental Results

Image Processing Operations Geometric Attacks

Noise Low Pass

Filtering Blurring Rotation Scaling Cropping

LSB N N N N N N

DCT Y Y Y N N N

DWT Y N N Y Y Y

DFT N N N Y Y Y

Page 24: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Conclusion

• Digital image watermarking is an important tool for copyright protection, content authentication and tamper detection.

• Can implement watermarking in both spatial domain and frequency domain.

• Different algorithms are focusing on different effects, but in general the result of frequency domain is better.

• Can combine different algorithms to obtain better results.

Page 25: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially
Page 26: Comparison of Digital Image Watermarking Algorithmsinside.mines.edu/~whoff/courses/EENG510/projects/2014/Zhou.pdfDCT based watermarking Watermark Embedding Algorithm 1. Sequentially

Reference

• V. Potdar, S. Han, E. Chang, “A Survey of Digital Image Watermarking Techniques”, IEEE International conference on Industrial Informatics (INDIN), pp. 709-716, 10-12 Aug., 2005

• J. Huang, Y. Q. Shi, Y. Shi, “Embedding Image Watermarks in DC Components”, IEEE Transactions on Circuits and System for Video Technology, vol. 10, no. 6, pp. 974-979, Sept. 2000

• X. Kang, J. Huang, Y. Q. Shi, Y. Lin, “A DWT-DFT Composite Watermarking Scheme Robust to Both Affine Transform and JPEG Compression”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 8, pp. 776-786, Aug. 2003

• C.K. Chan, L.M. Cheng, “Hiding data in images by simple LSB substitution”, Pattern Recognition, vol. 37, pp. 469-474, Mar. 2004

• X.G. Xia, C.G. Boncelet, G.R. Arce, “Wavelet transform based watermark for digital images”, Optics Express, vol. 3, no. 12, pp. 497-511, Dec. 1998

• V. Solachidis, I. Pitas, “Circularly symmetric watermark embedding in 2-D DFT”, IEEE Transactions on Image Processing, vol. 10, no. 11, pp. 1741-1753, Nov. 2001