text: First of all, the face is pixellated and contrasted to determine where the edges of the face and important features (eyes, nose) are located. \n\nNext, the recognition algorithm uses this information to proceed.  A simple algorithm would have the following steps.\n\n1.  Identify and scale distinguishing characteristics\nThese can be the roundness of the face, the position of the eyes, etc.  The roundness can be determined by the uniformity of curvature of the face's outline.  A higher roundness number would mean a rounder face.  The eye position can be the vertical distance from the chin to the pupil.\n\n2.  Map and label the numerical values\nA person's face may have a roundness of 2 (out of 10) and his eyes may be 8 inches above the tip of his chin.  The value (2,8) can be stored in memory with that person's name associated with it.\n\n3.  Determine the importance of each trait\nThis is the tricky part.  A person's face may match 'close enough' with several names in the database based on the measured traits.  Conversely, multiple people can also match a particular stored  data point.  For instance, two people with traits (2.1,8) and (2,8.1) can match the (2,8) data point stored earlier.  However, some traits are more important because they are more useful in distinguishing faces.  In order to determine how important each trait is, the computer must 'learn' through neural network logic.  After much trial and error (i.e. the 'learning' process which occurs as part of the development phase) the algorithm may determine that roundness is more important, and therefore the (2,8.1) person will be identified as being the true match.