Vision-Based Biometric Authentication System Face Detection ...

utterlypanoramicSecurity

Nov 30, 2013 (3 years and 8 months ago)

70 views

Vision
-
Based Biometric
Authentication System

by Padraic o hIarnain


Final Year Project Presentation

Vision
-
Based Biometric
Authentication System

Face

Detection

Authentication

Input from

Camera

Face

Recognition

Why make a Vision
-
Based Biometric
Authentication System?


Advantages over PIN/password method:


More secure


No passwords to remember


Less tedious



Practical


Advances in image processing techniques


Low cost of digital imaging hardware



Vision
-
Based Biometric
Authentication Development

Face Detection

Face Detection

with Camera

Authentication
System

Face Detection
Authentication
System

Face
Recognition

Face
Recognition
Authentication
System

Add New User
Utility

Integration of
Entire System

Face Detection


Determines the location of a face in an image



Involves capturing images in real
-
time from a
camera and then determining whether or not the
image contains facial features



Statistical approach originally developed by Paul
Viola and Michael Jones

Face Detection and the Viola
-
Jones
Algorithm


Uses simple Haar
-
like features and a cascade of
boosted tree classifiers.


Haar
-
like features are calculated for the images
and then passed through a cascade of boosted
classifiers in order to determine if they are facial
features.

Face Detection and the Viola
-
Jones
Algorithm


Calculate the Haar
-
like features. Using a SAT (Summed
Area Table) to speed up the process.


Computed feature value is passed through a simple
classifier. This classifier responds with a +1 for a pass
or a
-
1 for a fail.


Chain a bunch of weak classifiers together into a more
complex classifier known as a boosted classifier.


Create a cascade of boosted classifiers.


The image contains a face if it passes all classifiers.

Face Detection Program


The Face Detection program is implemented using the
OpenCV library.


Program that processes images from a camera in real
-
time and then detects if any face objects are present in
that image.


Pass the classifier location


Pass the input type


Convert input image from colour to a greyscale image and
then resize it to a smaller image.


Check the image for face objects. Use
“cvHaarDetectObjects”.

Face Detection Program


Camera Implementation


Testing


Tested with different face images.


Tested with non
-
face images.


Tested with different objects in front of camera;
faces and non
-
faces.


Improvements


Changed camera settings.

Face Detection Results


The end result of face detection. The program
worked every time.

Authentication


Authentication System


The process of authenticating a user.


Integrating this process with a Biometric system.


Authentication System Development


Create a basic authentication system based on file
IO.


Implement this system with face detection and face
recognition.

Authentication and PAM


PAM (Pluggable Authentication Module)


Assimilates multiple low
-
level authentication systems
into high
-
level applications.


PAM development


Edit PAM configuration for the login and
screensaver applications.


Create authentication modules for the login and
screensaver applications.

Authentication and PAM


Login Authentication Module


The module reads a name from a file and attempts
to log that user on.


Authentication fails if there is no name or the name
is not a user name.


Screensaver Authentication Module


The module reads a name from a file and if that
name is the same as the current user then it
authenticates the application.

Face Detection Authentication
System


Integrating Face Detection Program with the
Authentication System


Face Detection program changed so it writes a
default user name to a file every time a face is
detected.


Integrating Face Detection Program with the
Start
-
up protocol


Included Face Detection program in a run
-
level 5
script.

Face Detection Authentication
System Results


Testing


Ran the system for a few hours.


Result


When a face is detected the PAM modules read in
the default user name and use it in authentication.
Authentication works with the Face Detection
Program.

Face Recognition


Examination of facial features in an image,
recognising those features and matching them to
one of the many faces in the database


PCA (Principal Component Analysis) method of
face recognition is used on the input image from
the camera.

Face Recognition and PCA


What is PCA?


The process of extracting the most relevant
information contained in a face and then building a
computational model that best describes it.


Why use PCA?


Process speed


Time limitations


Accuracy


Theory of PCA


Eigenvectors or Eigenfaces are obtained by
training a set of face images.


These Eigenvectors represent a basis of an
Eigenspace in which every face is projected on.


Recognition is performed by comparing the
location of a face in the Eigenspace with the
location of known users.

PCA Implementation


Implementation using OpenCV


Create an Eigenspace using a set of training faces.


Calculate the location of each face in the Eigenspace.


Calculate the location of the input image in the
Eigenspace.


Calculate the distance between the input image and
every other face in the training set.


If the distance is under a certain threshold than print
that user’s name to an output file.

New User Utility


Prompts for a user name


Creates a user profile under that name


Capture image from camera of the new user


Save the new user image into the database of
user faces


Store new user name in a text file for integration
with face recognition

Vision
-
Based Biometric
Authentication System


Reads user names from a file.


Loads corresponding face images.


Prepare all images for face analysis.


Calculates Eigenvectors using these face images.


Compares input image with the faces in the user
database.


If an input face is very similar to a user face then
that user is authenticated.


Conclusion


What I’ve learned


Improved knowledge of Linux, C programming and
writing scripts.


Improved knowledge of image processing
techniques; especially in the field of biometrics.


What I’ve completed


A fully functional vision
-
based biometric
authentication system.

Questions

Thank you, Goodbye!