TP2: On s'amuse en fréquence

Nicolas-Marcel Lemoine

Rechauffement

Pour se réchauffer on va commencer par accentuer les détails d'une image. On filtre pour cela l'image par un filtre gaussien avec un sigma de 10. On soustrait ensuite l'image filtrée à l'image initiale afin d'obtenir uniquement les détails, que l'on rajoute à l'image initial, dans le cas des images ci-dessous j'ai rajouter 3 fois les détails à l'image d'origine. Il est ensuite nécessaire de gérer les dépassement en projetant les valeurs extrèmes sur -1 ou 1 selon le cas (pour un travail en nombre flottant).
Voici les images sur lesquels j'ai testé mon algorithme, à droit l'image originale et à gauche l'image dont les détails ont étés accentués.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

photo provenant de 1)du site i.stack.imgur.com et 2)du site teluq.ca/siteweb/univ/fhenri.html

Partie 1: Images hybrides

Pour cette partie j'ai utilisé le scipt fourni auquel j'ai ajouté mes propres fonction. J'ai notamment converti en flottant les images avant de les alignées sur les deux yeux avec la fonction fournie et ai filtré les deux images pour les concaténer. Pour filtrer l'image qui conservera les basses fréquences j'ai utilisé simplement un filtre gaussien afin de moyenner l'image. Pour les hautes fréquences je soustrait à l'image de départ une image filtrée par un filtre gaussien. Ces deux valeurs ont été choisies en lisant le travail de l'article de SIGGRAPH 2006 écrit par Oliva, Torralba et Schyns, qui recommande d'avoir un gap entre la fréquence de coupure pour les basses fréquence et celle pour les hautes fréquences. J'obtiens ainsi à partir des deux images fournies l'image ci-dessous. J'ai de plus utilisé la fonction de découpage fournie afin de garder uniquement la partie intéressante de l'image générée. Je n'ai en revanche pas travaillé sur les transformée de fourier des images pour le filtrage car tous mes essais ont aboutis à des erreurs.

Images fournies:

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Image hybride calculée:

Ma version produite de l'image hybride de Albert Einstein et de Marilyn Monroe est celle dans laquelle j'ai gardé les basses fréquences de Marilyn avec un sigma de 16 et les hautes fréquences d'Einstein avec une fréquence de 24. Ce sont pour les valeurs précédentes que j'obtiens le meilleur résultat.

Cliquez pour voir en taille réelle

On voit bien apparaitre sur l'image hybride Albert Einstein lorsque l'on est proche et Marilyn Monroe lorsque l'on s'éloigne.

Mes images Hybrides

Ma première image hybride est le résultat de la fusion de mon visage souriant et de mon visage triste. Cette image hybride est moyennement réussi puisque de loin le sourire est difficile à observer. Pour généré cette image j'ai filtré les basse fréquence avec un sigma de 5 et les hautes fréquences avec un sigma de 20.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Ma seconde image hybride vient de la fusion de ma main dans deux positions différentes: poing fermé et pouce en l'air. On voit bien apparaître le pouce en l'air de près, un peu de manière fantomatique et il disparait une fois loins de l'image. J'ai filtré les basses fréquences avec un sigma de 16 et les hautes fréquences avec un sigma de 50 pour cette image.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Ma troisième image est le changement dans le temps d'une pomme: avant de l'avoir mangé et après. On voit apparaître de près la pomme entière puis mangé une fois que l'on recul. J'ai utilisé un sigma de 20 pour les basses fréquences et de 200 pour les hautes fréquences.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Résultat préféré:

Ma dernière image hybride est aussi ma préférée. J'ai fusionné mon visage avec celui de ma copine afin qu'on me voit de près et elle de loin. j'ai utilisé pour filtrer les basses fréquences un sigma de 10 et pour les autres fréquences un sigma de 40.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

J'ai aussi calculé la transformé de fourier des images pour ce résultat la colonne de gauche correspond aux images de ma copine et celle de droite à mes images. On a de haut en bas les transformées des images originales, puis les transformées des images filtrées, puis la transformée de l'image hybride.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

On remarque que sur les images originales toutes les fréquences sont bien présentes (images blanches), l'image varie beaucoup selon toutes les directions, car l'image est complexe et possède beaucoup d'informations. Sur la deuxième ligne (images filtrées) en revanche on observe que pour la colonne de droite les hautes fréquences ont bien étées filtrées et pour la colonne de gauche du repliement spectral semble apparaître, visible par les nombreuses lignes supplémentaires dans la transformée. L'image hybride a une transformée qui est combinaison des deux images qui la précède mais cette combinaison n'est pas parfaite, en effet on voit disparaître certaines lignes de la transformée de gauche et les composantes de la transformée de droite sont atténuées.


