Computer Vision

Recorded Match Video to Reviewable Tracks and Event Tags

A batch sports-video pipeline combines player tracking, ball trajectories and event proposals with outputs for human review.

Illustration of match analysis; synthetic example, not a delivered-product screenshot
Workflow illustration with synthetic data; not a screenshot of the delivered product.

The problem

The client needed recorded single-camera match footage converted into inspectable tracks and proposed events. A small moving ball, player overlap and missed detections meant a detector alone was not enough. Reviewers needed to see uncertainty and correct missed or incorrect tags.

What I built

  • A configurable Python pipeline for recorded video and selected time ranges.

  • Player pose detection and persistent near-side player tracking.

  • Pluggable ball detection with trajectory cleanup and optional short-gap filling.

  • Shot proposals combining skeleton motion and ball-direction evidence.

  • Rally grouping, JSON event output and CSV ball-position output.

  • Debug overlays, optional clips and manual annotation tools for review.

The package includes configuration, a Docker/GPU run path and tests. Stage caching supports retuning later grouping steps without rerunning every earlier stage.

The outcome

The handoff links video analysis to reviewable events and exports. A person still checks the proposed tags before treating them as final. The scope is batch analysis of recorded footage, not real-time broadcasting or autonomous officiating. No public tracking-accuracy, latency or time-saving figure is claimed.

Working on something similar?

Discuss a similar project →