DAMO-YOLO-S: the accuracy pick for Qualcomm edge devices
DAMO-YOLO-S (TinyNAS L25, 640×640) scores 46.8 COCO mAP — the highest-accuracy detector we have measured on the RB3 Gen 2 — and its w8a8 graph runs fully NPU-resident on both devices below (no CPU/GPU fallback layers). It is not in Qualcomm's official AI Hub Models catalog; this is a standalone recipe compatible with the Qualcomm® AI Hub Models CLI, compiled and profiled on real devices via Qualcomm® AI Hub Workbench.
Measured on real hardware (AI Hub Workbench)
Quantization: w8a8, calibrated on 23 real COCO val2017 images (quantize job
j578040lp, quantized model mq3eed2p6). Latency is the profile estimate /
median over ~100 runs.
| Device | Runtime | Precision | Latency | Layers on NPU |
|---|---|---|---|---|
| RB3 Gen 2 (QCS6490) | precompiled QNN | w8a8 | 13.3 / 14.8 ms | 231 / 231 |
| RB3 Gen 2 (QCS6490) | TFLite | w8a8 | 15.6 / 17.8 ms | 214 / 214 |
| RB3 Gen 2 (QCS6490) | TFLite | float | 180.3 / 238.8 ms | 26 / 186 |
| Galaxy S25 (SM8750) | precompiled QNN | w8a8 | 2.4 / 2.5 ms | 234 / 234 |
| Galaxy S25 (SM8750) | TFLite | w8a8 | 6.1 / 6.5 ms | 214 / 214 |
| Galaxy S25 (SM8750) | TFLite | float | 7.9 / 7.9 ms | 186 / 186 |
The honest trade-off: against Qualcomm's official YOLOv8-S recipe (44.9 mAP), DAMO-YOLO-S is +1.9 mAP and roughly 2–3× slower on the same silicon. Pick DAMO when accuracy matters, YOLOv8 when latency matters. The full head-to-head — every model, every path, failures included — lives in qcs-bench. Per-run job IDs and the verification log are in REPORT.md.
Weights note: the upstream checkpoint host is gone (the official OSS bucket
returns NoSuchBucket; every upstream download link 404s). This recipe pins a
Hugging Face mirror of the same S checkpoint file
(sha256 07b5c00c15f344110e9c2af724cce8d6a2f7e3af65b11bc88e518b58f221a7ab,
verified by strict state-dict load), so the model stays reproducible.
Setup
1. Install the package
# NOTE: 3.10 <= PYTHON_VERSION < 3.14 is supported.
pip install qai-hub-models
qai-hub-models register anguoyang/damoyolo
qai-hub-models install damoyolo
2. Configure Qualcomm® AI Hub Workbench
Sign in to Qualcomm® AI Hub Workbench,
then navigate to Account -> Settings -> API Token and configure your client:
qai-hub configure --api_token API_TOKEN
Run CLI Demo
qai-hub-models demo damoyolo
See demo.py for sample usage including pre/post processing scripts.
Export for on-device deployment
qai-hub-models export damoyolo
Additional options are documented with the --help option. The exported ONNX
(damoyolo.onnx, input image [1,3,640,640]; outputs boxes, scores,
class_idx) is included in this repository.
License
- The license for the original implementation of DAMO-YOLO can be found here (Apache-2.0).
References
Community
- Join our AI Hub Slack community to collaborate, post questions and learn more about on-device AI.
- For questions or feedback please reach out to us.