Midas-V2: Optimized for Qualcomm Devices
Midas is designed for estimating depth at each point in an image.
This is based on the implementation of Midas-V2 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.45, ONNX Runtime 1.25.0 | Download |
| ONNX | w8a8 | Universal | QAIRT 2.45, ONNX Runtime 1.25.0 | Download |
| QNN_DLC | float | Universal | QAIRT 2.45 | Download |
| QNN_DLC | w8a8 | Universal | QAIRT 2.45 | Download |
| TFLITE | float | Universal | QAIRT 2.45 | Download |
| TFLITE | w8a8 | Universal | QAIRT 2.45 | Download |
For more device-specific assets and performance metrics, visit Midas-V2 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 Midas-V2 on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.depth_estimation
Model Stats:
- Model checkpoint: MiDaS_small
- Input resolution: 256x256
- Number of parameters: 16.6M
- Model size (float): 63.2 MB
- Model size (w8a8): 16.9 MB
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| Midas-V2 | ONNX | float | Snapdragon® X2 Elite | 1.314 ms | 212 - 212 MB | NPU |
| Midas-V2 | ONNX | float | Snapdragon® X Elite | 2.771 ms | 148 - 148 MB | NPU |
| Midas-V2 | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 1.924 ms | 0 - 186 MB | NPU |
| Midas-V2 | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 6.487 ms | 1 - 186 MB | NPU |
| Midas-V2 | ONNX | float | Qualcomm® QCS8550 (Proxy) | 2.726 ms | 1 - 56 MB | NPU |
| Midas-V2 | ONNX | float | Qualcomm® QCS8450 | 6.487 ms | 1 - 186 MB | NPU |
| Midas-V2 | ONNX | float | Snapdragon® 8 Elite Mobile | 1.469 ms | 0 - 160 MB | NPU |
| Midas-V2 | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.243 ms | 1 - 162 MB | NPU |
| Midas-V2 | ONNX | float | Qualcomm® QCS9075 | 4.042 ms | 1 - 47 MB | NPU |
| Midas-V2 | ONNX | float | Qualcomm® QCS8750 | 1.469 ms | 0 - 160 MB | NPU |
| Midas-V2 | ONNX | float | Qualcomm® QCS7181 | 2.771 ms | 148 - 148 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Snapdragon® X2 Elite | 0.616 ms | 213 - 213 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Snapdragon® X Elite | 1.323 ms | 149 - 149 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.907 ms | 0 - 84 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 1.838 ms | 0 - 84 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Qualcomm® QCS6490 | 4.117 ms | 0 - 45 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.326 ms | 0 - 31 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Qualcomm® QCS8450 | 1.838 ms | 0 - 84 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.642 ms | 0 - 55 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 1.599 ms | 0 - 177 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Qualcomm® QCM6690 | 8.623 ms | 0 - 181 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Qualcomm® QCS9075 | 1.463 ms | 0 - 45 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 0.715 ms | 0 - 60 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Qualcomm® QCS7790 | 1.599 ms | 0 - 177 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Qualcomm® QCS8750 | 0.715 ms | 0 - 60 MB | NPU |
| Midas-V2 | ONNX | w8a8 | Qualcomm® QCS7181 | 1.323 ms | 149 - 149 MB | NPU |
| Midas-V2 | QNN_DLC | float | Snapdragon® X2 Elite | 1.58 ms | 1 - 1 MB | NPU |
| Midas-V2 | QNN_DLC | float | Snapdragon® X Elite | 3.31 ms | 1 - 1 MB | NPU |
| Midas-V2 | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 2.114 ms | 0 - 191 MB | NPU |
| Midas-V2 | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 6.825 ms | 0 - 193 MB | NPU |
| Midas-V2 | QNN_DLC | float | Qualcomm® QCS8275 | 12.08 ms | 1 - 158 MB | NPU |
| Midas-V2 | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 3.024 ms | 1 - 3 MB | NPU |
| Midas-V2 | QNN_DLC | float | Qualcomm® QCS8450 | 6.825 ms | 0 - 193 MB | NPU |
| Midas-V2 | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 1.6 ms | 0 - 159 MB | NPU |
| Midas-V2 | QNN_DLC | float | Qualcomm® SA8295P | 5.443 ms | 1 - 155 MB | NPU |
| Midas-V2 | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.284 ms | 1 - 165 MB | NPU |
| Midas-V2 | QNN_DLC | float | Qualcomm® SA7255P | 12.08 ms | 1 - 158 MB | NPU |
| Midas-V2 | QNN_DLC | float | Qualcomm® QCS9075 | 4.46 ms | 1 - 3 MB | NPU |
| Midas-V2 | QNN_DLC | float | Qualcomm® QCS8750 | 1.6 ms | 0 - 159 MB | NPU |
| Midas-V2 | QNN_DLC | float | Qualcomm® QCS7181 | 3.31 ms | 1 - 1 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 0.724 ms | 0 - 0 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Snapdragon® X Elite | 1.456 ms | 0 - 0 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.92 ms | 0 - 81 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Snapdragon® 8 Gen 1 Mobile | 1.874 ms | 0 - 84 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 4.065 ms | 2 - 4 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCS8275 | 2.844 ms | 0 - 47 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.321 ms | 0 - 3 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCS8450 | 1.874 ms | 0 - 84 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.579 ms | 0 - 50 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 1.572 ms | 0 - 171 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 9.053 ms | 2 - 176 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 1.439 ms | 0 - 2 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® SA7255P | 2.844 ms | 0 - 47 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Snapdragon® 8 Elite Mobile | 0.654 ms | 0 - 46 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® SA8295P | 2.24 ms | 0 - 47 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCS7790 | 1.572 ms | 0 - 171 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCS8750 | 0.654 ms | 0 - 46 MB | NPU |
| Midas-V2 | QNN_DLC | w8a8 | Qualcomm® QCS7181 | 1.456 ms | 0 - 0 MB | NPU |
| Midas-V2 | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 2.109 ms | 0 - 226 MB | NPU |
| Midas-V2 | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 6.828 ms | 0 - 215 MB | NPU |
| Midas-V2 | TFLITE | float | Qualcomm® QCS8275 | 12.14 ms | 0 - 173 MB | NPU |
| Midas-V2 | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 3.014 ms | 0 - 3 MB | NPU |
| Midas-V2 | TFLITE | float | Qualcomm® SA8775P | 22.047 ms | 0 - 32 MB | GPU |
| Midas-V2 | TFLITE | float | Qualcomm® SA8650P | 22.047 ms | 0 - 32 MB | GPU |
| Midas-V2 | TFLITE | float | Qualcomm® SA8255P | 22.047 ms | 0 - 32 MB | GPU |
| Midas-V2 | TFLITE | float | Qualcomm® QCS8450 | 6.828 ms | 0 - 215 MB | NPU |
| Midas-V2 | TFLITE | float | Snapdragon® 8 Elite Mobile | 1.606 ms | 0 - 171 MB | NPU |
| Midas-V2 | TFLITE | float | Qualcomm® SA8295P | 5.49 ms | 0 - 162 MB | NPU |
| Midas-V2 | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.282 ms | 0 - 177 MB | NPU |
| Midas-V2 | TFLITE | float | Qualcomm® SA7255P | 12.14 ms | 0 - 173 MB | NPU |
| Midas-V2 | TFLITE | float | Qualcomm® QCS9075 | 4.391 ms | 0 - 39 MB | NPU |
| Midas-V2 | TFLITE | float | Qualcomm® QCS8750 | 1.606 ms | 0 - 171 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.744 ms | 0 - 77 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 1.595 ms | 0 - 82 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® QCS6490 | 3.647 ms | 0 - 28 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® QCS8275 | 2.46 ms | 0 - 44 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.061 ms | 0 - 4 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® SA8775P | 22.388 ms | 1 - 32 MB | GPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® SA8650P | 22.388 ms | 1 - 32 MB | GPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® SA8255P | 22.388 ms | 1 - 32 MB | GPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® QCS8450 | 1.595 ms | 0 - 82 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.493 ms | 0 - 44 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 1.344 ms | 0 - 168 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® QCM6690 | 8.211 ms | 0 - 171 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® QCS9075 | 1.174 ms | 0 - 20 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® SA7255P | 2.46 ms | 0 - 44 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 0.554 ms | 0 - 49 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® SA8295P | 1.964 ms | 0 - 43 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® QCS7790 | 1.344 ms | 0 - 168 MB | NPU |
| Midas-V2 | TFLITE | w8a8 | Qualcomm® QCS8750 | 0.554 ms | 0 - 49 MB | NPU |
License
- The license for the original implementation of Midas-V2 can be found here.
References
- Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer
- Source Model Implementation
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.
