• Aucun résultat trouvé

Deuxi`eme algorithme de marquage propos´e : utilisation de l’algo-

7.2 Un ´etat de l’art

7.3.3 Deuxi`eme algorithme de marquage propos´e : utilisation de l’algo-

L’algorithme pr´ec´edent fait intervenir deux transform´ees en ondelettes : la classique transform´ee en ondelettes orthogonale, et pour la d´etection des contours (et donc la

lo-Image attaqu´ee Echelle 2 Echelle 3 PSNR (db)

Image marqu´ee 100% 100% 27.77

cropping4 W150.jpg 89.1% 85.9%

cropping4 W350.jpg 92.2% 85.9%

cropping6 W150.jpg 79.7% 82.8%

dpr1 J100.jpg 59.4% 79.7% 22.62

medfilt2 J100.jpg 68.8% 93.8% 23.47

midpoint1 J100.jpg 60.9% 79.7% 21.33

gaussian1 J100.jpg 95.3% 95.3% 25.02

gaussian2 J100.jpg 93.8% 95.3% 25.02

hardthresh1 J100.jpg 75% 95.3% 24.14

jpegcompression1 J75.jpg 100% 100% 26.12

jpegcompression1 J50.jpg 98.4% 100% 24.56

jpegcompression1 J25.jpg 93.8% 100% 23.96

jpegcompression1 J15.jpg 67.2% 92.2% 23.22

jpegcompression1 J10.jpg 65.6% 84.4% 22.59

projective10 W150.jpg 68.8% 82.8% 20.97

projective7 W350.jpg 73.4% 79.7% 21.97

rowcol1 W350.jpg 81.3% 82.8%

softthresh1 J100.jpg 60.9% 84.3% 23.20

sampledownup2 J100.jpg 79.7% 85.9% 20.50

templateremove1 J100.jpg 81.3% 100% 24.78

trimmedmean1 J100.jpg 76.6% 95.3% 23.34

waveletcompression1 W350.jpg 100% 100% 26.05

waveletcompression1 W150.jpg 93.8% 98.4% 25.83

wiener1 J100.jpg 81.3% 100% 24.79

Fig. 7.10 – R´esultat de l’extraction d’une marque al´etoire 8×8 dans l’image de Lenna 128×128, avecR1 = 600,R2= 0.08,Cp = 30. 1`ere colonne : les images attaqu´ees (J indique une compression JPEG classique, le chiffre qui suit est le taux de compression : J10 indique que 10% des coefficients sont conserv´es. W indique une compression par seuillage des coefficients d’ondelettes, le chiffre qui suit est le nombre de coefficients gard´e). Deuxi`eme colonne : r´esultat quand on cache la marque dans les coefficients de la deuxi`eme ´echelle la plus fine (pourcentage de coefficients de la marque correctement extraits). Troisi`eme colonne : 3`eme ´echelle la plus fine. 4`eme colonne : PSNR de l’image attaqu´ee par rapport

`a l’image originale (en db).

calisation des points `a marquer), le d´etecteur de Canny multi-´echelles pr´esent´e aux cha-pitres IV et V. Or, on peut directement marquer les coefficients de la transform´ee en ondelettes continue de l’image obtenue par le d´etecteur de Canny, puis appliquer un des algorithmes d’inversion pr´esent´es au chapitre IV ; les points marqu´es, `a l’instar de l’algo-rithme pr´ec´edent, sont ceux des contours. Mais ici, nous allons mettre le premier point de la marque dans les points dont la r´egularit´e est comprise entre α1 et α1+, le deuxi`eme dans les points de contour de r´egularit´e comprise entreα2 et α2+, et ainsi de suite. Les coefficientsα11,· · · αn sont pass´es en clef priv´ee (et sont connus seulement de ceux qui ont le droit de d´etecter la marque)

Cet algorithme se d´eroule lui aussi en 5 ´etapes (voir figure 7.11).

Etape 1

?

k < α < αk+ Etape 2

Etape 3 6

3 Etape 4

6

- @

@@R Etape 5

Image des points de

contours Cf

