Tp3 : Morphage de Visage

Partie 1

Tout d'abord voici quelques gif de la partie 1

Dans mon code je commence par effectuer une triangulation entre des points d'interets localisés sur la photo avec un algorithme donné.

Ensuite on calcule pour chaque frame la proportion de chaque image que l'on veut, autant au niveau de la forme que de la couleur'


Pour chacune de ces opérations on calcule l'image qui correspond, en calculant pour chaque triangle de la triangulation pour chaque image la transformation pour arriver à l'"image que l'on souhaite obtenir"

Ensuite pour chaque pixel je regarde à quel triangle de la triangulation il appartient et je vais chercher avec la transformation inverse de ce triangle les pixels dans les images d'origine que je souhaite fusionner.'

Ainsi à partir de ces images, on obtient ceci !










Voici le gif sur laquelle l'algorithme a été créé, ici l'animation est tres onctueuse.


Entre des visages humains dont la superposition est niveau endroit dans l'image, l'animation est bien.


Ici il y a beaucoup de différence entre les tailles des têtes, on voit donc apparaître des animalies car l'algorithme n'est pas parfait.


Celle ci est ma préférée, j'aime beaucoup le rendu

Ici je voulais savoir si je pouvais opérer de grandes distances sur une image entre deux objets identiques, en l'occurence ma tête. L'algorithme nous montre des signes de faiblesses mais on voit que dans l'idée ça marche.


L'objectif de ce test était de voir si je pouvais animer mon visage. Le rendu n 'est pas extraordinaire mais on peut dire que ça marche.


Enfin ici on peut voir un changement entre une image avec uniquement des basses fréquences et une avec de hautes fréquences. On obtient pas l'image originelle au milieu mais on en obtient quand même ici un bon aperçu.

Visages Moyens

Ici mon algorithme est une version qui découle de celui qui a servi à faire les gifs ci-dessus
En effet au lieu de morpher le visage de quelqu'un vers celui de quelqu'un d'autre, on en morphe plein vers la moyenne de leur visage.
Comment obtenir la moyenne ? En calculant simplement la moyenne de chaque point d'intérêt que l'on prend sur les visages.
Il y a ici deux manières d'obtenir ces points, en pointant manuellement ou avec un algorithme qui s'en charge automatiquements en utilisant des landmarks sur les visages,
c'est à dire des patterns qui reconnaissent certains enchaînements de formes.
Mon algorithme est lent, il fait des fusions une a une de visage à la chaîne, comme une arborescence pour se diriger vers le visage final.
L'algorithme que j'ai envoyé, 'moyenne_visage_homme' est le même algorithme que j'ai utilisé pour l'ensemble des moyennnes de visages, je changeais juste à chaque fois les points avec ceux dans le fichier "points



Lorsque l'on applique l'algorithme sur la classe avec les points pris manuellement on obtient cette forme de visage :



Ce qui nous donne au final ce visage moyen



Si l'on prend les points obtenus automatiquement on obtient cette forme et cette image, c'est moins net
En effet l'algorithme ne se centre que sur une portion du visage qui s'arrete aux yeux, au nez et a la bouche.
Tout ce qui est autour est plongé dans le flou immédiatement.




Nous avons également en notre possession une banque d'image de visages, issus de la base de données d'Utrecht.
On peut également y calculer des visages moyens en faisant quelques nuances, en effet on a pour chaque visage ou presque une v ersion souriante et une version normale.
Prenons l'ensemble des femmes de ces images, la moyenne de leurs visages neutres est :



On observe qu'il y a ici pas mal de problèmes de fusion entre les images, ceci n'est surement pas dû aux points mais uniquement à mon algorithme.
avec le sourire chez les femmes on obtient ceci :




du côté des hommes voici la version sans sourire :





et la version avec le sourire :




Enfin on peut s'essayer à donner à son visage des traits masculins et féminins avec les résultats obtenus ci dessus.
En effet il suffit de prendre le premier algorithme et de juste générer l'image qui part de mon propre visage, et le morpher avec des traits d'un sexe ou de l'autre.
On a juste besoin de la triangulation moyenne des femmes et de celle des hommes.
Ou sinon on peut soi-même manuellement prendre sur le visage moyen obtenu des femmes/hommes les points qui nous intéressent.
On obtient ceci :



En jouant avec les paramètres, en me féminisant j'obtiens ceci :






Au contraire en me masculinisant j'obtiens ceci : j'ai moins besoin d'utiliser les pixels de l'autre image pour faire disparaitre la pilosité faciale.