COURTSIDE
Badminton match intelligence from raw broadcast video — an end-to-end computer-vision system that watches a broadcast and writes the scouting report.
It tracks both players and the shuttle, detects every hit, classifies every shot, reads the scoreboard, and segments rallies — then turns that into a coach-grade analytics dashboard with AI-annotated video for every rally. No human labels at inference time, and every stage is validated against professionally annotated ground truth, including on a fully held-out match.
Pipeline
Thresholds were tuned on one match (India Open 2022 final) and tested untouched on a second (Denmark Open 2022 SF) — true out-of-distribution performance.
- Player tracking → court metres — YOLO11x-pose + ByteTrack + homography (~0.6 m median)
- Shuttle tracking — TrackNetV3 (99.8% of labeled hit points)
- Hit detection & attribution — velocity-kink ∪ direction-reversal detectors (F1 ≈ 88, ~90% hitter accuracy)
- Shot classification — pretrained BST model run at detected hits, zero fine-tuning (72–83%)
- Rally segmentation — camera-run + dead-shuttle splitting (F1 ≈ 98)
- Score OCR — template-matched 12px digits, self-bootstrapped, transfers across tournaments (~95%)
End-to-end, the label-free chain reproduces ~84% of labeled strokes with ~96% hitter agreement — enough that the same analytics code produces near-identical coach insights from either source.
The dashboard
A static Next.js app (TypeScript, Tailwind, bespoke SVG charts — no chart library):
- Overview — interactive score worm, stat duel, auto-generated coach's notes where every claim deep-links to its evidence rallies, plus an LLM-written match report.
- Points / Court / Patterns — winners & errors by shot, rally-length win rates, placement maps, movement heatmaps, a pressure model, and scouting tables (response matrix + serve playbook).
- Film room — every rally watchable with a synchronized 2D replay animated from the CV tracks.
- AI overlay — a navbar toggle swaps all footage to pre-rendered annotated clips: pose skeletons, shuttle trail, BST shot calls, and the machine-read score baked into the video.
- AI Lab — each pipeline stage shown with its measured accuracy versus human labels.
A separate doubles surface tracks all four players and derives formation, rotations, and net-hunting purely from geometry and roles, since no stroke labels exist for doubles.
Tech Stack
Python CV pipeline (YOLO11x-pose · ByteTrack · TrackNetV3 · BST shot classifier · homography) · Next.js + TypeScript + TailwindCSS static dashboard · ShuttleSet22 ground truth
