--- library_name: pytorch license: other pipeline_tag: keypoint-detection tags: - android --- ![](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/openpose/web-assets/model_demo.png) # 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 accross 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.792 ms | 0 - 365 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | QNN | 11.807 ms | 1 - 215 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | ONNX | 12.038 ms | 1 - 4 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | TFLITE | 8.705 ms | 0 - 19 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | QNN | 8.758 ms | 1 - 19 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | ONNX | 8.796 ms | 1 - 51 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | TFLITE | 8.66 ms | 0 - 18 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | QNN | 8.719 ms | 1 - 17 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | ONNX | 8.766 ms | 1 - 32 MB | FP16 | NPU | -- | | OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | TFLITE | 11.71 ms | 0 - 376 MB | FP16 | NPU | -- | | OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | QNN | 11.656 ms | 1 - 2 MB | FP16 | NPU | -- | | OpenPose | SA7255P ADP | SA7255P | TFLITE | 770.143 ms | 0 - 16 MB | FP16 | NPU | -- | | OpenPose | SA7255P ADP | SA7255P | QNN | 770.181 ms | 1 - 11 MB | FP16 | NPU | -- | | OpenPose | SA8255 (Proxy) | SA8255P Proxy | TFLITE | 11.749 ms | 0 - 375 MB | FP16 | NPU | -- | | OpenPose | SA8255 (Proxy) | SA8255P Proxy | QNN | 11.792 ms | 1 - 2 MB | FP16 | NPU | -- | | OpenPose | SA8295P ADP | SA8295P | TFLITE | 26.61 ms | 0 - 16 MB | FP16 | NPU | -- | | OpenPose | SA8295P ADP | SA8295P | QNN | 26.496 ms | 3 - 9 MB | FP16 | NPU | -- | | OpenPose | SA8650 (Proxy) | SA8650P Proxy | TFLITE | 11.798 ms | 0 - 365 MB | FP16 | NPU | -- | | OpenPose | SA8650 (Proxy) | SA8650P Proxy | QNN | 11.649 ms | 1 - 2 MB | FP16 | NPU | -- | | OpenPose | SA8775P ADP | SA8775P | TFLITE | 29.306 ms | 0 - 16 MB | FP16 | NPU | -- | | OpenPose | SA8775P ADP | SA8775P | QNN | 29.313 ms | 1 - 6 MB | FP16 | NPU | -- | | OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | TFLITE | 23.508 ms | 0 - 21 MB | FP16 | NPU | -- | | OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | QNN | 23.67 ms | 1 - 23 MB | FP16 | NPU | -- | | OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN | 12.287 ms | 1 - 1 MB | FP16 | NPU | -- | | OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | ONNX | 12.736 ms | 103 - 103 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:ai-hub-support@qti.qualcomm.com). ## 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