1 / 21

Face Recognition

Face Recognition. Sumitha Balasuriya. Computer Vision. Image processing is a precursor to Computer Vision – making a computer understand and interpret what’s in an image or video. . 3D shape. Robotics. Recognition . Tracking. Categorisation / Retrieval. Segmentation.

swann
Download Presentation

Face Recognition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Face Recognition Sumitha Balasuriya

  2. Computer Vision • Image processing is a precursor to Computer Vision – making a computer understand and interpret what’s in an image or video. 3D shape Robotics Recognition Tracking Categorisation / Retrieval Segmentation

  3. Innate Face Recognition Ability • Face recognition almost instantaneous • Highly invariant to pose, scale, rotation, lighting changes • Can handle partial occasions and changes in age • And we can do all this for faces of several thousand individuals Who is this?

  4. Face Detection Image/ Video Recognition Identity Fully Automated Face Recognition Face Detection Colour Motion Template Fiduciary points

  5. Face Detection Australian National University Detect face and facial landmarks Register (align) face using an image transform

  6. Face Recognition approaches Geometric features • Recognition possible at low resolution and at high noise levels because geometrical features such as nose width and eye separation are used  Automated extraction of facial geometric features is very hard Template matching • Extract facial regions (matrix of pixels) and compare with that of known individuals  Need templates for different face poses/views  Very high dimensional data

  7. High Dimensional Correlated Data • Images as a high dimensional vector • A typical image used for image processing will be 512x512= 262144 dimension vector! • (Registered) face images are highly correlated I1,2 I… . Face images I1,1 Image space (high dimensional space of all possible images)

  8. U2 U3 U1 Transform Face images to a ‘Face Space’ Face space (low dimensional space of face images) Face images • The basis vectors (Ui) of facespace are the Principal Components of face images. • These Principal Components (PCs) correspond to the directions of greatest variation of the face dataset. • The first PC corresponds to the direction (and scale) of greatest variation, the 2nd PC corresponds to the orthogonal direction with the second greatest variation and so on … • Embedding a face image vector into face space is done by calculating the vector’s projection onto the Principal Components. Mean face image f = U * (I - A) Change dimensionality of f by changing that of U Face image Embedded face Eigenfaces

  9. Principal Component Analysis (Karhunen-Loeve transform) PCA – find the Principal Components of a dataset Finding the Eigenvectors and eigenvalues of the covariance matrix (Eigen decomposition) The covariance matrix contains the relationships (correlations) between the variables of the vectors. Variances along the diagonals and covariance between each pair of variables in other positions

  10. PCA (continued) Covariance matrix for images For images will run out of memory because for a dataset of say 512x512 images X*XT will be a 262144x262144 matrix. If it has double precision (64bit) values C will be 512GB!!! Therefore for image we instead compute the reduced covariance matrix If we have n datapoints c will be nxn. As n is normally much smaller than the dimensionality of the images the matrix c is computable Find the Eigenvectors and eigenvalues of c, solve the following linear equations You can get Matlab to solve equations to give the eigenvectors and eigenvalues Eigenvalues (degree of variation) Reducedcovariancematrix Eigenvectors (Principal Compoments!!) >> [V,lamda]=eig(c);

  11. PCA (continued) Eigenvectors (Eigenfaces) of covariance matirx Another way to compute PCA – Singular Value Decomposition method SVD decomposes an mxn matrix X to a product X = U * S * VT  Don’t need to compute covariance matrix You can get Matlab to solve these equations as well to get U, S and V Diagonal matrix with eigenvalues along diagonal Left singular vectors (eigenvectors of X*XT) Right singular vectors (eigenvectors of XT*X) >> [U,S,V]=svd(X); Use eigen decomposition with the reduced covariance matrix if you run out of memory with svd(seems to work upto 100x100 images)

  12. Average face (data not mean subtracted!) Eigenfaces 1 to 9 High eigenvalue eigenfaces seem to capture lighting and other global intensity changes

  13. Lower eigenvalue eigenfaces are better for recognition Eigenfaces 10 to 18

  14. U2 U3 U1 Transform into ‘Face Space’ • Projection f = U * (I - A) Transform known faces to face space Face space

  15. Reconstruction F = UT *U * (I - A) Transform back to image space Mean subtracted image Transform to face space • Very high compression! • Face space with 28 eigenvectors • 100x100x8bits = 10000 bytes compress to 28*32 bits=112 bytes • Only compress faces Can know whether image contains a face by calculating reconstruction error Face detection method!

  16. Classifiers Classify an unknown face into one of the known face classes Important concepts • Inter-class (between-class) variance   • Intra-class (within-class) variance   Need a metric to measure distance for class membership ?

  17. Metric A non-negative function g(x,y) describing the "distance" between neighbouring points for a given set and satisfies (1) g(x,y)+g(y,z)≥g(x,z) (triangle inequality) (2) g(x,y)=g(y,x) (symmetry) (3) g(x,x)=0, as well as g(x,y)=0 x=y

  18. Decision surface Euclidean distance (~300BC) Mahalanobis distance (1936) Superior to Euclidean distance because it takes distribution of the points (correlations) into account The distance between two N dimensional points scaled by the statistical variation in each component of the point.

  19. Mahalanobis classifier Need many representative examples from each class to compute covariance matrix

  20. Recap • Image processing precursor to Computer Vision • Face Detection • Images are high dimensional correlated data • Principal Component Analysis • Eigen decomposition • Singular Value Decomposition • Eigenfaces for recognition, compression, face detection • Classifiers and Metrics

  21. Questions • Will performance improve if we used orientated edge responses of the face image for recognition? Why? • A popular approach uses orientated responses only from certain specific points on the face image (say edge of nose, sides of eyes). What are the advantages/disadvantages of this approach? • PCA maximises the variance between vectors embedded in the eigenspace. What does LDA (Linear Discriminant Analysis) do?

More Related