MediaPipe-Face-Detection: Optimized for Qualcomm Devices
Designed for sub-millisecond processing, this model predicts bounding boxes and pose skeletons (left eye, right eye, nose tip, mouth, left eye tragion, and right eye tragion) of faces in an image.
This is based on the implementation of MediaPipe-Face-Detection 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 MediaPipe-Face-Detection 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 MediaPipe-Face-Detection on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.object_detection
Model Stats:
- Input resolution: 256x256
- Number of output classes: 6
- Number of parameters (face_detector): 135K
- Model size (face_detector) (w8a8): 260 KB
- Number of parameters (face_landmark_detector): 603K
- Model size (face_landmark_detector) (w8a8): 750 KB
- Model size (face_detector) (float): 557 KB
- Model size (face_landmark_detector) (float): 2.33 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 | 0.334 ms | 0 - 34 MB | NPU |
| face_detector | ONNX | float | Snapdragon® X2 Elite | 0.406 ms | 0 - 0 MB | NPU |
| face_detector | ONNX | float | Snapdragon® X Elite | 0.874 ms | 2 - 2 MB | NPU |
| face_detector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 0.491 ms | 0 - 44 MB | NPU |
| face_detector | ONNX | float | Qualcomm® QCS8550 (Proxy) | 0.684 ms | 1 - 76 MB | NPU |
| face_detector | ONNX | float | Qualcomm® QCS9075 | 1.136 ms | 1 - 3 MB | NPU |
| face_detector | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 0.41 ms | 0 - 28 MB | NPU |
| face_detector | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.148 ms | 0 - 36 MB | NPU |
| face_detector | ONNX | w8a8 | Snapdragon® X2 Elite | 0.143 ms | 0 - 0 MB | NPU |
| face_detector | ONNX | w8a8 | Snapdragon® X Elite | 0.399 ms | 1 - 1 MB | NPU |
| face_detector | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.186 ms | 0 - 43 MB | NPU |
| face_detector | ONNX | w8a8 | Qualcomm® QCS6490 | 10.069 ms | 6 - 10 MB | CPU |
| face_detector | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 0.283 ms | 0 - 3 MB | NPU |
| face_detector | ONNX | w8a8 | Qualcomm® QCS9075 | 0.422 ms | 0 - 3 MB | NPU |
| face_detector | ONNX | w8a8 | Qualcomm® QCM6690 | 7.289 ms | 6 - 14 MB | CPU |
| face_detector | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.16 ms | 0 - 37 MB | NPU |
| face_detector | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 5.441 ms | 7 - 17 MB | CPU |
| face_detector | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 0.276 ms | 1 - 33 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® X2 Elite | 0.491 ms | 1 - 1 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® X Elite | 0.705 ms | 1 - 1 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 0.395 ms | 0 - 41 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 2.91 ms | 1 - 30 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 0.537 ms | 1 - 3 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® SA8775P | 1.024 ms | 1 - 31 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS9075 | 0.893 ms | 1 - 3 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 0.758 ms | 1 - 38 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® SA7255P | 2.91 ms | 1 - 30 MB | NPU |
| face_detector | QNN_DLC | float | Qualcomm® SA8295P | 1.096 ms | 0 - 23 MB | NPU |
| face_detector | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 0.335 ms | 1 - 29 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.133 ms | 0 - 30 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 0.239 ms | 0 - 0 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Snapdragon® X Elite | 0.355 ms | 0 - 0 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.153 ms | 0 - 37 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 0.776 ms | 0 - 2 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® QCS8275 (Proxy) | 0.649 ms | 0 - 28 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 0.249 ms | 0 - 66 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® SA8775P | 0.437 ms | 0 - 29 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 0.335 ms | 0 - 2 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 1.267 ms | 0 - 26 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® QCS8450 (Proxy) | 0.292 ms | 0 - 38 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® SA7255P | 0.649 ms | 0 - 28 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Qualcomm® SA8295P | 0.589 ms | 0 - 25 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.14 ms | 0 - 27 MB | NPU |
| face_detector | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 0.252 ms | 0 - 26 MB | NPU |
| face_detector | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 0.282 ms | 0 - 32 MB | NPU |
| face_detector | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 0.395 ms | 0 - 41 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 2.95 ms | 0 - 29 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 0.54 ms | 0 - 2 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® SA8775P | 1.046 ms | 0 - 31 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS9075 | 0.9 ms | 0 - 3 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 0.773 ms | 0 - 37 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® SA7255P | 2.95 ms | 0 - 29 MB | NPU |
| face_detector | TFLITE | float | Qualcomm® SA8295P | 1.119 ms | 0 - 23 MB | NPU |
| face_detector | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 0.349 ms | 0 - 32 MB | NPU |
| face_detector | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.135 ms | 0 - 30 MB | NPU |
| face_detector | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.163 ms | 0 - 36 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® QCS6490 | 0.698 ms | 0 - 3 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® QCS8275 (Proxy) | 0.696 ms | 0 - 27 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 0.248 ms | 0 - 2 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® SA8775P | 0.451 ms | 0 - 29 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® QCS9075 | 0.354 ms | 0 - 2 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® QCM6690 | 1.269 ms | 0 - 26 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® QCS8450 (Proxy) | 0.304 ms | 0 - 37 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® SA7255P | 0.696 ms | 0 - 27 MB | NPU |
| face_detector | TFLITE | w8a8 | Qualcomm® SA8295P | 0.612 ms | 0 - 25 MB | NPU |
| face_detector | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.145 ms | 0 - 26 MB | NPU |
| face_detector | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 0.251 ms | 0 - 25 MB | NPU |
| face_landmark_detector | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 0.155 ms | 0 - 27 MB | NPU |
| face_landmark_detector | ONNX | float | Snapdragon® X2 Elite | 0.152 ms | 0 - 0 MB | NPU |
| face_landmark_detector | ONNX | float | Snapdragon® X Elite | 0.377 ms | 0 - 0 MB | NPU |
| face_landmark_detector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 0.191 ms | 0 - 34 MB | NPU |
| face_landmark_detector | ONNX | float | Qualcomm® QCS8550 (Proxy) | 0.278 ms | 0 - 3 MB | NPU |
| face_landmark_detector | ONNX | float | Qualcomm® QCS9075 | 0.421 ms | 0 - 3 MB | NPU |
| face_landmark_detector | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 0.176 ms | 0 - 28 MB | NPU |
| face_landmark_detector | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.122 ms | 0 - 29 MB | NPU |
| face_landmark_detector | ONNX | w8a8 | Snapdragon® X2 Elite | 0.115 ms | 0 - 0 MB | NPU |
| face_landmark_detector | ONNX | w8a8 | Snapdragon® X Elite | 0.299 ms | 0 - 0 MB | NPU |
| face_landmark_detector | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.149 ms | 0 - 37 MB | NPU |
| face_landmark_detector | ONNX | w8a8 | Qualcomm® QCS6490 | 7.93 ms | 5 - 8 MB | CPU |
| face_landmark_detector | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 0.199 ms | 0 - 3 MB | NPU |
| face_landmark_detector | ONNX | w8a8 | Qualcomm® QCS9075 | 0.321 ms | 0 - 3 MB | NPU |
| face_landmark_detector | ONNX | w8a8 | Qualcomm® QCM6690 | 3.694 ms | 0 - 7 MB | CPU |
| face_landmark_detector | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.132 ms | 0 - 27 MB | NPU |
| face_landmark_detector | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 2.439 ms | 0 - 8 MB | CPU |
| face_landmark_detector | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 0.131 ms | 0 - 25 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Snapdragon® X2 Elite | 0.245 ms | 0 - 0 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Snapdragon® X Elite | 0.323 ms | 0 - 0 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 0.157 ms | 0 - 32 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 0.869 ms | 0 - 23 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 0.22 ms | 0 - 2 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Qualcomm® SA8775P | 0.442 ms | 0 - 24 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Qualcomm® QCS9075 | 0.334 ms | 0 - 2 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 0.324 ms | 0 - 37 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Qualcomm® SA7255P | 0.869 ms | 0 - 23 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Qualcomm® SA8295P | 0.606 ms | 0 - 23 MB | NPU |
| face_landmark_detector | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 0.142 ms | 0 - 22 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.095 ms | 0 - 26 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 0.196 ms | 0 - 0 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Snapdragon® X Elite | 0.264 ms | 0 - 0 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.119 ms | 0 - 34 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 0.561 ms | 0 - 2 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® QCS8275 (Proxy) | 0.492 ms | 0 - 24 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 0.16 ms | 0 - 2 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® SA8775P | 0.33 ms | 0 - 26 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 0.224 ms | 0 - 2 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 0.516 ms | 0 - 21 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® QCS8450 (Proxy) | 0.198 ms | 0 - 35 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® SA7255P | 0.492 ms | 0 - 24 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Qualcomm® SA8295P | 0.456 ms | 0 - 21 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.098 ms | 0 - 23 MB | NPU |
| face_landmark_detector | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 0.151 ms | 0 - 23 MB | NPU |
| face_landmark_detector | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 0.109 ms | 0 - 26 MB | NPU |
| face_landmark_detector | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 0.153 ms | 0 - 33 MB | NPU |
| face_landmark_detector | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 0.87 ms | 0 - 22 MB | NPU |
| face_landmark_detector | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 0.193 ms | 0 - 1 MB | NPU |
| face_landmark_detector | TFLITE | float | Qualcomm® SA8775P | 0.439 ms | 0 - 25 MB | NPU |
| face_landmark_detector | TFLITE | float | Qualcomm® QCS9075 | 0.307 ms | 0 - 4 MB | NPU |
| face_landmark_detector | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 0.313 ms | 0 - 38 MB | NPU |
| face_landmark_detector | TFLITE | float | Qualcomm® SA7255P | 0.87 ms | 0 - 22 MB | NPU |
| face_landmark_detector | TFLITE | float | Qualcomm® SA8295P | 0.57 ms | 0 - 23 MB | NPU |
| face_landmark_detector | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 0.134 ms | 0 - 27 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.098 ms | 0 - 25 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.12 ms | 0 - 32 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® QCS6490 | 0.414 ms | 0 - 3 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® QCS8275 (Proxy) | 0.527 ms | 0 - 23 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 0.149 ms | 0 - 63 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® SA8775P | 0.342 ms | 0 - 25 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® QCS9075 | 0.244 ms | 0 - 3 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® QCM6690 | 0.516 ms | 0 - 21 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® QCS8450 (Proxy) | 0.199 ms | 0 - 34 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® SA7255P | 0.527 ms | 0 - 23 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Qualcomm® SA8295P | 0.464 ms | 0 - 21 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.105 ms | 0 - 23 MB | NPU |
| face_landmark_detector | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 0.151 ms | 0 - 22 MB | NPU |
License
- The license for the original implementation of MediaPipe-Face-Detection 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.
