VRChat Avatar Detection
Model Description
This model is the YOLO object detection model used in programs that detect avatars and name tags in a VRChat environment to determine which avatar belongs to whom.
Dataset Information
- Train Images: 13,565
- Validation Images: 1,507
- Image Size: 1920x1080 ~ 15360x8360
- Data Source: Photos captured using the in-game camera over 7 years of VRChat gameplay, along with frame data extracted from 1,707 hours of recorded video footage.
Data Filtering & Preprocessing
- Included: Humanoid 3D avatars only.
- Excluded: Non-humanoid avatars, Fallback avatars, default robot avatar, and Impostor avatars.
Training Configuration
- Task: Object Detection
- Base Framework: Ultralytics YOLO26
- Input Resolution(imgsz): 1920
Usage
from ultralytics import YOLO
model = YOLO("yolo26m_vrchat_avatar.pt")
results = model.predict(source="vrchat_screenshot.png", imgsz=1920, conf=0.5)
results[0].show()
Performance
| Metric | Score (%) |
|---|---|
| mAP@50 | 96.30 |
| mAP@50-95 | 81.30 |
| Precision | 96.50 |
| Recall | 92.80 |
| F1 Score | 94.61 |
| Parameters | 20.35M |
| FLOPs | 68.1B |
| Inference | 4.7ms (NVIDIA H100) 12.2ms (RTX 5070Ti) |
Per-Class Performance
| Class | Images | Instances | Precision (%) | Recall (%) | mAP@50 (%) | mAP@50-95 (%) |
|---|---|---|---|---|---|---|
| avatar | 1455 | 2777 | 95.90 | 90.80 | 95.80 | 79.80 |
| nametag | 121 | 268 | 97.10 | 94.80 | 96.80 | 82.80 |
| all | 1507 | 3045 | 96.50 | 92.80 | 96.30 | 81.30 |
Known Limitations
Performance may degrade in:
- Severe motion blur or particle & SFX hell environments
- Humanoid furry (I don't have many furry humanoid photos)
- Types of humanoid avatars I have never seen
Model tree for Gureumi/VRChat_Avatar_Detection
Base model
Ultralytics/YOLO26Evaluation results
- mAP@50self-reported96.300
- mAP@50-95self-reported81.300
- Precisionself-reported96.500
- Recallself-reported92.800
- F1-Scoreself-reported94.610