Professional Documents
Culture Documents
Wavelet-Based Oblivious Image Watermarking Scheme Using Genetic Algorithm
Wavelet-Based Oblivious Image Watermarking Scheme Using Genetic Algorithm
org
Published in IET Image Processing
Received on 15th August 2010
Revised on 28th January 2011
doi: 10.1049/iet-ipr.2010.0347
ISSN 1751-9659
Department of Electronics and Communications Engineering, Bapatla Engineering College, Bapatla, Acharya Nagarjuna
University, Andhra Pradesh, India
2
Department of Electronics and Communications Engineering, College of Engineering, Andhra University, Visakhapatnam,
Andhra Pradesh, India
E-mail: kongara_r@yahoo.com
Abstract: In this work, a robust and oblivious image watermarking scheme based on discrete wavelet transform (DWT) for copyright
protection is presented. The original unmarked image is not required for watermark extraction. Third-level DWT is applied to the
original cover image. Third- and second-level horizontal detail sub-band (LH2 and LH3) coefcients are grouped into different
blocks. Grouping of the coefcients is done in such a way that each block should contain one coefcient from LH3 sub-band
and four coefcients from LH2 sub-band. In each block, the rst minimum and the second minimum are identied and modied
according to the watermark bit. After watermark insertion, inverse DWT is applied to the sub-bands with modied coefcients to
obtain the watermarked image. For watermark extraction, a threshold-based decoder is designed. Embedding and extraction
process are characterised with parameters and genetic algorithm is used for parameter optimisation. Optimisation is to maximise
the values of peak signal-to-noise ratio of the watermarked image and normalised cross correlation of the extracted watermark.
The performance of the proposed scheme is compared with the existing schemes and signicant improvement is observed.
Experimental results show that, this algorithm is highly robust for many image attacks on the watermarked image.
Introduction
www.ietdl.org
Image watermarking is the process of inserting an image
called watermark in another image called cover image.
Outcome of this insertion process is called watermarked
image. The insertion process must be in such way that
watermark is extractable from the watermarked image.
The main problem in digital image watermarking is
survival of the watermark when the watermarked image is
subjected to image processing operations (image attacks)
like compression, low-pass ltering, high-pass ltering,
histogram equalisation etc. Watermarking schemes are called
robust if the survival capability of the watermark is high. If
the extraction process does not require watermark or cover
image then the scheme is called oblivious watermarking.
Several algorithms are available in the literature for robust
and oblivious image watermarking. But, there are some
limitations in the existing algorithms. Designing a robust and
oblivious watermarking system is still a challenging problem.
Watermark embedding in the cover image requires
modication of some features of the cover image according
to the symbols of the watermark. Selected features of the
cover image can be pixels or transform coefcients. If the
watermarking algorithm modies the cover image pixels
then it is called spatial domain watermarking. Transform
domain watermarking algorithms modies the transform
coefcients of the cover image. Spatial domain algorithms
are simple and data embedding capacity is more. But they
are not robust against image attacks. On the other hand,
transform domain algorithms are robust against image
attacks and the amount of robustness varies from attack to
attack. No single algorithm is available with which
watermark survives for all possible image attacks. Hence,
there is a scope for improvement in the excising watermark
algorithms and an attempt is made to improve the
performance of some of the existing transform domainbased robust and oblivious watermarking algorithms.
Lin et al. [8] proposed an algorithm based on DWT. Binary
watermark of size 32 16 is embedded in the 8-bit greyscale cover image of size 512 512. Cover image
is decomposed using fourth-level DWT. LH4 sub-band is
selected for watermark embedding. Selected sub-band
is divided into variable size blocks. Number of blocks
required is equal to the number of watermark bits. In each
block of LH4 , one bit is embedded by modulating the
maximum wavelet coefcient according to the watermark
bit. Value of the maximum coefcient is increased for
embedding a 1. To embed a 0, maximum coefcient value
is decreased. But the modied value must be greater than or
equal to the second maximum in that block. This
requirement is essential for watermark extraction. Some
parameters are used to obtain control over the embedding
and extraction process. Limitations of this method are low
data embedding capacity and the difculty of adjusting the
parameters when there is a change in watermarking
requirements or change in input images.
Another DWT-based algorithm was proposed by Lin et al.
[15], in which there is more scope for increasing the
information carrying capacity of the cover image. Binary
watermark of size 32 16 is embedded in the 8-bit grey
scale cover image of size 512 512. LH4 and LH3 subbands are selected for watermarking. Fixed length blocks
are formed with the coefcients of the selected sub-bands.
There is a constraint in the formation of the blocks. In each
block, one coefcient from LH4 and four coefcients from
LH3 must be included. One watermark bit can be embedded
in each block by modulating the rst minimum and second
minimum in that block according to the watermark bit.
IET Image Process., 2012, Vol. 6, Iss. 4, pp. 364373
doi: 10.1049/iet-ipr.2010.0347
Genetic algorithm
www.ietdl.org
widely used to solve the problems in various scientic and
engineering applications [20]. GA process can be described
based on ve functional units. They are a random number
generator, tness evaluation unit and genetic operators for
reproduction, crossover and mutation operations. Random
number generator generates a set of number strings called
population. Each string represents a solution to the
optimisation problem. For each string, a tness value is
computed by the evaluation unit. A tness value is a
measure of the goodness of the solution. The objective of
the genetic operators is to transform the set of strings into
sets with higher tness values. The reproduction operator
performs a natural selection function known as seeded
selection. Individual strings are copied from one set
(generation of solutions) to the next according to their
tness values. The probability of a string being selected for
the next generation increases with the tness value. The
crossover operator chooses pairs of strings at random and
produces new pairs. The mutation operator randomly
changes the values of bits in a string. A phase of the
algorithm consists of applying the evaluation, reproduction,
crossover and mutation operations. A new generation of
solutions is produced with each phase of the algorithm.
Completion of optimisation process depends on termination
criterion. Termination criterion can be specied in terms of
number of generations, specied time interval etc.
Watermarking problem can be viewed as an optimisation
problem. In this work, GA is used for solving the
optimisation problem. PSNR and NCC are the two
important characteristic parameters of a watermarking
system. The amount of distortion introduced to the host
image during embedding process is inversely proportional
to PSNR. NCC indicates the amount of similarity between
original watermark and extracted watermark. Hence, both
PSNR and NCC values must be as large as possible for a
good watermarking system. But PSNR and NCC are related
in such way that maximisation of PSNR decreases the value
of NCC. Hence, the watermarking scheme is characterised
with parameters and GA is used to nd the optimum values
of parameters to obtain the specied performance of the
watermarking system in terms of PSNR and NCC.
Proposed scheme
In this section, proposed scheme is described in three subsections. Sub-section 3.1 deals with watermark embedding
procedure, watermark extraction is explained in Sub-section
3.2 and the application of GA for determining the optimum
parameters of the scheme is given in Sub-section 3.3.
3.1
(1)
= minnew
secnew
i
i
(2)
(3)
www.ietdl.org
5. Compute the following
o
dio dmean
,
o
dstd
(4)
o
fmean
= mean(fio ),
(5)
fi o =
T=
o
dmean
k4
o
10 fmean
(6)
if dio T ,
= 0, othewise
(7)
Search space: The values of the four scaling factors (k1, k2,
k3 and k4) are the key that, if chosen properly, will result in
optimal imperceptible and robust watermarking. It is the
role of the GA to nd such values, where the GAs search
space must include all possible values for the four scaling
factors. The GA is an iterative procedure that achieves
optimisation in a given search space using the genetic
operators (selection, reproduction, crossover and mutation)
and a tness function.
The tness function: Two common performance evaluation
metrics are combined to form the tness function, PSNR
and NCC. The tness function is formed by combining the
two metrics as follows.
1
(NCCk,l ak )
P k=1
p
fitl = PSNRl +
(8)
www.ietdl.org
Experimental results
follows
PSNR = 10 log10
255 255
dB (9)
M N
1/(M N ) x=1 y=1 [f (i, j) g(i, j)]2
368
& The Institution of Engineering and Technology 2012
www.ietdl.org
Table 1
Results of GA-based optimisation with cover image Lena for different GA generations
Fitness value
PSNR in dB
NCC
8.8375
7.5815
6.5152
6.911
6.9008
37.0694
36.8027
36.4752
35.8554
35.9857
0.7047
0.7808
0.8505
0.8617
0.8557
Attack: JPEG-30 fitness function: (40-PSNR) + 20(1-NCC). Parameter value ranges: [0.10.9; 525; 0.51.5; 1.0 6.0]. Cover image: Lena
(Fig. 4)
Optimisation is against the JPEG compression attack with quality factor 30. The other details of GA are also provided in the table
Table 2
Results of GA-based optimisation with cover image Barbara for different GA generations
Fitness value
PSNR in dB
NCC
7.3524
8.5484
8.4653
6.8279
6.6154
37.8881
38.7404
37.7985
37.5731
37.8163
0.7380
0.6356
0.6868
0.7800
0.7784
Attack: JPEG-30 fitness function: (40-PSNR) + 20(1-NCC). Parameter value ranges: [0.10.9; 5 25; 0.5 1.5; 1.0 6.0]. Cover image: Barbara
(Fig. 5)
Optimisation is against the JPEG compression attack with quality factor 30. The other details of GA are also provided in the table
Table 3
Results of GA-based optimisation with cover image Lena for different GA generations
Fitness value
PSNR in dB
NCC
6.4278
6.2082
6.6096
6.3445
6.2409
39.6086
40.1818
39.6354
40.0465
39.4262
0.6982
0.6987
0.6878
0.6851
0.7166
Attack: Sharpening filter fitness function: (40-PSNR) + 20(1-NCC). Parameter value ranges: [0.1, 0.9; 5, 25; 0.5, 1.5; 1.0, 6.0]. Cover image:
Lena (Fig. 4)
Optimisation is against the sharpening filter attack. The other details of GA are also provided in the table
Table 4
Results of GA-based optimisation with cover image Barbara for different GA generations
Fitness value
PSNR in dB
NCC
7.4072
7.4928
7.3545
7.7781
7.6679
38.4928
38.9112
38.6964
39.4015
39.7540
0.7050
0.6798
0.6975
0.6410
0.6289
Attack: Sharpening filter fitness function: (40-PSNR) + 20(1-NCC). Parameter value ranges: [0.1, 0.9; 5, 25; 0.5, 1.5; 1.0, 6.0]. Cover image:
Barbara (Fig. 5)
Optimisation is against the sharpening filter attack. The other details of GA are also provided in the table
m n
o
o
i=1
j=1 [w(i, j) wmean ][w (i, j) wmean ]
NCC =
m
n
m
n
2
o
o
2
i=1
j=1 [w(i, j) wmean ]
i=1
j=1 [w (i, j) wmean ]
(10)
369
www.ietdl.org
5, respectively. The watermark image is of 64 64 size,
which is a binary logo as shown in Fig. 6. Watermarked
Lena image is shown in Fig. 7. Two-dimensional DWT with
Haar wavelet lters is used. Parameters of the scheme are
k1, k2, k3 and k4. Perceptibility of the watermarked image is
controlled by k1, k2 and k3. Parameter k4 controls the
quality of the extracted watermark. GA is used to nd the
optimum values of these parameters for some target values
for PSNR, NCC and one or more specic image attacks. For
testing the robustness of the proposed scheme MATLAB 7.0
and Checkmark 1.2 [22] are used. For all the attacks of
Checkmark 1.2 and MATLAB 7.0, a window size of 3 3
is taken. A built-in function related to genetic algorithm
available in MATLAB 7.0 is used. A population size of 20
chromosomes, a crossover rate of 0.8 and a Gaussian
mutation function (with a scale 1.0 and shrink 1.0) are used.
Various attacks used to test the robustness of the proposed
watermark are JPEG compression, median lter, Gaussian
lter, average lter, image sharpening, histogram
equalisation, resizing, cropping, Gaussian noise, salt &
pepper noise, rotation, Wiener lter, grey-scale inversion,
gamma correction, soft thresholding, template removal,
trimmed mean alpha, bit plane removal, row & column
copying and row & column blanking.
Table 1 shows the results of GA optimisation process. Lena
image is used as a cover image (Fig. 4) and the image shown
in Fig. 6 is used as watermark. The attack used in the
optimisation is JPEG compression with a quality factor 30.
Fitness function is [abs ((40-PSNR) +20(1-NCC))], where
abs refers to absolute value. Search space for the
optimisation process can be specied by providing the
range for each parameter. 0.1 0.9 is the range given for k1.
Similarly, the ranges for k2(5 25), k3(0.5 1.5) and
k4(1.0 6.0) are specied. PSNR value of the watermarked
image depends on k1, k2 and k3. By changing these
parameter values, PSNR value can be adjusted to any
desired value. NCC value of the extracted watermark
depends on k4 value. PSNR and NCC are related. NCC
decreases as PSNR increases. But the requirement is that
both must be as large as possible. Hence, it is very difcult
to adjust the parameter values for satisfying watermarking
requirement. Using the above specied tness function,
PSNR is targeted to 40 dB and NCC is targeted to 1.0. GA
is used to minimise the value of the tness function. As the
tness function value decreases, PSNR approaches 40 and
NCC approaches 1.0. As explained in Section 2,
optimisation process will be terminated according to the
specied termination criteria. In this work, the number of
GA generations is used as the termination criteria.
Increasing GA generations can be stopped if there is no
improvement in both PSNR and NCC.
Table 2 shows the results under the conditions specied for
the results of Table 1 except for the change in the cover
image. The cover image is the Barbara image shown in
Fig. 5. Similarly, Table 3 shows the results with sharpening
lter attack and Lena as the cover image. The results of
Table 4 are with sharpening lter attack and the Barbara
cover image.
Fig. 8 shows the NCC values of extracted watermarks from
the attacked watermarked images. Watermark image is shown
in Fig. 6. PSNR value of the unattacked watermarked image
(Fig. 7) is 40.1818 dB.
Parameters used in the embedding process are k1, k2 and
k3. The threshold parameter k4 is used in the extraction
process. The four parameter values are 0.7818, 16.9749,
1.2095 and 2.0162. Those values are obtained using GA
370
www.ietdl.org
Table 5
Results of GA-based optimisation with cover image Lena for different size watermark images
Watermark image
32 16 binary logo (512 bits)
32 32 binary logo (1024 bits)
64 64 binary logo (4096 bits)
PSNR in dB
44.9526
41.2708
37.5575
0.5527
0.5580
0.1375
0.9101
0.9139
0.8737
Attack: JPEG (10), Median filter (3 3), Fitness function: (44-PSNR) + 20(2-NCC1-NCC2), Initial range for parameters: [0.10.95; 26 30;
0.1 2.5;1.06.0], Number of GA iterations: 20, Cover image: Lena
Optimisation is against the JPEG compression (QF 10) and median filter (3 3 window) attacks. The inputs given for GA are provided in
first row of the table
Table 6
JPEG quality
factor (QF)
NCC
NCC
NCC
0.5527
0.6446
0.7609
0.8791
0.9256
0.9555
0.9853
0.9853
1.0000
1.0000
1.0000
1.0000
1.0000
0.5580
0.7148
0.8360
0.9332
0.9247
0.9673
0.9890
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
0.1375
0.1711
0.2398
0.4501
0.7650
0.8721
0.9167
0.9397
0.9668
0.9844
1.0000
1.0000
1.0000
10
15
20
25
30
35
40
50
60
70
80
90
100
JPEG compression with different quality factors is the attack applied on the Lena watermarked image for watermark images with different
sizes: (a) 32 16 binary logo, (b) 32 32 binary logo and (c) 64 64 binary logo
Table 7
median filter (3 3)
Gaussian filter (3 3)
variance 0.5
average filter (3 3)
sharpening filter
(3 3)
histogram
equalisation
scaling 50%
cropping 25%
Gaussian noise
variance 0.001
salt & pepper noise
(0.001)
Rotation
58
108
158
308
Wiener filter
NCC
NCC
0.9101
0.9779
0.9139
0.9817
0.8737
0.9745
0.7568
0.7155
0.8062
0.7068
0.7650
0.8084
0.9560
0.8039
0.8503
0.8792
1. 0000
0.8172
0.8753
0.5539
0.8877
0.7206
0.5539
0.7321
0.9632
0.9362
0.9247
0.7822
0.7118
0.6556
0.5778
0.9481
0.8021
0.7264
0.6688
0.5745
0.9519
0.8021
0.7264
0.6688
0.5745
0.8911
Different attacks are applied on the Lena watermarked image for watermark images with different sizes: (a) 32 16 binary logo,
(b) 32 32 binary logo and (c) 64 64 binary logo
IET Image Process., 2012, Vol. 6, Iss. 4, pp. 364373
doi: 10.1049/iet-ipr.2010.0347
371
www.ietdl.org
Table 8 Comparison of the proposed method with the methods of Lin et al. [15], Lien and Lin [16], Li et al. [17] and Wang and Lin [18] in
terms of NCC
Attack type
Wang et al.
(PSNR 38.2 dB) [18]
median filter
(3 3)
median filter
(4 4)
IPEG (QF 10)
JPEG (QF 20)
JPEG (QF 30)
IPEG (QF 50)
JPEG (QF 70)
JPEG (QF 90)
sharpening
Gaussian filter
Rotation
0.258
0.758
18
20.258
20.758
218
cropping 1/4
scaling
256 256
Li et al.
(PSNR 40.6 dB) [17]
Lien et al.
(PSNR 41.54 dB) [16]
Lin et al.
(PSNR 44.73 dB) [15]
Proposed method
(PSNR 44.95 dB)
0.51
0.35
0.79
0.92
0.91
0.23
0.26
0.51
0.75
0.64
NA
NA
0.15
0.28
0.57
1
0.46
0.64
0.15
0.34
0.52
0.52
0.63
0.78
0.38
0.70
0.17
0.61
0.79
0.89
0.97
1
0.88
0.84
0.33
0.59
0.81
0.95
1
1
0.99
0.96
0.55
0.76
0.93
0.99
1
1
0.72
0.98
0.37
0.26
0.24
0.32
0.24
0.16
NA
NA
0.46
0.36
0.33
0.50
0.29
0.33
0.61
0.35
0.53
0.16
0.07
0.47
0.10
0.16
0.92
0.79
0.61
0.34
0.27
0.65
0.22
0.28
0.60
0.86
0.88
0.87
0.86
0.88
0.88
0.90
1
0.88
Conclusions
References
www.ietdl.org
14 Solachidis, V., Pitas, V.: Circularly symmetric watermark embedding in
2-D DFT domain, IEEE Trans. Image Process., 2001, 10,
pp. 1741 1753
15 Lin, W.-H., Wang, Y.-R., Horng, S.-J.: A wavelet-tree-based
watermarking method using distance vector of binary cluster, Expert
Syst. Appl., 2009, 36, pp. 9869 9878
16 Wang, S.H., Lin, Y.P.: Wavelet tree quantization for copyright
protection watermarking, IEEE Trans. Image Process., 2004, 13, (2),
pp. 154165
17 Li, E., Liang, H., Niu, X.: An integer wavelet based multiple
logo-watermarking scheme. Proc. IEEE WCICA, 2006,
pp. 10256 10260
373