270 likes | 334 Views
Vision-Based Biometric Authentication System. by Padraic o hIarnain Final Year Project Presentation. Vision-Based Biometric Authentication System. Why make a Vision-Based Biometric Authentication System?. Advantages over PIN/password method: More secure No passwords to remember
E N D
Vision-Based Biometric Authentication System by Padraic o hIarnain Final Year Project Presentation
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 Integration of Entire System Add New User Utility Face Recognition Authentication System Face Recognition
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.