Valorant Character Detection
· 1 min read
Practical computer vision project based on YOLO11 for detecting characters of a specific role in the Valorant video game using a custom dataset.
Python YOLO11 PyTorch OpenCV Roboflow
Objective
Apply computer vision techniques to detect and classify characters from the Valorant video game, limited to the 8 characters of the duelist role: Reyna, Jett, Phoenix, Raze, Yoru, Neon, Iso, and Waylay.
Dataset
- 1,250 images extracted from matches recorded directly from the game.
- 1,654 annotations made in Roboflow, with a minimum of 200 annotations per character to ensure a balanced dataset.
- The images were captured on a single map (Ascent) and capture variations in backgrounds, lighting, and in-game angles.
- Two training iterations were performed:
- Images with a single character on screen.
- Images with multiple characters (duelists and other roles).
Training
- Model: YOLO11s (Ultralytics)
- Platform: Google Colab Pro with T4 16GB GPU
- Software versions:
- Python 3.12
- Ultralytics 8.3.223
- PyTorch 2.9 with CUDA 12.6
- OpenCV 4.12.0
Results
| Metric | Value |
|---|---|
| Overall mAP50 | 0.94 |
| Best-performing class | Iso (0.96) |
| Lowest-performing class | Reyna (0.91) |
Inference
A script was developed to run the model on recorded match videos, adding a viewer to control playback.
- Hardware: NVIDIA RTX 3060 8GB
- Minimum confidence: 0.8
The model correctly detects duelist characters. With characters from other roles, it sometimes ignores them and sometimes detects them, depending on the visual context.
Viewer controls
| Key | Action |
|---|---|
Q | Exit |
→ | Skip forward 5 seconds |
← | Skip backward 5 seconds |
