As we implemented the system and tried it with various facial images, we started to modify the original procedure to suit our needs and constraints. After experimenting with a number of modifications, we identify those that are simple and effectively improving quality of the correspondence and the efficiency of the algorithm. Namely, only the texture outputs from the 8 largest-scale wavelets are used to compute texture similarity. This way, the initial alignment only focuses on salient boundaries in the images and is not disturbed by subtle facial features. With this modification, the system appears to be more robust to illumination changes near the silhouette and also more accurate to match up in-face fiducial points, as expected.
Half face The optimization process is the bottleneck in running time.
Given the near exponential relationship between optimization time and dimensionality, we try to match up as few points as possible. We use the fact that faces are generally mirror symmetric so as to get rid of about half of the fiducial points. Half face matching A problem with half face is the center line alignment since two half-faces need to join up at the middle. Currently, we connect redundant edges between vertices on the center line so as to enforce geometric rigidity. The side-effect is that texture doesn't match up very well on that line.