StatSnap

Live basketball player tracking

Personal project · February 2024

Live basketball player tracking. YOLOv8 for detection, ByteTrack for identity, and HSV k-means clustering to separate the two teams by jersey colour without any manual labelling. Player IDs hold through occlusions at around 30 FPS.

A frame of broadcast basketball footage with coloured bounding boxes and persistent player IDs drawn over each player, red boxes for one team and blue for the other.
A single tracked frame. Box colour comes from the clustering step, not from a label. The two teams separate on jersey colour alone.
Tracking across a possession. IDs persist through the occlusions where detection alone would drop them.