Abstract
Even though there is endless research to detect emotions, it is difficult to detect emotions in real-life scenarios. Emotion detection is widely used for analyzing security threats, recording suspicious behavior from surveillance, understanding the human behavior patterns to improve the feasibility of applications, patient check-in process in the health care industry, and so on. Hence, evaluating emotions with the help of machine learning has been an important research area. Deep Learning is a technique that allows automatic learning using inputs like images, videos, or text. Deep Learning has achieved great success regarding the emotion detection problem such as image classification. Moreover, Convolutional Neural Networks (CNNs) have proved to be the best in feature extraction from the image data. The goal of this project is to classify one of the five emotions used in this paper. This is achieved by building a powerful Convolutional Neural Network (CNN). CNN uses edge detection technique to improve the accuracy of predicting human emotion when compared to the existing models. The training data is passed through a stack of layers to different convolutional neural networks like VGG19 and ResNet-50, and in the end classified by XGBoost and custom defined CNN. The testing data is used for validating the data and provides a classification report with the labels defined in the project accurately.In this project, different deep learning models based on a custom Convolutional Neural Network (CNN) architecture, and pre-trained CNN models such as VGG19 and ResNet50 were used as feature extractors. The extracted features were then used for emotion detection by using XGBoost as the classifier. The proposed model outperforms some of the state-of-the-art base results.