Les paramètres utilisés afin de passer de mon visage à celui de Diane nécessitent les point des deux visages. Une moyenne est calculée entre chaque point homologues. Une triangulation à l'aide de Delaunay avec la moyenne des points. Une boucle génère les images nécessaire pour faire la vidéo en appelant loa fonction morph. Les seuls paramètres qui varient sont le pourcentage de morphage géométrique et de morphage en fondu. Il est à noter qu'il n'y a aucun morphage en fondu dans les premières images générées. Cela est nécessaire afin d'éviter un certain ghosting. Cependant, il est inévitable d'apercevoir du ghosting aux endroits qui n'ont pas été identifiés par des points d'intérêts(lunettes, épaules, etc).
Une des premières chose que fait la fonction de morphage est de déterminer des points intermédiaires entre l'image de départ et l'image finale en considérant le pourcentage de morphage géométrique passé en argument. Ensuite, pour chaque triangle de la triangulation passée en argument, on trouve la transformation qui lie les points intermédiaires aux points originaux de l'image de base (transformée inverse) et ensuite on fait la même chose, mais pour trouver la transformation qui lie les points intermédiaires à l'image finale (transformée inverse). Pour terminer, pour chaque triangle de la triangulation intermédiaire, on itère sur chaque pixel afin de connaître le pixel correspondant de l'image de base et l'image de base. On mélange les deux pixels selon le pourcentage de fondu spécifié. Tout les pixels qui n'ont pas été traités par l'algorithme sont remplacés par un mélange de l'image finale et de base selon le pourcentage de fondu spécifié.
L'image suivante est issue du traitement: transformation géométrique linéaire et le fondu est une fonction x^2 normalisée commençant à la 40ième image
Le calcul d'une image avec visage moyen de la classe commence par calculer les points moyens de tous les visages. Une fois cela fait tous les visages sont transformés en ayant comme points de destination les points moyens. Le morphage géométrique est de 100% et le fondu est de 0%. Une fois tous les visages déformés, une moyenne est calculée pour chaque pixels. Les résultats sont bons pour les éléments similaires ou où la densité de points est élevée. Cependant, du ghosting est présent, par exemple, pour les lunettes, car ce n'est pas tout le monde qui en porte et aucun point y est rattaché. La même chose se passe pour les cheveux long ou les épaules, etc.
Comme mentionné à plusieurs endroits dans le TP, les aberrations durant le morphage peuvent souvent être liés aux points initiaux qui ne sont pas assez nombreux. Cependant, certaines choses ne peuvent être corrigés de cette manière. La présence de lunettes/points de beauté/cheveux dans le visage amène des fantômes que l'algorithme ne peut corriger.
© 2014 Charles Ricard