0% found this document useful (0 votes)
8 views4 pages

Facial Emotion Detection with CNN

Uploaded by

abhaybabu161
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views4 pages

Facial Emotion Detection with CNN

Uploaded by

abhaybabu161
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

🎤 PRESENTATION SCRIPT

🔷 1. Project Title

Hello sir/madam, my project is titled:


"Facial Emotion Detection Using CNN (Convolutional Neural Network)"
The aim is to build a model that can predict emotions like Happy, Sad, Angry, etc., just by
looking at a face image.

🔷 2. Dataset Used

I used the FER-2013 dataset available on Kaggle.


It contains around 35,000 grayscale facial images, each of size 48x48 pixels, classified into
7 emotions:

 Angry, Disgust, Fear, Happy, Sad, Surprise, and Neutral.

I used the kagglehub library to download the dataset.

✅ If they ask:

 Why grayscale? → "Color isn’t needed to understand expressions; grayscale also


speeds up training."
 Why 48x48? → "It’s the original size from the dataset, and smaller images train
faster."

🔷 3. Preprocessing

I used ImageDataGenerator to load and prepare the dataset:

 Images were resized to 48x48


 Pixel values were scaled to a 0–1 range
 Training data was shuffled, test data was not (to maintain order)

✅ Keywords to mention if asked:

 Normalization helps training faster.


 One-hot encoding is used for multiple output classes.
🔷 4. CNN Model Architecture

I built a CNN model with 3 main blocks.

Each block contains:

 Convolution layer – extracts features like eyes, mouth, etc.


 Batch Normalization – stabilizes and speeds up training.
 MaxPooling – reduces the size of the image for easier processing.
 Dropout – prevents the model from overfitting.

After these blocks, I added:

 A Flatten layer to convert features into a list


 A Dense layer with 256 neurons
 A final output layer with 7 neurons and softmax activation to predict emotion

✅ If asked:

 What is CNN? → "CNN is a model that detects patterns in images — it's like the
brain for image data."
 Dropout? → "A method to turn off some neurons during training to avoid
memorization."
 Softmax? → "It converts the final output into probabilities — so it tells us which
emotion is most likely."

🔷 5. Model Compilation

I compiled the model using:

 Adam optimizer (used for fast and stable learning)


 Categorical Crossentropy (used when we have more than two classes)
 Accuracy as the metric

🔷 6. Model Training

I trained the model for 15 epochs, using both training and validation data.

✅ Epoch meaning?

One epoch means the model goes through the entire dataset once.

✅ How to improve?

Training for more epochs, using more layers, or bigger datasets can improve performance.
🔷 7. Model Accuracy

After training:

 Training Accuracy: ~60%


 Test Accuracy: ~53%

✅ Why test accuracy is low?

 Images are small and grayscale


 Some expressions like Fear and Sad look similar
 Data might be unbalanced

✅ How to improve?

 Use more training data


 Use pre-trained models like VGG, ResNet
 Apply image augmentation

🔷 8. Model Evaluation

I used .evaluate() function to test the model performance and print both training and test
accuracy.

🔷 9. Accuracy & Loss Graphs

I plotted graphs for:

 Training and Validation Accuracy


 Training and Validation Loss

These help understand if the model is learning properly or overfitting.

🔷 10. Prediction Function

I created a custom function predict_emotion() to test any face image.


This function:

 Loads the image


 Resizes and converts it to grayscale
 Passes it to the model
 Prints the predicted emotion label

✅ Why wrong prediction from internet image?

Internet images may be:

 Side faces, poor lighting, multiple faces, or with background

Our model was trained on clean, front-facing, cropped faces.

🔷 11. What I Learned

From this project, I learned:

 How to use a real image dataset


 How to build and train a CNN model
 How to evaluate performance
 How to test with external images

🔷 12. Conclusion

This project helped me apply deep learning concepts practically.


Even though the accuracy can be improved, it gave me a strong foundation in:

 CNNs
 Image preprocessing
 Real-world emotion recognition

🔷 13. Thank You

You might also like