• Aucun résultat trouvé

GÉNÉRALISATION - TRAITEMENT DE L’IMAGE

Dans le document PAR LA PRATIQUE (Page 157-164)

Traitement du signal : analyse multiéchelle

6.5 GÉNÉRALISATION - TRAITEMENT DE L’IMAGE

Comment étendre les idées développées dans les paragraphes précédents au trai-tement de l’image ? En construisant des bases d’ondelettes pour l’approximation de fonctions de deux variables. On peut travailler directement à la définition d’une fonction ondelette de deux variables :c2(x,y), cependant la méthode la plus simple consiste à utiliser le produit cartésien, c’est-à-dire prendrec2(x,y) =c(x)c(y) comme mère des ondelettes. Cela nous conduit à la transformation de Mallat bidimension-nelle suivante : on considére l’image [cJ] à analyser comme une matrice, et on ef-fectue une analyse de chacune de ses lignes pour obtenir le tableau [˜cJ]. On analyse ensuite ce tableau colonne par colonne pour obtenir le tableau [dJ] de la représen-tation de l’image dans la base des ondelettes. On peut alors effectuer l’opération de seuillage pour compresser ce tableau dans le tableau [dJ´]. Pour obtenir le tableau [c´J], on effectue une synthèse colonne par colonne, suivie d’une synthèse ligne par ligne.

Dans la pratique, on peut effectuer différentes opérations directement à partir de la forme [dJ].

– On peut ainsi comparer deux images distinctes stockées sous cette forme, ce qui permet un examen rapide. C’est le cas par exemple de la comparaison d’em-preintes digitales suspectes à celles contenues dans une base de données. Le gain de temps apporté peut être très appréciable. En effet, la comparaison de deux ta-bleaux [d1J] et [d2J] est beaucoup plus rapide que celle des tableaux [c1J] et [c2J] correspondants, puisqu’ils ont moins de coefficients.

– On peut aussi utiliser la forme [dJ] pour rechercher une singularité dans une image.

En effet, celle-ci sera caractérisée par un coefficient [dJ]k,lgrand en valeur abso-lue. Les astronomes effectuent ainsi une analyse automatique des clichés transmis (sous forme condensée) par les satellites : les objets ponctuels brillants corres-pondent à des grands coefficients dans le tableau [dJ]. Etant donné le nombre "as-tronomique" de clichés à traiter, cette recherche serait impossible à réaliser sans ce gain de temps substantiel (noter aussi que le transfert de ces multiples photo-graphies envoyées par les satellites n’est rendu possible que par la compression de toute cette information).

Mise en œuvre

SoitFune image définie sous la forme d’un tableau bidimensionnel de pixels [cJ].

Exercice 6.7

1. Écrire les procédures d’analyse et de synthèse de cette image pour les trois ondelettes présentées dans ce chapitre.

2. Effectuer des expériences de compression de l’image pour un seuil´donné.

3. Comparer les résultats obtenus pour les trois ondelettes.

La solution de cet exercice est présentée à la page 151.

6.6 Généralisation - Traitement de l’image 145

Les figures 6.14 à 6.17 représentent respectivement l’image originale et les images reconstituées après compression du tableau [dJ] avec le seuil´ = 103. Le nombre de coefficients du tableau [d´J] est respectivement nbc´H = 2298, nbc´S = 6284 et nbc´D = 1887 pour une image de 256x256 pixels, soit un tableau [cJ] de 65536 coef-ficients.

Image initiale

50 100 150 200 250

50

100

150

200

250

Figure 6.14 Image originale.

Image recomposée (Haar)

50 100 150 200 250

50

100

150

200

250

Figure 6.15 Image reconstituée (Haar).

Image recomposée (Schauder)

50 100 150 200 250

50

100

150

200

250

Figure 6.16 Image reconstituée (Schauder).

Image recomposée (Daubechies)

50 100 150 200 250

50

100

150

200

250

Figure 6.17 Image reconstituée (Daubechies).

L’analyse multiéchelle est très riche en développements théoriques et applications pratiques. De nombreuses recherches sont en cours dans le monde entier, c’est le domaine des mathématiques qui produit aujourd’hui le plus de publications. Pour une étude plus approfondie de cette théorie, la lecture des ouvrages suivants est re-commandée : Cohen [Cohen-1992], Daubechies [Daubechies-1992], Mallat [Mallat-1997] et Meyer [Meyer-1990].

