This project uses the UTKFace dataset to build a machine learning pipeline that estimates a person’s age based on facial images. The dataset contains over 20,000 facial images with labels for age, gender, and ethnicity.
- Build a robust image processing pipeline.
- Train and evaluate an age prediction model using deep learning (e.g., CNN).
- Explore and visualize the dataset.
- Provide reusable and scalable code for facial age estimation tasks.
UTKFace-AgeEstimation/
├── 📁 Data
│ ├── UTKFace/ # Raw image dataset
│ ├── valid_set.csv # Validation image labels
│ └── ...
├── 📓 AgeEstimation.ipynb # Main Jupyter notebook for training and evaluation
├── 📜 README.md # Project documentation (you're here)
├── 📊 Outputs/ # Plots and results
└── 📁 Models/ # Saved trained models (if any)
- Data preprocessing including resizing and normalizing images.
- Custom PyTorch Dataset class for handling UTKFace images and CSV labels.
- CNN-based model for age regression.
- GPU support for accelerated training.
- Clear metrics and loss tracking.
Include plots like training loss curves, sample predictions, or model architecture here.
pip install -r requirements.txtOr manually install the major packages:
pip install torch torchvision pandas numpy matplotlib scikit-learn-
Clone the repository:
git clone https://github.com/yourusername/UTKFace-AgeEstimation.git cd UTKFace-AgeEstimation -
Download the UTKFace dataset and place it inside the
Data/UTKFace/directory. -
Run the notebook:
jupyter notebook AgeEstimation.ipynb
- Improve model accuracy with data augmentation.
- Implement cross-validation.
- Deploy with Gradio or Streamlit.
- Add gender and ethnicity classification.
This project is licensed under the MIT License - see the LICENSE file for details.
Developed with ❤️ by Saharnaz Yaghoobpour