About

A neural network is a series of algorithms that endeavors to recognize underlying relationships in a set of data through a process that mimics the way the human brain operates. Basically, neural network algorithms help computers think and learn like humans.

The whole idea of artificial neural networks is based on the concept of the structure and functions of a human brain. A human brain consists of neurons that process and transmit information between themselves.

Our Baseline model (programmed with a k-nearest neighbors design)performed at ~50 %.Human accuracy is around 65 %, suggesting that we could do better. So we did. We used a vgg model, and first trained it

This project was done as a part of Inspirit AI, a 10-day intensive course in artificial intelligence. Within 48 hours we were able to create the site, import our model, and develop this website from scratch. Read on to see what we learned and built!

Neural Networks

During the first week, we learned about neural networks. A neural network is a series of algorithms that tries to recognize underlying relationships in a set of data through a process that mimics the way the human brain operates. Neural networks are based on the concept of the structure and functions of a human brain. A human brain consists of neurons that process and transmit information between themselves.

Building Our Model

Initial Models

First, we located the facial landmarks on each face (eyes, eyebrows, mouths), and used the distances between each pair of points as inputs into our models. The first models we tried included K-Nearest Neighbors, Logistic Regression, and later Decision Trees, which weren’t very effective (accuracies below). The first models we used were only made of simple layers that weren’t able to analyze the features of the images in detail. Accuracies: KNN: ~46% Log: ~56% Decision Tree:~44% By adding more layers and nodes for the data to cycle through, using trial and error we were able to come upon a set of hidden layers and nodes that effectively worked together.

Final Model

Our Baseline model (programmed with a k-nearest neighbors design)performed at ~50 %. Human accuracy is around 65%, suggesting that we could do better. We used a transfer learning model that took the weights from ImageNet, training on our data using a 90/10 split. The model uses several convolutional layers to filter information from the euclidean distances between facial nodes and pixel data into channels to decide which features indicate the emotion on the person’s face.

Thank you again to Inspirit AI, and for visiting our website!