Face Recognition Technology |
||||
HOME | SOURCE CODE | SOFTWARE INFO | SUPPORT | CONTACT US |
Fast and Accurate Face Identification Using Overlapping DCTDownload now Matlab source code Requirements: Matlab, Matlab Image Processing Toolbox, Matlab Neural Network Toolbox, Matlab Wavelet Toolbox. In the JPEG image compression algorithm, the input image is divided into 8-by-8 or 16-by-16 blocks, and the two-dimensional DCT is computed for each block. The DCT coefficients are then quantized, coded, and transmitted. The JPEG receiver (or JPEG file reader) decodes the quantized DCT coefficients, computes the inverse two-dimensional DCT of each block, and then puts the blocks back together into a single image. For typical images, many of the DCT coefficients have values close to zero; these coefficients can be discarded without seriously affecting the quality of the reconstructed image. Such algorithm results particularly robust also for face identification. Moreover the 2D DCT operator can be applied to overlapping data. The extracted feature vectors are used as input to a simple nearest neighbor algorithm. The k-nearest neighbor algorithm is amongst the simplest of all machine learning algorithms. An object is classified by a majority vote of its neighbors, with the object being assigned to the class most common amongst its k nearest neighbors. k is a positive integer, typically small. If k = 1, then the object is simply assigned to the class of its nearest neighbor. In binary (two class) classification problems, it is helpful to choose k to be an odd number as this avoids difficulties with tied votes. The same method can be used for regression, by simply assigning the property value for the object to be the average of the values of its k nearest neighbors. It can be useful to weight the contributions of the neighbors, so that the nearer neighbors contribute more to the average than the more distant ones. The neighbors are taken from a set of objects for which the correct classification (or, in the case of regression, the value of the property) is known. This can be thought of as the training set for the algorithm, though no explicit training step is required. In order to identify neighbors, the objects are represented by position vectors in a multidimensional feature space. It is usual to use the Euclidean distance, though other distance measures, such as the Manhattan distance could in principle be used instead. The k-nearest neighbor algorithm is sensitive to the local structure of the data. The code has been tested with AT&T database achieving an excellent recognition rate of 99.20% (40 classes, 5 training images and 5 test images for each class, hence there are 200 training images and 200 test images in total randomly selected and no overlap exists between the training and test images). Index Terms: Matlab, source, code, face recognition, face matching, face verification, dct, k-nearest neighbor algorithm, knn, discrete cosine transform. Release 1.0 Date 2007.10.20 Major features:
|
Face Recognition . It Luigi Rosa mobile +39 3207214179 luigi.rosa@tiscali.it http://www.advancedsourcecode.com |