Football broadcast-to-tracking pipeline for extracting player and ball coordinates from match clips.
- Detects players and ball from broadcast video.
- Tracks objects across frames.
- Projects coordinates onto a standard 105x68 pitch.
- Produces annotated video and structured outputs for analysis.
- Exports
summary_stats.jsonwith per-player distance, average speed, team totals, and ball travel distance.
- Install
uv. - Install dependencies:
uv sync
- Run inference:
uv run main.py --video_path input_video.mp4
- Check output under
output/<video_name>/.
- Tune movement filtering for stats:
uv run main.py --video_path input_video.mp4 --max_step_meters 2.5
- Skip stats export:
uv run main.py --video_path input_video.mp4 --disable_summary_stats
- Code:
eagle/ - Examples:
examples/ - Documentation:
docs/ - Outputs:
output/
- GPU is strongly recommended for faster inference.
- Input clips with stable camera angles generally produce better results.
Reference: https://github.com/nreHieW/Eagle