Age Prediction using Image Processing

Published on . Written by

Age Prediction using Image Processing

In the film industry due to the usage of many cosmetics and modern beauty products, an older person seems like a young one. By looking at their faces we cannot easily predict their original age. But don’t worry, Python has a solution for it.


Skyfi Labs Projects
In this project, we are going to develop a system that can detect the face of an actor and predict the age. 

Read more..

SLNOTE
Project Description

To predict the age, we are going to use a convolutional neural network (CNN) architecture. This CNN uses 3 convolutional layers and 2 fully connected layers with one final output layer.

This problem can be considered as a classification problem instead of regression. The reason being estimating the exact age using regression is a challenging task. Even human beings cannot predict age just by looking at the face. So, we will try to predict the age in an age group like in 20 – 30 or 30-40 and so on.  It is tough to predict the age of a person from a single image as perceived age depends upon many factors.

Modules used in this project

OpenCV: As the name suggests, OpenCV is an open-source Computer Vision library. OpenCV is capable of processing real-time images and videos with analytical capabilities. It supports deep learning frameworks like TensorFlow, Pytorch, and Caffe.

Project Implementation

To complete the project, just follow the below steps,

  • Detect the faces
  • Estimate the age into 8 age groups
  • Display the output with an image showing the age group.

SLLATEST
Dataset for age prediction: For this project, we are going to use Adience dataset. It is an open-source dataset made available for the public. This dataset has 26,580 photos and 2,284 numbers of subjects. It already has classified the age groups into 8 ( 0-2, 4-6, 8-13, 15-20, 25-32, 38-43, 48-53, 60-) with gender labels.

  • Detect the face: We will detect the face using DNN. We will specifically use the function getFaceBox() to detect the face.
  • Now we will load the ageing network and using forward pass to get the age group.
  • Show the output of the neural network on the input image and display the image using imshow function.
Observations

It is observed that age groups 0-2, 4-6, 8-13 and 25-32 are predicted with very high accuracy, but the output is heavily biased for age-group 25-32.

The accuracy can be further increased if we use the regression model instead of the classification model, data argumentation and better network architectures. 

Software requirements: Text editor and Python3, Adience dataset.

Programming Languages: Python or C++


SLDYK
Kit required to develop Age Prediction using Image Processing:
Technologies you will learn by working on Age Prediction using Image Processing:


Any Questions?


Subscribe for more project ideas