Positions Pts `a marquer

(xk, yk) Image

originale f

Module Ond.

´ech. a Maf

Marque m taille M2

Module marqu´e M]af

Image marqu´ee

g

Fig. 7.11 – Deuxi`eme algorithme de marquage – Premi`ere ´etape

Comme pour le premier algorithme, on produit l’image Cf des points de contours de l’image hˆotef en utilisant l’algorithme pr´esent´e chapitre V.

– Etape 2

Elle consiste `a appliquer `a l’image originalef la transform´ee en ondelettes utilis´ee pour le d´etecteur multi-´echelles de Canny (voir chapitre IV) jusqu’`a une ´echellea, qui peut ˆetre consid´er´ee comme clef secr`ete (elle ne sera donc connue que des personnes ayant le droit d’extraire la marque). Le module de la transform´ee en ondelettes de f `a l’´echelle a(voir 4.1.7) sera not´eMaf. Elle a la mˆeme taille,N×N, que l’image originale.

– Etape 3

La troisi`eme ´etape consiste `a trouver dans l’image Cf des points de contours, les

points que l’on va marquer.Elle fait intervenirM ×M nouvelles valeurs qui seront consid´er´ees comme clefs secr`etes : lesαk, pourk = 1· · ·M2. Les points o`u est ins´er´e lek`eme point de la marque sont les points de contour dont la r´egularit´e lipschitzienne est comprise entreαketαk+. Il faut s’assurer qu’il y ait toujours au moins un point deCf de r´egularit´e comprise dans chacun des intervalles [αk, αk+] : on peut s’en assurer en choisissant des valeursαkqui correspondent effectivement aux r´egularit´es de certains points de contour. D’autre part, il faut choisir de fa¸con `a ce que les intervalles restent disjoints : par exemple, on peut calculer

A=minkk+1−αk|, pourk = 1· · ·M2−1 et en prenantinf´erieur ou ´egale `a A, par exemple,

=A.

contrˆole la redondance de l’inclusion de la marque.

– Etape 4

L’´etape 4 consiste `a ajouter dans la matriceMaf les M2 points de la marque, aux positions d´etermin´ees dans l’´etape pr´ec´edente. La nouvelle matrice sera not´ee M]af. Plutˆot que de rajouter la marque mˆeme, (donc soit un 0, soit un 1), on rajouteR1 fois la marque (donc soit un 0, soit R1), o`u R1 est la constante de marquage, elle aussi pass´ee comme clef secr`ete.

– Etape 5

Cette derni`ere ´etape consiste `a appliquer l’un des algorithmes de reconstruction pr´esent´e dans le chapitre IV (en pratique, nous avons utilis´e l’algorithme pr´esent´e dans le paragraphe Reconstruction relative `a l’algorithme B-spline cascade de la section IV.4.3).

Remarque 7.3.2

– Nous disposons ici d’un certain nombre de valeurs (la constante de marquage R1, les r´egularit´es αk des points de contour `a marquer, et l’´echelle a `a laquelle la marque est ajout´ee) qui ne seront connues que des personnes qui incluent la marque dans l’image et des destinataires, ceux qui ont le droit d’extraire la marque. Ces constantes de s´ecurit´e sont importantes dans la mesure o`u, si l’algorithme vient `a ˆetre connu, ce sont elles qui empˆecheront des personnes non-autoris´ees d’extraire la marque.

– Nous avons vu que contrˆole la redondance du marquage ; celle-ci est un avantage, puisqu’elle rend plus robuste l’algorithme de d´etection de la marque (disposant d’une vingtaine de points plutˆot que d’un seul pour d´ecider si le k`eme point de la marque est un 0 ou un 1, on minimise les risques d’erreur). Cependant, nous sommes li-mit´es par le nombre de points de contour disponibles (qui doit ˆetre, de toute fa¸con toujours sup´erieur `a M2!). Pour gagner en redondance, il faut donc d´etecter plus de points de contours : cela peut se faire en baissant, dans le d´etecteur multi-´echelles de Canny pr´esent´e au chapitre V, le nombreamax d’´echelles que doit traverser un point singulier pour ˆetre consid´er´e comme point de contours. Il y a bien sˆur un compromis

`

a r´ealiser sur cette valeur : prendre amax trop petit revient `a d´etecter des points de contour peu significatifs, dans lesquels la marque est plus visible ou plus fragile !

Second algorithme de marquage appliqu´e `a Lenna

Ici, nous appliquons l’algorithme de marquage `a l’image de Lenna ; les r´egularit´es des points `a marquer sont choisies comme suit : appelons alpha la matrice des points de contours, o`u alpha(i, j) = 30 si (i, j) n’est pas un point de contour, et o`u alpha(i, j) est la r´egularit´e du point de contour (i, j) sinon. On trie, dans un vecteurCol, les coefficients alpha(i, j) diff´erents de 30, par ordre croissant. SoitLla longueur de ce vecteur ; on d´efinit

h= [ L M2].

Les r´egularit´es choisies (il en fautM ×M) seront alors

αk =Col((k−1)h+ 1) pour k= 1· · ·M2

On marque les coefficients d’ondelettes obtenus apr`es 7 convolutions par Θ, le masque binˆomial.

La figure 7.12 montre l’image marqu´ee (visuellement identique `a l’image originale de Lenna si la constante de marquage n’est pas trop importante), et la diff´erence entre l’image marqu´ee et l’image originale (on y voit que la marque est cach´ee dans les contours). Si l’on prend une constante de marquageR1 = 7 (images du haut), la marque est discr`ete, et l’image marqu´ee est visuellement identique `a l’image originale. En revanche, avec un choix de R1 = 300, la marque prend une importance d´emesur´ee par rapport aux coefficients d’ondelettes, et se per¸coit dans l’image reconstruite.

