Team Status Report for Apr 12 2025

Team Status Report

Progress This Week

Our team made meaningful progress across hardware, cloud integration, and software components in preparation for the next stage of development.

  • Computer Vision & Cloud Integration: Steven worked on integrating the CV model and cloud components of the system. He successfully tested image upload and retrieval through the cloud pipeline and began preliminary integration of the YOLOv5 model for live inference. Training of the model is ongoing, and initial tests on the cloud system have been promising.

  • Hardware & Imaging: Jun Wei completed the construction and integration of the motorized camera slider with the updated camera hardware. The system has been mounted onto a smaller breadboard and tested within the mini fridge enclosure. He is now moving toward integrating the image stitching script with the Raspberry Pi system and preparing for cloud pipeline integration in collaboration with Steven.

  • Mobile Application & Recommendation System: Will implemented Google OAuth in the mobile app, enabling secure user sign-in and laying the groundwork for personalized features. He also started building the recipe recommendation system using LangChain, setting up the initial framework and exploring prompt designs to map fridge contents to relevant recipes.

Plans for Next Week

  • Finalize deployment of the YOLOv5 model for cloud inference and continue refining the cloud data pipeline (Steven).

  • Integrate image stitching into the Raspberry Pi workflow and begin transmission testing (Jun Wei).

  • Continue development of the recipe recommendation system and begin linking it with user preferences stored post-login (Will).

Overall, the team is on track with project milestones. Core components across hardware, CV, and app infrastructure are coming together, and collaboration between sub-teams is increasing as we begin cross-component integration.

Jun Wei’s Status Report for Apr 12 2025

1. Personal accomplishments for the week

1.1 Motorized camera system integration

This week, I completed construction of the motorized camera slider and integration with the new camera obtained. I found a way to tether the movement of the timing belt to the camera baseplate using zip ties. I have also managed to move the system to a smaller breadboard and have tried placing it within the mini fridge that we will be using.

2. Progress status

I am on schedule as the motorized camera slider has been integrated with the camera system. I am now working on integrating the stitching algorithm script with the overall Raspberry Pi script.

3. Goals for the upcoming week

  • Integrate stitching algorithm
  • Integrate with cloud transmission pipeline (to work with Steven on this)

William’s Status Report for Apr 12 2025

This week, I implemented Google OAuth integration into the mobile application, allowing users to sign in seamlessly and securely. This sets the foundation for saving personalized preferences tied to user accounts.

I also began working on the recipe recommendation system using LangChain. Initial efforts were focused on setting up the pipeline and experimenting with different prompt structures to connect user inputs with relevant recipe suggestions.

Plans for Next Week

  • Finish building out the recipe recommendation system and fine-tuning its performance.

  • Start linking user preferences to recipe suggestions post-login.

  • Explore potential improvements to the UI for the Preferences and Recipes tabs.

Progress this week has been steady, with key backend components starting to come together alongside the app frontend.

Steven’s Status Report for Apr 12 2025

For this week, I worked on integrating the CV and cloud components of our system. I tested image upload and retrieval through the cloud data pipeline, as well as preliminary integration of the YOLOv5 model onto the cloud system for live inference testing.  I’ve also continued further training of our YOLOv5 model.

I am currently on track with our milestones. I am working on integrating our model with our cloud pipeline which will also be integrated with the Raspberry Pi.

For next week, I plan to finalize the deployment of the YOLOv5 model onto the cloud and run cloud inference on fridge images. Furthermore, I plan to continue refining the data upload pipeline and explore backup storage solutions in the case of a cloud failure.

Steven’s Status Report for Mar 23 2025

For this week, I continued with refining the training pipeline for the object detection model, in order to maximize our performance for the demo . I expanded our dataset with the Open Images database, filtering out food-related classes to our use case, significantly increasing our existing data. Furthermore, I am looking to experiment with the YOLOv10 model in order to further increase accuracy.

I am currently on track with our milestones. Preliminary training have been completed, and we are working to maximize our accuracy and finalize our model. I am also working on deploying our model onto the Raspberry Pi.

For next week, we aim to proceed with our demo, during which I aim to show our model with the optimal accuracy. I will continue working on integrating our model with the tentative pipeline for fridge item detection, and continue expanding our training dataset and tuning our parameters to optimize accuracy.

Steven’s Status Report for Mar 16 2025

