Inspiration
Our inspiration for this project was the universal feeling of displeasure when you're just not able to create the right playlist. By utilizing our Machine Learning solution, you will be able to generate a playlist automatically that will fit your mood with just a glance at your phone.
What it does
The machine learning model has an accuracy rate of 48% for 7-fold categorical classification which is among the highest rates for face-based emotion classification. With just a selfie, we are able to provide the user's emotion as an output. The emotions the model is trained to recognize are happy, disgust, anger, sadness, neutral, fear, surprise.
How we built it
We built the machine learning model using Google Colab and Python. We used a prebuilt model from Keras that is created for face-based emotion classification. Then we trained and tested the model with 35,000 pictures with a 28000-7000 split between training and testing data.
We built the backend for the project using Flask and Python to connect the machine learning computation to the frontend when a user inputs an image of themself to run in the model.
We built the frontend for the project using React so the machine learning can be run through a web app where the user can input an image of themself.
Challenges we ran into
Although we made much progress with the Flask backend and React frontend, we were not able to finish these components to complete the project. However, the machine learning aspect of the project is fully functional and has delivered high accuracy rates relative to the industry standards for this classification task.
Accomplishments that we're proud of
We are proud of creating a working machine learning model that is more accurate than contemporary models due to the optimization techniques we utilized and the size of the dataset. We are also proud of getting to a nearly functional level with the backend and frontend to make this project complete.
What we learned
We have learned much about the usage of Flask and React as these are important components to make our web app accessible to people from the ease of a website link.
What's next for Groove
We plan to finish the front end and back end promptly. We will then expand the app by adding more features such as adding a user response feature to find whether the user likes the playlist that we output. Based on the user's response, machine learning will be used to optimize the output and make sure that the best possible playlist is being provided to the user.
Log in or sign up for Devpost to join the conversation.