Wednesday, May 26, 2010

Pattern Recognition Using PCA

Pattern Recognition:
     Pattern recognition deals in variety of daily life activities which we usually practice. This is the quality of human brain which can distinguish and differentiate between any change in pattern and even memorizing new pattern. For example if you are going in a market you get an idea about each n every shop and things present and if you continue to go again n again Your Brain exactly memorize each n every pattern you observe.IN case of any change ,the brain intimate the change and soon in no time you realize what the change is.
    Such a capability of human brain is termed as pattern recognition. This term is specially termed for the computers science when there evolved need for the recognition through computers. The main reason of choosing the computers for this purpose is the fast processing and vast memory availability.
Computers really can’t memorize anything like human brain but it’s the algorithms and techniques which make them able to do this. Moreover, we are not dealing in data storage like we do with computers.
   Most widely used technique for pattern recognition is PCA based pattern recognition. Let me mention PCA is statistical technique which is used for the classification and dimension reduction of very large amount of data.

Daily Life Application(s):
In the following fields, the PCA based technique is widely used:
  • Face recognition technology 
  • Cloud classification technology 
  • Palm based recognition  
  • IRIS based recognition 
  • Population data statistics 
  • DNA based Pattern recognition
What is PCA?
If you had read the last blog you will came to know about the use and benefits of using PCA in daily life applications. Moving onward it’s time to describe the PCA in detail.

Face Database:
The very first task in PCA is collecting faces of different persons. One can download the Face collection from database uploaded for free use by CASIA 
(http://www.cbsr.ia.ac.cn/english/index.asp)
The database contains images of more than 50 persons with frontal and side wise positions and there are 10 pictures each person’s covering every possible position.

Image Space:
Image Space is created by following these steps:
  • Read the binary image i.e. BMP in 2 dimensional array.  
  • Concatenate each row in image making only one row i.e. the rows of the image are placed each beside one another which is termed as vector or row vector. 
  • Loop through (I) and (II) until all images are concatenated in separate row. 
  • Now each row represents a face or image making a heavily populated 2 dimensional array. 
  • The newly created 2 dimensional array is denoted as Image Space or Face Space. 
Face Space:
The image space is not an optimal space for face description. We need to build a face space, which better describes the face. The basis vector of this space is called the principal components.
Compute the average mean face by adding each corresponding column entity and then dividing the total by total number of face images i.e. Let X is the training set which is actually the face images so we would have:
Xn where n=total number of faces
Each image Xi is converted into column vector i.e. Yi 
Add each Yi where i=1 to n
Divide the total by n resulting in mean value of each column.
 
Mean Face Reduction: 
Ψ represent the mean face extracted from all images. Now subtract this mean face from
each row to get a new set of vectors.
Фi = Yi – Ψ
Ф is termed as covariance matrix in which common features of each face is eliminated.

Covariance Matrix:
       As the covariance matrix is (m*n) dimensional array so next step is to find its determinant.
In real world mathematics, finding the determinant of such a hug matrix is not simple.
The equation for finding the determinant of such matrix is stated below:
[IMAGE]

Computing Eigenvectors:
        Computing the eigenvectors of [A*(A^T)] is not feasible computationally. We can determine the eigenvectors by first solving the much smaller M x M matrix problem and taking linear combination of the resulting vectors:

[IMAGE]

 These vectors are subjected to principle component analysis which finds a set of M orthogonal  
and their eigenvalues to describe the distribution of data. So, we get M eigenvectors and
Eigenvalues.

Keeping Eigenvectors:
           Keep only these eigenvectors which describes the image best as explained before. In normal practice, first 20 values are termed as eigenvectors which be used in future for the recognition of the faces used in whole process.

Recognition Procedure Using Eigen faces:
       Given an unknown face image of the same size like training image, this image is projected into“face space” by following operations.  
Where the M’ is eigenvectors selected. These weights form a vector Ωt = [w1, w2, .……., wk]
This describes the contribution of each eigenface in representing the input face image, treating
the eigenfaces as basis set for face images. The vector is used to find the face images. The vector issued to find which of the number of predefined face classes if any best describes the face. The simplest method used for this purpose is to find Euclidean distance where θє is 
some chosen threshold.

FRR and FAR:
     False Rejection Rate (FRR) and False acceptance Rate are two standard performance evaluation metrics. They are inversely proportional metrics. Generally the biometrics systems are based on the principle of threshold. Therefore a variable threshold is used for the customers to strike a balance,the other metrics are learning time, execution time, the number of samples required in training.

Tuesday, May 25, 2010

Face Recognition Technology

Biometrics based recognition is always being the most versatile and demanding method for the security implementation.since 50s scientist working on many human factors which could be used for the authentication.Majorly,the face photograph is used for the verification of the person and the major areas of use are National Identity Card,Passport,Driving Licenses etc etc.


In the late 90s when computer has been evolved upto great extent that it covers almost every field of life,authentication and accurate verification also became a great need of each & every department and organization.


After the success of Fingerprint recognition,The next Step was the Face Recognition technology.


Many approaches are introduced for the face detection and recognition on which many of the research department spent a huge amount to get the best out if it.


In computer science,we are lucky enough to use mathematical and statistical methods for the face detection & recognition.One of the most widely used technique is PCA based Face recognition which clams to give the 70-90% of the accurate results.


PCA stands for the Principal Component analysis which is basically used for the dimensional reduction or compression of data into meaningful parameters.Typically,when dealing with very large amount of data,PCA is always preferred over other technique due to its simplicity and accuracy.


Another remarkable benefit of this technique is its less demand for processing power if we are using computers for the calculation and even in case new entity or person is required to add in training set,it provides a robust method which results in fast training and then recognition.


In other techniques,if new person is required to add,then whole network need to calculate the parameters from 1st person to last one which required lots of processing and time.

Search This Blog