https://github.com/theosorus/formulatracker
Training a YOLO model on a custom Formula 1 dataset to detect cars based on their team.
https://github.com/theosorus/formulatracker
computer-vision deep-learning formula1 tracking yolo
Last synced: about 1 month ago
JSON representation
Training a YOLO model on a custom Formula 1 dataset to detect cars based on their team.
- Host: GitHub
- URL: https://github.com/theosorus/formulatracker
- Owner: theosorus
- License: agpl-3.0
- Created: 2025-03-20T08:32:26.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-08-22T18:25:31.000Z (about 2 months ago)
- Last Synced: 2025-08-22T21:02:15.713Z (about 2 months ago)
- Topics: computer-vision, deep-learning, formula1, tracking, yolo
- Language: Python
- Homepage:
- Size: 3.37 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🏎️ FormulaTracker — Detect F1 cars by team with YOLO
> 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 •---
# 📊 Dataset
- **Source:** curated from a full Grand Prix broadcast. Non-relevant segments were trimmed out.
- **Annotation tool:** [labelImg](https://github.com/HumanSignal/labelImg)
- **Split:** `train = 442` images, `val = 111` images
- **Classes (10):**
| Team |
|-------------------|
| Alfa Romeo Racing |
| Ferrari |
| Haas |
| McLaren |
| Mercedes |
| Racing Point |
| RedBull |
| Renault |
| Toro Rosso |
| Williams |# 🏋️ Train the model
| Hyperparameters | value |
|-----------------|------------|
| task | detect |
| mode | train |
| model | yolo11l.pt |
| epochs | 200 |
| batch | 16 |
| imgsz | 640 |### Results
### Confusion matrix
### Sample Predictions (validation batch)
# 🚀 Roadmap / Future ideas
- 🚥 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.