FACE DETECTION USING EIGEN
METHOD
HASHAAM NAEEM
Department of Computer Engineering, Sir Syed University of Engineering & Technology, University Road, Karachi-75300, Pakistan
[email protected] http://www.ssuet.edu.pk
Abstract:
As continual research is being conducted in the area of computer vision, one of the most practical applications under vigorous development is in the construction of a robust face detection system. While the problem of detecting faces under various variations remains largely unsolved, a demonstration system as proof of concept that such systems are now becoming practical have been developed. A system capable of reliable detection, with reduced constraints in regards to the position and orientation of the face and the illumination and background of the image, has been implemented.
Those face detection system is based upon “eigenfaces”, which has been separated into three major modules – pre-processing, construction of face space and face localization. A completely robust real-time face detection system is still under heavy investigation and development, the implemented systems are still serving as an extendable foundation for future research.
Keywords: Face Detection; Eigen Faces; Image Processing; Digital Image; Biometrics
1 Introduction
The task of face detection, or more generally object detection, is one of the important and elemental problems in computer vision. With the recent advances in information technology and media, automated HCI systems are built which involve face processing tasks like face detection, face recognition and face tracking. A first step in any face processing system is to detect and localize faces in an image. The face detection task, however, is challenging because of variability in the pose, orientation, location and scale. Also the facial expression, lighting conditions and occlusion add further variability. This section will give some background information about one of the emerging technologies i.e. biometric systems and specially face detection both for humans and machines
1
.
1.1 Digital Image Processing
Image processing holds the possibility of developing the ultimate machine in the future which would be able to perform the visual functions of living beings. Computer Vision is another term which is interchangeably used with image processing by many scholars2.
1.2 Biometrics
Biometric systems are systems that recognize or verify human beings. Some of the most important biometric features are based on physical features like hand, finger, face and eye. For instance it’s efficiently used in finger prints recognition systems1, 4
1.3 What is Face Detection?
Face detection is related to the location of the presence of a face in a still image or in a sequence of images i.e. moving images. In the case of moving sequences it can be followed by tracking of the face and its features in the scene. The factors which make the face detection task difficult to solve are:
Variations in Image Plane and Pose
Facial Expression and other structural components
Lighting conditions and background
1.4 Face detection and recognition
Face detection and recognition have been significant subjects in the field of computer vision and image processing during the past 30 years. This has been a demanding and interesting problem that attracted researchers in different disciplines: psychology, computer science, neuroscience, and engineering 2. There have been considerable achievement in these fields and numerous approaches have been proposed.
1.5 Scope
The problem of automatically detecting human faces in images is of great importance for applications such as surveillance, video interpretation 5 and visually mediated human computer interaction. Due to the time constraint
and complexity of implementing the system in C++, the aim is to design a prototype under Matlab that is optimized for detection performance. A system that can accept varying forms of inputs at different sizes and image resolutions should be implemented, constructing a well-coded and documented system for easier future development.
1.6 Goals/Objectives
Research the field of various face detection methods.
Research various factors which affect face detection.
2 Basic Concepts & Discussion
In order for the following chapters to be comprehensible, some background knowledge is necessary. This chapter therefore first gives an overview of various concepts related to research and various methods used for face detection.
2.1 Image Representation
When represented in the computer an image is simply a two-dimensional matrix of pixels. Pixel stands for “picture element” and it is intuitively the basic building block of an image. An image can be of any size like m by n it means it is composed of m pixels in the vertical direction and n pixels in the horizontal direction, which leads to big size of image. Hence, compressing images is necessary for efficient computation processing of images. Based on this there are several types of images. BMP is an uncompressed format, JPEG, TIFF are typical image formats.
2.2 Background Literature and Survey
This chapter first gives an overview of the research in an area of face detection and then will explore some of the approaches used in face detection.
2.3 Face Detection Research
Early efforts in face detection have dated back as early as the beginning of the 1970s, where simple heuristic Fig.1 showing the variability of the faces in the images due to
camera. Additionally, there are numerous advances in the design of feature extractors such as the deformable templates and the active contours which can locate and track facial features accurately.
2.4 Face Detection Approach
Face detection is a challenge for researchers of various fields whether they are computer scientist, engineers or military personal. A lot of work has been done and a lot is going on, but being a hot topic and so much research, not a 100% correct face detecting system or algorithm is built. Various kinds of constraints are there which doesn’t allow an algorithm to be successful 100%. It would be worth full to say about these constraints;
(1) Algorithms fail due to multiple faces, any additional object i.e. glasses, long moustages, beared etc. and due to faces in front or back of each other.
(2) Algorithms fail due same color of back and ground with that of faces. (3) Algorithms fail due to the position, location and various illumination factors. Various face detection methods can be classified into four categories.
2.4.1 Knowledge-based approaches
These rule-based methods encode human knowledge of what constitutes a typical face. The rules capture the relation-ships between facial features. It is easy to come up with simple rules to describe the features of a face and their relationships. For example, a face often appears in an image with two eyes that are symmetric to each other, a nose, and a mouth.
Fig 2 a typical face used in knowledge based methods Rules are coded based on human knowledge about the characteristics
(e.g., intensity distribution and difference) of the facial regions
The relationships between features can be represented by their relative positions and distances. Yang and Huang used a hierarchical knowledge-based method to detect faces 7.Their system consists of three levels of rules. 2.4.2 Template matching approach
In template matching, a standard face pattern (usually frontal) is manually predefined or parameterized by a function. The existence of a face is determined based on the correlation values. This approach has the advantage of being simple to implement. However, it has proven to be inadequate for face detection since it cannot effectively deal with variation in scale, pose, and shape.
2.4.3 Appearance-based approaches
In contrast to template matching, the models (or templates) are learned from a set of training images which should capture the representative variability of facial appearance. These learned models are then used for detection.
The following table categorizes the methods for face detection:
Approach Methods
Feature invariant Facial features, Skin color, Face geometry Template Matching Predefined face templates
2.5 Face Detection Methods and Discussion
Several methods for face detection were studied and investigated. 2.5.1 Skin Color Model / Skin filtering
Human skin color has been used and proven to be an effective feature in many applications from face detection to hand tracking. As different people have different skin color. This method has two steps. First an image containing the face is run through a skin filter in order to determine which areas are most probable to contain a face.
2.5.2 Template Matching
Template matching is a technique based on comparing the intensity of each pixel of the template with each pixel of the input image. The input image is matched with the pre-picked template image in terms of intensity. The template and the input image are converted into grayscale images, which are then stored as a matrix of numbers. Template matching is effective when the input images have the same scale, orientation and illumination as the input images. This technique can be easily implemented in MATLAB as it provides appropriate functions to compare two images.
2.5.3 Eigenfaces Method
In this method a set of images (training set) is represented as a long vector instead of usual matrix representation. 5 This produces face space with each image representing a single point. As all faces possess
similar structure (eyes, nose, mouth), the vectors representing these will be correlated then all face vectors will group at a certain location in the face space. We will see that faces will group at a certain location in the Image space as shown in figure 3. All faces will lie in a small and separate region from the non-faces images. The idea behind eigenfaces is to find a lower dimensional space in which shorter vectors will describe face images. This can be done by applying PCA to calculate the eigenvectors of these sample faces. The obtained eigenvectors are called the eigenfaces of given sample faces as shown.
Fig 3 shows image containing N pixels can be considered as vectors in an N dimensional space. Eigenfaces construct a face space with as much lower dimensionality as equal to number of sample faces. The DFFS of a given image vector is referred to as a distance between itself
and its projection into the face space. This distance can be used as an effective indicator of similarity between the given images of the eigenfaces set. The location in an input image with minimum DFFS value is considered to be a location containing a face.
2.5.3.1 Mathematical terms for Construction of face space
The eigenfaces representation method for the face detection is based on the PCA. The basic idea is to decompose the face images into a small set of characteristic feature images called eigenfaces, which may be thought of as the Principle Component of the original images.
The steps involved in computing eigenfaces are as follows:
Step 1
Obtain face images I1, I2, ……, IM (training set). The face images must be centered and of the same size.
Represent every image Ii as a vector Ti Step 3
Compute the average face vector:
Ψ
M i iM
11
(1)Step 4
Each face differs from the average Face by:
i
i
(2)Step 5
Compute the covariance matrix C:
)
(
1
2 21
martix
xN
N
AA
M
C
n Tn TM n
(3) Where,)
(
...
[
1 2N
2Nmartix
A
M
(4)Step 6
Compute the eigenvectors Vi of AA T
Finding the eigenvectors of the N by N matrix C is not practical task for typical image sizes, hence, a simplified way of calculation has to be adopted. Since the number of training images is usually less than the number of pixels in an image, there will be only M, instead of N, meaningful eigenvectors. Therefore, the eigenfaces are computed by first finding the eigenvectors of the M by M matrix L: L =
Step 7
The eigenvectors of the matrix C are then expressed by a linear combination of the ATA difference face images:
AV
V
V
u
u
U
[
1,...,
M]
[
1,....
M][
1,...,
M]
(5)In practice, a smaller set of M'(M'<M) eigenfaces is sufficient for face identification. Hence, only M' significant eigenvectors of L, corresponding to the largest M' eigen values, are selected for the eigenface computation, thus resulting in a further data compression.
2.5.3.2 Approaching to face detection
Eigenfaces construct a face space with as much lower dimensionality as equal to number of sample faces. This method is used to detect faces in an image based on the average face with eigenface representation of a face. This method will allocate a measure of how close an image is to being a face. Images that look like a face will have a very small measure, while those that are not that of a face have a large measure. Let’s show this graphically.
This shows the projection of training images denoted as dots and non-face test images denoted as circles. It is clear from the figure that non-face vectors are distinguished in the projection space from the face vectors. This idea was employed by Turk and Pentland [5]. Fig 6 Projection of face and non-face
They developed two schemes to locate/track faces.
Using Motion Detection
-1
-0.5 0
0.5
-1 0
1 -1 -0.5 0 0.5 1
Face images Non-face images
The following Fig 6 shows the projection of face and non-face images
2.5.3.3 Eigenspace Decomposition
Moghaddam and Pentland 6showed that the DFFS target detection technique introduced by 5 is a partial component of a complete estimate of the target’s probability density function. Their learning method estimates the complete probability distribution of the object’s appearance using an eigenvector decomposition of the image space. The desired target density is decomposed into two components i.e. the density in the principle subspace (containing the principle components) and its orthogonal complement.
The component in the orthogonal subspace is referred as DFFS and component which lies in the principle subspace is referred as DIFS (distance in the face space). The sum of the two distances gives a resultant distance which is used as a measure of likelihood. This measure of likelihood is computed for the subimages extracted from the original input image and the subimage which has the overall maximum likelihood (i.e. minimum distance ) compared to all other subimages is chosen to be the location where the face is situated.
2.5.4 Neural Networks
In this approach the neural network examines small windows of an image to decide if there is a face contained in each window. This method has a highly complicated training process to eliminate the task of manually selecting non-faces parts of an image.4
The idea of using neural networks in the task of human face detection is derived from the observation that human faces on digital images stand out for a class of well structural objects. The drawback of these methods is the need to express expert’s knowledge in an effective way and to choose the characteristics which are really important for the detecting process. After the process of learning the structural properties of human faces should be hidden in neural networks in the form of the weights if its connections.
3 System Performance Evaluation
The face detection system has been tested with face images captured under a variety of conditions. Examples of accurate detection and cases that highlight limitations to the system are both presented, allowing an insight into the strengths and weaknesses of the designed system. Such insight into the limitations of the system is an indication of the direction and focus for future work.
3.1 Results
On testing face detection system, 50 images having different illumination, face size and background, research has found 84 % detection rate.
3.2 Weaknesses and Possible Improvements
consuming.
Possible Improvements
For more accurate measure of DIFS increase the number eigenfaces used but on the other hand it will affect the program speed.
One of the assumptions of our system was that the face in an input image should not be tilted/rotated this constraint which can be overcome if we extends the eigenspace to include eigenfaces under different views/rotations.
Implement multiple model density searches to detect multiple faces.
4 Literature Review
Looking at different approaches with help of several methods which are; neural networks, skin filters, template matching and eigenfaces. After long study of various methods of face detection eigenfaces approachis the best approach. As input image can be of varying illumination so, pre-processing module should be done first. The function of this module was to somehow make the intensity of the input image almost similar to that of the average face. During the research we came to know that average face was suitable only to detect faces of particular sizes. Mostly system works well with the static images but due to the poor quality of the captured frame from the webcam the results of the real time face detection are not very promising. While the problem of detecting faces under various variations remains largely unsolved, a thorough analysis of the strengths and weaknesses of face detection using eigenfaces has been presented and discussed. With the implemented systems serving as an extendable foundation for future research, extensions to the current system have been proposed.
Reference:
[1]. Carnegie Mellon University face group
Takeo Kanade. (1997). Face Detection. Available: http://www.ri.cmu.edu/research_project_detail.html? type=description&project_id=416&menu_id=216. Last accessed 20 August 2010
[2]. MIT Vision and Modeling group
http://vismod.media.mit.edu/vismod/demos/facerec/index.html [3]. Digital Image Processing
Anil K Jain, Fundamentals of Digital Image Processing, Pearson Education [4]. Principle Component analysis
A tutorial on principle component analysis by Lindsay I Smith, February 26, 2002
1 Advances in Biometric Person Authentication
5th Chinese Conference on Biometric Recognition, SINOBIOMETRICS 2004, Guangzhou, China, December 13-14, 2004, ... (Lecture Notes in Computer Science) by Stan Z. Li, Jianhuang Lai, Tieniu Tan, and Guocan Feng
[5]. 2Handbook of Face Recognition by Stan Z. Li (Editor), Anil K. Jain (Editor)
[6]. 3 Computer Vision in Human-Computer Interaction: ECCV 2004 Workshop on HCI, Prague, Czech Republic, May 16, 2004,
Proceedings (Lecture Notes in Computer Science) by Nicu Sebe, Michael S. Lew, and Thomas S. Huang
4
Intelligent Biometric Techniques in Fingerprint and Face Recognition (Crc Press International Series on Computational Intelligence.)
by Lakhmi C. Jain, Ugur Halici, Isao Hayashi, and S.B. Lee [7]. 5Eigenfaces for Recognition
Turk, M., and Pentland, A., “Eigenfaces for Recognition” journal of Cognitive Neuroscience, Vol. 3, No. 1, 1991. [8]. 6 Probabilistic Visual Learning for Object Representation
B. Moghaddam and A. Pentland, "Probabilistic visual learning for object representation", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 19, no. 7, pp. 696-710, 1997
[9]. 7 Human Face Detection in Complex Background