Efficient Face Recognition in Video by Bit Planes Slicing

,


INTRODUCTION
In day today life face recognition system for still image and video have been in limelight both for the commercial purpose and security reasons. Due to increased importance of security in recent years face recognition has received substantial attention from researches in biometrics, pattern recognition field and computer vision communities. Various techniques have been developed for entrance control in building, personal access of computers, or for the criminal investigation. With increase in demand of security it has added a cost factor for face recognition system which makes it difficult to reach to every man. The face recognition systems can extract the features of face and compare this with the prepared database. Naturally people are good at face recognition through brain and nerve cells (Zhang and Gao, 2009). It is very difficult to understand how our brain function to stimulus and recognize the faces. Its altogether a different approach that we have taken to recognize the faces. Human faces have been in research for more than twenty years, in which many new techniques have developed. A face recognition system is a software application to identify or verify a person's image from still image or a video sequence. Unfortunately developing a computational model for face recognition from video sequences is quite difficult due to involvement of complex face under different pose and illumination condition. Face recognition using bit planes followed by self PCA is used to implement the model for test database of video sequences to distinguish it from a training set of stored faces with some real-time variations as well. The approached method is based on extracting significant bit planes from the image and creating a virtual image by combining the bit planes giving most of the information of the image multiplied by the weights (Dai et al., 2009). Weights are selected such that higher order bit planes carry more weights.

Why virtual image:
It reduces the within class differences of a face and thus faces of same person are more similar to each other while faces of different faces are more discriminate. Provide robust to various pose and illumination condition. As less information of image is used as comparison to original image processing time is comparatively less than conventional type PCA method. Virtual image is decomposed into a small set of characteristic feature images called eigen faces, which are principal components of the initial training set of still face image. Mean of all the virtual image is calculated (Dai et al., 2009). All the virtual image from training database are subtracted from mean to get the normalized image. Covariance matrix is calculated from normalized image by multiplying normalized image and its transpose. From covariance matrix eigen vector and eigen value is derived. From this projected image is calculated. Recognition is performed by reading the video sequences and grabbing the video frames. Frames at a rate of 30 frames per second is obtained. Preprocessing of frames is done (Poon et al., 2009). Mean of frames are calculated and a mean frame is derived. Histogram equalization is done on the frame. Bit plane slicing is done. By combining significant bit plane frame is converted to virtual frame by same method. This virtual test frame is subtracted from mean of the training image. And covariance matrix is found again. From covariance matrix eigen vectors and eigen values are calculated. Projected input image is calculated. For testing projected input image and projected image is compared. If this value comes to be less than threshold then it recognizes the face from the training database. (2)

METERIALS AND METHODS
The complete face recognition system consists of two processes: • Training stage • Recognition stage The training stage comprises of following operations: • Prepare the initial set of face image as training set • Find the histogram equalization of the face images.
This will lead to contribution of lower order bit planes together with higher order bit planes also • Calculate the eight bit planes as pixel value range from 0-255 • Create the virtual image combining the planes which are providing most of the information • Calculate the eigen faces of virtual images, keeping only the highest eigen values. These M images define the face space. As new faces are experienced, the eigen faces can be updated or recalculated • Calculate the corresponding distribution in Mdimensional weight space for each known individual, by projecting their face images. These operations can be performed from time to time whenever there is a free excess operational capacity. This data can be cached which can be used in the further steps eliminating the overhead of re-initializing, decreasing execution time thereby increasing the performance of the entire system (Dai et al., 2009) Having trained the system, the next process involves the steps: • Test frames are obtained from test videos • After pre-processing, mean of all frames are taken and virtual image is created • Input image is subtracted from mean of all training images to get mean input image • Projected input image is obtained by multiplying transpose of eigen faces and mean input image • Euclidean distance is calculated by subtracting projected image from projected input image • Threshold is setup to compare and if error is less than the threshold the image is recognized with the least index value

