--- library_name: pytorch license: other tags: - android pipeline_tag: keypoint-detection --- ![](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 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.495 ms | 0 - 917 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | QNN | 11.517 ms | 1 - 3 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | ONNX | 11.59 ms | 0 - 226 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | TFLITE | 8.562 ms | 0 - 136 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | QNN | 8.597 ms | 1 - 18 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | ONNX | 8.799 ms | 1 - 32 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 | 8.596 ms | 0 - 18 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | ONNX | 8.741 ms | 0 - 23 MB | FP16 | NPU | -- | | OpenPose | SA7255P ADP | SA7255P | TFLITE | 769.55 ms | 0 - 19 MB | FP16 | NPU | -- | | OpenPose | SA7255P ADP | SA7255P | QNN | 769.528 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | SA8255 (Proxy) | SA8255P Proxy | TFLITE | 11.558 ms | 0 - 907 MB | FP16 | NPU | -- | | OpenPose | SA8255 (Proxy) | SA8255P Proxy | QNN | 11.479 ms | 1 - 4 MB | FP16 | NPU | -- | | OpenPose | SA8295P ADP | SA8295P | TFLITE | 26.259 ms | 0 - 22 MB | FP16 | NPU | -- | | OpenPose | SA8295P ADP | SA8295P | QNN | 25.345 ms | 1 - 19 MB | FP16 | NPU | -- | | OpenPose | SA8650 (Proxy) | SA8650P Proxy | TFLITE | 11.525 ms | 0 - 866 MB | FP16 | NPU | -- | | OpenPose | SA8650 (Proxy) | SA8650P Proxy | QNN | 11.512 ms | 1 - 3 MB | FP16 | NPU | -- | | OpenPose | SA8775P ADP | SA8775P | TFLITE | 29.082 ms | 0 - 19 MB | FP16 | NPU | -- | | OpenPose | SA8775P ADP | SA8775P | QNN | 28.874 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | TFLITE | 769.55 ms | 0 - 19 MB | FP16 | NPU | -- | | OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | QNN | 769.528 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | TFLITE | 11.519 ms | 0 - 908 MB | FP16 | NPU | -- | | OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | QNN | 11.468 ms | 1 - 4 MB | FP16 | NPU | -- | | OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | TFLITE | 29.082 ms | 0 - 19 MB | FP16 | NPU | -- | | OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | QNN | 28.874 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | TFLITE | 23.431 ms | 0 - 135 MB | FP16 | NPU | -- | | OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | QNN | 22.383 ms | 0 - 23 MB | FP16 | NPU | -- | | OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN | 11.982 ms | 1 - 1 MB | FP16 | NPU | -- | | OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | ONNX | 12.273 ms | 101 - 101 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