FRC Ball Detector โ Release v1.0
A YOLO26n model trained to detect the FRC 2026 game piece.
mAP50: 0.990 | mAP50-95: 0.912
An example video can be found at https://youtu.be/QcRUb8kJu40 (Credit to Team 868/RUSTHounds for the base video!)
Model
| Property | Value |
|---|---|
| Architecture | YOLO26n (Ultralytics) |
| Input size | 640ร640 |
| Classes | 1 (ball) |
| File | model.pt |
Usage
from ultralytics import YOLO
model = YOLO("model.pt")
# Image
results = model("your_image.jpg")
# Video
results = model("your_video.mp4", stream=True)
for result in results:
boxes = result.boxes # bounding boxes
print(boxes.xyxy, boxes.conf)
Training Info
The base model was trained using ~4.5k photos which were manually taken and labelled by our team, plus 12k synthetic images rendered using Isaac Lab for 100 epochs. Due to difficulties detecting game pieces accurately, the model was then finetuned for an extra 40 epochs on the base dataset plus an extra 1000 synthetic images (created specifically to target cases which were found to be difficult for the model, including floating and stacked game pieces) with copy-paste augmentation layered ontop.
All training data was either self-produced or synthetically generated. No third-party copyrighted match video was used.
Training Details
Initial Training
- Base model: YOLO26n
- Epochs: 100
- Learning rate:
lr0=0.01(reduced from default to preserve pretrained weights) - Image size: 640
- Training Data: ~4.5k real images, 12k synthetic images (with the real images appearing 2x per epoch)
- Training platform: Modal (A10G GPU)
Finetuning
- Base model: Output from Initial Training (YOLO26n at 100 epochs)
- Epochs: 40
- Learning rate:
lr0=0.001(reduced from default to preserve pretrained weights) - Image size: 640
- Real data weighting: Real images appear 2ร per epoch vs synthetic 1ร
- Training platform: Modal (A10G GPU)
Performance
Evaluated on a held-out validation set of 2,229 images (real + synthetic):
| Metric | Value |
|---|---|
| Precision | 0.966 |
| Recall | 0.961 |
| mAP50 | 0.990 |
| mAP50-95 | 0.912 |
Median confidence on real test video: ~0.75โ0.80
Licensing Stuff
This model and the example code is licensed under the Apache 2.0 license, see LICENSE.
Credits
The synthetic image rendering used models from the Google Scanned Objects dataset by Google Research as distractor objects, licensed under CC-BY 4.0.
The synthetic image rendering also used HDRIs and textures from Poly Haven for environmental detail, licensed under CC0.
- Downloads last month
- 63