This week, I explored OpenCV and used it to perform canny edge detection on the live feed from my webcam. It was my first time working with OpenCV, so I spent a while exploring its different features. I also did some research on libraries that we could use on our processed images to distinguish between balls on the table and the table’s edges.
Initially I was doing development on WSL (Windows Subsystem for Linux) on my laptop. This led to an issue where I was unable to detect my laptop’s webcam, so it hindered my progress on testing the canny edge detection. I attempted to solve this issue by installing a software (usbipd) that would allow me to share locally connected USB devices to WSL, but installation issues prompted me to try development on Windows instead of Linux. In the future, I may further explore usbipd so that I can do development on Linux, perhaps using a virtual machine, as it tends to be a more preferable environment for development.
Aside from the computer vision models, I did some research on cameras that we could use as our primary sensor. A strong candidate is an FPV Analog camera, which is known for its low-latency abilities. I hope to select a camera with my team early next week and submit our order so that we can begin testing our CV model.
My progress this week is satisfactory, and I was able to achieve the goals we had set for this week. For next week, my primary focus will be to select a few libraries and test out the latency of each in successfully distinguishing between pool balls, the table, and the walls. Following this, I hope to identify the strongest candidate that we will use in our final design.