metadata
title: Offsides Soccer Analytics
emoji: ⚽
colorFrom: green
colorTo: blue
sdk: gradio
sdk_version: 6.14.0
python_version: '3.12'
app_file: app.py
pinned: false
license: mit
short_description: AI tactical analysis finds edges in UCL prediction markets
Offsides — Tactical Edge Detection
Multimodal AI analyzes UEFA Champions League footage using YOLO + Qwen-VL 72B on AMD MI300X to detect where sports prediction markets are mispriced.
How It Works
- Extract — Sample key frames from recent match highlights (both teams, last 3 matches)
- Detect — YOLO extracts player/ball positions, formation shapes
- Annotate — OpenCV renders tactical overlays (defensive lines, compactness, team colors)
- Reason — Qwen-VL 72B reasons over annotated frames + stats + market odds
- Edge — Identifies where VLM probability diverges from market implied probability
Results
Validated on 5 UCL knockout upsets — 3/5 correct edge calls on outcomes the market got wrong.
| Match | VLM Edge | Result |
|---|---|---|
| Dortmund vs PSG (SF) | +9pp Home | ✓ Dortmund 1-0 |
| Dortmund vs Atletico (QF) | +5pp Home | ✓ Dortmund 4-2 |
| PSG vs Barcelona (QF) | +4pp Home | ✓ PSG 4-1 |
| Man City vs Real Madrid (QF) | +3pp Home | ✗ Draw (pens) |
| Atletico vs Inter (R16) | +2pp Draw | ✗ Atletico 2-1 |
Architecture
YouTube Highlights → Frame Extraction → YOLO Detection → Annotation (OpenCV)
↓
Stats + Market Odds ──────────────────────────→ Qwen-VL 72B (AMD MI300X)
↓
Edge Signal + Reasoning
Tech Stack
- GPU: AMD Instinct MI300X (192GB HBM3) — single GPU fits 72B model
- Model: Qwen/Qwen2.5-VL-72B-Instruct via vLLM on ROCm
- Detection: YOLOv8m + ByteTrack
- Annotation: OpenCV (team colors, defensive lines, compactness ellipses)
- Demo: Gradio (this Space displays pre-computed results)
Built for the AMD Developer Hackathon 2026 (Track 3: Vision & Multimodal AI)