Author: mcrotty

Team Status Report for 4/20/24

Team Status Report for 4/20/24

Risks: Camera feed real time streaming directly on the Flutter app might not work. Possible options: Use a streaming platform that is made to display live videos on Flutter Get a raspberry pi video screen to display the video from the scanners and mount to 

Michael’s Status Report for 4/20/2024

Michael’s Status Report for 4/20/2024

Weekly Accomplishments Debugged issue where both the ribbon cable & raspberry pi CSI port were broken. Likely caused from transport (static electricity?) Completed scanner Assembled full scanner unit Printed case v2 (allows for cable to be inserted) Soldered I2C pins to control LCD Assembled everything 

Michael’s Status Report for 4/6/2024

Michael’s Status Report for 4/6/2024

Weekly Accomplishments

  • Prepared for Interm Demo
    • Spent another 4 hours trying to accelerate YOLO model on KV260 without success. YOLO demo was done on laptop.
    • Created dataset and trained new demo YOLOv8 model because the previous model had issues with actually classifying objects correctly.
    • Finally 3D printed the first case prototype for the Raspberry Pi. Some modifications are needed, but for the most part the case looks good.
    • Wrote code for LCD display. However, demo of LCD didn’t end up happening because we didn’t solder header pins to the Raspberry Pi for prototyping
  • Switched from Kria KV260 to Nvidia Jetson Nano because hardware acceleratation on the KV260 had issues being setup.
    • Spent multiple hours installing packages because Jetson Nano image is based on Ubuntu 18.04 (which is no longer supported), so time was spent updating packages and compiling a newer version of Python.
    • Set up Jetson Nano to the spot the KV260 was at.
  • Video of Demo:

Overall Progress

  • We think interm demo was successful.
  • Next week is the big grind to get everything finished up (likely on Tuesday).
  • We want to start final presentation work after Carnival.

Next Week’s Goals

  • Print next prototype of the Raspberry Pi case.
  • Verify all the subsystems.
  • Integrate scanners with the web app.
  • Validate system works end to end
    • Test entering/removing objects from inventory by moving items in/out of view of the camera by logging whats happening
    • Test object detection causes the proper items to be displayed on LCD screen
    • Test entering/removing objects causes proper API calls to be done.
    • Validate objects from each category get detected properly.

 

Michael’s Status Report for 3/30/2024

Michael’s Status Report for 3/30/2024

Weekly Accomplishments Trained YOLOv8 model which ran on my old laptop for almost a full week. Training results show 99% accuracy which is a tad worrysome with overfitting, but we’ll cross that bridge when we get there. Booted Kria KV260, updated packages, and launched server 

Team Status Report for 3/23/2024

Team Status Report for 3/23/2024

Risks: Video streaming is still too slow. We may want to change to a better processor like RPi 4. Changes: Switching to single item classification because new database is too large to manually label. Progress: YOLOv8 model training started. Recipes page app UI completed. Researched 

Michael’s Status Report for 3/23/2024

Michael’s Status Report for 3/23/2024

Weekly Accomplishments

  • Conducted research into libraries that allow for video streaming over wifi. Implemented a new stream that has improvement (6s/frame) over last week’s implementation (10s/frame), but still is quite slow. There’s one last hope with a library that uses FFMPEG that may allow for hardware acceleration, but I’m not hopeful. We may want to consider using a faster processor.
  • Found new datasets for training YOLOv8 model. Training has started, and will be left running overnight.
  • Ordered filament, polarizing lens, and power brick for the KV260.
  • Worked with Sebastian to figure out what APIs need to be created for produce recognition.

Overall Progress

  • Since we didn’t hear back from the AMD contact, I went ahead and ordered a power brick on Thursday. This pushes back figuring out how to accelerate the YOLOv8 model until next week.
  • YOLOv8 model is training on my laptop, hopefully that will finish in a timely manner.
  • Ordered filament and made some touches to the CAD model, however, more adjustments may need to be made if we change processors.

Next Week’s Goals

  • Test YOLOv8 model on real world examples
  • Figure out & implement YOLOv8 acceleratation on KV260.
  • Figure out if a faster processor is needed
  • Print case for scanner.
Michael’s Status Report for 3/16/2024

Michael’s Status Report for 3/16/2024

Weekly Accomplishments Ethics Assignment Manual Data Gathering + Labeling. Spent probably 8+ hours grabbing images from online of our produce items and manually labeling them. However, a higher quantity of images (under different lighting, background,  etc) is probably more helpful than the images I was 

Team Status Report for 3/9/24

Team Status Report for 3/9/24

Risks: KV260s have yet to arrive to ECE inventory. We’ll be using an old laptop in the meantime, but it means development time won’t be spent into the KV260s until later. Changes: From a usability standpoint, we’ve decided to track whether an item is entering 

Michael’s Status Report for 3/9/2024

Michael’s Status Report for 3/9/2024

Weekly Accomplishments

Due to a family medical emergency, I wan’t able to do much besides work on the design report this past week. We completed the design report and I worked on many of the diagrams, updated our CAD models, as well as wrote much of the content for the Design Requirements, Architecture, Implementation and Related Work sections.

Overall Progress

I’m not behind, but I’ve got a lot of work to do in the coming weeks. Thankfully, we had enough notice that I would be leaving early that we could slightly rework our schedule. However, it meant that I wasn’t able to confirm the new camera hardware works as expected.

The biggest concern towards progress is we have yet to recieve notice that the AMD hardware has arrived to the ECE inventory. We’ll be using an old laptop that I have in place of our planned KV260, but ideally we get everything working on the KV260 sooner rather than later.

Next Week’s Goals

  1. Install ubuntu on the laptop/server and get our server code running
  2. Train YOLOv8 model for object detection
  3. Go grocery shopping (for gathering additional reference data & testing object detection)
  4. Breadboard scanner (going to delay assembling into chassis until next week)
  5. Test new cameras with scanner & perform object detection on groceries
Michael’s Status Report for 2/24/2024

Michael’s Status Report for 2/24/2024

Weekly Accomplishments Practiced & Presented Design Review Presentation Setup preliminary socket code for communicaiton on a local network The above screenshot demonstrates two computers communicating on the same local network. Using a python library called pickle, python objects can be serialized into bytes. Here, I’m sending