Facial expressions convey non-verbal cues, which play an important role in interpersonal relations. Automatic
recognition of facial expressions can be an important component of natural human-machine interfaces; it may also
be used in behavioural science and in clinical practice. Although humans recognise facial expressions virtually
without effort or delay, reliable expression recognition by machine is still a challenge. The project provides a
thorough comparison of various methods, like Neural Network, Lasso, Group Lasso and Fused Lasso, to solve this
problem. It also identifies the strengths and weakness of each of these techniques. As part of the project, we gave a
real-time prediction on facial images captured from a webcam. The data consists of 48x48 pixel grayscale images
of faces. The faces have been automatically registered so that the face is more or less centered and occupies about
the same amount of space in each image. The task is to categorize each face based on the emotion shown in the
facial expression into one of seven categories (Anger, Disgust, Fear, Happiness, Sadness, Surprise, Neutral).
Of all the techniques applied, convolutional neural network achieved the maximum accuracy (~60 %).
Link to code.