Steven’s Status Report for February 02, 2025

For this week, I focused on researching the relevant CV libraries and frameworks that we can used to build our model. I explored multiple libraries(OpenCV, PyTorch) for handling image preprocessing and deep learning, and compared various object detection frameworks to determine which one best fits our requirements.

We decided to employ OpenCV in our computer vision pipeline, due to it being the industry-standard library with a large active user community and extensive documentation. OpenCV offers a wide variety of image transformations and integrates extremely well with deep learning frameworks such as PyTorch, allowing it to be easily implemented within our pipeline. The use of OpenCV for data processing will be essential in integrating our CV model with our overall system. We have also decided to use a YOLOv5 model for object detection, due to its extensive documentation and active community, and its suitability for real-time applications such as ours. Based on proven real-world performance, we are confident that the YOLOv5 model can achieve our accuracy goal of 90%.

The following is an initial outline of how the CV pipeline will operate:

  1. Image Capture and Basic Preprocessing (resizing, normalization with OpenCV)
  2. Inference using a YOLOv5 model
  3. Post-Processing to handle classifications/ quantity counts

In terms of my next steps, I will gather datasets of representative fridge ingredients, including variety in lighting, item arrangement and packaging. A diverse dataset of relevant images is necessary in order to achieve our accuracy goals. I will also set up a basic prototype using YOLOv5 on a small subset of test images, to evaluate initial detection accuracy, speed and resource usage. I aim to run initial benchmarks on local vs cloud inference, in order to confirm latency and throughput, as well as identify optimization techniques if needed to meet time constraints.

Overall, I am on track with researching the relevant CV libraries, laying out model architecture, and investigating how to integrate the detection pipeline within our system. For the next week, I will focus on data gathering and prototyping of the CV model.

Jun Wei’s Status Report for Feb 02 2025

1. Personal accomplishments for the week

1.1 Identification of equipment for procurement

Quantities of items below include spares

  • IMX219-160 (FOV 160°) camera
    Cost: $20 per unit
    Quantity: 3I did some research on cameras that would be suitable for our envisioned use case. Our use case imposes the following requirements for the camera system:

    • High color accuracy and dynamic range
    • High resolution — at least 5MP
    • High field of view (FOV)  — at least 120°
    • Small form factor — less than 2 inches in each dimension
    • Low power
    • Low noise
    • Low cost — less than $30 per camera

I decided that the IMX219-160 (FOV 160°) was a suitable choice of camera. In addition to exceeding cost saving expectations, it provides the added benefit of easy Raspberry Pi (RPi) integration. The possibility of adding flat ribbon connector extensions minimizes the profile of wires that are routed to the fridge exterior.

1.2 Camera Slider Design
I believed that a commercially built motorized slider might present integration issues with our RPi. This led to the decision to build the slider ourselves. I am referencing this DIY tutorial, we will only deviate from by using an RPi instead of an Arduino.

2. Progress status

I am currently on schedule and have completed the tasks set out for the week.

3. Goals for upcoming week

For the upcoming week, I would like to

  • Acquire the equipment outlined above
  • Test the camera within the confines of the fridge
  • Develop data transmission pipeline from the camera to the RPi
  • Develop transmission pipeline from RPi to cloud server (ownCloud), if time permits