Le but de ce travail a été de ce familiarisé avec le morphage d'image à partir de triangulation et de transformation entre les images pour aller chercher la couleur des pixels
Le première partie de ce travail avait pour objectif de faire une transition entre deux images en créant des images de plus en plus transformer en la deuxième image. Ceci est fait en trouvant des points d'intérets commun entre les images, utiliser ces points pour faire une triangulation qui va utilisée sur les deux images et l'image intermédiaire. Les points de l'image intermédiaire sont obtenue en faisant la moyenne des points des points des deux images selon le paramètre warp_frac. Ayant les points des trois images, les transformations entre les images peuvent être calculées avec la triangulation. Il ne reste qu'à utiliser ces transformation pour remplir l'image intermédiaire avec la moyenne des pixels des deux autres images selon le paramètre dissolve_frac. La transition est donc faite en augmentant les deux paramètres tranquillement.
Pour partir ce programme, partir Main_Morph.m avec deux photos .jpg et deux fichiers de points comme paramètre au début du code
Voici la liste des images et leur transition
Photo 1 | Photo 2 | Morphage |
Bouteille 1 | Bouteille 2 | Transformation |
Forest | city | Transformation |
seth | stewie | Transformation |
Leo | Mona | Transformation |
shoe 1 | shoe 2 | Transformation |
Philippe | Nicolas | Transformation |
On peut voir avec le résultat des chaussures et la bouche de Leo que la sélection des points et la trangulation sont très important pour faire une bonne transition.
Le visage moyen est obtenu en obtenant la moyenne des points de plusieurs visages. En allant chercher les transformations pour chaque image, on peut aller chercher la moyenne de tout les pixels à travers toutes les images.
Pour partir ce programme, partir AverageFaceMain.m avec une des fonctions Load pour charger les points et les images
Voici des visages moyens et leur forme
Données | Forme | Visage Moyen |
Points venant de la classe | Form | Classe |
Points venant du détecteur dlib (Classe) | Form | Classe |
Points venant du détecteur dlib (Classe) | Form | Classe |
Avec la méthode de la section précédente on peut aller chercher le visage moyen féminin et masculin. Pour faire la féminisation ou masculinisation, il ne faut que faire une image intermédiaire comme à la première section avec un paramètre warp_frac plus haut que le paramètre dissolve_frac.
Pour partir ce programme, partir FemaleAndMaleMorphingMain.m avec la photo et les points de la personne et les données des deux sexes qui contiennent la photo, les points et la triangulation.
Voici le résultat de la masculinisation et féminisation de visage
warp_frac | Personne | Hommme moyen | Masculanisation | Femme moyen | Féminisation |
0.5 | Philippe | Hommme moyen | Masculanisation | Femme moyen | Féminisation |
0.9 | Philippe | Hommme moyen | Masculanisation | Femme moyen | Féminisation |
On peut voir que le visage moyen féminin allonge le cul et réduit la grosseur de la tête. Le visage moyen masculin élargit le visage.