Project:- Age Classification Using Convolutional Neural Networks
- Team Details
- High level description/presentation of the project
- Requirements
- Instruction on how to train/validate the model
- Instructions on how to run the pre-trained model on the provided sample test dataset
- Your source code package in PyTorch
- Description on how to obtain the Dataset from an available download link
- Nika Behjati (40154815)
- Anahita Jabbari (40204349)
- Supradeep Danturti (40226103)
-
Automated human age classification (HAC) models are an essential application of facial recognition technology in various sectors, including marketing and healthcare. However, accurately classifying an individual's age based on their facial features is a complex problem for AI systems due to the challenges of facial image interpretation. Existing literature has demonstrated that deep CNN architectures like VGG-16 and custom CNN models can classify age accurately, but these models are limited by high computational complexity and a need for significant training data.
-
Proposed a systematic approach using ResNet18, MobileNetV2, and ShuffleNetV2 models trained on APPA-REAL, UTKFace, and Adience datasets to address these challenges. Highly based on comparing different models and datasets while studying their performance and Computational complexity.
- PIL 9.2.0
- cv2 4.7.0
- matplotlib 3.5.2
- numpy 1.21.5
- sklearn 1.0.2
- torch 1.8.1+cu111
- torchvision 0.9.1+cu101
- cuda -> V11.1
- To train or validate the code use the 3 ipynb files mentioned in the first point of Source Code Package.
- Before running any of those 3 files please change the directory path in cell 4. Link to cell 4 of UTKFaceipynb file
- Random Test Sample of 100 images from each dataset
- Use the TestSampleOnPreTrainedModel file to run the pretrained models.
- There are 3 ipynb files of eaach dataset containing the initial 9 models which can be found here with their saved model files. Dataset-1 UTKFace | Dataset-2 Adience | Dataset-3 Appa-Real
- The 2 Transfer Learning models can be found here with their respective saved model files. Transfer Learning Files
- Preprocessing steps can be found here.
- Dataset Study can be found here.
- Note- Other ipynb files and Saved models which are available in the code are mentioned under the Ablative Study section in results.
-
Note - Used UTKFace BinarySplit for the final submission.