Face Recognition System

Note: Please Scroll Down to See the Download Link.


Biometrics is the science of using physiological or behavioral characteristics in order to verify the identity of an individual. The most common forms of biometrics include fingerprints, voice-patterns, iris and retinal patterns, hand geometry, signature verification and keystroke analysis.

Face recognition is identification of humans by unique characteristics of the faces and is one of the several types of existing biometrics systems. Face recognition is a passive, non-invasive method for verifying the identity of a person. Some methods have been proposed based on different fundamentals.

 The objective of this project is to provide enhanced security by implementing a simple face recognition system.

We implemented this project by using EIGEN VALUES. Eigen values are scalar characterize a matrix. We take entire image as a array of pixels and compute the eigen vectors of that matrix. The Eigen values are sorted in decreasing order. The first k-largest Eigen values act as a signature to identify a face. Similar computations are computed on a submitted image to obtain the k-largest eigen vectors. These values are compared with the signature of every image in the face bundle. The image that gives minimum distance is conformed to be the closest match.

Face Recognition has a broad spectrum of applications such as:

Visitor Control

Airport Suspect Identification

Passenger ID Verification

Law Enforcement


Given the requirement for determining people's identity, the obvious question is what technology is best suited to supply this information? There are many different identification technologies available, many of which have been in wide-spread commercial use for years. The most common person verification and identification methods today are Password/PIN (Personal Identification Number) systems, and Token systems (such as your driver's license). Because such systems have trouble with forgery, theft, and lapses in users' memory, there has developed considerable interest in biometric identification systems, which use pattern recognition techniques to identify people using their physiological characteristics. Fingerprints are a classic example of a biometric; newer technologies include retina and iris recognition.

Face recognition from video and voice recognition have a natural place in these next-generation smart environments -- they are unobtrusive are usually passive (do not require generating special electro-magnetic illumination), do not restrict user movement, and are now both low-power and inexpensive. Perhaps most important, however, is that humans identify other people by their face and voice, therefore are likely to be comfortable with systems that use face recognition.

This project attempts to implement a simple face recognition system which provides more security than conventional systems. We tried to implement our project using concept of eigenvectors which enabled us to develop a face recognition system which is fast, reasonably simple and accurate in constrained environment such as office. Eigen faces tend to cope well with changes in facial expression, smiling and non-smiling, facial details-such as a person with or without a beard, and pose. This is because it focuses more on the middle of the face, which would reduce the problems that may be caused by things like changing hairstyles.


Humans have used body characteristics such as face, voice, gait, etc. for thousands of years to recognize each other. Alphonse Bertillon, chief of the criminal identification division of the police department in Paris, developed and then practiced the idea of using a number of body measurements to identify criminals in the mid 19th century. Just as his idea was gaining popularity, it was obscured by a far more significant and practical discovery of the distinctiveness of the human fingerprints in the late 19th century. Soon after this discovery, many major law enforcement departments embraced the idea of first “booking” the fingerprints of criminals and storing it in a database (actually, a card file). Later, the leftover (typically, fragmentary) fingerprints (commonly referred to as latent) at the scene of crime could be “lifted” and matched with fingerprints in the database to determine the identity of the criminals. Although biometrics emerged from its extensive use in law enforcement to identify criminals (e.g., illegal aliens, security clearance for employees for sensitive jobs, fatherhood determination, forensics, positive identification of convicts and prisoners), it is being increasingly used today to establish person recognition in a large number of civilian applications.

What biological measurements qualify to be a biometric? Any human physiological and/or behavioral characteristic can be used as a biometric characteristic as long as it satisfies the following requirements:

Universality: each person should have the characteristic.

Distinctiveness:  two persons should be sufficiently different in terms of characteristic.

Permanence: the characteristic should be sufficiently invariant over a period of time;

Collectability: the characteristic can be measured quantitatively.

However, in a practical biometric system (i.e., a system that employs biometrics for personal recognition), there are a number of other issues that should be considered, including:

Performance, which refers to the achievable recognition accuracy and speed, the resources required to achieve the desired recognition accuracy and speed, as well as the operational and environmental factors that affect the accuracy and speed;

Acceptability, which indicates the extent to which people are willing to accept the use of a particular biometric identifier (characteristic) in their daily lives;

Circumvention, which reflects how easily the system can be fooled using fraudulent

Methods. A practical biometric system should meet the specified recognition accuracy, speed, and resource requirements, be harmless to the users, be accepted by the intended population, and be sufficiently robust to various fraudulent methods and attacks to the system.

Biometric Systems

 A Biometric System is essentially a pattern recognition system that operates by acquiring biometric data from an individual, extracting a feature set from the acquired data, and comparing this feature set against the template set in the database. Depending on the application context, a biometric system may operate either in verification mode or identification mode:

• In the verification mode, the system validates a person’s identity by comparing the captured biometric data with her own biometric template(s) stored system database. In such a system, an individual who desires to be recognized claims an identity, usually via a PIN (Personal Identification Number), a user name, a smart card, etc., and the system conducts a one-to-one comparison to determine whether the claim is true or not Identity Verification is typically used for positive recognition, where the aim is to prevent multiple people from using the same identity.

• In the identification mode, the system recognizes an individual by searching the templates of all the users in the database for a match. Therefore, the system conducts a one-to-many comparison to establish an individual’s identity (or fails if the subject is not enrolled in the system database) without the subject having to claim an identity. Identification is a critical component in negative recognition applications where the system establishes whether the person is who she denies to be. The purpose of negative recognition is to prevent a single person from using multiple identities. Identification may also be used in positive recognition for convenience. While traditional methods of personal recognition such as passwords, PIN’s, keys, and tokens may work for positive recognition, negative recognition can only be established through biometrics. The block diagrams of a verification system and an identification system are depicted in Figure below; user enrollment, which is common to both the tasks, is also graphically illustrated.







JDK1.4 is the primary requirement.

JMF package is used to initialize and interact with WEBCAM.

JAMA package is used in the computation of EIGEN VECTORS


·      Webcam that supports JMF.

·      I386 0r higher processor can be used.

·      A minimum of 32mb RAM is requried.

·     A hard disk of not less than 2 GB is supported


Click here to download Face Recognition System source code