EdgeTAM: Optimized for Qualcomm Devices
EdgeTAM is a lightweight and efficient version of SAM 2, optimized for on-device tracking and segmenting any object in videos and low memory usage by using a novel 2D Spatial Perceiver and RepViT backbone.
This is based on the implementation of EdgeTAM 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
There are two ways to deploy this model on your device:
Option 1: Download Pre-Exported Models
Below are pre-exported model assets ready for deployment.
| Runtime | Precision | Chipset | SDK Versions | Download |
|---|---|---|---|---|
| ONNX | float | Universal | QAIRT 2.42, ONNX Runtime 1.24.3 | Download |
| ONNX | w8a8 | Universal | QAIRT 2.42, ONNX Runtime 1.24.3 | Download |
| QNN_DLC | float | Universal | QAIRT 2.43 | Download |
| QNN_DLC | w8a8 | Universal | QAIRT 2.43 | Download |
| TFLITE | float | Universal | QAIRT 2.43, TFLite 2.19.1 | Download |
| TFLITE | w8a8 | Universal | QAIRT 2.43, TFLite 2.19.1 | Download |
For more device-specific assets and performance metrics, visit EdgeTAM on Qualcomm® AI Hub.
Option 2: Export with Custom Configurations
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
This option is ideal if you need to customize the model beyond the default configuration provided here.
See our repository for EdgeTAM on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.semantic_segmentation
Model Stats:
- Model checkpoint: edgetam.pt
- Input resolution (Encoder): 1024x1024
- Number of parameters (encoder): 8.3M
- Model size (encoder) (float): 33 MB
- Number of parameters (decoder): 6.22M
- Model size (decoder) (float): 23.7 MB
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| decoder | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 3.151 ms | 17 - 244 MB | NPU |
| decoder | ONNX | float | Snapdragon® X2 Elite | 3.199 ms | 14 - 14 MB | NPU |
| decoder | ONNX | float | Snapdragon® X Elite | 6.836 ms | 16 - 16 MB | NPU |
| decoder | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 4.685 ms | 17 - 334 MB | NPU |
| decoder | ONNX | float | Qualcomm® QCS8550 (Proxy) | 6.773 ms | 16 - 24 MB | NPU |
| decoder | ONNX | float | Qualcomm® QCS9075 | 8.443 ms | 16 - 19 MB | NPU |
| decoder | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.482 ms | 1 - 239 MB | NPU |
| decoder | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 3.745 ms | 4 - 258 MB | NPU |
| decoder | ONNX | w8a8 | Snapdragon® X2 Elite | 3.894 ms | 3 - 3 MB | NPU |
| decoder | ONNX | w8a8 | Snapdragon® X Elite | 8.95 ms | 4 - 4 MB | NPU |
| decoder | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 6.379 ms | 4 - 259 MB | NPU |
| decoder | ONNX | w8a8 | Qualcomm® QCS6490 | 144.82 ms | 62 - 71 MB | CPU |
| decoder | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 8.415 ms | 4 - 12 MB | NPU |
| decoder | ONNX | w8a8 | Qualcomm® QCS9075 | 9.666 ms | 4 - 7 MB | NPU |
| decoder | ONNX | w8a8 | Qualcomm® QCM6690 | 62.468 ms | 56 - 77 MB | CPU |
| decoder | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 4.187 ms | 2 - 236 MB | NPU |
| decoder | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 56.105 ms | 56 - 74 MB | CPU |
| decoder | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.75 ms | 6 - 253 MB | NPU |
| decoder | QNN_DLC | float | Snapdragon® X2 Elite | 3.293 ms | 16 - 16 MB | NPU |
| decoder | QNN_DLC | float | Snapdragon® X Elite | 6.31 ms | 16 - 16 MB | NPU |
| decoder | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 4.104 ms | 16 - 319 MB | NPU |
| decoder | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 13.501 ms | 16 - 286 MB | NPU |
| decoder | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 6.111 ms | 16 - 129 MB | NPU |
| decoder | QNN_DLC | float | Qualcomm® SA8775P | 7.245 ms | 16 - 301 MB | NPU |
| decoder | QNN_DLC | float | Qualcomm® QCS9075 | 7.862 ms | 16 - 34 MB | NPU |
| decoder | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 9.827 ms | 4 - 227 MB | NPU |
| decoder | QNN_DLC | float | Qualcomm® SA7255P | 13.501 ms | 16 - 286 MB | NPU |
| decoder | QNN_DLC | float | Qualcomm® SA8295P | 9.007 ms | 0 - 196 MB | NPU |
| decoder | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.366 ms | 4 - 239 MB | NPU |
| decoder | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.927 ms | 1 - 95 MB | NPU |
| decoder | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 1.401 ms | 4 - 4 MB | NPU |
| decoder | QNN_DLC | w8a8 | Snapdragon® X Elite | 2.275 ms | 4 - 4 MB | NPU |
| decoder | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 1.296 ms | 0 - 91 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 8.69 ms | 3 - 9 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® QCS8275 (Proxy) | 3.983 ms | 4 - 71 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.907 ms | 4 - 105 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® SA8775P | 2.543 ms | 4 - 73 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 2.508 ms | 1 - 7 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 10.187 ms | 4 - 242 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® QCS8450 (Proxy) | 2.647 ms | 2 - 93 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® SA7255P | 3.983 ms | 4 - 71 MB | NPU |
| decoder | QNN_DLC | w8a8 | Qualcomm® SA8295P | 3.013 ms | 4 - 69 MB | NPU |
| decoder | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 1.072 ms | 1 - 67 MB | NPU |
| decoder | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 2.67 ms | 4 - 194 MB | NPU |
| decoder | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.541 ms | 0 - 205 MB | NPU |
| decoder | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 3.778 ms | 0 - 237 MB | NPU |
| decoder | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 12.862 ms | 0 - 209 MB | NPU |
| decoder | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 5.347 ms | 0 - 8 MB | NPU |
| decoder | TFLITE | float | Qualcomm® SA8775P | 6.814 ms | 0 - 210 MB | NPU |
| decoder | TFLITE | float | Qualcomm® QCS9075 | 6.967 ms | 0 - 30 MB | NPU |
| decoder | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 8.862 ms | 0 - 228 MB | NPU |
| decoder | TFLITE | float | Qualcomm® SA7255P | 12.862 ms | 0 - 209 MB | NPU |
| decoder | TFLITE | float | Qualcomm® SA8295P | 8.089 ms | 0 - 221 MB | NPU |
| decoder | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 2.918 ms | 0 - 217 MB | NPU |
| decoder | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.932 ms | 0 - 234 MB | NPU |
| decoder | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 8.695 ms | 0 - 258 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® QCS6490 | 32.177 ms | 12 - 58 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® QCS8275 (Proxy) | 20.098 ms | 0 - 209 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 11.566 ms | 0 - 12 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® SA8775P | 13.16 ms | 0 - 217 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® QCS9075 | 12.99 ms | 0 - 14 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® QCM6690 | 31.894 ms | 12 - 210 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® QCS8450 (Proxy) | 14.461 ms | 0 - 240 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® SA7255P | 20.098 ms | 0 - 209 MB | NPU |
| decoder | TFLITE | w8a8 | Qualcomm® SA8295P | 13.346 ms | 0 - 225 MB | NPU |
| decoder | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 6.333 ms | 0 - 223 MB | NPU |
| decoder | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 14.341 ms | 14 - 210 MB | NPU |
| encoder | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 7.766 ms | 45 - 329 MB | NPU |
| encoder | ONNX | float | Snapdragon® X2 Elite | 11.723 ms | 32 - 32 MB | NPU |
| encoder | ONNX | float | Snapdragon® X Elite | 20.457 ms | 34 - 34 MB | NPU |
| encoder | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 14.99 ms | 45 - 397 MB | NPU |
| encoder | ONNX | float | Qualcomm® QCS8550 (Proxy) | 20.388 ms | 28 - 44 MB | NPU |
| encoder | ONNX | float | Qualcomm® QCS9075 | 28.985 ms | 12 - 27 MB | NPU |
| encoder | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 9.883 ms | 33 - 296 MB | NPU |
| encoder | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 3.293 ms | 11 - 285 MB | NPU |
| encoder | ONNX | w8a8 | Snapdragon® X2 Elite | 3.502 ms | 18 - 18 MB | NPU |
| encoder | ONNX | w8a8 | Snapdragon® X Elite | 8.945 ms | 16 - 16 MB | NPU |
| encoder | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 5.454 ms | 13 - 324 MB | NPU |
| encoder | ONNX | w8a8 | Qualcomm® QCS6490 | 494.833 ms | 203 - 213 MB | CPU |
| encoder | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 8.24 ms | 9 - 17 MB | NPU |
| encoder | ONNX | w8a8 | Qualcomm® QCS9075 | 9.281 ms | 11 - 14 MB | NPU |
| encoder | ONNX | w8a8 | Qualcomm® QCM6690 | 323.598 ms | 207 - 218 MB | CPU |
| encoder | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 4.434 ms | 9 - 271 MB | NPU |
| encoder | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 304.179 ms | 139 - 150 MB | CPU |
| encoder | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 8.622 ms | 12 - 308 MB | NPU |
| encoder | QNN_DLC | float | Snapdragon® X2 Elite | 12.767 ms | 12 - 12 MB | NPU |
| encoder | QNN_DLC | float | Snapdragon® X Elite | 24.165 ms | 12 - 12 MB | NPU |
| encoder | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 17.161 ms | 12 - 364 MB | NPU |
| encoder | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 69.732 ms | 0 - 261 MB | NPU |
| encoder | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 23.836 ms | 12 - 19 MB | NPU |
| encoder | QNN_DLC | float | Qualcomm® SA8775P | 28.163 ms | 0 - 261 MB | NPU |
| encoder | QNN_DLC | float | Qualcomm® QCS9075 | 34.205 ms | 12 - 42 MB | NPU |
| encoder | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 99.081 ms | 0 - 453 MB | NPU |
| encoder | QNN_DLC | float | Qualcomm® SA7255P | 69.732 ms | 0 - 261 MB | NPU |
| encoder | QNN_DLC | float | Qualcomm® SA8295P | 57.565 ms | 0 - 358 MB | NPU |
| encoder | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 11.889 ms | 11 - 289 MB | NPU |
| encoder | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.233 ms | 3 - 270 MB | NPU |
| encoder | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 4.857 ms | 3 - 3 MB | NPU |
| encoder | QNN_DLC | w8a8 | Snapdragon® X Elite | 12.201 ms | 3 - 3 MB | NPU |
| encoder | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.554 ms | 2 - 317 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 3472.544 ms | 3 - 12 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® QCS8275 (Proxy) | 20.511 ms | 3 - 265 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 11.402 ms | 3 - 5 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® SA8775P | 12.099 ms | 3 - 266 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 14.861 ms | 3 - 11 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 61.296 ms | 3 - 269 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® QCS8450 (Proxy) | 1940.735 ms | 3 - 212 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® SA7255P | 20.511 ms | 3 - 265 MB | NPU |
| encoder | QNN_DLC | w8a8 | Qualcomm® SA8295P | 2137.175 ms | 3 - 161 MB | NPU |
| encoder | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 5.372 ms | 3 - 258 MB | NPU |
| encoder | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 12.446 ms | 3 - 301 MB | NPU |
| encoder | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 8.414 ms | 16 - 314 MB | NPU |
| encoder | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 16.312 ms | 15 - 373 MB | NPU |
| encoder | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 68.264 ms | 5 - 272 MB | NPU |
| encoder | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 22.833 ms | 16 - 18 MB | NPU |
| encoder | TFLITE | float | Qualcomm® SA8775P | 27.336 ms | 16 - 280 MB | NPU |
| encoder | TFLITE | float | Qualcomm® QCS9075 | 32.798 ms | 0 - 42 MB | NPU |
| encoder | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 99.442 ms | 0 - 448 MB | NPU |
| encoder | TFLITE | float | Qualcomm® SA7255P | 68.264 ms | 5 - 272 MB | NPU |
| encoder | TFLITE | float | Qualcomm® SA8295P | 54.221 ms | 16 - 366 MB | NPU |
| encoder | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 11.378 ms | 16 - 295 MB | NPU |
| encoder | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 2.657 ms | 4 - 262 MB | NPU |
| encoder | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 4.784 ms | 3 - 307 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® QCS6490 | 3200.206 ms | 0 - 22 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® QCS8275 (Proxy) | 13.813 ms | 4 - 258 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 7.039 ms | 4 - 7 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® SA8775P | 7.84 ms | 4 - 259 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® QCS9075 | 8.416 ms | 3 - 18 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® QCM6690 | 45.167 ms | 2 - 236 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® QCS8450 (Proxy) | 2266.624 ms | 1 - 332 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® SA7255P | 13.813 ms | 4 - 258 MB | NPU |
| encoder | TFLITE | w8a8 | Qualcomm® SA8295P | 2222.753 ms | 0 - 276 MB | NPU |
| encoder | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 3.008 ms | 2 - 249 MB | NPU |
| encoder | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 8.206 ms | 4 - 263 MB | NPU |
License
- The license for the original implementation of EdgeTAM 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.
