% Face recognition system based on EigenFaces Method.
% The system functions by projecting face images onto a feature space % that spans the significant variations among known face images. The % significant features are known as "eigenfaces" because they are the % eigenvectors (principal components) of the set of faces.
% Face images must be collected into sets: every set (called "class") should % include a number of images for each person, with some variations in % expression and in the lighting. When a new input image is read and added % to the training database, the number of class is required. Otherwise, a new % input image can be processed and confronted with all classes present in database. % We choose a number of eigenvectors M' equal to the number of classes (see % algorithmic details in the cited references). Before starting image % processing first select input image. This image can be successively added to % database (training) or, if a database is already present, matched with % known faces.
% The images included are taken from AT&T Laboratories Cambridge's % Face DataBase. See the cited references for more informations. %
% Select image: read the input image %
% Add selected image to database: the input image is added to database and will be used for training %
% Database Info: show informations about the images present in database. Images must % have the same size. If this is not true you have to resize them. %
% Face Recognition: face matching. The selected input image is processed %
% Delete Database: remove database from the current directory %
% Info: show informations about this software %
% Visualization tool: visualization utility %
% Source code for Face Recognition System: how to obtain the complete source code %
% Exit: quit program %
% "Eigenfaces for Recognition", Matthew Turk and Alex Pentlad % Journal of Cognitive Neuroscience pp.71-86, March 1991
% Vision and Modeling Group, The Media Laboratory
% Massachusetts Institute of Technology.
% This paper is available at http://www.cs.ucsb.edu/~mturk/Papers/jcn.pdf % See also Matthew Turk's homepage http://www.cs.ucsb.edu/~mturk/research.htm %
% AT&T Laboratories Cambridge. The ORL face database, Olivetti Research Laboratory available at % http://www.uk.research.att.com/pub/data/att_faces.zip
% or http://www.uk.research.att.com/pub/data/att_faces.tar.Z %
messaggio='Insert the number of set: each set determins a class. This set should include a number of images for each person, with some variations in expression and in the lighting.';
chos=menu('Face Recognition System','Select image','Add selected image to database','Database Info','Face Recognition','Delete Database','Info',... 'Visualization tool','Source code for Face Recognition System','Exit'); %----------------
[namefile,pathname]=uigetfile('*.*','Select image'); if namefile~=0
dimensioni = size(img);
disp('Input image has been selected.'); disp('Now press on "Add selected image to database" button to add this image to database or,'); disp('press on "Face Recognition" button to start face matching.'); else
warndlg('Input image must be selected.',' Warning ') end