La proc´edure d’extraction de la marque

On sait que la marque recherch´ee a une taille M ×M et est compos´ee de 0 et de 1.

On dispose, pour extraire la marque, des param`etres suivants :

– Les r´egularit´es αk, k = 1· · ·M×M des points o`u ont ´et´e cach´es les ´el´ements de la marque.

– La constante de marquage R1

– L’´echelle a indiquant dans quels coefficients d’ondelettes est cach´ee la marque.

– L’image originale f.

Appelons g l’image attaqu´ee d’o`u il faut extraire la marque. Pour extraire la marque contenue dansg, on va :

1. Relancer l’algorithme de d´etection et de classification sur g, de fa¸con `a obtenir une matricealphag des points de contours : si (i, j) est un point de contour,alphag(i, j) est la r´egularit´e locale de ce point de contour, sinon,alphag(i, j) vaut 30.

2. Lancer la transform´ee en ondelettes utilis´ee pour le d´etecteur du chapitre V jusqu’`a l’´echelle a : on obtient ainsi la matrice des modules des coefficients `a l’´echelle a, M g(., ., a).

3. Pour tester si le k`eme ´el´ement de la marque est un 0 ou un 1 :

– on consid`ere tous les points de contours (xik, yki)i=1···Nk dont la r´egularit´eαg(xik, yki) est comprise entreαk et αk+, o`u

=minkk+1−αk|, pour k = 1· · ·M2−1.

Image marqu´eeg Diff´erence entre l’image marqu´ee et l’image hˆote

20 40 60 80 100 120

20

40

60

80

100

120

20 40 60 80 100 120

20

40

60

80

100

120

R1 = 7 : PSNR=17.18 db

20 40 60 80 100 120

20

40

60

80

100

120

20 40 60 80 100 120

20

40

60

80

100

120

R1 = 300 : PSNR=45.79 db

Fig.7.12 – R´esultats pour Lenna avec diff´erentes valeurs deR1 : siR1 est trop important, la marque se voit dans l’image reconstruite

On fait alors la moyenne des modules en ces points : M edg = 1

Nk

Nk

X

i=1

M g(xik, yik, a)

– On proc`ede de fa¸con identique avec l’image originale f (ce qui oblige `a calculer alphaf etM f(., ., a), les ´equivalents pourf de alphag et M g(., ., a)) : on obtient ainsi la moyenne des modules des coefficients de r´egularit´e comprise entre αk et αk+pour l’image originale, M edf.

– Si les deux moyennes diff`erent beaucoup, c’est que l’ajout duk`eme ´el´ement de la marqueM a chang´e la valeur du module de la transform´ee en ondelettes, donc ce k`eme ´el´ement est un 1 (M(k) = 1). Dans le cas contraire, le k`eme ´el´ement est un 0 (M(k) = 0). En pratique, on d´ecide que

(M edg−M edf)> 1

3R1 ⇐⇒ M(k) = 1

4. On dira que l’extraction a r´eussi si au moins 90% des coefficients de la marque ont

´et´e correctement d´etect´es (c’est `a dire, pour une marque M 8×8, qu’au plus 6 coefficients sont mal d´etect´es).