MediaPipe-Pose-Estimation: Optimized for Qualcomm Devices

The MediaPipe Pose Landmark Detector is a machine learning pipeline that predicts bounding boxes and pose skeletons of the face, hands, and torso in an image.

This is based on the implementation of MediaPipe-Pose-Estimation 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.37, ONNX Runtime 1.23.0 Download
ONNX w8a8 Universal QAIRT 2.37, ONNX Runtime 1.23.0 Download
QNN_DLC float Universal QAIRT 2.42 Download
QNN_DLC w8a8 Universal QAIRT 2.42 Download
TFLITE float Universal QAIRT 2.42, TFLite 2.17.0 Download
TFLITE w8a8 Universal QAIRT 2.42, TFLite 2.17.0 Download

For more device-specific assets and performance metrics, visit MediaPipe-Pose-Estimation 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-Pose-Estimation on GitHub for usage instructions.

Model Details

Model Type: Model_use_case.pose_estimation

Model Stats:

  • Input resolution: 256x256
  • Number of parameters (PoseDetector): 815K
  • Model size (PoseDetector) (float): 3.14 MB
  • Number of parameters (PoseLandmarkDetector): 3.36M
  • Model size (PoseLandmarkDetector) (float): 12.9 MB

Performance Summary

Model Runtime Precision Chipset Inference Time (ms) Peak Memory Range (MB) Primary Compute Unit
PoseDetector ONNX float Snapdragon® X Elite 1.041 ms 2 - 2 MB NPU
PoseDetector ONNX float Snapdragon® 8 Gen 3 Mobile 0.845 ms 0 - 120 MB NPU
PoseDetector ONNX float Qualcomm® QCS8550 (Proxy) 1.101 ms 0 - 122 MB NPU
PoseDetector ONNX float Qualcomm® QCS9075 1.786 ms 0 - 3 MB NPU
PoseDetector ONNX float Snapdragon® 8 Elite For Galaxy Mobile 0.664 ms 0 - 101 MB NPU
PoseDetector ONNX float Snapdragon® 8 Elite Gen 5 Mobile 0.548 ms 0 - 102 MB NPU
PoseDetector ONNX w8a8 Snapdragon® X Elite 0.439 ms 0 - 0 MB NPU
PoseDetector ONNX w8a8 Snapdragon® 8 Gen 3 Mobile 0.429 ms 0 - 114 MB NPU
PoseDetector ONNX w8a8 Qualcomm® QCS6490 13.894 ms 9 - 14 MB CPU
PoseDetector ONNX w8a8 Qualcomm® QCS8550 (Proxy) 0.543 ms 0 - 109 MB NPU
PoseDetector ONNX w8a8 Qualcomm® QCS9075 0.643 ms 0 - 3 MB NPU
PoseDetector ONNX w8a8 Qualcomm® QCM6690 10.21 ms 10 - 19 MB CPU
PoseDetector ONNX w8a8 Snapdragon® 8 Elite For Galaxy Mobile 0.304 ms 0 - 99 MB NPU
PoseDetector ONNX w8a8 Snapdragon® 7 Gen 4 Mobile 7.585 ms 9 - 19 MB CPU
PoseDetector ONNX w8a8 Snapdragon® 8 Elite Gen 5 Mobile 0.286 ms 0 - 103 MB NPU
PoseDetector QNN_DLC float Snapdragon® X Elite 1.021 ms 0 - 0 MB NPU
PoseDetector QNN_DLC float Snapdragon® 8 Gen 3 Mobile 0.625 ms 0 - 50 MB NPU
PoseDetector QNN_DLC float Qualcomm® QCS8275 (Proxy) 5.758 ms 0 - 32 MB NPU
PoseDetector QNN_DLC float Qualcomm® QCS8550 (Proxy) 0.851 ms 0 - 2 MB NPU
PoseDetector QNN_DLC float Qualcomm® SA8775P 1.59 ms 0 - 33 MB NPU
PoseDetector QNN_DLC float Qualcomm® QCS9075 1.497 ms 0 - 2 MB NPU
PoseDetector QNN_DLC float Qualcomm® QCS8450 (Proxy) 2.173 ms 0 - 43 MB NPU
PoseDetector QNN_DLC float Qualcomm® SA7255P 5.758 ms 0 - 32 MB NPU
PoseDetector QNN_DLC float Qualcomm® SA8295P 2.546 ms 0 - 23 MB NPU
PoseDetector QNN_DLC float Snapdragon® 8 Elite For Galaxy Mobile 0.517 ms 0 - 35 MB NPU
PoseDetector QNN_DLC float Snapdragon® 8 Elite Gen 5 Mobile 0.397 ms 0 - 34 MB NPU
PoseDetector QNN_DLC w8a8 Snapdragon® X Elite 0.434 ms 0 - 0 MB NPU
PoseDetector QNN_DLC w8a8 Snapdragon® 8 Gen 3 Mobile 0.218 ms 0 - 41 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® QCS6490 1.518 ms 0 - 2 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® QCS8275 (Proxy) 0.986 ms 0 - 29 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® QCS8550 (Proxy) 0.318 ms 0 - 1 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® SA8775P 0.5 ms 0 - 31 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® QCS9075 0.402 ms 0 - 2 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® QCM6690 3.206 ms 0 - 142 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® QCS8450 (Proxy) 0.572 ms 0 - 43 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® SA7255P 0.986 ms 0 - 29 MB NPU
PoseDetector QNN_DLC w8a8 Qualcomm® SA8295P 0.91 ms 0 - 26 MB NPU
PoseDetector QNN_DLC w8a8 Snapdragon® 8 Elite For Galaxy Mobile 0.188 ms 0 - 31 MB NPU
PoseDetector QNN_DLC w8a8 Snapdragon® 7 Gen 4 Mobile 0.408 ms 0 - 26 MB NPU
PoseDetector QNN_DLC w8a8 Snapdragon® 8 Elite Gen 5 Mobile 0.155 ms 0 - 31 MB NPU
PoseDetector TFLITE float Snapdragon® 8 Gen 3 Mobile 0.627 ms 0 - 50 MB NPU
PoseDetector TFLITE float Qualcomm® QCS8275 (Proxy) 5.861 ms 0 - 32 MB NPU
PoseDetector TFLITE float Qualcomm® QCS8550 (Proxy) 0.851 ms 0 - 2 MB NPU
PoseDetector TFLITE float Qualcomm® SA8775P 1.598 ms 0 - 37 MB NPU
PoseDetector TFLITE float Qualcomm® QCS9075 1.493 ms 0 - 5 MB NPU
PoseDetector TFLITE float Qualcomm® QCS8450 (Proxy) 2.168 ms 0 - 43 MB NPU
PoseDetector TFLITE float Qualcomm® SA7255P 5.861 ms 0 - 32 MB NPU
PoseDetector TFLITE float Qualcomm® SA8295P 2.549 ms 0 - 25 MB NPU
PoseDetector TFLITE float Snapdragon® 8 Elite For Galaxy Mobile 0.517 ms 0 - 30 MB NPU
PoseDetector TFLITE float Snapdragon® 8 Elite Gen 5 Mobile 0.398 ms 0 - 36 MB NPU
PoseDetector TFLITE w8a8 Snapdragon® 8 Gen 3 Mobile 0.224 ms 0 - 39 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® QCS6490 1.56 ms 0 - 5 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® QCS8275 (Proxy) 1.037 ms 0 - 29 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® QCS8550 (Proxy) 0.321 ms 0 - 75 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® SA8775P 1.9 ms 0 - 28 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® QCS9075 0.42 ms 0 - 3 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® QCM6690 3.201 ms 0 - 141 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® QCS8450 (Proxy) 0.573 ms 0 - 41 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® SA7255P 1.037 ms 0 - 29 MB NPU
PoseDetector TFLITE w8a8 Qualcomm® SA8295P 0.94 ms 0 - 25 MB NPU
PoseDetector TFLITE w8a8 Snapdragon® 8 Elite For Galaxy Mobile 0.192 ms 0 - 25 MB NPU
PoseDetector TFLITE w8a8 Snapdragon® 7 Gen 4 Mobile 0.391 ms 0 - 25 MB NPU
PoseDetector TFLITE w8a8 Snapdragon® 8 Elite Gen 5 Mobile 0.161 ms 0 - 31 MB NPU
PoseLandmarkDetector ONNX float Snapdragon® X Elite 1.16 ms 7 - 7 MB NPU
PoseLandmarkDetector ONNX float Snapdragon® 8 Gen 3 Mobile 0.882 ms 0 - 145 MB NPU
PoseLandmarkDetector ONNX float Qualcomm® QCS8550 (Proxy) 1.167 ms 0 - 9 MB NPU
PoseLandmarkDetector ONNX float Qualcomm® QCS9075 1.667 ms 1 - 3 MB NPU
PoseLandmarkDetector ONNX float Snapdragon® 8 Elite For Galaxy Mobile 0.757 ms 0 - 110 MB NPU
PoseLandmarkDetector ONNX float Snapdragon® 8 Elite Gen 5 Mobile 0.636 ms 0 - 112 MB NPU
PoseLandmarkDetector ONNX w8a8 Snapdragon® X Elite 0.475 ms 4 - 4 MB NPU
PoseLandmarkDetector ONNX w8a8 Snapdragon® 8 Gen 3 Mobile 0.367 ms 0 - 135 MB NPU
PoseLandmarkDetector ONNX w8a8 Qualcomm® QCS6490 19.015 ms 7 - 14 MB CPU
PoseLandmarkDetector ONNX w8a8 Qualcomm® QCS8550 (Proxy) 0.535 ms 0 - 123 MB NPU
PoseLandmarkDetector ONNX w8a8 Qualcomm® QCS9075 0.725 ms 0 - 3 MB NPU
PoseLandmarkDetector ONNX w8a8 Qualcomm® QCM6690 9.154 ms 9 - 20 MB CPU
PoseLandmarkDetector ONNX w8a8 Snapdragon® 8 Elite For Galaxy Mobile 0.326 ms 0 - 119 MB NPU
PoseLandmarkDetector ONNX w8a8 Snapdragon® 7 Gen 4 Mobile 6.872 ms 8 - 20 MB CPU
PoseLandmarkDetector ONNX w8a8 Snapdragon® 8 Elite Gen 5 Mobile 0.308 ms 0 - 120 MB NPU
PoseLandmarkDetector QNN_DLC float Snapdragon® X Elite 1.082 ms 1 - 1 MB NPU
PoseLandmarkDetector QNN_DLC float Snapdragon® 8 Gen 3 Mobile 0.603 ms 0 - 76 MB NPU
PoseLandmarkDetector QNN_DLC float Qualcomm® QCS8275 (Proxy) 3.175 ms 0 - 41 MB NPU
PoseLandmarkDetector QNN_DLC float Qualcomm® QCS8550 (Proxy) 0.802 ms 1 - 2 MB NPU
PoseLandmarkDetector QNN_DLC float Qualcomm® SA8775P 1.387 ms 1 - 44 MB NPU
PoseLandmarkDetector QNN_DLC float Qualcomm® QCS9075 1.229 ms 1 - 3 MB NPU
PoseLandmarkDetector QNN_DLC float Qualcomm® QCS8450 (Proxy) 1.138 ms 0 - 68 MB NPU
PoseLandmarkDetector QNN_DLC float Qualcomm® SA7255P 3.175 ms 0 - 41 MB NPU
PoseLandmarkDetector QNN_DLC float Qualcomm® SA8295P 1.432 ms 0 - 32 MB NPU
PoseLandmarkDetector QNN_DLC float Snapdragon® 8 Elite For Galaxy Mobile 0.498 ms 1 - 41 MB NPU
PoseLandmarkDetector QNN_DLC float Snapdragon® 8 Elite Gen 5 Mobile 0.421 ms 1 - 45 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Snapdragon® X Elite 0.435 ms 0 - 0 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Snapdragon® 8 Gen 3 Mobile 0.204 ms 0 - 54 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® QCS6490 1.078 ms 0 - 2 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® QCS8275 (Proxy) 0.795 ms 0 - 39 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® QCS8550 (Proxy) 0.3 ms 0 - 2 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® SA8775P 0.503 ms 0 - 43 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® QCS9075 0.444 ms 0 - 2 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® QCM6690 1.584 ms 0 - 38 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® QCS8450 (Proxy) 0.458 ms 0 - 56 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® SA7255P 0.795 ms 0 - 39 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Qualcomm® SA8295P 0.743 ms 0 - 38 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Snapdragon® 8 Elite For Galaxy Mobile 0.195 ms 0 - 43 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Snapdragon® 7 Gen 4 Mobile 0.314 ms 0 - 38 MB NPU
PoseLandmarkDetector QNN_DLC w8a8 Snapdragon® 8 Elite Gen 5 Mobile 0.163 ms 0 - 43 MB NPU
PoseLandmarkDetector TFLITE float Snapdragon® 8 Gen 3 Mobile 0.597 ms 0 - 79 MB NPU
PoseLandmarkDetector TFLITE float Qualcomm® QCS8275 (Proxy) 3.211 ms 0 - 52 MB NPU
PoseLandmarkDetector TFLITE float Qualcomm® QCS8550 (Proxy) 0.803 ms 0 - 3 MB NPU
PoseLandmarkDetector TFLITE float Qualcomm® SA8775P 1.422 ms 0 - 54 MB NPU
PoseLandmarkDetector TFLITE float Qualcomm® QCS9075 1.227 ms 0 - 10 MB NPU
PoseLandmarkDetector TFLITE float Qualcomm® QCS8450 (Proxy) 1.182 ms 0 - 75 MB NPU
PoseLandmarkDetector TFLITE float Qualcomm® SA7255P 3.211 ms 0 - 52 MB NPU
PoseLandmarkDetector TFLITE float Qualcomm® SA8295P 1.402 ms 0 - 40 MB NPU
PoseLandmarkDetector TFLITE float Snapdragon® 8 Elite For Galaxy Mobile 0.497 ms 0 - 44 MB NPU
PoseLandmarkDetector TFLITE float Snapdragon® 8 Elite Gen 5 Mobile 0.418 ms 0 - 55 MB NPU
PoseLandmarkDetector TFLITE w8a8 Snapdragon® 8 Gen 3 Mobile 0.215 ms 0 - 51 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® QCS6490 1.009 ms 0 - 9 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® QCS8275 (Proxy) 0.828 ms 0 - 38 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® QCS8550 (Proxy) 0.306 ms 0 - 2 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® SA8775P 0.526 ms 0 - 42 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® QCS9075 0.474 ms 0 - 6 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® QCM6690 1.572 ms 0 - 33 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® QCS8450 (Proxy) 0.445 ms 0 - 55 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® SA7255P 0.828 ms 0 - 38 MB NPU
PoseLandmarkDetector TFLITE w8a8 Qualcomm® SA8295P 0.722 ms 0 - 36 MB NPU
PoseLandmarkDetector TFLITE w8a8 Snapdragon® 8 Elite For Galaxy Mobile 0.195 ms 0 - 34 MB NPU
PoseLandmarkDetector TFLITE w8a8 Snapdragon® 7 Gen 4 Mobile 0.312 ms 0 - 34 MB NPU
PoseLandmarkDetector TFLITE w8a8 Snapdragon® 8 Elite Gen 5 Mobile 0.168 ms 0 - 41 MB NPU

License

  • The license for the original implementation of MediaPipe-Pose-Estimation can be found here.

References

Community

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for qualcomm/MediaPipe-Pose-Estimation