加载中…
加载中…
RepLiteDet-S0.5 is a small int8 object detector for the FIRST Tech Challenge 2026-27 game (BIOBUZZ). It finds three kinds of game ball, Pollen, RedNectar and BlueNectar, in a 320 x 320 camera frame. The file is 0.77 MB and is built to run on a Limelight 3A. It extends the RepLiteDet-S0 family (the public 1-class Pollen detector is ftc8565/replitedet-s0) with a 3-class head, an added bottom-up path in the neck and task-aligned training, trained for 24000 steps.
Mean +/- standard deviation over 3 training seeds. Each number is classwise mAP@[.5:.95] on a held-out TEST set (defined below); higher is better. The SSD-MobileNetV2 baseline has the same step budget and uses the same three sources at different shares (40% / 40% / 20%). This model was trained at batch 16 and the baseline at batch 8, so at the same step count it saw twice as many images.
| model | home venue (our nectar test set) | second FTC field (BlueDarkUP robot camera) | new venues (phone photos, other teams) | Pollen-only scenes (pollen-rich test) | mean of first three |
|---|---|---|---|---|---|
| RepLiteDet-S0.5 (this model) | 0.649 +/- 0.004 | 0.763 +/- 0.004 | 0.409 +/- 0.004 | 0.776 +/- 0.003 | 0.607 +/- 0.003 |
| SSD-MobileNetV2 300, same steps, same sources at 40/40/20 | 0.443 +/- 0.023 | 0.656 +/- 0.031 | 0.364 +/- 0.011 | 0.622 +/- 0.010 | 0.488 +/- 0.020 |
The Pollen-only column scores only the Pollen class, on scenes that contain no nectar.
Files: replitedet_s0p5_int8.tflite (the detector) and labels.txt (one class name per line, in output index order: Pollen, RedNectar, BlueNectar). Load both in the Limelight neural detector pipeline.
Set the confidence threshold to 0.45. That is the value this model picked on the validation sets (best F1 over all three classes together at one threshold); every per-class figure below is measured at it.
| class | balls | mAP@[.5:.95] | mAP@0.5 | precision | recall |
|---|---|---|---|---|---|
| Pollen | 438 | 0.706 | 0.948 | 0.896 | 0.902 |
| RedNectar | 159 | 0.592 | 0.879 | 0.854 | 0.849 |
| BlueNectar | 323 | 0.657 | 0.895 | 0.877 | 0.882 |
Wrong-colour boxes at the threshold (a ball found in the right place, labelled as another class):
| real class | called Pollen | called RedNectar | called BlueNectar |
|---|---|---|---|
| Pollen | 395 | 0 | 0 |
| RedNectar | 6 | 134 | 1 |
| BlueNectar | 0 | 3 | 285 |
By ball size (square root of box area, in pixels of the 320 frame), all classes together:
| size | balls | recall at any score | AP@0.5 | AP@0.75 |
|---|---|---|---|---|
| <18 px | 337 | 0.956 | 0.772 | 0.498 |
| 18-28 px | 213 | 0.958 | 0.845 | 0.681 |
| 28-45 px | 220 | 0.996 | 0.944 | 0.916 |
| >45 px | 150 | 1.000 | 0.953 | 0.953 |
Empty frames: 4 boxes on 20 frames with no ball (0.20 per frame).
| file size | median time per frame | measured on |
|---|---|---|
| 0.77 MB | 23.3 ms | one Intel i9 efficiency core, 1 thread, TFLite with XNNPACK, 300 runs |
| RepLiteDet-S0 (1 class), same session | 21.9 ms | the same core and settings, interleaved |
This is a desktop measurement for comparing models, not the frame time on a Limelight 3A. The absolute time on this desktop varies between sessions, so compare only rows measured together.
This model was evaluated (and developed) with BIOBUZZ datasets shared on Roboflow Universe by other FIRST Tech Challenge teams. Thank you to:
Changes: augmented duplicates removed, class names mapped to Pollen / RedNectar / BlueNectar, images restored to their recorded aspect and cropped to 4:3, near-duplicate frames removed, and partial boxes down-weighted in development runs. No labels in these datasets were edited. These teams do not endorse this model.
Model weights and config: Apache 2.0 (see LICENSE). The third-party datasets keep their own licences (see ATTRIBUTION.md); no dataset image ships in this repository.