| --- |
| license: agpl-3.0 |
| metrics: |
| - map50 |
| - map50-95 |
| - precision |
| - recall |
| - f1 |
| base_model: |
| - Ultralytics/YOLO26 |
| pipeline_tag: object-detection |
| tags: |
| - yolo |
| - vision |
| - object-detection |
| - vrchat |
| - vrchat-avatar |
| - vrchat-nametag |
| - avatar-detection |
| model-index: |
| - name: VRChat_Avatar_Detection (YOLO26m) |
| results: |
| - task: |
| type: object-detection |
| name: Object Detection |
| metrics: |
| - name: mAP@50 |
| type: map50 |
| value: 96.30 |
| - name: mAP@50-95 |
| type: map50-95 |
| value: 81.30 |
| - name: Precision |
| type: precision |
| value: 96.50 |
| - name: Recall |
| type: recall |
| value: 92.80 |
| - name: F1-Score |
| type: f1 |
| value: 94.61 |
| --- |
| # VRChat Avatar Detection |
|
|
| <p style="display: grid;grid-template-columns: auto auto"> |
| <a href="https://huggingface.co/Gureumi/VRChat_Avatar_Detection/blob/main/result_1920.jpg"> |
| <img src="result_1920.jpg" alt="1920x1080 image"> |
| </a> |
| <a href="https://huggingface.co/Gureumi/VRChat_Avatar_Detection/blob/main/result_7680.jpg"> |
| <img src="result_7680.jpg" alt="7680x4320 image"> |
| </a> |
| <a href="https://huggingface.co/Gureumi/VRChat_Avatar_Detection/blob/main/result_avatar&nametag.png"> |
| <img src="result_avatar&nametag.png" alt="avatar&nametag detection image"> |
| </a> |
| <a href="https://huggingface.co/Gureumi/VRChat_Avatar_Detection/blob/main/result_avatar&nametag_2.png"> |
| <img src="result_avatar&nametag_2.png" alt="avatar&nametag detection image"> |
| </a> |
| </p> |
| |
| ## 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 |
|
|
| ```python |
| 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)<br>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 |