For this week, I continued with developing my core image processing pipeline. I conducted tests on object classification using the YOLOv5x model with some sample fridge images, and I collaborated with my team to finalize the list of our target food items for model training.  I always begun with integrating the CV pipeline with the Raspberry Pi to validate real-time image capture.

For my progress, I am currently on track with my project timeline. Preliminary object detection is functioning, and I continuing to work on improving the model frequency.  I am beginning on integrating my model with the edge processor.

For my goals for next week, I aim to continue improving the performance of my YOLOv5 model, as well as integrating the model with our Raspberry Pi.

Steven’s Status Report for Mar 9 2025

For this week, I continued with data collection, expanding our datasets by importing annotated images which I have found online. I have also performed further fine-tuning of our training hyperparameters, testing different augmentations and hyperparameter optimizations in order to improve our detection accuracy, incorporating the expanded dataset in order to improve the training process. I then ran a preliminary test for our YOLOv5x model to test its detection accuracy. As expected, the YOLOv5x model performs at a higher accuracy, though it results in a longer inference time when run locally.

In term of progress, I am on track by improving model accuracy while also maintaining real-time performance.  The next step in our progress chart is integration, and I will begin work with integrating our model with the Raspberry Pi and the model app.

For next week, I aim to run inference on cloud and measure inference timing in order to quantitatively assess the latency of our model. I will also continue to work on training and enhancing our YOLOv5x model, and conduct more real-world tests to measure the performance of our optimized model.

Steven’s Status Report for Feb 23 2025

For this week, I focused on expanding our existing dataset of annotated fridge images. I identified several datasets from online and made use of them to train and update our existing YOLOv5 model. Furthermore, I experimented with data augmentation techniques(i.e rotations/ occlusions) to improve the robustness of our model. Furthermore, I spent time conducting research on the different YOLOv5 models and their expected accuracy/latency for our design report, in order to determine which model will be optimized for our use.

In terms of progress, I am currently on schedule and have completed the development of the training pipeline in PyTorch, and am working on training the model with our datasets.

For next week, I will explore training with the YOLOv5x model with further hyperparameter tuning, with the aim of increasing our detection accuracy to beyond 90%.  I will also compare inference timings with and explore model quantization for Raspberry Pi optimizations, in order to identify the model which best meets our requirements.

Steven’s Status Report for February 16, 2025

For this week, I focused on creating a prototype of the model we will use for detection and classification of grocery items. To accomplish this, I trained an initial YOLOv5 model on a small preliminary dataset of grocery items. I made use of a diverse dataset, in order to ensure basic object detection and classification functionality.

After training, I did some initial tests, using an image of a cake within the fridge that we are using. I ran the model on the image to evaluate the performance of the prototype model, below are the results.

As can be seen, the preliminary model was already quite successful in identifying the bounding box of the item, though the classification was not completely accurate, it is understandable since it was a niche item(cake from Giant Eagle).

I am currently making good progress with respect to our Gantt chart, and have started training the model slightly ahead of schedule. For following weeks, I aim to continue data collection by finding more datasets of fridge images, as well as exploring training with annotated data of images of groceries taken within our fridge. I also aim to fine-tune the model through adjusting hyperparameters and increasing training size through data augmentation to increase accuracy. I will also experiment with different variations of YOLOv5 models to see if a larger model will yield better accuracy without major latency trade-offs. I will also measure latency in terms of local and cloud run inference, in order to see which one better suits our requirements for cost and latency.

 

Steven’s Status Report for February 9, 2025

For this week, I focused on data collection and annotations, as well as getting started on the prototype of our model.

I’ve set up our PyTorch environment and completed an initial YOLOv5 prototype. I’ve developed a basic pipeline, where images are pre-processed with OpenCV and then fed to the YOLOv5 model, and conducted some preliminary training and testing using small annotated datasets of grocery items. Furthermore, I have been sourcing and noting down relevant datasets on Kaggle/ Roboflow.

Currently, I am working on integrating the online datasets with the YOLOv5 model, and conducting some initial tests on accuracy as well as inference speed. I aim to test the inference speed locally on Raspberry Pi, as well as on cloud, to get a measure of latency of either set-up.   I will also experiment with image processing methods using images taken from our fridge, in order to try and improve detection accuracy.

Looking to the future, I will have to obtain the necessary hardware(Raspberry Pi) in order to test the effectiveness of our model when run locally. I will also have to work on integrating the model with our peripheral device as well as the mobile application.