facial Expression recognition

Facial expressions are one of the easiest and widely used methods of communication between human beings. Facial recognition has great applications in the field of human-computer interaction and other areas. We used CNN based on VGG16 to build the network and trained it on FER2013 Kaggle dataset. The network worked satisfactorily on the test set. The test accuracy of 67% achieved on FER2013 dataset.

SVM

Support Vector Machine, which is commonly known as SVM, is supervised learning algorithm used for classification, regression, and outlier detection. SVMs are based on the idea of finding a hyperplane that best separates two classes of data. The hyperplane is chosen in a way that maximizes the margin between the two classes, where the margin is defined as the distance between the hyperplane and the closest points from each class. I implemented SVM using scikit-learn and trained the model on custom dataset. Model is tested with different kernels (Linear, Polynomial and RBF) and respective performance is evaluated by visualizing the model on test data.

logistic regression

Logistic Regression is a statistical method used for binary classification problems. It is a type of generalized linear model that uses a logistic function to model the probability of a binary outcome. The logistic function, also called the sigmoid function, maps any real-valued number to a value between 0 and 1, which represents the probability of the positive class. I implemented Logistic Regression using scikit-learn and evaluated its performance by testing its accuracy on test dataset.