ondelettes & olena · 2002. 11. 7. · a la découverte des ondelettes transformée en...

30
Ondelettes & Olena Emmanuel Turquin <[email protected]> Séminaire du LRDE, 30 Octobre 2002

Upload: others

Post on 12-Mar-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Ondelettes & Olena

Emmanuel Turquin <[email protected]>

Séminaire du LRDE, 30 Octobre 2002

Page 2: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Table des matières

Table des matières

Introduction .......................................................................................... 3

A la découverte des ondelettes ......................................................... 4

Transformée de Fourier .......................................................................... 5

Les ondelettes ..................................................................................... 9

Transformée en ondelettes discrète (DWT ) ................................................ 10

DWT en 1D ......................................................................................... 12

DWT en 2D ......................................................................................... 15

Intégration dans Olena ........................................................................ 20

Ce que l’on souhaite obtenir.................................................................... 21

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 1

Page 3: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Table des matières

Options retenues .................................................................................. 22

Exemple d’utilisation.............................................................................. 23

La classe mère des ondelettes ................................................................ 24

1ere application : la compression d’image................................................... 26

2eme application : le débruitage................................................................ 27

Conclusion ........................................................................................... 28

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 2

Page 4: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Introduction

Introduction

• Notion de transformée d’un signal.

• Olena 1, bibliothèque générique de traitement d’image.

Plan de l’exposé :

• A la découverte des ondelettes

• Les ondelettes dans Olena

• Exemples concrets d’utilisation des ondelettes1

1http ://www.lrde.epita.fr/cgi-bin/twiki/view/Projects/Olena

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 3

Page 5: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes

A la découverte des ondelettes

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 4

Page 6: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes Transformée de Fourier

Transformée de Fourier

• Joseph Fourier (1768 - 1830)

• Domaine spatial (ou temporel )←→ Domaine fréquentiel

• Base de l’espace de Fourier : cos et sin (ou exp)

f̂ [k] =∑N−1

n=0 f [n]exp(−i2πknN )

f [n] = 1N

∑N−1k=0 f̂ [k]exp(i2πkn

N )

• Limitation : information fréquentielle précise, mais pas d’informationspatiale

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 5

Page 7: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes Transformée de Fourier

Exemple de traitement

−→

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 6

Page 8: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes Transformée de Fourier

Exemple de traitement

−→

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 7

Page 9: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes Transformée de Fourier

Solutions envisagées

• Analyse de Fourier à fenêtre , introduite par Dennis Gabor (1900 -1979) :

– permet d’obtenir une info temporelle (ou spatiale)mais...

– impose un compromis temps - fréquence (cf. Heisenberg)

– reproduction du signal quasi-impossible

• 1984 : apparition du terme "ondelette"

• Morlet, Grossmann, Meyer

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 8

Page 10: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes Les ondelettes

Les ondelettes

"Ondelettes" : un nom sur des concepts mathématiques déjà connus.∫ +∞−∞ ψ(t)dt = 0 et ψu,s(t) = 1√

sψ(t−u

s )

Transformée :

Wf(u, s) =∫ +∞−∞ f(t) 1√

sψ∗(t−u

s )dt

• Concept clé : multiéchelle ou multirésolution .

• Reste à voir comment s’en servir en pratique :

– support compact de ψ

– calcul de la transformée inverse

– passage en discret

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 9

Page 11: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes Transformée en ondelettes discrète ( DWT )

Transformée en ondelettes discrète ( DWT )

• Fondée sur le principe des filtres mirroirs conjugués .

• Base d’ondelettes + fonction d’échelle associée.

• Résultat de la théorie de la multirésolution : tout filtre mirroir conjuguécaractérise une ondelette ψ qui engendre une base orthonormale deL2(<).

• Bases ortogonales à support compact :

– Haar, la première en 1910

– Ingrid Daubechies et ses daubn

=⇒ DWT : algo de type pyramidal .

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 10

Page 12: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes Transformée en ondelettes discrète ( DWT )

Cascade de filtrages

Transformation :

Et reconstruction :

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 11

Page 13: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes DWT en 1D

DWT en 1D

Exemple : les ondelettes de Haar :

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 12

Page 14: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes DWT en 1D

Une étape de la transformée de Haar

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 13

Page 15: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes DWT en 1D

Représentation matricielle

La transformation étant un produit scalaire, on peut bien sûr la mettresous forme matricielle.

107−46−6108

=

c1 c2 0 0 0 0 0 0d1 d2 0 0 0 0 0 00 0 c1 c2 0 0 0 00 0 d1 d2 0 0 0 00 0 0 0 c1 c2 0 00 0 0 0 d1 d2 0 00 0 0 0 0 0 c1 c20 0 0 0 0 0 d1 d2

