FRC Ball Detector โ€” Release v1.0

A YOLO26n model trained to detect the FRC 2026 game piece.

mAP50: 0.990 | mAP50-95: 0.912

Example code in Colab: Open In Colab

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
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support