Skip to content

Age Estimation by Using a CNN (Convolutional Neural Network) Based Regression Model

Notifications You must be signed in to change notification settings

emredogan7/age-estimation-by-CNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Age Estimation by CNN Based Regression Model

  • Completed by: Hamdi Alperen Çetin & Emre Doğan

  • We propose a Convolutional Neural Network Model to succesfully estimate the age of a person given her/his cropped face image. Different from the classical CNN models, our model ends up with a regression layer, not a classifier one. So, backpropagation process is done based on the regression output.

  • For a more detailed technical report, check here.

Dataset:

  • We trained our model with a downsampled version of UTKFace Dataset.
  • Due to its large size, we cannot share original dataset(all training + validation + test data). But you can find some samples of our dataset from here. Notice that the first 3 letters of any image corresponds to its output layer (age of the person in the image).
  • Not to spend time on reading data on each execution, we converted our training, validation and test data into .npy format by read_data.py.

Model:

alt text

  • Our architecture can be seen in the figure above. It consists of several consecutive convolution layers. Another important point regarding the model is that instead of a classifier approach, we used a regression based model so that backpropagation flow starts from some continuous age value.

To see a more detailed tensorboard graph regarding our model, click here.

Results

  • To decide on hyperparameters, we tried many different scenarios. Training and validation losses (Mean Average Error) for each scenario can be found here.

  • The best results are taken when the hyperparameters are,

Hyperparameter Choosen Value
Loss Function Mean Sqaure Error
Learning Rate 0.0001
Dropout Keep Probability 0.6
L2 Reg. Constant 0.0001
Batch Size 200
  • The corresponding results in our best model is given below,
Loss Type Mean Average Error
Validation Loss 6.486
Test Loss 6.419

About

Age Estimation by Using a CNN (Convolutional Neural Network) Based Regression Model

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published