Here we provide some supplementary information & data corresponding to the following publication:
M. Urvoy, D. Goudia, F. Autrusseau, "Perceptual DFT watermarking with improved detection and robustness to geometrical distortions", in IEEE Transactions on Information Forensics and Security, IEEE-TIFS, 9(7), pp. 1108-1119, ISSN 1556-6013, DOI, Jul. 2014.
Overview of the supplementary information:
- Launch
the software via a web-app
- Original images
- Watermarked
images
- Attacked images
- Subjective Experiment
- Processing time
- Embedding at various Frequencies
- PRNG
- Subjective
experiment on printed material
Web-App
A web app is available here for trying out both the embedding and detection.
Important note: This web-app may encounter some issues for some particular image dimensions. The source code has been modified, but opencv 3.0.0 needs to be installed on the server (waiting for the 3.0.0 release)...
Original images
Three databases were used in this work.
- Database "Da": the 9 images used during the subjective experiment. These images can be dowloaded here.
- Database "Db": A selection of 250 color images, used for the robustness experiments. These can be downloaded here.
- A third database was used for the Print & Scan experiment. Among the 16 color images of this Db, 9 are from Da, and the remaining 7 images are standard color images available here.
Watermarked images
- The 9 watermarked images from "Da" are here.
- 250 marked images from "Db" can be download here.
- The 7 watermarked image for the Print & Scan experiment are here.
Attacked images
The Print & scanned images are available for several scanning resolutions:
Note: once the image are scanned, an "ImageMagick" script was used to automatically crop the images, the script is as follows:
mogrify -format png *.png mogrify -fuzz 75% -trim +repage
-resize 512x512! *.png
The Printer was a DELL 2335dn.The scanner was a Lexmark CX410de.
Subjective experiment
The XLS spreadsheet used to analyse the subjective data is available here.
37 human observers were enrolled for this subjective experiment.
The URL for the subjective database is here.
A Hierarchical clustering, with Ward’s minimum variance as linkage method, was then performed in order to extract possible outliers. The figure below shows the obtained dendrogram. When pruning the tree at an average inter-group distance of 0.15, one can separate the observers into two groups G1 and G2. On the one hand, G2 is obtained by grouping those observers whose average clustering distance is higher than 0.15 (dashed branches in the figure below), and is thus comprised of observers {3, 20, 23, 14, 36, 35}. On the other hand, G1 is obtained by grouping remaining observers whose votes are less distant. So, the 6 observers from G2 were discarded in our analysis.
Processing time
This XLS spreadsheet provides the processing time for both embedding and detection (with and without I/O: reading & writing images). The figure below depicts these processing times.
Varying the watermark frequency modulation
The embedder was tested in various frequency ranges. The figure below displays the results.
Pseudo-Random Number
Generator
In order to minimize the risk of false-detections (an erroneous message being successfully detected), the binary mark is generated by means of Pseudo Random Number Generator (PRNG) so that near-identical messages end up into binary watermarks different enough to be easily distinguished at detection. Let M1..N be a N-bits sequence to be embedded (e.g. binary code for ASCII text), where N ∈ N is a multiple of 32 (N = 32g, g ∈ N). M1..N is first split into g 32-bits sequences, each of which is used to seed one of g Multiply-With-Carry PRNGs Gi, 0 < i < g + 1. The final M-bits watermark W1..M is then built iteratively, 32 bits per 32 bits, until the desired watermark length M is reached. At each iteration t = 1, . . . T , the following two steps are performed: (1) each PRNG Gi issues its next 32 bits random binary number R(t) = Gi(t); (2) the next watermark bits i are then computed as
W(t)
=W(t−1)||
( R1(t)
⊕R2(t)
⊕···⊕Rg(t)
)
where || and ⊕ are respectively the concatenation and the exclusive-or operators and W(0) is the empty sequence. Step 1 provides watermark randomness, while step 2 makes sure that each water- mark bit depends on all generators, hence the entire embedded message.
Subjective
Experiment on printed material
8 expert observers were asked to perform the experiment. Each of them was successively presented 32 pairs of printed images (in a random order). Each pair featured a print of the original image and a print of the watermarked image, randomly arranged. The 16 images from the P&S experiment (see Sec. IX in the submitted paper) were each shown twice, thus resulting in 32 pairs. For each pair, they were asked: (1) whether they could see a visible difference between the two prints; (2) regardless of the answer to the first question, to identify one of the two images as being watermarked.
Under the viewing conditions used in the subjective experiment involving a display (see Sec. VII in the submitted manuscript), no observer could spot the watermark. For this reason, the visibility of the printed watermark was assessed under enhanced viewing conditions: the viewing distance was reduced to 3 times the height of the image. Observers were authorized to further reduce the viewing distance when answering to the second question (the forced choice), down to one time the height of the image. Finally, observers were authorized to examine the images and to freely manipulate the prints as long as they wanted, instead of the limited assessment duration of 10 seconds used in the experiment of Sec. VII.
The
Table below shows the obtained results for each
image.
Img | Ds1 | Ds2 | Ds3 | Ds4 | Ds5 | Ds6 | Ds7 | Da1 | Da2 | Da3 | Da4 | Da5 | Da6 | Da7 | Da8 | Da9 | Avg |
Q1 | 6.3 | 0.0 | 6.3 | 0.0 | 0.0 | 6.3 | 0.0 | 6.3 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.6 |
Q2 | 62.5 | 43.8 | 68.8 | 62.5 | 37.5 | 62.5 | 62.5 | 56.3 | 50.0 | 50.0 | 56.3 | 62.5 | 37.5 | 31.3 | 31.3 | 75.0 | 53.1 |
Q1 denotes the average number of times that the watermark was spotted in the considered image (as a percentage of the total number of observations).
Q2 denotes the average percentage of correct 2AFC choices for the considered image.
At a viewing distance of 3 times the height of the image (i.e. 43.5cm), most observers did not report any visible distortions (besides printing defaults). Sole two observers respectively reported one and three distortions that were due to the proposed watermarking scheme. Overall, the watermark was detected in only 1.6% of the observations.
When
forced to choose between either one or the other
image, it appears that the average detection
rate is of 53.17%.
Such a figure indicate that their choice was
nearly random, which further indicates that
observers generally could not spot the
watermark, even at very small viewing distances
(as low as 14.5cm).
Furthermore, the inserted mark appears to be far
under the visibility threshold (which is reached
for a detection rate of 75% in 2AFC
experiments). It is also important to note that
the distortions due to the printing process are
much more visible than those due to the
watermarking process.
This
XLS
spreadsheet provides the results of this
subjective test.
Stirmark's set of attacks
The Stirmark command was set as follows (here for the Lena image):
StirMark -Tlena lena.ppm
The following 90 Stirmark
attacks were experimented (they are listed in the order of appearance
of Figs. 5 & 8, from top to bottom):- StirMark with randomisation and bending
- Shearing - x-direction 5.00%y-direction 5.00%
- Shearing - x-direction 5.00%y-direction 0.00%
- Shearing - x-direction 1.00%y-direction 1.00%
- Shearing - x-direction 1.00%y-direction 0.00%
- Shearing - x-direction 0.00%y-direction 5.00%
- Shearing - x-direction 0.00%y-direction 1.00%
- Scaling 2.00
- Scaling 1.50
- Scaling 1.10
- Scaling 0.90
- Scaling 0.75
- Scaling 0.50
- Rotation 90.00 with cropping and scaling
- Rotation 45.00 with cropping and scaling
- Rotation 30.00 with cropping and scaling
- Rotation 15.00 with cropping and scaling
- Rotation 10.00 with cropping and scaling
- Rotation 5.00 with cropping and scaling
- Rotation 0.25 with cropping and scaling
- Rotation 0.50 with cropping and scaling
- Rotation 0.75 with cropping and scaling
- Rotation 1.00 with cropping and scaling
- Rotation 2.00 with cropping and scaling
- Rotation -0.25 with cropping and scaling
- Rotation -0.50 with cropping and scaling
- Rotation -0.75 with cropping and scaling
- Rotation -1.00 with cropping and scaling
- Rotation -2.00 with cropping and scaling
- Rotation 90.00 with cropping
- Rotation 45.00 with cropping
- Rotation 30.00 with cropping
- Rotation 15.00 with cropping
- Rotation 10.00 with cropping
- Rotation 5.00 with cropping
- Rotation 0.25 with cropping
- Rotation 0.50 with cropping
- Rotation 0.75 with cropping
- Rotation 1.00 with cropping
- Rotation 2.00 with cropping
- Rotation -0.25 with cropping
- Rotation -0.50 with cropping
- Rotation -0.75 with cropping
- Rotation -1.00 with cropping
- Rotation -2.00 with cropping
- Color reduction
- Change aspect ratio - scale.x 1.00 scale.y 1.20
- Change aspect ratio - scale.x 1.00 scale.y 1.10
- Change aspect ratio - scale.x 1.00 scale.y 0.90
- Change aspect ratio - scale.x 1.00 scale.y 0.80
- Change aspect ratio - scale.x 1.20 scale.y 1.00
- Change aspect ratio - scale.x 1.10 scale.y 1.00
- Change aspect ratio - scale.x 0.90 scale.y 1.00
- Change aspect ratio - scale.x 0.80 scale.y 1.00
- General linear transformation [[ 1.013 0.008][ 0.011 1.008]]
- General linear transformation [[ 1.007 0.010][ 0.010 1.012]]
- General linear transformation [[ 1.010 0.013][ 0.009 1.011]]
- JPEG compression 90%
- JPEG compression 80%
- JPEG compression 70%
- JPEG compression 60%
- JPEG compression 50%
- JPEG compression 40%
- JPEG compression 35%
- JPEG compression 30%
- JPEG compression 25%
- JPEG compression 20%
- JPEG compression 15%
- JPEG compression 10%
- FMLR Attack
- Flip
- Cropping 75%
- Cropping 50%
- Cropping 25%
- Cropping 20%
- Cropping 15%
- Cropping 10%
- Cropping 5%
- Cropping 2%
- Cropping 1%
- Sharpening 3x3
- Gaussian filtering 3x3
- 4x4 Median Filtering
- 3x3 Median Filtering
- 2x2 Median Filtering
- Remove 5 row(s) and 17 column(s) at regular intervals
- Remove 5 row(s) and 1 column(s) at regular intervals
- Remove 17 row(s) and 5 column(s) at regular intervals
- Remove 1 row(s) and 5 column(s) at regular intervals
- Remove 1 row(s) and 1 column(s) at regular intervals