SixDRepNet: Optimized for Qualcomm Devices
6DRepNet predicts head pose (pitch, yaw, roll) from a face image using a RepVGG-B1g2 backbone and a continuous 6D rotation representation, achieving robust and accurate head pose estimation.
This is based on the implementation of SixDRepNet 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.25.0 | Download |
| QNN_DLC | float | Universal | QAIRT 2.45 | Download |
| TFLITE | float | Universal | QAIRT 2.45 | Download |
For more device-specific assets and performance metrics, visit SixDRepNet 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 SixDRepNet on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.pose_estimation
Model Stats:
- Input resolution: 224x224
- Number of parameters: 15.3M
- Model size (float): 58.4 MB
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| face_detector | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.49 ms | 0 - 166 MB | NPU |
| face_detector | ONNX | float | Snapdragon® X2 Elite | 1.607 ms | 208 - 208 MB | NPU |
| face_detector | ONNX | float | Snapdragon® X Elite | 3.644 ms | 176 - 176 MB | NPU |
| face_detector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 2.24 ms | 0 - 174 MB | NPU |
| face_detector | ONNX | float | Qualcomm® QCS8550 (Proxy) | 3.541 ms | 0 - 42 MB | NPU |
| face_detector | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 1.809 ms | 0 - 164 MB | NPU |
| face_detector | ONNX | float | Qualcomm® QCS9075 | 5.335 ms | 5 - 50 MB | NPU |
| face_detector | ONNX | float | Qualcomm® QCS8750 | 1.809 ms | 0 - 164 MB | NPU |
| face_detector | ONNX | float | Qualcomm® QCS7181 | 3.644 ms | 176 - 176 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 5.425 ms | 5 - 158 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® X2 Elite | 5.832 ms | 5 - 5 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® X Elite | 16.701 ms | 5 - 5 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 9.303 ms | 5 - 172 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS8275 | 28.301 ms | 1 - 151 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 15.574 ms | 5 - 88 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® SA8775P | 16.569 ms | 1 - 153 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® SA8650P | 16.569 ms | 1 - 153 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® SA8255P | 16.569 ms | 1 - 153 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 24.66 ms | 5 - 175 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® SA7255P | 28.301 ms | 1 - 151 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® SA8295P | 20.599 ms | 0 - 150 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 6.916 ms | 0 - 150 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS9075 | 19.394 ms | 5 - 12 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS8750 | 6.916 ms | 0 - 150 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS7181 | 16.701 ms | 5 - 5 MB | NPU |
| face_detector | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 5.472 ms | 1 - 155 MB | NPU |
| face_detector | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 9.279 ms | 0 - 166 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS8275 | 28.329 ms | 1 - 150 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 15.649 ms | 1 - 3 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® SA8775P | 16.518 ms | 1 - 154 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® SA8650P | 16.518 ms | 1 - 154 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® SA8255P | 16.518 ms | 1 - 154 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 24.642 ms | 1 - 173 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® SA7255P | 28.329 ms | 1 - 150 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® SA8295P | 20.681 ms | 1 - 151 MB | NPU |
| face_detector | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 6.928 ms | 0 - 149 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS9075 | 19.232 ms | 0 - 9 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS8750 | 6.928 ms | 0 - 149 MB | NPU |
| pose_estimator | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.329 ms | 1 - 27 MB | NPU |
| pose_estimator | ONNX | float | Snapdragon® X2 Elite | 1.295 ms | 211 - 211 MB | NPU |
| pose_estimator | ONNX | float | Snapdragon® X Elite | 2.491 ms | 156 - 156 MB | NPU |
| pose_estimator | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 2.062 ms | 0 - 41 MB | NPU |
| pose_estimator | ONNX | float | Qualcomm® QCS8550 (Proxy) | 2.632 ms | 0 - 374 MB | NPU |
| pose_estimator | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 1.637 ms | 0 - 24 MB | NPU |
| pose_estimator | ONNX | float | Qualcomm® QCS9075 | 4.56 ms | 1 - 46 MB | NPU |
| pose_estimator | ONNX | float | Qualcomm® QCS8750 | 1.637 ms | 0 - 24 MB | NPU |
| pose_estimator | ONNX | float | Qualcomm® QCS7181 | 2.491 ms | 156 - 156 MB | NPU |
| pose_estimator | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.42 ms | 1 - 29 MB | NPU |
| pose_estimator | QNN_DLC | float | Snapdragon® X2 Elite | 1.517 ms | 1 - 1 MB | NPU |
| pose_estimator | QNN_DLC | float | Snapdragon® X Elite | 2.855 ms | 1 - 1 MB | NPU |
| pose_estimator | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 2.241 ms | 0 - 39 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® QCS8275 | 17.824 ms | 1 - 25 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 2.774 ms | 1 - 2 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® SA8775P | 4.793 ms | 0 - 26 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® SA8650P | 4.793 ms | 0 - 26 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® SA8255P | 4.793 ms | 0 - 26 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 6.534 ms | 0 - 39 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® SA7255P | 17.824 ms | 1 - 25 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® SA8295P | 5.402 ms | 1 - 22 MB | NPU |
| pose_estimator | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 1.684 ms | 1 - 27 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® QCS9075 | 4.905 ms | 3 - 5 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® QCS8750 | 1.684 ms | 1 - 27 MB | NPU |
| pose_estimator | QNN_DLC | float | Qualcomm® QCS7181 | 2.855 ms | 1 - 1 MB | NPU |
| pose_estimator | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.366 ms | 0 - 30 MB | NPU |
| pose_estimator | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 2.249 ms | 0 - 44 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® QCS8275 | 17.402 ms | 0 - 26 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 2.848 ms | 0 - 2 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® SA8775P | 4.799 ms | 0 - 27 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® SA8650P | 4.799 ms | 0 - 27 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® SA8255P | 4.799 ms | 0 - 27 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 6.509 ms | 0 - 47 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® SA7255P | 17.402 ms | 0 - 26 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® SA8295P | 5.346 ms | 0 - 27 MB | NPU |
| pose_estimator | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 1.707 ms | 0 - 30 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® QCS9075 | 4.743 ms | 0 - 78 MB | NPU |
| pose_estimator | TFLITE | float | Qualcomm® QCS8750 | 1.707 ms | 0 - 30 MB | NPU |
License
- The license for the original implementation of SixDRepNet 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.
