Showing posts with label Face rec. Show all posts
Showing posts with label Face rec. Show all posts

Wednesday, April 2, 2014

Face Feature Exctraction

Eigenfaces - Eigenfaces or PCA approach is nothing more than the mathematical eigenvectors of the face, applied on the dataset images(training). Each eigenface is a point in high dimensional image space converted into point in eigen subspace. They are  mutually orthogonal vectors. A blog post dedicated to Eigenfaces can be found heresuffer from- luminance and pose variations.


Gabor Wavelets - They are a family of sinosudol waves which work very similar to how our visual cortex perceives images. It works on the principal of kernel convolution, where the kernels are the Gabor Filters[ differing in lambda,theta,phase,etc. ]
strength- They are tailor made to handle cases of partial occlusion and are also pose invariant.
However Gabor Wavelets have a better model, log-Gabor, which is quite the new thing in feature extraction methods available nowadays.


Local Binary Patterns - This technique involves playing with histograms. It is the next big thing after Gabor. They preserve spatial information and locality. Each pixel is threshold ed with its nearest pixels[no. depends on radius of neighbourhood considered]. A bit vector is obtained, which is labelled and stored in a histogram. All the histograms of windows are then concatened to form a feature vector.


Harr Classifiers - They are cascade classifier used for face detection. They are general purpose classifiers which can to trained to detect faces, or even eyes, ears and noses separately.


Wednesday, November 6, 2013

Face Recognition -post 1

Introduction

Face Recognition, or the ability to recognize faces, is an active field of research in computer vision.
Although 3D Face Recognition is the hot topic in this field, we will first illustrate 2D template matching based Face Recognition. Concurrently major research is going on in two aspects of 2D face recognition
1. The feature extraction method which extracts information from faces.
2. The machine learning mode which recognizes faces.

However, the problem is that to build any viable application, there are other aspects which must be dealt with. We will be addressing various challenges faced by application builders and provide feasible solutions for the same.

Firstly, Pre-processing forms the crux of any real -world face-Rec application. Input maybe taken from varying sources, the lighting may be inadequate,or the image may be too bright. Moreover, the face may be rotated. For a thorough overview as well as techniques of preprocessing, see here.

After preprocessing the face image, we need to extract features from it. Broadly, this done via Geomteric feature extraction algorithms and template matching algorithms. For a wider coverage on this topic, refer here.


These set of posts are aimed at building an amateur face recognition software. The implementation involves  taking the help of  Neural Networks and Gabor Wavelets. Gabor Wavelets are a means of extracting the features from the facial image.That is, from the input face photo it takes out the relevant featuers which we pass on to the neural networks .Neural Network is the classifier used, that is, the real brain of the software.

So the project can be divided into 2 sub parts. Firstly, fitting a mathematical model like Kernel Filter (where filter matrix is generated by Gabor wavelets) to the input image. Secondly, using a machine learning algorithm like neural networks to train the system and later use it for testing purposes.


Intelligence Achieved


Perception : The software processes an image containing a face, and recognizes it by matching it to an image in its database. It identifies faces in a closed universe,that is, it will always output a valid result (it will never display “match not found” ), the closest match it can find. It will be stable to partial occlusions due to shadows, hats, scarves, beards, etc. Our software is also robust against homogenous illumination.

Learning : The software will be trained using a existing data-set. It can at any time be configured to run in training mode where it further enhances its learning ability by improving its prediction parameters(weights of neural network). It will used this gained knowledge base to recognize a face.



Knowledge Representation


In the Neural Networks,  knowledge is represented through the weights at the junctions between neurons in the neural network. The weights are altered by training the network or adding knowledge to the knowledge-base using gradient descent and other advanced algorithms such as backpropagation of errors.