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
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
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
A la découverte des ondelettes
A la découverte des ondelettes
Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 4
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
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
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
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
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
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
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
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
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
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
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
A la découverte des ondelettes DWT en 2D
Type standard
→ → (...)→
↓
↓(...)
Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 16
A la découverte des ondelettes DWT en 2D
Type standard
Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 17
A la découverte des ondelettes DWT en 2D
Type non-standard
→
↓
→ (...)
Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 18
A la découverte des ondelettes DWT en 2D
Type non-standard
Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 19
Intégration dans Olena
Intégration dans Olena
Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 20
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
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
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
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
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
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
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
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
Conclusion
Merci de votre attention :)
Des questions ?
Ondelettes & Olena, Emmanuel Turquin - Séminaire du LRDE, 30 Octobre 2002 29