TP3 : Morphage de visages

TP3 : Morphage de visages

Claudia laramée


Algorithme de morphage

J’ai commencé par faire une moyenne des points d’intérêt de l’image source et de l’image destination. J’ai ensuite calculé une triangulation sur ces points à l'aide de l'algorithme de Delaunay.

Pour chaque triangle, j'ai calculé la transformation affine de l'image source et de l'image destination vers une image intermédiaire (déterminée à l'aide de « warp_frac »). J'ai calculé la position de chaque pixel de l'image intermédiaire en fonction de l'inverse de la transformation affine du triangle. J’ai ensuite combiné la couleur du pixel correspondant de l’image source à celle du pixel de l’image de destination en donnant des poids différents aux deux pixels selon le facteur « dissolve_frac ».

Finalement, j’ai répété le processus en augmentant le facteur de déformation et le niveau de fondu de la couleur pour obtenir une série d’images que j’ai ensuite combinées pour obtenir une animation du morphage progressif entre les deux visages.



Image source
Image destination

Visage moyen de la classe

J'ai calculé le visage moyen de la classe en déformant tous les visages de la classe vers une forme moyenne, puis en calculant la moyenne des résultats obtenus.

Puisque la majorité des étudiants de la classe sont des hommes, le visage moyen a beaucoup plus de traits masculins que féminins. Aussi, puisque la classe comporte beaucoup d'étudiants, le résultat du visage moyen est très flou. Bien que l'on soit en mesure de détecter les formes générales du visage, certains détails, comme les yeux, sont très difficilement reconnaissables.







Crédits supplémentaires

J'ai décidé de tester mon algorithme sur certaines photos prises moi même et d'autres tirées d'internet :


Pour le premier test, j'ai choisi une image source dans les tons de gris et une image destination en couleur. On peut remarquer que l'évolution des couleurs se fait graduellement grâce au niveau de fondu qui augmente progressivement.


Image source
Image destination

Pour le deuxième test, j'ai décidé d'utiliser mon algorithme sur des objets plutôt que des visages. Puisque les deux objets sont assez similaires, j'ai seulement défini des points d'intérêt autour des deux objets pour calculer la triangulation.


Image source
Image destination