File size: 5,737 Bytes
12d5266 f4f9c1a 12d5266 89fcaa1 12d5266 1354ce9 12d5266 b3e9323 1354ce9 570a99d 12d5266 cecacfe 9daa44f 12d5266 493a28c 12d5266 cecacfe 31b58e1 cecacfe 12d5266 cecacfe 12d5266 cecacfe 12d5266 cecacfe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
---
library_name: pytorch
license: other
tags:
- android
pipeline_tag: keypoint-detection
---

# 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](https://github.com/CMU-Perceptual-Computing-Lab/openpose).
More details on model performance across various devices, can be found [here](https://aihub.qualcomm.com/models/openpose).
### 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.506 ms | 0 - 911 MB | FP16 | NPU | -- |
| OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | QNN | 11.506 ms | 1 - 3 MB | FP16 | NPU | -- |
| OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | ONNX | 11.686 ms | 1 - 299 MB | FP16 | NPU | -- |
| OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | TFLITE | 8.56 ms | 0 - 134 MB | FP16 | NPU | -- |
| OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | QNN | 8.602 ms | 1 - 19 MB | FP16 | NPU | -- |
| OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | ONNX | 8.772 ms | 1 - 28 MB | FP16 | NPU | -- |
| OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | TFLITE | 8.892 ms | 0 - 25 MB | FP16 | NPU | -- |
| OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | QNN | 7.031 ms | 0 - 18 MB | FP16 | NPU | -- |
| OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | ONNX | 8.645 ms | 1 - 21 MB | FP16 | NPU | -- |
| OpenPose | SA7255P ADP | SA7255P | TFLITE | 769.514 ms | 0 - 20 MB | FP16 | NPU | -- |
| OpenPose | SA7255P ADP | SA7255P | QNN | 769.547 ms | 1 - 10 MB | FP16 | NPU | -- |
| OpenPose | SA8255 (Proxy) | SA8255P Proxy | TFLITE | 11.489 ms | 0 - 880 MB | FP16 | NPU | -- |
| OpenPose | SA8255 (Proxy) | SA8255P Proxy | QNN | 11.541 ms | 1 - 10 MB | FP16 | NPU | -- |
| OpenPose | SA8295P ADP | SA8295P | TFLITE | 26.304 ms | 0 - 22 MB | FP16 | NPU | -- |
| OpenPose | SA8295P ADP | SA8295P | QNN | 25.312 ms | 1 - 18 MB | FP16 | NPU | -- |
| OpenPose | SA8650 (Proxy) | SA8650P Proxy | TFLITE | 11.535 ms | 0 - 853 MB | FP16 | NPU | -- |
| OpenPose | SA8650 (Proxy) | SA8650P Proxy | QNN | 11.535 ms | 1 - 3 MB | FP16 | NPU | -- |
| OpenPose | SA8775P ADP | SA8775P | TFLITE | 29.065 ms | 0 - 19 MB | FP16 | NPU | -- |
| OpenPose | SA8775P ADP | SA8775P | QNN | 28.859 ms | 1 - 10 MB | FP16 | NPU | -- |
| OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | TFLITE | 769.514 ms | 0 - 20 MB | FP16 | NPU | -- |
| OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | QNN | 769.547 ms | 1 - 10 MB | FP16 | NPU | -- |
| OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | TFLITE | 11.546 ms | 0 - 877 MB | FP16 | NPU | -- |
| OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | QNN | 11.445 ms | 1 - 4 MB | FP16 | NPU | -- |
| OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | TFLITE | 29.065 ms | 0 - 19 MB | FP16 | NPU | -- |
| OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | QNN | 28.859 ms | 1 - 10 MB | FP16 | NPU | -- |
| OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | TFLITE | 23.612 ms | 0 - 137 MB | FP16 | NPU | -- |
| OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | QNN | 22.314 ms | 0 - 23 MB | FP16 | NPU | -- |
| OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN | 11.966 ms | 1 - 1 MB | FP16 | NPU | -- |
| OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | ONNX | 12.689 ms | 102 - 102 MB | FP16 | NPU | -- |
## License
* The license for the original implementation of OpenPose can be found
[here](https://cmu.flintbox.com/technologies/b820c21d-8443-4aa2-a49f-8919d93a8740).
* The license for the compiled assets for on-device deployment can be found [here](https://cmu.flintbox.com/technologies/b820c21d-8443-4aa2-a49f-8919d93a8740)
## References
* [OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields](https://arxiv.org/abs/1812.08008)
* [Source Model Implementation](https://github.com/CMU-Perceptual-Computing-Lab/openpose)
## Community
* Join [our AI Hub Slack community](https://qualcomm-ai-hub.slack.com/join/shared_invite/zt-2d5zsmas3-Sj0Q9TzslueCjS31eXG2UA#/shared-invite/email) to collaborate, post questions and learn more about on-device AI.
* For questions or feedback please [reach out to us](mailto:[email protected]).
## 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
|