1 of 24

FOR VERIFICATION OF STUDENT’S IDENTITY

CASE STUDY: THE EIGENFACE APPROACH

BIOMETRIC SYSTEMS

FACE RECOGNITION

By ANYAOHA, Ekene Roy

A Project Supervised by: Dr. J. O. Hamzat

2 of 24

  • Aims & Objectives
  • Student Identity Verification and its Challenges
  • Face Recognition
  • Eigenfaces & Principal Component Analysis
  • Implementing Face Recognition (Eigenface approach) using Python Programming Language
  • Conclusion and Recommendation

OUTLINE

3 of 24

AIMS & OBJECTIVES

Acquire in-depth understanding of the Eigenface approach for Face Recognition and the advantages of applying PCA to the concept

Develop an Implementation of this System in Python GUI

Solve the challenges associated with verifying Student’s identity by Human methods

1

4 of 24

2

STUDENT IDENTITY VERIFICATION

IT’S

CHALLENGES

5 of 24

The major challenge is POINT OF ENTRY irregularities and mismanagement.

These can be observed at entries of the following:

  • Tests and Examination halls
  • Hostels
  • Libraries
  • Social events on campus

STUDENT OR NOT?

HUMAN VS MACHINE

6 of 24

3

WHAT IS FACE RECOGNITION?

7 of 24

A biometric method of identifying an individual by comparing live capture or digital image data of the individual’s face with the stored record for that individual

FACE RECOGNITION

DEFINITION

8 of 24

An algorithms that recognizes based on local features of individual’s face i.e. face features such as nose, eyes, ears, etc.

Examples: LFA, Gabor Wavelet

Feature base/Local region

A more generalized algorithm that considers the whole face area compared to the local region algorithm.

Examples: PCA, ICA

TYPES OF FACE RECOGNITION ALGORITHMS

Holistic approach/Global appearance

9 of 24

MAT 499

4

EIGENFACES AND PRINCIPAL COMPONENT ANALYSIS?

10 of 24

The name given to a set of eigenvectors when they are used in the computer vision problem of human face recognition

EIGENFACES

also known as the eigenvectors of covariance matrix of the dataset

OR Ghostly Image

DEFINITION

11 of 24

PCA – Principal Component Analysis

is a statistical procedure that uses an orthogonal transformation to convert a set of observations of possibly correlated M variables into a set of values of linearly uncorrelated K variables called principal components

The number of principal components is always less than or equal to the number of original variables i.e.. K ≤ M.

Face Images

Eigenfaces

12 of 24

PCA – Principal Component Analysis

The Eigenfaces are defined in such a way that the first PC shows the most dominant features of the data set and each succeeding component in turn shows the next most possible dominant feature and in the process thrashes redundant features

13 of 24

PCA – Principal Component Analysis

as this reduction goes on, succeeding components show less “direction” and more “noise” hereby reducing the number of K eigenfaces

14 of 24

MXM Eigenfaces

15 of 24

K-Eigenfaces

K<M

16 of 24

5

IMPLEMENTING FACE RECOGNITION IN PYTHON GUI

THE EIGENFACE APPROACH

  • Acquire set of face images (Training Set)
  • Calculate the Eigenfaces of the training set
  • Project Eigenfaces onto the "face space” i.e. database
  • Recognize face (if known i.e. if contained in database)
  • Incorporate face into database (if unknown)

The requirements for this implementation are as follows;

​

1. Mac OS/Linux and an image scanning method

2. Python GUI/Anaconda/Octave or its equivalent

3. Mat library, matplot library (matplotlib), face_rec library

​

The Computation & Implementation of Eigenfaces

17 of 24

Step 1: Obtain face images I1, I2 ... IM (Training faces) (Very important: the face images must be centered and of the same size

The Computation & Implementation of Eigenfaces

18 of 24

Reading Images

The Computation & Implementation of Eigenfaces

Each directory was given a unique (integer) label.

19 of 24

Step 2: Represent every image Ii as a vector Γi

The Computation & Implementation of Eigenfaces

 

 

 

 

Next Step: Compute the M best eigenvectors of A AT: ρi = Aνi

(keeping only the K best eigenvectors with the highest eigenvalues)

 

20 of 24

Reshaping Images

The Computation & Implementation of Eigenfaces

Recall - All Images must be (same) size.

Applying Principal Component Analysis (PCA)

Defining Subplot

For Graphical aids

It puts into consideration the list of images, a title, color scale to generate the subplot

​

21 of 24

Given an unknown face image Γ (centered and of the same size like the training faces), follow these steps:

Recognizing a Face

 

 

(where Ω and Ωl are the eigenfaces of the test image and the training set respectively)

 

YES

NO

(where Tl is the threshold value for each eigenfaces in training set)

 

NB: All new unknown faces are incorporated into the database

 

22 of 24

Comparing Test Image with Training set (Database)

Recognizing a Face

Results

Case 1: when test image matched an image in the Training set (database)

Case 2: when test Image does not match any image in the Training set (database)

23 of 24

6

CONCLUSION AND RECOMMENDATIONS

24 of 24

Conclusions

Recommendations

Following the significant result prior the successful implementation of eigenfaces, face recognition is acceptable as a solution for the challenges surrounding the verification of student’s identity and should be adopted into our academic system.

​

The University of Lagos and others should adopt face recognition technology into their systems for easy verification of student’s identity

​

Can also be adopted for voter’s verification in the Elections and customer verification in banks

​

References

Mattew Turk and Alex Pentland “Eigenfaces for Recognition”, Journal of cognitive neuroscience volume 3, issue 1 – (1991)

Bytefish “Face Recognition with Python”, github.com/bytefish - (2012)

Thank You