Summary
The aim of this project is to make a research and find a solution for age classification based on face recognition. Based on face images collected from the camera, the ML model should classify faces into one of the specific age ranges.
Sources Review
The following articles were analysed:
Research Results
The result of facial age estimation can be either age range (classification problem) or exact age value (regression problem).
Main challenges in building efficient age prediction systems are:
- Real-life factors of face imaging such as resolution, sharpness, illumination, expression, occlusion, profile, frontal view, constraint environment, unconstraint environment, longitudinal, race, hair, scale, etc.
- Datasets creation
Existing datasets usually divided into the following types:
-
controlled (prepared in controlled environment with limited variability). Examples: FG-NET, MORPH, VADANA
-
uncontrolled (prepared in real-life with different variability). Examples: LFW, IMDB-WIKI, ChaLearn Looking at People (LAP), Specs on Face (SoF), MSU LFW+, YGA
Steps for dataset creation:
- Image of faces collection
- Pre-processing
- cropping
- rotating
- aligning
- augmenting
Evaluation metrics used:
-
accuracy: \((true positive + true negative)/(total test samples)\), and
-
Mean Absolute Error (MAE): mean value of the absolute differences between predicted age and real age (ground truth) of test samples
Steps of model building
1. Feature extraction Extract unique and distinguishable patterns related to particular age classes. That includes facial age features such as texture or edge relathioships of facial skin.
Global Features - apperance based feature extraction. The whole face is considered as feature space.
Local Features - geometry based feature extraction. Feature extraction from facial parts as eyebrow, nose, lips, etc.
2. Building classification or regression model
-
Handcrafted-based approach
based on combination of filters:
- Histogram of Oriented Gradients (HOG) or Local Binary Pattern (LBP) to extract edges and shapes from facial image
-
Deep learning approach
based on CNNs. Examples of pre-trained models used for age estimation:
- VGG-16, VGG-19, ResNet50, AlexNet, Xception, GoogleLeNet, MobileNetV2