Eigenfaces for Recognition (Turk, Pentland; 1991)OutlineFace Recognition BackgroundEigenface ApproachEigenface training (1 of 2)Eigenface training (2 of 2)Recognition using EigenfacesEigenfaces OverviewAdaptive LearningFace Detection (not recognition)IssuesExperiments: 1- robustnessEigenface Enhancement Extensions>data_Demo (1/4)Demo (2/4)Demo (3/4)Demo (4/4)Eigenfaces ApplicationsConclusions1Eigenfaces for Recognition(Turk, Pentland; 1991)Pedro DavalosCPSC 689-604Apr 10, 20072Outline• Background• PCA (Eigenfaces)• Issues• Face Detection• Experiments / Tests• Comments / Conclusion3Face Recognition Background• “Traditional” approaches use bottom-up Feature analysis and geometric measurements• Additional methods include – Deformable templates– Multiresolution templates– Connectionists approachesPiecemeal Approach4Eigenface Approach• GOAL: – Develop a fast, simple, and accurate face recognition computational model• Assumptions – 2-D images, – Centered frontal portrait• Method– Use Information Theory to analyze data– Encode images through Principal Components Analysis (PCA)Holistic Approach5Eigenface training (1 of 2)• M=16 images (255x255 pixels)– Each image vector Γ is 65536x1– Input images: S = [Γ1, Γ2, … , Γ16] (16x65536)• Average Face is Ψ (65536x1)• Each Image differs from mean Φ=Γ -Ψ• Input faces A = [Φ1, Φ2, Φ3, … ,Φ16] (16x65536)Valentine’s Norm-based coding in high dimensional face space6Eigenface training (2 of 2)• Covariance Matrix to find Eigenvalues L = ATA (16x16)• Calculate eigenvectors v=eig(L) (16x16)• Obtain EigenFaces u=v*A (16x65536)• Determine significant Eigenvalues/Eigenvectors to utilize M’ eigenfaceswith most information• Encode input faces into low dimensional space through “weights”Each Image is only represented by a vector of size M’ (7) instead of N2 (65536)7Recognition using Eigenfaces• Calculate ‘weights’ of unknown Input face (Γ)• Compute Euclidean Distance from input face ‘weights’ to training images. Closest match wins!8Eigenfaces Overviewsubtracti=1…M’“Eigenfaces”dotDatabase of M input images, each represented by their M’weights Ωε Distance from input Ω to databaseSelect min distanceFace space distanceFace class distance9Adaptive Learning• Eigenfaces Bonus Feature– If an unknown input face is both• Close to face-space and• Not Close to any face in the database–Then• It is a potentially new face• The new face can be added to the databaseUnsupervised Operation10Face Detection (not recognition)• 1 – Motion Analysis (optic flow)– nothing to do with PCA– Fails with various moving objects– Fails without people moving• 2 – Face Space– Eigenface template matchingIdeal11Issues• Background• Scale/Size• Orientation/rotation• 3d Viewpoint• Expressions• Lighting• Makeup12Results2: unknownLight: 19%Orientation: 39%Scale: 60%Experiments: 1- robustness• Testing three independent variables identified as potential issues: lighting, scale, orientationorientationlightscaleResults1: correctLight: 96%Orientation: 85%Scale: 64%13Eigenface Enhancement Extensions• Shape-free faces potentially addresses issues• Eliminate Background through gaussian• Rotate tilted face by pre-process• Address scale variance through multiscale training or size estimation through pre-processingCraw, 1995; Craw & Cameron, 1991; Burton, Bruce, and Hancock, 1999φ14>data_151617Demo (1/4)http://www.pages.drexel.edu/~sis26/Eigenface%20Tutorial.htm18Demo (2/4)19Demo (3/4)x10420Demo (4/4)21Eigenfaces Applications• Recognition/Authentication• Face Detection/Location• Compression/Storage• Reconstruct Occlusions• Actor segmentation for video• Facial expression detector22Conclusions• Implementation of a computational model for recognition • Dimensionality Reduction• Holistic approach• PCA can be used to recognize other objects• Thresholds have a significant
View Full Document