FindFace : finding facial features by computer
Recognising faces is a task taken for granted by most people, yet it probably represents one of the most complicated visual tasks we routinely perform. Progress in machine vision over recent years has been considerable, but has generally concentrated on areas inappropriate to face recognition. Faces are soft and round, lacking the clear edges and strong geometric properties usually required for machine vision. Instead, subtle changes in shading and texture indicate the transition from one feature to another. To compound the problem, faces are generally very similar, and the small differences that do exist are significant. We describe a machine vision system, called FindFace, that makes use of the underlying similarity of faces to locate specific features, such as the eyes and the mouth. Statistics gathered from 1000 faces are used both to predict the location of features, and evaluate locations generated by numerous independent feature locating routines, called experts. Once an initial location is determined, predictions about the positions of other features can be investigated. This can lead to a rapid increase in confidence as other features are identified in their predicted position, or alternativley to the initial location being quickly rejected. Individual experts can be simple, as a supervisory control system evaluates their performance using the face statistics, and can distinguish good results from bad. The control system can utilise multiple experts for individual features, selecting the most appropriate dynamically based on their previous success rate. The interface between experts and the control system is simple, making the addition of new experts easy. The combination of detailed statistics with many feature experts results in a system that is unhindered by failure to locate specific features, and that continues serching for features until the best solution is obtained with the experts available.