Downloads · 30 days
47
22% of all-time downloads
UWMadAbility/VRSight
VRSight is a object detection model from UWMadAbility. Use it when you need objects located in an image. It is set up for ultralytics. The card lists the license as cc-by-4.0.
Fine-tuned YOLOv8n model for detecting UI elements and interactive objects in virtual reality environments. This model powers the VRSight system, a post hoc 3D screen reader for blind and low vision VR users.
Downloads · 30 days
47
22% of all-time downloads
All-time downloads
212
Public
Repo size
6.3 MB
Likes
1
Public
Click a slice to open those files.
.pt6.3 MB · 100%
From the Hugging Face model README
Fine-tuned YOLOv8n model for detecting UI elements and interactive objects in virtual reality environments. This model powers the VRSight system, a post hoc 3D screen reader for blind and low vision VR users.
Model Weights: best.pt (available in the Files tab)
Full System: github.com/MadisonAbilityLab/VRSight
Paper: VRSight (UIST 2025)
Training Dataset: UWMadAbility/DISCOVR
Developed by: Daniel Killough, Justin Feng, Zheng Xue Ching, Daniel Wang, Rithvik Dyava, Yapeng Tian*, Yuhang Zhao
Affiliations: University of Wisconsin-Madison, *University of Texas at Dallas
pip install ultralytics
# Download model weights
wget -O best.pt https://huggingface.co/UWMadAbility/VRSight/resolve/main/best.pt
from ultralytics import YOLO
# Load model
model = YOLO('best.pt')
# Run inference on VR screenshot
results = model('vr_screenshot.jpg')
# Process results
for result in results:
boxes = result.boxes
for box in boxes:
class_id = int(box.cls[0])
confidence = float(box.conf[0])
bbox = box.xyxy[0].tolist()
print(f"Class: {model.names[class_id]}")
print(f"Confidence: {confidence:.2f}")
print(f"BBox: {bbox}")
results = model.predict(
source='vr_screenshots/',
save=True,
conf=0.25,
device='0' # GPU 0, or 'cpu'
)
| Metric | Test Set |
|---|---|
| mAP@50 | 67.3% |
| mAP@75 | 49.5% |
| mAP | 46.3% |
| Inference Speed | ~20-30+ FPS |
Key Finding: Base YOLOv8n trained on COCO rarely detected VR objects, demonstrating the necessity of VR-specific training data. See Table 1 in the paper for per-class metrics.
The model detects 6 categories of VR objects:
Avatars: avatar, avatar-nonhuman, chat-bubble, chat-box
Informational: sign-text, ui-text, sign-graphic, menu, ui-graphic, progress-bar, hud, indicator-mute
Interactables: interactable, button, target, portal, writing-utensil, watch, writing-surface, spawner
Safety: guardian, out-of-bounds
Seating: seat-single, table, seat-multiple, campfire
VR System: hand, controller, dashboard, locomotion-target
See the paper (Table 1) for detailed descriptions and per-class performance.
This model is one component of the complete VRSight system, which combines:
To use the full VRSight system, see the GitHub repository.
See Section 7.2 of the paper for detailed discussion.
Please cite use of this model, the DISCOVR dataset, or the fine-tuned object detection model using the VRSight paper:
@inproceedings{killough2025vrsight,
title={VRSight: An AI-Driven Scene Description System to Improve Virtual Reality Accessibility for Blind People},
author={Killough, Daniel and Feng, Justin and Ching, Zheng Xue and Wang, Daniel and Dyava, Rithvik and Tian, Yapeng and Zhao, Yuhang},
booktitle={Proceedings of the 38th Annual ACM Symposium on User Interface Software and Technology},
pages={1--17},
year={2025},
publisher={ACM},
address={Busan, Republic of Korea},
doi={10.1145/3746059.3747641}
}
CC BY 4.0 - Free to use with attribution