Méthodes numériques pour le traitement d’images

Cours 4 : Transformée dyadique en ondelettes - continue et discrète

Emmanuel Caruyer

2019-2020, L3 SIF (ENS Rennes, Université de Rennes 1)

La transformée en ondelettes continue (1)

La transformée en ondelettes consiste à comparer la fonction à analyser avec des versions translatées et contractées d’une même fonction \(\psi\): \[ \mathcal{D} = \left\{ \psi_{u,s}(t) = \frac{1}{\sqrt{s}} \psi\left(\frac{t - u}{s}\right), u \in \mathbb{R}, s\in \mathbb{R}^+ \right\} \]

La transformée en ondelettes continue (2)

Exemple d’une fonction mère et sa version translatée/contractée

Représentation multi-résolution d’une fonction

On cherche à analyser une fonction \(f\) dans une famille d’ensembles vectoriels \(V_j\in \mathbb{L}^2(\mathbb{R})\) qui vérifient certaines propriétés pour tout \(j\in \mathbb{Z}\).

La fonction \(\phi\) est appelée fonction d’échelle, elle permet d’engendrer les \(V_j\) par translation et dilatation: \[ V_j = \mathrm{Vect}\left( \left\{ \phi\left(\frac{t - 2^j n }{2^j}\right); (j, n)\in \mathbb{Z}^2 \right\} \right) \]

Fonction d’échelle et ondelettes orthogonales

À partir du découpage \(V_j\), on peut construire la famille des espaces \(W_j\) tels que \[ V_{j-1} = V_j \oplus W_j \]

Intuitivement, par projection d’une fonction \(f\) sur \(W_j\) on obtient les « détails » à l’échelle \(2^j\), alors que la projection sur \(V_j\) donne l’« approximation » de \(f\).

On peut construire une base orthonormale de \(W_j\) avec la famille d’ondelettes \[ W_j = \mathrm{Vect} \left( \left\{ \psi_{j,n}(t) = \frac{1}{\sqrt{2^j}} \psi\left(\frac{t - 2^j n}{2^j}\right); n \in \mathbb{Z}^2 \right\} \right) \]

La représentation des boîtes d’Heisenberg de cette famille d’ondelettes génère un « pavage » de l’espace temps-fréquences.

Représentation temps-fréquences d’une famille d’ondelettes

Analyse en ondelettes dyadiques

En pratique, on ne poursuit pas la décomposition jusqu’à l’infini, mais on se borne à une échelle maximale \(2^J\). On peut alors écrire \[ f(t) = \sum_{n\in \mathbb{Z}} \langle f, \phi_{J,n}\rangle \phi_{J,n}(t) + \sum_{j \leq J} \sum_{n \in \mathbb{Z}} \langle f, \psi_{j,n}\rangle \psi_{j,n}(t) \]

Ondelette chapeau mexicain et sa fonction d’échelle

Représentation discrète : les bancs de filtres

Un banc de filtres est une famille de filtres \(h, g, \tilde{h}, \tilde{g}\) telle qu’on peut décomposer un signal discret \(a_0\) de la façon suivante

La notation \(\downarrow 2\) désigne l’opération qui consiste à supprimer un échantillon sur deux, alors que \(\uparrow 2\) consiste à ajouter un 0 entre chaque paire d’échantillons.

On note \(\bar{h}[n] = h[-n]\).

Si \(\tilde{a_0}\) est parfaitement reconstruit à l’aide des filtres duaux \(\tilde{h}, \tilde{g}\), on dit que le banc de filtre est à reconstruction exacte.

Transformée en ondelettes dyadiques rapide par banc de filtres

On peut implémenter une décomposition en ondelette orthogonale par un banc de filtre récursif.

Banc de filtres récursifs

On initialise les coefficients \(a_0\) en les assimilant au signal original.

Exemple : l’ondelette de Haar (1)

L’ondelette-mère de Haar est définie par \[ \psi(t) = \begin{cases} 1 & \text{pour } 0 \leq t < 0.5 \\ -1 & \text{pour } 0.5 \leq t < 1 \\ 0 & \text{sinon}. \end{cases} \]

On peut définir les filtres (discrets) \(h\) et \(g\) par : \[ h = [\frac{1}{\sqrt{2}}\ \ \ \frac{1}{\sqrt{2}}],\qquad g = [\frac{1}{\sqrt{2}}\ \ \ -\frac{1}{\sqrt{2}}] \]

Exemple : l’ondelette de Haar (2)

Ondelette de Haar appliquée à un signal 1d

Exemple : l’ondelette de Haar (2)

Ondelette de Haar appliquée à un signal 1d

Exemple : l’ondelette de Haar (2)

Ondelette de Haar appliquée à un signal 1d

Exemple : l’ondelette de Haar (3)

Ondelette de Haar appliquée à un signal 1d

Quel que soit le niveau de détail, le nombre de coefficients est conservé.

Afin de pouvoir représenter le résultat, on a coutume de concaténer les coefficients.