What I learned merging seven public datasets to train a single-class shelf detector
Description and use
Trained a YOLO11n empty‑shelf detector on 11,667 CC BY 4.0 images from seven public datasets, using Apple MPS for training and deploying on a Raspberry Pi 3 with zero cloud GPU cost.
Problem
Build a commercial‑ready empty‑shelf detector with minimal licensing risk and zero cloud GPU cost.
Outcome
Merged 11,667 CC BY 4.0 images, trained YOLO11n on Apple MPS, achieved mAP50 0.844 on a held‑out test set, and deployed the model on a Raspberry Pi 3 with zero cloud GPU spend.
Workflow
- 1. Identify use‑case: empty‑space detection only.
- 2. Filter datasets by licence (strict CC BY 4.0).
- 3. Select datasets with empty‑space or derivable annotations and ≥200 images.
- 4. Merge datasets, remap annotations to single class, preserve original splits, redistribute to 80/10/10 split.
- 5. Deduplicate and check cross‑dataset contamination using perceptual hashes.
- 6. Fine‑tune YOLO11n on Apple MPS (mps device, imgsz 640, batch 16, epochs 60).
- 7. Evaluate on held‑out test set (277 images, 1,255 instances).
- 8. Export model to NCNN for Pi 3 inference.
- 9. Deploy on Pi 3 and run proof‑of‑concept scans.
- 10. Document results and limitations.
- 11. Plan for future commercial deployment and licence compliance.
- 12. Publish operational metrics when available.
Evidence
"I merged seven public Roboflow datasets into 11,667 images — all CC BY 4.0 — trained YOLO11n on Apple MPS, and reached mAP50 0.844 on a held‑out test set of 277 images and 1,255 instances."
"The licence filter was strict: CC BY 4.0 only."
"Training used Ultralytics on my Mac with Apple's MPS backend."
- Record date: 2026-09-05T11:28:39.105Z