| # vit-Facial-Expression-Recognition | |
| This model is a fine-tuned version of [google/vit-base-patch16-224-in21k](https://huggingface.co/google/vit-base-patch16-224-in21k) on the [FER 2013](https://www.kaggle.com/datasets/msambare/fer2013),[MMI Facial Expression Database](https://mmifacedb.eu/), and [AffectNet dataset](https://www.kaggle.com/datasets/noamsegal/affectnet-training-data) datasets. | |
| It achieves the following results on the evaluation set: | |
| - Loss: 0.4503 | |
| - Accuracy: 0.8434 | |
| ## Model description | |
| The vit-face-expression model is a Vision Transformer fine-tuned for the task of facial emotion recognition. | |
| It is trained on the FER2013, MMI facial Expression, and AffectNet datasets, which consist of facial images categorized into seven different emotions: | |
| - Angry | |
| - Disgust | |
| - Fear | |
| - Happy | |
| - Sad | |
| - Surprise | |
| - Neutral | |
| ## Data Preprocessing | |
| The input images are preprocessed before being fed into the model. The preprocessing steps include: | |
| - **Resizing:** Images are resized to the specified input size. | |
| - **Normalization:** Pixel values are normalized to a specific range. | |
| - **Data Augmentation:** Random transformations such as rotations, flips, and zooms are applied to augment the training dataset. | |
| ### Training hyperparameters | |
| The following hyperparameters were used during training: | |
| - learning_rate: 3e-05 | |
| - train_batch_size: 32 | |
| - eval_batch_size: 32 | |
| - seed: 42 | |
| - gradient_accumulation_steps: 8 | |
| - total_train_batch_size: 256 | |
| - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 | |
| - lr_scheduler_type: cosine | |
| - lr_scheduler_warmup_steps: 1000 | |
| - num_epochs: 3 | |
| ### Training results | |
| | Training Loss | Epoch | Step | Validation Loss | Accuracy | | |
| |:-------------:|:-----:|:----:|:---------------:|:--------:| | |
| | 1.3548 | 0.17 | 100 | 0.8024 | 0.7418 | | |
| | 1.047 | 0.34 | 200 | 0.6823 | 0.7653 | | |
| | 0.9398 | 0.51 | 300 | 0.6264 | 0.7827 | | |
| | 0.8618 | 0.67 | 400 | 0.5857 | 0.7973 | | |
| | 0.8363 | 0.84 | 500 | 0.5532 | 0.8104 | | |
| | 0.8018 | 1.01 | 600 | 0.5279 | 0.8196 | | |
| | 0.7567 | 1.18 | 700 | 0.5110 | 0.8248 | | |
| | 0.7521 | 1.35 | 800 | 0.5080 | 0.8259 | | |
| | 0.741 | 1.52 | 900 | 0.5002 | 0.8271 | | |
| | 0.7229 | 1.69 | 1000 | 0.4967 | 0.8263 | | |
| | 0.7157 | 1.85 | 1100 | 0.4876 | 0.8326 | | |
| | 0.6868 | 2.02 | 1200 | 0.4836 | 0.8342 | | |
| | 0.6605 | 2.19 | 1300 | 0.4711 | 0.8384 | | |
| | 0.6449 | 2.36 | 1400 | 0.4608 | 0.8406 | | |
| | 0.6085 | 2.53 | 1500 | 0.4503 | 0.8434 | | |
| | 0.6178 | 2.7 | 1600 | 0.4434 | 0.8478 | | |
| | 0.6166 | 2.87 | 1700 | 0.4420 | 0.8486 | | |
| ### Framework versions | |
| - Transformers 4.36.0 | |
| - Pytorch 2.0.0 | |
| - Datasets 2.1.0 | |
| - Tokenizers 0.15.0 | |