COURT
The AI referee
I'm building the AI referee. It should see what happened on the court, judge the play and explain the call so officiating becomes more transparent, consistent and trustworthy. Seeing is not enough; judgment remains the harder frontier.
- 0.938 AUROC
- 11,900-clip corpus
- one broadcast camera
Demo
What I built
Detection. I trained an E2E-Spot RegNetY-008 + GSM + GRU foul-spotting model on a proprietary 11,900-clip NBA corpus spanning three seasons: 2,548 fouls, 1,975 human-annotated contact frames and 9,215 negatives across 24 adversarial subcategories.
Grounded judgment. I built a perception dossier that gives a frontier model verified evidence of the players, contact and movement instead of asking it to guess from pixels.
Perception infrastructure. I built the modular tracking, team, jersey and court stack underneath it. It has 100 passing tests. Label-free QA across 20 clips carries 89.6% of detections into tracks with four jersey conflicts.
I attacked my own benchmark
My first model saturated the first benchmark: 96.5% F1, with 98.6% recall and 94.5% precision, on 358 held-out clips.
So I made the test adversarial. I mined blocked shots, contested misses, putbacks and transition collisions until hard negatives outnumbered fouls 3.6:1. On 301 fouls and 1,070 hard negatives, the model still separates the classes at 0.938 AUROC. At the recall-priority threshold it reaches 96.3% recall.
Over Christmas I ran three dataset-attack trainings in four days. Each targeted a named failure mode. Then I took the model on purpose into full broadcasts it had never seen, and mined its false positives straight back into the corpus as new negative classes. That is the flywheel working.
The v5 checkpoint also produced the demo artifact above: 18 detections at threshold 0.7 over a 30-minute broadcast segment, from real inference.
What I found
A frontier vision model agreed with the on-court call on 74% of 50 clips with broadcast audio, then 20% of 40 clips without it. It was listening to the announcer, not watching the play. I found the shortcut by ablation in my own setup. I now run audio off.
On my founder-labeled benchmark of nine plays, ungrounded models called a foul on about 96% of clean plays. They fabricated jersey numbers in 92% of their identity claims and reported about 95% confidence when wrong. Giving them the verified perception dossier cut identity fabrication to near zero.
Why evaluation comes first
A machine cannot learn to judge without expert judgment to learn from. Referee evaluation is where experts already produce it: a graded call, bound to video, one at a time. Evaluation is not a smaller ambition; it is the path to the AI referee.
I built the benchmark, made it adversarial against myself and found the field's blind spot by ablation. The point is not a model that sounds certain. It is a system that shows its evidence and puts the ruling in expert hands.
Read the methods and limits for the full evaluation record.