J'ai pu remarqué dans cette partie que les paramètres à règlé pour former des images hybrides étaient dépendants des images fournies, il faut donc les ajustés pour chaque images.

Partie 2: Piles Gaussiennes et Laplaciennes

Pour calculer la pile de gaussienne j'ai filtré l'image initiale avec un filtre gaussien dont j'ai modifié le sigma à chaque itération : 2,4,8... Pour la pile de Laplacien j'ai soustrait deux à deux les images de la pile gaussienne et ai gardée la dernière image de la pile Gaussienne comme image de la pile Laplacienne. Le paramètre "n" passé à la fonction stack calculant mes piles gaussienne et laplacienne est le nombre d'image que l'on veut avoir dans ces piles.

Pile Gaussienne et Laplacienne de Lincoln et Gala

Pile Gaussienne

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

A mesure que le filtre gaussien s'intensifie l'image de Gala disparaît et Lincoln devient de plus en plus visible, ceci est dû au fait que le fitlre gaussien filtre les hautes fréquences, donc plus le filtrage est important plus les hautes fréquences (ici l'image de Gala) sont éliminées.

Pile Laplacienne

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

La première partie de la pile est constituée des hautes fréquences de l'image, c'est donc normal d'y retrouver essentiellement l'image de Gala. En revanche à mesure que le filtrage gaussien s'intensifie les hautes fréquences disparaissent laissant place aux basses fréquences, ici le visage de Lincoln.
J'ai aussi essayé de généré cette pile avec un sigma variant par puissance de 3: 3,9,27.. mais le calcul devient vite très long et est moins optimisé qu'avec les puissances de 2.

Pile Gaussienne et Laplacienne de mon image favorite

Pile Gaussienne

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Pile Laplacienne

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Il y a moins de flou qui apparaît sur les dernières images de la pile dans ce cas ci car la résolution de l'image est beaucoup plus importante.

Mélange Multirésolution

Afin de simplifier mon code j'ai créé pour cette partie un nouveau fichier: Melange_multirésolution_main qui contiendra le code principal de cette partie, ainsi qu'un fichier MelangeMulti qui contient les fonctions utiles pour cette partie. Pour toutes mes images j'ai utilisé une pile de 8 étages. Pour réaliser le calcul je calcul les piles Laplaciennes des images et gaussienne du masque. J'ai ensuite combiné chaque image de la pile gaussienne du masque avec les image de la pile laplacienne des images originales en faisant un produit termes à termes et je somme toutes les images ainsi générées.

La Pommange

Pour réaliser la pommange j'ai utilisé une pile gausienne et laplacienne de 8 étages, voici le résultat:

Cliquez pour voir en taille réelle

Le résultat est semblable à celui de l'énoncé.

Oeil dans la main

J'ai ensuite essayé de découper mon oeil sur une photo et de le transférer dans ma main sur la photo suivante.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

L'oeil dans ma main n'est pas aligné avec l'autre car j'ai bougé entre les deux images, mais ce n'est pas grave l'essentiel est que le rendu de l'oeil dans ma main soit bon.

Ajout d'un doigt

J'ai aussi essayé de me greffer un sixième doigt sur la main mais le résultat n'a pas été à la hauteur de mes attentes. Le rendu au niveau des couleurs n'est pas joli, en revanche la version en noir et blanc est meilleure.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Changement de nez

J'ai essayé de remplacer mon nez par celui de Tom Jedusor (photo). Le résultat possède quelques problèmes de couleur, en revanche le résultat noir et blanc est encore une fois meilleur, de la résolution de l'image originale n'est pas très élevée, ceci peut être aussi une cause des défauts.

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Détails procédé

Le masque affiché est celui utilisé pour l'orange:

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Voici les étapes pour l'orange:

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Voici les étapes pour la pomme:

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Voici l'image cumulative établie lors de l'algorithme (somme des deux images avec les masques cumulées):

Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle Cliquez pour voir en taille réelle

Dans cette partie j'ai réalisé l'image demandée ainsi que trois images supplémentaire, dont deux avec mes photos uniquement. Parmis ces images supplémentaires réalisées 3 sont avec des filtres non réguliers. Le travail nécessaire pour superposer les images et les filtres est long et laborieux, puisqu'il faut adapter à chaque image.