YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
microduck detector (YOLO11n @ 320px)
A tiny object detector for microduck โ the 25 cm bipedal robot duck from Pollen Robotics (Hugging Face's robotics team, announced 2026-08-27). It detects the presence and location (bounding box) of microduck in an image.
- Architecture: Ultralytics YOLO11n, trained at 320ร320 input
- Parameters: 2,582,347 (fused) โ under the 5M budget
- Single class:
microduck
Results
Evaluated on the dataset's val split (134 images: synthetic renders/composites + real press photos):
| Metric | Value |
|---|---|
| mAP50 | 0.632 |
| mAP50-95 | 0.433 |
| Precision | 0.536 |
| Recall | 0.728 |
| Inference (T4, fused) | ~3.2 ms |
Note: the val split mixes synthetic and real images; mAP is dominated by synthetic scenes.
Real-photo check (4 held-out press photos, conf 0.25, IoU 0.5)
| True positives | 4 (bedroom 0.72, kickabout 0.86 & 0.70, watching 0.92) |
| False positives | 3 (1 background object in bedroom; 2 duplicate/overlap detections in kickabout) |
| False negatives | 1 (desk โ duck partially occluded at frame edge) |
| Precision / Recall | 0.57 / 0.80 |
Annotated results: predictions/real_val_sheet_conf050.jpg (boxes โฅ0.5) and predictions/real_val_sheet.jpg (conf 0.25).
Dataset
Trained on pngwn/microduck-detection-dataset โ 2,048 train / 134 val:
- Synthetic renders (majority): the robot rendered from the open MuJoCo model in
pollen-robotics/microduck_rl(STAND/SIT/FOLD keyframes, randomized cameras, lighting, the four official colorways), with ground-truth boxes computed by exact mesh-vertex projection โ no manual labeling. - Composited cutouts: robot cutouts pasted onto backgrounds with boxes from the pasted mask.
- Negative/background images: images with no duck (229 in train, 21 in val) to suppress false positives.
- Real photos: 13 official press-kit launch photos, zero-shot-labeled (OWLv2 + Grounding DINO ensemble agreement), 4 held out in val.
Training recipe
yolo11n.ptpretrained backbone,imgsz=320,batch=64, 150 epochs, AdamW (auto), T4data.yaml/split as published in the dataset repo- Training script:
scripts/train_job.pyin the dataset repo
Usage
from huggingface_hub import hf_hub_download
from ultralytics import YOLO
m = YOLO(hf_hub_download("pngwn/microduck-detector", "microduck_yolo11n.pt"))
r = m.predict("photo.jpg", imgsz=320, conf=0.25)
Limitations
- Synthetic-first training: label quality is exact for renders but the OWLv2/DINO-labeled real-photo boxes were spot-checked, not hand-verified; one cluttered press photo (skate) was excluded from training entirely.
- Domain gap remains between renders and real photos: on the 4 real val photos the model detects 4/5 ducks (80% recall) but produces duplicate detections in cluttered scenes. More real, hand-labeled photos would close this gap.
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support