Initialization:
Calculation of virtual image: Initially each pixel value of 0-255 is converted to binary value. Length of the binary digit is eight. So, all the decimal pixel value will get converted to binary numbers. Same plane binary digits are collected to form a plane. Similarly all the eight bit planes are formed. Figure 1 represents the bit planes before histogram equalization. Left one is the most significant bit plane while right one is least significant bit plane. As only significant bit planes were giving the most of the information, histogram equalization was done. Figure 2 i.e., bit planes after histogram equalization shown below shows the importance of lower order bit planes also. This change in the lower order bit planes carrying significant amount of information is due to fact that after histogram equalization pixel value got uniformaly distributed which can be easily verified by evaluating Fig. 3 and 4 which shows number of pixels vs gray levels before and after histogram equalization respectively. Initially lower value of gray level has lower number of pixels after histogram equalization the number of pixels got increased. This training data set has to be mean adjusted before calculating the covariance matrix or eigenvectors. The average face is calculated as Eq. 3: This is actually mean adjusted data. The covariance matrix is Eq. 5 and 6: Where: The matrix C is a N 2 by N 2 matrix and would generate N 2 eigenvectors and eigen values. With image sizes like 256 by 256, or even lower than that, such a calculation would be impractical to implement. A computationally feasible method was suggested to find out the eigenvectors. If the number of images in the training set is less than the no of pixels in an image (i.e., M<N 2) , then we can solve an M by M matrix instead of solving a N 2 by N 2 matrix. Consider the covariance matrix as A T A instead of AA T . Now the eigenvector Y i can calculate as Eq. 7 follows: where, µ i is the eigenvalue. Here the size of covariance matrix would be M by M. Thus we can have m eigenvectors instead of N 2 . Pre multiplying Eq. 2 by A, we have Eq. 8: The right hand side gives us the M eigenfaces of the order N 2 by 1.All such vectors would make the image space of dimensionality M.

B Recognition process: Use of eigen faces to classify a face image:
A new image T is transformed into its eigen face components (projected into 'face space') by a simple operation Eq. 9: Here k = 1, 2,….M. The weights obtained as above form a vector Ω T = [W 1, W 2, W 3, W M' ] that describes the contribution of each eigenface in representing the input face image . The vector may then be used in a standard pattern recognition algorithm to find out which of a number of predefined face class, if any, best describes the face. The face class can be calculated by averaging the weight vectors for the images of one individual. The face classes to be made depend on the classification to be made like a face class can be made of all the images where subject has the spectacles. With this face class, classification can be made if the subject has spectacles or not. The Euclidean distance of the weight vector of the new image from the face class weight vector can be calculated as follows Eq. 10: where, Ω K is a vector describing the K th face class. Euclidean distance. The face is classified as belonging to class k when the distance ε k is below some threshold value θε. Otherwise the face is classified as unknown.

Database preparation:
The database was obtained with 10 photographs of each person's at different viewing angels and different expressions which is shown in Fig. 5. There are 10 persons in database. Database was also prepared for testing phase by taking small sequences of videos of persons in different expressions and viewing angles using a low resolution camera. • Select a video sequence or a test image 'T' which is to be tested using open file dialog box or by using webcam for real time image testing. This test image is also reshaped into 200×180 which is shown in Fig. 7 • Frames from videos are taken and mean frame is found out. Virtual frame is created. In case of test image, it is read and coverted to virtual face. Then it gets normalized that is by finding the difference of the test virtual frame or test image from the mean image of the trained database Eq. 11:

Training:
• We project the normalized test data set • For each column in the matrix Z N , we calculate the Euclidean Norm of the difference with the projected vectors of matrix YN. Finally, the test image is identified as the person with the smallest value among all the Euclidean Norm values. Figure  8 represents the identified person.

RESULTS AND DISCUSSION
We have considered a total of 100 images comprising of 10 images per person of 10 individuals with varying condition. The perfoemance of this algorithm increases with the increase in number of images per person as depicted from Table 1.

CONCLUSION
This particular method using Bit plane slicing for face recognition followed by PCA was motivated by information theory, leading to basing face recognition on a small set of image features that best approximates the set of known face images. The eigen face approach provides a practical solution that is well fitted for the problem of face recognition. It is fast, relatively simple and study well in a different environment.
Certain issues of robustness to changes in lighting, head size and head orientation are done. The tradeoffs between the numbers of eigen faces necessary for unambiguous classification are matter of concern. The speed of processing is faster than other method.
This project is based on bit plane sliced approach that gives a maximum accuracy the images are taken in constrained environment. Adaptive algorithms may be used to obtain an optimum threshold value. There is scope for future betterment of the algorithm by using Neural Network technique that can give better results as compared to eigen face approach. With the help of neural network technique accuracy can be improved.
Instead of having a constant threshold, it could be made adaptive, depending upon the conditions and the database available, so as to maximise the accuracy. The whole software is dependent on the database and the database is dependent on resolution of camera. So if good resolution digital camera or good resolution analog camera is used, the results could be considerably improved. It can be worked for advanced recognition for multiple face recognition.