top of page

Categorize Each Face Based On The Emotion | Practice Set



Problem Statement

The Faces have been automatically registered so that the face is more or less centred and occupies about the same amount of space in each image. The task is to categorize each face based on the emotion shown in the facial expression into one of seven categories (0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral)


Dataset Description

Dataset: Fer.csv

Total Images: The Dataset consists of 28,709 examples


Fer.csv contains two columns, emotion, and pixels. The emotion column contains a numeric code ranging from 0 to 6, inclusive, for the emotion that is present in the image. The pixels column contains a string surrounded in quotes for each image Classes: 0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral


Tasks to be performed

.ipynb file 1

Marks: 10

  • Do you get the same results if you run the Notebook multiple times without changing any parameters?

  • What is the effect of adding more neurons to each Conv2D layer?

  • What happens if we manipulate the value of dropout?

  • What is the effect of adding more activation layers to the network?

  • What is the accuracy score if we use more dense layers in the model?

  • Does manipulating the learning rate affect the model? Justify your answer.


ipynb file 2

Marks: 15

  • Try improving the model and re-code the program from scratch without looking too much at this source code

  • Add more Dense and Conv2D layers in the network

  • Try to use Different activation function • Increase the number of epochs to achieve high accuracy

  • Try to play with the learning rate to understand the concept

  • Write up a summary explaining how your program works

.ipynb file 3

Marks: 25

As a part of this assignment, you will be performing the following tasks:

  • Prepare a detailed python notebook (similar to this one) using convolutional neural network for classifying the images from Fer.csv with the best accuracy

  • Prepare the dataset for the model

  • Reshape and Normalize the data:

Hint: Split pixels by space to get columns

Reshape the Input Image (48, 48, 1)

Change the type of data to float32


  • Normalize and Train_Test Split

Hint: Normalize the data by dividing with 255

Split data into train and test (90, 10)



Define CNN Model

Layer 1

  • 2 Conv2d with 64 filters of 5,5 filter

  • BatchNormalization layer

  • Max Pooling layer with 2,2

  • Activation Relu


Layer 2

  • 2 Conv2d with 128 filters of 5,5 filter

  • BatchNormalization layer

  • Max Pooling layer with 2,2

  • Activation Relu


Layer 3

  • 2 Conv2d with 256 liters of 3,3 filter

  • BatchNormalization layer

  • Max Pooling layer with 2,2

  • Activation Relu


Layer 4

  • Flatten Layer

  • Dense Layer with 128 Neuron

  • BatchNormalization

  • Activation Relu

  • Dropout 0.25

  • Dense seven neurons with Softmax

  • Loss: Categorical cross-entropy

  • Optimizer: Adam


If you need solution of the above problem or need any other help related to machine learning then contact us and get instant help with an affordable price.


Contact us or send your requirement details at:


realcode4you@gmail.com
3 views0 comments
bottom of page