Active contours, also called snakes were initially developed by Kass, Witkin, and Terzopoulos. Mathematically snakes are energy minimizing splines. More intuitively snakes are active shapes that respond and move according to energy values within an image.
Initially a set of control points are placed on the image. The active contouring algorithm attempts to minimize the snakes energy by weighting several internal and external energies. A more detailed explanation can be found here.
The energy level of the snake is effected by the gradient values within the image and internal forces such as the curvature and continuity of the snake.
The control points are initialized to an oval in the image although any approximation can be made. The snake then performs numerous iterations till it finds a local minimum in the image. Hopefully this will correspond to the outline of the face.
The program I wrote for this purpose is somewhat simplistic. It initializes the contour in an oval and then iteratively shrinks in on the local minimum. The algorithm sets up a state matrix using the desired weights for continuity, curvature, and gradient. This state matrix normalized with the weights to determine the best place for the point to move to.

A sample face image before contouring and after |
Here is another demonstration of Active Contouring