Age detection using neural networks and machine learning

Personal Introduction

Hello! I’m Darab Qasimi, a senior double majoring in Computer Science and Data Science. I see computer skills such as programming as a way to unleash creativity and discover things that can’t be told unless. The following contents explain my project to predict age from a photo. The special motivation behind the project is people who don’t know their age, and using this program, they’ll be able to know their age or at least a close estimate of their age.


The project implements systems that allow us to detect the age of human subjects using neural networks. Neural networks are computing systems where machines learn from data and derive conclusions based on found patterns. Neural networks use interconnected nodes in a layered structure inspired by how human neurons work. Age detection can be important for authentication, behavior analysis, and other purposes in industries and organizations. Age detection is important in smart human-machine interfaces, e-commerce, etc. Especially e-commerce industry may use age detection programs to identify the age of users and, based on the age section, show the appropriate products on the dashboard. In the same way that Facebook shows user posts that most likely align with the user’s interest, the e-commerce industry may use age detection the same way to offer the right products to the right customers.

This project aims to process photos more accurately by analyzing a dataset and continuously training as people test the program with their photos. Using machine learning, the program is trained using a dataset that contains photos of people from different age groups. After the model is trained, it is tested with 30 percent of photos from the dataset not used for training. Then, in the future, when someone gives their photo to the program for age prediction, the trained machine learning model will be used to predict a person’s age from their provided photo. Some programs I’ve seen on the internet predict a person’s age by giving a range where the person’s age falls, e.g., the age prediction for a 24-year-old might be 22 to 28 years old. The range that some programs provide may be too large that it takes away the purpose of using age prediction programs because a big range is no better than guessing how old a person may be. This project is unique because the program is programmed to predict age with a small range closer to the actual age. Though, there might be other projects in the world that might produce the same result as this project.

Project Implementation on GitHub:

Project Analysis:

Data Architecture

The figure on the right demonstrates the Data Architecture for the age detection project. The training dataset contains 20,000 photos of people of different ages and ethnicities. From 20,000 photos, 70% of the dataset is used to train the CNN model, and the rest of the 30% is used to check the model’s accuracy.

Demonstration Video

Project Poster

The following poster is a demonstration of the age detection project. The CNN Architecture section contains information about how this age detection project uses Convolution Neural Networks to conclude a result. Training with the current dataset, the program has over 90% accuracy in predicting a person’s age from a photo.