The goal of this project is to train a YOLO model on a custom dataset to detect Formula 1 cars and classify them by team in video footage.
Dataset I built on Kaggle • Ultralytics YOLO docs •
- Source: curated from a full Grand Prix broadcast. Non-relevant segments were trimmed out.
- Annotation tool: labelImg
- Split:
train = 442images,val = 111images - Classes (10):
| Team |
|---|
| Alfa Romeo Racing |
| Ferrari |
| Haas |
| McLaren |
| Mercedes |
| Racing Point |
| RedBull |
| Renault |
| Toro Rosso |
| Williams |
| Hyperparameters | value |
|---|---|
| task | detect |
| mode | train |
| model | yolo11l.pt |
| epochs | 200 |
| batch | 16 |
| imgsz | 640 |
- 🚥 Real-time speed estimation: approximate car speeds using multi-frame tracking + homography.
- 📺 On-screen overlay: draw team labels on live or recorded video streams.
- 🧩 Tracking: integrate ByteTrack/BoT-SORT for consistent track IDs across frames.
- 🏁 More seasons: expand dataset with multiple races and lighting/weather conditions.