# Real-Time Facial Expression Recognition using Facial Landmarks and Neural Networks

arXiv: https://arxiv.org/abs/2202.00102 · HTML: https://mlsanity.com/paper/2202.00102/

## Key facts

- Cited by 2 papers in the map (data through 14 Oct 2026).
- Builds on 3 of its 23 references that are in the map.
- First posted on arXiv 31 Jan 2022.

## Builds on (most cited first, 3 of 3)

- [Geometric Feature-Based Facial Expression Recognition in Image Sequences Using Multi-Class AdaBoost and Support Vector Machines](https://mlsanity.com/paper/1604.03225/) (2016)
- [Facial expression recognition based on local region specific features and support vector machines](https://mlsanity.com/paper/1604.04337/) (2016)
- [Facial Expression Recognition using Facial Landmark Detection and Feature Extraction via Neural Networks](https://mlsanity.com/paper/1812.04510/) (2018)

## Built on by (most cited first, 2 of 2)

- [LipFormer: Learning to Lipread Unseen Speakers based on Visual-Landmark Transformers](https://mlsanity.com/paper/2302.02141/) (2023)
- [Facial Landmark Visualization and Emotion Recognition Through Neural Networks](https://mlsanity.com/paper/2506.17191/) (2025)

## Abstract (arXiv)

This paper presents a lightweight algorithm for feature extraction, classification of seven different emotions, and facial expression recognition in a real-time manner based on static images of the human face. In this regard, a Multi-Layer Perceptron (MLP) neural network is trained based on the foregoing algorithm. In order to classify human faces, first, some pre-processing is applied to the input image, which can localize and cut out faces from it. In the next step, a facial landmark detection library is used, which can detect the landmarks of each face. Then, the human face is split into upper and lower faces, which enables the extraction of the desired features from each part. In the proposed model, both geometric and texture-based feature types are taken into account. After the feature extraction phase, a normalized vector of features is created. A 3-layer MLP is trained using these feature vectors, leading to 96% accuracy on the test set.
