Here are the project presentation and the recognition performance in stream.
This project is dedicated to recognizing faces of five Avengers, either individually or in a group image. We have implemented four methods:
- VGG feature vector extractor coupled with a linear neural network classifier.
- A finely-tuned VGG16 model. (Transfer Learning)
- A finely-tuned ResNet model. (Transfer Learning)
- A finely-tuned Inception-ResNet-V1 model. (Transfer Learning)
The standout performer is our fourth method, achieving an impressive 99.7% accuracy for individual Avenger recognition and 90% in scenarios involving all five Avengers.
Package | Description |
---|---|
torch |
Deep learning library |
pickle |
Data serialization utility |
matplotlib |
Graphical plotting library |
numpy |
Foundation for numerical computing |
opencv-python |
Library for computer vision tasks |
pillow |
Image processing toolkit |
facenet_pytorch |
Face recognition library |
Ipython |
Enhanced interactive Python shell |
deepface |
Deep learning-based face analysis |
yoloface |
Advanced face detection model |
-
Prepare your image dataset and execute the shuffle_dataset_into_train_val_test.py script to randomly distribute them into training, validation, and test datasets, following an 80%:10%:10% ratio.
-
To train the VGG feature vector extractor and linear neural network classifier (main_v1), as described in the Description, execute train_model.py.
-
For training the Fine-tuned VGG16 model (main_v2), as outlined in the Description, run train_myVGG.py.
-
To train the Fine-tuned ResNet model (main_v3), refer to the Description, and execute
train_model.py
. -
For the Fine-tuned Inception-ResNet-V1 model (main_v4), as detailed in the Description, launch train_myIncepRes.py.
-
Execute
video_prediction
in each respective folder to perform video-based predictions. -
For the testset prediction, please run the code
testset_prediction.py
in each respective folder
This project is distributed under the MIT License.