/IdentiFace

A Multimodal Facial Biometric System for Recognition, Gender Classification, Emotion Recognition and Face-Shape Prediciton

Primary LanguageJupyter Notebook

This repository contains the implementation of our research paper, check the paper on Arxiv

IdentiFace

A Multimodal Facial Biometric System for Recognition, Gender Classification, Emotion Recognition and Face-Shape Prediciton

Alt Text


Contents:


Project structure

├── main.py [Main file: Contains the welcome window]
├── Backend
|    ├── functions.py [contains all the used functions]
|    ├── model_manager.py [manages the models across windows]
|    ├── offline.py [offline window layout]
|    ├── online.py [online window layout]
├── utilities [Face-Detection: the used Dlib files for facial detection]
├── assets [Directory for project assets]
├── Models [a drive link for all the used models]
├── snapshots [contains all the notebooks and the codes for the different modalities]
├── test_examples [Test images]
├── snapshots [Snaps taken from the app]
└── requirements.txt [List of all required Python modules]

Getting started :

  1. Clone the repository
  2. Install the required dependencies by running pip install -r requirements.txt
dlib==19.24.2
keras==3.0.2
matplotlib==3.8.2
numpy==1.26.2
PySide6==6.6.1
tensorflow==2.15.0.post1


  1. run main.py to start the application

Models

check the Paper for more detailed information about the data used / preprocessing / methodology or any other aspect of the project

The final used models in the GUI were as follows:

I. Face Recogniton Model trained on a subset of the color FERET database

II. Gender Classification Model trained on a Public Gender dataset

III. Face-Shape Prediciton Model trained on the Celebrity face-shape dataset

IV. Emotion Recognition Model trained on the FER2013 dataset

Model Train Accuracy Test Accuracy Confusion Matrix
Face Recognition 99.7% 99.2% recognizer
Gender Classification 96.48% 95.15% gender
Face-Shape Prediction 99.79% 88.03% shape
Emotion Recognition 81.26% 66.13% emotion

GUI

We developed a Pyside desktop application called IdentiFace

The app mainly consists of:

I. A welcome window

II. An offline window

III. An online window

Note that because of the recognizer require high quality images , it was added only to the offline mode.

window screenshot
welcome window welcome
offline window welcome
offline window welcome
online window welcome

Team Members

Note that this project was part of the Biometrics in the Senior SBME year at Cairo University under the supervision of DR. Ahmed.M.Badawi and the guidance of TA Laila Abbas

Back to top