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 getting. Found a dataset for produce online, however it isn’t labeled for object detection (just classification). Considering how to proceed (switch to a classificaiton problem or to figure out some way to label the data for detection).
- Video Steaming over Wifi
Video of custom streaming solution
Was able to stream video over wifi at 1080p, but the framerate was extremely slow because the approach was as follows: capture image as numpy array, serialize numpy array, send numpy array over TCP (buffered), deserialize numpy array, process data from numpy array, acknowledge/request new image. The ack at the end keeps the system using the latest image, but because of the serializing & deserializing, the framerate is much too slow to be usable especially as more processing gets added on. Currently exploring a library that handles proper video streaming. - Research into KV260 acceleration for PyTorch (What YOLOv8 is based on). First thoughts is that it seems reasonable, however unfortunately the KV260 didn’t come with a power supply, so we can’t test the acceleration.
Overall Progress
- Recieved the KV260 kit, but still need the power supply. Behind on getting KV260 setup, but will be soon on track once our Amazon order comes in.
- Video streaming is less than ideal, have to improve on it for product to be viable.
Next Week’s Goals
- Figure out what dataset we’re going to use + train YOLO model
- Improve data streaming framerate
- PyTorch acceleration for dataset on KV260
- Finalize + print first case for scanner
- Work with Sebastian on interfacing YOLO model with database.