6.6 SOLUTIONS ET PROGRAMMES

Toutes les procédures nécessaires à la résolution des exercices de ce chapitre peuvent être téléchargées à partir de la page web du livre.

Solution de l’exercice 6.1

La procédure du fichierhaar.m réalise les phases d’analyse et de synthèse selon les formules (6.8) et (6.9). L’analyse ([cJ]−→[dJ]) est effectuée pour la valeur 1 du paramètreis, la synthèse ([dJ]−→[cJ]) pour la valeur1.

Listing 6.1haar.m

function [ur,uw]=haar(u,uo,nbp,nbni,is) ;

%

% Transformation en ondelettes de Haar

%

sqr2=sqrt(2.d0) ;

c1=sqr2/2.d0 ;c2=sqr2/2.d0 ; d1=sqr2/2.d0 ;d2=-sqr2/2.d0 ;

%

if (is==1)

%

% Analyse

%

uw=u ;ur=u ; nj=nbp ;

% calcul des coefficients for ni=1:nbni

for i=1:nj ur(i)=uw(i) ; end

nj=nj/2 ; for i=1:nj

i2=2*i ;

% coefficients sur Vj

uw(i)=ur(i2-1)*c1+ur(i2)*c2 ;

% coefficients sur Wj (ondelettes)

uw(nj+i)=ur(i2-1)*d1+ur(i2)*d2 ; end

end

%

else

%

% Synthese

%

ur=uo ;uw=uo ; nj=1 ;

6.6 Solutions et programmes 147

% calcul des coefficients for ni=1:nbni

nj2=nj*2 ; for i=1:nj2

uw(i)=ur(i) ; end

for i=1:nj i2=2*i ;

% coefficients sur Vj+1

ur(i2-1)=uw(i)*c1+uw(nj+i)*c2 ; ur(i2)=uw(i)*d1+uw(nj+i)*d2 ; end

nj=nj2 ; end

%

end

La procédure du fichier imaexo1.mdéfinit un ensemble de points sur l’inter-valle [0,1] et réalise l’échantillonnage des valeurs de la fonction définie dans le fi-chierfo.m (pour cet exemple particulierfo(x) = exp(−x) sin(4px)). Cet ensemble de valeurs est ensuite approché par une fonction constante par morceaux à l’aide decstemor.m. La procédure du fichierhaar.mréalise alors l’analyse et la syn-thèse d’un signal donné par son échantillonnage sur l’intervalle [0,1], en utilisant les ondelettes de Haar.

Solution de l’exercice 6.2

La procédure du fichierimaexo2.meffectue les mêmes calculs que celle du fichier imaexo1.m, à la différence près que tous les coefficients d’ondelettes inférieurs en valeur absolue à un seuil donné sont mis à zéro avant d’effectuer l’étape de synthèse.

On réalise ainsi les tests de compression du tableau 6.1 et les figures 6.4 et 6.5.

Solution de l’exercice 6.3

La procédure du fichier schauder.mréalise les phases d’analyse et de synthèse selon les formules (6.16) et (6.17). L’analyse ([cJ] −→ [dJ]) est effectuée pour la valeur 1 du paramètreis, la synthèse ([dJ]−→[cJ]) pour la valeur1.

Listing 6.2schauder.m

function [ur,uw]=schauder(u,uo,nbp,nbni,is) ;

%

% Transformation en ondelettes de Schauder

%

sqr2=sqrt(2.d0) ; dsqr2=2.d0*sqr2 ; c1=sqr2 ;c2=sqr2/2.d0 ;

d1=1.d0 ;d2=-0.5d0 ;d3=sqr2/4.d0 ;

% coefficients sur Wj (ondelettes) i2p1=i2+1 ;

6.6 Solutions et programmes 149

La procédure du fichierimaexo3.mdéfinit un ensemble de points sur l’intervalle [0,1] et réalise l’échantillonnage des valeurs de la fonction définie dans le fichier fo.m. Cet ensemble de valeurs est ensuite approché par une fonction constante par morceaux à l’aide decstemor.m. La procédure du fichierschauder.mréalise alors l’analyse et la synthèse d’un signal donné par son échantillonnage sur l’inter-valle [0,1], en utilisant les ondelettes de Schauder.

Solution de l’exercice 6.4

La procédure du fichierimaexo4.meffectue les mêmes calculs que celle du fichier imaexo3.m, à la différence près que tous les coefficients d’ondelettes inférieurs en valeur absolue à un seuil donné sont mis à zéro avant d’effectuer l’étape de synthèse.

