Luke Han Status Report for February 8, 2025

This week, I mainly focused on researching suitable MPUs (Microprocessor Units) for our embedded system, specifically evaluating options that can handle real-time computer vision, physics simulations, and wireless communication. Given our project’s requirements—including 1080p camera input, LIDAR motion detection, and a projector for displaying shot predictions—I analyzed three potential choices:

1. NVIDIA Jetson Orin NX Which Offers GPU acceleration (CUDA, TensorRT, OpenCV) for real-time vision processing and AI-based shot prediction. This would be ideal for handling object detection and physics calculations locally, reducing reliance on external compute resources.

2. Rockchip RK3588 which is a cost-effective alternative with an 8-core CPU and built-in AI acceleration (NPU), making it a good balance between performance and price. It supports multiple peripherals (USB 3.0, HDMI, Wi-Fi) and can offload heavy computations if needed.

3. Raspberry Pi 5 + Coral TPU, a more budget-friendly option that requires an external TPU (Google Coral) for AI-based object detection. This is feasible, but it may not provide the same level of real-time performance as the Jetson Orin NX.

Each option has its trade-offs in terms of cost, ease of development, and computational power. Right now, I’m still weighing the pros and cons of these choices to determine which will best suit our project’s needs.

I am currently on schedule and have gathered enough information to make an informed decision. Next week, I plan to finalize my choice, order the selected MPU, and start setting up the embedded system. My initial goal will be to configure the hardware, and hopefully by the end of the week will have started setting up the embedded system

 

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.