|
Majeure "Algèbre,
Informatique et Applications" |
Projet Réalisé par Idrassi
Mounir (promo 97)
Il existe plusieurs techniques permettant d’encoder les informations afin d’obtenir des marques digitales. Parmi elles, se trouve la technique d’étalement de spectre (spread spectrum en anglais) .Dans les télécommunication, l’étalement de spectre consiste à transmettre un message( typiquement un signale court) sur une large bande de fréquence, de telle manière que la puissance du signale transmis à toute fréquence soit indétectable . L’idée de base est de transformer une séquence courte de bits (le message) en une séquence longue que l’on introduit dans un grand spectre de fréquence à l’aide d’un procédé paramétrer par une clef privée .La marque ainsi introduite ressemble à du bruit.
Le schéma général du tatouage d’une image est le suivant :
Procédé de
tatouage :
Ici, la marque est un message de 16 caractères . On le transforme en une séquence de 640 nombres réels X (x,…,x) ne prenant que les valeurs 1 ou –1 , grâce à un code correcteur d’erreur.
On applique la transformée de Fourier discrète à l’image pour obtenir son spectre de module. Ce dernier est stocké sous forme de matrice ayant la même taille que l’image .Le centre de cette matrice correspond aux plus hautes fréquences .Les valeurs des fréquences décroissent en s’éloignant du centre pour atteindre leurs plus petites valeurs aux quatre coins de la matrice. Le spectre de phase est lui aussi calculer ,mais il ne subit aucun traitement .
On extrait de cette matrice 640 coefficients parmi ceux de basses fréquences qu’on choisi grâce à un vecteur Y de la même taille ,contenant des –1 et des 1 dont les positions sont générer aléatoirement grâce à une clé donnée. On obtient un vecteur V qui regroupe ces coefficients.
On modifie les composantes vde
ce vecteur suivant la formule : v’
= v(1+α*x*y)
.
Le paramètre α détermine l’étendue de l’altération apportée par les x sur les v.
Après, on replace les v’ dans la matrice du module et applique la transformée de Fourier inverse au spectre de module et de phase pour retrouver l’image tatouée.
Procédé d’extraction et de vérification :
Dans notre modèle de tatouage, l’extraction d’une marque se fait suivant deux schéma qui sont complémentaires :
Résultats obtenus :
ü Le programme ainsi implémenter travaille sur des images dont les dimensions sont des puissances de deux. Ceci est lié à la nature des algorithmes utilisés pour la transformée de Fourier discrète. De plus , il n’est vraiment efficace que pour des images de tailles supérieur à 64x64 pixels .En dessous, des aberrations apparaissent lors de la détection .Ceci est liée au choix de deux blocs de 20x32 chacun dans la matrice du module de la transformée de l’image .
ü L’insertion du message n’altère pas visiblement la qualité de l’image .
|
Image originale
image tatouée
ü La marque résiste à la compression jpeg. Elle reste détectable même quand l’image perd de sa qualité visuelle.
|
Image originale
image tatouée compressée à 90%
Dans ce cas, le programme détecte la bonne marque avec un indice de
corrélation de 23/32 .Avec des marques aléatoires, cet indice ne dépasse pas
8/32 .On peut remarquer que l’image est sérieusement dégradée.
ü
La marque résiste à l’application de quelques
filtres :
|
Image originale
image
tatouée filtrée
La détection donne un indice de 13.5/32 .Cette valeur est assez grande
pour certifiée la détection d’un tatouage valide.
ü
Le tatouage implémenté dans ce projet est fragile à
toute transformation géométrique de l’image même très minime, telle que une rotation de quelques degrés.
ü
Le générateur de séquence pseudo-aléatoires utilisé
dans le programme est très basic. L’utilisation d’un autre algorithme
augmenterait certainement la robustesse du procédé.
Quelques liens utiles :
· Une introduction aux concepts du watermarking .
·
Un
article sur la technique de ‘spread spectrum’ avec beaucoup d’autres liens.