Saturday, April 24, 2010

improving database security through face recognition

IMPROVING DATABASE SECURITY THROUGH FACE RECOGNITION

Abstract:
In the field of Image Processing, face recognition place one of the important roles. Face recognition forms the backbone for many security systems. So we have come up with the paper regarding the face recognition using Eigen face approach. In this project, we design software which improves the security in Database Accessing. Now a days user can access his/her data providing their username and password, which one has to remember always and has the problem of being hacked. So, we design a software that takes the user’s face as its input and displays his/her record provided in the Database. We first create the database of the users taking their reference images and information. Then if any user wants his record, the face is captured and compared with the faces in the data base using Eigenface approach.
A face recognition system, based on the eigenfaces approach is proposed. Eigenfaces approach seems to be an adequate method to be used in face recognition due to its simplicity, speed and learning capability.
The corresponding face in the database is thus recognized and the record is displayed. Experimental results are given to demonstrate the viability of the proposed face recognition method.
INDEX TERM

SPCA – Principle Component Analysis, KLT – Karhunen–Loeve Transform,
ed- Euclidean distance.

1. Introduction:
Now days in banks, it’s enough to know the account number and signature of a user to draw the money. Guess if anyone forgery the signature knowing the account number……..? So this project deals to overcome this using our face as a password. To make any transactions or to access our DATABASE it’s enough to give the face. Transactions and our details are displayed taking the face itself as its input.
Face recognition can be applied for a wide variety of problems like image and film processing, human-computer interaction, criminal identification etc. This has motivated researchers to develop computational models to identify the faces, which are relatively simple and easy to implement. The model developed in [1] is simple, fast and accurate in constrained environments. Our goal is to implement the model for a particular face and distinguish it from a large number of stored faces with some real-time variations as well.
The scheme is based on an information theory approach that decomposes face images into a small set of characteristic feature images called ‘eigenfaces’, which are actually the principal components of the initial training set of face images. Recognition is performed by projecting a new image into the subspace spanned by the eigenfaces(‘face space’) and then classifying the face by comparing its position in the face space with the positions of the known individuals.

2. Face Recognition Using Eigenfaces:
The simplest approach is to think of it as a template matching problem:



Problems arise when performing recognition in a high-dimensional space.
- Significant improvements can be achieved by first mapping the data into a lower dimensionality space.
- How to find this lower-dimensional space?
This can be done by applying PCA to the training set database.

Main idea behind Eigenfaces
Suppose G is an N2x1 vector, corresponding to an NxN face image I
The idea is to represent G (F=G - mean face) into a low-dimensional space:


2.1Computation of the Eigenfaces:
Step 1: obtain face images I1, I2, ..., IM (training faces)
(very important: the face images must be centered and of the same size)
Step 2: represent every image Ii as a vector Gi
Step 3: compute the average face vector Y:

Step 4: subtract the mean face:

Step 5: compute the covariance matrix C:

where A = [F1 F2 . . . FM] (N2xM matrix)
Step 6: compute the eigenvectors ui of AAT
The matrix AAT is very large --> not practical !!
Step 6.1: consider the matrix AT A (MxM matrix)
Step 6.2: compute the eigenvectors vi of AT A

What is the relationship between usi and vi?

Thus, AAT and AT A have the same eigenvalues and their eigenvectors
are related as follows: ui = Avi !!
Note 1: AAT can have up to N2 eigenvalues and eigenvectors.
Note 2: AT A can have up to M eigenvalues and eigenvectors.
Note 3: The M eigenvalues of AT A (along with their corresponding
eigenvectors) correspond to the M largest eigenvalues of AAT (along
with their corresponding eigenvectors).
Step 6.3: compute the M best eigenvectors of AAT: ui = Avi
(important: normalize ui such that ui = 1)
Step 7: keep only K eigenvectors (corresponding to the K largest eigenvalues)

2.2 Representing faces onto this basis:
Each face (minus the mean) Fi in the training set can be represented as a linear
combination of the best K eigenvectors:

(we call the u j ’s eigenfaces)
- Each normalized training face Fi is represented in this basis by a vector:

2.3 Face Detection Using Eigenfaces:
- Given an unknown image G
Step 1: compute F = G -Y
Step 2: compute

Step 3: compute ed = F- ˆF
Step 4: if ed < href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3PzKqJwZFoWE5-pnSa558-9Lz2wUuIN2kXHRDSZ-NsZ19t6bimk5iYV67Upb6R7boSimvcBhGvcqyCqzD5a1OC4otrj8W59k6Kchq1bmC15MtYtsHMVsOYk2IgnzlZeamm-w4LqP5Okg/s1600/a2.jpg">
Figure 1: Projecting the faces onto face space

2.4 Face Recognition Using Eigenfaces:
- The given image is detected either face or non-face and if it is a face, recognition algorithm continues.
Given an unknown face image G (centered and of the same size like the training faces) follow these steps:
Step 1: normalize G: F = G -Y
Step 2: project on the eigenspace

Step 3: represent F as:W =
Step 4: find er = minl W-Wl
Step 5: if er < href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs4zUbaQNXLjKuLsZzkpv-zOE8rxwBRjGGcZLcyO9s9Wn1Amq6qvR5yolydk5Y7SSO0GO7k4QM37AymXoL2pCCyAVjVCNGdSPbewHpkQ5mAu8GMWUWo9mEFFwTo9tl9Y9TIsmqADygDo0/s1600/a3.jpg">


Figure 2: The first row is some of the images in the database while the second row shows the eigenfaces with significant eigenvectors.

The mean face is calculated as:


Figure 3: Mean face or Average face


Figure 4: The first image is the frontal test image, while the second and third are the images of the same subject with different scaling and orientation.

I gave my (sunil) image as test image with different orientations as show also with a cap. The Software checks my availability in the database.
Finally the resultant data of that person (here myself as test image is mine) is displayed. I kept only three fields like name, surname and date of birth. We can increase the fields as our requirement.


Problems:
- Lighting conditions (performance degrades with light changes)
- Multi scale eigenspaces
- Orientation (performance decreases but not as fast as with scale changes)
- Out-of-plane rotations more difficult to handle

4. CONCLUSION:
The approach is definitely robust, simple, and easy and fast to implement compared to other algorithms. It provides a practical solution to the recognition problem. Any new image can be expressed as linear combination of eigenfaces. Also PCA reduces the dimensionality of the face space thus increases the recognition speed. We are currently investigating in more detail the issues of robustness to changes in head size and orientation. Using this at banking says goodbye to signature rule etc., which improves the security.
Recognition accuracy increases with number of eigenfaces till 15. Later eigenfaces do not help much with recognition.

5. FUTURE WORK:
1. Finding the best choice of ‘M’ i.e., the number in the database.
2. Using neural networks which help in multiple view face recognition.
3. Better preprocessing techniques.

6. References:

[1] Matthew A. Turk and Alex P. Pentland. “Eigenfaces for recognisation”. Journal of cognitive nerosciences, Volume 3, Number 1, Nov 27, 2002.

[2] M.Kirby and L.Sirovich. “Application of the karhunen-loeve procedure for the characterization of human faces”. IEEE trans. on Pattern analysis and machine intelligence, Volume 12, No.1, Jan 1990.

[3] Dimitri PISSARENKO. “Eigenface-based facial recognition”. Dec1, 2005

[4] http://en.wikipedia.org/

[5] http://www.mathworks.com for MATLAB guidance.

1 comment:

  1. This post really awesome and very helpful. Thank you so much for sharing with us.
    Face Recognition Software

    ReplyDelete