Faces
Faces is project for multiple models detection from faces such as:
- Gender : Male, Female
- Expressions : Anger, Happiness, Sadness, Surprise, Fear, Disgust
- Illumination : Bad, Medium, High
- Pose : Frontal, Left, Right, Up, Down
- Occlusion : Glasses, Beard, Ornaments, Hair, Hand, None, Others
- Age : Child, Young, Middle and Old
- Makeup : Partial makeup, Over-makeup
this video test Faces project on part of video of End Game trailer, and here some examples of prediction on images
Requirements
Run
to use Faces execute run.py
file with various options
usage: run.py [-h] [--cuda CUDA] [--show SHOW] [--delay DELAY] [--inputs_path INPUTS_PATH] [--outputs_path OUTPUTS_PATH] [--models_path MODELS_PATH] [--models MODELS [MODELS ...]]
optional arguments:
* -h, --help show this help message and exit
* --cuda CUDA set this parameter to True value if you want to use cuda gpu, default is True
* --show SHOW set this parameter to True value if you want display images/videos while processing, default is True
* --delay DELAY amount of seconds to wait to switch between images while show the precess
* --inputs_path INPUTS_PATH path for directory contains images/videos to process, if you don't use it web-cam will open to start the record
* --outputs_path OUTPUTS_PATH path for directory to add the precesses images/videos on it, if you don't use it output directory will created and add the precesses images/videos on it
* --models_path MODELS_PATH path for directory contains pytorch model
* --models MODELS [MODELS ...] first index refers to gender model, second index refers to expression model, and third index refers to multiple models Ex: gender, multiple ->> 1,0,1 we set expression to 0 to not use it, default 1,1,1
`
Datasets
Models
models in this project are based on Real-time Convolutional Neural Networks for Emotion and Gender Classification paper model architecture:
project consist of 3 models:
- Gender
- Expression
- Multiple
Gender Model
trained done by using IMDB , WIKI, IMFDB datasets. consist of ~ 600 K image, and by using tencrop data augmentation dataset increased to be ~ 6 M image Accuracy ~ 78% using only 6 epochs and it will reach higher accuracy expected to be ~ 96 %
Expression Model
trained done by using FER , IMFDB, JAFFE image datasets. consist of ~ 40 K image, and by using tencrop data augmentation dataset increased to be ~ 400 K image Accuracy ~ 60% using 15 epochs and it will reach higher accuracy expected to be ~ 66 %
Multiple Models
this model is little bit different form Gender & Expression models in this model we use one feature extractor model and 5 different classifiers each classifier predict specific features form faces and they are:
- Illumination : Bad, Medium, High
- Pose : Frontal, Left, Right, Up, Down
- Occlusion : Glasses, Beard, Ornaments, Hair, Hand, None, Others
- Age : Child, Young, Middle and Old
- Makeup : Partial makeup, Over-makeup
trained done by using IMFDB image datasets consist of ~ 3 K image, and by using tencrop data augmentation dataset increased to be ~ 30 K image Accuracy ~ 77% using 15 epochs
Train
all training process done on Faces notebook using Google Colab cloud
Credits
Real-time Convolutional Neural Networks for Emotion and Gender Classification paper