Computer Vision

Real-Time Snooker Ball Detection System

A fully cloud-deployed AI vision system that detects and tracks all 22 snooker ball classes in real time from a mobile camera - GPU inference via WebSocket, automatic session recording, and browser-accessible from any phone without an app install.

Pakistan2024

Key Outcome

22-class real-time detection

Live GPU-backed snooker ball tracking from any phone browser - zero hardware beyond a camera.

The Problem

Snooker coaching and game analysis relied entirely on manual observation. No affordable tool could identify individual ball positions and types in real time from a mobile camera, work overhead from a phone, or automatically record sessions for post-match review.

Our Solution

Trained a YOLOv8m model on a custom dataset covering 22 snooker ball classes (all colours, cue ball, pocket states). Built a FastAPI WebSocket server that receives live camera frames, runs GPU inference on a Tesla T4 on GCP, and streams annotated video back in real time. Mobile-first UI with HTTPS for browser camera access, and automatic MP4 session recording with a review gallery.

Key Features

YOLOv8m trained on 22 snooker ball classes at 1280px resolution

Real-time WebSocket streaming - annotated frame returned per capture cycle

NVIDIA Tesla T4 GPU inference on Google Cloud Platform for sub-second latency

Mobile-first UI with rear camera access via HTTPS (no app install required)

Automatic MP4 session recording saved to gallery for post-match review

GCP Compute Engine deployment with systemd auto-restart on reboot

mAP@50 optimised on a purpose-built snooker detection dataset

Custom confidence threshold controls for different table and lighting conditions

Technology Stack

PythonYOLOv8FastAPIWebSocketPyTorchCUDAOpenCVGCPTesla T4

Project Visuals

Real-Time Snooker Ball Detection System screenshot 1
Real-Time Snooker Ball Detection System screenshot 2
Real-Time Snooker Ball Detection System screenshot 3

Interested in a similar project?

Tell us your requirements and we will respond within one business day.