-
-
Sample output of Smile? Gift Selector (Part 1 of the project)
-
Part 2 of our program determining the emotion of the gift recipient (Thinking face).
-
Our gift recipient is UNIMPRESSED (Sad face).
-
Our gift recipient is SECRETLY HAPPY (hiding face).
-
Our gift recipient is POLITE HAPPY (Smile animation appears and disappears).
-
Our gift recipient is GENUINELY HAPPY (Smile with hearts).
Inspiration
As a group, we often struggled with finding the right gift for that special someone. As a result, we created Smile? to help us perfect the skill of gift giving.
What it does
Smile? uses a model trained with a Valentine's gift gratification dataset and Random Forest to help users select the most probable gift for the highest recipient satisfaction. Smile? also evaluates the recipient's satisfaction after receiving a gift. To do this, we used a laptop camera that used OpenCV's DeepFace module to assess whether the recipient is smiling or not. We also utilized the electrical impulses of the gift receiver's skin to help us accurately determine the recipient's satisfaction.
How we built it
We utilized OpenCV's DeepFace module to evaluate the recipient's happiness through a laptop camera, and we used a Grover GSR sensor module to detect electrical impulses in the skin of the gift receiver. We then used an Arduino Uno, an ESP8266, and an LCD display to process the data from our sensors and display the emotions of the recipient. We also trained a model with a Valentine's gift gratification dataset and Random Forest, correlating user inputs with the highest performing gift categories.
Challenges we ran into
We tried narrowing down the gift suggestion to a specific idea instead of categories, but that doesn't work well due to the limited data existing inside the dataset. Additionally, we originally tried to implement Presage to extract heart rate data from our laptop camera. However, through rigorous debugging, we found out the Presage wasn't supported on Windows, and we pivoted to using OpenCV's DeepFace module.
Accomplishments that we're proud of
We are proud that we were able to train a model to correlate user inputs with the most optimal gift. We are also proud that we were able to complete this project in its entirety!
What we learned
We learned how to tune a machine learning model and implement it on a user interface using Gradio. We also learned how to implement OpenCV's DeepFace module to detect user happiness.
What's next for Smile? - The perfect gift giving application
Next up, we hope to connect our application to a smaller camera. This will make our design more portable, as a laptop camera is inefficient to carry around.

Log in or sign up for Devpost to join the conversation.