Docs
API

Sample data

The challenge loads prepared static video and JSON artifacts. This page documents what is served, what was computed ahead of time, and what you can inspect yourself.

These files are a prepared replay dataset. Opening the challenge does not run the detector, tracker, zone registration, deduplication, or event rules that produced them.

Three prepared files are served from this domain without authentication:

download
$ curl -O https://prxintel.com/challenge/clip.mp4        # the footage, 15.6 s, 720p
$ curl -O https://prxintel.com/challenge/zone.json       # zone geometry + entry events
$ curl -O https://prxintel.com/challenge/detections.json # every tracked box, every frame

zone.json#

shape
{
  "fps": 29.97,
  "clipSeconds": 15.58,
  "zoneFrames": [ [[x, y], [x, y], [x, y], [x, y]], ... ],
  "events":     [ { "t": 0.067, "x": 0.54, "y": 0.909, "id": 7 }, ... ]
}

zoneFrames holds one prepared quadrilateral per frame, 467 in total. The browser draws frame i's saved polygon over the clip. events holds 15 prepared scored entries: time in seconds, normalized entry position, and saved track ID.

detections.json#

shape
{
  "fps": 29.97,
  "frames": [ [[x, y, w, h, track_id], ...], ... ]
}

One array per frame, one 5-tuple per prepared tracked object: normalized box plus its saved track ID. This is what the challenge replay draws. Preparation filters short-lived and implausibly small tracks using a minimum 8-frame lifetime and minimum median area. Other tracker output, including mistakes, remains in the file.

Check us#

The challenge result record contains 15 scored entries. This script verifies the number of saved rows and prints their fields. It does not rerun the model or independently recount the footage:

verify.py
import json, urllib.request

zone = json.load(urllib.request.urlopen("https://prxintel.com/challenge/zone.json"))
print(len(zone["events"]), "entries")
for ev in zone["events"]:
    print(f'  {ev["t"]:6.2f}s  track {ev["id"]:3d}  at ({ev["x"]:.2f}, {ev["y"]:.2f})')
If you find a car we miscounted, we genuinely want to know. Tell us at @flypraxis with the timestamp.