https://github.com/ritu-thombre99/emotion_recognition
Multilayer-Perceptron and CNN for emotion recognition through facial expression along with fuzzy logic.
https://github.com/ritu-thombre99/emotion_recognition
cnn fuzzy-logic mlp mlp-classifier mlp-networks nft
Last synced: 6 days ago
JSON representation
Multilayer-Perceptron and CNN for emotion recognition through facial expression along with fuzzy logic.
- Host: GitHub
- URL: https://github.com/ritu-thombre99/emotion_recognition
- Owner: ritu-thombre99
- Created: 2020-01-07T11:19:49.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-07T11:24:50.000Z (almost 6 years ago)
- Last Synced: 2025-10-09T01:09:39.577Z (6 days ago)
- Topics: cnn, fuzzy-logic, mlp, mlp-classifier, mlp-networks, nft
- Language: Jupyter Notebook
- Homepage:
- Size: 140 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.txt
Awesome Lists containing this project
README
Topic: Emotion recognition through facial expressions
Architecture: Convolutional Neural Network was used
Input layer with 2304 neurons
8 hidden layers:
1) CNN layer with 64 neurons and filter size of 3*3
2) CNN layer with 64 neurons
3) CNN layer with 64 neurons
/* Maxpooling after this to reduce 48*48 image to 24*24 */
4) CNN layer with 32 neurons and filter size of 3*3
5) CNN layer with 32 neurons
6) CNN layer with 32 neurons
/* Maxpooling after this to reduce 24*24 image to 12*12 */
/* model.flatten() used to flatten and connect CNN layer to Dense layer
7) Dense layer with 128 neurons
8) Dense layer with 64 neurons
Output layer with 7 neurons
Activation function : Relu
Activation function for Output layer : Softmax
Preprocessing:Input was taken from a .csv file and converted to a dataframe with Pandas.
Pixels were in the form of a string, which were then converted to 2-D INT array of 48*48 using numpy
Database:Database was a .csv file with : 1) Labels(0-6 representing 7 emotions)
2) 48*48 pixels in the form of string
3) Whether data is used for training or testing
Experimental analysis:
a.Number of classes and samples:
Total number of data : 35,887
/* Training-testing split of 80-20 */
Number of training inputs : 28709
Number of testing inputs : 7178
Samples : 1) Training
2) Testing
3) Validation
b.Accuracy : Accuracy obtained was between 50-60%
c.Number of iterations : 30 epochs
d.Improvements: 1) Increasing the number of epochs
Furthur notes : Output of CNN was fuzzified i.e POST PROCESING FUZZIFICATION.
Based on our observations, we defined some FUZZY RULES to furthur improve the accuracy.