--- 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)