Upload
elfrieda-watkins
View
226
Download
2
Tags:
Embed Size (px)
Citation preview
Vision-Based Vision-Based Biometric Biometric
Authentication Authentication SystemSystem
by Padraic o hIarnainby Padraic o hIarnain
Final Year Project Final Year Project PresentationPresentation
Vision-Based Biometric Vision-Based Biometric Authentication SystemAuthentication System
Face Detection
Authentication
Input from Camera
Face Recognition
Why make a Vision-Based Why make a Vision-Based Biometric Authentication Biometric Authentication
System?System? Advantages over PIN/password method:Advantages over PIN/password method:
More secureMore secure No passwords to rememberNo passwords to remember Less tediousLess tedious
PracticalPractical Advances in image processing techniquesAdvances in image processing techniques Low cost of digital imaging hardwareLow cost of digital imaging hardware
Vision-Based Biometric Vision-Based Biometric Authentication Authentication DevelopmentDevelopment
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 DetectionFace Detection
Determines the location of a face in an Determines the location of a face in an imageimage
Involves capturing images in real-time Involves capturing images in real-time from a camera and then determining from a camera and then determining whether or not the image contains facial whether or not the image contains facial featuresfeatures
Statistical approach originally developed Statistical approach originally developed by Paul Viola and Michael Jonesby Paul Viola and Michael Jones
Face Detection and the Face Detection and the Viola-Jones AlgorithmViola-Jones Algorithm
Uses simple Haar-like features and a Uses simple Haar-like features and a cascade of boosted tree classifiers.cascade of boosted tree classifiers.
Haar-like features are calculated for Haar-like features are calculated for the images and then passed through the images and then passed through a cascade of boosted classifiers in a cascade of boosted classifiers in order to determine if they are facial order to determine if they are facial features.features.
Face Detection and the Face Detection and the Viola-Jones AlgorithmViola-Jones Algorithm
Calculate the Haar-like features. Using a SAT Calculate the Haar-like features. Using a SAT (Summed Area Table) to speed up the process.(Summed Area Table) to speed up the process.
Computed feature value is passed through a Computed feature value is passed through a simple classifier. This classifier responds with a simple classifier. This classifier responds with a +1 for a pass or a -1 for a fail.+1 for a pass or a -1 for a fail.
Chain a bunch of weak classifiers together into Chain a bunch of weak classifiers together into a more complex classifier known as a boosted a more complex classifier known as a boosted classifier.classifier.
Create a cascade of boosted classifiers.Create a cascade of boosted classifiers. The image contains a face if it passes all The image contains a face if it passes all
classifiers.classifiers.
Face Detection ProgramFace Detection Program
The Face Detection program is The Face Detection program is implemented using the OpenCV library.implemented using the OpenCV library.
Program that processes images from a Program that processes images from a camera in real-time and then detects if any camera in real-time and then detects if any face objects are present in that image.face objects are present in that image. Pass the classifier locationPass the classifier location Pass the input typePass the input type Convert input image from colour to a greyscale Convert input image from colour to a greyscale
image and then resize it to a smaller image.image and then resize it to a smaller image. Check the image for face objects. Use Check the image for face objects. Use
“cvHaarDetectObjects”.“cvHaarDetectObjects”.
Face Detection ProgramFace Detection Program
Camera ImplementationCamera Implementation TestingTesting
Tested with different face images.Tested with different face images. Tested with non-face images.Tested with non-face images. Tested with different objects in front of Tested with different objects in front of
camera; faces and non-faces.camera; faces and non-faces. ImprovementsImprovements
Changed camera settings.Changed camera settings.
Face Detection ResultsFace Detection Results
The end result of face detection. The The end result of face detection. The program worked every time.program worked every time.
AuthenticationAuthentication
Authentication SystemAuthentication System The process of authenticating a user.The process of authenticating a user. Integrating this process with a Integrating this process with a
Biometric system.Biometric system. Authentication System DevelopmentAuthentication System Development
Create a basic authentication system Create a basic authentication system based on file IO.based on file IO.
Implement this system with face Implement this system with face detection and face recognition.detection and face recognition.
Authentication and PAMAuthentication and PAM
PAM (Pluggable Authentication PAM (Pluggable Authentication Module)Module) Assimilates multiple low-level Assimilates multiple low-level
authentication systems into high-level authentication systems into high-level applications.applications.
PAM developmentPAM development Edit PAM configuration for the login and Edit PAM configuration for the login and
screensaver applications.screensaver applications. Create authentication modules for the Create authentication modules for the
login and screensaver applications.login and screensaver applications.
Authentication and PAMAuthentication and PAM
Login Authentication ModuleLogin Authentication Module The module reads a name from a file and The module reads a name from a file and
attempts to log that user on.attempts to log that user on. Authentication fails if there is no name or Authentication fails if there is no name or
the name is not a user name.the name is not a user name. Screensaver Authentication ModuleScreensaver Authentication Module
The module reads a name from a file and The module reads a name from a file and if that name is the same as the current if that name is the same as the current user then it authenticates the application.user then it authenticates the application.
Face Detection Face Detection Authentication SystemAuthentication System
Integrating Face Detection Program Integrating Face Detection Program with the Authentication Systemwith the Authentication System Face Detection program changed so it Face Detection program changed so it
writes a default user name to a file writes a default user name to a file every time a face is detected.every time a face is detected.
Integrating Face Detection Program Integrating Face Detection Program with the Start-up protocolwith the Start-up protocol Included Face Detection program in a Included Face Detection program in a
run-level 5 script.run-level 5 script.
Face Detection Face Detection Authentication System Authentication System
ResultsResults TestingTesting
Ran the system for a few hours.Ran the system for a few hours. ResultResult
When a face is detected the PAM When a face is detected the PAM modules read in the default user name modules read in the default user name and use it in authentication. and use it in authentication. Authentication works with the Face Authentication works with the Face Detection Program.Detection Program.
Face RecognitionFace Recognition
Examination of facial features in an Examination of facial features in an image, recognising those features image, recognising those features and matching them to one of the and matching them to one of the many faces in the databasemany faces in the database
PCA (Principal Component Analysis) PCA (Principal Component Analysis) method of face recognition is used method of face recognition is used on the input image from the camera.on the input image from the camera.
Face Recognition and Face Recognition and PCAPCA
What is PCA?What is PCA? The process of extracting the most The process of extracting the most
relevant information contained in a face relevant information contained in a face and then building a computational and then building a computational model that best describes it.model that best describes it.
Why use PCA?Why use PCA? Process speedProcess speed Time limitationsTime limitations AccuracyAccuracy
Theory of PCATheory of PCA
Eigenvectors or Eigenfaces are Eigenvectors or Eigenfaces are obtained by training a set of face obtained by training a set of face images.images.
These Eigenvectors represent a basis of These Eigenvectors represent a basis of an Eigenspace in which every face is an Eigenspace in which every face is projected on.projected on.
Recognition is performed by comparing Recognition is performed by comparing the location of a face in the Eigenspace the location of a face in the Eigenspace with the location of known users.with the location of known users.
PCA ImplementationPCA Implementation
Implementation using OpenCVImplementation using OpenCV Create an Eigenspace using a set of training Create an Eigenspace using a set of training
faces.faces. Calculate the location of each face in the Calculate the location of each face in the
Eigenspace.Eigenspace. Calculate the location of the input image in the Calculate the location of the input image in the
Eigenspace.Eigenspace. Calculate the distance between the input image Calculate the distance between the input image
and every other face in the training set.and every other face in the training set. If the distance is under a certain threshold than If the distance is under a certain threshold than
print that user’s name to an output file.print that user’s name to an output file.
New User UtilityNew User Utility
Prompts for a user namePrompts for a user name Creates a user profile under that Creates a user profile under that
namename Capture image from camera of the Capture image from camera of the
new usernew user Save the new user image into the Save the new user image into the
database of user facesdatabase of user faces Store new user name in a text file for Store new user name in a text file for
integration with face recognitionintegration with face recognition
Vision-Based Biometric Vision-Based Biometric Authentication SystemAuthentication System
Reads user names from a file.Reads user names from a file. Loads corresponding face images.Loads corresponding face images. Prepare all images for face analysis.Prepare all images for face analysis. Calculates Eigenvectors using these face Calculates Eigenvectors using these face
images.images. Compares input image with the faces in Compares input image with the faces in
the user database.the user database. If an input face is very similar to a user If an input face is very similar to a user
face then that user is authenticated.face then that user is authenticated.
ConclusionConclusion
What I’ve learnedWhat I’ve learned Improved knowledge of Linux, C Improved knowledge of Linux, C
programming and writing scripts.programming and writing scripts. Improved knowledge of image Improved knowledge of image
processing techniques; especially in the processing techniques; especially in the field of biometrics.field of biometrics.
What I’ve completedWhat I’ve completed A fully functional vision-based biometric A fully functional vision-based biometric
authentication system.authentication system.
QuestionsQuestions
Thank you, Thank you, Goodbye!Goodbye!