Rapport travail 3

Par Maxime Guillemette, le 3/3/2019.
Pour le cours GIF-4105 - Photographie algorithmique

Description du projet

Ce travail est divisé en 2 parties: A et B. Dans la partie A, on doit produire une animation qui affiche un visage d’un étudiant du cours et le métamorphosera vers le visage d’un autre étudiant du cours, le tout dans une séquence vidéo. D’autres animations doivent être créées avec d’autres photos. Dans la partie B, on utilise notre algorithme de morphage afin de calculer le visage moyen d’un ensemble de visages. Avec ce visage moyen, il est possible de modifier un visage, ce qui sera fait en se prenant soi-même comme cobaye.

Partie A

Algorithme

L’algorithme utilisé est celui décrit en classe. On établi d’abords des points d’intérêts dans les 2 images (appellons-les A et B). Ensuite, pour chaque valeur alpha entre 0 et 1, on calcul la forme de l’image moyenne (établie à partir de la moyenne pondérée des points de A et de B, selon alpha) et on calcul une triangulation avec les points de l’image moyenne et l’algorithme de Delaunay. Ensuite, pour l’image A et l’image B, pour chaque triangle de la triangulation, on calcul la transformation affine T qui transforme les points de l’image A vers l’image A’ (de forme moyenne). On effectue la même chose pour l’image B. Ensuite, on applique la transformation inverse de T à chacun des pixels de l’image A’, afin de retrouver leur emplacement dans l’image A. On interpole ensuite la valeur RGB (un canal à la fois) à cet endoit et on l’applique dans l’image A’, à l’emplacement prévu. Un fois ce procédé répété pour l’image B, on obtient 2 images A’ et B’, qui ont la forme moyenne, mais les couleurs de A et B respectivement. Finalement, on fait la moyenne pondérée des images selon alpha ce qui nous donne une trame. Lorsque toutes les trames pour alpha allant de 0 à 1 ont été générées, on les rassemble en une seule séquence vidéo afin de faire le morphing.

Résultats

Morph de mon visage vers le prochain visage:
Visages

Morph des frères Bodganoff jeunes vers maintenant:
Bodganoff bros

Morph d’une SNES vers une Gamecube:
consoles

Morph de 2 directeurs de (mauvais) films (Neil Breen et Tommy Wiseau:
directors

Morph de Frodon (dans les films “Le Seigneur des Anneaux”) au début de sa quête vers la fin de sa quête:
frodo

Morph d’une manette de Playstation 3 vers une manette de Playstation 4:
manettes

Discussion

On voit que les résultats sont biens lorsque ce sont des visages qui sont morphés. En effet, lorsque les points sont choisis sur des centres d’intérêts (e.g. les yeux, la bouche, etc), l’effet est plus convainquant. Par contre, lorsque les points sont choisis arbitrairement (comme sur l’image de la SNES vers la Gamecube), les triangulations changent entre les images ce qui crée des discontinuitées dans la séquence de morphage. Un moyen de mitiger ce problème serait de choisir plus de points d’intérêts, mieux répartis.

Partie B - Visages moyens

Algorithme

L’algorithme est très semblable à celui utilisé à la partie A. Pour N images avec l’ensemble des N ensembles de points de correspondance, on débute en calculant la moyenne des points, qui sera donc la forme du visage moyen. La triangulation est calculée sur les points moyens. Ensuite, pour chaque image, on applique les mêmes procédés décrits à la partie A, afin de déformer l’image \(A_i\) vers l’image \(A_i^{'}\). Ainsi, on déforme chaque image vers la forme moyenne et on interpole pour reconstruire les couleurs. Finalement on calcule le visage moyen tout simplement en faisant la moyenne des images déformées.

Résultats

La forme et le visage moyen de la classe:
triangulation moyenne mean face

La forme et le visage moyen de la classe obtenu avec le détecteur dlib:
tri moy class dlib mean face class dlib

La forme et le visage moyen de la collection Utrecht, avec le détecteur dlib:
tri moy utrecht dlib mean face utrecht dlib

Discussion

On voit que le visage moyen de la classe est bien réussi. Il faut noter que puisque les lunettes n’ont pas de points de correspondances associés à elles, elles apparaissent en fondu dans le résultat. Comme on s’y attend, les résultats obtenus avec le détecteur dlib sont meilleurs au niveau des points d’intérêts, i.e. les yeux, le nez et la bouche.

Partie B - Masculinisation et féminisation du visage

Algorithme

Pour cette section, quelques préparatifs ont dûs être faits: modifier l’image de mon visage pour qu’il ait la même résolution que celui des visages de la collection Utrecht et redétecter les points sur cette nouvelle image, en plus de séparer les images d’hommes des images de femmes. Ensuite, on calcul la forme moyenne du visage de femme avec la moyenne des points des visages de femmes. On effectue une triangulation sur ces points et on calcul le visage de femme moyen, avec l’algorithme décrit dans les sections plus haut. Ensuite, pour différents facteurs de couleur et de déformation, on crée l’image de mon visage dont la couleur est déterminée par la moyenne pondérée par le facteur de couleur avec le visage de femme moyen, et la forme est déterminée par la moyenne pondérée par le facteur de déformation avec la forme de visage moyen de femme. Le même principe s’applique pour la masculinisation de mon visage.

Résulats

Masculinisation de mon visage pour un facteur de couleur allant de 0 à 0.75 par bonds de 0.25, et pour un facteur de déformation allant de 0 à 1 par bonds de 0.25:
mme mme mme mme mme

mme mme mme mme mme

mme mme mme mme mme

mme mme mme mme mme

Féminisation de mon visage pour un facteur de couleur allant de 0 à 0.75 par bonds de 0.25, et pour un facteur de déformation allant de 0 à 1 par bonds de 0.25:
fme fme fme fme fme

fme fme fme fme fme

fme fme fme fme fme

fme fme fme fme fme

Discussion

Les résultats sont assez biens. Le facteur de couleur n’a pas pris une valeur au dessus de 0.75, puisqu’il ne resterait que la forme de mon visage. On voit tout de même que, pour le visage masculin, la forme de mon visage est élargie, mais le reste des traits (e.g. les yeux, le nez, etc) ne sont pas trop déformés. Quant à la couleur, mon teint devient plus rosé et mes poils faciaux tendent à disparaître. Mes cheveux deviennent également plus foncés.
Pour le visage féminin, on voit que la hauteur de mon visage diminue, que mes yeux s’agrandissent et que mon visage est plus rond. Quant à la couleur, les mêmes effets que pour le visage masculin sont observés, en plus de voir que mes sourcis sont amincis.