ECE 533 Final Project SIMPLE FACE RECOGNITION IMPLEMENTATION FOR COMPUTER AUTHENTICATION Josh Easton- Tin-Yau Lo
Goal Demonstrate the feasibility of computer authentication using facial recognition algorithms
What is facial recognition? Every person’s face has a set of unique characteristics Some examples are: Distance between eyes Location and size of nose Distance from forehead to chin Humans are able to easily recognize a face
What is computer-based facial recognition? Programming a computer to use an algorithm to detect if two faces match
Facial recognition algorithms Various computer algorithms exist that can be used to recognize faces Eigenface analysis (AKA Principal Component Analysis) Hidden Markov Models
Eigenfaces Computer is trained with several pictures of the same face Eyes are used as reference point between pictures Various Eigenvectors are calculated to create a signature of the face
Eigenfaces
Hidden Markov Model Algorithms Similar to Eigenfaces Set of characteristics are stored from a set of images of the same face The set of images are used to compare if face in another picture matches
Embedded HMM for Face Recognition Model- - Face ROI partition
Face recognition using Hidden Markov Models One person – one HMM Stage 1 – Train every HMM Stage 2 – Recognition P i - probability Choose max(P i ) … 1 n i
Our implementation of computer authentication Uses Eigenfaces algorithm Written in Java “FaceRecognitionCap” - a Quicktime Java program to capture image from a Firewire DV camera or the Apple iSight A command line program is to simulate authentication with a capture picture and display the closest match.
Running the Programs The distribution came with the directory “FaceRecognitionCap” and “FaceRecognition”.
FaceRecognitionCap Quicktime Java program, that requires Quicktime 6.1 and a compatible camera that support Quicktime on Windows with a simple recompilation. It runs out of the box on Mac OS X by double- clicking the “FaceRecognitionCap” Icon. Push “Power” to initialize the Firewire bus, and click “Take Snapshot” to produce a 320x240 greyscale image suitable for “FaceRecognition”. The resultant capture file is “test.jpg”
FaceRecognition FaceRecognition is the actual face recognition engine. Type the following at the “FaceRecognition” directory : java FaceRecognition trainedimages testing.jpg A sample running such as the following will be produced : kenneth% java FaceRecognition trainedimages testing.jpg Constructing face-spaces from trainedimages... Comparing testing.jpg... Most closly reseambling: 15.jpg with distance. kenneth%
Why use facial recognition for authentication? Average computer user has several passwords they must remember If the user can use their face to authenticate instead, then then will no longer have to remember a password Saves time currently spent resetting a lost password
Conclusion Facial recognition software is a new, advanced replacement for text passwords We can look forward to seeing more facial authentication systems in the future