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:

  1. 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.
  2. Composited cutouts: robot cutouts pasted onto backgrounds with boxes from the pasted mask.
  3. Negative/background images: images with no duck (229 in train, 21 in val) to suppress false positives.
  4. Real photos: 13 official press-kit launch photos, zero-shot-labeled (OWLv2 + Grounding DINO ensemble agreement), 4 held out in val.

Training recipe

  • yolo11n.pt pretrained backbone, imgsz=320, batch=64, 150 epochs, AdamW (auto), T4
  • data.yaml/split as published in the dataset repo
  • Training script: scripts/train_job.py in 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.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Space using pngwn/microduck-detector 1