Question

In: Computer Science

HUMAN COMPUTER INTERACTION QUESTION: FIVE REAL TIME APPLICATIONS OF CURSOR CONTROL USING FACIAL EXPRESSIONS. ELABORATE IN...

HUMAN COMPUTER INTERACTION QUESTION:
FIVE REAL TIME APPLICATIONS OF CURSOR CONTROL USING FACIAL EXPRESSIONS. ELABORATE IN 5 PAGES. (INCLUDE ADABOOST AND HAAR CASCADE CLASSIFIERS) AND OTHER FACIAL RECOGNITION TECHNIQUES.

Solutions

Expert Solution

ADABOOST

AdaBoost is an ensemble learning method (also known as “meta-learning”) which was initially created to increase the efficiency of binary classifiers. AdaBoost uses an iterative approach to learn from the mistakes of weak classifiers, and turn them into strong ones.

AdaBoost (Adaptive Boosting) is a very popular boosting technique that aims at combining multiple weak classifiers to build one strong classifier.

A single classifier may not be able to accurately predict the class of an object, but when we group multiple weak classifiers with each one progressively learning from the others' wrongly classified objects, we can build one such strong model. The classifier mentioned here could be any of your basic classifiers, from Decision Trees (often the default) to Logistic Regression, etc.

Now we may ask, what is a "weak" classifier? A weak classifier is one that performs better than random guessing, but still performs poorly at designating classes to objects. For example, a weak classifier may predict that everyone above the age of 40 could not run a marathon but people falling below that age could. Now, you might get above 60% accuracy, but you would still be misclassifying a lot of data points!

Rather than being a model in itself, AdaBoost can be applied on top of any classifier to learn from its shortcomings and propose a more accurate model. It is usually called the “best out-of-the-box classifier” for this reason.

Let's try to understand how AdaBoost works with Decision Stumps. Decision Stumps are like trees in a Random Forest, but not "fully grown." They have one node and two leaves. AdaBoost uses a forest of such stumps rather than trees.

Stumps alone are not a good way to make decisions. A full-grown tree combines the decisions from all variables to predict the target value. A stump, on the other hand, can only use one variable to make a decision. Let's try and understand the behind-the-scenes of the AdaBoost algorithm step-by-step by looking at several variables to determine whether a person is "fit" (in good health) or not.

An Example of How AdaBoost Works

Step 1: A weak classifier (e.g. a decision stump) is made on top of the training data based on the weighted samples. Here, the weights of each sample indicate how important it is to be correctly classified. Initially, for the first stump, we give all the samples equal weights.

Step 2: We create a decision stump for each variable and see how well each stump classifies samples to their target classes. For example, in the diagram below we check for Age, Eating Junk Food, and Exercise. We'd look at how many samples are correctly or incorrectly classified as Fit or Unfit for each individual stump.

Step 3: More weight is assigned to the incorrectly classified samples so that they're classified correctly in the next decision stump. Weight is also assigned to each classifier based on the accuracy of the classifier, which means high accuracy = high weight!

Step 4: Reiterate from Step 2 until all the data points have been correctly classified, or the maximum iteration level has been reached.

Advantages and disadvantages of adaboost

AdaBoost has a lot of advantages, mainly it is easier to use with less need for tweaking parameters unlike algorithms like SVM. As a bonus, you can also use AdaBoost with SVM. Theoretically, AdaBoost is not prone to overfitting though there is no concrete proof for this. It could be because of the reason that parameters are not jointly optimized — stage-wise estimation slows down the learning process. To understand the math behind it in depth, you can follow this link.

AdaBoost can be used to improve the accuracy of your weak classifiers hence making it flexible. It has now being extended beyond binary classification and has found use cases in text and image classification as well.

A few Disadvantages of AdaBoost are :

Boosting technique learns progressively, it is important to ensure that you have quality data. AdaBoost is also extremely sensitive to Noisy data and outliers so if you do plan to use AdaBoost then it is highly recommended to eliminate them.

AdaBoost has also been proven to be slower than XGBoost.

HAAR CASCADE

Object Detection using Haar feature-based cascade classifiers is an effective object detection method proposed by Paul Viola and Michael Jones in their paper, “Rapid Object Detection using a Boosted Cascade of Simple Features” in 2001. It is a machine learning based approach where a cascade function is trained from a lot of positive and negative images. It is then used to detect objects in other images.

Here we will work with face detection. 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.

Now all possible sizes and locations of each kernel is used to calculate plenty of features. (Just imagine how much computation it needs? Even a 24x24 window results over 160000 features). For each feature calculation, we need to find sum of pixels under white and black rectangles. To solve this, they introduced the integral images. It simplifies calculation of sum of pixels, how large may be the number of pixels, to an operation involving just four pixels. Nice, isn’t it? It makes things super-fast.

