TP3: Morphage de visages


Sébastien Marsaa-poey

Présentation

L'objectif de ce TP est d'implémenter un algorithme de morphage. Cet algorithme permet de transformer un visage vers un autre visage, mais aussi de transformer un objet ou un animal en autre chose. D'autres applications sont la réalisation d'un visage moyen pour un groupe de personnes ou la modification des traits d'une personne, par exemple pour masculiniser ou féminiser un visage.

Cliquez sur les images et les animations pour les voir en taille réelle


Partie 1: Algorithme de morphage

Dans cette partie, on réalise des animations qui montrent la transformation d'une image à une autre. On travaillera principalement avec des images de visages.
Premièrement, on définit manuellement des points de correspondances entre les deux images. En réalisant la moyenne des positions des points d'interets des deux images (paramétrée par le facteur de distorsion α), on obtient une forme intermédiaire entre les deux images. On applique une triangulation de Delaunay à cet ensemble de points moyens pour séparer l'image en triangles. image triangulation moyenne. Cette triangulation sert à transformer les deux images vers la forme moyenne. Cela se fait en calculant la transformation affine T entre chaque triangle des images d'origine et le triangle correspondant dans la forme moyenne; puis à appliquer cette transformation à chaque point du triangle. Une fois les deux images déformées vers la forme moyenne, il ne reste qu'à faire un moyenne de ces deux images (parametrée par le facteur de fondu β) pour obtenir une image intermédiaire.
5 images avec triangulations correspondantes L'animation est obtenue en calculant plusieurs images, en faisant varier linéairement les parametres α et β.
Image 1 Image 2 Morphage
image1 image2 gif
image1 image2 gif
image1 image2 gif
image1 image2 gif
image1 image2 gif
image1 image2 gif

Lorsque les formes sont proches, comme par exemple pour deux visages, le morphage est convaincant. C'est moins le cas lorsque les formes sont très différentes. Par exemple, pour le morphage "évolution" qui passe du dinosaure à la poule, les bras du trex ne correspondent à rien chez la poule et disparaissent dans un fondu. C'est encore plus génant sur la transformation du fauteuil; un bras du fauteuil apparait de nulle part, déformée de façon peu naturelle. Le morphage du fauteuil souffre d'un autre défaut: trop peu de points de correspondances ont été définis entre les deux images, ce qui conduit à la déformation de lignes de l'arriere plan qui devraient rester droites et à un effet de ghosting au centre du fauteuil.



Partie 2: Visage moyen

Dans la partie 1, les points caractéristiques du visage ont été sélectionnés à la main. Dans cette partie, on utilise un outil pour les détectert automatiquement: dlib.
On utilise la même méthode que précedemment pour triangulariser ces points d'intérêts, puis on calcule simplement la triangularisation moyenne pour tous les visages. Ensuite, chaque image est transformée vers la forme définie par la triangularisation moyenne avec l'algorithme de morphage de la partie 1. En particulier le parametre de distorsion α est fixé à 1 (On veut épouser parfaitement la forme moyenne) et le parametre de fondu β à 0 (On ne fait pas de fondu avec une deuxième image). Enfin, on réalise la moyenne de toute ces images transformées. Cela donne le visage moyen du groupe étudié.
On applique la méthode aux photos de la classe ainsi qu'à la base de donnée d'Utrecht.

Forme du visage moyen Visage moyen

classe, points manuels

triangulation classe man visage moyen classe man

classe, points dlib

triangulation classe dlib visage moyen classe dlib

Utrecht, points dlib

triangulation Utrecht dlib visage moyen Utrecht dlib

Le visage moyen d'Utrecht donne un résultat plus satisfaisant dans le sens ou il laisse moins apparaitre les détails qui viennent d'une image unique. C'est grace à la taille de l'échantillon qui est supérieure dans le cas d'Utrecht. Dans les deux cas, le visage moyen est globalement masculin; c'est parce que nos échantillons contiennent plus d'hommes que femmes. Enfin, on remarque aussi que l'image est nette sur le visage et floue autour. C'est parce que sur le visage, les points sont alignés et laissent apparaitre un motif commun, contrairement par exemple à la zone des cheveux qui n'est pas détectée par dlib. Avec les points d'interets pris manuellement, on avait entouré entierement le sommet du crane et la forme de ce visage moyen est moins floue au sommet.



Partie 3: Masculinisation et féminisation du visage

La masculinisation ou féminisation du visage se fait en créant la forme moyenne du visage des hommes ou des femmes, puis en morphant un visage vers cette forme. J'applique cette transformation à mon visage.
α est le parametre de distorsion, β est le parametre de fondu.

Féminisation

forme du visage moyen visage moyen féminin
triangulation visage feminin visage moyen féminin
α = 0.5, β = 0.4 α = 0.7, β = 0.5
feminisation 1 feminisation 2


Masculinisation

forme du visage moyen visage moyen masculin
triangulation visage masculin visage moyen masculin
α = 0.3, β = 0.3 α = 0.7, β = 0.5
masculinisation 1 masculinisation 2

Les images ne sont pas parfaitement alignées, ce qui induit un gonflement du visage. Cependant, on se rapproche de la forme du visage moyen en faisant diminuer alpha. La variation de beta permet d'atténuer la pilosité faciale.



Liens

Photographie algorithmique GIF 4105/7105, h29, Jean-françois Lalonde. Université Laval
Enoncé TP3 - Morphage de visages : partie A et partie B
Site web de dlib
Base de données d'images Utrecht



Sources

ours: https://pxhere.com/fr/photo/870240
ourson: https://commons.wikimedia.org/wiki/File:Ours_en_peluche_-_11.jpg