Inspiration
We present to you Fruity, we were inspired by the everyday struggles people face in managing their eating habits. Many individuals find traditional food tracking methods, tedious, discouraging, and easy to abandon. This is particularly challenging for those dealing with food-related health issues, where accurate monitoring is crucial for improving well-being. We wanted to create a solution that transforms this process into something: Effortless, tracking food intake is as simple as snapping a photo. Interactive, the platform offers immediate, visually engaging feedback, motivating users to stay consistent. Our inspiration also came from the desire to support nutritionists and healthcare professionals, Fruity allows them to monitor patients remotely and effectively, replacing outdated food journals with a modern, data-driven approach that is easier and more enjoyable for patients to use. Fruity’s mission is to bridge the gap between health management and everyday convenience, encouraging healthier habits and making nutrition tracking a fun, interactive, and accessible experience for everyone.
What it does
Fruity's project is a web-based platform designed to transform the way people monitor their dietary habits. With Fruity, users can take a quick photo of their meal using their device’s camera. Instantly identify the food item with AI-powered recognition, calculate its calorie content, and categorize it according to the Canadian Food Guide. Access a real-time overview of their dietary intake through an interactive list and graphical plot that displays their food consumption trends. Fruity is designed to simplify food tracking, making it a fun and engaging experience for users. Beyond personal use, it also serves as a powerful tool for nutritionists, enabling them to support patients without requiring time-consuming, manual food journals.
How we built it
AI Model Development: We used the YOLOv8 model from Ultralytics for image-based food detection. To train the model, we curated a dataset of food images, each annotated with bounding boxes to identify specific items in the photos. The model was fine-tuned using this dataset to accurately recognize various types of food, along with their calorie content and dietary category based on the Canadian Food Guide.
Backend Integration: Once trained, the YOLOv8 model was deployed to process user-uploaded images. When a user snaps a photo, the model compares the image with its training data to identify food items in real time.
Frontend and Visualization: We built the user interface using Streamlit, allowing for seamless interaction and display of results. The platform provides users with a dynamically updated list of identified food items, alongside a graphical plot that visualizes the proportions of different food groups consumed throughout the day.
Challenges we ran into
Training the YOLOv8 Model: One of the biggest hurdles was training the YOLOv8 model to accurately recognize the chosen food items. Collecting and annotating a sufficient dataset was time-consuming, as we need to find each image precise bounding boxes to help the model learn effectively. Then the use of the model was fill with problem to recover the pertinent information when the image is analyzed.
Frontend Integration with Streamlit: Incorporating Streamlit for the frontend brought its own set of challenges. We encountered issues displaying the outputs from the AI model in a visually appealing and user-friendly format. Rendering dynamic plots and updating the list of identified food items in real-time required troubleshooting to align the backend and frontend workflows seamlessly.
Accomplishments that we're proud of
Successful Training of the YOLOv8 Model: Training an advanced model like YOLOv8 was a significant accomplishment. Despite challenges with data preparation and fine-tuning, we were able to create a highly functional AI system capable of accurately detecting and classifying food items. The model's ability to integrate real-world images and provide reliable results showcases the effort and innovation we poured into its development.
Seamless AI Integration into a User-Friendly Platform: We’re proud of how we bridged the gap between cutting-edge AI and an intuitive user experience. By combining the YOLOv8 model with Streamlit, we delivered a platform that’s both technically robust and easy to use. Team Collaboration and Problem-
Solving: Overcoming challenges as a team, whether in training the model or troubleshooting frontend issues, highlighted our ability to work together effectively under pressure. Each team member contributed their unique strengths, leading to a product we’re all proud to call our own.
What we learned
Deepening Our Understanding of AI and Model Training: Working with the YOLOv8 model taught us the intricacies of training object detection systems, including data collection, annotation, and fine-tuning. We gained insights into how to optimize model performance, balance accuracy and efficiency, and handle challenges like overfitting and dataset limitations.
Streamlit for Interactive Frontends: Building the frontend with Streamlit helped us understand how to create dynamic, user-friendly interfaces. We learned how to integrate real-time data processing with a clean and interactive display, making complex AI outputs accessible to users.
The Importance of Data Preparation: Preparing a high-quality dataset was a critical lesson. We realized that good data is the foundation of any AI project, and ensuring accurate annotations was key to achieving reliable results.
What's next for Food tracker
Expanding Food Recognition Capabilities: We plan to enhance the training of the YOLOv8 model by incorporating a larger and more diverse dataset. This will allow SnapBite to recognize a broader range of foods, including regional and cultural specialties, ensuring inclusivity for all users.
Adding Nutritional Insights: Beyond calorie tracking, we aim to provide users with more detailed nutritional breakdowns, such as macronutrient distribution (proteins, fats, carbohydrates) and micronutrient content (vitamins and minerals). These insights will empower users to make even more informed dietary decisions.
Personalized Recommendations: Using machine learning, Fruity could analyze a user’s eating habits over time and offer tailored suggestions for healthier choices, meal planning, or even recipes based on their preferences and goals.
Professional Tools for Nutritionists: We envision creating a dedicated dashboard for healthcare professionals, enabling them to track their patients’ progress, provide feedback, and design personalized dietary plans in real-time.
Built With
- python
- streamlit
- yolo
Log in or sign up for Devpost to join the conversation.