A YOLO26n model trained to detect the FRC 2026 game piece.
An example video can be found at
https://youtu.be/QcRUb8kJu40 (Credit to Team 868/RUSTHounds for the base video!)
1from ultralytics import YOLO
2
3model = YOLO("model.pt")
4
5# Image
6results = model("your_image.jpg")
7
8# Video
9results = model("your_video.mp4", stream=True)
10for result in results:
11 boxes = result.boxes # bounding boxes
12 print(boxes.xyxy, boxes.conf)
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.
This model and the example code is licensed under the Apache 2.0 license, see
LICENSE.
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.