Kevin Kyi Status Report 02/22/2025

This week, I spent most of my time finalizing different parts of my area for the design review presentation and working on the design slides. I helped set up the repository with Samuel to install the necessary dependencies for integrating my code. The majority of my time in the following weeks will be spent coding and ensuring accurate data extraction early for the post-processing physics simulation part of the project that Samuel is working on. I am on track and will be working with Samuel and Luke to ensure a smooth integration from the start.

Additionally, this coming week I have an exam and essay due that may slightly hinder my progress, but I have time in the coming week to ensure I keep on track.

Kevin Kyi Status Report (02/15/2025)

This week, I focused on implementing computer vision for boundary edges and pockets on a full-sized pool table before transitioning to the smaller demo/testing table. The primary goal was to develop edge detection algorithms to accurately determine the physical dimensions and placement of the pool table boundaries in real-world coordinates. This step is crucial for precise ball position calculations during the shot simulation and calculating pocket position. Additionally, I began working on the thresholding portion of the project, which involves identifying pocket position based on the table boundaries and depth. This will help establish a reliable reference corners for ball placement and shot calculation as well.

I also dedicated time to researching ball detection and categorization techniques, which falls in the later stages of the CV pipeline. While most of the week was spent on boundary and pocket detection, I compiled several resources to guide the ball categorization and placement phase. These include GitHub repositories and tutorials on ball tracking and detection:

https://pyimagesearch.com/2015/09/14/ball-tracking-with-opencv/
https://github.com/sgrieve/PoolTable
https://github.com/danilwithonei/billiard_balls_detection

 

Kevin Kyi Status Report (2/8/2025)

This week, I focused on designing the framework for the computer vision portion of the project. Specifically, I explored image preprocessing techniques to improve input quality for ball detection and categorization, including:

  • normalization and resizing image
  • converting image to the CIE LAB color space for better color representation
  • noise reduction using a filter bank.

To meet computational constraints, I proposed an initial method for ball categorization by using white color detection to separate the cue and striped balls from solids, reducing the reliance on a computationally expensive neural network for this phase. I collaborated closely with Luke Han to align these methods with our embedded hardware’s computational capabilities.

Additionally, I began investigating edge and hole detection for the pool table. For edge detection, I am testing algorithms like Canny and Harris, while for hole detection, I am experimenting with thresholding to isolate shaded regions that represent pockets.

I am on schedule and expect to finalize the image preprocessing pipeline next week, including categorization and detection methods. My next steps will include testing these algorithms on sample table images to evaluate their accuracy and runtime efficiency.