119593614

avec c1 = c2 = 1

2, d1 = −1 et d2 = 1

Transformation orthogonale =⇒ inverse = transposée

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 14

Page 16: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes DWT en 2D

DWT en 2D

• Succession de transformations 1D, effectuées sur toutes les lignes etles colonnes de l’image.

• Possible car les transformées sont séparables .

• 2 types de transformée (terminologie empruntée à David Salesin) :

– standard

– non-standard (la plus usitée)

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 15

Page 17: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes DWT en 2D

Type standard

→ → (...)→

↓(...)

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 16

Page 18: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes DWT en 2D

Type standard

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 17

Page 19: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes DWT en 2D

Type non-standard

→ (...)

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 18

Page 20: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

A la découverte des ondelettes DWT en 2D

Type non-standard

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 19

Page 21: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Intégration dans Olena

Intégration dans Olena

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 20

Page 22: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Intégration dans Olena Ce que l’on souhaite obtenir

Ce que l’on souhaite obtenir

• Transformée en ondelettes sur des images 2D

• Possibilité de choisir la base d’ondelettes

• Possibilité pour l’utilisateur d’en définir de nouvelles

• Rapidité

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 21

Page 23: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Intégration dans Olena Options retenues

Options retenues

• Classe dwt paramétrée par le type d’ondelette

• Ondelettes supportées : orthonormales

• Implémentation de l’algo fast wavelet transform

• Transformation standard, non-standard, sur lignes et sur colonnes

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 22

Page 24: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Intégration dans Olena Exemple d’utilisation

Exemple d’utilisation

// Définition par l’utilisateur d’un nouveau type d’ondelette

Wavelet_coeffs_definition( my_super_wavelet , dfloat, 2){

const dfloat sqrt_2 = sqrt(2);

Wavelet_coeffs_begin1 / sqrt_2,1 / sqrt_2

Wavelet_coeffs_end};

image2d<int_u8> im("lena_et_oui_encore_elle.pgm");

dwt<int_u8, my_super_wavelet > wave(im);

image2d<dfloat> im_trans = wave.transform(dwt_std, true, 3);

// ... Traitement quelconque sur im_trans ...

image2d<int_u<8, saturate> > im_inv = wave.transform_inv<int_u<8, saturate> >();

io::save(im_inv, "lena_au_pays_des_ondelettes.pgm");

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 23

Page 25: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Intégration dans Olena La classe mère des ondelettes

La classe mère des ondelettes

// Classe parente des ondelettes

template <class T, unsigned N, class Self>struct _wavelet_coeffs{

typedef T value_t;typedef Self self_t;

public:

// Accesseurs

protected:

void init(){// Initialisation des autres tableaux à// partir de h, coeffs de la fonction// d’échelle

}

_wavelet_coeffs(){}

~_wavelet_coeffs(){

meta::is_false<N % 2>::ensure();}

// Permet une initialisation élégantemeta::array1d< meta::array1d_info<N, 0>, value_t>h;meta::internal::_array1d_start<value_t>wc_start;

private:

value_t g[N];value_t ih[N];value_t ig[N];enum {

_size = N};

};

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 24

Page 26: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Intégration dans Olena La classe mère des ondelettes

Déclaration de nouvelles ondelettes

// Déclare nouvelle_ondelette

struct nouvelle_ondelette : public internal::_wavelet_coeffs<dfloat, 4, nouvelle_ondelette>{

nouvelle_ondelette(){

h = (wc_start =x((1 + sqrt_3)/denom),(3 + sqrt_3)/denom,(3 - sqrt_3)/denom,(1 - sqrt_3)/denom,end);

init();}

};

Pour simplifier encore davantage l’écriture, des macros ont été définies.

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 25

Page 27: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Intégration dans Olena 1 ere application : la compression d’image

1ere application : la compression d’image

• L’application par excellence des transformées en ondelettes

• Principe : annuler les coefficients de plus faible valeur

• Type de compression choisi pour le format JPEG2000

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 26

Page 28: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Intégration dans Olena 2 eme application : le débruitage

2eme application : le débruitage

• Traitement du white noise.

• Principe proche de celui de la compression

• But : Favoriser les valeurs qui ont un rapport signalbruit important

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 27

Page 29: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Conclusion

Conclusion

Implémentation des transformées en ondelettes discrète :

• robuste

• facile d’accès

Ce qu’il reste - éventuellement - à faire :

• Rajouter la transformée par lifting (Sweldens)

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 28

Page 30: Ondelettes & Olena · 2002. 11. 7. · A la découverte des ondelettes Transformée en ondelettes discrète (DWT) Transformée en ondelettes discrète (DWT) •Fondée sur le principe

Conclusion

Merci de votre attention :)

Des questions ?

Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 29