| --- |
| 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 |
|
|
| 1. **Extract** — Sample key frames from recent match highlights (both teams, last 3 matches) |
| 2. **Detect** — YOLO extracts player/ball positions, formation shapes |
| 3. **Annotate** — OpenCV renders tactical overlays (defensive lines, compactness, team colors) |
| 4. **Reason** — Qwen-VL 72B reasons over annotated frames + stats + market odds |
| 5. **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) |
|
|