The reliable recognition of faces and facial expressions is a challenging task for artificial intelligence (AI), yet humans are able to perform these kinds of tasks with ease. To make our task feasible, we will limit ourselves to the following limited emotional expressions:
- Neutral
- Happy
- Sad
- Surprised
- Angry
- Disgusted
Today's state-of-the-art models range all the way from 3D deformable face models fitting over convolutional neural networks (CNNs), to deep learning algorithms. Granted, these approaches are significantly more sophisticated than our approach.
Yet, an MLP is a classic algorithm that has helped transform the field of machine learning, so for educational purposes, we will stick to a set of algorithms that come bundled with OpenCV.
To arrive at such an app, we need to solve the following two challenges:
- Face detection: We will use the popular...