Certificate of Approval
It is certified that the work contained in this document entitled as Project Progress Report (mid 8th Semester) for facial expressions recognition using ensemble classifier approaches was carried out by Adnan Asif under my supervision and in my opinion it is fully adequate for the submission to project panel.
Approved by: Signature: ______________ Supervisor Name: Dr. Abdul Majid Dated: March 22, 2012
Preface
The purpose of this document is to let the project supervisor and panel know about progress of the project. The document contains work carried out during the first half of 8th semester. A brief theory on Curvelet Transform was presented alongside with its application to Facial expressions recognition in the previous report. Different machine learning techniques are also applied to curvelet transform. The further study of BPNN application to facial expressions recognition was carried out. A combination of curvelet transform with SVM, KNN and BPNN is studied and their subjective and objective performance analysis was carried out.
Table of Contents
Contents
1 Project Plan ............................................................................................................................. 7 1.1 Semester 6 Activities ........................................................................................................ 7 Literature Survey on expressions recognition........................................................... 7 Literature Survey on facial expressions databases .................................................... 7 Literature Survey on feature extraction techniques .................................................. 7 Literature Survey on Classification techniques ........................................................ 7 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.3 1.4 2 3 4
Project Overview .................................................................................................................... 9 Databases .............................................................................................................................. 10 3.1 4.1 4.2 JAFEE ............................................................................................................................ 10 Normalization ................................................................................................................. 10 Histogram Equalization .................................................................................................. 10 Curvelet Transform ........................................................................................................ 10 Principal Components Analysis ..................................................................................... 10 K-fold Jack knife ............................................................................................................ 11 Techniques used until now ............................................................................................. 11 Artificial Neural Network .............................................................................................. 11 Theory ..................................................................................................................... 11 Theory ..................................................................................................................... 13 Implementation ....................................................................................................... 13 Backpropagation Neural Network .................................................................................. 13 Image preprocessing techniques ........................................................................................... 10
5 6
Feature Extraction techniques ............................................................................................... 10 5.1 6.1 6.2 Dimension Reduction techniques ......................................................................................... 10
List of Figures
Figure 1 Some expressions from database .................................................................................... 10 Figure 2 Natural neuron ................................................................................................................ 11 Figure 3 Artificial Neuron ............................................................................................................ 12 Figure 4 A simple BPNN .............................................................................................................. 15
List of Tables
Table 1 Results from SVM ........................................................................................................... 15 Table 2 Results from KNN ........................................................................................................... 15 Table 3 Results from BPNN ......................................................................................................... 16
1 Project Plan
1.1 Semester 6 Activities
1.1.1 Literature Survey on expressions recognition o Introduction o Application o Finding Research groups o Studying Review/Survey Papers o Study & Implementing Basic/Well known techniques 1.1.2 Literature Survey on facial expressions databases o JAFEE database o AR database
2 Project Overview
Image Database Read
Ensemble classifiers
Final decision
3 Databases
3.1 JAFEE
The database contains 213 images of 7 facial expressions (6 basic facial expressions + 1 neutral) posed by 10 Japanese female models. Each image has been rated on 6 emotion adjectives by 60 Japanese subjects
7 Classification Techniques
7.1 Techniques used until now
1. Support Vector machine (SVM) 2. K-Nearest Neighbor (KNN)
The details of the above techniques and their implementation as well as results have been discussed in previous reports
The complexity of real neurons is highly abstracted when modeling artificial neurons. These basically consist of inputs (like synapses), which are multiplied by weights (strength of the respective signals), and then computed by a mathematical function which determines the activation of the neuron. Another function (which may be the identity) computes the output of the artificial neuron (sometimes in dependence of a certain threshold). ANNs combine artificial neurons in order to process information.
The higher a weight of an artificial neuron is, the stronger the input which is multiplied by it will be. Weights can also be negative, so we can say that the signal is inhibited by the negative weight. Depending on the weights, the computation of the neuron will be different. By adjusting the weights of an artificial neuron we can obtain the output we want for specific inputs. But when we have an ANN of hundreds or thousands of neurons, it would be quite complicated to find by hand all the necessary weights. But we can find algorithms which can adjust the weights of the ANN in order to obtain the desired output from the network. This process of adjusting the weights is called learning or training. The number of types of ANNs and their uses is very high. Since the first neural model by McCulloch and Pitts (1943) there have been developed hundreds of different models considered as ANNs. The differences in them might be the functions, the accepted values, the topology, the learning algorithms, etc. I will discuss only an ANN which learns using the backpropagation algorithm (Rumelhart and McClelland, 1986) for learning the appropriate weights, since it is one of the most common models used in ANNs, and many others are based on it. Since the function of ANNs is to process information, they are used mainly in fields related with it. There are a wide variety of ANNs that are used to model real neural networks, and study behavior and control in animals and machines, but also there are ANNs
which are used for engineering purposes, such as pattern recognition, forecasting, and data compression.
7.3.2 Implementation The backpropagation algorithm (Rumelhart and McClelland, 1986) is used in layered feedforward ANNs. This means that the artificial neurons are organized in layers, and send their signals forward, and then the errors are propagated backwards. The network receives inputs by neurons in the input layer, and the output of the network is given by the neurons on an output layer. There may be one or more intermediate hidden layers. The backpropagation algorithm uses supervised learning, which means that we provide the algorithm with examples of the inputs
and outputs we want the network to compute, and then the error (difference between actual and expected results) is calculated. The idea of the backpropagation algorithm is to reduce this error, until the ANN learns the training data. The training begins with random weights, and the goal is to adjust them so that the error will be minimal. The activation function of the artificial neurons in ANNs implementing the backpropagation algorithm is a weighted sum (the sum of the inputs xi multiplied by their respective weights wij )
(1) As the activation depends only on the inputs and the weights. If the output function would be the identity (output=activation), then the neuron would be called linear. But these have severe limitations. The most common output function is the sigmoidal function:
(2) As that the output depends only in the activation, which in turn depends on the values of the inputs and their respective weights. Now, the goal of the training process is to obtain a desired output when certain inputs are given. Since the error is the difference between the actual and the desired output, the error depends on the weights, and there is a need to adjust the weights in order to minimize the error. The error function can be written for the output of each neuron: (3) Square of the difference between the output and the desired target is taken because it will be always positive, and because it will be greater if the difference is big, and lesser if the difference is small. The error of the network will simply be the sum of the errors of all the neurons in the output layer:
(4) The backpropagation algorithm now calculates how the error depends on the output, inputs, and weights. After these steps, the weights can be adjusted using the method of gradient descendent:
(5)
Experiment
Number of classes
Number of Coefficients 38 38 38
Kernel used
Recognition rate
7 7 7
Experiment
Number of classes
Number of Coefficients
Recognition rate
7 7 7
70 70 70
1 3 5
Experiment
Number of classes
Number of Coefficients
Number of Neurons 40
Recognition rate
Curvelet+PCA+BPNN
70
82.63%
9 Future work
o PCA will be combined with LDA to increase performance (optional). o Sensitivity, ROC etc. will be analyzed. o In end, Ensemble will be taken of all the classifiers. o Accuracy comparison of each class (7 classes).
10 References
[1] Cands. Emmanuel, Demanet. Laurent and Donoho.David ,et.al , Fast Discrete Curvelet Transforms. Multiscale Modeling and Simulation, 5(3). pp. 861-899,2006 [2] Angshul Majumdar and Arusharka Bhattacharya , A Comparative Study in Wavelets, Curvelets and Contourlets as Feature Sets for Pattern Recognition, The International Arab Journal of Information Technology, 6(1), pp. 47-51, January 2009.