⚡ Ball Action Spotting (BAS)

Task Overview

Input: Panoramic 4K video (full match)
Output: Temporal action labels for 12 ball event classes with global timestamps

Alignment with SoccerNet Ball Action Spotting:
Same: 12 action classes, temporal detection, team assignment
⚠️ Different: Panoramic view + full match (not broadcast clips)

Input / Output Definition

Input

  • videos/match_XXXXX.mp4 — Full match panoramic video (4K)

Output (per action)

Field Type Description
time float Global timestamp in video (seconds)
event_class string One of 12 action classes (see below)
team string left / right / null
player_id int/null Track ID (when available)

12 Action Classes

Pass
Drive
Header
High Pass
Out
Cross
Throw In
Shot
Ball Player Block
Player Successful Tackle
Free Kick
Goal

File Layout

production/
├── videos/
│   ├── 117093.mp4
│   └── ...
├── gsr/
├── bas/
│   ├── 117093/
│   │   └── 117093.json
│   ├── 117094/
│   │   └── 117094.json
│   └── ...
├── mot/
└── raw/
    ├── 117093/
    │   ├── 117093_12_class_events.json    # Original BePro events
    │   └── ...
    └── ...

Each match has one annotation file in its own directory containing all ball action events. Original BePro event files are preserved in raw/ for reference.

Schema & SoccerNet Mapping

Example JSON Structure

{
  "match_id": "117093",
  "fps": 25.0,
  "actions": [
    {
      "time": 12.5,
      "event_class": "Pass",
      "team": "left",
      "player_id": 10
    },
    {
      "time": 45.2,
      "event_class": "Shot",
      "team": "right",
      "player_id": 7
    },
    ...
  ]
}

SoccerNet BAS Correspondence

SoccerTrack v2 SoccerNet BAS Notes
time timestamp Global time in seconds
event_class label 12 action classes
team team left / right
player_id Unique to SoccerTrack v2

Evaluation / Metrics

Evaluation uses Average-mAP at various temporal tolerances (e.g., ±1s, ±2s), following the SoccerNet Ball Action Spotting Challenge.

  • Tight tolerance: ±0.5s (precise detection)
  • Loose tolerance: ±2s (event detection)

Official devkit: Coming soon

Differences vs SoccerNet BAS

Key Differences:
  • Camera view: Panoramic (full-pitch visibility) vs. broadcast (partial/zoomed)
  • Duration: Full match (~90 min) vs. half/clip segments
  • Additional info: Player IDs available (linked to GSR tracks)
  • Camera setup: Fixed panoramic vs. moving broadcast camera