Teaching - AMO


Approches Multi-Echelles et Ondelettes

TP 1

toolbox ondelettes Le fichier exUseWavelet.m fait office de tutoriel multiple pour charger un fichier audio, construire et utiliser une ondelette, ajouter des 0 pour avoir un signal de longeur 2^n...

Partie 1: Débruitage sur un signal jouet

Reprise du TD et familiarisation avec Octave.

  • Générer des données 1D et les bruiter
  • Passer dans l'espace de Fourier
  • Seuiller en dur les petits coefficients
  • Revenir dans l'espace temporel et afficher les résultats

NB: vous éviterez de coder les paramètres en dur afin de pouvoir jouer facilement sur le niveau de bruit ou la longueur des signaux...

Partie 2: identification de signaux sonores

signaux bonjour

  • Charger les différents signaux
  • Vous construirez la matrice des produits scalaires dans les cas suivants:
afin de visualiser la matrice, vous utiliserez la commande imagesc
  • Signaux temporels non pré-traités
  • Spectres non pré-traités
  • Signaux temporels normalisés
  • Spectres normalisés
  • Vous expliquerez en quoi consiste la normalisation des signaux et son intérêt.
  • Vous pourrez éventuellement rééditer l'expérience avec une transformée en ondelettes

Partie 3: compression d'image JPEG2000

Vous pourrez vous référer au site lien qui propose une description concise mais efficace de l'algorithme qui nous intéresse.

NB: deux exemples d'images sont présents dans la toolbox.
  • vous utiliserez la fonction readim pour importer des images.
    • si les images sont en couleurs, vous pourrez soit traiter chaque couche indépendamment, soit la convertir en noir en blanc (signal de luminance lien)
    • si les images ne font pas la bonne dimension, vous travaillerez sur une partie de l'image seulement.
  • Normaliser les valeurs des coefficients entre -0.5 et 0.5
  • Passer dans une base d'ondelettes adequat
  • Utiliser ensuite une quantification scalaire dont le principe est bien expliqué ici.
    • votre quantification sera réalisée dans une fonction autonome qui prendra en paramètre le nombre d'intervalle discret à utiliser.
    • vous introduirez un second paramètre permettant d'agrandir arbitrairement la zone morte
NB: votre quantifieur est symétrique, c'est plus simple à programmer et le code principal ne fait que deux ou trois lignes
  • Programmer les fonctions inverses pour reconstruire l'image

Au dela de la mise en oeuvre de l'algorithme, vous insisterez sur l'intérêt d'utiliser des ondelettes au lieu d'une DCT (type JPEG), vous comparerez systématiquement l'image originale et l'image finale et vous étudierez l'influence des différents paramètres introduits (notamment Haar VS Daubechies).