CS194-26: Intro to Computer Vision and Computational Photography, Fall 2021

Project 3: Face Morphing

INSTRUCTOR: Alexei (Alyosha) Efros, Angjoo Kanazawa

Jingqi Huang, CS194-26



Morphing among two faces

result morphing gif

First align to photos for better peformance. Then use plt.ginput to select keypoints in same sequence for both photos. Then use scipy.spatial.Delaunay to build reasonble triangular meshes.

face 1
face 2
face 1 with triangular meshes
face 2 with triangular meshes

From the selected keypoints of two photos, average and get the position of keypoints in a mid_way face. Then morph the two photos to the mid_way face position respectively. Then dissolve and get the color and appearance.

face 1 to mid_face geometry
face 2 to mid_face geometry
mid_face with triangular meshes
mid_face

The "Mean face" of a population

Here I use the FEI Face Database.(https://fei.edu.br/~cet/facedatabase.html)

Compute a mean geometry with smiling and nonsmiling faces of 100 faces.

mean population smiling
mean population non smiling
mean geometry smiling
mean geometry non smiling

Some given faces morph to mean:

morph between me and mean:

me to mean geometry
mean to my geometry

Caricatures: Extrapolating from the mean

original
some extrapolating
more

Bells and Whistles

male mean get from data
female mean get from data
mean face non smile
more masculine
more feminine
less smile
sad smile

Music video link:

Happy Birthday: https://youtu.be/Q5X2Ns4AHWA