The first step is for the user to click on his or her left
eye, right eye, nose and mouth as it appears in a representative frame
of the sequence. We store these four coordinates in a
array called geom. Then, we extract out three square regions
from the image containing the left eye, the right eye and the nose.
The side-length of these extracted regions is
set to 5/6 times the inter-pupil eye-separation.
Note that the mouth is not extracted in this step.
While it may sound ironic, we do not make use of a mouth template for
finding the mouth since the shape of the mouth is quite unreliable.
In the next step, the orientation map is computed for each extracted
block using Kass and Witkin's method.
We then smooth each
(doubled-phase) orientation map with the gauss5
kernel
and subsample by a factor of 2 in
both dimensions.
To account for edge effects, we
remove the outer four rows and columns of the subsampled orientation
maps.
As discussed in the following section, the resulting three orientation
maps serve as the orientation templates for the left eye, right eye
and nose for the remainder of the head sequence.