33Real-time football broadcast overlay: ** detection → tracking → overlay**
44(` pyml_yolo ` /` pyml_objectdetector ` -> ` pyml_tracker ` -> ` pyml_football_overlay ` ).
55
6- The overlay draws a foot ellipse per subject (players one colour, referee gold),
7- a green triangle on the ball, motion trails, and a focal-player HUD + ball contacts + distance.
6+ The overlay draws a foot ellipse per player coloured by team (red/blue, voted
7+ from jersey hue), a gold ellipse for referees, motion trails (off by default),
8+ and a focal-player HUD with headshot, ball contacts, and distance travelled.
9+ Players whose team isn't decided yet (and unclassifiable kits, e.g. the
10+ goalkeeper) are left unmarked rather than drawn in a placeholder colour. The
11+ ball is tracked for contact counting but its marker is off by default.
812
913## Run
1014
@@ -13,6 +17,25 @@ a green triangle on the ball, motion trails, and a focal-player HUD + ball conta
1317demo/football/run.sh
1418demo/football/run.sh 08fd33_4.mp4 demo/football/out.mp4 1280x720
1519
20+ # file -> live on-screen
21+ demo/football/run.sh display
22+ demo/football/run.sh display 08fd33_4.mp4 1280x720
23+
1624# live camera -> on-screen
1725demo/football/run.sh camera /dev/video0
1826```
27+
28+ ## Environment knobs
29+
30+ | Var | Default | Meaning |
31+ | ------------| ---------| ---------|
32+ | ` BACKEND ` | ` pt ` | ` pt ` = PyTorch ` pyml_yolo ` ; ` fp16 ` = ONNX FP16 via ` pyml_objectdetector ` (CUDA). |
33+ | ` INTERVAL ` | ` 3 ` | Run detection every Nth frame; the tracker/overlay still update every frame, so it stays smooth at ~ N× less inference cost. The main real-time lever. |
34+
35+ ``` bash
36+ BACKEND=fp16 demo/football/run.sh display # faster inference path
37+ INTERVAL=5 demo/football/run.sh display # detect every 5th frame
38+ INTERVAL=1 demo/football/run.sh # detect every frame (max accuracy)
39+ ```
40+
41+
0 commit comments