Face recognition and deep learning โดย ดร. สรรพฤทธิ์ มฤคทัต NECTEC
คณะสถิติประยุกต์ สถาบันบัณฑิตพัฒนบริหารศาสตร์ ร่วมกับ Data Science Thailand ร่วมกันจัดงาน The First NIDA Business Analytics and Data Sciences Contest/Conference
2. Standard procedure
• Image capturing: camera, webcam, surveillance
• Face detection: locate faces in the image
• Face alignment: normalize size, rectify rotation
• Face matching
• 1:1 Face verification
• 1:N Face recognition
3. Viola-Jones Haar-like detector
(OpenCV haarcascade_frontalface_alt2.xml)
face size~35x35 to 80x80 pixels
too small
occlusion
rotation
Recognition = compare these
faces to known faces
8. Pixels importance and projection
• Not all pixels have the same importance
• Pixel with low variation -> not important
• Pixel with large variation -> could be important
Projection
When ||w||=1, wTx is the
projection of x on axis w
w
10. Principal Component Analysis
PCA (1)
• Basic idea
• Measure of information = variance
• Variance of z1,…,zN for real numbers zt
• Given a set of face vectors x1,…,xN and axis w
Variance of w
T
x1,…,w
T
xN is
Covariance matrix
11. Principal Component Analysis
PCA (2)
• Best axis w is obtained by maximizing w
T
Cw
with constraint ||w||=1
• w is an eigenvector of C : Cw = a w
• Variance w
T
Cw=a is the corresponding eigenvalue of w
• PCA
• Construct Covariance matrix C
• Eigen-decompose C
• Select m largest eigenvectors
12. Eigenface (1)
• What is the problem with face data?
• Solution
Dot matrix
dxd matrix
NxN matrix
13. Eigenface (2)
• We work with vectors of projected values
x1 x2 …
x40
x Enrollment
Template
14. Eigenface (3)
• Vector of raw intensity: 36,000 dimensions
• Vector of Eigenface coefficients: 10 dimensions
• Large Eigenface = large variation
• Small Eigenface = noise
18. Evaluation
• Accuracy: find closest template and check the ID
• Verification (access control)
• Live captured image VS. stored image
• We have distance -> Should we accept or not?
• False Accept (FA) VS. False Reject (FR)
• From a set of face images
• Compute distances between all pair
• Select threshold T that gives 0 FA and X FR
• Number of tries
distance
T
19. Labeled Faces in the Wild
• Large number of subjects (>5,000)
• Unconstrained conditions
• Human performance 97-99%
• Traditional methods fail
• New alignment technique: funneling
23. • Return of Neural Network
• Focus on Deep Structure
• Take advantage of today computing power
24. Neural Networks (1)
• Neurons are connected via synapse
• A neuron receives signals from other neurons
• When the activation reaches a threshold, it
fires a signal to other neurons
http://en.wikipedia.org/wiki/Neuron
25. Neural Networks (2)
• Universal Approximator
• Classical structure: MLP
• #hidden nodes, learning rate
• Backprop algorithm
• Gradient
• Direction of change that increases value of objective function
• Vector of partial derivatives wrt. each parameters
• Work on all structures, all objective functions
• Stoping criteria, local optima, gradient vanishing/exploding
26. Deep Learning
• 2006 Hinton et al.: layer by layer construction -> pre-training
• Stack of RBMs, Stack of Autoencoders
• Convolutional NN (CNN)
• Shared weights
• Take advantage of GPU