But among all these features we calculated, most of them are irrelevant. For example, consider the image below. Top row shows two good features. The first feature selected seems to focus on the property that the region of the eyes is often darker than the region of the nose and cheeks. The second feature selected relies on the property that the eyes are darker than the bridge of the nose. But the same windows applying on cheeks or any other place is irrelevant. So how do we select the best features out of 160000+ features? It is achieved by Adaboost.

For this, we apply each and every feature on all the training images. For each feature, it finds the best threshold which will classify the faces to positive and negative. But obviously, there will be errors or misclassifications. We select the features with minimum error rate, which means they are the features that best classifies the face and non-face images. (The process is not as simple as this. Each image is given an equal weight in the beginning. After each classification, weights of misclassified images are increased. Then again same process is done. New error rates are calculated. Also new weights. The process is continued until required accuracy or error rate is achieved or required number of features are found).

Final classifier is a weighted sum of these weak classifiers. It is called weak because it alone can’t classify the image, but together with others forms a strong classifier. The paper says even 200 features provide detection with 95% accuracy. Their final setup had around 6000 features. (Imagine a reduction from 160000+ features to 6000 features. That is a big gain).

So now you take an image. Take each 24x24 window. Apply 6000 features to it. Check if it is face or not. Wow.. Wow.. Isn’t it a little inefficient and time consuming? Yes, it is. Authors have a good solution for that.

Face recognition techniques

Face recognition is a challenging yet interesting problem that it has attracted researchers who have different backgrounds like psychology, pattern recognition, neural networks, computer vision, and computer graphics.

The following methods are used to face recognition :

·Holistic Matching

·Feature Based (structural)

·Model Based

·Hybrid Methods

Holistic Matching

In this approach, complete face region is taken into account as input data into face catching system. One of the best example of holistic methods are Eigenfaces, PCA, Linear Discriminant Analysis and independent component analysis etc.

Let's see the steps of Eigenfaces Method :
This approach covers face recognition as a two-dimensional recognition problem.

1.       Insert a set of images into a database, these images are named as the training set because they will be used when we compare images and create the eigenfaces.

2.       Eigenfaces are made by extracting characteristic features from the faces. The input images are normalized to line up the eyes and mouths. Then they are resized so that they have the same size. Eigenfaces can now be extracted from the image data by using a mathematical tool called PCA.

3.       Now each image will be represented as a vector of weights. System is now ready to accept queries. The weight of the incoming unknown image is found and then compared to the weights of already present images in the system.

4.       If the input image's weight is over a given threshold it is considered to be unidentified. The identification of the input image is done by finding the image in the database whose weights are the closest to the weights of the input image.

5.       The image in the database with the closest weight will be returned as a hit to the user.

Feature-based

Here local features such as eyes, nose, mouth are first of all extracted and their locations , geomety and appearance are fed into a structural classifier. A challenge for feature extraction methods is feature "restoration", this is when the system tries to retrieve features that are invisible due to large variations, e.g. head Pose while matching a frontal image with a profile image.

Different extraction methods:

·Generic methods based on edges, lines, and curves

·Feature-template-based methods

·Structural matching method

Model Based

The model-based approach tries to model a face. The new sample is introduced to the model and the parameters of the model are used to recognise the image.Model-based method can be classified as 2D or 3D .

Hybrid Methods

This uses a combination of both holistic and feature extraction methods. Generally 3D Images are used in these methods. The image of a face is caught in 3D, to note the curves of the eye sockets, or the shapes of the chin or forehead. Even a face in profile would serve because the system uses depth, and an axis of measurement, which gives it enough information to construct a full face. The 3D system includes Detection, Position, Measurement, Representation and Matching.

1.       Detection - Capturing a face by scanning a photograph or photographing a person's face in real time.

2.       Position - Determining the location, size and angle of the head. Measurement - Assigning measurements to each curve of the face to make a template .

3.       Representation - Converting the template into a numerical representation of the face .

4.       Matching - Comparing the received data with faces in the database. The 3D image which is to be compared with an existing 3D image, needs to have no alterations.


Related Solutions

Question 3: Business Applications Case; Performing ratio analysis using real-world data Companies in the gas and...
Question 3: Business Applications Case; Performing ratio analysis using real-world data Companies in the gas and oil business use a lot of property, plant, and equipment. Not only is there the significant investment they must make in equipment used to find, extract, and process the oil and natural gas, but they must also purchase the rights to the energy reserves themselves. Chesapeake Energy Corporation “We own interests in approximately 22,700 oil and natural gas wells. ... Our daily production for...
Which is least appropriate type of transaction for a real-time system. a. airline reservations. b. payroll. c. point-of-sale transactions. d. air traffic control systems. e. all of these applications typically utilize real time processing.
Which is least appropriate type of transaction for a real-time system. a. airline reservations.b. payroll.c. point-of-sale transactions.d. air traffic control systems.e. all of these applications typically utilize real time processing.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT