SuperPoint: Optimized for Qualcomm Devices
SuperPoint is a self-supervised framework for detecting interest points and computing their descriptors in a single forward pass. It uses a VGG-style encoder shared between a keypoint detector head and a descriptor head, trained via homographic adaptation on synthetic shapes and real images. The model outputs up to 500 keypoints per image with 256-dimensional L2-normalised descriptors, suitable for feature matching, visual localisation, and SLAM.
This is based on the implementation of SuperPoint 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.50, ONNX Runtime 1.30.0 | Download |
| ONNX | w8a8 | Universal | QAIRT 2.50, ONNX Runtime 1.30.0 | Download |
| QNN_DLC | float | Universal | QAIRT 2.50 | Download |
| QNN_DLC | w8a8 | Universal | QAIRT 2.50 | Download |
| TFLITE | float | Universal | QAIRT 2.50 | Download |
| TFLITE | w8a8 | Universal | QAIRT 2.50 | Download |
For more device-specific assets and performance metrics, visit SuperPoint 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 SuperPoint on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.pose_estimation
Model Stats:
- Descriptor dimension: 256
- Input resolution: 480x640
- Model checkpoint: superpoint_v6_from_tf.pth
- Model size (float): 19.6 MB
- Model size (w8a8): 3.22 MB
- Number of parameters: 5.12M
- Output keypoints (max): 500
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| SuperPoint | ONNX | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 6.878 ms | 28 - 196 MB | NPU |
| SuperPoint | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 9.69 ms | 27 - 196 MB | NPU |
| SuperPoint | ONNX | float | Snapdragon® X2 Elite | 7.545 ms | 40 - 40 MB | NPU |
| SuperPoint | ONNX | float | Snapdragon® X Elite | 17.115 ms | 40 - 40 MB | NPU |
| SuperPoint | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 28.558 ms | 19 - 259 MB | NPU |
| SuperPoint | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 28.595 ms | 7 - 18 MB | NPU |
| SuperPoint | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 16.91 ms | 23 - 29 MB | NPU |
| SuperPoint | ONNX | float | Qualcomm® QCS8450 | 28.558 ms | 19 - 259 MB | NPU |
| SuperPoint | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 17.115 ms | 40 - 40 MB | NPU |
| SuperPoint | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 9.69 ms | 27 - 196 MB | NPU |
| SuperPoint | ONNX | float | Snapdragon® 8 Elite Extreme Gen 6 Mobile | 5.498 ms | 34 - 202 MB | NPU |
| SuperPoint | ONNX | float | Snapdragon® 8 Elite Gen 6 Mobile | 6.594 ms | 33 - 201 MB | NPU |
| SuperPoint | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 6.516 ms | 6 - 132 MB | NPU |
| SuperPoint | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 8.295 ms | 8 - 123 MB | NPU |
| SuperPoint | ONNX | w8a8 | Snapdragon® X2 Elite | 6.783 ms | 8 - 8 MB | NPU |
| SuperPoint | ONNX | w8a8 | Snapdragon® X Elite | 20.927 ms | 7 - 7 MB | NPU |
| SuperPoint | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 24.54 ms | 8 - 161 MB | NPU |
| SuperPoint | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 19.575 ms | 7 - 11 MB | NPU |
| SuperPoint | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 19.988 ms | 7 - 167 MB | NPU |
| SuperPoint | ONNX | w8a8 | Qualcomm® QCS8450 | 24.54 ms | 8 - 161 MB | NPU |
| SuperPoint | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 20.756 ms | 7 - 10 MB | NPU |
| SuperPoint | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 20.927 ms | 7 - 7 MB | NPU |
| SuperPoint | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 8.295 ms | 8 - 123 MB | NPU |
| SuperPoint | ONNX | w8a8 | Snapdragon® 8 Elite Extreme Gen 6 Mobile | 5.39 ms | 8 - 137 MB | NPU |
| SuperPoint | ONNX | w8a8 | Snapdragon® 8 Elite Gen 6 Mobile | 10.191 ms | 8 - 119 MB | NPU |
| SuperPoint | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 6.767 ms | 4 - 168 MB | NPU |
| SuperPoint | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 9.605 ms | 4 - 163 MB | NPU |
| SuperPoint | QNN_DLC | float | Snapdragon® X2 Elite | 7.936 ms | 7 - 7 MB | NPU |
| SuperPoint | QNN_DLC | float | Snapdragon® X Elite | 16.54 ms | 7 - 7 MB | NPU |
| SuperPoint | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 30.848 ms | 4 - 231 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 27.41 ms | 7 - 29 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 16.13 ms | 7 - 9 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® SA8775P | 23.662 ms | 0 - 160 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® SA8650P | 23.662 ms | 0 - 160 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® SA8255P | 23.662 ms | 0 - 160 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® QCS8450 | 30.848 ms | 4 - 231 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 24.532 ms | 7 - 28 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 16.54 ms | 7 - 7 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 9.605 ms | 4 - 163 MB | NPU |
| SuperPoint | QNN_DLC | float | Qualcomm® SA8295P | 31.192 ms | 0 - 175 MB | NPU |
| SuperPoint | QNN_DLC | float | Snapdragon® 8 Elite Extreme Gen 6 Mobile | 6.152 ms | 4 - 168 MB | NPU |
| SuperPoint | QNN_DLC | float | Snapdragon® 8 Elite Gen 6 Mobile | 6.594 ms | 7 - 173 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 6.353 ms | 2 - 124 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 7.928 ms | 1 - 114 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 6.994 ms | 2 - 2 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Snapdragon® X Elite | 20.752 ms | 2 - 2 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Snapdragon® 8 Gen 1 Mobile | 23.892 ms | 2 - 152 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 18.848 ms | 1 - 9 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 19.597 ms | 2 - 4 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® SA8775P | 19.86 ms | 2 - 105 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® SA8650P | 19.86 ms | 2 - 105 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® SA8255P | 19.86 ms | 2 - 105 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® QCS8450 | 23.892 ms | 2 - 152 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 20.248 ms | 3 - 10 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 20.752 ms | 2 - 2 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.928 ms | 1 - 114 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Qualcomm® SA8295P | 26.262 ms | 2 - 109 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Snapdragon® 8 Elite Extreme Gen 6 Mobile | 5.29 ms | 1 - 127 MB | NPU |
| SuperPoint | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 6 Mobile | 9.909 ms | 2 - 113 MB | NPU |
| SuperPoint | TFLITE | float | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 6.868 ms | 9 - 178 MB | NPU |
| SuperPoint | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 9.311 ms | 10 - 182 MB | NPU |
| SuperPoint | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 30.481 ms | 12 - 247 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 28.578 ms | 11 - 36 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 16.746 ms | 12 - 15 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® SA8775P | 24.709 ms | 12 - 176 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® SA8650P | 24.709 ms | 12 - 176 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® SA8255P | 24.709 ms | 12 - 176 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® QCS8450 | 30.481 ms | 12 - 247 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 25.707 ms | 0 - 24 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 9.311 ms | 10 - 182 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® SA7255P | 86.98 ms | 12 - 175 MB | NPU |
| SuperPoint | TFLITE | float | Qualcomm® SA8295P | 28.997 ms | 12 - 191 MB | NPU |
| SuperPoint | TFLITE | float | Snapdragon® 8 Elite Extreme Gen 6 Mobile | 5.249 ms | 1 - 170 MB | NPU |
| SuperPoint | TFLITE | float | Snapdragon® 8 Elite Gen 6 Mobile | 6.5 ms | 10 - 184 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 For Galaxy Mobile | 6.646 ms | 2 - 125 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 8.403 ms | 0 - 113 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 24.822 ms | 3 - 154 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 580.219 ms | 299 - 686 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 19.277 ms | 3 - 13 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 20.207 ms | 3 - 5 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® SA8775P | 20.427 ms | 3 - 105 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® SA8650P | 20.427 ms | 3 - 105 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® SA8255P | 20.427 ms | 3 - 105 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® QCS8450 | 24.822 ms | 3 - 154 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 20.935 ms | 2 - 12 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 702.379 ms | 260 - 458 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 204.681 ms | 299 - 474 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 8.403 ms | 0 - 113 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® SA7255P | 39.934 ms | 3 - 104 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Qualcomm® SA8295P | 27.183 ms | 3 - 108 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 204.681 ms | 299 - 474 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Snapdragon® 8 Elite Extreme Gen 6 Mobile | 5.45 ms | 2 - 128 MB | NPU |
| SuperPoint | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 6 Mobile | 10.277 ms | 2 - 114 MB | NPU |
License
- The license for the original implementation of SuperPoint 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.
