February 29, 2008 Newton Petersen Faces
Introduction/Problem Statement Tell me this is Newton Don’t tell me this is Newton Minimize the ‘what the #!@%s’ � Given still or video images identify or verify one or more persons using a stored database of faces � Minimize false accepts and false rejects, maximize true accepts and true rejects � Why, how, what works best, what’s next? Face detection using Intel's OpenCV Haar Detector
Why Interesting � Commercial applicability � Law enforcement � Security � Smart identification � Entertainment � Search � Humans are good at it, why can’t computers � Attracts diverse researchers from psychology, neuroscience, image processing, patter recognition, AI, computer vision � Google is shopping Image from Sinha, Balas, et al., "Face Recognition by Humans: 20 results all computer vision researchers should know about", 2005
Interesting Notes from Neuroscience Faces more easily remembered by humans than any other object when in � upright orientation � Evidence of holistic approach by human brain – inverted face more difficult to recognize � Probably different circuits for detection and recognition � Distinctive faces easier to identify � Typical faces easier to detect � Upper part of face more significant than lower � Oddly nose appears mostly insignificant � Moving face easier to recognize Image from Sinha, Balas, et al., "Face Recognition by Humans: 20 results all computer vision researchers should know about", 2005
Why Difficult � Varying shape � Varying illumination � Varying pose � Varying facial expressions (smiling vs frowning) � Varying age and ethnicity � Varying image resolution
Key Technical Approach Image/ Detection ID Feature Video and Alignment Recognition Extraction Tracking Face Database
Feature Based Detection - Viola and Jones ‘01 � Cascaded decisions based on ‘rectangle features’ � AdaBoost used to select which features important � Cascade of classifiers
‘Rectangle Features’ � Rectangle filters � Sum of pixel values in white regions subtracted from pixel values in grey regions � Efficiently computed using concept of an ‘integral image’ Viola, Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", 2001
Integral Image � Value at (x,y) is sum of pixels above and to the left of (x,y) � Built with single pass through image � Now a rectangle sum like D = 4 – 2 – 3 + 1 � Any size rectangle sum computed in constant time Viola, Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", 2001
Rectangle windows � 180,000+ rectangle windows possible � How do you choose the windows that are most important? Viola, Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", 2001
AdaBoost for Feature Selection � Image Features = Weak classifiers � For each round of boosting � Evaluate each rectangle filter on each example � Select best threshold for each filter (minimize error) � Select best filter/threshold combination � Weight on ‘feature’ is just a function of error rate Viola, Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", 2001
Most telling features First common feature – Eyes darker than nose and cheeks � Second common feature – Eyes darker than bridge of nose � … � � Now how is this used for detection? Viola, Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", 2001
Cascaded Classifier for Detection � Most telling feature checked first, if fail => no face � Check less telling / more computationally intensive features next � Continue until reach desired accuracy Viola, Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", 2001
Discussion Point � Perhaps different features are better identifiers for different people -> merge detection and identification?
Basic approaches to identification � Holistic - Eigenfaces � Feature geometry – Elastic Bunch Graph Matching � Active Appearance Models � Video/Multi-view
EigenFaces – Turk and Pentland ‘91 � Holistic Approach � Attempts to find ‘face space’ automatically from training set of faces � Basic idea: linear combination of eigenvectors can compose any face and capture important variability
EigenFaces - Example Average 7 highest weighted Training Faces eigenvectors of covariance matrix Turk and Pentland, "Eigenfaces for Recognition", 1991
EigenFaces – For Identification Turk and Pentland, "Eigenfaces for Recognition", 1991
EigenFaces – Pros and Cons � Pros � Training automatic � Agnostic to the object even being a face � Adequately reduces statistical redundancy in face image representation � Cons � Difficult to capture things like expression changes � Sensitive to illumination and pose changes � Also sensitive to just pixel misalignment � Occlusion causes problems
Local Feature Analysis � Uses face domain knowledge � Models size and distance (shape) between geometric features on the face � Can also model appearance, textures, etc
Elastic Bunch Graph Matching Manually choose fiducial points Apply Gabor wavelet kernel at points of interest to get local frequency and phase information Why is frequency content more meaningful than intensities? Wiskott, Fellous, Kruger, Malsburg, "Face Recognition by Elastic Bunch Graph Matching", 1997
Elastic Bunch Graph Matching Each ‘bunch’ in graph holds wavelet coefficients, ‘jets’, for population of interest at particular fiducial points Edges in graph contain length between fiducial points Find best match for identification Wiskott, Fellous, Kruger, Malsburg, "Face Recognition by Elastic Bunch Graph Matching", 1997
Elastic Graph � Pros � Encodes domain knowledge � Search over multiple scales relatively straight forward � Occluded fiducial points don’t necessarily cause problems � Cons � Points of interest manually identified � Pose manually labeled � Somewhat sensitive to rotations (supposedly not big deal < 22 degrees) � Illumination changes cause problems
Active Appearance Models Cootes, Edwards, Taylor, "Active Appearance Models", 2001
Active Appearance Models Shape Texture Mean Face specific parameters Modes of Variation � Manually select points defining main features � Statistical shape model built � Texture model then built – By Eigen-analysis Cootes, Edwards, Taylor, "Active Appearance Models", 2001
Active Appearance Models - Hmm � Gradient based search � Other detectors (Viola-Jones) seem to work better for just detection � Then the active appearance model can be applied to get identifying parameters Cootes, Edwards, Taylor, "Active Appearance Models", 2001
Active Appearance Models � Pros � Again encoding domain knowledge � Mesh model more accurately captures shape than elastic graph � Shape model somewhat allows applying scaling, rotation, and translation � Cons � Detection is sensitive to local minima � Illumination still causes problems (although they try to normalize intensity)
Video � Quality usually lower than still images � Faces are typically small � Occlusion common � But many different poses connected by minor motion shift � And many context clues exist: clothing, etc
Video Cues 1. Viola-Jones Frontal Face Detection 2. Representation of face: simple eigenfaces 3. Part based color tracking 4. Using strict head torso models now we can detect and recognize non frontal faces Ramanan, Baker, Kakade, "Leveraging archival video for building face datasets", 2007
Ramanan, Baker, Kakade, "Leveraging archival video for building face datasets", 2007
Significantly better with torso Does it work? Precision – Of images labeled ‘Joey’ what percentage are really ‘Joey’ � Recall – Given query for ‘Joey’ what percentage of all ‘Joey’ shots are returned � AP – Average Precision � Ramanan, Baker, Kakade, "Leveraging archival video for building face datasets", 2007
Discussion Points � What other cues could be used besides clothing and hair to link different poses of same character? � Could low resolution you tube style videos be turned into higher resolution by using information/models gathered from different frames?
Check Point � Detection � Viola-Jones: cascade of rectangle features � Identification � EigenFaces: Auto determined face space � Elastic Graph � Active Appearance Models: Manual starting point for determining vector describing shape and texture � Video/Multi-view: a lot more raw information exists � Now we’ll look at evaluation methods and results � And what’s bubbling up as new/improved approaches
Means of Evaluation � Face Recognition Vendor Test 2006 � Government effort to evaluate face recognition technology � 2006 first time to examine 3D recognition � 2006 first time performance compared to human performance Phillips, Scruggs, et al., "FRVT 2006 and ICE 2006 Large-Scale Results", 2007
Recommend
More recommend