TP 5

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

École Normale Supérieure Traitement du signal

TP 5 - Parcimonie
1 - Matching Pursuit
1. Implémenter une fonction mp(A,b,K) qui prend en entrée une matrice A de taille p × n, un
vecteur b de taille p, leur applique K itérations de l’algorithme décrit dans le premier exercice
du TD et renvoie le x(K) obtenu.

2 - Déconvolution
2. Écrire une fonction spikes(N,p) qui prend en entrée un entier N et un réel p ∈ [0; 1] et
renvoie un vecteur constitué de N réalisations indépendantes de la variable aléatoire suivante :

X =YZ

où Y est une variable gaussienne de variance 1 et Z vaut 1 avec probabilité p et 0 avec probabilité
1 − p (avec Y et Z indépendantes).
3. a) On pose N2 = 30 et N = 200. Définir un filtre φ[k], k = −N/2 + 1, ..., N/2 dont la
transformée de Fourier vaut :

φ̂[k] = (N22 − k 2 )2 si k = −N2 , ..., N2


= 0 si k = −N/2 + 1, ..., −N2 − 1 ou k = N2 + 1, ..., N/2

b) Multiplier φ par une constante, de sorte que sa valeur maximale soit 1.


4. On suppose qu’on souhaite reconstruire un vecteur x inconnu et qu’on a accès pour cela à
x ? φ (où le symbole ? désigne la convolution circulaire).
a) Si on ne fait pas d’hypothèse sur x, est-ce possible ?
b) Choisir pour x un vecteur renvoyé par la fonction spike pour N = 200 et p = 0.02. Afficher
sur le même graphe x et x ? φ.
5. On suppose qu’on sait que x a beaucoup de coordonnées nulles et on utilise cette hypothèse
pour faire la reconstruction.
a) Déterminer la matrice A ∈ Mn (R) associée à l’application linéaire x → x ? φ.
b) Pour plusieurs x différents (obtenus comme à la question 4.b)), essayer de reconstruire x
à partir de x ? φ, en utilisant l’algorithme de la question 1. À chaque fois, afficher x et sa
reconstruction sur un même graphe.
[Un choix raisonnable de K est K = 2pN .]
6. a) Quels x sont-ils correctement reconstruits ?
b) Tester le cas où x n’est pas calculé via la fonction spike mais est une somme de deux diracs.
Quel doit être approximativement l’écart entre les deux diracs pour que x soit correctement
reconstruit ? (On pourra essayer plusieurs valeurs différentes pour N2 .)

1
3 - Inpainting
7. a) Charger l’image http://www.di.ens.fr/~waldspurger/tds/13_14_s2/serre.png. L’af-
ficher. C’est normalement un tableau d’entiers à trois dimensions.
b) Déterminer l’ensemble S des indices des pixels rouges.
[Indication : les pixels rouges correspondent aux coordonnées k, n tels que im[k,n,1] = 255,
im[k,n,2] = 0 et im[k,n,3] = 0. La commande find(t) permet d’obtenir la liste des indices
des éléments non-nuls de t, pour tout tableau t.]
c) Convertir l’image en niveaux de gris par la commande im = double(mean(im,3)).
8. On va essayer de remplacer les pixels rouges par des valeurs donnant l’image la plus crédible
possible.
Au lieu de reconstruire directement les valeurs des pixels manquants, on va reconstruire les
coefficients de la transformée en ondelettes de Haar de l’image. On note x le vecteur des coeffi-
cients. La transformée en ondelettes d’une image réelle ayant généralement beaucoup de petits
coefficients, il est raisonnable de chercher x avec le plus de zéros possible.
a) Le vecteur x doit vérifier une contrainte de la forme Ax = b. Calculer A et b en fonction de
la matrice qui décrit l’inverse de la transformée en ondelettes.
b) On note T la matrice associée à la transformée en ondelettes et T −1 son inverse.
Montrer que, pour tout vecteur x, on a x − t A(Ax − b) = T z, où z est le tableau tel que
z[k, l] = (T −1 x)[k, l] si (k, l) ∈ S et z[k, l] = im[k, l] sinon.
9. a) Implémenter 500 itérations de l’algorithme décrit dans l’exercice 4 du TD, pour λ = 6.
b) Calculer l’image im rec associé au vecteur x obtenu et l’afficher.
c) Que se passe-t-il si on prend un λ trop grand (λ = 30, par exemple) ?
10. Améliorer le résultat par moyennage sur des versions translatées, comme dans le TP 3.
[Vous pouvez considérer seulement 9 translations au lieu de 81 et prendre λ un peu plus petit
que précédemment, par exemple λ = 3.]
Si vous souhaitez comparer vos résultats avec l’image originale, elle est disponible à l’adresse
http://www.di.ens.fr/~waldspurger/tds/13_14_s2/serre_original.png.

Vous aimerez peut-être aussi