It's cool to morph faces into eachother, but simple cross-dissolves do not work, because key facial features do not line up. You can fix this by selecting key points on an image, creating a triangulation, then doing an affine warp on each triangle and cross-dissolving the appropriate pairs of pixels.
For the first part of the project, I used 43 points demonstrated here to mark up my face and George Clooney's, as demonstrated here:
I chose my face and Martin Schoeller's Clooney photo to morph
Here is the midway face:
I used the provided dataset of 40 danes to compute their mean face:
I then morphed some of the danes into the mean face points. Since the points did not include the ears or top of the head, just the jawline to the eyebrows, they look quite goofy!
Notice how the face is "locked in" to the same spot on the screen: the mean face points. Here is the mean face shifted to my points (all using the danish point setup):
Now here is what my face looks like, shifted onto the mean facial structure:
I could resize this to make it a little better, but lets see what happens at different alpha values as far as caricatures go. First, the points equation is: points = mean points + (1 + alpha) * (my points - mean points). This means alpha=0 is equivalent to my unedited face, alpha=-1 is my face shifted onto the mean face points, and positive alpha values are caricatures. Here are values from -1.5 to 1, in increments of 0.5.
Notice the basic pattern of getting sucked inward: this is from my face being closer, so my point "frame" is bigger. Also notice the failure cases when the points get very close (a similar out of bounds failure case probably exists for very negative alpha).
I collaborated with other students in the class to make a face morphing video! I was responsible for supplying my data and warping the previous person's face in the ordering into my face.
My data is in the "jessie_nick" folder within this directory