Face detection using haar cascade classifier carried out on standard database using OpenCV. Achieved 100% face detection rate on simple background and 93.24% detection rate on complex background. Haar cascade classifier provides high accuracy even the images are highly affected by the illumination. The haar cascade classifier has shown superior performance with simple background images.
Gender detection is a part of face identification. When we see at the person’s face, can get the information such as the expression, gender, age and ethnicity. Face detection is useful in many applications such as surveillance system, human machine interaction, biometrics, gender classification etc.
A digital image is made up of finite number of elements each of which has a particular location and value. These elements are known as pixel and picture element. These elements take participation to find out the face. Face detection method can be broadly classified into two categories: Appearance based approach and Feature based approach. In the Appearance-based approach, the whole image is used as a input to the face detector. In Feature-based approach face detection is based on the features extracted from an image. Features can be skin color or edges and sometimes they have a knowledge of the face geometry. The appearance-based approach which I used in this project to identify the face from an image using haar cascade classifier.
Initially, the algorithm needs a lot of positive images (images of faces) and negative images (images without faces) to train the classifier. Then we need to extract features from it. For this, haar features shown in below image are used. They are just like our convolutional kernel. Each feature is a single value obtained by subtracting sum of pixels under white rectangle from sum of pixels under black rectangle
Each feature result in a single value which is calculated by subtracting the sum of pixels under white rectangle from the sum of pixels under black rectangle as shown in Haar like features are the rectangle features for rapid face detection.
The Haar feature starts scanning the image for the detection of the face from the top left corner and ends the face
detection process bottom right corner of the image as shown in fig 2. The image is scanned from top left corner to the bottom right corner several times through the haar like features in order to detect the face.
OpenCV is used to implement the haar cascade classifier and Raw pixel data is fed to the Neural Network to train classifier using Template Matching feature extraction.
It’s basically a machine learning algorithm that uses a bunch of images of faces and non-faces to train a classifier that can later be used to detect faces in realtime.
The algorithm implemented in OpenCV can also be used to detect other things, as long as you have the right classifiers like classifiers for eyes, upper body, hands, frontal face and profile face.
This is a simple machine learning implementation for image region segmentation. Only by altering training data it can detect any type of region based on pixel value.
Used Naive Bayes here for classification (skin or non-skin pixel). As it is a colour image there are 256x256x256 types of pixels.
In the training phase, pixel frequencies of being skin or non-skin is calculated. We take every pixel of the image and see if it is a pixel of skin by using the mask. If the pixel is on skin, we increase its skin-frequency. Else we increase the non-skin-frequency. After processing all images, probability of a skin-pixels is calculated from the frequency using Bayes Theorem. We store this data in a file.
During testing, we simply map each pixel with the probability we calculated in training phase. If the probability is greater than a certain threshold, we mark that pixel as skin.