On réalise ainsi les tests de compression du tableau 6.2 et les figures 6.9 et 6.10.

Solution de l’exercice 6.5

La procédure du fichierdaube4.mréalise les phases d’analyse et de synthèse selon les formules (6.21) et (6.22). L’analyse ([cJ]−→[dJ]) est effectuée pour la valeur 1 du paramètreis, la synthèse ([dJ]−→[cJ]) pour la valeur1.

Listing 6.3daube4.m

function [ur,uw]=daube4(u,uo,nbp,nbni,is) ;

%

% Transformation en ondelettes de Daubechies (daub4)

%

c0=0.4829629131445341d0 ; c1=0.8365163037378079d0 ; c2=0.2241438680420134d0 ; c3=-0.1294095225512604d0 ;

%

if (is==1)

%

% Analyse

%

uw=u ;ur=u ; nj=nbp ;

% calcul des coefficients for ni=1:nbni

for i=1:nj ur(i)=uw(i) ; end

njp1=nj+1 ;

if (ni==1) njp1=1 ; end ur(njp1)=ur(1) ;

nj2=nj ; nj=nj/2 ; for i=1:nj-1

i2=2*i ;

% coefficients sur Vj

uw(i)=c0*ur(i2-1)+c1*ur(i2)+c2*ur(i2+1)+c3*ur(i2+2) ;

% coefficients sur Wj (ondelettes)

uw(nj+i)=c3*ur(i2-1)-c2*ur(i2)+c1*ur(i2+1)-c0*ur(i2+2) ; end

uw(nj)=c0*ur(nj2-1)+c1*ur(nj2)+c2*ur(1)+c3*ur(2) ; uw(nj2)=c3*ur(nj2-1)-c2*ur(nj2)+c1*ur(1)-c0*ur(2) ; end

%

else

%

% Synthese

%

ur=uo ;uw=uo ; nj=1 ;

% calcul des coefficients for ni=1:nbni

nj2=nj*2 ; for i=1:nj2

uw(i)=ur(i) ; end

ur(1)=c2*uw(nj)+c1*uw(nj2)+c0*uw(1)+c3*uw(nj+1) ; ur(2)=c3*uw(nj)-c0*uw(nj2)+c1*uw(1)-c2*uw(nj+1) ; for i=1:nj-1

i2=2*i ;nji=nj+i ;

% coefficients sur Vj+1

ur(i2+1)=c2*uw(i)+c1*uw(nji)+c0*uw(i+1)+c3*uw(nji+1) ; ur(i2+2)=c3*uw(i)-c0*uw(nji)+c1*uw(i+1)-c2*uw(nji+1) ; end

nj=nj2 ; end

%

end

La procédure du fichierimaexo5.mdéfinit un ensemble de points sur l’intervalle [0,1] et réalise l’échantillonnage des valeurs de la fonction définie dans le fichier fo.m. Cet ensemble de valeurs est ensuite approché par une fonction constante par morceaux à l’aide decstemor.m. La procédure du fichierdaube4.mréalise alors l’analyse et la synthèse d’un signal donné par son échantillonnage sur l’intervalle [0,1], en utilisant les ondelettes 4 de Daubechies.

Solution de l’exercice 6.6

La procédure du fichierimaexo6.meffectue les mêmes calculs que celle du fichier imaexo5.m, à la différence près que tous les coefficients d’ondelettes inférieurs en valeur absolue à un seuil donné sont mis à zéro avant d’effectuer l’étape de synthèse.

On réalise ainsi les tests de compression du tableau 6.3 et les figures 6.12 et 6.13.

6.6 Solutions et programmes 151

Solution de l’exercice 6.7

Les procédures des fichiersimaexo7h.m,imaexo7s.metimaexo7d.mlisent le fichier imagelenna.jpg. Elles effectuent ensuite une analyse, une compression puis une synthèse de cette image initiale en utilisant respectivement les ondelettes de Haar, Schauder et Daubechies. On réalise ainsi les figures 6.15, 6.16 et 6.17. On remarque que l’analyse et la synthèse d’une image par ondelettes sont réalisées par une succession d’analyses et de synthèses de signaux monodimensionnels.

BIBLIOGRAPHIE COMPLÉMENTAIRE OU LECTURE POUR

Dans le document PAR LA PRATIQUE (Page 157-164)