Yu Hen Hu ECE 738
Department of Electrical and Computer Engineering
University of Wisconsin – Madison
ECE 738 Advanced Digital Image Processing
This Project’s subject are is Watermarking.
The purpose of this project is to familiar you with various watermark methods and their
corresponding properties in particular, the robustness and perceptual quality.
In this project, you will design (a) a watermark encoder and (b) corresponding decoder. Each of
these shall be implemented in a separate program: wmencode and wmdecode. You may use
Matlab or any program language of your like. You must, however, submit the source code. If if
the programming language is not Matlab, you should also submit binary executable under
The purpose of this watermark is to prove the ownership of the image of the image. Thus, we
desire a robust watermark. The purpose of the attack is to prevent detection of the embedded
watermark without affecting the perceptual quality of the attacked image. With this constraint,
the cropping attack implemented in wmdemo.m will not be a valid attack. We will also assume
the attacker (i) only has the watermarked image, and not the original image; (ii) does not know
the specific watermark method or parameters; and (iii) does not know the specific watermark that
is embedded in the image.
Baseline A. Correlation based watermark method by I. Cox [Cox97]
Baseline B. Quantization index modulation (QIM) method by B. Chen [Chen01]
Your method of adding watermark must be different from the baseline methods. You must
provide a detailed discussion of how you add the watermark and why you think the way you add
watermark can endure common attacks. The watermark(s) will be provided. Neither encryption
of watermark nor encoding of watermark is allowed. The extracted watermark will be compared
directly with the provided watermark.
Subjective Perceptual Quality Evaluation
The perceptual quality of the watermarked and attacked images will be evaluated using a pair-
wise comparison method. The original image and each of the images to be compared will be
presented to the viewer (the class) in pair wise fashion and each viewer will grade the pair of
images (A and B) as A > B, A = B, or A < B in terms of perceptual quality. The combined
statistics then will be entered into computer to determine whether the quality of an image is
perceptually indistinguishable from that of the original image.
The watermarked images will subject to one or more undisclosed attacks applied by the
instructor. The same attack is to be applied to each watermarked image using identical
parameters. The perceptual quality of the attacked images will subject to the subjective
Yu Hen Hu ECE 738
perceptual test as outlined above. Then the watermark is to be retrieved from the attacked images.
The percent matching of the extracted watermark to the original watermark will be used to score
this portion of the result.
Hardcopy: A type-written report details your watermark method(s) and your own decoding
results without and with attacks applied by yourself. The attack the instruction will apply may
not be the same as yours.
Electronic copy: (a) electronic copy of your report, (b) your program (watermark encoder and
decoder) source code and if the source code is not in Matlab, a window executable of the code, (c)
Those who submit the wmencode and wmdecode programs which run successfully will receive a
basic score. Additional scores will be added based on outcome of perceptual quality test and
robustness test against attacks.
There are two pairs of host image/watermark images. You may develop different watermark
methods for each pair of them.
Host image #1: http://homepages.cae.wisc.edu/~ece533/images/lena.bmp
Water mark #1: http://homepages.cae.wisc.edu/~ece738/homework/hw2/buckybw1.bmp
Host image #2: http://homepages.cae.wisc.edu/~ece738/homework/hw2/bozo_gray.bmp
Water mark #2: http://homepages.cae.wisc.edu/~ece738/homework/hw2/buckybw2.bmp