WeDetect: Optimized for Qualcomm Devices
WeDetect is a text-conditioned object detection model that uses a prompt-then-detect strategy. Text class names are reparameterized into the model weights before export, producing a fixed-vocabulary detector that runs efficiently on-device. The model uses LTRB (Left-Top-Right-Bottom) regression with multi-scale feature maps at strides 8, 16, and 32.
This is based on the implementation of WeDetect found here. This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the Qualcomm® AI Hub Models library to export with custom configurations. More details on model performance across various devices, can be found here.
Qualcomm AI Hub Models uses Qualcomm AI Hub Workbench to compile, profile, and evaluate this model. Sign up to run these models on a hosted Qualcomm® device.
Getting Started
Due to licensing restrictions, we cannot distribute pre-exported model assets for this model. Use the Qualcomm® AI Hub Models Python library to compile and export the model with your own:
- Custom weights (e.g., fine-tuned checkpoints)
- Custom input shapes
- Target device and runtime configurations
See our repository for WeDetect on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.object_detection
Model Stats:
- Input resolution: 640x640
- Model checkpoint: wedetect_tiny
- Model size (detector) (float): 143 MB
- Model size (detector) (mixed_with_float): 35.9 MB
- Model size (text_encoder) (float): 592 B
- Model size (text_encoder) (mixed_with_float): 13.3 KB
- Number of parameters (detector): 37.3M
- Number of parameters (text_encoder): 3.00
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| detector | ONNX | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 8.822 ms | 3 - 248 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 11.569 ms | 3 - 240 MB | NPU |
| detector | ONNX | float | Snapdragon® X2 Elite | 11.486 ms | 5 - 5 MB | NPU |
| detector | ONNX | float | Snapdragon® X Elite | 20.966 ms | 71 - 71 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 15.97 ms | 2 - 320 MB | NPU |
| detector | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 76.379 ms | 1 - 316 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 34.949 ms | 5 - 14 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 20.254 ms | 0 - 78 MB | NPU |
| detector | ONNX | float | Qualcomm® QCS8450 | 76.379 ms | 1 - 316 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 31.463 ms | 5 - 13 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 20.966 ms | 71 - 71 MB | NPU |
| detector | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 11.569 ms | 3 - 240 MB | NPU |
| detector | ONNX | mixed_with_float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 11.004 ms | 12 - 428 MB | NPU |
| detector | ONNX | mixed_with_float | Snapdragon® 8 Elite For Galaxy Mobile | 13.132 ms | 13 - 427 MB | NPU |
| detector | ONNX | mixed_with_float | Snapdragon® X2 Elite | 11.182 ms | 17 - 17 MB | NPU |
| detector | ONNX | mixed_with_float | Snapdragon® X Elite | 20.599 ms | 36 - 36 MB | NPU |
| detector | ONNX | mixed_with_float | Snapdragon® 8 Gen 3 Mobile | 14.242 ms | 16 - 517 MB | NPU |
| detector | ONNX | mixed_with_float | Snapdragon® 8 Gen 1 Mobile | 31.282 ms | 15 - 538 MB | NPU |
| detector | ONNX | mixed_with_float | Qualcomm® Dragonwing™ IQ-8275 | 20.326 ms | 10 - 19 MB | NPU |
| detector | ONNX | mixed_with_float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 20.112 ms | 13 - 16 MB | NPU |
| detector | ONNX | mixed_with_float | Qualcomm® QCS8450 | 31.282 ms | 15 - 538 MB | NPU |
| detector | ONNX | mixed_with_float | Qualcomm® Dragonwing™ IQ-9075 | 20.83 ms | 11 - 19 MB | NPU |
| detector | ONNX | mixed_with_float | Qualcomm® Dragonwing™ IQ-X7181 | 20.599 ms | 36 - 36 MB | NPU |
| detector | ONNX | mixed_with_float | Qualcomm® Dragonwing™ Q-8750 | 13.132 ms | 13 - 427 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 8.068 ms | 5 - 258 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 11.125 ms | 0 - 248 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 15.601 ms | 4 - 325 MB | NPU |
| detector | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 76.183 ms | 5 - 321 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 34.449 ms | 5 - 13 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 19.587 ms | 5 - 7 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8650P | 30.339 ms | 3 - 297 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8255P | 30.339 ms | 3 - 297 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® QCS8450 | 76.183 ms | 5 - 321 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 30.898 ms | 7 - 14 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 11.125 ms | 0 - 248 MB | NPU |
| detector | QNN_DLC | float | Qualcomm® SA8295P | 55.867 ms | 0 - 246 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 7.235 ms | 5 - 271 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Snapdragon® 8 Elite For Galaxy Mobile | 9.156 ms | 0 - 260 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Snapdragon® 8 Gen 3 Mobile | 10.789 ms | 2 - 345 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Qualcomm® Dragonwing™ IQ-8275 | 15.411 ms | 5 - 13 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 15.272 ms | 5 - 8 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Qualcomm® SA8650P | 18.211 ms | 1 - 307 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Qualcomm® SA8255P | 18.211 ms | 1 - 307 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Qualcomm® Dragonwing™ IQ-9075 | 15.662 ms | 5 - 12 MB | NPU |
| detector | QNN_DLC | mixed_with_float | Qualcomm® Dragonwing™ Q-8750 | 9.156 ms | 0 - 260 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 9.329 ms | 0 - 256 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 11.586 ms | 0 - 251 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 16.581 ms | 0 - 336 MB | NPU |
| detector | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 76.62 ms | 0 - 333 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 36.479 ms | 0 - 84 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 20.556 ms | 0 - 8 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8650P | 31.601 ms | 0 - 267 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8255P | 31.601 ms | 0 - 267 MB | NPU |
| detector | TFLITE | float | Qualcomm® QCS8450 | 76.62 ms | 0 - 333 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 31.339 ms | 0 - 83 MB | NPU |
| detector | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 11.586 ms | 0 - 251 MB | NPU |
| detector | TFLITE | float | Qualcomm® SA8295P | 57.042 ms | 0 - 253 MB | NPU |
| text_encoder | ONNX | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 28.019 ms | 1 - 1931 MB | NPU |
| text_encoder | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 42.993 ms | 1 - 1809 MB | NPU |
| text_encoder | ONNX | float | Snapdragon® X2 Elite | 30.316 ms | 1 - 1 MB | NPU |
| text_encoder | ONNX | float | Snapdragon® X Elite | 72.926 ms | 551 - 551 MB | NPU |
| text_encoder | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 53.64 ms | 1 - 2347 MB | NPU |
| text_encoder | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 99.287 ms | 2 - 1812 MB | NPU |
| text_encoder | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 84.711 ms | 1 - 4 MB | NPU |
| text_encoder | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 70.226 ms | 0 - 643 MB | NPU |
| text_encoder | ONNX | float | Qualcomm® QCS8450 | 99.287 ms | 2 - 1812 MB | NPU |
| text_encoder | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 82.044 ms | 1 - 4 MB | NPU |
| text_encoder | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 72.926 ms | 551 - 551 MB | NPU |
| text_encoder | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 42.993 ms | 1 - 1809 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 27.544 ms | 1 - 1930 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Snapdragon® 8 Elite For Galaxy Mobile | 44.37 ms | 1 - 1808 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Snapdragon® X2 Elite | 30.23 ms | 1 - 1 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Snapdragon® X Elite | 72.627 ms | 550 - 550 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Snapdragon® 8 Gen 3 Mobile | 53.701 ms | 1 - 2348 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Snapdragon® 8 Gen 1 Mobile | 101.74 ms | 2 - 1813 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Qualcomm® Dragonwing™ IQ-8275 | 84.949 ms | 1 - 4 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 70.679 ms | 0 - 643 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Qualcomm® QCS8450 | 101.74 ms | 2 - 1813 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Qualcomm® Dragonwing™ IQ-9075 | 80.736 ms | 1 - 4 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Qualcomm® Dragonwing™ IQ-X7181 | 72.627 ms | 550 - 550 MB | NPU |
| text_encoder | ONNX | mixed_with_float | Qualcomm® Dragonwing™ Q-8750 | 44.37 ms | 1 - 1808 MB | NPU |
| text_encoder | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 30.567 ms | 0 - 1923 MB | NPU |
| text_encoder | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 43.47 ms | 0 - 2052 MB | NPU |
| text_encoder | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 58.223 ms | 0 - 2295 MB | NPU |
| text_encoder | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 107.493 ms | 0 - 1822 MB | NPU |
| text_encoder | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 90.071 ms | 0 - 3 MB | NPU |
| text_encoder | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 76.966 ms | 0 - 8 MB | NPU |
| text_encoder | QNN_DLC | float | Qualcomm® SA8650P | 95.659 ms | 1 - 2019 MB | NPU |
| text_encoder | QNN_DLC | float | Qualcomm® SA8255P | 95.659 ms | 1 - 2019 MB | NPU |
| text_encoder | QNN_DLC | float | Qualcomm® QCS8450 | 107.493 ms | 0 - 1822 MB | NPU |
| text_encoder | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 86.697 ms | 0 - 2 MB | NPU |
| text_encoder | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 43.47 ms | 0 - 2052 MB | NPU |
| text_encoder | QNN_DLC | float | Qualcomm® SA8295P | 102.691 ms | 0 - 1699 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 30.684 ms | 0 - 1923 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Snapdragon® 8 Elite For Galaxy Mobile | 44.283 ms | 0 - 2053 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Snapdragon® 8 Gen 3 Mobile | 57.772 ms | 0 - 2294 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Qualcomm® Dragonwing™ IQ-8275 | 90.081 ms | 0 - 3 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 77.683 ms | 0 - 3 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Qualcomm® SA8650P | 95.579 ms | 1 - 2019 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Qualcomm® SA8255P | 95.579 ms | 1 - 2019 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Qualcomm® Dragonwing™ IQ-9075 | 87.106 ms | 0 - 2 MB | NPU |
| text_encoder | QNN_DLC | mixed_with_float | Qualcomm® Dragonwing™ Q-8750 | 44.283 ms | 0 - 2053 MB | NPU |
| text_encoder | TFLITE | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 33.417 ms | 0 - 1728 MB | NPU |
| text_encoder | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 51.37 ms | 0 - 1692 MB | NPU |
| text_encoder | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 63.588 ms | 1 - 1937 MB | NPU |
| text_encoder | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 113.656 ms | 1 - 1829 MB | NPU |
| text_encoder | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 96.007 ms | 0 - 553 MB | NPU |
| text_encoder | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 84.454 ms | 0 - 4 MB | NPU |
| text_encoder | TFLITE | float | Qualcomm® SA8650P | 111.23 ms | 1 - 2145 MB | NPU |
| text_encoder | TFLITE | float | Qualcomm® SA8255P | 111.23 ms | 1 - 2145 MB | NPU |
| text_encoder | TFLITE | float | Qualcomm® QCS8450 | 113.656 ms | 1 - 1829 MB | NPU |
| text_encoder | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 93.832 ms | 0 - 552 MB | NPU |
| text_encoder | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 51.37 ms | 0 - 1692 MB | NPU |
| text_encoder | TFLITE | float | Qualcomm® SA8295P | 110.805 ms | 1 - 1699 MB | NPU |
License
- The license for the original implementation of WeDetect can be found here.
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.
