OpenPose: Optimized for Mobile Deployment
Human pose estimation
OpenPose is a machine learning model that estimates body and hand pose in an image and returns location and confidence for each of 19 joints.
This model is an implementation of OpenPose found here.
More details on model performance across various devices, can be found here.
Model Details
- Model Type: Pose estimation
- Model Stats:
- Model checkpoint: body_pose_model.pth
- Input resolution: 240x320
- Number of parameters: 52.3M
- Model size: 200 MB
Model | Device | Chipset | Target Runtime | Inference Time (ms) | Peak Memory Range (MB) | Precision | Primary Compute Unit | Target Model |
---|---|---|---|---|---|---|---|---|
OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | TFLITE | 11.511 ms | 0 - 858 MB | FP16 | NPU | -- |
OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | QNN | 11.495 ms | 1 - 2 MB | FP16 | NPU | -- |
OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | ONNX | 11.782 ms | 0 - 297 MB | FP16 | NPU | -- |
OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | TFLITE | 8.582 ms | 0 - 135 MB | FP16 | NPU | -- |
OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | QNN | 8.544 ms | 1 - 19 MB | FP16 | NPU | -- |
OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | ONNX | 8.835 ms | 0 - 26 MB | FP16 | NPU | -- |
OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | TFLITE | 8.557 ms | 0 - 25 MB | FP16 | NPU | -- |
OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | QNN | 8.513 ms | 0 - 19 MB | FP16 | NPU | -- |
OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | ONNX | 7.072 ms | 0 - 21 MB | FP16 | NPU | -- |
OpenPose | SA7255P ADP | SA7255P | TFLITE | 769.637 ms | 0 - 18 MB | FP16 | NPU | -- |
OpenPose | SA7255P ADP | SA7255P | QNN | 769.563 ms | 1 - 8 MB | FP16 | NPU | -- |
OpenPose | SA8255 (Proxy) | SA8255P Proxy | TFLITE | 11.594 ms | 0 - 870 MB | FP16 | NPU | -- |
OpenPose | SA8255 (Proxy) | SA8255P Proxy | QNN | 11.488 ms | 1 - 3 MB | FP16 | NPU | -- |
OpenPose | SA8295P ADP | SA8295P | TFLITE | 25.536 ms | 0 - 24 MB | FP16 | NPU | -- |
OpenPose | SA8295P ADP | SA8295P | QNN | 25.361 ms | 1 - 15 MB | FP16 | NPU | -- |
OpenPose | SA8650 (Proxy) | SA8650P Proxy | TFLITE | 11.522 ms | 0 - 821 MB | FP16 | NPU | -- |
OpenPose | SA8650 (Proxy) | SA8650P Proxy | QNN | 11.484 ms | 1 - 3 MB | FP16 | NPU | -- |
OpenPose | SA8775P ADP | SA8775P | TFLITE | 29.067 ms | 0 - 19 MB | FP16 | NPU | -- |
OpenPose | SA8775P ADP | SA8775P | QNN | 28.938 ms | 1 - 11 MB | FP16 | NPU | -- |
OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | TFLITE | 769.637 ms | 0 - 18 MB | FP16 | NPU | -- |
OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | QNN | 769.563 ms | 1 - 8 MB | FP16 | NPU | -- |
OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | TFLITE | 11.484 ms | 0 - 877 MB | FP16 | NPU | -- |
OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | QNN | 11.467 ms | 1 - 3 MB | FP16 | NPU | -- |
OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | TFLITE | 29.067 ms | 0 - 19 MB | FP16 | NPU | -- |
OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | QNN | 28.938 ms | 1 - 11 MB | FP16 | NPU | -- |
OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | TFLITE | 22.414 ms | 0 - 138 MB | FP16 | NPU | -- |
OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | QNN | 23.185 ms | 0 - 21 MB | FP16 | NPU | -- |
OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN | 12.107 ms | 1 - 1 MB | FP16 | NPU | -- |
OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | ONNX | 12.027 ms | 101 - 101 MB | FP16 | NPU | -- |
License
- The license for the original implementation of OpenPose can be found here.
- The license for the compiled assets for on-device deployment can be found here
References
- OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
- 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.
Usage and Limitations
Model may not be used for or in connection with any of the following applications:
- Accessing essential private and public services and benefits;
- Administration of justice and democratic processes;
- Assessing or recognizing the emotional state of a person;
- Biometric and biometrics-based systems, including categorization of persons based on sensitive characteristics;
- Education and vocational training;
- Employment and workers management;
- Exploitation of the vulnerabilities of persons resulting in harmful behavior;
- General purpose social scoring;
- Law enforcement;
- Management and operation of critical infrastructure;
- Migration, asylum and border control management;
- Predictive policing;
- Real-time remote biometric identification in public spaces;
- Recommender systems of social media platforms;
- Scraping of facial images (from the internet or otherwise); and/or
- Subliminal manipulation
Inference Providers
NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API:
The HF Inference API does not support keypoint-detection models for pytorch library.